packages feed

amazonka-lightsail 1.5.0 → 1.6.0

raw patch · 128 files changed

+8578/−2498 lines, 128 filesdep ~amazonka-coredep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-test

API changes (from Hackage documentation)

- Network.AWS.Lightsail.DeleteDomain: ddrsOperation :: Lens' DeleteDomainResponse (Maybe Operation)
- Network.AWS.Lightsail.DeleteDomain: ddrsResponseStatus :: Lens' DeleteDomainResponse Int
- Network.AWS.Lightsail.GetBundles: gIncludeInactive :: Lens' GetBundles (Maybe Bool)
- Network.AWS.Lightsail.GetBundles: gPageToken :: Lens' GetBundles (Maybe Text)
- Network.AWS.Lightsail.GetDomains: gdsrsDomains :: Lens' GetDomainsResponse [Domain]
- Network.AWS.Lightsail.GetDomains: gdsrsNextPageToken :: Lens' GetDomainsResponse (Maybe Text)
- Network.AWS.Lightsail.GetDomains: gdsrsResponseStatus :: Lens' GetDomainsResponse Int
- Network.AWS.Lightsail.GetInstanceState: getrsResponseStatus :: Lens' GetInstanceStateResponse Int
- Network.AWS.Lightsail.GetInstanceState: getrsState :: Lens' GetInstanceStateResponse (Maybe InstanceState)
+ Network.AWS.Lightsail: AACompromise :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail: AdditionalVerificationRequired :: LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail: AffiliationChanged :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail: AttachDisk :: OperationType
+ Network.AWS.Lightsail: AttachInstancesToLoadBalancer :: OperationType
+ Network.AWS.Lightsail: AttachLoadBalancerTLSCertificate :: OperationType
+ Network.AWS.Lightsail: CaCompromise :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail: CertificateHold :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail: CessationOfOperation :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail: ClientTLSNegotiationErrorCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail: CreateDisk :: OperationType
+ Network.AWS.Lightsail: CreateDiskFromSnapshot :: OperationType
+ Network.AWS.Lightsail: CreateDiskSnapshot :: OperationType
+ Network.AWS.Lightsail: CreateLoadBalancer :: OperationType
+ Network.AWS.Lightsail: CreateLoadBalancerTLSCertificate :: OperationType
+ Network.AWS.Lightsail: DSSCompleted :: DiskSnapshotState
+ Network.AWS.Lightsail: DSSError' :: DiskSnapshotState
+ Network.AWS.Lightsail: DSSPending :: DiskSnapshotState
+ Network.AWS.Lightsail: DSSUnknown :: DiskSnapshotState
+ Network.AWS.Lightsail: DeleteDisk :: OperationType
+ Network.AWS.Lightsail: DeleteDiskSnapshot :: OperationType
+ Network.AWS.Lightsail: DeleteLoadBalancer :: OperationType
+ Network.AWS.Lightsail: DeleteLoadBalancerTLSCertificate :: OperationType
+ Network.AWS.Lightsail: DetachDisk :: OperationType
+ Network.AWS.Lightsail: DetachInstancesFromLoadBalancer :: OperationType
+ Network.AWS.Lightsail: Disk :: ResourceType
+ Network.AWS.Lightsail: DiskSnapshot :: ResourceType
+ Network.AWS.Lightsail: DomainNotAllowed :: LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail: Draining :: InstanceHealthState
+ Network.AWS.Lightsail: EuWest2 :: RegionName
+ Network.AWS.Lightsail: HTTP :: LoadBalancerProtocol
+ Network.AWS.Lightsail: HTTPCodeInstance2XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail: HTTPCodeInstance3XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail: HTTPCodeInstance4XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail: HTTPCodeInstance5XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail: HTTPCodeLb4XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail: HTTPCodeLb5XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail: HTTPHTTPS :: LoadBalancerProtocol
+ Network.AWS.Lightsail: HealthCheckPath :: LoadBalancerAttributeName
+ Network.AWS.Lightsail: Healthy :: InstanceHealthState
+ Network.AWS.Lightsail: HealthyHostCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail: ISSAvailable :: InstanceSnapshotState
+ Network.AWS.Lightsail: ISSError' :: InstanceSnapshotState
+ Network.AWS.Lightsail: ISSPending :: InstanceSnapshotState
+ Network.AWS.Lightsail: InUse :: DiskState
+ Network.AWS.Lightsail: Initial :: InstanceHealthState
+ Network.AWS.Lightsail: InstanceResponseTime :: LoadBalancerMetricName
+ Network.AWS.Lightsail: Instance_DeregistrationInProgress :: InstanceHealthReason
+ Network.AWS.Lightsail: Instance_FailedHealthChecks :: InstanceHealthReason
+ Network.AWS.Lightsail: Instance_IPUnusable :: InstanceHealthReason
+ Network.AWS.Lightsail: Instance_InvalidState :: InstanceHealthReason
+ Network.AWS.Lightsail: Instance_NotInUse :: InstanceHealthReason
+ Network.AWS.Lightsail: Instance_NotRegistered :: InstanceHealthReason
+ Network.AWS.Lightsail: Instance_ResponseCodeMismatch :: InstanceHealthReason
+ Network.AWS.Lightsail: Instance_Timeout :: InstanceHealthReason
+ Network.AWS.Lightsail: InvalidPublicDomain :: LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail: KeyCompromise :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail: LBSActive :: LoadBalancerState
+ Network.AWS.Lightsail: LBSActiveImpaired :: LoadBalancerState
+ Network.AWS.Lightsail: LBSFailed :: LoadBalancerState
+ Network.AWS.Lightsail: LBSProvisioning :: LoadBalancerState
+ Network.AWS.Lightsail: LBSUnknown :: LoadBalancerState
+ Network.AWS.Lightsail: LBTCDSFailed :: LoadBalancerTLSCertificateDomainStatus
+ Network.AWS.Lightsail: LBTCDSPendingValidation :: LoadBalancerTLSCertificateDomainStatus
+ Network.AWS.Lightsail: LBTCDSSuccess :: LoadBalancerTLSCertificateDomainStatus
+ Network.AWS.Lightsail: LBTCRSFailed :: LoadBalancerTLSCertificateRenewalStatus
+ Network.AWS.Lightsail: LBTCRSPendingAutoRenewal :: LoadBalancerTLSCertificateRenewalStatus
+ Network.AWS.Lightsail: LBTCRSPendingValidation :: LoadBalancerTLSCertificateRenewalStatus
+ Network.AWS.Lightsail: LBTCRSSuccess :: LoadBalancerTLSCertificateRenewalStatus
+ Network.AWS.Lightsail: LBTCSExpired :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail: LBTCSFailed :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail: LBTCSInactive :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail: LBTCSIssued :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail: LBTCSPendingValidation :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail: LBTCSRevoked :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail: LBTCSUnknown :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail: LBTCSValidationTimedOut :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail: Lb_InitialHealthChecking :: InstanceHealthReason
+ Network.AWS.Lightsail: Lb_InternalError :: InstanceHealthReason
+ Network.AWS.Lightsail: Lb_RegistrationInProgress :: InstanceHealthReason
+ Network.AWS.Lightsail: LoadBalancer :: ResourceType
+ Network.AWS.Lightsail: LoadBalancerTLSCertificate :: ResourceType
+ Network.AWS.Lightsail: NoAvailableContacts :: LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail: Other :: LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail: PrivilegeWithdrawn :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail: RejectedConnectionCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail: RemoveFromCrl :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail: RequestCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail: SessionStickinessEnabled :: LoadBalancerAttributeName
+ Network.AWS.Lightsail: SessionStickinessLbCookieDurationSeconds :: LoadBalancerAttributeName
+ Network.AWS.Lightsail: Succeeded :: OperationStatus
+ Network.AWS.Lightsail: Superceded :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail: Unavailable :: InstanceHealthState
+ Network.AWS.Lightsail: Unhealthy :: InstanceHealthState
+ Network.AWS.Lightsail: UnhealthyHostCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail: Unknown :: DiskState
+ Network.AWS.Lightsail: Unspecified :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail: Unused :: InstanceHealthState
+ Network.AWS.Lightsail: UpdateLoadBalancerAttribute :: OperationType
+ Network.AWS.Lightsail: dState :: Lens' Disk (Maybe DiskState)
+ Network.AWS.Lightsail: data DiskMap
+ Network.AWS.Lightsail: data DiskSnapshot
+ Network.AWS.Lightsail: data DiskSnapshotState
+ Network.AWS.Lightsail: data DiskState
+ Network.AWS.Lightsail: data InstanceHealthReason
+ Network.AWS.Lightsail: data InstanceHealthState
+ Network.AWS.Lightsail: data InstanceHealthSummary
+ Network.AWS.Lightsail: data LoadBalancer
+ Network.AWS.Lightsail: data LoadBalancerAttributeName
+ Network.AWS.Lightsail: data LoadBalancerMetricName
+ Network.AWS.Lightsail: data LoadBalancerProtocol
+ Network.AWS.Lightsail: data LoadBalancerState
+ Network.AWS.Lightsail: data LoadBalancerTLSCertificate
+ Network.AWS.Lightsail: data LoadBalancerTLSCertificateDomainStatus
+ Network.AWS.Lightsail: data LoadBalancerTLSCertificateDomainValidationOption
+ Network.AWS.Lightsail: data LoadBalancerTLSCertificateDomainValidationRecord
+ Network.AWS.Lightsail: data LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail: data LoadBalancerTLSCertificateRenewalStatus
+ Network.AWS.Lightsail: data LoadBalancerTLSCertificateRenewalSummary
+ Network.AWS.Lightsail: data LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail: data LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail: data LoadBalancerTLSCertificateSummary
+ Network.AWS.Lightsail: deIsAlias :: Lens' DomainEntry (Maybe Bool)
+ Network.AWS.Lightsail: diskMap :: DiskMap
+ Network.AWS.Lightsail: diskSnapshot :: DiskSnapshot
+ Network.AWS.Lightsail: dmNewDiskName :: Lens' DiskMap (Maybe Text)
+ Network.AWS.Lightsail: dmOriginalDiskPath :: Lens' DiskMap (Maybe Text)
+ Network.AWS.Lightsail: dsArn :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail: dsCreatedAt :: Lens' DiskSnapshot (Maybe UTCTime)
+ Network.AWS.Lightsail: dsFromDiskARN :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail: dsFromDiskName :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail: dsLocation :: Lens' DiskSnapshot (Maybe ResourceLocation)
+ Network.AWS.Lightsail: dsName :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail: dsProgress :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail: dsResourceType :: Lens' DiskSnapshot (Maybe ResourceType)
+ Network.AWS.Lightsail: dsSizeInGb :: Lens' DiskSnapshot (Maybe Int)
+ Network.AWS.Lightsail: dsState :: Lens' DiskSnapshot (Maybe DiskSnapshotState)
+ Network.AWS.Lightsail: dsSupportCode :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail: ihsInstanceHealth :: Lens' InstanceHealthSummary (Maybe InstanceHealthState)
+ Network.AWS.Lightsail: ihsInstanceHealthReason :: Lens' InstanceHealthSummary (Maybe InstanceHealthReason)
+ Network.AWS.Lightsail: ihsInstanceName :: Lens' InstanceHealthSummary (Maybe Text)
+ Network.AWS.Lightsail: insFromAttachedDisks :: Lens' InstanceSnapshot [Disk]
+ Network.AWS.Lightsail: instanceHealthSummary :: InstanceHealthSummary
+ Network.AWS.Lightsail: lbArn :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.Lightsail: lbConfigurationOptions :: Lens' LoadBalancer (HashMap LoadBalancerAttributeName Text)
+ Network.AWS.Lightsail: lbCreatedAt :: Lens' LoadBalancer (Maybe UTCTime)
+ Network.AWS.Lightsail: lbDnsName :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.Lightsail: lbHealthCheckPath :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.Lightsail: lbInstanceHealthSummary :: Lens' LoadBalancer [InstanceHealthSummary]
+ Network.AWS.Lightsail: lbInstancePort :: Lens' LoadBalancer (Maybe Int)
+ Network.AWS.Lightsail: lbLocation :: Lens' LoadBalancer (Maybe ResourceLocation)
+ Network.AWS.Lightsail: lbName :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.Lightsail: lbProtocol :: Lens' LoadBalancer (Maybe LoadBalancerProtocol)
+ Network.AWS.Lightsail: lbPublicPorts :: Lens' LoadBalancer [Natural]
+ Network.AWS.Lightsail: lbResourceType :: Lens' LoadBalancer (Maybe ResourceType)
+ Network.AWS.Lightsail: lbState :: Lens' LoadBalancer (Maybe LoadBalancerState)
+ Network.AWS.Lightsail: lbSupportCode :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.Lightsail: lbTlsCertificateSummaries :: Lens' LoadBalancer [LoadBalancerTLSCertificateSummary]
+ Network.AWS.Lightsail: lbtcArn :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail: lbtcCreatedAt :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)
+ Network.AWS.Lightsail: lbtcDomainName :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail: lbtcDomainValidationRecords :: Lens' LoadBalancerTLSCertificate [LoadBalancerTLSCertificateDomainValidationRecord]
+ Network.AWS.Lightsail: lbtcFailureReason :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateFailureReason)
+ Network.AWS.Lightsail: lbtcIsAttached :: Lens' LoadBalancerTLSCertificate (Maybe Bool)
+ Network.AWS.Lightsail: lbtcIssuedAt :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)
+ Network.AWS.Lightsail: lbtcIssuer :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail: lbtcKeyAlgorithm :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail: lbtcLoadBalancerName :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail: lbtcLocation :: Lens' LoadBalancerTLSCertificate (Maybe ResourceLocation)
+ Network.AWS.Lightsail: lbtcName :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail: lbtcNotAfter :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)
+ Network.AWS.Lightsail: lbtcNotBefore :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)
+ Network.AWS.Lightsail: lbtcRenewalSummary :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateRenewalSummary)
+ Network.AWS.Lightsail: lbtcResourceType :: Lens' LoadBalancerTLSCertificate (Maybe ResourceType)
+ Network.AWS.Lightsail: lbtcRevocationReason :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateRevocationReason)
+ Network.AWS.Lightsail: lbtcRevokedAt :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)
+ Network.AWS.Lightsail: lbtcSerial :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail: lbtcSignatureAlgorithm :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail: lbtcStatus :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateStatus)
+ Network.AWS.Lightsail: lbtcSubject :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail: lbtcSubjectAlternativeNames :: Lens' LoadBalancerTLSCertificate [Text]
+ Network.AWS.Lightsail: lbtcSupportCode :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail: lbtcdvoDomainName :: Lens' LoadBalancerTLSCertificateDomainValidationOption (Maybe Text)
+ Network.AWS.Lightsail: lbtcdvoValidationStatus :: Lens' LoadBalancerTLSCertificateDomainValidationOption (Maybe LoadBalancerTLSCertificateDomainStatus)
+ Network.AWS.Lightsail: lbtcdvrDomainName :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)
+ Network.AWS.Lightsail: lbtcdvrName :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)
+ Network.AWS.Lightsail: lbtcdvrType :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)
+ Network.AWS.Lightsail: lbtcdvrValidationStatus :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe LoadBalancerTLSCertificateDomainStatus)
+ Network.AWS.Lightsail: lbtcdvrValue :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)
+ Network.AWS.Lightsail: lbtcrsDomainValidationOptions :: Lens' LoadBalancerTLSCertificateRenewalSummary [LoadBalancerTLSCertificateDomainValidationOption]
+ Network.AWS.Lightsail: lbtcrsRenewalStatus :: Lens' LoadBalancerTLSCertificateRenewalSummary (Maybe LoadBalancerTLSCertificateRenewalStatus)
+ Network.AWS.Lightsail: lbtcsIsAttached :: Lens' LoadBalancerTLSCertificateSummary (Maybe Bool)
+ Network.AWS.Lightsail: lbtcsName :: Lens' LoadBalancerTLSCertificateSummary (Maybe Text)
+ Network.AWS.Lightsail: loadBalancer :: LoadBalancer
+ Network.AWS.Lightsail: loadBalancerTLSCertificate :: LoadBalancerTLSCertificate
+ Network.AWS.Lightsail: loadBalancerTLSCertificateDomainValidationOption :: LoadBalancerTLSCertificateDomainValidationOption
+ Network.AWS.Lightsail: loadBalancerTLSCertificateDomainValidationRecord :: LoadBalancerTLSCertificateDomainValidationRecord
+ Network.AWS.Lightsail: loadBalancerTLSCertificateRenewalSummary :: LoadBalancerTLSCertificateRenewalSummary
+ Network.AWS.Lightsail: loadBalancerTLSCertificateSummary :: LoadBalancerTLSCertificateSummary
+ Network.AWS.Lightsail.AttachDisk: adDiskName :: Lens' AttachDisk Text
+ Network.AWS.Lightsail.AttachDisk: adDiskPath :: Lens' AttachDisk Text
+ Network.AWS.Lightsail.AttachDisk: adInstanceName :: Lens' AttachDisk Text
+ Network.AWS.Lightsail.AttachDisk: adrsOperations :: Lens' AttachDiskResponse [Operation]
+ Network.AWS.Lightsail.AttachDisk: adrsResponseStatus :: Lens' AttachDiskResponse Int
+ Network.AWS.Lightsail.AttachDisk: attachDisk :: Text -> Text -> Text -> AttachDisk
+ Network.AWS.Lightsail.AttachDisk: attachDiskResponse :: Int -> AttachDiskResponse
+ Network.AWS.Lightsail.AttachDisk: data AttachDisk
+ Network.AWS.Lightsail.AttachDisk: data AttachDiskResponse
+ Network.AWS.Lightsail.AttachDisk: instance Control.DeepSeq.NFData Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachDisk: instance Control.DeepSeq.NFData Network.AWS.Lightsail.AttachDisk.AttachDiskResponse
+ Network.AWS.Lightsail.AttachDisk: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachDisk: instance Data.Data.Data Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachDisk: instance Data.Data.Data Network.AWS.Lightsail.AttachDisk.AttachDiskResponse
+ Network.AWS.Lightsail.AttachDisk: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachDisk: instance GHC.Classes.Eq Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachDisk: instance GHC.Classes.Eq Network.AWS.Lightsail.AttachDisk.AttachDiskResponse
+ Network.AWS.Lightsail.AttachDisk: instance GHC.Generics.Generic Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachDisk: instance GHC.Generics.Generic Network.AWS.Lightsail.AttachDisk.AttachDiskResponse
+ Network.AWS.Lightsail.AttachDisk: instance GHC.Read.Read Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachDisk: instance GHC.Read.Read Network.AWS.Lightsail.AttachDisk.AttachDiskResponse
+ Network.AWS.Lightsail.AttachDisk: instance GHC.Show.Show Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachDisk: instance GHC.Show.Show Network.AWS.Lightsail.AttachDisk.AttachDiskResponse
+ Network.AWS.Lightsail.AttachDisk: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachDisk: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachDisk: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachDisk: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.AttachDisk.AttachDisk
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: aitlbInstanceNames :: Lens' AttachInstancesToLoadBalancer [Text]
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: aitlbLoadBalancerName :: Lens' AttachInstancesToLoadBalancer Text
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: aitlbrsOperations :: Lens' AttachInstancesToLoadBalancerResponse [Operation]
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: aitlbrsResponseStatus :: Lens' AttachInstancesToLoadBalancerResponse Int
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: attachInstancesToLoadBalancer :: Text -> AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: attachInstancesToLoadBalancerResponse :: Int -> AttachInstancesToLoadBalancerResponse
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: data AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: data AttachInstancesToLoadBalancerResponse
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance Control.DeepSeq.NFData Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance Control.DeepSeq.NFData Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancerResponse
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance Data.Data.Data Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance Data.Data.Data Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancerResponse
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance GHC.Classes.Eq Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance GHC.Classes.Eq Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancerResponse
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance GHC.Generics.Generic Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance GHC.Generics.Generic Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancerResponse
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance GHC.Read.Read Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance GHC.Read.Read Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancerResponse
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance GHC.Show.Show Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance GHC.Show.Show Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancerResponse
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachInstancesToLoadBalancer: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.AttachInstancesToLoadBalancer.AttachInstancesToLoadBalancer
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: albtcCertificateName :: Lens' AttachLoadBalancerTLSCertificate Text
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: albtcLoadBalancerName :: Lens' AttachLoadBalancerTLSCertificate Text
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: albtcrsOperations :: Lens' AttachLoadBalancerTLSCertificateResponse [Operation]
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: albtcrsResponseStatus :: Lens' AttachLoadBalancerTLSCertificateResponse Int
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: attachLoadBalancerTLSCertificate :: Text -> Text -> AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: attachLoadBalancerTLSCertificateResponse :: Int -> AttachLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: data AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: data AttachLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance Control.DeepSeq.NFData Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance Control.DeepSeq.NFData Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance Data.Data.Data Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance Data.Data.Data Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance GHC.Classes.Eq Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance GHC.Classes.Eq Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance GHC.Generics.Generic Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance GHC.Generics.Generic Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance GHC.Read.Read Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance GHC.Read.Read Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance GHC.Show.Show Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance GHC.Show.Show Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate.AttachLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateDisk: cdAvailabilityZone :: Lens' CreateDisk Text
+ Network.AWS.Lightsail.CreateDisk: cdDiskName :: Lens' CreateDisk Text
+ Network.AWS.Lightsail.CreateDisk: cdSizeInGb :: Lens' CreateDisk Int
+ Network.AWS.Lightsail.CreateDisk: createDisk :: Text -> Text -> Int -> CreateDisk
+ Network.AWS.Lightsail.CreateDisk: createDiskResponse :: Int -> CreateDiskResponse
+ Network.AWS.Lightsail.CreateDisk: crsOperations :: Lens' CreateDiskResponse [Operation]
+ Network.AWS.Lightsail.CreateDisk: crsResponseStatus :: Lens' CreateDiskResponse Int
+ Network.AWS.Lightsail.CreateDisk: data CreateDisk
+ Network.AWS.Lightsail.CreateDisk: data CreateDiskResponse
+ Network.AWS.Lightsail.CreateDisk: instance Control.DeepSeq.NFData Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDisk: instance Control.DeepSeq.NFData Network.AWS.Lightsail.CreateDisk.CreateDiskResponse
+ Network.AWS.Lightsail.CreateDisk: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDisk: instance Data.Data.Data Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDisk: instance Data.Data.Data Network.AWS.Lightsail.CreateDisk.CreateDiskResponse
+ Network.AWS.Lightsail.CreateDisk: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDisk: instance GHC.Classes.Eq Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDisk: instance GHC.Classes.Eq Network.AWS.Lightsail.CreateDisk.CreateDiskResponse
+ Network.AWS.Lightsail.CreateDisk: instance GHC.Generics.Generic Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDisk: instance GHC.Generics.Generic Network.AWS.Lightsail.CreateDisk.CreateDiskResponse
+ Network.AWS.Lightsail.CreateDisk: instance GHC.Read.Read Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDisk: instance GHC.Read.Read Network.AWS.Lightsail.CreateDisk.CreateDiskResponse
+ Network.AWS.Lightsail.CreateDisk: instance GHC.Show.Show Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDisk: instance GHC.Show.Show Network.AWS.Lightsail.CreateDisk.CreateDiskResponse
+ Network.AWS.Lightsail.CreateDisk: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDisk: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDisk: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDisk: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.CreateDisk.CreateDisk
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: cdfsAvailabilityZone :: Lens' CreateDiskFromSnapshot Text
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: cdfsDiskName :: Lens' CreateDiskFromSnapshot Text
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: cdfsDiskSnapshotName :: Lens' CreateDiskFromSnapshot Text
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: cdfsSizeInGb :: Lens' CreateDiskFromSnapshot Int
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: cdfsrsOperations :: Lens' CreateDiskFromSnapshotResponse [Operation]
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: cdfsrsResponseStatus :: Lens' CreateDiskFromSnapshotResponse Int
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: createDiskFromSnapshot :: Text -> Text -> Text -> Int -> CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: createDiskFromSnapshotResponse :: Int -> CreateDiskFromSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: data CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: data CreateDiskFromSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance Control.DeepSeq.NFData Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance Control.DeepSeq.NFData Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance Data.Data.Data Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance Data.Data.Data Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance GHC.Classes.Eq Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance GHC.Classes.Eq Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance GHC.Generics.Generic Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance GHC.Generics.Generic Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance GHC.Read.Read Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance GHC.Read.Read Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance GHC.Show.Show Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance GHC.Show.Show Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskFromSnapshot: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.CreateDiskFromSnapshot.CreateDiskFromSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: cdsDiskName :: Lens' CreateDiskSnapshot Text
+ Network.AWS.Lightsail.CreateDiskSnapshot: cdsDiskSnapshotName :: Lens' CreateDiskSnapshot Text
+ Network.AWS.Lightsail.CreateDiskSnapshot: cdsrsOperations :: Lens' CreateDiskSnapshotResponse [Operation]
+ Network.AWS.Lightsail.CreateDiskSnapshot: cdsrsResponseStatus :: Lens' CreateDiskSnapshotResponse Int
+ Network.AWS.Lightsail.CreateDiskSnapshot: createDiskSnapshot :: Text -> Text -> CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: createDiskSnapshotResponse :: Int -> CreateDiskSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskSnapshot: data CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: data CreateDiskSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance Control.DeepSeq.NFData Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance Control.DeepSeq.NFData Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance Data.Data.Data Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance Data.Data.Data Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance GHC.Classes.Eq Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance GHC.Classes.Eq Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance GHC.Generics.Generic Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance GHC.Generics.Generic Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance GHC.Read.Read Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance GHC.Read.Read Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance GHC.Show.Show Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance GHC.Show.Show Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshotResponse
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateDiskSnapshot: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.CreateDiskSnapshot.CreateDiskSnapshot
+ Network.AWS.Lightsail.CreateInstancesFromSnapshot: cifsAttachedDiskMapping :: Lens' CreateInstancesFromSnapshot (HashMap Text [DiskMap])
+ Network.AWS.Lightsail.CreateLoadBalancer: clbCertificateAlternativeNames :: Lens' CreateLoadBalancer [Text]
+ Network.AWS.Lightsail.CreateLoadBalancer: clbCertificateDomainName :: Lens' CreateLoadBalancer (Maybe Text)
+ Network.AWS.Lightsail.CreateLoadBalancer: clbCertificateName :: Lens' CreateLoadBalancer (Maybe Text)
+ Network.AWS.Lightsail.CreateLoadBalancer: clbHealthCheckPath :: Lens' CreateLoadBalancer (Maybe Text)
+ Network.AWS.Lightsail.CreateLoadBalancer: clbInstancePort :: Lens' CreateLoadBalancer Natural
+ Network.AWS.Lightsail.CreateLoadBalancer: clbLoadBalancerName :: Lens' CreateLoadBalancer Text
+ Network.AWS.Lightsail.CreateLoadBalancer: clbrsOperations :: Lens' CreateLoadBalancerResponse [Operation]
+ Network.AWS.Lightsail.CreateLoadBalancer: clbrsResponseStatus :: Lens' CreateLoadBalancerResponse Int
+ Network.AWS.Lightsail.CreateLoadBalancer: createLoadBalancer :: Text -> Natural -> CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: createLoadBalancerResponse :: Int -> CreateLoadBalancerResponse
+ Network.AWS.Lightsail.CreateLoadBalancer: data CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: data CreateLoadBalancerResponse
+ Network.AWS.Lightsail.CreateLoadBalancer: instance Control.DeepSeq.NFData Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: instance Control.DeepSeq.NFData Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancerResponse
+ Network.AWS.Lightsail.CreateLoadBalancer: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: instance Data.Data.Data Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: instance Data.Data.Data Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancerResponse
+ Network.AWS.Lightsail.CreateLoadBalancer: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: instance GHC.Classes.Eq Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: instance GHC.Classes.Eq Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancerResponse
+ Network.AWS.Lightsail.CreateLoadBalancer: instance GHC.Generics.Generic Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: instance GHC.Generics.Generic Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancerResponse
+ Network.AWS.Lightsail.CreateLoadBalancer: instance GHC.Read.Read Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: instance GHC.Read.Read Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancerResponse
+ Network.AWS.Lightsail.CreateLoadBalancer: instance GHC.Show.Show Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: instance GHC.Show.Show Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancerResponse
+ Network.AWS.Lightsail.CreateLoadBalancer: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancer: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.CreateLoadBalancer.CreateLoadBalancer
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: clbtcCertificateAlternativeNames :: Lens' CreateLoadBalancerTLSCertificate [Text]
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: clbtcCertificateDomainName :: Lens' CreateLoadBalancerTLSCertificate Text
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: clbtcCertificateName :: Lens' CreateLoadBalancerTLSCertificate Text
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: clbtcLoadBalancerName :: Lens' CreateLoadBalancerTLSCertificate Text
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: clbtcrsOperations :: Lens' CreateLoadBalancerTLSCertificateResponse [Operation]
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: clbtcrsResponseStatus :: Lens' CreateLoadBalancerTLSCertificateResponse Int
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: createLoadBalancerTLSCertificate :: Text -> Text -> Text -> CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: createLoadBalancerTLSCertificateResponse :: Int -> CreateLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: data CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: data CreateLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance Control.DeepSeq.NFData Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance Control.DeepSeq.NFData Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance Data.Data.Data Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance Data.Data.Data Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance GHC.Classes.Eq Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance GHC.Classes.Eq Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance GHC.Generics.Generic Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance GHC.Generics.Generic Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance GHC.Read.Read Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance GHC.Read.Read Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance GHC.Show.Show Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance GHC.Show.Show Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate.CreateLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteDisk: dDiskName :: Lens' DeleteDisk Text
+ Network.AWS.Lightsail.DeleteDisk: data DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: data DeleteDiskResponse
+ Network.AWS.Lightsail.DeleteDisk: deleteDisk :: Text -> DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: deleteDiskResponse :: Int -> DeleteDiskResponse
+ Network.AWS.Lightsail.DeleteDisk: drsOperations :: Lens' DeleteDiskResponse [Operation]
+ Network.AWS.Lightsail.DeleteDisk: drsResponseStatus :: Lens' DeleteDiskResponse Int
+ Network.AWS.Lightsail.DeleteDisk: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DeleteDisk.DeleteDiskResponse
+ Network.AWS.Lightsail.DeleteDisk: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: instance Data.Data.Data Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: instance Data.Data.Data Network.AWS.Lightsail.DeleteDisk.DeleteDiskResponse
+ Network.AWS.Lightsail.DeleteDisk: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: instance GHC.Classes.Eq Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: instance GHC.Classes.Eq Network.AWS.Lightsail.DeleteDisk.DeleteDiskResponse
+ Network.AWS.Lightsail.DeleteDisk: instance GHC.Generics.Generic Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: instance GHC.Generics.Generic Network.AWS.Lightsail.DeleteDisk.DeleteDiskResponse
+ Network.AWS.Lightsail.DeleteDisk: instance GHC.Read.Read Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: instance GHC.Read.Read Network.AWS.Lightsail.DeleteDisk.DeleteDiskResponse
+ Network.AWS.Lightsail.DeleteDisk: instance GHC.Show.Show Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: instance GHC.Show.Show Network.AWS.Lightsail.DeleteDisk.DeleteDiskResponse
+ Network.AWS.Lightsail.DeleteDisk: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDisk: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.DeleteDisk.DeleteDisk
+ Network.AWS.Lightsail.DeleteDiskSnapshot: data DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: data DeleteDiskSnapshotResponse
+ Network.AWS.Lightsail.DeleteDiskSnapshot: ddsDiskSnapshotName :: Lens' DeleteDiskSnapshot Text
+ Network.AWS.Lightsail.DeleteDiskSnapshot: ddsrsOperations :: Lens' DeleteDiskSnapshotResponse [Operation]
+ Network.AWS.Lightsail.DeleteDiskSnapshot: ddsrsResponseStatus :: Lens' DeleteDiskSnapshotResponse Int
+ Network.AWS.Lightsail.DeleteDiskSnapshot: deleteDiskSnapshot :: Text -> DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: deleteDiskSnapshotResponse :: Int -> DeleteDiskSnapshotResponse
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshotResponse
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance Data.Data.Data Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance Data.Data.Data Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshotResponse
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance GHC.Classes.Eq Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance GHC.Classes.Eq Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshotResponse
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance GHC.Generics.Generic Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance GHC.Generics.Generic Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshotResponse
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance GHC.Read.Read Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance GHC.Read.Read Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshotResponse
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance GHC.Show.Show Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance GHC.Show.Show Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshotResponse
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDiskSnapshot: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.DeleteDiskSnapshot.DeleteDiskSnapshot
+ Network.AWS.Lightsail.DeleteDomain: delrsOperation :: Lens' DeleteDomainResponse (Maybe Operation)
+ Network.AWS.Lightsail.DeleteDomain: delrsResponseStatus :: Lens' DeleteDomainResponse Int
+ Network.AWS.Lightsail.DeleteLoadBalancer: data DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: data DeleteLoadBalancerResponse
+ Network.AWS.Lightsail.DeleteLoadBalancer: deleteLoadBalancer :: Text -> DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: deleteLoadBalancerResponse :: Int -> DeleteLoadBalancerResponse
+ Network.AWS.Lightsail.DeleteLoadBalancer: dlbLoadBalancerName :: Lens' DeleteLoadBalancer Text
+ Network.AWS.Lightsail.DeleteLoadBalancer: dlbrsOperations :: Lens' DeleteLoadBalancerResponse [Operation]
+ Network.AWS.Lightsail.DeleteLoadBalancer: dlbrsResponseStatus :: Lens' DeleteLoadBalancerResponse Int
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancerResponse
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance Data.Data.Data Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance Data.Data.Data Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancerResponse
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance GHC.Classes.Eq Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance GHC.Classes.Eq Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancerResponse
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance GHC.Generics.Generic Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance GHC.Generics.Generic Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancerResponse
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance GHC.Read.Read Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance GHC.Read.Read Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancerResponse
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance GHC.Show.Show Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance GHC.Show.Show Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancerResponse
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancer: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.DeleteLoadBalancer.DeleteLoadBalancer
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: data DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: data DeleteLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: deleteLoadBalancerTLSCertificate :: Text -> Text -> DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: deleteLoadBalancerTLSCertificateResponse :: Int -> DeleteLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: dlbtcCertificateName :: Lens' DeleteLoadBalancerTLSCertificate Text
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: dlbtcForce :: Lens' DeleteLoadBalancerTLSCertificate (Maybe Bool)
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: dlbtcLoadBalancerName :: Lens' DeleteLoadBalancerTLSCertificate Text
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: dlbtcrsOperations :: Lens' DeleteLoadBalancerTLSCertificateResponse [Operation]
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: dlbtcrsResponseStatus :: Lens' DeleteLoadBalancerTLSCertificateResponse Int
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance Data.Data.Data Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance Data.Data.Data Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance GHC.Classes.Eq Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance GHC.Classes.Eq Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance GHC.Generics.Generic Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance GHC.Generics.Generic Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance GHC.Read.Read Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance GHC.Read.Read Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance GHC.Show.Show Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance GHC.Show.Show Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificateResponse
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate.DeleteLoadBalancerTLSCertificate
+ Network.AWS.Lightsail.DetachDisk: data DetachDisk
+ Network.AWS.Lightsail.DetachDisk: data DetachDiskResponse
+ Network.AWS.Lightsail.DetachDisk: ddDiskName :: Lens' DetachDisk Text
+ Network.AWS.Lightsail.DetachDisk: ddrsOperations :: Lens' DetachDiskResponse [Operation]
+ Network.AWS.Lightsail.DetachDisk: ddrsResponseStatus :: Lens' DetachDiskResponse Int
+ Network.AWS.Lightsail.DetachDisk: detachDisk :: Text -> DetachDisk
+ Network.AWS.Lightsail.DetachDisk: detachDiskResponse :: Int -> DetachDiskResponse
+ Network.AWS.Lightsail.DetachDisk: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachDisk: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DetachDisk.DetachDiskResponse
+ Network.AWS.Lightsail.DetachDisk: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachDisk: instance Data.Data.Data Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachDisk: instance Data.Data.Data Network.AWS.Lightsail.DetachDisk.DetachDiskResponse
+ Network.AWS.Lightsail.DetachDisk: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachDisk: instance GHC.Classes.Eq Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachDisk: instance GHC.Classes.Eq Network.AWS.Lightsail.DetachDisk.DetachDiskResponse
+ Network.AWS.Lightsail.DetachDisk: instance GHC.Generics.Generic Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachDisk: instance GHC.Generics.Generic Network.AWS.Lightsail.DetachDisk.DetachDiskResponse
+ Network.AWS.Lightsail.DetachDisk: instance GHC.Read.Read Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachDisk: instance GHC.Read.Read Network.AWS.Lightsail.DetachDisk.DetachDiskResponse
+ Network.AWS.Lightsail.DetachDisk: instance GHC.Show.Show Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachDisk: instance GHC.Show.Show Network.AWS.Lightsail.DetachDisk.DetachDiskResponse
+ Network.AWS.Lightsail.DetachDisk: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachDisk: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachDisk: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachDisk: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.DetachDisk.DetachDisk
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: data DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: data DetachInstancesFromLoadBalancerResponse
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: detachInstancesFromLoadBalancer :: Text -> DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: detachInstancesFromLoadBalancerResponse :: Int -> DetachInstancesFromLoadBalancerResponse
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: diflbInstanceNames :: Lens' DetachInstancesFromLoadBalancer [Text]
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: diflbLoadBalancerName :: Lens' DetachInstancesFromLoadBalancer Text
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: diflbrsOperations :: Lens' DetachInstancesFromLoadBalancerResponse [Operation]
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: diflbrsResponseStatus :: Lens' DetachInstancesFromLoadBalancerResponse Int
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance Control.DeepSeq.NFData Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancerResponse
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance Data.Data.Data Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance Data.Data.Data Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancerResponse
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance GHC.Classes.Eq Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance GHC.Classes.Eq Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancerResponse
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance GHC.Generics.Generic Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance GHC.Generics.Generic Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancerResponse
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance GHC.Read.Read Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance GHC.Read.Read Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancerResponse
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance GHC.Show.Show Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance GHC.Show.Show Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancerResponse
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.DetachInstancesFromLoadBalancer: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.DetachInstancesFromLoadBalancer.DetachInstancesFromLoadBalancer
+ Network.AWS.Lightsail.GetBundles: gbsIncludeInactive :: Lens' GetBundles (Maybe Bool)
+ Network.AWS.Lightsail.GetBundles: gbsPageToken :: Lens' GetBundles (Maybe Text)
+ Network.AWS.Lightsail.GetDisk: data GetDisk
+ Network.AWS.Lightsail.GetDisk: data GetDiskResponse
+ Network.AWS.Lightsail.GetDisk: gdDiskName :: Lens' GetDisk Text
+ Network.AWS.Lightsail.GetDisk: getDisk :: Text -> GetDisk
+ Network.AWS.Lightsail.GetDisk: getDiskResponse :: Int -> GetDiskResponse
+ Network.AWS.Lightsail.GetDisk: getrsDisk :: Lens' GetDiskResponse (Maybe Disk)
+ Network.AWS.Lightsail.GetDisk: getrsResponseStatus :: Lens' GetDiskResponse Int
+ Network.AWS.Lightsail.GetDisk: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDisk: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetDisk.GetDiskResponse
+ Network.AWS.Lightsail.GetDisk: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDisk: instance Data.Data.Data Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDisk: instance Data.Data.Data Network.AWS.Lightsail.GetDisk.GetDiskResponse
+ Network.AWS.Lightsail.GetDisk: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDisk: instance GHC.Classes.Eq Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDisk: instance GHC.Classes.Eq Network.AWS.Lightsail.GetDisk.GetDiskResponse
+ Network.AWS.Lightsail.GetDisk: instance GHC.Generics.Generic Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDisk: instance GHC.Generics.Generic Network.AWS.Lightsail.GetDisk.GetDiskResponse
+ Network.AWS.Lightsail.GetDisk: instance GHC.Read.Read Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDisk: instance GHC.Read.Read Network.AWS.Lightsail.GetDisk.GetDiskResponse
+ Network.AWS.Lightsail.GetDisk: instance GHC.Show.Show Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDisk: instance GHC.Show.Show Network.AWS.Lightsail.GetDisk.GetDiskResponse
+ Network.AWS.Lightsail.GetDisk: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDisk: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDisk: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDisk: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.GetDisk.GetDisk
+ Network.AWS.Lightsail.GetDiskSnapshot: data GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: data GetDiskSnapshotResponse
+ Network.AWS.Lightsail.GetDiskSnapshot: gdsDiskSnapshotName :: Lens' GetDiskSnapshot Text
+ Network.AWS.Lightsail.GetDiskSnapshot: gdsrsDiskSnapshot :: Lens' GetDiskSnapshotResponse (Maybe DiskSnapshot)
+ Network.AWS.Lightsail.GetDiskSnapshot: gdsrsResponseStatus :: Lens' GetDiskSnapshotResponse Int
+ Network.AWS.Lightsail.GetDiskSnapshot: getDiskSnapshot :: Text -> GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: getDiskSnapshotResponse :: Int -> GetDiskSnapshotResponse
+ Network.AWS.Lightsail.GetDiskSnapshot: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshotResponse
+ Network.AWS.Lightsail.GetDiskSnapshot: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: instance Data.Data.Data Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: instance Data.Data.Data Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshotResponse
+ Network.AWS.Lightsail.GetDiskSnapshot: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: instance GHC.Classes.Eq Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: instance GHC.Classes.Eq Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshotResponse
+ Network.AWS.Lightsail.GetDiskSnapshot: instance GHC.Generics.Generic Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: instance GHC.Generics.Generic Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshotResponse
+ Network.AWS.Lightsail.GetDiskSnapshot: instance GHC.Read.Read Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: instance GHC.Read.Read Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshotResponse
+ Network.AWS.Lightsail.GetDiskSnapshot: instance GHC.Show.Show Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: instance GHC.Show.Show Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshotResponse
+ Network.AWS.Lightsail.GetDiskSnapshot: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshot: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.GetDiskSnapshot.GetDiskSnapshot
+ Network.AWS.Lightsail.GetDiskSnapshots: data GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: data GetDiskSnapshotsResponse
+ Network.AWS.Lightsail.GetDiskSnapshots: gdsPageToken :: Lens' GetDiskSnapshots (Maybe Text)
+ Network.AWS.Lightsail.GetDiskSnapshots: gdssrsDiskSnapshots :: Lens' GetDiskSnapshotsResponse [DiskSnapshot]
+ Network.AWS.Lightsail.GetDiskSnapshots: gdssrsNextPageToken :: Lens' GetDiskSnapshotsResponse (Maybe Text)
+ Network.AWS.Lightsail.GetDiskSnapshots: gdssrsResponseStatus :: Lens' GetDiskSnapshotsResponse Int
+ Network.AWS.Lightsail.GetDiskSnapshots: getDiskSnapshots :: GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: getDiskSnapshotsResponse :: Int -> GetDiskSnapshotsResponse
+ Network.AWS.Lightsail.GetDiskSnapshots: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshotsResponse
+ Network.AWS.Lightsail.GetDiskSnapshots: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: instance Data.Data.Data Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: instance Data.Data.Data Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshotsResponse
+ Network.AWS.Lightsail.GetDiskSnapshots: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: instance GHC.Classes.Eq Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: instance GHC.Classes.Eq Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshotsResponse
+ Network.AWS.Lightsail.GetDiskSnapshots: instance GHC.Generics.Generic Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: instance GHC.Generics.Generic Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshotsResponse
+ Network.AWS.Lightsail.GetDiskSnapshots: instance GHC.Read.Read Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: instance GHC.Read.Read Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshotsResponse
+ Network.AWS.Lightsail.GetDiskSnapshots: instance GHC.Show.Show Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: instance GHC.Show.Show Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshotsResponse
+ Network.AWS.Lightsail.GetDiskSnapshots: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDiskSnapshots: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.GetDiskSnapshots.GetDiskSnapshots
+ Network.AWS.Lightsail.GetDisks: data GetDisks
+ Network.AWS.Lightsail.GetDisks: data GetDisksResponse
+ Network.AWS.Lightsail.GetDisks: gPageToken :: Lens' GetDisks (Maybe Text)
+ Network.AWS.Lightsail.GetDisks: gddrsDisks :: Lens' GetDisksResponse [Disk]
+ Network.AWS.Lightsail.GetDisks: gddrsNextPageToken :: Lens' GetDisksResponse (Maybe Text)
+ Network.AWS.Lightsail.GetDisks: gddrsResponseStatus :: Lens' GetDisksResponse Int
+ Network.AWS.Lightsail.GetDisks: getDisks :: GetDisks
+ Network.AWS.Lightsail.GetDisks: getDisksResponse :: Int -> GetDisksResponse
+ Network.AWS.Lightsail.GetDisks: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDisks: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetDisks.GetDisksResponse
+ Network.AWS.Lightsail.GetDisks: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDisks: instance Data.Data.Data Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDisks: instance Data.Data.Data Network.AWS.Lightsail.GetDisks.GetDisksResponse
+ Network.AWS.Lightsail.GetDisks: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDisks: instance GHC.Classes.Eq Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDisks: instance GHC.Classes.Eq Network.AWS.Lightsail.GetDisks.GetDisksResponse
+ Network.AWS.Lightsail.GetDisks: instance GHC.Generics.Generic Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDisks: instance GHC.Generics.Generic Network.AWS.Lightsail.GetDisks.GetDisksResponse
+ Network.AWS.Lightsail.GetDisks: instance GHC.Read.Read Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDisks: instance GHC.Read.Read Network.AWS.Lightsail.GetDisks.GetDisksResponse
+ Network.AWS.Lightsail.GetDisks: instance GHC.Show.Show Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDisks: instance GHC.Show.Show Network.AWS.Lightsail.GetDisks.GetDisksResponse
+ Network.AWS.Lightsail.GetDisks: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDisks: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDisks: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDisks: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.GetDisks.GetDisks
+ Network.AWS.Lightsail.GetDomains: ggrsDomains :: Lens' GetDomainsResponse [Domain]
+ Network.AWS.Lightsail.GetDomains: ggrsNextPageToken :: Lens' GetDomainsResponse (Maybe Text)
+ Network.AWS.Lightsail.GetDomains: ggrsResponseStatus :: Lens' GetDomainsResponse Int
+ Network.AWS.Lightsail.GetInstanceState: gisirsResponseStatus :: Lens' GetInstanceStateResponse Int
+ Network.AWS.Lightsail.GetInstanceState: gisirsState :: Lens' GetInstanceStateResponse (Maybe InstanceState)
+ Network.AWS.Lightsail.GetLoadBalancer: data GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: data GetLoadBalancerResponse
+ Network.AWS.Lightsail.GetLoadBalancer: getLoadBalancer :: Text -> GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: getLoadBalancerResponse :: Int -> GetLoadBalancerResponse
+ Network.AWS.Lightsail.GetLoadBalancer: glbLoadBalancerName :: Lens' GetLoadBalancer Text
+ Network.AWS.Lightsail.GetLoadBalancer: glbrsLoadBalancer :: Lens' GetLoadBalancerResponse (Maybe LoadBalancer)
+ Network.AWS.Lightsail.GetLoadBalancer: glbrsResponseStatus :: Lens' GetLoadBalancerResponse Int
+ Network.AWS.Lightsail.GetLoadBalancer: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancerResponse
+ Network.AWS.Lightsail.GetLoadBalancer: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: instance Data.Data.Data Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: instance Data.Data.Data Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancerResponse
+ Network.AWS.Lightsail.GetLoadBalancer: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: instance GHC.Classes.Eq Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: instance GHC.Classes.Eq Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancerResponse
+ Network.AWS.Lightsail.GetLoadBalancer: instance GHC.Generics.Generic Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: instance GHC.Generics.Generic Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancerResponse
+ Network.AWS.Lightsail.GetLoadBalancer: instance GHC.Read.Read Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: instance GHC.Read.Read Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancerResponse
+ Network.AWS.Lightsail.GetLoadBalancer: instance GHC.Show.Show Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: instance GHC.Show.Show Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancerResponse
+ Network.AWS.Lightsail.GetLoadBalancer: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancer: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.GetLoadBalancer.GetLoadBalancer
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: data GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: data GetLoadBalancerMetricDataResponse
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: getLoadBalancerMetricData :: Text -> LoadBalancerMetricName -> Natural -> UTCTime -> UTCTime -> MetricUnit -> GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: getLoadBalancerMetricDataResponse :: Int -> GetLoadBalancerMetricDataResponse
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: glbmdEndTime :: Lens' GetLoadBalancerMetricData UTCTime
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: glbmdLoadBalancerName :: Lens' GetLoadBalancerMetricData Text
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: glbmdMetricName :: Lens' GetLoadBalancerMetricData LoadBalancerMetricName
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: glbmdPeriod :: Lens' GetLoadBalancerMetricData Natural
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: glbmdStartTime :: Lens' GetLoadBalancerMetricData UTCTime
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: glbmdStatistics :: Lens' GetLoadBalancerMetricData [MetricStatistic]
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: glbmdUnit :: Lens' GetLoadBalancerMetricData MetricUnit
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: glbmdrsMetricData :: Lens' GetLoadBalancerMetricDataResponse [MetricDatapoint]
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: glbmdrsMetricName :: Lens' GetLoadBalancerMetricDataResponse (Maybe LoadBalancerMetricName)
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: glbmdrsResponseStatus :: Lens' GetLoadBalancerMetricDataResponse Int
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricDataResponse
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance Data.Data.Data Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance Data.Data.Data Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricDataResponse
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance GHC.Classes.Eq Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance GHC.Classes.Eq Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricDataResponse
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance GHC.Generics.Generic Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance GHC.Generics.Generic Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricDataResponse
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance GHC.Read.Read Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance GHC.Read.Read Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricDataResponse
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance GHC.Show.Show Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance GHC.Show.Show Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricDataResponse
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerMetricData: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.GetLoadBalancerMetricData.GetLoadBalancerMetricData
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: data GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: data GetLoadBalancerTLSCertificatesResponse
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: getLoadBalancerTLSCertificates :: Text -> GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: getLoadBalancerTLSCertificatesResponse :: Int -> GetLoadBalancerTLSCertificatesResponse
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: glbtcLoadBalancerName :: Lens' GetLoadBalancerTLSCertificates Text
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: glbtcrsResponseStatus :: Lens' GetLoadBalancerTLSCertificatesResponse Int
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: glbtcrsTlsCertificates :: Lens' GetLoadBalancerTLSCertificatesResponse [LoadBalancerTLSCertificate]
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificatesResponse
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance Data.Data.Data Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance Data.Data.Data Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificatesResponse
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance GHC.Classes.Eq Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance GHC.Classes.Eq Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificatesResponse
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance GHC.Generics.Generic Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance GHC.Generics.Generic Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificatesResponse
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance GHC.Read.Read Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance GHC.Read.Read Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificatesResponse
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance GHC.Show.Show Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance GHC.Show.Show Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificatesResponse
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancerTLSCertificates: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.GetLoadBalancerTLSCertificates.GetLoadBalancerTLSCertificates
+ Network.AWS.Lightsail.GetLoadBalancers: data GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: data GetLoadBalancersResponse
+ Network.AWS.Lightsail.GetLoadBalancers: getLoadBalancers :: GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: getLoadBalancersResponse :: Int -> GetLoadBalancersResponse
+ Network.AWS.Lightsail.GetLoadBalancers: glbPageToken :: Lens' GetLoadBalancers (Maybe Text)
+ Network.AWS.Lightsail.GetLoadBalancers: glbsrsLoadBalancers :: Lens' GetLoadBalancersResponse [LoadBalancer]
+ Network.AWS.Lightsail.GetLoadBalancers: glbsrsNextPageToken :: Lens' GetLoadBalancersResponse (Maybe Text)
+ Network.AWS.Lightsail.GetLoadBalancers: glbsrsResponseStatus :: Lens' GetLoadBalancersResponse Int
+ Network.AWS.Lightsail.GetLoadBalancers: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: instance Control.DeepSeq.NFData Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancersResponse
+ Network.AWS.Lightsail.GetLoadBalancers: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: instance Data.Data.Data Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: instance Data.Data.Data Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancersResponse
+ Network.AWS.Lightsail.GetLoadBalancers: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: instance GHC.Classes.Eq Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: instance GHC.Classes.Eq Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancersResponse
+ Network.AWS.Lightsail.GetLoadBalancers: instance GHC.Generics.Generic Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: instance GHC.Generics.Generic Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancersResponse
+ Network.AWS.Lightsail.GetLoadBalancers: instance GHC.Read.Read Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: instance GHC.Read.Read Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancersResponse
+ Network.AWS.Lightsail.GetLoadBalancers: instance GHC.Show.Show Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: instance GHC.Show.Show Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancersResponse
+ Network.AWS.Lightsail.GetLoadBalancers: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.GetLoadBalancers: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.GetLoadBalancers.GetLoadBalancers
+ Network.AWS.Lightsail.StopInstance: siForce :: Lens' StopInstance (Maybe Bool)
+ Network.AWS.Lightsail.Types: AACompromise :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail.Types: AdditionalVerificationRequired :: LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail.Types: AffiliationChanged :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail.Types: AttachDisk :: OperationType
+ Network.AWS.Lightsail.Types: AttachInstancesToLoadBalancer :: OperationType
+ Network.AWS.Lightsail.Types: AttachLoadBalancerTLSCertificate :: OperationType
+ Network.AWS.Lightsail.Types: CaCompromise :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail.Types: CertificateHold :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail.Types: CessationOfOperation :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail.Types: ClientTLSNegotiationErrorCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: CreateDisk :: OperationType
+ Network.AWS.Lightsail.Types: CreateDiskFromSnapshot :: OperationType
+ Network.AWS.Lightsail.Types: CreateDiskSnapshot :: OperationType
+ Network.AWS.Lightsail.Types: CreateLoadBalancer :: OperationType
+ Network.AWS.Lightsail.Types: CreateLoadBalancerTLSCertificate :: OperationType
+ Network.AWS.Lightsail.Types: DSSCompleted :: DiskSnapshotState
+ Network.AWS.Lightsail.Types: DSSError' :: DiskSnapshotState
+ Network.AWS.Lightsail.Types: DSSPending :: DiskSnapshotState
+ Network.AWS.Lightsail.Types: DSSUnknown :: DiskSnapshotState
+ Network.AWS.Lightsail.Types: DeleteDisk :: OperationType
+ Network.AWS.Lightsail.Types: DeleteDiskSnapshot :: OperationType
+ Network.AWS.Lightsail.Types: DeleteLoadBalancer :: OperationType
+ Network.AWS.Lightsail.Types: DeleteLoadBalancerTLSCertificate :: OperationType
+ Network.AWS.Lightsail.Types: DetachDisk :: OperationType
+ Network.AWS.Lightsail.Types: DetachInstancesFromLoadBalancer :: OperationType
+ Network.AWS.Lightsail.Types: Disk :: ResourceType
+ Network.AWS.Lightsail.Types: DiskSnapshot :: ResourceType
+ Network.AWS.Lightsail.Types: DomainNotAllowed :: LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail.Types: Draining :: InstanceHealthState
+ Network.AWS.Lightsail.Types: EuWest2 :: RegionName
+ Network.AWS.Lightsail.Types: HTTP :: LoadBalancerProtocol
+ Network.AWS.Lightsail.Types: HTTPCodeInstance2XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: HTTPCodeInstance3XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: HTTPCodeInstance4XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: HTTPCodeInstance5XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: HTTPCodeLb4XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: HTTPCodeLb5XXCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: HTTPHTTPS :: LoadBalancerProtocol
+ Network.AWS.Lightsail.Types: HealthCheckPath :: LoadBalancerAttributeName
+ Network.AWS.Lightsail.Types: Healthy :: InstanceHealthState
+ Network.AWS.Lightsail.Types: HealthyHostCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: ISSAvailable :: InstanceSnapshotState
+ Network.AWS.Lightsail.Types: ISSError' :: InstanceSnapshotState
+ Network.AWS.Lightsail.Types: ISSPending :: InstanceSnapshotState
+ Network.AWS.Lightsail.Types: InUse :: DiskState
+ Network.AWS.Lightsail.Types: Initial :: InstanceHealthState
+ Network.AWS.Lightsail.Types: InstanceResponseTime :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: Instance_DeregistrationInProgress :: InstanceHealthReason
+ Network.AWS.Lightsail.Types: Instance_FailedHealthChecks :: InstanceHealthReason
+ Network.AWS.Lightsail.Types: Instance_IPUnusable :: InstanceHealthReason
+ Network.AWS.Lightsail.Types: Instance_InvalidState :: InstanceHealthReason
+ Network.AWS.Lightsail.Types: Instance_NotInUse :: InstanceHealthReason
+ Network.AWS.Lightsail.Types: Instance_NotRegistered :: InstanceHealthReason
+ Network.AWS.Lightsail.Types: Instance_ResponseCodeMismatch :: InstanceHealthReason
+ Network.AWS.Lightsail.Types: Instance_Timeout :: InstanceHealthReason
+ Network.AWS.Lightsail.Types: InvalidPublicDomain :: LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail.Types: KeyCompromise :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail.Types: LBSActive :: LoadBalancerState
+ Network.AWS.Lightsail.Types: LBSActiveImpaired :: LoadBalancerState
+ Network.AWS.Lightsail.Types: LBSFailed :: LoadBalancerState
+ Network.AWS.Lightsail.Types: LBSProvisioning :: LoadBalancerState
+ Network.AWS.Lightsail.Types: LBSUnknown :: LoadBalancerState
+ Network.AWS.Lightsail.Types: LBTCDSFailed :: LoadBalancerTLSCertificateDomainStatus
+ Network.AWS.Lightsail.Types: LBTCDSPendingValidation :: LoadBalancerTLSCertificateDomainStatus
+ Network.AWS.Lightsail.Types: LBTCDSSuccess :: LoadBalancerTLSCertificateDomainStatus
+ Network.AWS.Lightsail.Types: LBTCRSFailed :: LoadBalancerTLSCertificateRenewalStatus
+ Network.AWS.Lightsail.Types: LBTCRSPendingAutoRenewal :: LoadBalancerTLSCertificateRenewalStatus
+ Network.AWS.Lightsail.Types: LBTCRSPendingValidation :: LoadBalancerTLSCertificateRenewalStatus
+ Network.AWS.Lightsail.Types: LBTCRSSuccess :: LoadBalancerTLSCertificateRenewalStatus
+ Network.AWS.Lightsail.Types: LBTCSExpired :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail.Types: LBTCSFailed :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail.Types: LBTCSInactive :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail.Types: LBTCSIssued :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail.Types: LBTCSPendingValidation :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail.Types: LBTCSRevoked :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail.Types: LBTCSUnknown :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail.Types: LBTCSValidationTimedOut :: LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail.Types: Lb_InitialHealthChecking :: InstanceHealthReason
+ Network.AWS.Lightsail.Types: Lb_InternalError :: InstanceHealthReason
+ Network.AWS.Lightsail.Types: Lb_RegistrationInProgress :: InstanceHealthReason
+ Network.AWS.Lightsail.Types: LoadBalancer :: ResourceType
+ Network.AWS.Lightsail.Types: LoadBalancerTLSCertificate :: ResourceType
+ Network.AWS.Lightsail.Types: NoAvailableContacts :: LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail.Types: Other :: LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail.Types: PrivilegeWithdrawn :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail.Types: RejectedConnectionCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: RemoveFromCrl :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail.Types: RequestCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: SessionStickinessEnabled :: LoadBalancerAttributeName
+ Network.AWS.Lightsail.Types: SessionStickinessLbCookieDurationSeconds :: LoadBalancerAttributeName
+ Network.AWS.Lightsail.Types: Succeeded :: OperationStatus
+ Network.AWS.Lightsail.Types: Superceded :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail.Types: Unavailable :: InstanceHealthState
+ Network.AWS.Lightsail.Types: Unhealthy :: InstanceHealthState
+ Network.AWS.Lightsail.Types: UnhealthyHostCount :: LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: Unknown :: DiskState
+ Network.AWS.Lightsail.Types: Unspecified :: LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail.Types: Unused :: InstanceHealthState
+ Network.AWS.Lightsail.Types: UpdateLoadBalancerAttribute :: OperationType
+ Network.AWS.Lightsail.Types: dState :: Lens' Disk (Maybe DiskState)
+ Network.AWS.Lightsail.Types: data DiskMap
+ Network.AWS.Lightsail.Types: data DiskSnapshot
+ Network.AWS.Lightsail.Types: data DiskSnapshotState
+ Network.AWS.Lightsail.Types: data DiskState
+ Network.AWS.Lightsail.Types: data InstanceHealthReason
+ Network.AWS.Lightsail.Types: data InstanceHealthState
+ Network.AWS.Lightsail.Types: data InstanceHealthSummary
+ Network.AWS.Lightsail.Types: data LoadBalancer
+ Network.AWS.Lightsail.Types: data LoadBalancerAttributeName
+ Network.AWS.Lightsail.Types: data LoadBalancerMetricName
+ Network.AWS.Lightsail.Types: data LoadBalancerProtocol
+ Network.AWS.Lightsail.Types: data LoadBalancerState
+ Network.AWS.Lightsail.Types: data LoadBalancerTLSCertificate
+ Network.AWS.Lightsail.Types: data LoadBalancerTLSCertificateDomainStatus
+ Network.AWS.Lightsail.Types: data LoadBalancerTLSCertificateDomainValidationOption
+ Network.AWS.Lightsail.Types: data LoadBalancerTLSCertificateDomainValidationRecord
+ Network.AWS.Lightsail.Types: data LoadBalancerTLSCertificateFailureReason
+ Network.AWS.Lightsail.Types: data LoadBalancerTLSCertificateRenewalStatus
+ Network.AWS.Lightsail.Types: data LoadBalancerTLSCertificateRenewalSummary
+ Network.AWS.Lightsail.Types: data LoadBalancerTLSCertificateRevocationReason
+ Network.AWS.Lightsail.Types: data LoadBalancerTLSCertificateStatus
+ Network.AWS.Lightsail.Types: data LoadBalancerTLSCertificateSummary
+ Network.AWS.Lightsail.Types: deIsAlias :: Lens' DomainEntry (Maybe Bool)
+ Network.AWS.Lightsail.Types: diskMap :: DiskMap
+ Network.AWS.Lightsail.Types: diskSnapshot :: DiskSnapshot
+ Network.AWS.Lightsail.Types: dmNewDiskName :: Lens' DiskMap (Maybe Text)
+ Network.AWS.Lightsail.Types: dmOriginalDiskPath :: Lens' DiskMap (Maybe Text)
+ Network.AWS.Lightsail.Types: dsArn :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail.Types: dsCreatedAt :: Lens' DiskSnapshot (Maybe UTCTime)
+ Network.AWS.Lightsail.Types: dsFromDiskARN :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail.Types: dsFromDiskName :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail.Types: dsLocation :: Lens' DiskSnapshot (Maybe ResourceLocation)
+ Network.AWS.Lightsail.Types: dsName :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail.Types: dsProgress :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail.Types: dsResourceType :: Lens' DiskSnapshot (Maybe ResourceType)
+ Network.AWS.Lightsail.Types: dsSizeInGb :: Lens' DiskSnapshot (Maybe Int)
+ Network.AWS.Lightsail.Types: dsState :: Lens' DiskSnapshot (Maybe DiskSnapshotState)
+ Network.AWS.Lightsail.Types: dsSupportCode :: Lens' DiskSnapshot (Maybe Text)
+ Network.AWS.Lightsail.Types: ihsInstanceHealth :: Lens' InstanceHealthSummary (Maybe InstanceHealthState)
+ Network.AWS.Lightsail.Types: ihsInstanceHealthReason :: Lens' InstanceHealthSummary (Maybe InstanceHealthReason)
+ Network.AWS.Lightsail.Types: ihsInstanceName :: Lens' InstanceHealthSummary (Maybe Text)
+ Network.AWS.Lightsail.Types: insFromAttachedDisks :: Lens' InstanceSnapshot [Disk]
+ Network.AWS.Lightsail.Types: instanceHealthSummary :: InstanceHealthSummary
+ Network.AWS.Lightsail.Types: lbArn :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.Lightsail.Types: lbConfigurationOptions :: Lens' LoadBalancer (HashMap LoadBalancerAttributeName Text)
+ Network.AWS.Lightsail.Types: lbCreatedAt :: Lens' LoadBalancer (Maybe UTCTime)
+ Network.AWS.Lightsail.Types: lbDnsName :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.Lightsail.Types: lbHealthCheckPath :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.Lightsail.Types: lbInstanceHealthSummary :: Lens' LoadBalancer [InstanceHealthSummary]
+ Network.AWS.Lightsail.Types: lbInstancePort :: Lens' LoadBalancer (Maybe Int)
+ Network.AWS.Lightsail.Types: lbLocation :: Lens' LoadBalancer (Maybe ResourceLocation)
+ Network.AWS.Lightsail.Types: lbName :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.Lightsail.Types: lbProtocol :: Lens' LoadBalancer (Maybe LoadBalancerProtocol)
+ Network.AWS.Lightsail.Types: lbPublicPorts :: Lens' LoadBalancer [Natural]
+ Network.AWS.Lightsail.Types: lbResourceType :: Lens' LoadBalancer (Maybe ResourceType)
+ Network.AWS.Lightsail.Types: lbState :: Lens' LoadBalancer (Maybe LoadBalancerState)
+ Network.AWS.Lightsail.Types: lbSupportCode :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.Lightsail.Types: lbTlsCertificateSummaries :: Lens' LoadBalancer [LoadBalancerTLSCertificateSummary]
+ Network.AWS.Lightsail.Types: lbtcArn :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcCreatedAt :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)
+ Network.AWS.Lightsail.Types: lbtcDomainName :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcDomainValidationRecords :: Lens' LoadBalancerTLSCertificate [LoadBalancerTLSCertificateDomainValidationRecord]
+ Network.AWS.Lightsail.Types: lbtcFailureReason :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateFailureReason)
+ Network.AWS.Lightsail.Types: lbtcIsAttached :: Lens' LoadBalancerTLSCertificate (Maybe Bool)
+ Network.AWS.Lightsail.Types: lbtcIssuedAt :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)
+ Network.AWS.Lightsail.Types: lbtcIssuer :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcKeyAlgorithm :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcLoadBalancerName :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcLocation :: Lens' LoadBalancerTLSCertificate (Maybe ResourceLocation)
+ Network.AWS.Lightsail.Types: lbtcName :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcNotAfter :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)
+ Network.AWS.Lightsail.Types: lbtcNotBefore :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)
+ Network.AWS.Lightsail.Types: lbtcRenewalSummary :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateRenewalSummary)
+ Network.AWS.Lightsail.Types: lbtcResourceType :: Lens' LoadBalancerTLSCertificate (Maybe ResourceType)
+ Network.AWS.Lightsail.Types: lbtcRevocationReason :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateRevocationReason)
+ Network.AWS.Lightsail.Types: lbtcRevokedAt :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)
+ Network.AWS.Lightsail.Types: lbtcSerial :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcSignatureAlgorithm :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcStatus :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateStatus)
+ Network.AWS.Lightsail.Types: lbtcSubject :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcSubjectAlternativeNames :: Lens' LoadBalancerTLSCertificate [Text]
+ Network.AWS.Lightsail.Types: lbtcSupportCode :: Lens' LoadBalancerTLSCertificate (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcdvoDomainName :: Lens' LoadBalancerTLSCertificateDomainValidationOption (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcdvoValidationStatus :: Lens' LoadBalancerTLSCertificateDomainValidationOption (Maybe LoadBalancerTLSCertificateDomainStatus)
+ Network.AWS.Lightsail.Types: lbtcdvrDomainName :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcdvrName :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcdvrType :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcdvrValidationStatus :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe LoadBalancerTLSCertificateDomainStatus)
+ Network.AWS.Lightsail.Types: lbtcdvrValue :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)
+ Network.AWS.Lightsail.Types: lbtcrsDomainValidationOptions :: Lens' LoadBalancerTLSCertificateRenewalSummary [LoadBalancerTLSCertificateDomainValidationOption]
+ Network.AWS.Lightsail.Types: lbtcrsRenewalStatus :: Lens' LoadBalancerTLSCertificateRenewalSummary (Maybe LoadBalancerTLSCertificateRenewalStatus)
+ Network.AWS.Lightsail.Types: lbtcsIsAttached :: Lens' LoadBalancerTLSCertificateSummary (Maybe Bool)
+ Network.AWS.Lightsail.Types: lbtcsName :: Lens' LoadBalancerTLSCertificateSummary (Maybe Text)
+ Network.AWS.Lightsail.Types: loadBalancer :: LoadBalancer
+ Network.AWS.Lightsail.Types: loadBalancerTLSCertificate :: LoadBalancerTLSCertificate
+ Network.AWS.Lightsail.Types: loadBalancerTLSCertificateDomainValidationOption :: LoadBalancerTLSCertificateDomainValidationOption
+ Network.AWS.Lightsail.Types: loadBalancerTLSCertificateDomainValidationRecord :: LoadBalancerTLSCertificateDomainValidationRecord
+ Network.AWS.Lightsail.Types: loadBalancerTLSCertificateRenewalSummary :: LoadBalancerTLSCertificateRenewalSummary
+ Network.AWS.Lightsail.Types: loadBalancerTLSCertificateSummary :: LoadBalancerTLSCertificateSummary
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: data UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: data UpdateLoadBalancerAttributeResponse
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance Control.DeepSeq.NFData Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance Control.DeepSeq.NFData Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttributeResponse
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance Data.Data.Data Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance Data.Data.Data Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttributeResponse
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance GHC.Classes.Eq Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance GHC.Classes.Eq Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttributeResponse
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance GHC.Generics.Generic Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance GHC.Generics.Generic Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttributeResponse
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance GHC.Read.Read Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance GHC.Read.Read Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttributeResponse
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance GHC.Show.Show Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance GHC.Show.Show Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttributeResponse
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.UpdateLoadBalancerAttribute.UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: ulbaAttributeName :: Lens' UpdateLoadBalancerAttribute LoadBalancerAttributeName
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: ulbaAttributeValue :: Lens' UpdateLoadBalancerAttribute Text
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: ulbaLoadBalancerName :: Lens' UpdateLoadBalancerAttribute Text
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: ulbarsOperations :: Lens' UpdateLoadBalancerAttributeResponse [Operation]
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: ulbarsResponseStatus :: Lens' UpdateLoadBalancerAttributeResponse Int
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: updateLoadBalancerAttribute :: Text -> LoadBalancerAttributeName -> Text -> UpdateLoadBalancerAttribute
+ Network.AWS.Lightsail.UpdateLoadBalancerAttribute: updateLoadBalancerAttributeResponse :: Int -> UpdateLoadBalancerAttributeResponse
- Network.AWS.Lightsail: Available :: InstanceSnapshotState
+ Network.AWS.Lightsail: Available :: DiskState
- Network.AWS.Lightsail: Error' :: InstanceSnapshotState
+ Network.AWS.Lightsail: Error' :: DiskState
- Network.AWS.Lightsail: Pending :: InstanceSnapshotState
+ Network.AWS.Lightsail: Pending :: DiskState
- Network.AWS.Lightsail.Types: Available :: InstanceSnapshotState
+ Network.AWS.Lightsail.Types: Available :: DiskState
- Network.AWS.Lightsail.Types: Error' :: InstanceSnapshotState
+ Network.AWS.Lightsail.Types: Error' :: DiskState
- Network.AWS.Lightsail.Types: Pending :: InstanceSnapshotState
+ Network.AWS.Lightsail.Types: Pending :: DiskState

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.5.0`+`1.6.0`   ## Description
amazonka-lightsail.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-lightsail-version:               1.5.0+version:               1.6.0 synopsis:              Amazon Lightsail SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues@@ -7,7 +7,7 @@ license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright:             Copyright (c) 2013-2017 Brendan Hay+copyright:             Copyright (c) 2013-2018 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -46,24 +46,42 @@     exposed-modules:           Network.AWS.Lightsail         , Network.AWS.Lightsail.AllocateStaticIP+        , Network.AWS.Lightsail.AttachDisk+        , Network.AWS.Lightsail.AttachInstancesToLoadBalancer+        , Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate         , Network.AWS.Lightsail.AttachStaticIP         , Network.AWS.Lightsail.CloseInstancePublicPorts+        , Network.AWS.Lightsail.CreateDisk+        , Network.AWS.Lightsail.CreateDiskFromSnapshot+        , Network.AWS.Lightsail.CreateDiskSnapshot         , Network.AWS.Lightsail.CreateDomain         , Network.AWS.Lightsail.CreateDomainEntry         , Network.AWS.Lightsail.CreateInstanceSnapshot         , Network.AWS.Lightsail.CreateInstances         , Network.AWS.Lightsail.CreateInstancesFromSnapshot         , Network.AWS.Lightsail.CreateKeyPair+        , Network.AWS.Lightsail.CreateLoadBalancer+        , Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate+        , Network.AWS.Lightsail.DeleteDisk+        , Network.AWS.Lightsail.DeleteDiskSnapshot         , Network.AWS.Lightsail.DeleteDomain         , Network.AWS.Lightsail.DeleteDomainEntry         , Network.AWS.Lightsail.DeleteInstance         , Network.AWS.Lightsail.DeleteInstanceSnapshot         , Network.AWS.Lightsail.DeleteKeyPair+        , Network.AWS.Lightsail.DeleteLoadBalancer+        , Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate+        , Network.AWS.Lightsail.DetachDisk+        , Network.AWS.Lightsail.DetachInstancesFromLoadBalancer         , Network.AWS.Lightsail.DetachStaticIP         , Network.AWS.Lightsail.DownloadDefaultKeyPair         , Network.AWS.Lightsail.GetActiveNames         , Network.AWS.Lightsail.GetBlueprints         , Network.AWS.Lightsail.GetBundles+        , Network.AWS.Lightsail.GetDisk+        , Network.AWS.Lightsail.GetDiskSnapshot+        , Network.AWS.Lightsail.GetDiskSnapshots+        , Network.AWS.Lightsail.GetDisks         , Network.AWS.Lightsail.GetDomain         , Network.AWS.Lightsail.GetDomains         , Network.AWS.Lightsail.GetInstance@@ -76,6 +94,10 @@         , Network.AWS.Lightsail.GetInstances         , Network.AWS.Lightsail.GetKeyPair         , Network.AWS.Lightsail.GetKeyPairs+        , Network.AWS.Lightsail.GetLoadBalancer+        , Network.AWS.Lightsail.GetLoadBalancerMetricData+        , Network.AWS.Lightsail.GetLoadBalancerTLSCertificates+        , Network.AWS.Lightsail.GetLoadBalancers         , Network.AWS.Lightsail.GetOperation         , Network.AWS.Lightsail.GetOperations         , Network.AWS.Lightsail.GetOperationsForResource@@ -94,6 +116,7 @@         , Network.AWS.Lightsail.Types         , Network.AWS.Lightsail.UnpeerVPC         , Network.AWS.Lightsail.UpdateDomainEntry+        , Network.AWS.Lightsail.UpdateLoadBalancerAttribute         , Network.AWS.Lightsail.Waiters      other-modules:@@ -101,7 +124,7 @@         , Network.AWS.Lightsail.Types.Sum      build-depends:-          amazonka-core == 1.5.0.*+          amazonka-core == 1.6.0.*         , base          >= 4.7     && < 5  test-suite amazonka-lightsail-test@@ -121,8 +144,8 @@         , Test.AWS.Lightsail.Internal      build-depends:-          amazonka-core == 1.5.0.*-        , amazonka-test == 1.5.0.*+          amazonka-core == 1.6.0.*+        , amazonka-test == 1.6.0.*         , amazonka-lightsail         , base         , bytestring
+ fixture/AttachDisk.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/AttachDiskResponse.proto view
+ fixture/AttachInstancesToLoadBalancer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/AttachInstancesToLoadBalancerResponse.proto view
+ fixture/AttachLoadBalancerTLSCertificate.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/AttachLoadBalancerTLSCertificateResponse.proto view
+ fixture/CreateDisk.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/CreateDiskFromSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/CreateDiskFromSnapshotResponse.proto view
+ fixture/CreateDiskResponse.proto view
+ fixture/CreateDiskSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/CreateDiskSnapshotResponse.proto view
+ fixture/CreateLoadBalancer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/CreateLoadBalancerResponse.proto view
+ fixture/CreateLoadBalancerTLSCertificate.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/CreateLoadBalancerTLSCertificateResponse.proto view
+ fixture/DeleteDisk.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/DeleteDiskResponse.proto view
+ fixture/DeleteDiskSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/DeleteDiskSnapshotResponse.proto view
+ fixture/DeleteLoadBalancer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/DeleteLoadBalancerResponse.proto view
+ fixture/DeleteLoadBalancerTLSCertificate.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/DeleteLoadBalancerTLSCertificateResponse.proto view
+ fixture/DetachDisk.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/DetachDiskResponse.proto view
+ fixture/DetachInstancesFromLoadBalancer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/DetachInstancesFromLoadBalancerResponse.proto view
+ fixture/GetDisk.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/GetDiskResponse.proto view
+ fixture/GetDiskSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/GetDiskSnapshotResponse.proto view
+ fixture/GetDiskSnapshots.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/GetDiskSnapshotsResponse.proto view
+ fixture/GetDisks.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/GetDisksResponse.proto view
+ fixture/GetLoadBalancer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/GetLoadBalancerMetricData.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/GetLoadBalancerMetricDataResponse.proto view
+ fixture/GetLoadBalancerResponse.proto view
+ fixture/GetLoadBalancerTLSCertificates.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/GetLoadBalancerTLSCertificatesResponse.proto view
+ fixture/GetLoadBalancers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/GetLoadBalancersResponse.proto view
+ fixture/UpdateLoadBalancerAttribute.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/UpdateLoadBalancerAttributeResponse.proto view
gen/Network/AWS/Lightsail.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Network.AWS.Lightsail--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,18 +68,30 @@     -- ** GetInstances (Paginated)     , module Network.AWS.Lightsail.GetInstances +    -- ** GetLoadBalancer+    , module Network.AWS.Lightsail.GetLoadBalancer+     -- ** GetInstance     , module Network.AWS.Lightsail.GetInstance      -- ** AttachStaticIP     , module Network.AWS.Lightsail.AttachStaticIP +    -- ** DetachDisk+    , module Network.AWS.Lightsail.DetachDisk+     -- ** DownloadDefaultKeyPair     , module Network.AWS.Lightsail.DownloadDefaultKeyPair +    -- ** DeleteLoadBalancerTLSCertificate+    , module Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate+     -- ** GetDomains (Paginated)     , module Network.AWS.Lightsail.GetDomains +    -- ** CreateLoadBalancerTLSCertificate+    , module Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate+     -- ** CreateDomainEntry     , module Network.AWS.Lightsail.CreateDomainEntry @@ -98,6 +110,12 @@     -- ** RebootInstance     , module Network.AWS.Lightsail.RebootInstance +    -- ** DeleteLoadBalancer+    , module Network.AWS.Lightsail.DeleteLoadBalancer++    -- ** CreateDiskFromSnapshot+    , module Network.AWS.Lightsail.CreateDiskFromSnapshot+     -- ** GetInstanceSnapshot     , module Network.AWS.Lightsail.GetInstanceSnapshot @@ -113,6 +131,9 @@     -- ** StopInstance     , module Network.AWS.Lightsail.StopInstance +    -- ** DetachInstancesFromLoadBalancer+    , module Network.AWS.Lightsail.DetachInstancesFromLoadBalancer+     -- ** CreateInstanceSnapshot     , module Network.AWS.Lightsail.CreateInstanceSnapshot @@ -125,15 +146,33 @@     -- ** UnpeerVPC     , module Network.AWS.Lightsail.UnpeerVPC +    -- ** DeleteDisk+    , module Network.AWS.Lightsail.DeleteDisk+     -- ** CreateInstancesFromSnapshot     , module Network.AWS.Lightsail.CreateInstancesFromSnapshot      -- ** CreateDomain     , module Network.AWS.Lightsail.CreateDomain +    -- ** GetDiskSnapshots+    , module Network.AWS.Lightsail.GetDiskSnapshots+     -- ** PeerVPC     , module Network.AWS.Lightsail.PeerVPC +    -- ** GetLoadBalancers+    , module Network.AWS.Lightsail.GetLoadBalancers++    -- ** AttachLoadBalancerTLSCertificate+    , module Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate++    -- ** UpdateLoadBalancerAttribute+    , module Network.AWS.Lightsail.UpdateLoadBalancerAttribute++    -- ** GetDiskSnapshot+    , module Network.AWS.Lightsail.GetDiskSnapshot+     -- ** GetStaticIP     , module Network.AWS.Lightsail.GetStaticIP @@ -143,6 +182,9 @@     -- ** GetInstancePortStates     , module Network.AWS.Lightsail.GetInstancePortStates +    -- ** CreateDiskSnapshot+    , module Network.AWS.Lightsail.CreateDiskSnapshot+     -- ** DeleteDomainEntry     , module Network.AWS.Lightsail.DeleteDomainEntry @@ -152,6 +194,12 @@     -- ** GetRegions     , module Network.AWS.Lightsail.GetRegions +    -- ** DeleteDiskSnapshot+    , module Network.AWS.Lightsail.DeleteDiskSnapshot++    -- ** GetLoadBalancerMetricData+    , module Network.AWS.Lightsail.GetLoadBalancerMetricData+     -- ** GetInstanceState     , module Network.AWS.Lightsail.GetInstanceState @@ -161,6 +209,12 @@     -- ** GetOperations (Paginated)     , module Network.AWS.Lightsail.GetOperations +    -- ** GetDisks+    , module Network.AWS.Lightsail.GetDisks++    -- ** AttachInstancesToLoadBalancer+    , module Network.AWS.Lightsail.AttachInstancesToLoadBalancer+     -- ** GetOperation     , module Network.AWS.Lightsail.GetOperation @@ -173,6 +227,15 @@     -- ** PutInstancePublicPorts     , module Network.AWS.Lightsail.PutInstancePublicPorts +    -- ** GetDisk+    , module Network.AWS.Lightsail.GetDisk++    -- ** CreateLoadBalancer+    , module Network.AWS.Lightsail.CreateLoadBalancer++    -- ** AttachDisk+    , module Network.AWS.Lightsail.AttachDisk+     -- ** DetachStaticIP     , module Network.AWS.Lightsail.DetachStaticIP @@ -188,6 +251,12 @@     -- ** DeleteDomain     , module Network.AWS.Lightsail.DeleteDomain +    -- ** GetLoadBalancerTLSCertificates+    , module Network.AWS.Lightsail.GetLoadBalancerTLSCertificates++    -- ** CreateDisk+    , module Network.AWS.Lightsail.CreateDisk+     -- ** GetOperationsForResource     , module Network.AWS.Lightsail.GetOperationsForResource @@ -205,9 +274,21 @@     -- ** BlueprintType     , BlueprintType (..) +    -- ** DiskSnapshotState+    , DiskSnapshotState (..)++    -- ** DiskState+    , DiskState (..)+     -- ** InstanceAccessProtocol     , InstanceAccessProtocol (..) +    -- ** InstanceHealthReason+    , InstanceHealthReason (..)++    -- ** InstanceHealthState+    , InstanceHealthState (..)+     -- ** InstanceMetricName     , InstanceMetricName (..) @@ -217,6 +298,33 @@     -- ** InstanceSnapshotState     , InstanceSnapshotState (..) +    -- ** LoadBalancerAttributeName+    , LoadBalancerAttributeName (..)++    -- ** LoadBalancerMetricName+    , LoadBalancerMetricName (..)++    -- ** LoadBalancerProtocol+    , LoadBalancerProtocol (..)++    -- ** LoadBalancerState+    , LoadBalancerState (..)++    -- ** LoadBalancerTLSCertificateDomainStatus+    , LoadBalancerTLSCertificateDomainStatus (..)++    -- ** LoadBalancerTLSCertificateFailureReason+    , LoadBalancerTLSCertificateFailureReason (..)++    -- ** LoadBalancerTLSCertificateRenewalStatus+    , LoadBalancerTLSCertificateRenewalStatus (..)++    -- ** LoadBalancerTLSCertificateRevocationReason+    , LoadBalancerTLSCertificateRevocationReason (..)++    -- ** LoadBalancerTLSCertificateStatus+    , LoadBalancerTLSCertificateStatus (..)+     -- ** MetricStatistic     , MetricStatistic (..) @@ -284,6 +392,7 @@     -- ** Disk     , Disk     , disk+    , dState     , dResourceType     , dArn     , dPath@@ -299,6 +408,27 @@     , dAttachedTo     , dGbInUse +    -- ** DiskMap+    , DiskMap+    , diskMap+    , dmNewDiskName+    , dmOriginalDiskPath++    -- ** DiskSnapshot+    , DiskSnapshot+    , diskSnapshot+    , dsFromDiskName+    , dsState+    , dsResourceType+    , dsArn+    , dsCreatedAt+    , dsLocation+    , dsProgress+    , dsName+    , dsSizeInGb+    , dsSupportCode+    , dsFromDiskARN+     -- ** Domain     , Domain     , domain@@ -313,6 +443,7 @@     -- ** DomainEntry     , DomainEntry     , domainEntry+    , deIsAlias     , deName     , deId     , deOptions@@ -361,6 +492,13 @@     , ihDisks     , ihRamSizeInGb +    -- ** InstanceHealthSummary+    , InstanceHealthSummary+    , instanceHealthSummary+    , ihsInstanceHealth+    , ihsInstanceName+    , ihsInstanceHealthReason+     -- ** InstanceNetworking     , InstanceNetworking     , instanceNetworking@@ -392,6 +530,7 @@     , insFromBlueprintId     , insState     , insResourceType+    , insFromAttachedDisks     , insArn     , insCreatedAt     , insLocation@@ -420,6 +559,80 @@     , kpName     , kpSupportCode +    -- ** LoadBalancer+    , LoadBalancer+    , loadBalancer+    , lbHealthCheckPath+    , lbState+    , lbResourceType+    , lbArn+    , lbCreatedAt+    , lbLocation+    , lbInstancePort+    , lbConfigurationOptions+    , lbProtocol+    , lbTlsCertificateSummaries+    , lbName+    , lbSupportCode+    , lbPublicPorts+    , lbDnsName+    , lbInstanceHealthSummary++    -- ** LoadBalancerTLSCertificate+    , LoadBalancerTLSCertificate+    , loadBalancerTLSCertificate+    , lbtcFailureReason+    , lbtcSubject+    , lbtcStatus+    , lbtcSubjectAlternativeNames+    , lbtcResourceType+    , lbtcArn+    , lbtcCreatedAt+    , lbtcLocation+    , lbtcLoadBalancerName+    , lbtcSerial+    , lbtcIsAttached+    , lbtcRevokedAt+    , lbtcNotBefore+    , lbtcRevocationReason+    , lbtcDomainName+    , lbtcName+    , lbtcRenewalSummary+    , lbtcSupportCode+    , lbtcDomainValidationRecords+    , lbtcIssuedAt+    , lbtcKeyAlgorithm+    , lbtcSignatureAlgorithm+    , lbtcIssuer+    , lbtcNotAfter++    -- ** LoadBalancerTLSCertificateDomainValidationOption+    , LoadBalancerTLSCertificateDomainValidationOption+    , loadBalancerTLSCertificateDomainValidationOption+    , lbtcdvoDomainName+    , lbtcdvoValidationStatus++    -- ** LoadBalancerTLSCertificateDomainValidationRecord+    , LoadBalancerTLSCertificateDomainValidationRecord+    , loadBalancerTLSCertificateDomainValidationRecord+    , lbtcdvrValue+    , lbtcdvrDomainName+    , lbtcdvrName+    , lbtcdvrValidationStatus+    , lbtcdvrType++    -- ** LoadBalancerTLSCertificateRenewalSummary+    , LoadBalancerTLSCertificateRenewalSummary+    , loadBalancerTLSCertificateRenewalSummary+    , lbtcrsRenewalStatus+    , lbtcrsDomainValidationOptions++    -- ** LoadBalancerTLSCertificateSummary+    , LoadBalancerTLSCertificateSummary+    , loadBalancerTLSCertificateSummary+    , lbtcsIsAttached+    , lbtcsName+     -- ** MetricDatapoint     , MetricDatapoint     , metricDatapoint@@ -495,24 +708,42 @@     ) where  import Network.AWS.Lightsail.AllocateStaticIP+import Network.AWS.Lightsail.AttachDisk+import Network.AWS.Lightsail.AttachInstancesToLoadBalancer+import Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate import Network.AWS.Lightsail.AttachStaticIP import Network.AWS.Lightsail.CloseInstancePublicPorts+import Network.AWS.Lightsail.CreateDisk+import Network.AWS.Lightsail.CreateDiskFromSnapshot+import Network.AWS.Lightsail.CreateDiskSnapshot import Network.AWS.Lightsail.CreateDomain import Network.AWS.Lightsail.CreateDomainEntry import Network.AWS.Lightsail.CreateInstances import Network.AWS.Lightsail.CreateInstancesFromSnapshot import Network.AWS.Lightsail.CreateInstanceSnapshot import Network.AWS.Lightsail.CreateKeyPair+import Network.AWS.Lightsail.CreateLoadBalancer+import Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate+import Network.AWS.Lightsail.DeleteDisk+import Network.AWS.Lightsail.DeleteDiskSnapshot import Network.AWS.Lightsail.DeleteDomain import Network.AWS.Lightsail.DeleteDomainEntry import Network.AWS.Lightsail.DeleteInstance import Network.AWS.Lightsail.DeleteInstanceSnapshot import Network.AWS.Lightsail.DeleteKeyPair+import Network.AWS.Lightsail.DeleteLoadBalancer+import Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate+import Network.AWS.Lightsail.DetachDisk+import Network.AWS.Lightsail.DetachInstancesFromLoadBalancer import Network.AWS.Lightsail.DetachStaticIP import Network.AWS.Lightsail.DownloadDefaultKeyPair import Network.AWS.Lightsail.GetActiveNames import Network.AWS.Lightsail.GetBlueprints import Network.AWS.Lightsail.GetBundles+import Network.AWS.Lightsail.GetDisk+import Network.AWS.Lightsail.GetDisks+import Network.AWS.Lightsail.GetDiskSnapshot+import Network.AWS.Lightsail.GetDiskSnapshots import Network.AWS.Lightsail.GetDomain import Network.AWS.Lightsail.GetDomains import Network.AWS.Lightsail.GetInstance@@ -525,6 +756,10 @@ import Network.AWS.Lightsail.GetInstanceState import Network.AWS.Lightsail.GetKeyPair import Network.AWS.Lightsail.GetKeyPairs+import Network.AWS.Lightsail.GetLoadBalancer+import Network.AWS.Lightsail.GetLoadBalancerMetricData+import Network.AWS.Lightsail.GetLoadBalancers+import Network.AWS.Lightsail.GetLoadBalancerTLSCertificates import Network.AWS.Lightsail.GetOperation import Network.AWS.Lightsail.GetOperations import Network.AWS.Lightsail.GetOperationsForResource@@ -543,6 +778,7 @@ import Network.AWS.Lightsail.Types import Network.AWS.Lightsail.UnpeerVPC import Network.AWS.Lightsail.UpdateDomainEntry+import Network.AWS.Lightsail.UpdateLoadBalancerAttribute import Network.AWS.Lightsail.Waiters  {- $errors
gen/Network/AWS/Lightsail/AllocateStaticIP.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.AllocateStaticIP--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The name of the static IP address. asiStaticIPName :: Lens' AllocateStaticIP Text-asiStaticIPName = lens _asiStaticIPName (\ s a -> s{_asiStaticIPName = a});+asiStaticIPName = lens _asiStaticIPName (\ s a -> s{_asiStaticIPName = a})  instance AWSRequest AllocateStaticIP where         type Rs AllocateStaticIP = AllocateStaticIPResponse@@ -121,15 +121,15 @@     -> AllocateStaticIPResponse allocateStaticIPResponse pResponseStatus_ =   AllocateStaticIPResponse'-  {_asirsOperations = Nothing, _asirsResponseStatus = pResponseStatus_}+    {_asirsOperations = Nothing, _asirsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the static IP address you allocated. asirsOperations :: Lens' AllocateStaticIPResponse [Operation]-asirsOperations = lens _asirsOperations (\ s a -> s{_asirsOperations = a}) . _Default . _Coerce;+asirsOperations = lens _asirsOperations (\ s a -> s{_asirsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. asirsResponseStatus :: Lens' AllocateStaticIPResponse Int-asirsResponseStatus = lens _asirsResponseStatus (\ s a -> s{_asirsResponseStatus = a});+asirsResponseStatus = lens _asirsResponseStatus (\ s a -> s{_asirsResponseStatus = a})  instance NFData AllocateStaticIPResponse where
+ gen/Network/AWS/Lightsail/AttachDisk.hs view
@@ -0,0 +1,158 @@+{-# 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.Lightsail.AttachDisk+-- Copyright   : (c) 2013-2018 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)+--+-- Attaches a block storage disk to a running or stopped Lightsail instance and exposes it to the instance with the specified disk name.+--+--+module Network.AWS.Lightsail.AttachDisk+    (+    -- * Creating a Request+      attachDisk+    , AttachDisk+    -- * Request Lenses+    , adDiskName+    , adInstanceName+    , adDiskPath++    -- * Destructuring the Response+    , attachDiskResponse+    , AttachDiskResponse+    -- * Response Lenses+    , adrsOperations+    , adrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'attachDisk' smart constructor.+data AttachDisk = AttachDisk'+  { _adDiskName     :: !Text+  , _adInstanceName :: !Text+  , _adDiskPath     :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttachDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adDiskName' - The unique Lightsail disk name (e.g., @my-disk@ ).+--+-- * 'adInstanceName' - The name of the Lightsail instance where you want to utilize the storage disk.+--+-- * 'adDiskPath' - The disk path to expose to the instance (e.g., @/dev/xvdf@ ).+attachDisk+    :: Text -- ^ 'adDiskName'+    -> Text -- ^ 'adInstanceName'+    -> Text -- ^ 'adDiskPath'+    -> AttachDisk+attachDisk pDiskName_ pInstanceName_ pDiskPath_ =+  AttachDisk'+    { _adDiskName = pDiskName_+    , _adInstanceName = pInstanceName_+    , _adDiskPath = pDiskPath_+    }+++-- | The unique Lightsail disk name (e.g., @my-disk@ ).+adDiskName :: Lens' AttachDisk Text+adDiskName = lens _adDiskName (\ s a -> s{_adDiskName = a})++-- | The name of the Lightsail instance where you want to utilize the storage disk.+adInstanceName :: Lens' AttachDisk Text+adInstanceName = lens _adInstanceName (\ s a -> s{_adInstanceName = a})++-- | The disk path to expose to the instance (e.g., @/dev/xvdf@ ).+adDiskPath :: Lens' AttachDisk Text+adDiskPath = lens _adDiskPath (\ s a -> s{_adDiskPath = a})++instance AWSRequest AttachDisk where+        type Rs AttachDisk = AttachDiskResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 AttachDiskResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable AttachDisk where++instance NFData AttachDisk where++instance ToHeaders AttachDisk where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.AttachDisk" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON AttachDisk where+        toJSON AttachDisk'{..}+          = object+              (catMaybes+                 [Just ("diskName" .= _adDiskName),+                  Just ("instanceName" .= _adInstanceName),+                  Just ("diskPath" .= _adDiskPath)])++instance ToPath AttachDisk where+        toPath = const "/"++instance ToQuery AttachDisk where+        toQuery = const mempty++-- | /See:/ 'attachDiskResponse' smart constructor.+data AttachDiskResponse = AttachDiskResponse'+  { _adrsOperations     :: !(Maybe [Operation])+  , _adrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttachDiskResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adrsOperations' - An object describing the API operations.+--+-- * 'adrsResponseStatus' - -- | The response status code.+attachDiskResponse+    :: Int -- ^ 'adrsResponseStatus'+    -> AttachDiskResponse+attachDiskResponse pResponseStatus_ =+  AttachDiskResponse'+    {_adrsOperations = Nothing, _adrsResponseStatus = pResponseStatus_}+++-- | An object describing the API operations.+adrsOperations :: Lens' AttachDiskResponse [Operation]+adrsOperations = lens _adrsOperations (\ s a -> s{_adrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+adrsResponseStatus :: Lens' AttachDiskResponse Int+adrsResponseStatus = lens _adrsResponseStatus (\ s a -> s{_adrsResponseStatus = a})++instance NFData AttachDiskResponse where
+ gen/Network/AWS/Lightsail/AttachInstancesToLoadBalancer.hs view
@@ -0,0 +1,151 @@+{-# 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.Lightsail.AttachInstancesToLoadBalancer+-- Copyright   : (c) 2013-2018 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)+--+-- Attaches one or more Lightsail instances to a load balancer.+--+--+-- After some time, the instances are attached to the load balancer and the health check status is available.+--+module Network.AWS.Lightsail.AttachInstancesToLoadBalancer+    (+    -- * Creating a Request+      attachInstancesToLoadBalancer+    , AttachInstancesToLoadBalancer+    -- * Request Lenses+    , aitlbLoadBalancerName+    , aitlbInstanceNames++    -- * Destructuring the Response+    , attachInstancesToLoadBalancerResponse+    , AttachInstancesToLoadBalancerResponse+    -- * Response Lenses+    , aitlbrsOperations+    , aitlbrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'attachInstancesToLoadBalancer' smart constructor.+data AttachInstancesToLoadBalancer = AttachInstancesToLoadBalancer'+  { _aitlbLoadBalancerName :: !Text+  , _aitlbInstanceNames    :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttachInstancesToLoadBalancer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aitlbLoadBalancerName' - The name of the load balancer.+--+-- * 'aitlbInstanceNames' - An array of strings representing the instance name(s) you want to attach to your load balancer. An instance must be @running@ before you can attach it to your load balancer. There are no additional limits on the number of instances you can attach to your load balancer, aside from the limit of Lightsail instances you can create in your account (20).+attachInstancesToLoadBalancer+    :: Text -- ^ 'aitlbLoadBalancerName'+    -> AttachInstancesToLoadBalancer+attachInstancesToLoadBalancer pLoadBalancerName_ =+  AttachInstancesToLoadBalancer'+    {_aitlbLoadBalancerName = pLoadBalancerName_, _aitlbInstanceNames = mempty}+++-- | The name of the load balancer.+aitlbLoadBalancerName :: Lens' AttachInstancesToLoadBalancer Text+aitlbLoadBalancerName = lens _aitlbLoadBalancerName (\ s a -> s{_aitlbLoadBalancerName = a})++-- | An array of strings representing the instance name(s) you want to attach to your load balancer. An instance must be @running@ before you can attach it to your load balancer. There are no additional limits on the number of instances you can attach to your load balancer, aside from the limit of Lightsail instances you can create in your account (20).+aitlbInstanceNames :: Lens' AttachInstancesToLoadBalancer [Text]+aitlbInstanceNames = lens _aitlbInstanceNames (\ s a -> s{_aitlbInstanceNames = a}) . _Coerce++instance AWSRequest AttachInstancesToLoadBalancer+         where+        type Rs AttachInstancesToLoadBalancer =+             AttachInstancesToLoadBalancerResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 AttachInstancesToLoadBalancerResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable AttachInstancesToLoadBalancer where++instance NFData AttachInstancesToLoadBalancer where++instance ToHeaders AttachInstancesToLoadBalancer+         where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.AttachInstancesToLoadBalancer"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON AttachInstancesToLoadBalancer where+        toJSON AttachInstancesToLoadBalancer'{..}+          = object+              (catMaybes+                 [Just ("loadBalancerName" .= _aitlbLoadBalancerName),+                  Just ("instanceNames" .= _aitlbInstanceNames)])++instance ToPath AttachInstancesToLoadBalancer where+        toPath = const "/"++instance ToQuery AttachInstancesToLoadBalancer where+        toQuery = const mempty++-- | /See:/ 'attachInstancesToLoadBalancerResponse' smart constructor.+data AttachInstancesToLoadBalancerResponse = AttachInstancesToLoadBalancerResponse'+  { _aitlbrsOperations     :: !(Maybe [Operation])+  , _aitlbrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttachInstancesToLoadBalancerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aitlbrsOperations' - An object representing the API operations.+--+-- * 'aitlbrsResponseStatus' - -- | The response status code.+attachInstancesToLoadBalancerResponse+    :: Int -- ^ 'aitlbrsResponseStatus'+    -> AttachInstancesToLoadBalancerResponse+attachInstancesToLoadBalancerResponse pResponseStatus_ =+  AttachInstancesToLoadBalancerResponse'+    {_aitlbrsOperations = Nothing, _aitlbrsResponseStatus = pResponseStatus_}+++-- | An object representing the API operations.+aitlbrsOperations :: Lens' AttachInstancesToLoadBalancerResponse [Operation]+aitlbrsOperations = lens _aitlbrsOperations (\ s a -> s{_aitlbrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+aitlbrsResponseStatus :: Lens' AttachInstancesToLoadBalancerResponse Int+aitlbrsResponseStatus = lens _aitlbrsResponseStatus (\ s a -> s{_aitlbrsResponseStatus = a})++instance NFData AttachInstancesToLoadBalancerResponse+         where
+ gen/Network/AWS/Lightsail/AttachLoadBalancerTLSCertificate.hs view
@@ -0,0 +1,160 @@+{-# 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.Lightsail.AttachLoadBalancerTLSCertificate+-- Copyright   : (c) 2013-2018 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)+--+-- Attaches a Transport Layer Security (TLS) certificate to your load balancer. TLS is just an updated, more secure version of Secure Socket Layer (SSL).+--+--+-- Once you create and validate your certificate, you can attach it to your load balancer. You can also use this API to rotate the certificates on your account. Use the @AttachLoadBalancerTlsCertificate@ operation with the non-attached certificate, and it will replace the existing one and become the attached certificate.+--+module Network.AWS.Lightsail.AttachLoadBalancerTLSCertificate+    (+    -- * Creating a Request+      attachLoadBalancerTLSCertificate+    , AttachLoadBalancerTLSCertificate+    -- * Request Lenses+    , albtcLoadBalancerName+    , albtcCertificateName++    -- * Destructuring the Response+    , attachLoadBalancerTLSCertificateResponse+    , AttachLoadBalancerTLSCertificateResponse+    -- * Response Lenses+    , albtcrsOperations+    , albtcrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'attachLoadBalancerTLSCertificate' smart constructor.+data AttachLoadBalancerTLSCertificate = AttachLoadBalancerTLSCertificate'+  { _albtcLoadBalancerName :: !Text+  , _albtcCertificateName  :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttachLoadBalancerTLSCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'albtcLoadBalancerName' - The name of the load balancer to which you want to associate the SSL/TLS certificate.+--+-- * 'albtcCertificateName' - The name of your SSL/TLS certificate.+attachLoadBalancerTLSCertificate+    :: Text -- ^ 'albtcLoadBalancerName'+    -> Text -- ^ 'albtcCertificateName'+    -> AttachLoadBalancerTLSCertificate+attachLoadBalancerTLSCertificate pLoadBalancerName_ pCertificateName_ =+  AttachLoadBalancerTLSCertificate'+    { _albtcLoadBalancerName = pLoadBalancerName_+    , _albtcCertificateName = pCertificateName_+    }+++-- | The name of the load balancer to which you want to associate the SSL/TLS certificate.+albtcLoadBalancerName :: Lens' AttachLoadBalancerTLSCertificate Text+albtcLoadBalancerName = lens _albtcLoadBalancerName (\ s a -> s{_albtcLoadBalancerName = a})++-- | The name of your SSL/TLS certificate.+albtcCertificateName :: Lens' AttachLoadBalancerTLSCertificate Text+albtcCertificateName = lens _albtcCertificateName (\ s a -> s{_albtcCertificateName = a})++instance AWSRequest AttachLoadBalancerTLSCertificate+         where+        type Rs AttachLoadBalancerTLSCertificate =+             AttachLoadBalancerTLSCertificateResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 AttachLoadBalancerTLSCertificateResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable AttachLoadBalancerTLSCertificate+         where++instance NFData AttachLoadBalancerTLSCertificate+         where++instance ToHeaders AttachLoadBalancerTLSCertificate+         where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.AttachLoadBalancerTlsCertificate"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON AttachLoadBalancerTLSCertificate+         where+        toJSON AttachLoadBalancerTLSCertificate'{..}+          = object+              (catMaybes+                 [Just ("loadBalancerName" .= _albtcLoadBalancerName),+                  Just ("certificateName" .= _albtcCertificateName)])++instance ToPath AttachLoadBalancerTLSCertificate+         where+        toPath = const "/"++instance ToQuery AttachLoadBalancerTLSCertificate+         where+        toQuery = const mempty++-- | /See:/ 'attachLoadBalancerTLSCertificateResponse' smart constructor.+data AttachLoadBalancerTLSCertificateResponse = AttachLoadBalancerTLSCertificateResponse'+  { _albtcrsOperations     :: !(Maybe [Operation])+  , _albtcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttachLoadBalancerTLSCertificateResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'albtcrsOperations' - An object representing the API operations. These SSL/TLS certificates are only usable by Lightsail load balancers. You can't get the certificate and use it for another purpose.+--+-- * 'albtcrsResponseStatus' - -- | The response status code.+attachLoadBalancerTLSCertificateResponse+    :: Int -- ^ 'albtcrsResponseStatus'+    -> AttachLoadBalancerTLSCertificateResponse+attachLoadBalancerTLSCertificateResponse pResponseStatus_ =+  AttachLoadBalancerTLSCertificateResponse'+    {_albtcrsOperations = Nothing, _albtcrsResponseStatus = pResponseStatus_}+++-- | An object representing the API operations. These SSL/TLS certificates are only usable by Lightsail load balancers. You can't get the certificate and use it for another purpose.+albtcrsOperations :: Lens' AttachLoadBalancerTLSCertificateResponse [Operation]+albtcrsOperations = lens _albtcrsOperations (\ s a -> s{_albtcrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+albtcrsResponseStatus :: Lens' AttachLoadBalancerTLSCertificateResponse Int+albtcrsResponseStatus = lens _albtcrsResponseStatus (\ s a -> s{_albtcrsResponseStatus = a})++instance NFData+           AttachLoadBalancerTLSCertificateResponse+         where
gen/Network/AWS/Lightsail/AttachStaticIP.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.AttachStaticIP--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     -> AttachStaticIP attachStaticIP pStaticIPName_ pInstanceName_ =   AttachStaticIP'-  {_asipStaticIPName = pStaticIPName_, _asipInstanceName = pInstanceName_}+    {_asipStaticIPName = pStaticIPName_, _asipInstanceName = pInstanceName_}   -- | The name of the static IP. asipStaticIPName :: Lens' AttachStaticIP Text-asipStaticIPName = lens _asipStaticIPName (\ s a -> s{_asipStaticIPName = a});+asipStaticIPName = lens _asipStaticIPName (\ s a -> s{_asipStaticIPName = a})  -- | The instance name to which you want to attach the static IP address. asipInstanceName :: Lens' AttachStaticIP Text-asipInstanceName = lens _asipInstanceName (\ s a -> s{_asipInstanceName = a});+asipInstanceName = lens _asipInstanceName (\ s a -> s{_asipInstanceName = a})  instance AWSRequest AttachStaticIP where         type Rs AttachStaticIP = AttachStaticIPResponse@@ -131,15 +131,15 @@     -> AttachStaticIPResponse attachStaticIPResponse pResponseStatus_ =   AttachStaticIPResponse'-  {_asiprsOperations = Nothing, _asiprsResponseStatus = pResponseStatus_}+    {_asiprsOperations = Nothing, _asiprsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about your API operations. asiprsOperations :: Lens' AttachStaticIPResponse [Operation]-asiprsOperations = lens _asiprsOperations (\ s a -> s{_asiprsOperations = a}) . _Default . _Coerce;+asiprsOperations = lens _asiprsOperations (\ s a -> s{_asiprsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. asiprsResponseStatus :: Lens' AttachStaticIPResponse Int-asiprsResponseStatus = lens _asiprsResponseStatus (\ s a -> s{_asiprsResponseStatus = a});+asiprsResponseStatus = lens _asiprsResponseStatus (\ s a -> s{_asiprsResponseStatus = a})  instance NFData AttachStaticIPResponse where
gen/Network/AWS/Lightsail/CloseInstancePublicPorts.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.CloseInstancePublicPorts--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     -> CloseInstancePublicPorts closeInstancePublicPorts pPortInfo_ pInstanceName_ =   CloseInstancePublicPorts'-  {_cippPortInfo = pPortInfo_, _cippInstanceName = pInstanceName_}+    {_cippPortInfo = pPortInfo_, _cippInstanceName = pInstanceName_}   -- | Information about the public port you are trying to close. cippPortInfo :: Lens' CloseInstancePublicPorts PortInfo-cippPortInfo = lens _cippPortInfo (\ s a -> s{_cippPortInfo = a});+cippPortInfo = lens _cippPortInfo (\ s a -> s{_cippPortInfo = a})  -- | The name of the instance on which you're attempting to close the public ports. cippInstanceName :: Lens' CloseInstancePublicPorts Text-cippInstanceName = lens _cippInstanceName (\ s a -> s{_cippInstanceName = a});+cippInstanceName = lens _cippInstanceName (\ s a -> s{_cippInstanceName = a})  instance AWSRequest CloseInstancePublicPorts where         type Rs CloseInstancePublicPorts =@@ -132,16 +132,16 @@     -> CloseInstancePublicPortsResponse closeInstancePublicPortsResponse pResponseStatus_ =   CloseInstancePublicPortsResponse'-  {_cipprsOperation = Nothing, _cipprsResponseStatus = pResponseStatus_}+    {_cipprsOperation = Nothing, _cipprsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs that contains information about the operation. cipprsOperation :: Lens' CloseInstancePublicPortsResponse (Maybe Operation)-cipprsOperation = lens _cipprsOperation (\ s a -> s{_cipprsOperation = a});+cipprsOperation = lens _cipprsOperation (\ s a -> s{_cipprsOperation = a})  -- | -- | The response status code. cipprsResponseStatus :: Lens' CloseInstancePublicPortsResponse Int-cipprsResponseStatus = lens _cipprsResponseStatus (\ s a -> s{_cipprsResponseStatus = a});+cipprsResponseStatus = lens _cipprsResponseStatus (\ s a -> s{_cipprsResponseStatus = a})  instance NFData CloseInstancePublicPortsResponse          where
+ gen/Network/AWS/Lightsail/CreateDisk.hs view
@@ -0,0 +1,158 @@+{-# 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.Lightsail.CreateDisk+-- Copyright   : (c) 2013-2018 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 block storage disk that can be attached to a Lightsail instance in the same Availability Zone (e.g., @us-east-2a@ ). The disk is created in the regional endpoint that you send the HTTP request to. For more information, see <https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail Regions and Availability Zones in Lightsail> .+--+--+module Network.AWS.Lightsail.CreateDisk+    (+    -- * Creating a Request+      createDisk+    , CreateDisk+    -- * Request Lenses+    , cdDiskName+    , cdAvailabilityZone+    , cdSizeInGb++    -- * Destructuring the Response+    , createDiskResponse+    , CreateDiskResponse+    -- * Response Lenses+    , crsOperations+    , crsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDisk' smart constructor.+data CreateDisk = CreateDisk'+  { _cdDiskName         :: !Text+  , _cdAvailabilityZone :: !Text+  , _cdSizeInGb         :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdDiskName' - The unique Lightsail disk name (e.g., @my-disk@ ).+--+-- * 'cdAvailabilityZone' - The Availability Zone where you want to create the disk (e.g., @us-east-2a@ ). Choose the same Availability Zone as the Lightsail instance where you want to create the disk. Use the GetRegions operation to list the Availability Zones where Lightsail is currently available.+--+-- * 'cdSizeInGb' - The size of the disk in GB (e.g., @32@ ).+createDisk+    :: Text -- ^ 'cdDiskName'+    -> Text -- ^ 'cdAvailabilityZone'+    -> Int -- ^ 'cdSizeInGb'+    -> CreateDisk+createDisk pDiskName_ pAvailabilityZone_ pSizeInGb_ =+  CreateDisk'+    { _cdDiskName = pDiskName_+    , _cdAvailabilityZone = pAvailabilityZone_+    , _cdSizeInGb = pSizeInGb_+    }+++-- | The unique Lightsail disk name (e.g., @my-disk@ ).+cdDiskName :: Lens' CreateDisk Text+cdDiskName = lens _cdDiskName (\ s a -> s{_cdDiskName = a})++-- | The Availability Zone where you want to create the disk (e.g., @us-east-2a@ ). Choose the same Availability Zone as the Lightsail instance where you want to create the disk. Use the GetRegions operation to list the Availability Zones where Lightsail is currently available.+cdAvailabilityZone :: Lens' CreateDisk Text+cdAvailabilityZone = lens _cdAvailabilityZone (\ s a -> s{_cdAvailabilityZone = a})++-- | The size of the disk in GB (e.g., @32@ ).+cdSizeInGb :: Lens' CreateDisk Int+cdSizeInGb = lens _cdSizeInGb (\ s a -> s{_cdSizeInGb = a})++instance AWSRequest CreateDisk where+        type Rs CreateDisk = CreateDiskResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 CreateDiskResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable CreateDisk where++instance NFData CreateDisk where++instance ToHeaders CreateDisk where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.CreateDisk" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateDisk where+        toJSON CreateDisk'{..}+          = object+              (catMaybes+                 [Just ("diskName" .= _cdDiskName),+                  Just ("availabilityZone" .= _cdAvailabilityZone),+                  Just ("sizeInGb" .= _cdSizeInGb)])++instance ToPath CreateDisk where+        toPath = const "/"++instance ToQuery CreateDisk where+        toQuery = const mempty++-- | /See:/ 'createDiskResponse' smart constructor.+data CreateDiskResponse = CreateDiskResponse'+  { _crsOperations     :: !(Maybe [Operation])+  , _crsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDiskResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crsOperations' - An object describing the API operations.+--+-- * 'crsResponseStatus' - -- | The response status code.+createDiskResponse+    :: Int -- ^ 'crsResponseStatus'+    -> CreateDiskResponse+createDiskResponse pResponseStatus_ =+  CreateDiskResponse'+    {_crsOperations = Nothing, _crsResponseStatus = pResponseStatus_}+++-- | An object describing the API operations.+crsOperations :: Lens' CreateDiskResponse [Operation]+crsOperations = lens _crsOperations (\ s a -> s{_crsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+crsResponseStatus :: Lens' CreateDiskResponse Int+crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a})++instance NFData CreateDiskResponse where
+ gen/Network/AWS/Lightsail/CreateDiskFromSnapshot.hs view
@@ -0,0 +1,171 @@+{-# 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.Lightsail.CreateDiskFromSnapshot+-- Copyright   : (c) 2013-2018 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 block storage disk from a disk snapshot that can be attached to a Lightsail instance in the same Availability Zone (e.g., @us-east-2a@ ). The disk is created in the regional endpoint that you send the HTTP request to. For more information, see <https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail Regions and Availability Zones in Lightsail> .+--+--+module Network.AWS.Lightsail.CreateDiskFromSnapshot+    (+    -- * Creating a Request+      createDiskFromSnapshot+    , CreateDiskFromSnapshot+    -- * Request Lenses+    , cdfsDiskName+    , cdfsDiskSnapshotName+    , cdfsAvailabilityZone+    , cdfsSizeInGb++    -- * Destructuring the Response+    , createDiskFromSnapshotResponse+    , CreateDiskFromSnapshotResponse+    -- * Response Lenses+    , cdfsrsOperations+    , cdfsrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDiskFromSnapshot' smart constructor.+data CreateDiskFromSnapshot = CreateDiskFromSnapshot'+  { _cdfsDiskName         :: !Text+  , _cdfsDiskSnapshotName :: !Text+  , _cdfsAvailabilityZone :: !Text+  , _cdfsSizeInGb         :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDiskFromSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdfsDiskName' - The unique Lightsail disk name (e.g., @my-disk@ ).+--+-- * 'cdfsDiskSnapshotName' - The name of the disk snapshot (e.g., @my-snapshot@ ) from which to create the new storage disk.+--+-- * 'cdfsAvailabilityZone' - The Availability Zone where you want to create the disk (e.g., @us-east-2a@ ). Choose the same Availability Zone as the Lightsail instance where you want to create the disk. Use the GetRegions operation to list the Availability Zones where Lightsail is currently available.+--+-- * 'cdfsSizeInGb' - The size of the disk in GB (e.g., @32@ ).+createDiskFromSnapshot+    :: Text -- ^ 'cdfsDiskName'+    -> Text -- ^ 'cdfsDiskSnapshotName'+    -> Text -- ^ 'cdfsAvailabilityZone'+    -> Int -- ^ 'cdfsSizeInGb'+    -> CreateDiskFromSnapshot+createDiskFromSnapshot pDiskName_ pDiskSnapshotName_ pAvailabilityZone_ pSizeInGb_ =+  CreateDiskFromSnapshot'+    { _cdfsDiskName = pDiskName_+    , _cdfsDiskSnapshotName = pDiskSnapshotName_+    , _cdfsAvailabilityZone = pAvailabilityZone_+    , _cdfsSizeInGb = pSizeInGb_+    }+++-- | The unique Lightsail disk name (e.g., @my-disk@ ).+cdfsDiskName :: Lens' CreateDiskFromSnapshot Text+cdfsDiskName = lens _cdfsDiskName (\ s a -> s{_cdfsDiskName = a})++-- | The name of the disk snapshot (e.g., @my-snapshot@ ) from which to create the new storage disk.+cdfsDiskSnapshotName :: Lens' CreateDiskFromSnapshot Text+cdfsDiskSnapshotName = lens _cdfsDiskSnapshotName (\ s a -> s{_cdfsDiskSnapshotName = a})++-- | The Availability Zone where you want to create the disk (e.g., @us-east-2a@ ). Choose the same Availability Zone as the Lightsail instance where you want to create the disk. Use the GetRegions operation to list the Availability Zones where Lightsail is currently available.+cdfsAvailabilityZone :: Lens' CreateDiskFromSnapshot Text+cdfsAvailabilityZone = lens _cdfsAvailabilityZone (\ s a -> s{_cdfsAvailabilityZone = a})++-- | The size of the disk in GB (e.g., @32@ ).+cdfsSizeInGb :: Lens' CreateDiskFromSnapshot Int+cdfsSizeInGb = lens _cdfsSizeInGb (\ s a -> s{_cdfsSizeInGb = a})++instance AWSRequest CreateDiskFromSnapshot where+        type Rs CreateDiskFromSnapshot =+             CreateDiskFromSnapshotResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 CreateDiskFromSnapshotResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable CreateDiskFromSnapshot where++instance NFData CreateDiskFromSnapshot where++instance ToHeaders CreateDiskFromSnapshot where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.CreateDiskFromSnapshot" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateDiskFromSnapshot where+        toJSON CreateDiskFromSnapshot'{..}+          = object+              (catMaybes+                 [Just ("diskName" .= _cdfsDiskName),+                  Just ("diskSnapshotName" .= _cdfsDiskSnapshotName),+                  Just ("availabilityZone" .= _cdfsAvailabilityZone),+                  Just ("sizeInGb" .= _cdfsSizeInGb)])++instance ToPath CreateDiskFromSnapshot where+        toPath = const "/"++instance ToQuery CreateDiskFromSnapshot where+        toQuery = const mempty++-- | /See:/ 'createDiskFromSnapshotResponse' smart constructor.+data CreateDiskFromSnapshotResponse = CreateDiskFromSnapshotResponse'+  { _cdfsrsOperations     :: !(Maybe [Operation])+  , _cdfsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDiskFromSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdfsrsOperations' - An object describing the API operations.+--+-- * 'cdfsrsResponseStatus' - -- | The response status code.+createDiskFromSnapshotResponse+    :: Int -- ^ 'cdfsrsResponseStatus'+    -> CreateDiskFromSnapshotResponse+createDiskFromSnapshotResponse pResponseStatus_ =+  CreateDiskFromSnapshotResponse'+    {_cdfsrsOperations = Nothing, _cdfsrsResponseStatus = pResponseStatus_}+++-- | An object describing the API operations.+cdfsrsOperations :: Lens' CreateDiskFromSnapshotResponse [Operation]+cdfsrsOperations = lens _cdfsrsOperations (\ s a -> s{_cdfsrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+cdfsrsResponseStatus :: Lens' CreateDiskFromSnapshotResponse Int+cdfsrsResponseStatus = lens _cdfsrsResponseStatus (\ s a -> s{_cdfsrsResponseStatus = a})++instance NFData CreateDiskFromSnapshotResponse where
+ gen/Network/AWS/Lightsail/CreateDiskSnapshot.hs view
@@ -0,0 +1,149 @@+{-# 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.Lightsail.CreateDiskSnapshot+-- Copyright   : (c) 2013-2018 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 snapshot of a block storage disk. You can use snapshots for backups, to make copies of disks, and to save data before shutting down a Lightsail instance.+--+--+-- You can take a snapshot of an attached disk that is in use; however, snapshots only capture data that has been written to your disk at the time the snapshot command is issued. This may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the disk long enough to take a snapshot, your snapshot should be complete. Nevertheless, if you cannot pause all file writes to the disk, you should unmount the disk from within the Lightsail instance, issue the create disk snapshot command, and then remount the disk to ensure a consistent and complete snapshot. You may remount and use your disk while the snapshot status is pending.+--+module Network.AWS.Lightsail.CreateDiskSnapshot+    (+    -- * Creating a Request+      createDiskSnapshot+    , CreateDiskSnapshot+    -- * Request Lenses+    , cdsDiskName+    , cdsDiskSnapshotName++    -- * Destructuring the Response+    , createDiskSnapshotResponse+    , CreateDiskSnapshotResponse+    -- * Response Lenses+    , cdsrsOperations+    , cdsrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDiskSnapshot' smart constructor.+data CreateDiskSnapshot = CreateDiskSnapshot'+  { _cdsDiskName         :: !Text+  , _cdsDiskSnapshotName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDiskSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdsDiskName' - The unique name of the source disk (e.g., @my-source-disk@ ).+--+-- * 'cdsDiskSnapshotName' - The name of the destination disk snapshot (e.g., @my-disk-snapshot@ ) based on the source disk.+createDiskSnapshot+    :: Text -- ^ 'cdsDiskName'+    -> Text -- ^ 'cdsDiskSnapshotName'+    -> CreateDiskSnapshot+createDiskSnapshot pDiskName_ pDiskSnapshotName_ =+  CreateDiskSnapshot'+    {_cdsDiskName = pDiskName_, _cdsDiskSnapshotName = pDiskSnapshotName_}+++-- | The unique name of the source disk (e.g., @my-source-disk@ ).+cdsDiskName :: Lens' CreateDiskSnapshot Text+cdsDiskName = lens _cdsDiskName (\ s a -> s{_cdsDiskName = a})++-- | The name of the destination disk snapshot (e.g., @my-disk-snapshot@ ) based on the source disk.+cdsDiskSnapshotName :: Lens' CreateDiskSnapshot Text+cdsDiskSnapshotName = lens _cdsDiskSnapshotName (\ s a -> s{_cdsDiskSnapshotName = a})++instance AWSRequest CreateDiskSnapshot where+        type Rs CreateDiskSnapshot =+             CreateDiskSnapshotResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 CreateDiskSnapshotResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable CreateDiskSnapshot where++instance NFData CreateDiskSnapshot where++instance ToHeaders CreateDiskSnapshot where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.CreateDiskSnapshot" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateDiskSnapshot where+        toJSON CreateDiskSnapshot'{..}+          = object+              (catMaybes+                 [Just ("diskName" .= _cdsDiskName),+                  Just ("diskSnapshotName" .= _cdsDiskSnapshotName)])++instance ToPath CreateDiskSnapshot where+        toPath = const "/"++instance ToQuery CreateDiskSnapshot where+        toQuery = const mempty++-- | /See:/ 'createDiskSnapshotResponse' smart constructor.+data CreateDiskSnapshotResponse = CreateDiskSnapshotResponse'+  { _cdsrsOperations     :: !(Maybe [Operation])+  , _cdsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDiskSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdsrsOperations' - An object describing the API operations.+--+-- * 'cdsrsResponseStatus' - -- | The response status code.+createDiskSnapshotResponse+    :: Int -- ^ 'cdsrsResponseStatus'+    -> CreateDiskSnapshotResponse+createDiskSnapshotResponse pResponseStatus_ =+  CreateDiskSnapshotResponse'+    {_cdsrsOperations = Nothing, _cdsrsResponseStatus = pResponseStatus_}+++-- | An object describing the API operations.+cdsrsOperations :: Lens' CreateDiskSnapshotResponse [Operation]+cdsrsOperations = lens _cdsrsOperations (\ s a -> s{_cdsrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+cdsrsResponseStatus :: Lens' CreateDiskSnapshotResponse Int+cdsrsResponseStatus = lens _cdsrsResponseStatus (\ s a -> s{_cdsrsResponseStatus = a})++instance NFData CreateDiskSnapshotResponse where
gen/Network/AWS/Lightsail/CreateDomain.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.CreateDomain--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The domain name to manage (e.g., @example.com@ ). cdDomainName :: Lens' CreateDomain Text-cdDomainName = lens _cdDomainName (\ s a -> s{_cdDomainName = a});+cdDomainName = lens _cdDomainName (\ s a -> s{_cdDomainName = a})  instance AWSRequest CreateDomain where         type Rs CreateDomain = CreateDomainResponse@@ -117,15 +117,15 @@     -> CreateDomainResponse createDomainResponse pResponseStatus_ =   CreateDomainResponse'-  {_cdrsOperation = Nothing, _cdrsResponseStatus = pResponseStatus_}+    {_cdrsOperation = Nothing, _cdrsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the domain resource you created. cdrsOperation :: Lens' CreateDomainResponse (Maybe Operation)-cdrsOperation = lens _cdrsOperation (\ s a -> s{_cdrsOperation = a});+cdrsOperation = lens _cdrsOperation (\ s a -> s{_cdrsOperation = a})  -- | -- | The response status code. cdrsResponseStatus :: Lens' CreateDomainResponse Int-cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a});+cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a})  instance NFData CreateDomainResponse where
gen/Network/AWS/Lightsail/CreateDomainEntry.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.CreateDomainEntry--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     -> CreateDomainEntry createDomainEntry pDomainName_ pDomainEntry_ =   CreateDomainEntry'-  {_cdeDomainName = pDomainName_, _cdeDomainEntry = pDomainEntry_}+    {_cdeDomainName = pDomainName_, _cdeDomainEntry = pDomainEntry_}   -- | The domain name (e.g., @example.com@ ) for which you want to create the domain entry. cdeDomainName :: Lens' CreateDomainEntry Text-cdeDomainName = lens _cdeDomainName (\ s a -> s{_cdeDomainName = a});+cdeDomainName = lens _cdeDomainName (\ s a -> s{_cdeDomainName = a})  -- | An array of key-value pairs containing information about the domain entry request. cdeDomainEntry :: Lens' CreateDomainEntry DomainEntry-cdeDomainEntry = lens _cdeDomainEntry (\ s a -> s{_cdeDomainEntry = a});+cdeDomainEntry = lens _cdeDomainEntry (\ s a -> s{_cdeDomainEntry = a})  instance AWSRequest CreateDomainEntry where         type Rs CreateDomainEntry = CreateDomainEntryResponse@@ -131,15 +131,15 @@     -> CreateDomainEntryResponse createDomainEntryResponse pResponseStatus_ =   CreateDomainEntryResponse'-  {_cdersOperation = Nothing, _cdersResponseStatus = pResponseStatus_}+    {_cdersOperation = Nothing, _cdersResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the operation. cdersOperation :: Lens' CreateDomainEntryResponse (Maybe Operation)-cdersOperation = lens _cdersOperation (\ s a -> s{_cdersOperation = a});+cdersOperation = lens _cdersOperation (\ s a -> s{_cdersOperation = a})  -- | -- | The response status code. cdersResponseStatus :: Lens' CreateDomainEntryResponse Int-cdersResponseStatus = lens _cdersResponseStatus (\ s a -> s{_cdersResponseStatus = a});+cdersResponseStatus = lens _cdersResponseStatus (\ s a -> s{_cdersResponseStatus = a})  instance NFData CreateDomainEntryResponse where
gen/Network/AWS/Lightsail/CreateInstanceSnapshot.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.CreateInstanceSnapshot--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,18 +65,18 @@     -> CreateInstanceSnapshot createInstanceSnapshot pInstanceSnapshotName_ pInstanceName_ =   CreateInstanceSnapshot'-  { _cisInstanceSnapshotName = pInstanceSnapshotName_-  , _cisInstanceName = pInstanceName_-  }+    { _cisInstanceSnapshotName = pInstanceSnapshotName_+    , _cisInstanceName = pInstanceName_+    }   -- | The name for your new snapshot. cisInstanceSnapshotName :: Lens' CreateInstanceSnapshot Text-cisInstanceSnapshotName = lens _cisInstanceSnapshotName (\ s a -> s{_cisInstanceSnapshotName = a});+cisInstanceSnapshotName = lens _cisInstanceSnapshotName (\ s a -> s{_cisInstanceSnapshotName = a})  -- | The Lightsail instance on which to base your snapshot. cisInstanceName :: Lens' CreateInstanceSnapshot Text-cisInstanceName = lens _cisInstanceName (\ s a -> s{_cisInstanceName = a});+cisInstanceName = lens _cisInstanceName (\ s a -> s{_cisInstanceName = a})  instance AWSRequest CreateInstanceSnapshot where         type Rs CreateInstanceSnapshot =@@ -136,15 +136,15 @@     -> CreateInstanceSnapshotResponse createInstanceSnapshotResponse pResponseStatus_ =   CreateInstanceSnapshotResponse'-  {_cisrsOperations = Nothing, _cisrsResponseStatus = pResponseStatus_}+    {_cisrsOperations = Nothing, _cisrsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the results of your create instances snapshot request. cisrsOperations :: Lens' CreateInstanceSnapshotResponse [Operation]-cisrsOperations = lens _cisrsOperations (\ s a -> s{_cisrsOperations = a}) . _Default . _Coerce;+cisrsOperations = lens _cisrsOperations (\ s a -> s{_cisrsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. cisrsResponseStatus :: Lens' CreateInstanceSnapshotResponse Int-cisrsResponseStatus = lens _cisrsResponseStatus (\ s a -> s{_cisrsResponseStatus = a});+cisrsResponseStatus = lens _cisrsResponseStatus (\ s a -> s{_cisrsResponseStatus = a})  instance NFData CreateInstanceSnapshotResponse where
gen/Network/AWS/Lightsail/CreateInstances.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.CreateInstances--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,13 +68,13 @@ -- -- * 'ciCustomImageName' - (Deprecated) The name for your custom image. ----- * 'ciUserData' - A launch script you can create that configures a server with additional user data. For example, you might want to run @apt-get –y update@ .+-- * 'ciUserData' - A launch script you can create that configures a server with additional user data. For example, you might want to run @apt-get -y update@ . -- -- * 'ciKeyPairName' - The name of your key pair. -- -- * 'ciInstanceNames' - The names to use for your new Lightsail instances. Separate multiple values using quotation marks and commas, for example: @["MyFirstInstance","MySecondInstance"]@ ----- * 'ciAvailabilityZone' - The Availability Zone in which to create your instance. Use the following format: @us-east-1a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request.+-- * 'ciAvailabilityZone' - The Availability Zone in which to create your instance. Use the following format: @us-east-2a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request. -- -- * 'ciBlueprintId' - The ID for a virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ). Use the get blueprints operation to return a list of available images (or /blueprints/ ). --@@ -86,43 +86,43 @@     -> CreateInstances createInstances pAvailabilityZone_ pBlueprintId_ pBundleId_ =   CreateInstances'-  { _ciCustomImageName = Nothing-  , _ciUserData = Nothing-  , _ciKeyPairName = Nothing-  , _ciInstanceNames = mempty-  , _ciAvailabilityZone = pAvailabilityZone_-  , _ciBlueprintId = pBlueprintId_-  , _ciBundleId = pBundleId_-  }+    { _ciCustomImageName = Nothing+    , _ciUserData = Nothing+    , _ciKeyPairName = Nothing+    , _ciInstanceNames = mempty+    , _ciAvailabilityZone = pAvailabilityZone_+    , _ciBlueprintId = pBlueprintId_+    , _ciBundleId = pBundleId_+    }   -- | (Deprecated) The name for your custom image. ciCustomImageName :: Lens' CreateInstances (Maybe Text)-ciCustomImageName = lens _ciCustomImageName (\ s a -> s{_ciCustomImageName = a});+ciCustomImageName = lens _ciCustomImageName (\ s a -> s{_ciCustomImageName = a}) --- | A launch script you can create that configures a server with additional user data. For example, you might want to run @apt-get –y update@ .+-- | A launch script you can create that configures a server with additional user data. For example, you might want to run @apt-get -y update@ . ciUserData :: Lens' CreateInstances (Maybe Text)-ciUserData = lens _ciUserData (\ s a -> s{_ciUserData = a});+ciUserData = lens _ciUserData (\ s a -> s{_ciUserData = a})  -- | The name of your key pair. ciKeyPairName :: Lens' CreateInstances (Maybe Text)-ciKeyPairName = lens _ciKeyPairName (\ s a -> s{_ciKeyPairName = a});+ciKeyPairName = lens _ciKeyPairName (\ s a -> s{_ciKeyPairName = a})  -- | The names to use for your new Lightsail instances. Separate multiple values using quotation marks and commas, for example: @["MyFirstInstance","MySecondInstance"]@ ciInstanceNames :: Lens' CreateInstances [Text]-ciInstanceNames = lens _ciInstanceNames (\ s a -> s{_ciInstanceNames = a}) . _Coerce;+ciInstanceNames = lens _ciInstanceNames (\ s a -> s{_ciInstanceNames = a}) . _Coerce --- | The Availability Zone in which to create your instance. Use the following format: @us-east-1a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request.+-- | The Availability Zone in which to create your instance. Use the following format: @us-east-2a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request. ciAvailabilityZone :: Lens' CreateInstances Text-ciAvailabilityZone = lens _ciAvailabilityZone (\ s a -> s{_ciAvailabilityZone = a});+ciAvailabilityZone = lens _ciAvailabilityZone (\ s a -> s{_ciAvailabilityZone = a})  -- | The ID for a virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ). Use the get blueprints operation to return a list of available images (or /blueprints/ ). ciBlueprintId :: Lens' CreateInstances Text-ciBlueprintId = lens _ciBlueprintId (\ s a -> s{_ciBlueprintId = a});+ciBlueprintId = lens _ciBlueprintId (\ s a -> s{_ciBlueprintId = a})  -- | The bundle of specification information for your virtual private server (or /instance/ ), including the pricing plan (e.g., @micro_1_0@ ). ciBundleId :: Lens' CreateInstances Text-ciBundleId = lens _ciBundleId (\ s a -> s{_ciBundleId = a});+ciBundleId = lens _ciBundleId (\ s a -> s{_ciBundleId = a})  instance AWSRequest CreateInstances where         type Rs CreateInstances = CreateInstancesResponse@@ -184,15 +184,15 @@     -> CreateInstancesResponse createInstancesResponse pResponseStatus_ =   CreateInstancesResponse'-  {_cirsOperations = Nothing, _cirsResponseStatus = pResponseStatus_}+    {_cirsOperations = Nothing, _cirsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the results of your create instances request. cirsOperations :: Lens' CreateInstancesResponse [Operation]-cirsOperations = lens _cirsOperations (\ s a -> s{_cirsOperations = a}) . _Default . _Coerce;+cirsOperations = lens _cirsOperations (\ s a -> s{_cirsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. cirsResponseStatus :: Lens' CreateInstancesResponse Int-cirsResponseStatus = lens _cirsResponseStatus (\ s a -> s{_cirsResponseStatus = a});+cirsResponseStatus = lens _cirsResponseStatus (\ s a -> s{_cirsResponseStatus = a})  instance NFData CreateInstancesResponse where
gen/Network/AWS/Lightsail/CreateInstancesFromSnapshot.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.CreateInstancesFromSnapshot--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -29,6 +29,7 @@     -- * Request Lenses     , cifsUserData     , cifsKeyPairName+    , cifsAttachedDiskMapping     , cifsInstanceNames     , cifsAvailabilityZone     , cifsInstanceSnapshotName@@ -53,6 +54,7 @@ data CreateInstancesFromSnapshot = CreateInstancesFromSnapshot'   { _cifsUserData             :: !(Maybe Text)   , _cifsKeyPairName          :: !(Maybe Text)+  , _cifsAttachedDiskMapping  :: !(Maybe (Map Text [DiskMap]))   , _cifsInstanceNames        :: ![Text]   , _cifsAvailabilityZone     :: !Text   , _cifsInstanceSnapshotName :: !Text@@ -64,13 +66,15 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cifsUserData' - You can create a launch script that configures a server with additional user data. For example, @apt-get –y update@ .+-- * 'cifsUserData' - You can create a launch script that configures a server with additional user data. For example, @apt-get -y update@ . -- -- * 'cifsKeyPairName' - The name for your key pair. --+-- * 'cifsAttachedDiskMapping' - An object containing information about one or more disk mappings.+-- -- * 'cifsInstanceNames' - The names for your new instances. ----- * 'cifsAvailabilityZone' - The Availability Zone where you want to create your instances. Use the following formatting: @us-east-1a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request.+-- * 'cifsAvailabilityZone' - The Availability Zone where you want to create your instances. Use the following formatting: @us-east-2a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request. -- -- * 'cifsInstanceSnapshotName' - The name of the instance snapshot on which you are basing your new instances. Use the get instance snapshots operation to return information about your existing snapshots. --@@ -82,38 +86,43 @@     -> CreateInstancesFromSnapshot createInstancesFromSnapshot pAvailabilityZone_ pInstanceSnapshotName_ pBundleId_ =   CreateInstancesFromSnapshot'-  { _cifsUserData = Nothing-  , _cifsKeyPairName = Nothing-  , _cifsInstanceNames = mempty-  , _cifsAvailabilityZone = pAvailabilityZone_-  , _cifsInstanceSnapshotName = pInstanceSnapshotName_-  , _cifsBundleId = pBundleId_-  }+    { _cifsUserData = Nothing+    , _cifsKeyPairName = Nothing+    , _cifsAttachedDiskMapping = Nothing+    , _cifsInstanceNames = mempty+    , _cifsAvailabilityZone = pAvailabilityZone_+    , _cifsInstanceSnapshotName = pInstanceSnapshotName_+    , _cifsBundleId = pBundleId_+    }  --- | You can create a launch script that configures a server with additional user data. For example, @apt-get –y update@ .+-- | You can create a launch script that configures a server with additional user data. For example, @apt-get -y update@ . cifsUserData :: Lens' CreateInstancesFromSnapshot (Maybe Text)-cifsUserData = lens _cifsUserData (\ s a -> s{_cifsUserData = a});+cifsUserData = lens _cifsUserData (\ s a -> s{_cifsUserData = a})  -- | The name for your key pair. cifsKeyPairName :: Lens' CreateInstancesFromSnapshot (Maybe Text)-cifsKeyPairName = lens _cifsKeyPairName (\ s a -> s{_cifsKeyPairName = a});+cifsKeyPairName = lens _cifsKeyPairName (\ s a -> s{_cifsKeyPairName = a}) +-- | An object containing information about one or more disk mappings.+cifsAttachedDiskMapping :: Lens' CreateInstancesFromSnapshot (HashMap Text [DiskMap])+cifsAttachedDiskMapping = lens _cifsAttachedDiskMapping (\ s a -> s{_cifsAttachedDiskMapping = a}) . _Default . _Map+ -- | The names for your new instances. cifsInstanceNames :: Lens' CreateInstancesFromSnapshot [Text]-cifsInstanceNames = lens _cifsInstanceNames (\ s a -> s{_cifsInstanceNames = a}) . _Coerce;+cifsInstanceNames = lens _cifsInstanceNames (\ s a -> s{_cifsInstanceNames = a}) . _Coerce --- | The Availability Zone where you want to create your instances. Use the following formatting: @us-east-1a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request.+-- | The Availability Zone where you want to create your instances. Use the following formatting: @us-east-2a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request. cifsAvailabilityZone :: Lens' CreateInstancesFromSnapshot Text-cifsAvailabilityZone = lens _cifsAvailabilityZone (\ s a -> s{_cifsAvailabilityZone = a});+cifsAvailabilityZone = lens _cifsAvailabilityZone (\ s a -> s{_cifsAvailabilityZone = a})  -- | The name of the instance snapshot on which you are basing your new instances. Use the get instance snapshots operation to return information about your existing snapshots. cifsInstanceSnapshotName :: Lens' CreateInstancesFromSnapshot Text-cifsInstanceSnapshotName = lens _cifsInstanceSnapshotName (\ s a -> s{_cifsInstanceSnapshotName = a});+cifsInstanceSnapshotName = lens _cifsInstanceSnapshotName (\ s a -> s{_cifsInstanceSnapshotName = a})  -- | The bundle of specification information for your virtual private server (or /instance/ ), including the pricing plan (e.g., @micro_1_0@ ). cifsBundleId :: Lens' CreateInstancesFromSnapshot Text-cifsBundleId = lens _cifsBundleId (\ s a -> s{_cifsBundleId = a});+cifsBundleId = lens _cifsBundleId (\ s a -> s{_cifsBundleId = a})  instance AWSRequest CreateInstancesFromSnapshot where         type Rs CreateInstancesFromSnapshot =@@ -146,6 +155,8 @@               (catMaybes                  [("userData" .=) <$> _cifsUserData,                   ("keyPairName" .=) <$> _cifsKeyPairName,+                  ("attachedDiskMapping" .=) <$>+                    _cifsAttachedDiskMapping,                   Just ("instanceNames" .= _cifsInstanceNames),                   Just ("availabilityZone" .= _cifsAvailabilityZone),                   Just@@ -178,16 +189,16 @@     -> CreateInstancesFromSnapshotResponse createInstancesFromSnapshotResponse pResponseStatus_ =   CreateInstancesFromSnapshotResponse'-  {_cifsrsOperations = Nothing, _cifsrsResponseStatus = pResponseStatus_}+    {_cifsrsOperations = Nothing, _cifsrsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the results of your create instances from snapshot request. cifsrsOperations :: Lens' CreateInstancesFromSnapshotResponse [Operation]-cifsrsOperations = lens _cifsrsOperations (\ s a -> s{_cifsrsOperations = a}) . _Default . _Coerce;+cifsrsOperations = lens _cifsrsOperations (\ s a -> s{_cifsrsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. cifsrsResponseStatus :: Lens' CreateInstancesFromSnapshotResponse Int-cifsrsResponseStatus = lens _cifsrsResponseStatus (\ s a -> s{_cifsrsResponseStatus = a});+cifsrsResponseStatus = lens _cifsrsResponseStatus (\ s a -> s{_cifsrsResponseStatus = a})  instance NFData CreateInstancesFromSnapshotResponse          where
gen/Network/AWS/Lightsail/CreateKeyPair.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.CreateKeyPair--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,7 +66,7 @@  -- | The name for your new key pair. ckpKeyPairName :: Lens' CreateKeyPair Text-ckpKeyPairName = lens _ckpKeyPairName (\ s a -> s{_ckpKeyPairName = a});+ckpKeyPairName = lens _ckpKeyPairName (\ s a -> s{_ckpKeyPairName = a})  instance AWSRequest CreateKeyPair where         type Rs CreateKeyPair = CreateKeyPairResponse@@ -132,32 +132,32 @@     -> CreateKeyPairResponse createKeyPairResponse pResponseStatus_ =   CreateKeyPairResponse'-  { _ckprsKeyPair = Nothing-  , _ckprsOperation = Nothing-  , _ckprsPublicKeyBase64 = Nothing-  , _ckprsPrivateKeyBase64 = Nothing-  , _ckprsResponseStatus = pResponseStatus_-  }+    { _ckprsKeyPair = Nothing+    , _ckprsOperation = Nothing+    , _ckprsPublicKeyBase64 = Nothing+    , _ckprsPrivateKeyBase64 = Nothing+    , _ckprsResponseStatus = pResponseStatus_+    }   -- | An array of key-value pairs containing information about the new key pair you just created. ckprsKeyPair :: Lens' CreateKeyPairResponse (Maybe KeyPair)-ckprsKeyPair = lens _ckprsKeyPair (\ s a -> s{_ckprsKeyPair = a});+ckprsKeyPair = lens _ckprsKeyPair (\ s a -> s{_ckprsKeyPair = a})  -- | An array of key-value pairs containing information about the results of your create key pair request. ckprsOperation :: Lens' CreateKeyPairResponse (Maybe Operation)-ckprsOperation = lens _ckprsOperation (\ s a -> s{_ckprsOperation = a});+ckprsOperation = lens _ckprsOperation (\ s a -> s{_ckprsOperation = a})  -- | A base64-encoded public key of the @ssh-rsa@ type. ckprsPublicKeyBase64 :: Lens' CreateKeyPairResponse (Maybe Text)-ckprsPublicKeyBase64 = lens _ckprsPublicKeyBase64 (\ s a -> s{_ckprsPublicKeyBase64 = a});+ckprsPublicKeyBase64 = lens _ckprsPublicKeyBase64 (\ s a -> s{_ckprsPublicKeyBase64 = a})  -- | A base64-encoded RSA private key. ckprsPrivateKeyBase64 :: Lens' CreateKeyPairResponse (Maybe Text)-ckprsPrivateKeyBase64 = lens _ckprsPrivateKeyBase64 (\ s a -> s{_ckprsPrivateKeyBase64 = a});+ckprsPrivateKeyBase64 = lens _ckprsPrivateKeyBase64 (\ s a -> s{_ckprsPrivateKeyBase64 = a})  -- | -- | The response status code. ckprsResponseStatus :: Lens' CreateKeyPairResponse Int-ckprsResponseStatus = lens _ckprsResponseStatus (\ s a -> s{_ckprsResponseStatus = a});+ckprsResponseStatus = lens _ckprsResponseStatus (\ s a -> s{_ckprsResponseStatus = a})  instance NFData CreateKeyPairResponse where
+ gen/Network/AWS/Lightsail/CreateLoadBalancer.hs view
@@ -0,0 +1,193 @@+{-# 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.Lightsail.CreateLoadBalancer+-- Copyright   : (c) 2013-2018 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 Lightsail load balancer. To learn more about deciding whether to load balance your application, see <https://lightsail.aws.amazon.com/ls/docs/how-to/article/configure-lightsail-instances-for-load-balancing Configure your Lightsail instances for load balancing> . You can create up to 5 load balancers per AWS Region in your account.+--+--+-- When you create a load balancer, you can specify a unique name and port settings. To change additional load balancer settings, use the @UpdateLoadBalancerAttribute@ operation.+--+module Network.AWS.Lightsail.CreateLoadBalancer+    (+    -- * Creating a Request+      createLoadBalancer+    , CreateLoadBalancer+    -- * Request Lenses+    , clbHealthCheckPath+    , clbCertificateName+    , clbCertificateDomainName+    , clbCertificateAlternativeNames+    , clbLoadBalancerName+    , clbInstancePort++    -- * Destructuring the Response+    , createLoadBalancerResponse+    , CreateLoadBalancerResponse+    -- * Response Lenses+    , clbrsOperations+    , clbrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createLoadBalancer' smart constructor.+data CreateLoadBalancer = CreateLoadBalancer'+  { _clbHealthCheckPath             :: !(Maybe Text)+  , _clbCertificateName             :: !(Maybe Text)+  , _clbCertificateDomainName       :: !(Maybe Text)+  , _clbCertificateAlternativeNames :: !(Maybe [Text])+  , _clbLoadBalancerName            :: !Text+  , _clbInstancePort                :: !Nat+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateLoadBalancer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clbHealthCheckPath' - The path you provided to perform the load balancer health check. If you didn't specify a health check path, Lightsail uses the root path of your website (e.g., @"/"@ ). You may want to specify a custom health check path other than the root of your application if your home page loads slowly or has a lot of media or scripting on it.+--+-- * 'clbCertificateName' - The name of the SSL/TLS certificate. If you specify @certificateName@ , then @certificateDomainName@ is required (and vice-versa).+--+-- * 'clbCertificateDomainName' - The domain name with which your certificate is associated (e.g., @example.com@ ). If you specify @certificateDomainName@ , then @certificateName@ is required (and vice-versa).+--+-- * 'clbCertificateAlternativeNames' - The optional alternative domains and subdomains to use with your SSL/TLS certificate (e.g., @www.example.com@ , @example.com@ , @m.example.com@ , @blog.example.com@ ).+--+-- * 'clbLoadBalancerName' - The name of your load balancer.+--+-- * 'clbInstancePort' - The instance port where you're creating your load balancer.+createLoadBalancer+    :: Text -- ^ 'clbLoadBalancerName'+    -> Natural -- ^ 'clbInstancePort'+    -> CreateLoadBalancer+createLoadBalancer pLoadBalancerName_ pInstancePort_ =+  CreateLoadBalancer'+    { _clbHealthCheckPath = Nothing+    , _clbCertificateName = Nothing+    , _clbCertificateDomainName = Nothing+    , _clbCertificateAlternativeNames = Nothing+    , _clbLoadBalancerName = pLoadBalancerName_+    , _clbInstancePort = _Nat # pInstancePort_+    }+++-- | The path you provided to perform the load balancer health check. If you didn't specify a health check path, Lightsail uses the root path of your website (e.g., @"/"@ ). You may want to specify a custom health check path other than the root of your application if your home page loads slowly or has a lot of media or scripting on it.+clbHealthCheckPath :: Lens' CreateLoadBalancer (Maybe Text)+clbHealthCheckPath = lens _clbHealthCheckPath (\ s a -> s{_clbHealthCheckPath = a})++-- | The name of the SSL/TLS certificate. If you specify @certificateName@ , then @certificateDomainName@ is required (and vice-versa).+clbCertificateName :: Lens' CreateLoadBalancer (Maybe Text)+clbCertificateName = lens _clbCertificateName (\ s a -> s{_clbCertificateName = a})++-- | The domain name with which your certificate is associated (e.g., @example.com@ ). If you specify @certificateDomainName@ , then @certificateName@ is required (and vice-versa).+clbCertificateDomainName :: Lens' CreateLoadBalancer (Maybe Text)+clbCertificateDomainName = lens _clbCertificateDomainName (\ s a -> s{_clbCertificateDomainName = a})++-- | The optional alternative domains and subdomains to use with your SSL/TLS certificate (e.g., @www.example.com@ , @example.com@ , @m.example.com@ , @blog.example.com@ ).+clbCertificateAlternativeNames :: Lens' CreateLoadBalancer [Text]+clbCertificateAlternativeNames = lens _clbCertificateAlternativeNames (\ s a -> s{_clbCertificateAlternativeNames = a}) . _Default . _Coerce++-- | The name of your load balancer.+clbLoadBalancerName :: Lens' CreateLoadBalancer Text+clbLoadBalancerName = lens _clbLoadBalancerName (\ s a -> s{_clbLoadBalancerName = a})++-- | The instance port where you're creating your load balancer.+clbInstancePort :: Lens' CreateLoadBalancer Natural+clbInstancePort = lens _clbInstancePort (\ s a -> s{_clbInstancePort = a}) . _Nat++instance AWSRequest CreateLoadBalancer where+        type Rs CreateLoadBalancer =+             CreateLoadBalancerResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 CreateLoadBalancerResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable CreateLoadBalancer where++instance NFData CreateLoadBalancer where++instance ToHeaders CreateLoadBalancer where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.CreateLoadBalancer" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateLoadBalancer where+        toJSON CreateLoadBalancer'{..}+          = object+              (catMaybes+                 [("healthCheckPath" .=) <$> _clbHealthCheckPath,+                  ("certificateName" .=) <$> _clbCertificateName,+                  ("certificateDomainName" .=) <$>+                    _clbCertificateDomainName,+                  ("certificateAlternativeNames" .=) <$>+                    _clbCertificateAlternativeNames,+                  Just ("loadBalancerName" .= _clbLoadBalancerName),+                  Just ("instancePort" .= _clbInstancePort)])++instance ToPath CreateLoadBalancer where+        toPath = const "/"++instance ToQuery CreateLoadBalancer where+        toQuery = const mempty++-- | /See:/ 'createLoadBalancerResponse' smart constructor.+data CreateLoadBalancerResponse = CreateLoadBalancerResponse'+  { _clbrsOperations     :: !(Maybe [Operation])+  , _clbrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateLoadBalancerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clbrsOperations' - An object containing information about the API operations.+--+-- * 'clbrsResponseStatus' - -- | The response status code.+createLoadBalancerResponse+    :: Int -- ^ 'clbrsResponseStatus'+    -> CreateLoadBalancerResponse+createLoadBalancerResponse pResponseStatus_ =+  CreateLoadBalancerResponse'+    {_clbrsOperations = Nothing, _clbrsResponseStatus = pResponseStatus_}+++-- | An object containing information about the API operations.+clbrsOperations :: Lens' CreateLoadBalancerResponse [Operation]+clbrsOperations = lens _clbrsOperations (\ s a -> s{_clbrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+clbrsResponseStatus :: Lens' CreateLoadBalancerResponse Int+clbrsResponseStatus = lens _clbrsResponseStatus (\ s a -> s{_clbrsResponseStatus = a})++instance NFData CreateLoadBalancerResponse where
+ gen/Network/AWS/Lightsail/CreateLoadBalancerTLSCertificate.hs view
@@ -0,0 +1,184 @@+{-# 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.Lightsail.CreateLoadBalancerTLSCertificate+-- Copyright   : (c) 2013-2018 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 Lightsail load balancer TLS certificate.+--+--+-- TLS is just an updated, more secure version of Secure Socket Layer (SSL).+--+module Network.AWS.Lightsail.CreateLoadBalancerTLSCertificate+    (+    -- * Creating a Request+      createLoadBalancerTLSCertificate+    , CreateLoadBalancerTLSCertificate+    -- * Request Lenses+    , clbtcCertificateAlternativeNames+    , clbtcLoadBalancerName+    , clbtcCertificateName+    , clbtcCertificateDomainName++    -- * Destructuring the Response+    , createLoadBalancerTLSCertificateResponse+    , CreateLoadBalancerTLSCertificateResponse+    -- * Response Lenses+    , clbtcrsOperations+    , clbtcrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createLoadBalancerTLSCertificate' smart constructor.+data CreateLoadBalancerTLSCertificate = CreateLoadBalancerTLSCertificate'+  { _clbtcCertificateAlternativeNames :: !(Maybe [Text])+  , _clbtcLoadBalancerName            :: !Text+  , _clbtcCertificateName             :: !Text+  , _clbtcCertificateDomainName       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateLoadBalancerTLSCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clbtcCertificateAlternativeNames' - An array of strings listing alternative domains and subdomains for your SSL/TLS certificate. Lightsail will de-dupe the names for you. You can have a maximum of 9 alternative names (in addition to the 1 primary domain). We do not support wildcards (e.g., @*.example.com@ ).+--+-- * 'clbtcLoadBalancerName' - The load balancer name where you want to create the SSL/TLS certificate.+--+-- * 'clbtcCertificateName' - The SSL/TLS certificate name. You can have up to 10 certificates in your account at one time. Each Lightsail load balancer can have up to 2 certificates associated with it at one time. There is also an overall limit to the number of certificates that can be issue in a 365-day period. For more information, see <http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html Limits> .+--+-- * 'clbtcCertificateDomainName' - The domain name (e.g., @example.com@ ) for your SSL/TLS certificate.+createLoadBalancerTLSCertificate+    :: Text -- ^ 'clbtcLoadBalancerName'+    -> Text -- ^ 'clbtcCertificateName'+    -> Text -- ^ 'clbtcCertificateDomainName'+    -> CreateLoadBalancerTLSCertificate+createLoadBalancerTLSCertificate pLoadBalancerName_ pCertificateName_ pCertificateDomainName_ =+  CreateLoadBalancerTLSCertificate'+    { _clbtcCertificateAlternativeNames = Nothing+    , _clbtcLoadBalancerName = pLoadBalancerName_+    , _clbtcCertificateName = pCertificateName_+    , _clbtcCertificateDomainName = pCertificateDomainName_+    }+++-- | An array of strings listing alternative domains and subdomains for your SSL/TLS certificate. Lightsail will de-dupe the names for you. You can have a maximum of 9 alternative names (in addition to the 1 primary domain). We do not support wildcards (e.g., @*.example.com@ ).+clbtcCertificateAlternativeNames :: Lens' CreateLoadBalancerTLSCertificate [Text]+clbtcCertificateAlternativeNames = lens _clbtcCertificateAlternativeNames (\ s a -> s{_clbtcCertificateAlternativeNames = a}) . _Default . _Coerce++-- | The load balancer name where you want to create the SSL/TLS certificate.+clbtcLoadBalancerName :: Lens' CreateLoadBalancerTLSCertificate Text+clbtcLoadBalancerName = lens _clbtcLoadBalancerName (\ s a -> s{_clbtcLoadBalancerName = a})++-- | The SSL/TLS certificate name. You can have up to 10 certificates in your account at one time. Each Lightsail load balancer can have up to 2 certificates associated with it at one time. There is also an overall limit to the number of certificates that can be issue in a 365-day period. For more information, see <http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html Limits> .+clbtcCertificateName :: Lens' CreateLoadBalancerTLSCertificate Text+clbtcCertificateName = lens _clbtcCertificateName (\ s a -> s{_clbtcCertificateName = a})++-- | The domain name (e.g., @example.com@ ) for your SSL/TLS certificate.+clbtcCertificateDomainName :: Lens' CreateLoadBalancerTLSCertificate Text+clbtcCertificateDomainName = lens _clbtcCertificateDomainName (\ s a -> s{_clbtcCertificateDomainName = a})++instance AWSRequest CreateLoadBalancerTLSCertificate+         where+        type Rs CreateLoadBalancerTLSCertificate =+             CreateLoadBalancerTLSCertificateResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 CreateLoadBalancerTLSCertificateResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable CreateLoadBalancerTLSCertificate+         where++instance NFData CreateLoadBalancerTLSCertificate+         where++instance ToHeaders CreateLoadBalancerTLSCertificate+         where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.CreateLoadBalancerTlsCertificate"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateLoadBalancerTLSCertificate+         where+        toJSON CreateLoadBalancerTLSCertificate'{..}+          = object+              (catMaybes+                 [("certificateAlternativeNames" .=) <$>+                    _clbtcCertificateAlternativeNames,+                  Just ("loadBalancerName" .= _clbtcLoadBalancerName),+                  Just ("certificateName" .= _clbtcCertificateName),+                  Just+                    ("certificateDomainName" .=+                       _clbtcCertificateDomainName)])++instance ToPath CreateLoadBalancerTLSCertificate+         where+        toPath = const "/"++instance ToQuery CreateLoadBalancerTLSCertificate+         where+        toQuery = const mempty++-- | /See:/ 'createLoadBalancerTLSCertificateResponse' smart constructor.+data CreateLoadBalancerTLSCertificateResponse = CreateLoadBalancerTLSCertificateResponse'+  { _clbtcrsOperations     :: !(Maybe [Operation])+  , _clbtcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateLoadBalancerTLSCertificateResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clbtcrsOperations' - An object containing information about the API operations.+--+-- * 'clbtcrsResponseStatus' - -- | The response status code.+createLoadBalancerTLSCertificateResponse+    :: Int -- ^ 'clbtcrsResponseStatus'+    -> CreateLoadBalancerTLSCertificateResponse+createLoadBalancerTLSCertificateResponse pResponseStatus_ =+  CreateLoadBalancerTLSCertificateResponse'+    {_clbtcrsOperations = Nothing, _clbtcrsResponseStatus = pResponseStatus_}+++-- | An object containing information about the API operations.+clbtcrsOperations :: Lens' CreateLoadBalancerTLSCertificateResponse [Operation]+clbtcrsOperations = lens _clbtcrsOperations (\ s a -> s{_clbtcrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+clbtcrsResponseStatus :: Lens' CreateLoadBalancerTLSCertificateResponse Int+clbtcrsResponseStatus = lens _clbtcrsResponseStatus (\ s a -> s{_clbtcrsResponseStatus = a})++instance NFData+           CreateLoadBalancerTLSCertificateResponse+         where
+ gen/Network/AWS/Lightsail/DeleteDisk.hs view
@@ -0,0 +1,132 @@+{-# 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.Lightsail.DeleteDisk+-- Copyright   : (c) 2013-2018 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 the specified block storage disk. The disk must be in the @available@ state (not attached to a Lightsail instance).+--+--+module Network.AWS.Lightsail.DeleteDisk+    (+    -- * Creating a Request+      deleteDisk+    , DeleteDisk+    -- * Request Lenses+    , dDiskName++    -- * Destructuring the Response+    , deleteDiskResponse+    , DeleteDiskResponse+    -- * Response Lenses+    , drsOperations+    , drsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteDisk' smart constructor.+newtype DeleteDisk = DeleteDisk'+  { _dDiskName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dDiskName' - The unique name of the disk you want to delete (e.g., @my-disk@ ).+deleteDisk+    :: Text -- ^ 'dDiskName'+    -> DeleteDisk+deleteDisk pDiskName_ = DeleteDisk' {_dDiskName = pDiskName_}+++-- | The unique name of the disk you want to delete (e.g., @my-disk@ ).+dDiskName :: Lens' DeleteDisk Text+dDiskName = lens _dDiskName (\ s a -> s{_dDiskName = a})++instance AWSRequest DeleteDisk where+        type Rs DeleteDisk = DeleteDiskResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 DeleteDiskResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable DeleteDisk where++instance NFData DeleteDisk where++instance ToHeaders DeleteDisk where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.DeleteDisk" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteDisk where+        toJSON DeleteDisk'{..}+          = object+              (catMaybes [Just ("diskName" .= _dDiskName)])++instance ToPath DeleteDisk where+        toPath = const "/"++instance ToQuery DeleteDisk where+        toQuery = const mempty++-- | /See:/ 'deleteDiskResponse' smart constructor.+data DeleteDiskResponse = DeleteDiskResponse'+  { _drsOperations     :: !(Maybe [Operation])+  , _drsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDiskResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drsOperations' - An object describing the API operations.+--+-- * 'drsResponseStatus' - -- | The response status code.+deleteDiskResponse+    :: Int -- ^ 'drsResponseStatus'+    -> DeleteDiskResponse+deleteDiskResponse pResponseStatus_ =+  DeleteDiskResponse'+    {_drsOperations = Nothing, _drsResponseStatus = pResponseStatus_}+++-- | An object describing the API operations.+drsOperations :: Lens' DeleteDiskResponse [Operation]+drsOperations = lens _drsOperations (\ s a -> s{_drsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+drsResponseStatus :: Lens' DeleteDiskResponse Int+drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})++instance NFData DeleteDiskResponse where
+ gen/Network/AWS/Lightsail/DeleteDiskSnapshot.hs view
@@ -0,0 +1,138 @@+{-# 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.Lightsail.DeleteDiskSnapshot+-- Copyright   : (c) 2013-2018 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 the specified disk snapshot.+--+--+-- When you make periodic snapshots of a disk, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the disk.+--+module Network.AWS.Lightsail.DeleteDiskSnapshot+    (+    -- * Creating a Request+      deleteDiskSnapshot+    , DeleteDiskSnapshot+    -- * Request Lenses+    , ddsDiskSnapshotName++    -- * Destructuring the Response+    , deleteDiskSnapshotResponse+    , DeleteDiskSnapshotResponse+    -- * Response Lenses+    , ddsrsOperations+    , ddsrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteDiskSnapshot' smart constructor.+newtype DeleteDiskSnapshot = DeleteDiskSnapshot'+  { _ddsDiskSnapshotName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDiskSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddsDiskSnapshotName' - The name of the disk snapshot you want to delete (e.g., @my-disk-snapshot@ ).+deleteDiskSnapshot+    :: Text -- ^ 'ddsDiskSnapshotName'+    -> DeleteDiskSnapshot+deleteDiskSnapshot pDiskSnapshotName_ =+  DeleteDiskSnapshot' {_ddsDiskSnapshotName = pDiskSnapshotName_}+++-- | The name of the disk snapshot you want to delete (e.g., @my-disk-snapshot@ ).+ddsDiskSnapshotName :: Lens' DeleteDiskSnapshot Text+ddsDiskSnapshotName = lens _ddsDiskSnapshotName (\ s a -> s{_ddsDiskSnapshotName = a})++instance AWSRequest DeleteDiskSnapshot where+        type Rs DeleteDiskSnapshot =+             DeleteDiskSnapshotResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 DeleteDiskSnapshotResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable DeleteDiskSnapshot where++instance NFData DeleteDiskSnapshot where++instance ToHeaders DeleteDiskSnapshot where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.DeleteDiskSnapshot" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteDiskSnapshot where+        toJSON DeleteDiskSnapshot'{..}+          = object+              (catMaybes+                 [Just ("diskSnapshotName" .= _ddsDiskSnapshotName)])++instance ToPath DeleteDiskSnapshot where+        toPath = const "/"++instance ToQuery DeleteDiskSnapshot where+        toQuery = const mempty++-- | /See:/ 'deleteDiskSnapshotResponse' smart constructor.+data DeleteDiskSnapshotResponse = DeleteDiskSnapshotResponse'+  { _ddsrsOperations     :: !(Maybe [Operation])+  , _ddsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDiskSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddsrsOperations' - An object describing the API operations.+--+-- * 'ddsrsResponseStatus' - -- | The response status code.+deleteDiskSnapshotResponse+    :: Int -- ^ 'ddsrsResponseStatus'+    -> DeleteDiskSnapshotResponse+deleteDiskSnapshotResponse pResponseStatus_ =+  DeleteDiskSnapshotResponse'+    {_ddsrsOperations = Nothing, _ddsrsResponseStatus = pResponseStatus_}+++-- | An object describing the API operations.+ddsrsOperations :: Lens' DeleteDiskSnapshotResponse [Operation]+ddsrsOperations = lens _ddsrsOperations (\ s a -> s{_ddsrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+ddsrsResponseStatus :: Lens' DeleteDiskSnapshotResponse Int+ddsrsResponseStatus = lens _ddsrsResponseStatus (\ s a -> s{_ddsrsResponseStatus = a})++instance NFData DeleteDiskSnapshotResponse where
gen/Network/AWS/Lightsail/DeleteDomain.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.DeleteDomain--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -33,8 +33,8 @@     , deleteDomainResponse     , DeleteDomainResponse     -- * Response Lenses-    , ddrsOperation-    , ddrsResponseStatus+    , delrsOperation+    , delrsResponseStatus     ) where  import Network.AWS.Lens@@ -63,7 +63,7 @@  -- | The specific domain name to delete. ddDomainName :: Lens' DeleteDomain Text-ddDomainName = lens _ddDomainName (\ s a -> s{_ddDomainName = a});+ddDomainName = lens _ddDomainName (\ s a -> s{_ddDomainName = a})  instance AWSRequest DeleteDomain where         type Rs DeleteDomain = DeleteDomainResponse@@ -100,8 +100,8 @@  -- | /See:/ 'deleteDomainResponse' smart constructor. data DeleteDomainResponse = DeleteDomainResponse'-  { _ddrsOperation      :: !(Maybe Operation)-  , _ddrsResponseStatus :: !Int+  { _delrsOperation      :: !(Maybe Operation)+  , _delrsResponseStatus :: !Int   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -109,23 +109,23 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ddrsOperation' - An array of key-value pairs containing information about the results of your delete domain request.+-- * 'delrsOperation' - An array of key-value pairs containing information about the results of your delete domain request. ----- * 'ddrsResponseStatus' - -- | The response status code.+-- * 'delrsResponseStatus' - -- | The response status code. deleteDomainResponse-    :: Int -- ^ 'ddrsResponseStatus'+    :: Int -- ^ 'delrsResponseStatus'     -> DeleteDomainResponse deleteDomainResponse pResponseStatus_ =   DeleteDomainResponse'-  {_ddrsOperation = Nothing, _ddrsResponseStatus = pResponseStatus_}+    {_delrsOperation = Nothing, _delrsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the results of your delete domain request.-ddrsOperation :: Lens' DeleteDomainResponse (Maybe Operation)-ddrsOperation = lens _ddrsOperation (\ s a -> s{_ddrsOperation = a});+delrsOperation :: Lens' DeleteDomainResponse (Maybe Operation)+delrsOperation = lens _delrsOperation (\ s a -> s{_delrsOperation = a})  -- | -- | The response status code.-ddrsResponseStatus :: Lens' DeleteDomainResponse Int-ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a});+delrsResponseStatus :: Lens' DeleteDomainResponse Int+delrsResponseStatus = lens _delrsResponseStatus (\ s a -> s{_delrsResponseStatus = a})  instance NFData DeleteDomainResponse where
gen/Network/AWS/Lightsail/DeleteDomainEntry.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.DeleteDomainEntry--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     -> DeleteDomainEntry deleteDomainEntry pDomainName_ pDomainEntry_ =   DeleteDomainEntry'-  {_ddeDomainName = pDomainName_, _ddeDomainEntry = pDomainEntry_}+    {_ddeDomainName = pDomainName_, _ddeDomainEntry = pDomainEntry_}   -- | The name of the domain entry to delete. ddeDomainName :: Lens' DeleteDomainEntry Text-ddeDomainName = lens _ddeDomainName (\ s a -> s{_ddeDomainName = a});+ddeDomainName = lens _ddeDomainName (\ s a -> s{_ddeDomainName = a})  -- | An array of key-value pairs containing information about your domain entries. ddeDomainEntry :: Lens' DeleteDomainEntry DomainEntry-ddeDomainEntry = lens _ddeDomainEntry (\ s a -> s{_ddeDomainEntry = a});+ddeDomainEntry = lens _ddeDomainEntry (\ s a -> s{_ddeDomainEntry = a})  instance AWSRequest DeleteDomainEntry where         type Rs DeleteDomainEntry = DeleteDomainEntryResponse@@ -131,15 +131,15 @@     -> DeleteDomainEntryResponse deleteDomainEntryResponse pResponseStatus_ =   DeleteDomainEntryResponse'-  {_ddersOperation = Nothing, _ddersResponseStatus = pResponseStatus_}+    {_ddersOperation = Nothing, _ddersResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the results of your delete domain entry request. ddersOperation :: Lens' DeleteDomainEntryResponse (Maybe Operation)-ddersOperation = lens _ddersOperation (\ s a -> s{_ddersOperation = a});+ddersOperation = lens _ddersOperation (\ s a -> s{_ddersOperation = a})  -- | -- | The response status code. ddersResponseStatus :: Lens' DeleteDomainEntryResponse Int-ddersResponseStatus = lens _ddersResponseStatus (\ s a -> s{_ddersResponseStatus = a});+ddersResponseStatus = lens _ddersResponseStatus (\ s a -> s{_ddersResponseStatus = a})  instance NFData DeleteDomainEntryResponse where
gen/Network/AWS/Lightsail/DeleteInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.DeleteInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The name of the instance to delete. diInstanceName :: Lens' DeleteInstance Text-diInstanceName = lens _diInstanceName (\ s a -> s{_diInstanceName = a});+diInstanceName = lens _diInstanceName (\ s a -> s{_diInstanceName = a})  instance AWSRequest DeleteInstance where         type Rs DeleteInstance = DeleteInstanceResponse@@ -120,15 +120,15 @@     -> DeleteInstanceResponse deleteInstanceResponse pResponseStatus_ =   DeleteInstanceResponse'-  {_dirsOperations = Nothing, _dirsResponseStatus = pResponseStatus_}+    {_dirsOperations = Nothing, _dirsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the results of your delete instance request. dirsOperations :: Lens' DeleteInstanceResponse [Operation]-dirsOperations = lens _dirsOperations (\ s a -> s{_dirsOperations = a}) . _Default . _Coerce;+dirsOperations = lens _dirsOperations (\ s a -> s{_dirsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. dirsResponseStatus :: Lens' DeleteInstanceResponse Int-dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a});+dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a})  instance NFData DeleteInstanceResponse where
gen/Network/AWS/Lightsail/DeleteInstanceSnapshot.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.DeleteInstanceSnapshot--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The name of the snapshot to delete. disInstanceSnapshotName :: Lens' DeleteInstanceSnapshot Text-disInstanceSnapshotName = lens _disInstanceSnapshotName (\ s a -> s{_disInstanceSnapshotName = a});+disInstanceSnapshotName = lens _disInstanceSnapshotName (\ s a -> s{_disInstanceSnapshotName = a})  instance AWSRequest DeleteInstanceSnapshot where         type Rs DeleteInstanceSnapshot =@@ -124,15 +124,15 @@     -> DeleteInstanceSnapshotResponse deleteInstanceSnapshotResponse pResponseStatus_ =   DeleteInstanceSnapshotResponse'-  {_disrsOperations = Nothing, _disrsResponseStatus = pResponseStatus_}+    {_disrsOperations = Nothing, _disrsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the results of your delete instance snapshot request. disrsOperations :: Lens' DeleteInstanceSnapshotResponse [Operation]-disrsOperations = lens _disrsOperations (\ s a -> s{_disrsOperations = a}) . _Default . _Coerce;+disrsOperations = lens _disrsOperations (\ s a -> s{_disrsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. disrsResponseStatus :: Lens' DeleteInstanceSnapshotResponse Int-disrsResponseStatus = lens _disrsResponseStatus (\ s a -> s{_disrsResponseStatus = a});+disrsResponseStatus = lens _disrsResponseStatus (\ s a -> s{_disrsResponseStatus = a})  instance NFData DeleteInstanceSnapshotResponse where
gen/Network/AWS/Lightsail/DeleteKeyPair.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.DeleteKeyPair--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The name of the key pair to delete. dkpKeyPairName :: Lens' DeleteKeyPair Text-dkpKeyPairName = lens _dkpKeyPairName (\ s a -> s{_dkpKeyPairName = a});+dkpKeyPairName = lens _dkpKeyPairName (\ s a -> s{_dkpKeyPairName = a})  instance AWSRequest DeleteKeyPair where         type Rs DeleteKeyPair = DeleteKeyPairResponse@@ -117,15 +117,15 @@     -> DeleteKeyPairResponse deleteKeyPairResponse pResponseStatus_ =   DeleteKeyPairResponse'-  {_dkprsOperation = Nothing, _dkprsResponseStatus = pResponseStatus_}+    {_dkprsOperation = Nothing, _dkprsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the results of your delete key pair request. dkprsOperation :: Lens' DeleteKeyPairResponse (Maybe Operation)-dkprsOperation = lens _dkprsOperation (\ s a -> s{_dkprsOperation = a});+dkprsOperation = lens _dkprsOperation (\ s a -> s{_dkprsOperation = a})  -- | -- | The response status code. dkprsResponseStatus :: Lens' DeleteKeyPairResponse Int-dkprsResponseStatus = lens _dkprsResponseStatus (\ s a -> s{_dkprsResponseStatus = a});+dkprsResponseStatus = lens _dkprsResponseStatus (\ s a -> s{_dkprsResponseStatus = a})  instance NFData DeleteKeyPairResponse where
+ gen/Network/AWS/Lightsail/DeleteLoadBalancer.hs view
@@ -0,0 +1,136 @@+{-# 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.Lightsail.DeleteLoadBalancer+-- Copyright   : (c) 2013-2018 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 Lightsail load balancer and all its associated SSL/TLS certificates. Once the load balancer is deleted, you will need to create a new load balancer, create a new certificate, and verify domain ownership again.+--+--+module Network.AWS.Lightsail.DeleteLoadBalancer+    (+    -- * Creating a Request+      deleteLoadBalancer+    , DeleteLoadBalancer+    -- * Request Lenses+    , dlbLoadBalancerName++    -- * Destructuring the Response+    , deleteLoadBalancerResponse+    , DeleteLoadBalancerResponse+    -- * Response Lenses+    , dlbrsOperations+    , dlbrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteLoadBalancer' smart constructor.+newtype DeleteLoadBalancer = DeleteLoadBalancer'+  { _dlbLoadBalancerName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteLoadBalancer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlbLoadBalancerName' - The name of the load balancer you want to delete.+deleteLoadBalancer+    :: Text -- ^ 'dlbLoadBalancerName'+    -> DeleteLoadBalancer+deleteLoadBalancer pLoadBalancerName_ =+  DeleteLoadBalancer' {_dlbLoadBalancerName = pLoadBalancerName_}+++-- | The name of the load balancer you want to delete.+dlbLoadBalancerName :: Lens' DeleteLoadBalancer Text+dlbLoadBalancerName = lens _dlbLoadBalancerName (\ s a -> s{_dlbLoadBalancerName = a})++instance AWSRequest DeleteLoadBalancer where+        type Rs DeleteLoadBalancer =+             DeleteLoadBalancerResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 DeleteLoadBalancerResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable DeleteLoadBalancer where++instance NFData DeleteLoadBalancer where++instance ToHeaders DeleteLoadBalancer where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.DeleteLoadBalancer" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteLoadBalancer where+        toJSON DeleteLoadBalancer'{..}+          = object+              (catMaybes+                 [Just ("loadBalancerName" .= _dlbLoadBalancerName)])++instance ToPath DeleteLoadBalancer where+        toPath = const "/"++instance ToQuery DeleteLoadBalancer where+        toQuery = const mempty++-- | /See:/ 'deleteLoadBalancerResponse' smart constructor.+data DeleteLoadBalancerResponse = DeleteLoadBalancerResponse'+  { _dlbrsOperations     :: !(Maybe [Operation])+  , _dlbrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteLoadBalancerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlbrsOperations' - An object describing the API operations.+--+-- * 'dlbrsResponseStatus' - -- | The response status code.+deleteLoadBalancerResponse+    :: Int -- ^ 'dlbrsResponseStatus'+    -> DeleteLoadBalancerResponse+deleteLoadBalancerResponse pResponseStatus_ =+  DeleteLoadBalancerResponse'+    {_dlbrsOperations = Nothing, _dlbrsResponseStatus = pResponseStatus_}+++-- | An object describing the API operations.+dlbrsOperations :: Lens' DeleteLoadBalancerResponse [Operation]+dlbrsOperations = lens _dlbrsOperations (\ s a -> s{_dlbrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+dlbrsResponseStatus :: Lens' DeleteLoadBalancerResponse Int+dlbrsResponseStatus = lens _dlbrsResponseStatus (\ s a -> s{_dlbrsResponseStatus = a})++instance NFData DeleteLoadBalancerResponse where
+ gen/Network/AWS/Lightsail/DeleteLoadBalancerTLSCertificate.hs view
@@ -0,0 +1,168 @@+{-# 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.Lightsail.DeleteLoadBalancerTLSCertificate+-- Copyright   : (c) 2013-2018 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 an SSL/TLS certificate associated with a Lightsail load balancer.+--+--+module Network.AWS.Lightsail.DeleteLoadBalancerTLSCertificate+    (+    -- * Creating a Request+      deleteLoadBalancerTLSCertificate+    , DeleteLoadBalancerTLSCertificate+    -- * Request Lenses+    , dlbtcForce+    , dlbtcLoadBalancerName+    , dlbtcCertificateName++    -- * Destructuring the Response+    , deleteLoadBalancerTLSCertificateResponse+    , DeleteLoadBalancerTLSCertificateResponse+    -- * Response Lenses+    , dlbtcrsOperations+    , dlbtcrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteLoadBalancerTLSCertificate' smart constructor.+data DeleteLoadBalancerTLSCertificate = DeleteLoadBalancerTLSCertificate'+  { _dlbtcForce            :: !(Maybe Bool)+  , _dlbtcLoadBalancerName :: !Text+  , _dlbtcCertificateName  :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteLoadBalancerTLSCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlbtcForce' - When @true@ , forces the deletion of an SSL/TLS certificate. There can be two certificates associated with a Lightsail load balancer: the primary and the backup. The force parameter is required when the primary SSL/TLS certificate is in use by an instance attached to the load balancer.+--+-- * 'dlbtcLoadBalancerName' - The load balancer name.+--+-- * 'dlbtcCertificateName' - The SSL/TLS certificate name.+deleteLoadBalancerTLSCertificate+    :: Text -- ^ 'dlbtcLoadBalancerName'+    -> Text -- ^ 'dlbtcCertificateName'+    -> DeleteLoadBalancerTLSCertificate+deleteLoadBalancerTLSCertificate pLoadBalancerName_ pCertificateName_ =+  DeleteLoadBalancerTLSCertificate'+    { _dlbtcForce = Nothing+    , _dlbtcLoadBalancerName = pLoadBalancerName_+    , _dlbtcCertificateName = pCertificateName_+    }+++-- | When @true@ , forces the deletion of an SSL/TLS certificate. There can be two certificates associated with a Lightsail load balancer: the primary and the backup. The force parameter is required when the primary SSL/TLS certificate is in use by an instance attached to the load balancer.+dlbtcForce :: Lens' DeleteLoadBalancerTLSCertificate (Maybe Bool)+dlbtcForce = lens _dlbtcForce (\ s a -> s{_dlbtcForce = a})++-- | The load balancer name.+dlbtcLoadBalancerName :: Lens' DeleteLoadBalancerTLSCertificate Text+dlbtcLoadBalancerName = lens _dlbtcLoadBalancerName (\ s a -> s{_dlbtcLoadBalancerName = a})++-- | The SSL/TLS certificate name.+dlbtcCertificateName :: Lens' DeleteLoadBalancerTLSCertificate Text+dlbtcCertificateName = lens _dlbtcCertificateName (\ s a -> s{_dlbtcCertificateName = a})++instance AWSRequest DeleteLoadBalancerTLSCertificate+         where+        type Rs DeleteLoadBalancerTLSCertificate =+             DeleteLoadBalancerTLSCertificateResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 DeleteLoadBalancerTLSCertificateResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable DeleteLoadBalancerTLSCertificate+         where++instance NFData DeleteLoadBalancerTLSCertificate+         where++instance ToHeaders DeleteLoadBalancerTLSCertificate+         where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.DeleteLoadBalancerTlsCertificate"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteLoadBalancerTLSCertificate+         where+        toJSON DeleteLoadBalancerTLSCertificate'{..}+          = object+              (catMaybes+                 [("force" .=) <$> _dlbtcForce,+                  Just ("loadBalancerName" .= _dlbtcLoadBalancerName),+                  Just ("certificateName" .= _dlbtcCertificateName)])++instance ToPath DeleteLoadBalancerTLSCertificate+         where+        toPath = const "/"++instance ToQuery DeleteLoadBalancerTLSCertificate+         where+        toQuery = const mempty++-- | /See:/ 'deleteLoadBalancerTLSCertificateResponse' smart constructor.+data DeleteLoadBalancerTLSCertificateResponse = DeleteLoadBalancerTLSCertificateResponse'+  { _dlbtcrsOperations     :: !(Maybe [Operation])+  , _dlbtcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteLoadBalancerTLSCertificateResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlbtcrsOperations' - An object describing the API operations.+--+-- * 'dlbtcrsResponseStatus' - -- | The response status code.+deleteLoadBalancerTLSCertificateResponse+    :: Int -- ^ 'dlbtcrsResponseStatus'+    -> DeleteLoadBalancerTLSCertificateResponse+deleteLoadBalancerTLSCertificateResponse pResponseStatus_ =+  DeleteLoadBalancerTLSCertificateResponse'+    {_dlbtcrsOperations = Nothing, _dlbtcrsResponseStatus = pResponseStatus_}+++-- | An object describing the API operations.+dlbtcrsOperations :: Lens' DeleteLoadBalancerTLSCertificateResponse [Operation]+dlbtcrsOperations = lens _dlbtcrsOperations (\ s a -> s{_dlbtcrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+dlbtcrsResponseStatus :: Lens' DeleteLoadBalancerTLSCertificateResponse Int+dlbtcrsResponseStatus = lens _dlbtcrsResponseStatus (\ s a -> s{_dlbtcrsResponseStatus = a})++instance NFData+           DeleteLoadBalancerTLSCertificateResponse+         where
+ gen/Network/AWS/Lightsail/DetachDisk.hs view
@@ -0,0 +1,132 @@+{-# 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.Lightsail.DetachDisk+-- Copyright   : (c) 2013-2018 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)+--+-- Detaches a stopped block storage disk from a Lightsail instance. Make sure to unmount any file systems on the device within your operating system before stopping the instance and detaching the disk.+--+--+module Network.AWS.Lightsail.DetachDisk+    (+    -- * Creating a Request+      detachDisk+    , DetachDisk+    -- * Request Lenses+    , ddDiskName++    -- * Destructuring the Response+    , detachDiskResponse+    , DetachDiskResponse+    -- * Response Lenses+    , ddrsOperations+    , ddrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'detachDisk' smart constructor.+newtype DetachDisk = DetachDisk'+  { _ddDiskName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DetachDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddDiskName' - The unique name of the disk you want to detach from your instance (e.g., @my-disk@ ).+detachDisk+    :: Text -- ^ 'ddDiskName'+    -> DetachDisk+detachDisk pDiskName_ = DetachDisk' {_ddDiskName = pDiskName_}+++-- | The unique name of the disk you want to detach from your instance (e.g., @my-disk@ ).+ddDiskName :: Lens' DetachDisk Text+ddDiskName = lens _ddDiskName (\ s a -> s{_ddDiskName = a})++instance AWSRequest DetachDisk where+        type Rs DetachDisk = DetachDiskResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 DetachDiskResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable DetachDisk where++instance NFData DetachDisk where++instance ToHeaders DetachDisk where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.DetachDisk" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DetachDisk where+        toJSON DetachDisk'{..}+          = object+              (catMaybes [Just ("diskName" .= _ddDiskName)])++instance ToPath DetachDisk where+        toPath = const "/"++instance ToQuery DetachDisk where+        toQuery = const mempty++-- | /See:/ 'detachDiskResponse' smart constructor.+data DetachDiskResponse = DetachDiskResponse'+  { _ddrsOperations     :: !(Maybe [Operation])+  , _ddrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DetachDiskResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddrsOperations' - An object describing the API operations.+--+-- * 'ddrsResponseStatus' - -- | The response status code.+detachDiskResponse+    :: Int -- ^ 'ddrsResponseStatus'+    -> DetachDiskResponse+detachDiskResponse pResponseStatus_ =+  DetachDiskResponse'+    {_ddrsOperations = Nothing, _ddrsResponseStatus = pResponseStatus_}+++-- | An object describing the API operations.+ddrsOperations :: Lens' DetachDiskResponse [Operation]+ddrsOperations = lens _ddrsOperations (\ s a -> s{_ddrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+ddrsResponseStatus :: Lens' DetachDiskResponse Int+ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a})++instance NFData DetachDiskResponse where
+ gen/Network/AWS/Lightsail/DetachInstancesFromLoadBalancer.hs view
@@ -0,0 +1,154 @@+{-# 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.Lightsail.DetachInstancesFromLoadBalancer+-- Copyright   : (c) 2013-2018 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)+--+-- Detaches the specified instances from a Lightsail load balancer.+--+--+-- This operation waits until the instances are no longer needed before they are detached from the load balancer.+--+module Network.AWS.Lightsail.DetachInstancesFromLoadBalancer+    (+    -- * Creating a Request+      detachInstancesFromLoadBalancer+    , DetachInstancesFromLoadBalancer+    -- * Request Lenses+    , diflbLoadBalancerName+    , diflbInstanceNames++    -- * Destructuring the Response+    , detachInstancesFromLoadBalancerResponse+    , DetachInstancesFromLoadBalancerResponse+    -- * Response Lenses+    , diflbrsOperations+    , diflbrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'detachInstancesFromLoadBalancer' smart constructor.+data DetachInstancesFromLoadBalancer = DetachInstancesFromLoadBalancer'+  { _diflbLoadBalancerName :: !Text+  , _diflbInstanceNames    :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DetachInstancesFromLoadBalancer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diflbLoadBalancerName' - The name of the Lightsail load balancer.+--+-- * 'diflbInstanceNames' - An array of strings containing the names of the instances you want to detach from the load balancer.+detachInstancesFromLoadBalancer+    :: Text -- ^ 'diflbLoadBalancerName'+    -> DetachInstancesFromLoadBalancer+detachInstancesFromLoadBalancer pLoadBalancerName_ =+  DetachInstancesFromLoadBalancer'+    {_diflbLoadBalancerName = pLoadBalancerName_, _diflbInstanceNames = mempty}+++-- | The name of the Lightsail load balancer.+diflbLoadBalancerName :: Lens' DetachInstancesFromLoadBalancer Text+diflbLoadBalancerName = lens _diflbLoadBalancerName (\ s a -> s{_diflbLoadBalancerName = a})++-- | An array of strings containing the names of the instances you want to detach from the load balancer.+diflbInstanceNames :: Lens' DetachInstancesFromLoadBalancer [Text]+diflbInstanceNames = lens _diflbInstanceNames (\ s a -> s{_diflbInstanceNames = a}) . _Coerce++instance AWSRequest DetachInstancesFromLoadBalancer+         where+        type Rs DetachInstancesFromLoadBalancer =+             DetachInstancesFromLoadBalancerResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 DetachInstancesFromLoadBalancerResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable DetachInstancesFromLoadBalancer+         where++instance NFData DetachInstancesFromLoadBalancer where++instance ToHeaders DetachInstancesFromLoadBalancer+         where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.DetachInstancesFromLoadBalancer"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DetachInstancesFromLoadBalancer where+        toJSON DetachInstancesFromLoadBalancer'{..}+          = object+              (catMaybes+                 [Just ("loadBalancerName" .= _diflbLoadBalancerName),+                  Just ("instanceNames" .= _diflbInstanceNames)])++instance ToPath DetachInstancesFromLoadBalancer where+        toPath = const "/"++instance ToQuery DetachInstancesFromLoadBalancer+         where+        toQuery = const mempty++-- | /See:/ 'detachInstancesFromLoadBalancerResponse' smart constructor.+data DetachInstancesFromLoadBalancerResponse = DetachInstancesFromLoadBalancerResponse'+  { _diflbrsOperations     :: !(Maybe [Operation])+  , _diflbrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DetachInstancesFromLoadBalancerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diflbrsOperations' - An object describing the API operations.+--+-- * 'diflbrsResponseStatus' - -- | The response status code.+detachInstancesFromLoadBalancerResponse+    :: Int -- ^ 'diflbrsResponseStatus'+    -> DetachInstancesFromLoadBalancerResponse+detachInstancesFromLoadBalancerResponse pResponseStatus_ =+  DetachInstancesFromLoadBalancerResponse'+    {_diflbrsOperations = Nothing, _diflbrsResponseStatus = pResponseStatus_}+++-- | An object describing the API operations.+diflbrsOperations :: Lens' DetachInstancesFromLoadBalancerResponse [Operation]+diflbrsOperations = lens _diflbrsOperations (\ s a -> s{_diflbrsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+diflbrsResponseStatus :: Lens' DetachInstancesFromLoadBalancerResponse Int+diflbrsResponseStatus = lens _diflbrsResponseStatus (\ s a -> s{_diflbrsResponseStatus = a})++instance NFData+           DetachInstancesFromLoadBalancerResponse+         where
gen/Network/AWS/Lightsail/DetachStaticIP.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.DetachStaticIP--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The name of the static IP to detach from the instance. dsiStaticIPName :: Lens' DetachStaticIP Text-dsiStaticIPName = lens _dsiStaticIPName (\ s a -> s{_dsiStaticIPName = a});+dsiStaticIPName = lens _dsiStaticIPName (\ s a -> s{_dsiStaticIPName = a})  instance AWSRequest DetachStaticIP where         type Rs DetachStaticIP = DetachStaticIPResponse@@ -120,15 +120,15 @@     -> DetachStaticIPResponse detachStaticIPResponse pResponseStatus_ =   DetachStaticIPResponse'-  {_dsirsOperations = Nothing, _dsirsResponseStatus = pResponseStatus_}+    {_dsirsOperations = Nothing, _dsirsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the results of your detach static IP request. dsirsOperations :: Lens' DetachStaticIPResponse [Operation]-dsirsOperations = lens _dsirsOperations (\ s a -> s{_dsirsOperations = a}) . _Default . _Coerce;+dsirsOperations = lens _dsirsOperations (\ s a -> s{_dsirsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. dsirsResponseStatus :: Lens' DetachStaticIPResponse Int-dsirsResponseStatus = lens _dsirsResponseStatus (\ s a -> s{_dsirsResponseStatus = a});+dsirsResponseStatus = lens _dsirsResponseStatus (\ s a -> s{_dsirsResponseStatus = a})  instance NFData DetachStaticIPResponse where
gen/Network/AWS/Lightsail/DownloadDefaultKeyPair.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.DownloadDefaultKeyPair--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -113,22 +113,22 @@     -> DownloadDefaultKeyPairResponse downloadDefaultKeyPairResponse pResponseStatus_ =   DownloadDefaultKeyPairResponse'-  { _ddkprsPublicKeyBase64 = Nothing-  , _ddkprsPrivateKeyBase64 = Nothing-  , _ddkprsResponseStatus = pResponseStatus_-  }+    { _ddkprsPublicKeyBase64 = Nothing+    , _ddkprsPrivateKeyBase64 = Nothing+    , _ddkprsResponseStatus = pResponseStatus_+    }   -- | A base64-encoded public key of the @ssh-rsa@ type. ddkprsPublicKeyBase64 :: Lens' DownloadDefaultKeyPairResponse (Maybe Text)-ddkprsPublicKeyBase64 = lens _ddkprsPublicKeyBase64 (\ s a -> s{_ddkprsPublicKeyBase64 = a});+ddkprsPublicKeyBase64 = lens _ddkprsPublicKeyBase64 (\ s a -> s{_ddkprsPublicKeyBase64 = a})  -- | A base64-encoded RSA private key. ddkprsPrivateKeyBase64 :: Lens' DownloadDefaultKeyPairResponse (Maybe Text)-ddkprsPrivateKeyBase64 = lens _ddkprsPrivateKeyBase64 (\ s a -> s{_ddkprsPrivateKeyBase64 = a});+ddkprsPrivateKeyBase64 = lens _ddkprsPrivateKeyBase64 (\ s a -> s{_ddkprsPrivateKeyBase64 = a})  -- | -- | The response status code. ddkprsResponseStatus :: Lens' DownloadDefaultKeyPairResponse Int-ddkprsResponseStatus = lens _ddkprsResponseStatus (\ s a -> s{_ddkprsResponseStatus = a});+ddkprsResponseStatus = lens _ddkprsResponseStatus (\ s a -> s{_ddkprsResponseStatus = a})  instance NFData DownloadDefaultKeyPairResponse where
gen/Network/AWS/Lightsail/GetActiveNames.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetActiveNames--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,7 +66,7 @@  -- | A token used for paginating results from your get active names request. ganPageToken :: Lens' GetActiveNames (Maybe Text)-ganPageToken = lens _ganPageToken (\ s a -> s{_ganPageToken = a});+ganPageToken = lens _ganPageToken (\ s a -> s{_ganPageToken = a})  instance AWSPager GetActiveNames where         page rq rs@@ -132,22 +132,22 @@     -> GetActiveNamesResponse getActiveNamesResponse pResponseStatus_ =   GetActiveNamesResponse'-  { _ganrsNextPageToken = Nothing-  , _ganrsActiveNames = Nothing-  , _ganrsResponseStatus = pResponseStatus_-  }+    { _ganrsNextPageToken = Nothing+    , _ganrsActiveNames = Nothing+    , _ganrsResponseStatus = pResponseStatus_+    }   -- | A token used for advancing to the next page of results from your get active names request. ganrsNextPageToken :: Lens' GetActiveNamesResponse (Maybe Text)-ganrsNextPageToken = lens _ganrsNextPageToken (\ s a -> s{_ganrsNextPageToken = a});+ganrsNextPageToken = lens _ganrsNextPageToken (\ s a -> s{_ganrsNextPageToken = a})  -- | The list of active names returned by the get active names request. ganrsActiveNames :: Lens' GetActiveNamesResponse [Text]-ganrsActiveNames = lens _ganrsActiveNames (\ s a -> s{_ganrsActiveNames = a}) . _Default . _Coerce;+ganrsActiveNames = lens _ganrsActiveNames (\ s a -> s{_ganrsActiveNames = a}) . _Default . _Coerce  -- | -- | The response status code. ganrsResponseStatus :: Lens' GetActiveNamesResponse Int-ganrsResponseStatus = lens _ganrsResponseStatus (\ s a -> s{_ganrsResponseStatus = a});+ganrsResponseStatus = lens _ganrsResponseStatus (\ s a -> s{_ganrsResponseStatus = a})  instance NFData GetActiveNamesResponse where
gen/Network/AWS/Lightsail/GetBlueprints.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetBlueprints--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -71,11 +71,11 @@  -- | A Boolean value indicating whether to include inactive results in your request. gbIncludeInactive :: Lens' GetBlueprints (Maybe Bool)-gbIncludeInactive = lens _gbIncludeInactive (\ s a -> s{_gbIncludeInactive = a});+gbIncludeInactive = lens _gbIncludeInactive (\ s a -> s{_gbIncludeInactive = a})  -- | A token used for advancing to the next page of results from your get blueprints request. gbPageToken :: Lens' GetBlueprints (Maybe Text)-gbPageToken = lens _gbPageToken (\ s a -> s{_gbPageToken = a});+gbPageToken = lens _gbPageToken (\ s a -> s{_gbPageToken = a})  instance AWSPager GetBlueprints where         page rq rs@@ -143,22 +143,22 @@     -> GetBlueprintsResponse getBlueprintsResponse pResponseStatus_ =   GetBlueprintsResponse'-  { _gbsrsBlueprints = Nothing-  , _gbsrsNextPageToken = Nothing-  , _gbsrsResponseStatus = pResponseStatus_-  }+    { _gbsrsBlueprints = Nothing+    , _gbsrsNextPageToken = Nothing+    , _gbsrsResponseStatus = pResponseStatus_+    }   -- | An array of key-value pairs that contains information about the available blueprints. gbsrsBlueprints :: Lens' GetBlueprintsResponse [Blueprint]-gbsrsBlueprints = lens _gbsrsBlueprints (\ s a -> s{_gbsrsBlueprints = a}) . _Default . _Coerce;+gbsrsBlueprints = lens _gbsrsBlueprints (\ s a -> s{_gbsrsBlueprints = a}) . _Default . _Coerce  -- | A token used for advancing to the next page of results from your get blueprints request. gbsrsNextPageToken :: Lens' GetBlueprintsResponse (Maybe Text)-gbsrsNextPageToken = lens _gbsrsNextPageToken (\ s a -> s{_gbsrsNextPageToken = a});+gbsrsNextPageToken = lens _gbsrsNextPageToken (\ s a -> s{_gbsrsNextPageToken = a})  -- | -- | The response status code. gbsrsResponseStatus :: Lens' GetBlueprintsResponse Int-gbsrsResponseStatus = lens _gbsrsResponseStatus (\ s a -> s{_gbsrsResponseStatus = a});+gbsrsResponseStatus = lens _gbsrsResponseStatus (\ s a -> s{_gbsrsResponseStatus = a})  instance NFData GetBlueprintsResponse where
gen/Network/AWS/Lightsail/GetBundles.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetBundles--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -29,8 +29,8 @@       getBundles     , GetBundles     -- * Request Lenses-    , gIncludeInactive-    , gPageToken+    , gbsIncludeInactive+    , gbsPageToken      -- * Destructuring the Response     , getBundlesResponse@@ -51,8 +51,8 @@  -- | /See:/ 'getBundles' smart constructor. data GetBundles = GetBundles'-  { _gIncludeInactive :: !(Maybe Bool)-  , _gPageToken       :: !(Maybe Text)+  { _gbsIncludeInactive :: !(Maybe Bool)+  , _gbsPageToken       :: !(Maybe Text)   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -60,28 +60,29 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gIncludeInactive' - A Boolean value that indicates whether to include inactive bundle results in your request.+-- * 'gbsIncludeInactive' - A Boolean value that indicates whether to include inactive bundle results in your request. ----- * 'gPageToken' - A token used for advancing to the next page of results from your get bundles request.+-- * 'gbsPageToken' - A token used for advancing to the next page of results from your get bundles request. getBundles     :: GetBundles-getBundles = GetBundles' {_gIncludeInactive = Nothing, _gPageToken = Nothing}+getBundles =+  GetBundles' {_gbsIncludeInactive = Nothing, _gbsPageToken = Nothing}   -- | A Boolean value that indicates whether to include inactive bundle results in your request.-gIncludeInactive :: Lens' GetBundles (Maybe Bool)-gIncludeInactive = lens _gIncludeInactive (\ s a -> s{_gIncludeInactive = a});+gbsIncludeInactive :: Lens' GetBundles (Maybe Bool)+gbsIncludeInactive = lens _gbsIncludeInactive (\ s a -> s{_gbsIncludeInactive = a})  -- | A token used for advancing to the next page of results from your get bundles request.-gPageToken :: Lens' GetBundles (Maybe Text)-gPageToken = lens _gPageToken (\ s a -> s{_gPageToken = a});+gbsPageToken :: Lens' GetBundles (Maybe Text)+gbsPageToken = lens _gbsPageToken (\ s a -> s{_gbsPageToken = a})  instance AWSPager GetBundles where         page rq rs           | stop (rs ^. gbrsNextPageToken) = Nothing           | stop (rs ^. gbrsBundles) = Nothing           | otherwise =-            Just $ rq & gPageToken .~ rs ^. gbrsNextPageToken+            Just $ rq & gbsPageToken .~ rs ^. gbrsNextPageToken  instance AWSRequest GetBundles where         type Rs GetBundles = GetBundlesResponse@@ -111,8 +112,8 @@         toJSON GetBundles'{..}           = object               (catMaybes-                 [("includeInactive" .=) <$> _gIncludeInactive,-                  ("pageToken" .=) <$> _gPageToken])+                 [("includeInactive" .=) <$> _gbsIncludeInactive,+                  ("pageToken" .=) <$> _gbsPageToken])  instance ToPath GetBundles where         toPath = const "/"@@ -142,22 +143,22 @@     -> GetBundlesResponse getBundlesResponse pResponseStatus_ =   GetBundlesResponse'-  { _gbrsNextPageToken = Nothing-  , _gbrsBundles = Nothing-  , _gbrsResponseStatus = pResponseStatus_-  }+    { _gbrsNextPageToken = Nothing+    , _gbrsBundles = Nothing+    , _gbrsResponseStatus = pResponseStatus_+    }   -- | A token used for advancing to the next page of results from your get active names request. gbrsNextPageToken :: Lens' GetBundlesResponse (Maybe Text)-gbrsNextPageToken = lens _gbrsNextPageToken (\ s a -> s{_gbrsNextPageToken = a});+gbrsNextPageToken = lens _gbrsNextPageToken (\ s a -> s{_gbrsNextPageToken = a})  -- | An array of key-value pairs that contains information about the available bundles. gbrsBundles :: Lens' GetBundlesResponse [Bundle]-gbrsBundles = lens _gbrsBundles (\ s a -> s{_gbrsBundles = a}) . _Default . _Coerce;+gbrsBundles = lens _gbrsBundles (\ s a -> s{_gbrsBundles = a}) . _Default . _Coerce  -- | -- | The response status code. gbrsResponseStatus :: Lens' GetBundlesResponse Int-gbrsResponseStatus = lens _gbrsResponseStatus (\ s a -> s{_gbrsResponseStatus = a});+gbrsResponseStatus = lens _gbrsResponseStatus (\ s a -> s{_gbrsResponseStatus = a})  instance NFData GetBundlesResponse where
+ gen/Network/AWS/Lightsail/GetDisk.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.Lightsail.GetDisk+-- Copyright   : (c) 2013-2018 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 specific block storage disk.+--+--+module Network.AWS.Lightsail.GetDisk+    (+    -- * Creating a Request+      getDisk+    , GetDisk+    -- * Request Lenses+    , gdDiskName++    -- * Destructuring the Response+    , getDiskResponse+    , GetDiskResponse+    -- * Response Lenses+    , getrsDisk+    , getrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDisk' smart constructor.+newtype GetDisk = GetDisk'+  { _gdDiskName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdDiskName' - The name of the disk (e.g., @my-disk@ ).+getDisk+    :: Text -- ^ 'gdDiskName'+    -> GetDisk+getDisk pDiskName_ = GetDisk' {_gdDiskName = pDiskName_}+++-- | The name of the disk (e.g., @my-disk@ ).+gdDiskName :: Lens' GetDisk Text+gdDiskName = lens _gdDiskName (\ s a -> s{_gdDiskName = a})++instance AWSRequest GetDisk where+        type Rs GetDisk = GetDiskResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 GetDiskResponse' <$>+                   (x .?> "disk") <*> (pure (fromEnum s)))++instance Hashable GetDisk where++instance NFData GetDisk where++instance ToHeaders GetDisk where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.GetDisk" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDisk where+        toJSON GetDisk'{..}+          = object+              (catMaybes [Just ("diskName" .= _gdDiskName)])++instance ToPath GetDisk where+        toPath = const "/"++instance ToQuery GetDisk where+        toQuery = const mempty++-- | /See:/ 'getDiskResponse' smart constructor.+data GetDiskResponse = GetDiskResponse'+  { _getrsDisk           :: !(Maybe Disk)+  , _getrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDiskResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'getrsDisk' - An object containing information about the disk.+--+-- * 'getrsResponseStatus' - -- | The response status code.+getDiskResponse+    :: Int -- ^ 'getrsResponseStatus'+    -> GetDiskResponse+getDiskResponse pResponseStatus_ =+  GetDiskResponse'+    {_getrsDisk = Nothing, _getrsResponseStatus = pResponseStatus_}+++-- | An object containing information about the disk.+getrsDisk :: Lens' GetDiskResponse (Maybe Disk)+getrsDisk = lens _getrsDisk (\ s a -> s{_getrsDisk = a})++-- | -- | The response status code.+getrsResponseStatus :: Lens' GetDiskResponse Int+getrsResponseStatus = lens _getrsResponseStatus (\ s a -> s{_getrsResponseStatus = a})++instance NFData GetDiskResponse where
+ gen/Network/AWS/Lightsail/GetDiskSnapshot.hs view
@@ -0,0 +1,133 @@+{-# 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.Lightsail.GetDiskSnapshot+-- Copyright   : (c) 2013-2018 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 specific block storage disk snapshot.+--+--+module Network.AWS.Lightsail.GetDiskSnapshot+    (+    -- * Creating a Request+      getDiskSnapshot+    , GetDiskSnapshot+    -- * Request Lenses+    , gdsDiskSnapshotName++    -- * Destructuring the Response+    , getDiskSnapshotResponse+    , GetDiskSnapshotResponse+    -- * Response Lenses+    , gdsrsDiskSnapshot+    , gdsrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDiskSnapshot' smart constructor.+newtype GetDiskSnapshot = GetDiskSnapshot'+  { _gdsDiskSnapshotName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDiskSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdsDiskSnapshotName' - The name of the disk snapshot (e.g., @my-disk-snapshot@ ).+getDiskSnapshot+    :: Text -- ^ 'gdsDiskSnapshotName'+    -> GetDiskSnapshot+getDiskSnapshot pDiskSnapshotName_ =+  GetDiskSnapshot' {_gdsDiskSnapshotName = pDiskSnapshotName_}+++-- | The name of the disk snapshot (e.g., @my-disk-snapshot@ ).+gdsDiskSnapshotName :: Lens' GetDiskSnapshot Text+gdsDiskSnapshotName = lens _gdsDiskSnapshotName (\ s a -> s{_gdsDiskSnapshotName = a})++instance AWSRequest GetDiskSnapshot where+        type Rs GetDiskSnapshot = GetDiskSnapshotResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 GetDiskSnapshotResponse' <$>+                   (x .?> "diskSnapshot") <*> (pure (fromEnum s)))++instance Hashable GetDiskSnapshot where++instance NFData GetDiskSnapshot where++instance ToHeaders GetDiskSnapshot where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.GetDiskSnapshot" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDiskSnapshot where+        toJSON GetDiskSnapshot'{..}+          = object+              (catMaybes+                 [Just ("diskSnapshotName" .= _gdsDiskSnapshotName)])++instance ToPath GetDiskSnapshot where+        toPath = const "/"++instance ToQuery GetDiskSnapshot where+        toQuery = const mempty++-- | /See:/ 'getDiskSnapshotResponse' smart constructor.+data GetDiskSnapshotResponse = GetDiskSnapshotResponse'+  { _gdsrsDiskSnapshot   :: !(Maybe DiskSnapshot)+  , _gdsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDiskSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdsrsDiskSnapshot' - An object containing information about the disk snapshot.+--+-- * 'gdsrsResponseStatus' - -- | The response status code.+getDiskSnapshotResponse+    :: Int -- ^ 'gdsrsResponseStatus'+    -> GetDiskSnapshotResponse+getDiskSnapshotResponse pResponseStatus_ =+  GetDiskSnapshotResponse'+    {_gdsrsDiskSnapshot = Nothing, _gdsrsResponseStatus = pResponseStatus_}+++-- | An object containing information about the disk snapshot.+gdsrsDiskSnapshot :: Lens' GetDiskSnapshotResponse (Maybe DiskSnapshot)+gdsrsDiskSnapshot = lens _gdsrsDiskSnapshot (\ s a -> s{_gdsrsDiskSnapshot = a})++-- | -- | The response status code.+gdsrsResponseStatus :: Lens' GetDiskSnapshotResponse Int+gdsrsResponseStatus = lens _gdsrsResponseStatus (\ s a -> s{_gdsrsResponseStatus = a})++instance NFData GetDiskSnapshotResponse where
+ gen/Network/AWS/Lightsail/GetDiskSnapshots.hs view
@@ -0,0 +1,146 @@+{-# 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.Lightsail.GetDiskSnapshots+-- Copyright   : (c) 2013-2018 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 all block storage disk snapshots in your AWS account and region.+--+--+-- If you are describing a long list of disk snapshots, you can paginate the output to make the list more manageable. You can use the pageToken and nextPageToken values to retrieve the next items in the list.+--+module Network.AWS.Lightsail.GetDiskSnapshots+    (+    -- * Creating a Request+      getDiskSnapshots+    , GetDiskSnapshots+    -- * Request Lenses+    , gdsPageToken++    -- * Destructuring the Response+    , getDiskSnapshotsResponse+    , GetDiskSnapshotsResponse+    -- * Response Lenses+    , gdssrsNextPageToken+    , gdssrsDiskSnapshots+    , gdssrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDiskSnapshots' smart constructor.+newtype GetDiskSnapshots = GetDiskSnapshots'+  { _gdsPageToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDiskSnapshots' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdsPageToken' - A token used for advancing to the next page of results from your GetDiskSnapshots request.+getDiskSnapshots+    :: GetDiskSnapshots+getDiskSnapshots = GetDiskSnapshots' {_gdsPageToken = Nothing}+++-- | A token used for advancing to the next page of results from your GetDiskSnapshots request.+gdsPageToken :: Lens' GetDiskSnapshots (Maybe Text)+gdsPageToken = lens _gdsPageToken (\ s a -> s{_gdsPageToken = a})++instance AWSRequest GetDiskSnapshots where+        type Rs GetDiskSnapshots = GetDiskSnapshotsResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 GetDiskSnapshotsResponse' <$>+                   (x .?> "nextPageToken") <*>+                     (x .?> "diskSnapshots" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetDiskSnapshots where++instance NFData GetDiskSnapshots where++instance ToHeaders GetDiskSnapshots where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.GetDiskSnapshots" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDiskSnapshots where+        toJSON GetDiskSnapshots'{..}+          = object+              (catMaybes [("pageToken" .=) <$> _gdsPageToken])++instance ToPath GetDiskSnapshots where+        toPath = const "/"++instance ToQuery GetDiskSnapshots where+        toQuery = const mempty++-- | /See:/ 'getDiskSnapshotsResponse' smart constructor.+data GetDiskSnapshotsResponse = GetDiskSnapshotsResponse'+  { _gdssrsNextPageToken  :: !(Maybe Text)+  , _gdssrsDiskSnapshots  :: !(Maybe [DiskSnapshot])+  , _gdssrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDiskSnapshotsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdssrsNextPageToken' - A token used for advancing to the next page of results from your GetDiskSnapshots request.+--+-- * 'gdssrsDiskSnapshots' - An array of objects containing information about all block storage disk snapshots.+--+-- * 'gdssrsResponseStatus' - -- | The response status code.+getDiskSnapshotsResponse+    :: Int -- ^ 'gdssrsResponseStatus'+    -> GetDiskSnapshotsResponse+getDiskSnapshotsResponse pResponseStatus_ =+  GetDiskSnapshotsResponse'+    { _gdssrsNextPageToken = Nothing+    , _gdssrsDiskSnapshots = Nothing+    , _gdssrsResponseStatus = pResponseStatus_+    }+++-- | A token used for advancing to the next page of results from your GetDiskSnapshots request.+gdssrsNextPageToken :: Lens' GetDiskSnapshotsResponse (Maybe Text)+gdssrsNextPageToken = lens _gdssrsNextPageToken (\ s a -> s{_gdssrsNextPageToken = a})++-- | An array of objects containing information about all block storage disk snapshots.+gdssrsDiskSnapshots :: Lens' GetDiskSnapshotsResponse [DiskSnapshot]+gdssrsDiskSnapshots = lens _gdssrsDiskSnapshots (\ s a -> s{_gdssrsDiskSnapshots = a}) . _Default . _Coerce++-- | -- | The response status code.+gdssrsResponseStatus :: Lens' GetDiskSnapshotsResponse Int+gdssrsResponseStatus = lens _gdssrsResponseStatus (\ s a -> s{_gdssrsResponseStatus = a})++instance NFData GetDiskSnapshotsResponse where
+ gen/Network/AWS/Lightsail/GetDisks.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.Lightsail.GetDisks+-- Copyright   : (c) 2013-2018 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 all block storage disks in your AWS account and region.+--+--+-- If you are describing a long list of disks, you can paginate the output to make the list more manageable. You can use the pageToken and nextPageToken values to retrieve the next items in the list.+--+module Network.AWS.Lightsail.GetDisks+    (+    -- * Creating a Request+      getDisks+    , GetDisks+    -- * Request Lenses+    , gPageToken++    -- * Destructuring the Response+    , getDisksResponse+    , GetDisksResponse+    -- * Response Lenses+    , gddrsNextPageToken+    , gddrsDisks+    , gddrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDisks' smart constructor.+newtype GetDisks = GetDisks'+  { _gPageToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDisks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gPageToken' - A token used for advancing to the next page of results from your GetDisks request.+getDisks+    :: GetDisks+getDisks = GetDisks' {_gPageToken = Nothing}+++-- | A token used for advancing to the next page of results from your GetDisks request.+gPageToken :: Lens' GetDisks (Maybe Text)+gPageToken = lens _gPageToken (\ s a -> s{_gPageToken = a})++instance AWSRequest GetDisks where+        type Rs GetDisks = GetDisksResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 GetDisksResponse' <$>+                   (x .?> "nextPageToken") <*>+                     (x .?> "disks" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetDisks where++instance NFData GetDisks where++instance ToHeaders GetDisks where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.GetDisks" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDisks where+        toJSON GetDisks'{..}+          = object+              (catMaybes [("pageToken" .=) <$> _gPageToken])++instance ToPath GetDisks where+        toPath = const "/"++instance ToQuery GetDisks where+        toQuery = const mempty++-- | /See:/ 'getDisksResponse' smart constructor.+data GetDisksResponse = GetDisksResponse'+  { _gddrsNextPageToken  :: !(Maybe Text)+  , _gddrsDisks          :: !(Maybe [Disk])+  , _gddrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDisksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gddrsNextPageToken' - A token used for advancing to the next page of results from your GetDisks request.+--+-- * 'gddrsDisks' - An array of objects containing information about all block storage disks.+--+-- * 'gddrsResponseStatus' - -- | The response status code.+getDisksResponse+    :: Int -- ^ 'gddrsResponseStatus'+    -> GetDisksResponse+getDisksResponse pResponseStatus_ =+  GetDisksResponse'+    { _gddrsNextPageToken = Nothing+    , _gddrsDisks = Nothing+    , _gddrsResponseStatus = pResponseStatus_+    }+++-- | A token used for advancing to the next page of results from your GetDisks request.+gddrsNextPageToken :: Lens' GetDisksResponse (Maybe Text)+gddrsNextPageToken = lens _gddrsNextPageToken (\ s a -> s{_gddrsNextPageToken = a})++-- | An array of objects containing information about all block storage disks.+gddrsDisks :: Lens' GetDisksResponse [Disk]+gddrsDisks = lens _gddrsDisks (\ s a -> s{_gddrsDisks = a}) . _Default . _Coerce++-- | -- | The response status code.+gddrsResponseStatus :: Lens' GetDisksResponse Int+gddrsResponseStatus = lens _gddrsResponseStatus (\ s a -> s{_gddrsResponseStatus = a})++instance NFData GetDisksResponse where
gen/Network/AWS/Lightsail/GetDomain.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetDomain--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The domain name for which your want to return information about. gdDomainName :: Lens' GetDomain Text-gdDomainName = lens _gdDomainName (\ s a -> s{_gdDomainName = a});+gdDomainName = lens _gdDomainName (\ s a -> s{_gdDomainName = a})  instance AWSRequest GetDomain where         type Rs GetDomain = GetDomainResponse@@ -117,15 +117,15 @@     -> GetDomainResponse getDomainResponse pResponseStatus_ =   GetDomainResponse'-  {_gdrsDomain = Nothing, _gdrsResponseStatus = pResponseStatus_}+    {_gdrsDomain = Nothing, _gdrsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about your get domain request. gdrsDomain :: Lens' GetDomainResponse (Maybe Domain)-gdrsDomain = lens _gdrsDomain (\ s a -> s{_gdrsDomain = a});+gdrsDomain = lens _gdrsDomain (\ s a -> s{_gdrsDomain = a})  -- | -- | The response status code. gdrsResponseStatus :: Lens' GetDomainResponse Int-gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a});+gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a})  instance NFData GetDomainResponse where
gen/Network/AWS/Lightsail/GetDomains.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetDomains--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -35,9 +35,9 @@     , getDomainsResponse     , GetDomainsResponse     -- * Response Lenses-    , gdsrsNextPageToken-    , gdsrsDomains-    , gdsrsResponseStatus+    , ggrsNextPageToken+    , ggrsDomains+    , ggrsResponseStatus     ) where  import Network.AWS.Lens@@ -66,14 +66,14 @@  -- | A token used for advancing to the next page of results from your get domains request. gdPageToken :: Lens' GetDomains (Maybe Text)-gdPageToken = lens _gdPageToken (\ s a -> s{_gdPageToken = a});+gdPageToken = lens _gdPageToken (\ s a -> s{_gdPageToken = a})  instance AWSPager GetDomains where         page rq rs-          | stop (rs ^. gdsrsNextPageToken) = Nothing-          | stop (rs ^. gdsrsDomains) = Nothing+          | stop (rs ^. ggrsNextPageToken) = Nothing+          | stop (rs ^. ggrsDomains) = Nothing           | otherwise =-            Just $ rq & gdPageToken .~ rs ^. gdsrsNextPageToken+            Just $ rq & gdPageToken .~ rs ^. ggrsNextPageToken  instance AWSRequest GetDomains where         type Rs GetDomains = GetDomainsResponse@@ -112,9 +112,9 @@  -- | /See:/ 'getDomainsResponse' smart constructor. data GetDomainsResponse = GetDomainsResponse'-  { _gdsrsNextPageToken  :: !(Maybe Text)-  , _gdsrsDomains        :: !(Maybe [Domain])-  , _gdsrsResponseStatus :: !Int+  { _ggrsNextPageToken  :: !(Maybe Text)+  , _ggrsDomains        :: !(Maybe [Domain])+  , _ggrsResponseStatus :: !Int   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -122,32 +122,32 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gdsrsNextPageToken' - A token used for advancing to the next page of results from your get active names request.+-- * 'ggrsNextPageToken' - A token used for advancing to the next page of results from your get active names request. ----- * 'gdsrsDomains' - An array of key-value pairs containing information about each of the domain entries in the user's account.+-- * 'ggrsDomains' - An array of key-value pairs containing information about each of the domain entries in the user's account. ----- * 'gdsrsResponseStatus' - -- | The response status code.+-- * 'ggrsResponseStatus' - -- | The response status code. getDomainsResponse-    :: Int -- ^ 'gdsrsResponseStatus'+    :: Int -- ^ 'ggrsResponseStatus'     -> GetDomainsResponse getDomainsResponse pResponseStatus_ =   GetDomainsResponse'-  { _gdsrsNextPageToken = Nothing-  , _gdsrsDomains = Nothing-  , _gdsrsResponseStatus = pResponseStatus_-  }+    { _ggrsNextPageToken = Nothing+    , _ggrsDomains = Nothing+    , _ggrsResponseStatus = pResponseStatus_+    }   -- | A token used for advancing to the next page of results from your get active names request.-gdsrsNextPageToken :: Lens' GetDomainsResponse (Maybe Text)-gdsrsNextPageToken = lens _gdsrsNextPageToken (\ s a -> s{_gdsrsNextPageToken = a});+ggrsNextPageToken :: Lens' GetDomainsResponse (Maybe Text)+ggrsNextPageToken = lens _ggrsNextPageToken (\ s a -> s{_ggrsNextPageToken = a})  -- | An array of key-value pairs containing information about each of the domain entries in the user's account.-gdsrsDomains :: Lens' GetDomainsResponse [Domain]-gdsrsDomains = lens _gdsrsDomains (\ s a -> s{_gdsrsDomains = a}) . _Default . _Coerce;+ggrsDomains :: Lens' GetDomainsResponse [Domain]+ggrsDomains = lens _ggrsDomains (\ s a -> s{_ggrsDomains = a}) . _Default . _Coerce  -- | -- | The response status code.-gdsrsResponseStatus :: Lens' GetDomainsResponse Int-gdsrsResponseStatus = lens _gdsrsResponseStatus (\ s a -> s{_gdsrsResponseStatus = a});+ggrsResponseStatus :: Lens' GetDomainsResponse Int+ggrsResponseStatus = lens _ggrsResponseStatus (\ s a -> s{_ggrsResponseStatus = a})  instance NFData GetDomainsResponse where
gen/Network/AWS/Lightsail/GetInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The name of the instance. giInstanceName :: Lens' GetInstance Text-giInstanceName = lens _giInstanceName (\ s a -> s{_giInstanceName = a});+giInstanceName = lens _giInstanceName (\ s a -> s{_giInstanceName = a})  instance AWSRequest GetInstance where         type Rs GetInstance = GetInstanceResponse@@ -118,15 +118,15 @@     -> GetInstanceResponse getInstanceResponse pResponseStatus_ =   GetInstanceResponse'-  {_girsInstance = Nothing, _girsResponseStatus = pResponseStatus_}+    {_girsInstance = Nothing, _girsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the specified instance. girsInstance :: Lens' GetInstanceResponse (Maybe Instance)-girsInstance = lens _girsInstance (\ s a -> s{_girsInstance = a});+girsInstance = lens _girsInstance (\ s a -> s{_girsInstance = a})  -- | -- | The response status code. girsResponseStatus :: Lens' GetInstanceResponse Int-girsResponseStatus = lens _girsResponseStatus (\ s a -> s{_girsResponseStatus = a});+girsResponseStatus = lens _girsResponseStatus (\ s a -> s{_girsResponseStatus = a})  instance NFData GetInstanceResponse where
gen/Network/AWS/Lightsail/GetInstanceAccessDetails.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstanceAccessDetails--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,16 +64,16 @@     -> GetInstanceAccessDetails getInstanceAccessDetails pInstanceName_ =   GetInstanceAccessDetails'-  {_giadProtocol = Nothing, _giadInstanceName = pInstanceName_}+    {_giadProtocol = Nothing, _giadInstanceName = pInstanceName_}   -- | The protocol to use to connect to your instance. Defaults to @ssh@ . giadProtocol :: Lens' GetInstanceAccessDetails (Maybe InstanceAccessProtocol)-giadProtocol = lens _giadProtocol (\ s a -> s{_giadProtocol = a});+giadProtocol = lens _giadProtocol (\ s a -> s{_giadProtocol = a})  -- | The name of the instance to access. giadInstanceName :: Lens' GetInstanceAccessDetails Text-giadInstanceName = lens _giadInstanceName (\ s a -> s{_giadInstanceName = a});+giadInstanceName = lens _giadInstanceName (\ s a -> s{_giadInstanceName = a})  instance AWSRequest GetInstanceAccessDetails where         type Rs GetInstanceAccessDetails =@@ -131,16 +131,16 @@     -> GetInstanceAccessDetailsResponse getInstanceAccessDetailsResponse pResponseStatus_ =   GetInstanceAccessDetailsResponse'-  {_giadrsAccessDetails = Nothing, _giadrsResponseStatus = pResponseStatus_}+    {_giadrsAccessDetails = Nothing, _giadrsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about a get instance access request. giadrsAccessDetails :: Lens' GetInstanceAccessDetailsResponse (Maybe InstanceAccessDetails)-giadrsAccessDetails = lens _giadrsAccessDetails (\ s a -> s{_giadrsAccessDetails = a});+giadrsAccessDetails = lens _giadrsAccessDetails (\ s a -> s{_giadrsAccessDetails = a})  -- | -- | The response status code. giadrsResponseStatus :: Lens' GetInstanceAccessDetailsResponse Int-giadrsResponseStatus = lens _giadrsResponseStatus (\ s a -> s{_giadrsResponseStatus = a});+giadrsResponseStatus = lens _giadrsResponseStatus (\ s a -> s{_giadrsResponseStatus = a})  instance NFData GetInstanceAccessDetailsResponse          where
gen/Network/AWS/Lightsail/GetInstanceMetricData.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstanceMetricData--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -90,43 +90,43 @@     -> GetInstanceMetricData getInstanceMetricData pInstanceName_ pMetricName_ pPeriod_ pStartTime_ pEndTime_ pUnit_ =   GetInstanceMetricData'-  { _gimdInstanceName = pInstanceName_-  , _gimdMetricName = pMetricName_-  , _gimdPeriod = _Nat # pPeriod_-  , _gimdStartTime = _Time # pStartTime_-  , _gimdEndTime = _Time # pEndTime_-  , _gimdUnit = pUnit_-  , _gimdStatistics = mempty-  }+    { _gimdInstanceName = pInstanceName_+    , _gimdMetricName = pMetricName_+    , _gimdPeriod = _Nat # pPeriod_+    , _gimdStartTime = _Time # pStartTime_+    , _gimdEndTime = _Time # pEndTime_+    , _gimdUnit = pUnit_+    , _gimdStatistics = mempty+    }   -- | The name of the instance for which you want to get metrics data. gimdInstanceName :: Lens' GetInstanceMetricData Text-gimdInstanceName = lens _gimdInstanceName (\ s a -> s{_gimdInstanceName = a});+gimdInstanceName = lens _gimdInstanceName (\ s a -> s{_gimdInstanceName = a})  -- | The metric name to get data about. gimdMetricName :: Lens' GetInstanceMetricData InstanceMetricName-gimdMetricName = lens _gimdMetricName (\ s a -> s{_gimdMetricName = a});+gimdMetricName = lens _gimdMetricName (\ s a -> s{_gimdMetricName = a})  -- | The time period for which you are requesting data. gimdPeriod :: Lens' GetInstanceMetricData Natural-gimdPeriod = lens _gimdPeriod (\ s a -> s{_gimdPeriod = a}) . _Nat;+gimdPeriod = lens _gimdPeriod (\ s a -> s{_gimdPeriod = a}) . _Nat  -- | The start time of the time period. gimdStartTime :: Lens' GetInstanceMetricData UTCTime-gimdStartTime = lens _gimdStartTime (\ s a -> s{_gimdStartTime = a}) . _Time;+gimdStartTime = lens _gimdStartTime (\ s a -> s{_gimdStartTime = a}) . _Time  -- | The end time of the time period. gimdEndTime :: Lens' GetInstanceMetricData UTCTime-gimdEndTime = lens _gimdEndTime (\ s a -> s{_gimdEndTime = a}) . _Time;+gimdEndTime = lens _gimdEndTime (\ s a -> s{_gimdEndTime = a}) . _Time  -- | The unit. The list of valid values is below. gimdUnit :: Lens' GetInstanceMetricData MetricUnit-gimdUnit = lens _gimdUnit (\ s a -> s{_gimdUnit = a});+gimdUnit = lens _gimdUnit (\ s a -> s{_gimdUnit = a})  -- | The instance statistics. gimdStatistics :: Lens' GetInstanceMetricData [MetricStatistic]-gimdStatistics = lens _gimdStatistics (\ s a -> s{_gimdStatistics = a}) . _Coerce;+gimdStatistics = lens _gimdStatistics (\ s a -> s{_gimdStatistics = a}) . _Coerce  instance AWSRequest GetInstanceMetricData where         type Rs GetInstanceMetricData =@@ -194,22 +194,22 @@     -> GetInstanceMetricDataResponse getInstanceMetricDataResponse pResponseStatus_ =   GetInstanceMetricDataResponse'-  { _gimdrsMetricName = Nothing-  , _gimdrsMetricData = Nothing-  , _gimdrsResponseStatus = pResponseStatus_-  }+    { _gimdrsMetricName = Nothing+    , _gimdrsMetricData = Nothing+    , _gimdrsResponseStatus = pResponseStatus_+    }   -- | The metric name to return data for. gimdrsMetricName :: Lens' GetInstanceMetricDataResponse (Maybe InstanceMetricName)-gimdrsMetricName = lens _gimdrsMetricName (\ s a -> s{_gimdrsMetricName = a});+gimdrsMetricName = lens _gimdrsMetricName (\ s a -> s{_gimdrsMetricName = a})  -- | An array of key-value pairs containing information about the results of your get instance metric data request. gimdrsMetricData :: Lens' GetInstanceMetricDataResponse [MetricDatapoint]-gimdrsMetricData = lens _gimdrsMetricData (\ s a -> s{_gimdrsMetricData = a}) . _Default . _Coerce;+gimdrsMetricData = lens _gimdrsMetricData (\ s a -> s{_gimdrsMetricData = a}) . _Default . _Coerce  -- | -- | The response status code. gimdrsResponseStatus :: Lens' GetInstanceMetricDataResponse Int-gimdrsResponseStatus = lens _gimdrsResponseStatus (\ s a -> s{_gimdrsResponseStatus = a});+gimdrsResponseStatus = lens _gimdrsResponseStatus (\ s a -> s{_gimdrsResponseStatus = a})  instance NFData GetInstanceMetricDataResponse where
gen/Network/AWS/Lightsail/GetInstancePortStates.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstancePortStates--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The name of the instance. gipsInstanceName :: Lens' GetInstancePortStates Text-gipsInstanceName = lens _gipsInstanceName (\ s a -> s{_gipsInstanceName = a});+gipsInstanceName = lens _gipsInstanceName (\ s a -> s{_gipsInstanceName = a})  instance AWSRequest GetInstancePortStates where         type Rs GetInstancePortStates =@@ -122,15 +122,15 @@     -> GetInstancePortStatesResponse getInstancePortStatesResponse pResponseStatus_ =   GetInstancePortStatesResponse'-  {_gipsrsPortStates = Nothing, _gipsrsResponseStatus = pResponseStatus_}+    {_gipsrsPortStates = Nothing, _gipsrsResponseStatus = pResponseStatus_}   -- | Information about the port states resulting from your request. gipsrsPortStates :: Lens' GetInstancePortStatesResponse [InstancePortState]-gipsrsPortStates = lens _gipsrsPortStates (\ s a -> s{_gipsrsPortStates = a}) . _Default . _Coerce;+gipsrsPortStates = lens _gipsrsPortStates (\ s a -> s{_gipsrsPortStates = a}) . _Default . _Coerce  -- | -- | The response status code. gipsrsResponseStatus :: Lens' GetInstancePortStatesResponse Int-gipsrsResponseStatus = lens _gipsrsResponseStatus (\ s a -> s{_gipsrsResponseStatus = a});+gipsrsResponseStatus = lens _gipsrsResponseStatus (\ s a -> s{_gipsrsResponseStatus = a})  instance NFData GetInstancePortStatesResponse where
gen/Network/AWS/Lightsail/GetInstanceSnapshot.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstanceSnapshot--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The name of the snapshot for which you are requesting information. gisInstanceSnapshotName :: Lens' GetInstanceSnapshot Text-gisInstanceSnapshotName = lens _gisInstanceSnapshotName (\ s a -> s{_gisInstanceSnapshotName = a});+gisInstanceSnapshotName = lens _gisInstanceSnapshotName (\ s a -> s{_gisInstanceSnapshotName = a})  instance AWSRequest GetInstanceSnapshot where         type Rs GetInstanceSnapshot =@@ -123,15 +123,15 @@     -> GetInstanceSnapshotResponse getInstanceSnapshotResponse pResponseStatus_ =   GetInstanceSnapshotResponse'-  {_gisrsInstanceSnapshot = Nothing, _gisrsResponseStatus = pResponseStatus_}+    {_gisrsInstanceSnapshot = Nothing, _gisrsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the results of your get instance snapshot request. gisrsInstanceSnapshot :: Lens' GetInstanceSnapshotResponse (Maybe InstanceSnapshot)-gisrsInstanceSnapshot = lens _gisrsInstanceSnapshot (\ s a -> s{_gisrsInstanceSnapshot = a});+gisrsInstanceSnapshot = lens _gisrsInstanceSnapshot (\ s a -> s{_gisrsInstanceSnapshot = a})  -- | -- | The response status code. gisrsResponseStatus :: Lens' GetInstanceSnapshotResponse Int-gisrsResponseStatus = lens _gisrsResponseStatus (\ s a -> s{_gisrsResponseStatus = a});+gisrsResponseStatus = lens _gisrsResponseStatus (\ s a -> s{_gisrsResponseStatus = a})  instance NFData GetInstanceSnapshotResponse where
gen/Network/AWS/Lightsail/GetInstanceSnapshots.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstanceSnapshots--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,7 +66,7 @@  -- | A token used for advancing to the next page of results from your get instance snapshots request. gisPageToken :: Lens' GetInstanceSnapshots (Maybe Text)-gisPageToken = lens _gisPageToken (\ s a -> s{_gisPageToken = a});+gisPageToken = lens _gisPageToken (\ s a -> s{_gisPageToken = a})  instance AWSPager GetInstanceSnapshots where         page rq rs@@ -134,22 +134,22 @@     -> GetInstanceSnapshotsResponse getInstanceSnapshotsResponse pResponseStatus_ =   GetInstanceSnapshotsResponse'-  { _gissrsNextPageToken = Nothing-  , _gissrsInstanceSnapshots = Nothing-  , _gissrsResponseStatus = pResponseStatus_-  }+    { _gissrsNextPageToken = Nothing+    , _gissrsInstanceSnapshots = Nothing+    , _gissrsResponseStatus = pResponseStatus_+    }   -- | A token used for advancing to the next page of results from your get instance snapshots request. gissrsNextPageToken :: Lens' GetInstanceSnapshotsResponse (Maybe Text)-gissrsNextPageToken = lens _gissrsNextPageToken (\ s a -> s{_gissrsNextPageToken = a});+gissrsNextPageToken = lens _gissrsNextPageToken (\ s a -> s{_gissrsNextPageToken = a})  -- | An array of key-value pairs containing information about the results of your get instance snapshots request. gissrsInstanceSnapshots :: Lens' GetInstanceSnapshotsResponse [InstanceSnapshot]-gissrsInstanceSnapshots = lens _gissrsInstanceSnapshots (\ s a -> s{_gissrsInstanceSnapshots = a}) . _Default . _Coerce;+gissrsInstanceSnapshots = lens _gissrsInstanceSnapshots (\ s a -> s{_gissrsInstanceSnapshots = a}) . _Default . _Coerce  -- | -- | The response status code. gissrsResponseStatus :: Lens' GetInstanceSnapshotsResponse Int-gissrsResponseStatus = lens _gissrsResponseStatus (\ s a -> s{_gissrsResponseStatus = a});+gissrsResponseStatus = lens _gissrsResponseStatus (\ s a -> s{_gissrsResponseStatus = a})  instance NFData GetInstanceSnapshotsResponse where
gen/Network/AWS/Lightsail/GetInstanceState.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstanceState--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -33,8 +33,8 @@     , getInstanceStateResponse     , GetInstanceStateResponse     -- * Response Lenses-    , getrsState-    , getrsResponseStatus+    , gisirsState+    , gisirsResponseStatus     ) where  import Network.AWS.Lens@@ -64,7 +64,7 @@  -- | The name of the instance to get state information about. gisInstanceName :: Lens' GetInstanceState Text-gisInstanceName = lens _gisInstanceName (\ s a -> s{_gisInstanceName = a});+gisInstanceName = lens _gisInstanceName (\ s a -> s{_gisInstanceName = a})  instance AWSRequest GetInstanceState where         type Rs GetInstanceState = GetInstanceStateResponse@@ -103,8 +103,8 @@  -- | /See:/ 'getInstanceStateResponse' smart constructor. data GetInstanceStateResponse = GetInstanceStateResponse'-  { _getrsState          :: !(Maybe InstanceState)-  , _getrsResponseStatus :: !Int+  { _gisirsState          :: !(Maybe InstanceState)+  , _gisirsResponseStatus :: !Int   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -112,23 +112,23 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'getrsState' - The state of the instance.+-- * 'gisirsState' - The state of the instance. ----- * 'getrsResponseStatus' - -- | The response status code.+-- * 'gisirsResponseStatus' - -- | The response status code. getInstanceStateResponse-    :: Int -- ^ 'getrsResponseStatus'+    :: Int -- ^ 'gisirsResponseStatus'     -> GetInstanceStateResponse getInstanceStateResponse pResponseStatus_ =   GetInstanceStateResponse'-  {_getrsState = Nothing, _getrsResponseStatus = pResponseStatus_}+    {_gisirsState = Nothing, _gisirsResponseStatus = pResponseStatus_}   -- | The state of the instance.-getrsState :: Lens' GetInstanceStateResponse (Maybe InstanceState)-getrsState = lens _getrsState (\ s a -> s{_getrsState = a});+gisirsState :: Lens' GetInstanceStateResponse (Maybe InstanceState)+gisirsState = lens _gisirsState (\ s a -> s{_gisirsState = a})  -- | -- | The response status code.-getrsResponseStatus :: Lens' GetInstanceStateResponse Int-getrsResponseStatus = lens _getrsResponseStatus (\ s a -> s{_getrsResponseStatus = a});+gisirsResponseStatus :: Lens' GetInstanceStateResponse Int+gisirsResponseStatus = lens _gisirsResponseStatus (\ s a -> s{_gisirsResponseStatus = a})  instance NFData GetInstanceStateResponse where
gen/Network/AWS/Lightsail/GetInstances.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstances--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,7 +66,7 @@  -- | A token used for advancing to the next page of results from your get instances request. giPageToken :: Lens' GetInstances (Maybe Text)-giPageToken = lens _giPageToken (\ s a -> s{_giPageToken = a});+giPageToken = lens _giPageToken (\ s a -> s{_giPageToken = a})  instance AWSPager GetInstances where         page rq rs@@ -132,22 +132,22 @@     -> GetInstancesResponse getInstancesResponse pResponseStatus_ =   GetInstancesResponse'-  { _grsNextPageToken = Nothing-  , _grsInstances = Nothing-  , _grsResponseStatus = pResponseStatus_-  }+    { _grsNextPageToken = Nothing+    , _grsInstances = Nothing+    , _grsResponseStatus = pResponseStatus_+    }   -- | A token used for advancing to the next page of results from your get instances request. grsNextPageToken :: Lens' GetInstancesResponse (Maybe Text)-grsNextPageToken = lens _grsNextPageToken (\ s a -> s{_grsNextPageToken = a});+grsNextPageToken = lens _grsNextPageToken (\ s a -> s{_grsNextPageToken = a})  -- | An array of key-value pairs containing information about your instances. grsInstances :: Lens' GetInstancesResponse [Instance]-grsInstances = lens _grsInstances (\ s a -> s{_grsInstances = a}) . _Default . _Coerce;+grsInstances = lens _grsInstances (\ s a -> s{_grsInstances = a}) . _Default . _Coerce  -- | -- | The response status code. grsResponseStatus :: Lens' GetInstancesResponse Int-grsResponseStatus = lens _grsResponseStatus (\ s a -> s{_grsResponseStatus = a});+grsResponseStatus = lens _grsResponseStatus (\ s a -> s{_grsResponseStatus = a})  instance NFData GetInstancesResponse where
gen/Network/AWS/Lightsail/GetKeyPair.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetKeyPair--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The name of the key pair for which you are requesting information. gkpKeyPairName :: Lens' GetKeyPair Text-gkpKeyPairName = lens _gkpKeyPairName (\ s a -> s{_gkpKeyPairName = a});+gkpKeyPairName = lens _gkpKeyPairName (\ s a -> s{_gkpKeyPairName = a})  instance AWSRequest GetKeyPair where         type Rs GetKeyPair = GetKeyPairResponse@@ -117,15 +117,15 @@     -> GetKeyPairResponse getKeyPairResponse pResponseStatus_ =   GetKeyPairResponse'-  {_gkprsKeyPair = Nothing, _gkprsResponseStatus = pResponseStatus_}+    {_gkprsKeyPair = Nothing, _gkprsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the key pair. gkprsKeyPair :: Lens' GetKeyPairResponse (Maybe KeyPair)-gkprsKeyPair = lens _gkprsKeyPair (\ s a -> s{_gkprsKeyPair = a});+gkprsKeyPair = lens _gkprsKeyPair (\ s a -> s{_gkprsKeyPair = a})  -- | -- | The response status code. gkprsResponseStatus :: Lens' GetKeyPairResponse Int-gkprsResponseStatus = lens _gkprsResponseStatus (\ s a -> s{_gkprsResponseStatus = a});+gkprsResponseStatus = lens _gkprsResponseStatus (\ s a -> s{_gkprsResponseStatus = a})  instance NFData GetKeyPairResponse where
gen/Network/AWS/Lightsail/GetKeyPairs.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetKeyPairs--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,7 +66,7 @@  -- | A token used for advancing to the next page of results from your get key pairs request. gkpPageToken :: Lens' GetKeyPairs (Maybe Text)-gkpPageToken = lens _gkpPageToken (\ s a -> s{_gkpPageToken = a});+gkpPageToken = lens _gkpPageToken (\ s a -> s{_gkpPageToken = a})  instance AWSPager GetKeyPairs where         page rq rs@@ -132,22 +132,22 @@     -> GetKeyPairsResponse getKeyPairsResponse pResponseStatus_ =   GetKeyPairsResponse'-  { _gkpsrsNextPageToken = Nothing-  , _gkpsrsKeyPairs = Nothing-  , _gkpsrsResponseStatus = pResponseStatus_-  }+    { _gkpsrsNextPageToken = Nothing+    , _gkpsrsKeyPairs = Nothing+    , _gkpsrsResponseStatus = pResponseStatus_+    }   -- | A token used for advancing to the next page of results from your get key pairs request. gkpsrsNextPageToken :: Lens' GetKeyPairsResponse (Maybe Text)-gkpsrsNextPageToken = lens _gkpsrsNextPageToken (\ s a -> s{_gkpsrsNextPageToken = a});+gkpsrsNextPageToken = lens _gkpsrsNextPageToken (\ s a -> s{_gkpsrsNextPageToken = a})  -- | An array of key-value pairs containing information about the key pairs. gkpsrsKeyPairs :: Lens' GetKeyPairsResponse [KeyPair]-gkpsrsKeyPairs = lens _gkpsrsKeyPairs (\ s a -> s{_gkpsrsKeyPairs = a}) . _Default . _Coerce;+gkpsrsKeyPairs = lens _gkpsrsKeyPairs (\ s a -> s{_gkpsrsKeyPairs = a}) . _Default . _Coerce  -- | -- | The response status code. gkpsrsResponseStatus :: Lens' GetKeyPairsResponse Int-gkpsrsResponseStatus = lens _gkpsrsResponseStatus (\ s a -> s{_gkpsrsResponseStatus = a});+gkpsrsResponseStatus = lens _gkpsrsResponseStatus (\ s a -> s{_gkpsrsResponseStatus = a})  instance NFData GetKeyPairsResponse where
+ gen/Network/AWS/Lightsail/GetLoadBalancer.hs view
@@ -0,0 +1,133 @@+{-# 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.Lightsail.GetLoadBalancer+-- Copyright   : (c) 2013-2018 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 the specified Lightsail load balancer.+--+--+module Network.AWS.Lightsail.GetLoadBalancer+    (+    -- * Creating a Request+      getLoadBalancer+    , GetLoadBalancer+    -- * Request Lenses+    , glbLoadBalancerName++    -- * Destructuring the Response+    , getLoadBalancerResponse+    , GetLoadBalancerResponse+    -- * Response Lenses+    , glbrsLoadBalancer+    , glbrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getLoadBalancer' smart constructor.+newtype GetLoadBalancer = GetLoadBalancer'+  { _glbLoadBalancerName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoadBalancer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glbLoadBalancerName' - The name of the load balancer.+getLoadBalancer+    :: Text -- ^ 'glbLoadBalancerName'+    -> GetLoadBalancer+getLoadBalancer pLoadBalancerName_ =+  GetLoadBalancer' {_glbLoadBalancerName = pLoadBalancerName_}+++-- | The name of the load balancer.+glbLoadBalancerName :: Lens' GetLoadBalancer Text+glbLoadBalancerName = lens _glbLoadBalancerName (\ s a -> s{_glbLoadBalancerName = a})++instance AWSRequest GetLoadBalancer where+        type Rs GetLoadBalancer = GetLoadBalancerResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 GetLoadBalancerResponse' <$>+                   (x .?> "loadBalancer") <*> (pure (fromEnum s)))++instance Hashable GetLoadBalancer where++instance NFData GetLoadBalancer where++instance ToHeaders GetLoadBalancer where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.GetLoadBalancer" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetLoadBalancer where+        toJSON GetLoadBalancer'{..}+          = object+              (catMaybes+                 [Just ("loadBalancerName" .= _glbLoadBalancerName)])++instance ToPath GetLoadBalancer where+        toPath = const "/"++instance ToQuery GetLoadBalancer where+        toQuery = const mempty++-- | /See:/ 'getLoadBalancerResponse' smart constructor.+data GetLoadBalancerResponse = GetLoadBalancerResponse'+  { _glbrsLoadBalancer   :: !(Maybe LoadBalancer)+  , _glbrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoadBalancerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glbrsLoadBalancer' - An object containing information about your load balancer.+--+-- * 'glbrsResponseStatus' - -- | The response status code.+getLoadBalancerResponse+    :: Int -- ^ 'glbrsResponseStatus'+    -> GetLoadBalancerResponse+getLoadBalancerResponse pResponseStatus_ =+  GetLoadBalancerResponse'+    {_glbrsLoadBalancer = Nothing, _glbrsResponseStatus = pResponseStatus_}+++-- | An object containing information about your load balancer.+glbrsLoadBalancer :: Lens' GetLoadBalancerResponse (Maybe LoadBalancer)+glbrsLoadBalancer = lens _glbrsLoadBalancer (\ s a -> s{_glbrsLoadBalancer = a})++-- | -- | The response status code.+glbrsResponseStatus :: Lens' GetLoadBalancerResponse Int+glbrsResponseStatus = lens _glbrsResponseStatus (\ s a -> s{_glbrsResponseStatus = a})++instance NFData GetLoadBalancerResponse where
+ gen/Network/AWS/Lightsail/GetLoadBalancerMetricData.hs view
@@ -0,0 +1,216 @@+{-# 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.Lightsail.GetLoadBalancerMetricData+-- Copyright   : (c) 2013-2018 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 health metrics for your Lightsail load balancer.+--+--+module Network.AWS.Lightsail.GetLoadBalancerMetricData+    (+    -- * Creating a Request+      getLoadBalancerMetricData+    , GetLoadBalancerMetricData+    -- * Request Lenses+    , glbmdLoadBalancerName+    , glbmdMetricName+    , glbmdPeriod+    , glbmdStartTime+    , glbmdEndTime+    , glbmdUnit+    , glbmdStatistics++    -- * Destructuring the Response+    , getLoadBalancerMetricDataResponse+    , GetLoadBalancerMetricDataResponse+    -- * Response Lenses+    , glbmdrsMetricName+    , glbmdrsMetricData+    , glbmdrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getLoadBalancerMetricData' smart constructor.+data GetLoadBalancerMetricData = GetLoadBalancerMetricData'+  { _glbmdLoadBalancerName :: !Text+  , _glbmdMetricName       :: !LoadBalancerMetricName+  , _glbmdPeriod           :: !Nat+  , _glbmdStartTime        :: !POSIX+  , _glbmdEndTime          :: !POSIX+  , _glbmdUnit             :: !MetricUnit+  , _glbmdStatistics       :: ![MetricStatistic]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoadBalancerMetricData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glbmdLoadBalancerName' - The name of the load balancer.+--+-- * 'glbmdMetricName' - The metric about which you want to return information. Valid values are listed below, along with the most useful @statistics@ to include in your request.     * __@ClientTLSNegotiationErrorCount@ __ - The number of TLS connections initiated by the client that did not establish a session with the load balancer. Possible causes include a mismatch of ciphers or protocols. @Statistics@ : The most useful statistic is @Sum@ .     * __@HealthyHostCount@ __ - The number of target instances that are considered healthy. @Statistics@ : The most useful statistic are @Average@ , @Minimum@ , and @Maximum@ .     * __@UnhealthyHostCount@ __ - The number of target instances that are considered unhealthy. @Statistics@ : The most useful statistic are @Average@ , @Minimum@ , and @Maximum@ .     * __@HTTPCode_LB_4XX_Count@ __ - The number of HTTP 4XX client error codes that originate from the load balancer. Client errors are generated when requests are malformed or incomplete. These requests have not been received by the target instance. This count does not include any response codes generated by the target instances. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_LB_5XX_Count@ __ - The number of HTTP 5XX server error codes that originate from the load balancer. This count does not include any response codes generated by the target instances. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_2XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_3XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.  @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_4XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_5XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@InstanceResponseTime@ __ - The time elapsed, in seconds, after the request leaves the load balancer until a response from the target instance is received. @Statistics@ : The most useful statistic is @Average@ .     * __@RejectedConnectionCount@ __ - The number of connections that were rejected because the load balancer had reached its maximum number of connections. @Statistics@ : The most useful statistic is @Sum@ .     * __@RequestCount@ __ - The number of requests processed over IPv4. This count includes only the requests with a response generated by a target instance of the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .+--+-- * 'glbmdPeriod' - The time period duration for your health data request.+--+-- * 'glbmdStartTime' - The start time of the period.+--+-- * 'glbmdEndTime' - The end time of the period.+--+-- * 'glbmdUnit' - The unit for the time period request. Valid values are listed below.+--+-- * 'glbmdStatistics' - An array of statistics that you want to request metrics for. Valid values are listed below.     * __@SampleCount@ __ - The count (number) of data points used for the statistical calculation.     * __@Average@ __ - The value of Sum / SampleCount during the specified period. By comparing this statistic with the Minimum and Maximum, you can determine the full scope of a metric and how close the average use is to the Minimum and Maximum. This comparison helps you to know when to increase or decrease your resources as needed.     * __@Sum@ __ - All values submitted for the matching metric added together. This statistic can be useful for determining the total volume of a metric.     * __@Minimum@ __ - The lowest value observed during the specified period. You can use this value to determine low volumes of activity for your application.     * __@Maximum@ __ - The highest value observed during the specified period. You can use this value to determine high volumes of activity for your application.+getLoadBalancerMetricData+    :: Text -- ^ 'glbmdLoadBalancerName'+    -> LoadBalancerMetricName -- ^ 'glbmdMetricName'+    -> Natural -- ^ 'glbmdPeriod'+    -> UTCTime -- ^ 'glbmdStartTime'+    -> UTCTime -- ^ 'glbmdEndTime'+    -> MetricUnit -- ^ 'glbmdUnit'+    -> GetLoadBalancerMetricData+getLoadBalancerMetricData pLoadBalancerName_ pMetricName_ pPeriod_ pStartTime_ pEndTime_ pUnit_ =+  GetLoadBalancerMetricData'+    { _glbmdLoadBalancerName = pLoadBalancerName_+    , _glbmdMetricName = pMetricName_+    , _glbmdPeriod = _Nat # pPeriod_+    , _glbmdStartTime = _Time # pStartTime_+    , _glbmdEndTime = _Time # pEndTime_+    , _glbmdUnit = pUnit_+    , _glbmdStatistics = mempty+    }+++-- | The name of the load balancer.+glbmdLoadBalancerName :: Lens' GetLoadBalancerMetricData Text+glbmdLoadBalancerName = lens _glbmdLoadBalancerName (\ s a -> s{_glbmdLoadBalancerName = a})++-- | The metric about which you want to return information. Valid values are listed below, along with the most useful @statistics@ to include in your request.     * __@ClientTLSNegotiationErrorCount@ __ - The number of TLS connections initiated by the client that did not establish a session with the load balancer. Possible causes include a mismatch of ciphers or protocols. @Statistics@ : The most useful statistic is @Sum@ .     * __@HealthyHostCount@ __ - The number of target instances that are considered healthy. @Statistics@ : The most useful statistic are @Average@ , @Minimum@ , and @Maximum@ .     * __@UnhealthyHostCount@ __ - The number of target instances that are considered unhealthy. @Statistics@ : The most useful statistic are @Average@ , @Minimum@ , and @Maximum@ .     * __@HTTPCode_LB_4XX_Count@ __ - The number of HTTP 4XX client error codes that originate from the load balancer. Client errors are generated when requests are malformed or incomplete. These requests have not been received by the target instance. This count does not include any response codes generated by the target instances. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_LB_5XX_Count@ __ - The number of HTTP 5XX server error codes that originate from the load balancer. This count does not include any response codes generated by the target instances. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_2XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_3XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.  @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_4XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_5XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@InstanceResponseTime@ __ - The time elapsed, in seconds, after the request leaves the load balancer until a response from the target instance is received. @Statistics@ : The most useful statistic is @Average@ .     * __@RejectedConnectionCount@ __ - The number of connections that were rejected because the load balancer had reached its maximum number of connections. @Statistics@ : The most useful statistic is @Sum@ .     * __@RequestCount@ __ - The number of requests processed over IPv4. This count includes only the requests with a response generated by a target instance of the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .+glbmdMetricName :: Lens' GetLoadBalancerMetricData LoadBalancerMetricName+glbmdMetricName = lens _glbmdMetricName (\ s a -> s{_glbmdMetricName = a})++-- | The time period duration for your health data request.+glbmdPeriod :: Lens' GetLoadBalancerMetricData Natural+glbmdPeriod = lens _glbmdPeriod (\ s a -> s{_glbmdPeriod = a}) . _Nat++-- | The start time of the period.+glbmdStartTime :: Lens' GetLoadBalancerMetricData UTCTime+glbmdStartTime = lens _glbmdStartTime (\ s a -> s{_glbmdStartTime = a}) . _Time++-- | The end time of the period.+glbmdEndTime :: Lens' GetLoadBalancerMetricData UTCTime+glbmdEndTime = lens _glbmdEndTime (\ s a -> s{_glbmdEndTime = a}) . _Time++-- | The unit for the time period request. Valid values are listed below.+glbmdUnit :: Lens' GetLoadBalancerMetricData MetricUnit+glbmdUnit = lens _glbmdUnit (\ s a -> s{_glbmdUnit = a})++-- | An array of statistics that you want to request metrics for. Valid values are listed below.     * __@SampleCount@ __ - The count (number) of data points used for the statistical calculation.     * __@Average@ __ - The value of Sum / SampleCount during the specified period. By comparing this statistic with the Minimum and Maximum, you can determine the full scope of a metric and how close the average use is to the Minimum and Maximum. This comparison helps you to know when to increase or decrease your resources as needed.     * __@Sum@ __ - All values submitted for the matching metric added together. This statistic can be useful for determining the total volume of a metric.     * __@Minimum@ __ - The lowest value observed during the specified period. You can use this value to determine low volumes of activity for your application.     * __@Maximum@ __ - The highest value observed during the specified period. You can use this value to determine high volumes of activity for your application.+glbmdStatistics :: Lens' GetLoadBalancerMetricData [MetricStatistic]+glbmdStatistics = lens _glbmdStatistics (\ s a -> s{_glbmdStatistics = a}) . _Coerce++instance AWSRequest GetLoadBalancerMetricData where+        type Rs GetLoadBalancerMetricData =+             GetLoadBalancerMetricDataResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 GetLoadBalancerMetricDataResponse' <$>+                   (x .?> "metricName") <*>+                     (x .?> "metricData" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetLoadBalancerMetricData where++instance NFData GetLoadBalancerMetricData where++instance ToHeaders GetLoadBalancerMetricData where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.GetLoadBalancerMetricData" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetLoadBalancerMetricData where+        toJSON GetLoadBalancerMetricData'{..}+          = object+              (catMaybes+                 [Just ("loadBalancerName" .= _glbmdLoadBalancerName),+                  Just ("metricName" .= _glbmdMetricName),+                  Just ("period" .= _glbmdPeriod),+                  Just ("startTime" .= _glbmdStartTime),+                  Just ("endTime" .= _glbmdEndTime),+                  Just ("unit" .= _glbmdUnit),+                  Just ("statistics" .= _glbmdStatistics)])++instance ToPath GetLoadBalancerMetricData where+        toPath = const "/"++instance ToQuery GetLoadBalancerMetricData where+        toQuery = const mempty++-- | /See:/ 'getLoadBalancerMetricDataResponse' smart constructor.+data GetLoadBalancerMetricDataResponse = GetLoadBalancerMetricDataResponse'+  { _glbmdrsMetricName     :: !(Maybe LoadBalancerMetricName)+  , _glbmdrsMetricData     :: !(Maybe [MetricDatapoint])+  , _glbmdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoadBalancerMetricDataResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glbmdrsMetricName' - The metric about which you are receiving information. Valid values are listed below, along with the most useful @statistics@ to include in your request.     * __@ClientTLSNegotiationErrorCount@ __ - The number of TLS connections initiated by the client that did not establish a session with the load balancer. Possible causes include a mismatch of ciphers or protocols. @Statistics@ : The most useful statistic is @Sum@ .     * __@HealthyHostCount@ __ - The number of target instances that are considered healthy. @Statistics@ : The most useful statistic are @Average@ , @Minimum@ , and @Maximum@ .     * __@UnhealthyHostCount@ __ - The number of target instances that are considered unhealthy. @Statistics@ : The most useful statistic are @Average@ , @Minimum@ , and @Maximum@ .     * __@HTTPCode_LB_4XX_Count@ __ - The number of HTTP 4XX client error codes that originate from the load balancer. Client errors are generated when requests are malformed or incomplete. These requests have not been received by the target instance. This count does not include any response codes generated by the target instances. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_LB_5XX_Count@ __ - The number of HTTP 5XX server error codes that originate from the load balancer. This count does not include any response codes generated by the target instances. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_2XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_3XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.  @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_4XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_5XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@InstanceResponseTime@ __ - The time elapsed, in seconds, after the request leaves the load balancer until a response from the target instance is received. @Statistics@ : The most useful statistic is @Average@ .     * __@RejectedConnectionCount@ __ - The number of connections that were rejected because the load balancer had reached its maximum number of connections. @Statistics@ : The most useful statistic is @Sum@ .     * __@RequestCount@ __ - The number of requests processed over IPv4. This count includes only the requests with a response generated by a target instance of the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .+--+-- * 'glbmdrsMetricData' - An array of metric datapoint objects.+--+-- * 'glbmdrsResponseStatus' - -- | The response status code.+getLoadBalancerMetricDataResponse+    :: Int -- ^ 'glbmdrsResponseStatus'+    -> GetLoadBalancerMetricDataResponse+getLoadBalancerMetricDataResponse pResponseStatus_ =+  GetLoadBalancerMetricDataResponse'+    { _glbmdrsMetricName = Nothing+    , _glbmdrsMetricData = Nothing+    , _glbmdrsResponseStatus = pResponseStatus_+    }+++-- | The metric about which you are receiving information. Valid values are listed below, along with the most useful @statistics@ to include in your request.     * __@ClientTLSNegotiationErrorCount@ __ - The number of TLS connections initiated by the client that did not establish a session with the load balancer. Possible causes include a mismatch of ciphers or protocols. @Statistics@ : The most useful statistic is @Sum@ .     * __@HealthyHostCount@ __ - The number of target instances that are considered healthy. @Statistics@ : The most useful statistic are @Average@ , @Minimum@ , and @Maximum@ .     * __@UnhealthyHostCount@ __ - The number of target instances that are considered unhealthy. @Statistics@ : The most useful statistic are @Average@ , @Minimum@ , and @Maximum@ .     * __@HTTPCode_LB_4XX_Count@ __ - The number of HTTP 4XX client error codes that originate from the load balancer. Client errors are generated when requests are malformed or incomplete. These requests have not been received by the target instance. This count does not include any response codes generated by the target instances. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_LB_5XX_Count@ __ - The number of HTTP 5XX server error codes that originate from the load balancer. This count does not include any response codes generated by the target instances. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_2XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_3XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.  @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_4XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@HTTPCode_Instance_5XX_Count@ __ - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .     * __@InstanceResponseTime@ __ - The time elapsed, in seconds, after the request leaves the load balancer until a response from the target instance is received. @Statistics@ : The most useful statistic is @Average@ .     * __@RejectedConnectionCount@ __ - The number of connections that were rejected because the load balancer had reached its maximum number of connections. @Statistics@ : The most useful statistic is @Sum@ .     * __@RequestCount@ __ - The number of requests processed over IPv4. This count includes only the requests with a response generated by a target instance of the load balancer. @Statistics@ : The most useful statistic is @Sum@ . Note that @Minimum@ , @Maximum@ , and @Average@ all return @1@ .+glbmdrsMetricName :: Lens' GetLoadBalancerMetricDataResponse (Maybe LoadBalancerMetricName)+glbmdrsMetricName = lens _glbmdrsMetricName (\ s a -> s{_glbmdrsMetricName = a})++-- | An array of metric datapoint objects.+glbmdrsMetricData :: Lens' GetLoadBalancerMetricDataResponse [MetricDatapoint]+glbmdrsMetricData = lens _glbmdrsMetricData (\ s a -> s{_glbmdrsMetricData = a}) . _Default . _Coerce++-- | -- | The response status code.+glbmdrsResponseStatus :: Lens' GetLoadBalancerMetricDataResponse Int+glbmdrsResponseStatus = lens _glbmdrsResponseStatus (\ s a -> s{_glbmdrsResponseStatus = a})++instance NFData GetLoadBalancerMetricDataResponse+         where
+ gen/Network/AWS/Lightsail/GetLoadBalancerTLSCertificates.hs view
@@ -0,0 +1,148 @@+{-# 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.Lightsail.GetLoadBalancerTLSCertificates+-- Copyright   : (c) 2013-2018 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 the TLS certificates that are associated with the specified Lightsail load balancer.+--+--+-- TLS is just an updated, more secure version of Secure Socket Layer (SSL).+--+-- You can have a maximum of 2 certificates associated with a Lightsail load balancer. One is active and the other is inactive.+--+module Network.AWS.Lightsail.GetLoadBalancerTLSCertificates+    (+    -- * Creating a Request+      getLoadBalancerTLSCertificates+    , GetLoadBalancerTLSCertificates+    -- * Request Lenses+    , glbtcLoadBalancerName++    -- * Destructuring the Response+    , getLoadBalancerTLSCertificatesResponse+    , GetLoadBalancerTLSCertificatesResponse+    -- * Response Lenses+    , glbtcrsTlsCertificates+    , glbtcrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getLoadBalancerTLSCertificates' smart constructor.+newtype GetLoadBalancerTLSCertificates = GetLoadBalancerTLSCertificates'+  { _glbtcLoadBalancerName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoadBalancerTLSCertificates' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glbtcLoadBalancerName' - The name of the load balancer you associated with your SSL/TLS certificate.+getLoadBalancerTLSCertificates+    :: Text -- ^ 'glbtcLoadBalancerName'+    -> GetLoadBalancerTLSCertificates+getLoadBalancerTLSCertificates pLoadBalancerName_ =+  GetLoadBalancerTLSCertificates' {_glbtcLoadBalancerName = pLoadBalancerName_}+++-- | The name of the load balancer you associated with your SSL/TLS certificate.+glbtcLoadBalancerName :: Lens' GetLoadBalancerTLSCertificates Text+glbtcLoadBalancerName = lens _glbtcLoadBalancerName (\ s a -> s{_glbtcLoadBalancerName = a})++instance AWSRequest GetLoadBalancerTLSCertificates+         where+        type Rs GetLoadBalancerTLSCertificates =+             GetLoadBalancerTLSCertificatesResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 GetLoadBalancerTLSCertificatesResponse' <$>+                   (x .?> "tlsCertificates" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable GetLoadBalancerTLSCertificates+         where++instance NFData GetLoadBalancerTLSCertificates where++instance ToHeaders GetLoadBalancerTLSCertificates+         where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.GetLoadBalancerTlsCertificates"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetLoadBalancerTLSCertificates where+        toJSON GetLoadBalancerTLSCertificates'{..}+          = object+              (catMaybes+                 [Just+                    ("loadBalancerName" .= _glbtcLoadBalancerName)])++instance ToPath GetLoadBalancerTLSCertificates where+        toPath = const "/"++instance ToQuery GetLoadBalancerTLSCertificates where+        toQuery = const mempty++-- | /See:/ 'getLoadBalancerTLSCertificatesResponse' smart constructor.+data GetLoadBalancerTLSCertificatesResponse = GetLoadBalancerTLSCertificatesResponse'+  { _glbtcrsTlsCertificates :: !(Maybe [LoadBalancerTLSCertificate])+  , _glbtcrsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoadBalancerTLSCertificatesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glbtcrsTlsCertificates' - An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.+--+-- * 'glbtcrsResponseStatus' - -- | The response status code.+getLoadBalancerTLSCertificatesResponse+    :: Int -- ^ 'glbtcrsResponseStatus'+    -> GetLoadBalancerTLSCertificatesResponse+getLoadBalancerTLSCertificatesResponse pResponseStatus_ =+  GetLoadBalancerTLSCertificatesResponse'+    { _glbtcrsTlsCertificates = Nothing+    , _glbtcrsResponseStatus = pResponseStatus_+    }+++-- | An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.+glbtcrsTlsCertificates :: Lens' GetLoadBalancerTLSCertificatesResponse [LoadBalancerTLSCertificate]+glbtcrsTlsCertificates = lens _glbtcrsTlsCertificates (\ s a -> s{_glbtcrsTlsCertificates = a}) . _Default . _Coerce++-- | -- | The response status code.+glbtcrsResponseStatus :: Lens' GetLoadBalancerTLSCertificatesResponse Int+glbtcrsResponseStatus = lens _glbtcrsResponseStatus (\ s a -> s{_glbtcrsResponseStatus = a})++instance NFData+           GetLoadBalancerTLSCertificatesResponse+         where
+ gen/Network/AWS/Lightsail/GetLoadBalancers.hs view
@@ -0,0 +1,146 @@+{-# 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.Lightsail.GetLoadBalancers+-- Copyright   : (c) 2013-2018 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 all load balancers in an account.+--+--+-- If you are describing a long list of load balancers, you can paginate the output to make the list more manageable. You can use the pageToken and nextPageToken values to retrieve the next items in the list.+--+module Network.AWS.Lightsail.GetLoadBalancers+    (+    -- * Creating a Request+      getLoadBalancers+    , GetLoadBalancers+    -- * Request Lenses+    , glbPageToken++    -- * Destructuring the Response+    , getLoadBalancersResponse+    , GetLoadBalancersResponse+    -- * Response Lenses+    , glbsrsNextPageToken+    , glbsrsLoadBalancers+    , glbsrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getLoadBalancers' smart constructor.+newtype GetLoadBalancers = GetLoadBalancers'+  { _glbPageToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoadBalancers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glbPageToken' - A token used for paginating the results from your GetLoadBalancers request.+getLoadBalancers+    :: GetLoadBalancers+getLoadBalancers = GetLoadBalancers' {_glbPageToken = Nothing}+++-- | A token used for paginating the results from your GetLoadBalancers request.+glbPageToken :: Lens' GetLoadBalancers (Maybe Text)+glbPageToken = lens _glbPageToken (\ s a -> s{_glbPageToken = a})++instance AWSRequest GetLoadBalancers where+        type Rs GetLoadBalancers = GetLoadBalancersResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 GetLoadBalancersResponse' <$>+                   (x .?> "nextPageToken") <*>+                     (x .?> "loadBalancers" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetLoadBalancers where++instance NFData GetLoadBalancers where++instance ToHeaders GetLoadBalancers where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.GetLoadBalancers" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetLoadBalancers where+        toJSON GetLoadBalancers'{..}+          = object+              (catMaybes [("pageToken" .=) <$> _glbPageToken])++instance ToPath GetLoadBalancers where+        toPath = const "/"++instance ToQuery GetLoadBalancers where+        toQuery = const mempty++-- | /See:/ 'getLoadBalancersResponse' smart constructor.+data GetLoadBalancersResponse = GetLoadBalancersResponse'+  { _glbsrsNextPageToken  :: !(Maybe Text)+  , _glbsrsLoadBalancers  :: !(Maybe [LoadBalancer])+  , _glbsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoadBalancersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glbsrsNextPageToken' - A token used for advancing to the next page of results from your GetLoadBalancers request.+--+-- * 'glbsrsLoadBalancers' - An array of LoadBalancer objects describing your load balancers.+--+-- * 'glbsrsResponseStatus' - -- | The response status code.+getLoadBalancersResponse+    :: Int -- ^ 'glbsrsResponseStatus'+    -> GetLoadBalancersResponse+getLoadBalancersResponse pResponseStatus_ =+  GetLoadBalancersResponse'+    { _glbsrsNextPageToken = Nothing+    , _glbsrsLoadBalancers = Nothing+    , _glbsrsResponseStatus = pResponseStatus_+    }+++-- | A token used for advancing to the next page of results from your GetLoadBalancers request.+glbsrsNextPageToken :: Lens' GetLoadBalancersResponse (Maybe Text)+glbsrsNextPageToken = lens _glbsrsNextPageToken (\ s a -> s{_glbsrsNextPageToken = a})++-- | An array of LoadBalancer objects describing your load balancers.+glbsrsLoadBalancers :: Lens' GetLoadBalancersResponse [LoadBalancer]+glbsrsLoadBalancers = lens _glbsrsLoadBalancers (\ s a -> s{_glbsrsLoadBalancers = a}) . _Default . _Coerce++-- | -- | The response status code.+glbsrsResponseStatus :: Lens' GetLoadBalancersResponse Int+glbsrsResponseStatus = lens _glbsrsResponseStatus (\ s a -> s{_glbsrsResponseStatus = a})++instance NFData GetLoadBalancersResponse where
gen/Network/AWS/Lightsail/GetOperation.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetOperation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | A GUID used to identify the operation. goOperationId :: Lens' GetOperation Text-goOperationId = lens _goOperationId (\ s a -> s{_goOperationId = a});+goOperationId = lens _goOperationId (\ s a -> s{_goOperationId = a})  instance AWSRequest GetOperation where         type Rs GetOperation = GetOperationResponse@@ -117,15 +117,15 @@     -> GetOperationResponse getOperationResponse pResponseStatus_ =   GetOperationResponse'-  {_gorsOperation = Nothing, _gorsResponseStatus = pResponseStatus_}+    {_gorsOperation = Nothing, _gorsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the results of your get operation request. gorsOperation :: Lens' GetOperationResponse (Maybe Operation)-gorsOperation = lens _gorsOperation (\ s a -> s{_gorsOperation = a});+gorsOperation = lens _gorsOperation (\ s a -> s{_gorsOperation = a})  -- | -- | The response status code. gorsResponseStatus :: Lens' GetOperationResponse Int-gorsResponseStatus = lens _gorsResponseStatus (\ s a -> s{_gorsResponseStatus = a});+gorsResponseStatus = lens _gorsResponseStatus (\ s a -> s{_gorsResponseStatus = a})  instance NFData GetOperationResponse where
gen/Network/AWS/Lightsail/GetOperations.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetOperations--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,7 +68,7 @@  -- | A token used for advancing to the next page of results from your get operations request. goPageToken :: Lens' GetOperations (Maybe Text)-goPageToken = lens _goPageToken (\ s a -> s{_goPageToken = a});+goPageToken = lens _goPageToken (\ s a -> s{_goPageToken = a})  instance AWSPager GetOperations where         page rq rs@@ -134,22 +134,22 @@     -> GetOperationsResponse getOperationsResponse pResponseStatus_ =   GetOperationsResponse'-  { _gosrsNextPageToken = Nothing-  , _gosrsOperations = Nothing-  , _gosrsResponseStatus = pResponseStatus_-  }+    { _gosrsNextPageToken = Nothing+    , _gosrsOperations = Nothing+    , _gosrsResponseStatus = pResponseStatus_+    }   -- | A token used for advancing to the next page of results from your get operations request. gosrsNextPageToken :: Lens' GetOperationsResponse (Maybe Text)-gosrsNextPageToken = lens _gosrsNextPageToken (\ s a -> s{_gosrsNextPageToken = a});+gosrsNextPageToken = lens _gosrsNextPageToken (\ s a -> s{_gosrsNextPageToken = a})  -- | An array of key-value pairs containing information about the results of your get operations request. gosrsOperations :: Lens' GetOperationsResponse [Operation]-gosrsOperations = lens _gosrsOperations (\ s a -> s{_gosrsOperations = a}) . _Default . _Coerce;+gosrsOperations = lens _gosrsOperations (\ s a -> s{_gosrsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. gosrsResponseStatus :: Lens' GetOperationsResponse Int-gosrsResponseStatus = lens _gosrsResponseStatus (\ s a -> s{_gosrsResponseStatus = a});+gosrsResponseStatus = lens _gosrsResponseStatus (\ s a -> s{_gosrsResponseStatus = a})  instance NFData GetOperationsResponse where
gen/Network/AWS/Lightsail/GetOperationsForResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetOperationsForResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,16 +66,16 @@     -> GetOperationsForResource getOperationsForResource pResourceName_ =   GetOperationsForResource'-  {_gofrPageToken = Nothing, _gofrResourceName = pResourceName_}+    {_gofrPageToken = Nothing, _gofrResourceName = pResourceName_}   -- | A token used for advancing to the next page of results from your get operations for resource request. gofrPageToken :: Lens' GetOperationsForResource (Maybe Text)-gofrPageToken = lens _gofrPageToken (\ s a -> s{_gofrPageToken = a});+gofrPageToken = lens _gofrPageToken (\ s a -> s{_gofrPageToken = a})  -- | The name of the resource for which you are requesting information. gofrResourceName :: Lens' GetOperationsForResource Text-gofrResourceName = lens _gofrResourceName (\ s a -> s{_gofrResourceName = a});+gofrResourceName = lens _gofrResourceName (\ s a -> s{_gofrResourceName = a})  instance AWSRequest GetOperationsForResource where         type Rs GetOperationsForResource =@@ -141,28 +141,28 @@     -> GetOperationsForResourceResponse getOperationsForResourceResponse pResponseStatus_ =   GetOperationsForResourceResponse'-  { _gofrrsNextPageCount = Nothing-  , _gofrrsNextPageToken = Nothing-  , _gofrrsOperations = Nothing-  , _gofrrsResponseStatus = pResponseStatus_-  }+    { _gofrrsNextPageCount = Nothing+    , _gofrrsNextPageToken = Nothing+    , _gofrrsOperations = Nothing+    , _gofrrsResponseStatus = pResponseStatus_+    }   -- | (Deprecated) Returns the number of pages of results that remain. gofrrsNextPageCount :: Lens' GetOperationsForResourceResponse (Maybe Text)-gofrrsNextPageCount = lens _gofrrsNextPageCount (\ s a -> s{_gofrrsNextPageCount = a});+gofrrsNextPageCount = lens _gofrrsNextPageCount (\ s a -> s{_gofrrsNextPageCount = a})  -- | 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. gofrrsNextPageToken :: Lens' GetOperationsForResourceResponse (Maybe Text)-gofrrsNextPageToken = lens _gofrrsNextPageToken (\ s a -> s{_gofrrsNextPageToken = a});+gofrrsNextPageToken = lens _gofrrsNextPageToken (\ s a -> s{_gofrrsNextPageToken = a})  -- | An array of key-value pairs containing information about the results of your get operations for resource request. gofrrsOperations :: Lens' GetOperationsForResourceResponse [Operation]-gofrrsOperations = lens _gofrrsOperations (\ s a -> s{_gofrrsOperations = a}) . _Default . _Coerce;+gofrrsOperations = lens _gofrrsOperations (\ s a -> s{_gofrrsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. gofrrsResponseStatus :: Lens' GetOperationsForResourceResponse Int-gofrrsResponseStatus = lens _gofrrsResponseStatus (\ s a -> s{_gofrrsResponseStatus = a});+gofrrsResponseStatus = lens _gofrrsResponseStatus (\ s a -> s{_gofrrsResponseStatus = a})  instance NFData GetOperationsForResourceResponse          where
gen/Network/AWS/Lightsail/GetRegions.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetRegions--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -54,15 +54,15 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'grIncludeAvailabilityZones' - A Boolean value indicating whether to also include Availability Zones in your get regions request. Availability Zones are indicated with a letter: e.g., @us-east-1a@ .+-- * 'grIncludeAvailabilityZones' - A Boolean value indicating whether to also include Availability Zones in your get regions request. Availability Zones are indicated with a letter: e.g., @us-east-2a@ . getRegions     :: GetRegions getRegions = GetRegions' {_grIncludeAvailabilityZones = Nothing}  --- | A Boolean value indicating whether to also include Availability Zones in your get regions request. Availability Zones are indicated with a letter: e.g., @us-east-1a@ .+-- | A Boolean value indicating whether to also include Availability Zones in your get regions request. Availability Zones are indicated with a letter: e.g., @us-east-2a@ . grIncludeAvailabilityZones :: Lens' GetRegions (Maybe Bool)-grIncludeAvailabilityZones = lens _grIncludeAvailabilityZones (\ s a -> s{_grIncludeAvailabilityZones = a});+grIncludeAvailabilityZones = lens _grIncludeAvailabilityZones (\ s a -> s{_grIncludeAvailabilityZones = a})  instance AWSRequest GetRegions where         type Rs GetRegions = GetRegionsResponse@@ -118,15 +118,15 @@     -> GetRegionsResponse getRegionsResponse pResponseStatus_ =   GetRegionsResponse'-  {_grrsRegions = Nothing, _grrsResponseStatus = pResponseStatus_}+    {_grrsRegions = Nothing, _grrsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about your get regions request. grrsRegions :: Lens' GetRegionsResponse [RegionInfo]-grrsRegions = lens _grrsRegions (\ s a -> s{_grrsRegions = a}) . _Default . _Coerce;+grrsRegions = lens _grrsRegions (\ s a -> s{_grrsRegions = a}) . _Default . _Coerce  -- | -- | The response status code. grrsResponseStatus :: Lens' GetRegionsResponse Int-grrsResponseStatus = lens _grrsResponseStatus (\ s a -> s{_grrsResponseStatus = a});+grrsResponseStatus = lens _grrsResponseStatus (\ s a -> s{_grrsResponseStatus = a})  instance NFData GetRegionsResponse where
gen/Network/AWS/Lightsail/GetStaticIP.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetStaticIP--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The name of the static IP in Lightsail. gsiStaticIPName :: Lens' GetStaticIP Text-gsiStaticIPName = lens _gsiStaticIPName (\ s a -> s{_gsiStaticIPName = a});+gsiStaticIPName = lens _gsiStaticIPName (\ s a -> s{_gsiStaticIPName = a})  instance AWSRequest GetStaticIP where         type Rs GetStaticIP = GetStaticIPResponse@@ -118,15 +118,15 @@     -> GetStaticIPResponse getStaticIPResponse pResponseStatus_ =   GetStaticIPResponse'-  {_gsirsStaticIP = Nothing, _gsirsResponseStatus = pResponseStatus_}+    {_gsirsStaticIP = Nothing, _gsirsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the requested static IP. gsirsStaticIP :: Lens' GetStaticIPResponse (Maybe StaticIP)-gsirsStaticIP = lens _gsirsStaticIP (\ s a -> s{_gsirsStaticIP = a});+gsirsStaticIP = lens _gsirsStaticIP (\ s a -> s{_gsirsStaticIP = a})  -- | -- | The response status code. gsirsResponseStatus :: Lens' GetStaticIPResponse Int-gsirsResponseStatus = lens _gsirsResponseStatus (\ s a -> s{_gsirsResponseStatus = a});+gsirsResponseStatus = lens _gsirsResponseStatus (\ s a -> s{_gsirsResponseStatus = a})  instance NFData GetStaticIPResponse where
gen/Network/AWS/Lightsail/GetStaticIPs.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.GetStaticIPs--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,7 +66,7 @@  -- | A token used for advancing to the next page of results from your get static IPs request. gsiPageToken :: Lens' GetStaticIPs (Maybe Text)-gsiPageToken = lens _gsiPageToken (\ s a -> s{_gsiPageToken = a});+gsiPageToken = lens _gsiPageToken (\ s a -> s{_gsiPageToken = a})  instance AWSPager GetStaticIPs where         page rq rs@@ -132,22 +132,22 @@     -> GetStaticIPsResponse getStaticIPsResponse pResponseStatus_ =   GetStaticIPsResponse'-  { _gsiprsNextPageToken = Nothing-  , _gsiprsStaticIPs = Nothing-  , _gsiprsResponseStatus = pResponseStatus_-  }+    { _gsiprsNextPageToken = Nothing+    , _gsiprsStaticIPs = Nothing+    , _gsiprsResponseStatus = pResponseStatus_+    }   -- | A token used for advancing to the next page of results from your get static IPs request. gsiprsNextPageToken :: Lens' GetStaticIPsResponse (Maybe Text)-gsiprsNextPageToken = lens _gsiprsNextPageToken (\ s a -> s{_gsiprsNextPageToken = a});+gsiprsNextPageToken = lens _gsiprsNextPageToken (\ s a -> s{_gsiprsNextPageToken = a})  -- | An array of key-value pairs containing information about your get static IPs request. gsiprsStaticIPs :: Lens' GetStaticIPsResponse [StaticIP]-gsiprsStaticIPs = lens _gsiprsStaticIPs (\ s a -> s{_gsiprsStaticIPs = a}) . _Default . _Coerce;+gsiprsStaticIPs = lens _gsiprsStaticIPs (\ s a -> s{_gsiprsStaticIPs = a}) . _Default . _Coerce  -- | -- | The response status code. gsiprsResponseStatus :: Lens' GetStaticIPsResponse Int-gsiprsResponseStatus = lens _gsiprsResponseStatus (\ s a -> s{_gsiprsResponseStatus = a});+gsiprsResponseStatus = lens _gsiprsResponseStatus (\ s a -> s{_gsiprsResponseStatus = a})  instance NFData GetStaticIPsResponse where
gen/Network/AWS/Lightsail/ImportKeyPair.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.ImportKeyPair--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     -> ImportKeyPair importKeyPair pKeyPairName_ pPublicKeyBase64_ =   ImportKeyPair'-  {_ikpKeyPairName = pKeyPairName_, _ikpPublicKeyBase64 = pPublicKeyBase64_}+    {_ikpKeyPairName = pKeyPairName_, _ikpPublicKeyBase64 = pPublicKeyBase64_}   -- | The name of the key pair for which you want to import the public key. ikpKeyPairName :: Lens' ImportKeyPair Text-ikpKeyPairName = lens _ikpKeyPairName (\ s a -> s{_ikpKeyPairName = a});+ikpKeyPairName = lens _ikpKeyPairName (\ s a -> s{_ikpKeyPairName = a})  -- | A base64-encoded public key of the @ssh-rsa@ type. ikpPublicKeyBase64 :: Lens' ImportKeyPair Text-ikpPublicKeyBase64 = lens _ikpPublicKeyBase64 (\ s a -> s{_ikpPublicKeyBase64 = a});+ikpPublicKeyBase64 = lens _ikpPublicKeyBase64 (\ s a -> s{_ikpPublicKeyBase64 = a})  instance AWSRequest ImportKeyPair where         type Rs ImportKeyPair = ImportKeyPairResponse@@ -130,15 +130,15 @@     -> ImportKeyPairResponse importKeyPairResponse pResponseStatus_ =   ImportKeyPairResponse'-  {_ikprsOperation = Nothing, _ikprsResponseStatus = pResponseStatus_}+    {_ikprsOperation = Nothing, _ikprsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the request operation. ikprsOperation :: Lens' ImportKeyPairResponse (Maybe Operation)-ikprsOperation = lens _ikprsOperation (\ s a -> s{_ikprsOperation = a});+ikprsOperation = lens _ikprsOperation (\ s a -> s{_ikprsOperation = a})  -- | -- | The response status code. ikprsResponseStatus :: Lens' ImportKeyPairResponse Int-ikprsResponseStatus = lens _ikprsResponseStatus (\ s a -> s{_ikprsResponseStatus = a});+ikprsResponseStatus = lens _ikprsResponseStatus (\ s a -> s{_ikprsResponseStatus = a})  instance NFData ImportKeyPairResponse where
gen/Network/AWS/Lightsail/IsVPCPeered.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.IsVPCPeered--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -105,15 +105,15 @@     -> IsVPCPeeredResponse isVPCPeeredResponse pResponseStatus_ =   IsVPCPeeredResponse'-  {_ivprsIsPeered = Nothing, _ivprsResponseStatus = pResponseStatus_}+    {_ivprsIsPeered = Nothing, _ivprsResponseStatus = pResponseStatus_}   -- | Returns @true@ if the Lightsail VPC is peered; otherwise, @false@ . ivprsIsPeered :: Lens' IsVPCPeeredResponse (Maybe Bool)-ivprsIsPeered = lens _ivprsIsPeered (\ s a -> s{_ivprsIsPeered = a});+ivprsIsPeered = lens _ivprsIsPeered (\ s a -> s{_ivprsIsPeered = a})  -- | -- | The response status code. ivprsResponseStatus :: Lens' IsVPCPeeredResponse Int-ivprsResponseStatus = lens _ivprsResponseStatus (\ s a -> s{_ivprsResponseStatus = a});+ivprsResponseStatus = lens _ivprsResponseStatus (\ s a -> s{_ivprsResponseStatus = a})  instance NFData IsVPCPeeredResponse where
gen/Network/AWS/Lightsail/OpenInstancePublicPorts.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.OpenInstancePublicPorts--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     -> OpenInstancePublicPorts openInstancePublicPorts pPortInfo_ pInstanceName_ =   OpenInstancePublicPorts'-  {_oippPortInfo = pPortInfo_, _oippInstanceName = pInstanceName_}+    {_oippPortInfo = pPortInfo_, _oippInstanceName = pInstanceName_}   -- | An array of key-value pairs containing information about the port mappings. oippPortInfo :: Lens' OpenInstancePublicPorts PortInfo-oippPortInfo = lens _oippPortInfo (\ s a -> s{_oippPortInfo = a});+oippPortInfo = lens _oippPortInfo (\ s a -> s{_oippPortInfo = a})  -- | The name of the instance for which you want to open the public ports. oippInstanceName :: Lens' OpenInstancePublicPorts Text-oippInstanceName = lens _oippInstanceName (\ s a -> s{_oippInstanceName = a});+oippInstanceName = lens _oippInstanceName (\ s a -> s{_oippInstanceName = a})  instance AWSRequest OpenInstancePublicPorts where         type Rs OpenInstancePublicPorts =@@ -132,15 +132,15 @@     -> OpenInstancePublicPortsResponse openInstancePublicPortsResponse pResponseStatus_ =   OpenInstancePublicPortsResponse'-  {_oipprsOperation = Nothing, _oipprsResponseStatus = pResponseStatus_}+    {_oipprsOperation = Nothing, _oipprsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the request operation. oipprsOperation :: Lens' OpenInstancePublicPortsResponse (Maybe Operation)-oipprsOperation = lens _oipprsOperation (\ s a -> s{_oipprsOperation = a});+oipprsOperation = lens _oipprsOperation (\ s a -> s{_oipprsOperation = a})  -- | -- | The response status code. oipprsResponseStatus :: Lens' OpenInstancePublicPortsResponse Int-oipprsResponseStatus = lens _oipprsResponseStatus (\ s a -> s{_oipprsResponseStatus = a});+oipprsResponseStatus = lens _oipprsResponseStatus (\ s a -> s{_oipprsResponseStatus = a})  instance NFData OpenInstancePublicPortsResponse where
gen/Network/AWS/Lightsail/PeerVPC.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.PeerVPC--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -105,15 +105,15 @@     -> PeerVPCResponse peerVPCResponse pResponseStatus_ =   PeerVPCResponse'-  {_pvrsOperation = Nothing, _pvrsResponseStatus = pResponseStatus_}+    {_pvrsOperation = Nothing, _pvrsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the request operation. pvrsOperation :: Lens' PeerVPCResponse (Maybe Operation)-pvrsOperation = lens _pvrsOperation (\ s a -> s{_pvrsOperation = a});+pvrsOperation = lens _pvrsOperation (\ s a -> s{_pvrsOperation = a})  -- | -- | The response status code. pvrsResponseStatus :: Lens' PeerVPCResponse Int-pvrsResponseStatus = lens _pvrsResponseStatus (\ s a -> s{_pvrsResponseStatus = a});+pvrsResponseStatus = lens _pvrsResponseStatus (\ s a -> s{_pvrsResponseStatus = a})  instance NFData PeerVPCResponse where
gen/Network/AWS/Lightsail/PutInstancePublicPorts.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.PutInstancePublicPorts--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,16 +64,16 @@     -> PutInstancePublicPorts putInstancePublicPorts pInstanceName_ =   PutInstancePublicPorts'-  {_pippPortInfos = mempty, _pippInstanceName = pInstanceName_}+    {_pippPortInfos = mempty, _pippInstanceName = pInstanceName_}   -- | Specifies information about the public port(s). pippPortInfos :: Lens' PutInstancePublicPorts [PortInfo]-pippPortInfos = lens _pippPortInfos (\ s a -> s{_pippPortInfos = a}) . _Coerce;+pippPortInfos = lens _pippPortInfos (\ s a -> s{_pippPortInfos = a}) . _Coerce  -- | The Lightsail instance name of the public port(s) you are setting. pippInstanceName :: Lens' PutInstancePublicPorts Text-pippInstanceName = lens _pippInstanceName (\ s a -> s{_pippInstanceName = a});+pippInstanceName = lens _pippInstanceName (\ s a -> s{_pippInstanceName = a})  instance AWSRequest PutInstancePublicPorts where         type Rs PutInstancePublicPorts =@@ -131,15 +131,15 @@     -> PutInstancePublicPortsResponse putInstancePublicPortsResponse pResponseStatus_ =   PutInstancePublicPortsResponse'-  {_pipprsOperation = Nothing, _pipprsResponseStatus = pResponseStatus_}+    {_pipprsOperation = Nothing, _pipprsResponseStatus = pResponseStatus_}   -- | Describes metadata about the operation you just executed. pipprsOperation :: Lens' PutInstancePublicPortsResponse (Maybe Operation)-pipprsOperation = lens _pipprsOperation (\ s a -> s{_pipprsOperation = a});+pipprsOperation = lens _pipprsOperation (\ s a -> s{_pipprsOperation = a})  -- | -- | The response status code. pipprsResponseStatus :: Lens' PutInstancePublicPortsResponse Int-pipprsResponseStatus = lens _pipprsResponseStatus (\ s a -> s{_pipprsResponseStatus = a});+pipprsResponseStatus = lens _pipprsResponseStatus (\ s a -> s{_pipprsResponseStatus = a})  instance NFData PutInstancePublicPortsResponse where
gen/Network/AWS/Lightsail/RebootInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.RebootInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The name of the instance to reboot. riInstanceName :: Lens' RebootInstance Text-riInstanceName = lens _riInstanceName (\ s a -> s{_riInstanceName = a});+riInstanceName = lens _riInstanceName (\ s a -> s{_riInstanceName = a})  instance AWSRequest RebootInstance where         type Rs RebootInstance = RebootInstanceResponse@@ -112,7 +112,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'rirsOperations' - An array of key-value pairs containing information about the request operation.+-- * 'rirsOperations' - An array of key-value pairs containing information about the request operations. -- -- * 'rirsResponseStatus' - -- | The response status code. rebootInstanceResponse@@ -120,15 +120,15 @@     -> RebootInstanceResponse rebootInstanceResponse pResponseStatus_ =   RebootInstanceResponse'-  {_rirsOperations = Nothing, _rirsResponseStatus = pResponseStatus_}+    {_rirsOperations = Nothing, _rirsResponseStatus = pResponseStatus_}  --- | An array of key-value pairs containing information about the request operation.+-- | An array of key-value pairs containing information about the request operations. rirsOperations :: Lens' RebootInstanceResponse [Operation]-rirsOperations = lens _rirsOperations (\ s a -> s{_rirsOperations = a}) . _Default . _Coerce;+rirsOperations = lens _rirsOperations (\ s a -> s{_rirsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. rirsResponseStatus :: Lens' RebootInstanceResponse Int-rirsResponseStatus = lens _rirsResponseStatus (\ s a -> s{_rirsResponseStatus = a});+rirsResponseStatus = lens _rirsResponseStatus (\ s a -> s{_rirsResponseStatus = a})  instance NFData RebootInstanceResponse where
gen/Network/AWS/Lightsail/ReleaseStaticIP.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.ReleaseStaticIP--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The name of the static IP to delete. rsiStaticIPName :: Lens' ReleaseStaticIP Text-rsiStaticIPName = lens _rsiStaticIPName (\ s a -> s{_rsiStaticIPName = a});+rsiStaticIPName = lens _rsiStaticIPName (\ s a -> s{_rsiStaticIPName = a})  instance AWSRequest ReleaseStaticIP where         type Rs ReleaseStaticIP = ReleaseStaticIPResponse@@ -120,15 +120,15 @@     -> ReleaseStaticIPResponse releaseStaticIPResponse pResponseStatus_ =   ReleaseStaticIPResponse'-  {_rsirsOperations = Nothing, _rsirsResponseStatus = pResponseStatus_}+    {_rsirsOperations = Nothing, _rsirsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the request operation. rsirsOperations :: Lens' ReleaseStaticIPResponse [Operation]-rsirsOperations = lens _rsirsOperations (\ s a -> s{_rsirsOperations = a}) . _Default . _Coerce;+rsirsOperations = lens _rsirsOperations (\ s a -> s{_rsirsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. rsirsResponseStatus :: Lens' ReleaseStaticIPResponse Int-rsirsResponseStatus = lens _rsirsResponseStatus (\ s a -> s{_rsirsResponseStatus = a});+rsirsResponseStatus = lens _rsirsResponseStatus (\ s a -> s{_rsirsResponseStatus = a})  instance NFData ReleaseStaticIPResponse where
gen/Network/AWS/Lightsail/StartInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.StartInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The name of the instance (a virtual private server) to start. sInstanceName :: Lens' StartInstance Text-sInstanceName = lens _sInstanceName (\ s a -> s{_sInstanceName = a});+sInstanceName = lens _sInstanceName (\ s a -> s{_sInstanceName = a})  instance AWSRequest StartInstance where         type Rs StartInstance = StartInstanceResponse@@ -118,15 +118,15 @@     -> StartInstanceResponse startInstanceResponse pResponseStatus_ =   StartInstanceResponse'-  {_srsOperations = Nothing, _srsResponseStatus = pResponseStatus_}+    {_srsOperations = Nothing, _srsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the request operation. srsOperations :: Lens' StartInstanceResponse [Operation]-srsOperations = lens _srsOperations (\ s a -> s{_srsOperations = a}) . _Default . _Coerce;+srsOperations = lens _srsOperations (\ s a -> s{_srsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. srsResponseStatus :: Lens' StartInstanceResponse Int-srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});+srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a})  instance NFData StartInstanceResponse where
gen/Network/AWS/Lightsail/StopInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.StopInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -27,6 +27,7 @@       stopInstance     , StopInstance     -- * Request Lenses+    , siForce     , siInstanceName      -- * Destructuring the Response@@ -45,8 +46,9 @@ import Network.AWS.Response  -- | /See:/ 'stopInstance' smart constructor.-newtype StopInstance = StopInstance'-  { _siInstanceName :: Text+data StopInstance = StopInstance'+  { _siForce        :: !(Maybe Bool)+  , _siInstanceName :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -54,16 +56,23 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'siForce' - When set to @True@ , forces a Lightsail instance that is stuck in a @stopping@ state to stop. /Important:/ Only use the @force@ parameter if your instance is stuck in the @stopping@ state. In any other state, your instance should stop normally without adding this parameter to your API request.+-- -- * 'siInstanceName' - The name of the instance (a virtual private server) to stop. stopInstance     :: Text -- ^ 'siInstanceName'     -> StopInstance-stopInstance pInstanceName_ = StopInstance' {_siInstanceName = pInstanceName_}+stopInstance pInstanceName_ =+  StopInstance' {_siForce = Nothing, _siInstanceName = pInstanceName_}  +-- | When set to @True@ , forces a Lightsail instance that is stuck in a @stopping@ state to stop. /Important:/ Only use the @force@ parameter if your instance is stuck in the @stopping@ state. In any other state, your instance should stop normally without adding this parameter to your API request.+siForce :: Lens' StopInstance (Maybe Bool)+siForce = lens _siForce (\ s a -> s{_siForce = a})+ -- | The name of the instance (a virtual private server) to stop. siInstanceName :: Lens' StopInstance Text-siInstanceName = lens _siInstanceName (\ s a -> s{_siInstanceName = a});+siInstanceName = lens _siInstanceName (\ s a -> s{_siInstanceName = a})  instance AWSRequest StopInstance where         type Rs StopInstance = StopInstanceResponse@@ -92,7 +101,8 @@         toJSON StopInstance'{..}           = object               (catMaybes-                 [Just ("instanceName" .= _siInstanceName)])+                 [("force" .=) <$> _siForce,+                  Just ("instanceName" .= _siInstanceName)])  instance ToPath StopInstance where         toPath = const "/"@@ -119,15 +129,15 @@     -> StopInstanceResponse stopInstanceResponse pResponseStatus_ =   StopInstanceResponse'-  {_sirsOperations = Nothing, _sirsResponseStatus = pResponseStatus_}+    {_sirsOperations = Nothing, _sirsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the request operation. sirsOperations :: Lens' StopInstanceResponse [Operation]-sirsOperations = lens _sirsOperations (\ s a -> s{_sirsOperations = a}) . _Default . _Coerce;+sirsOperations = lens _sirsOperations (\ s a -> s{_sirsOperations = a}) . _Default . _Coerce  -- | -- | The response status code. sirsResponseStatus :: Lens' StopInstanceResponse Int-sirsResponseStatus = lens _sirsResponseStatus (\ s a -> s{_sirsResponseStatus = a});+sirsResponseStatus = lens _sirsResponseStatus (\ s a -> s{_sirsResponseStatus = a})  instance NFData StopInstanceResponse where
gen/Network/AWS/Lightsail/Types.hs view
@@ -4,7 +4,7 @@  -- | -- Module      : Network.AWS.Lightsail.Types--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -30,9 +30,21 @@     -- * BlueprintType     , BlueprintType (..) +    -- * DiskSnapshotState+    , DiskSnapshotState (..)++    -- * DiskState+    , DiskState (..)+     -- * InstanceAccessProtocol     , InstanceAccessProtocol (..) +    -- * InstanceHealthReason+    , InstanceHealthReason (..)++    -- * InstanceHealthState+    , InstanceHealthState (..)+     -- * InstanceMetricName     , InstanceMetricName (..) @@ -42,6 +54,33 @@     -- * InstanceSnapshotState     , InstanceSnapshotState (..) +    -- * LoadBalancerAttributeName+    , LoadBalancerAttributeName (..)++    -- * LoadBalancerMetricName+    , LoadBalancerMetricName (..)++    -- * LoadBalancerProtocol+    , LoadBalancerProtocol (..)++    -- * LoadBalancerState+    , LoadBalancerState (..)++    -- * LoadBalancerTLSCertificateDomainStatus+    , LoadBalancerTLSCertificateDomainStatus (..)++    -- * LoadBalancerTLSCertificateFailureReason+    , LoadBalancerTLSCertificateFailureReason (..)++    -- * LoadBalancerTLSCertificateRenewalStatus+    , LoadBalancerTLSCertificateRenewalStatus (..)++    -- * LoadBalancerTLSCertificateRevocationReason+    , LoadBalancerTLSCertificateRevocationReason (..)++    -- * LoadBalancerTLSCertificateStatus+    , LoadBalancerTLSCertificateStatus (..)+     -- * MetricStatistic     , MetricStatistic (..) @@ -109,6 +148,7 @@     -- * Disk     , Disk     , disk+    , dState     , dResourceType     , dArn     , dPath@@ -124,6 +164,27 @@     , dAttachedTo     , dGbInUse +    -- * DiskMap+    , DiskMap+    , diskMap+    , dmNewDiskName+    , dmOriginalDiskPath++    -- * DiskSnapshot+    , DiskSnapshot+    , diskSnapshot+    , dsFromDiskName+    , dsState+    , dsResourceType+    , dsArn+    , dsCreatedAt+    , dsLocation+    , dsProgress+    , dsName+    , dsSizeInGb+    , dsSupportCode+    , dsFromDiskARN+     -- * Domain     , Domain     , domain@@ -138,6 +199,7 @@     -- * DomainEntry     , DomainEntry     , domainEntry+    , deIsAlias     , deName     , deId     , deOptions@@ -186,6 +248,13 @@     , ihDisks     , ihRamSizeInGb +    -- * InstanceHealthSummary+    , InstanceHealthSummary+    , instanceHealthSummary+    , ihsInstanceHealth+    , ihsInstanceName+    , ihsInstanceHealthReason+     -- * InstanceNetworking     , InstanceNetworking     , instanceNetworking@@ -217,6 +286,7 @@     , insFromBlueprintId     , insState     , insResourceType+    , insFromAttachedDisks     , insArn     , insCreatedAt     , insLocation@@ -245,6 +315,80 @@     , kpName     , kpSupportCode +    -- * LoadBalancer+    , LoadBalancer+    , loadBalancer+    , lbHealthCheckPath+    , lbState+    , lbResourceType+    , lbArn+    , lbCreatedAt+    , lbLocation+    , lbInstancePort+    , lbConfigurationOptions+    , lbProtocol+    , lbTlsCertificateSummaries+    , lbName+    , lbSupportCode+    , lbPublicPorts+    , lbDnsName+    , lbInstanceHealthSummary++    -- * LoadBalancerTLSCertificate+    , LoadBalancerTLSCertificate+    , loadBalancerTLSCertificate+    , lbtcFailureReason+    , lbtcSubject+    , lbtcStatus+    , lbtcSubjectAlternativeNames+    , lbtcResourceType+    , lbtcArn+    , lbtcCreatedAt+    , lbtcLocation+    , lbtcLoadBalancerName+    , lbtcSerial+    , lbtcIsAttached+    , lbtcRevokedAt+    , lbtcNotBefore+    , lbtcRevocationReason+    , lbtcDomainName+    , lbtcName+    , lbtcRenewalSummary+    , lbtcSupportCode+    , lbtcDomainValidationRecords+    , lbtcIssuedAt+    , lbtcKeyAlgorithm+    , lbtcSignatureAlgorithm+    , lbtcIssuer+    , lbtcNotAfter++    -- * LoadBalancerTLSCertificateDomainValidationOption+    , LoadBalancerTLSCertificateDomainValidationOption+    , loadBalancerTLSCertificateDomainValidationOption+    , lbtcdvoDomainName+    , lbtcdvoValidationStatus++    -- * LoadBalancerTLSCertificateDomainValidationRecord+    , LoadBalancerTLSCertificateDomainValidationRecord+    , loadBalancerTLSCertificateDomainValidationRecord+    , lbtcdvrValue+    , lbtcdvrDomainName+    , lbtcdvrName+    , lbtcdvrValidationStatus+    , lbtcdvrType++    -- * LoadBalancerTLSCertificateRenewalSummary+    , LoadBalancerTLSCertificateRenewalSummary+    , loadBalancerTLSCertificateRenewalSummary+    , lbtcrsRenewalStatus+    , lbtcrsDomainValidationOptions++    -- * LoadBalancerTLSCertificateSummary+    , LoadBalancerTLSCertificateSummary+    , loadBalancerTLSCertificateSummary+    , lbtcsIsAttached+    , lbtcsName+     -- * MetricDatapoint     , MetricDatapoint     , metricDatapoint@@ -329,24 +473,24 @@ lightsail :: Service lightsail =   Service-  { _svcAbbrev = "Lightsail"-  , _svcSigner = v4-  , _svcPrefix = "lightsail"-  , _svcVersion = "2016-11-28"-  , _svcEndpoint = defaultEndpoint lightsail-  , _svcTimeout = Just 70-  , _svcCheck = statusSuccess-  , _svcError = parseJSONError "Lightsail"-  , _svcRetry = retry-  }+    { _svcAbbrev = "Lightsail"+    , _svcSigner = v4+    , _svcPrefix = "lightsail"+    , _svcVersion = "2016-11-28"+    , _svcEndpoint = defaultEndpoint lightsail+    , _svcTimeout = Just 70+    , _svcCheck = statusSuccess+    , _svcError = parseJSONError "Lightsail"+    , _svcRetry = retry+    }   where     retry =       Exponential-      { _retryBase = 5.0e-2-      , _retryGrowth = 2-      , _retryAttempts = 5-      , _retryCheck = check-      }+        { _retryBase = 5.0e-2+        , _retryGrowth = 2+        , _retryAttempts = 5+        , _retryCheck = check+        }     check e       | has (hasCode "ThrottledException" . hasStatus 400) e =         Just "throttled_exception"@@ -355,6 +499,8 @@         Just "throttling_exception"       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"       | has (hasStatus 504) e = Just "gateway_timeout"+      | has (hasCode "RequestThrottledException" . hasStatus 400) e =+        Just "request_throttled_exception"       | has (hasStatus 502) e = Just "bad_gateway"       | has (hasStatus 503) e = Just "service_unavailable"       | has (hasStatus 500) e = Just "general_server_error"
gen/Network/AWS/Lightsail/Types/Product.hs view
@@ -9,2039 +9,2929 @@  -- | -- Module      : Network.AWS.Lightsail.Types.Product--- 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.Lightsail.Types.Product where--import Network.AWS.Lens-import Network.AWS.Lightsail.Types.Sum-import Network.AWS.Prelude---- | Describes an Availability Zone.------------ /See:/ 'availabilityZone' smart constructor.-data AvailabilityZone = AvailabilityZone'-  { _azState    :: !(Maybe Text)-  , _azZoneName :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AvailabilityZone' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'azState' - The state of the Availability Zone.------ * 'azZoneName' - The name of the Availability Zone. The format is @us-east-1a@ (case-sensitive).-availabilityZone-    :: AvailabilityZone-availabilityZone = AvailabilityZone' {_azState = Nothing, _azZoneName = Nothing}----- | The state of the Availability Zone.-azState :: Lens' AvailabilityZone (Maybe Text)-azState = lens _azState (\ s a -> s{_azState = a});---- | The name of the Availability Zone. The format is @us-east-1a@ (case-sensitive).-azZoneName :: Lens' AvailabilityZone (Maybe Text)-azZoneName = lens _azZoneName (\ s a -> s{_azZoneName = a});--instance FromJSON AvailabilityZone where-        parseJSON-          = withObject "AvailabilityZone"-              (\ x ->-                 AvailabilityZone' <$>-                   (x .:? "state") <*> (x .:? "zoneName"))--instance Hashable AvailabilityZone where--instance NFData AvailabilityZone where---- | Describes a blueprint (a virtual private server image).------------ /See:/ 'blueprint' smart constructor.-data Blueprint = Blueprint'-  { _bVersionCode :: !(Maybe Text)-  , _bPlatform    :: !(Maybe InstancePlatform)-  , _bGroup       :: !(Maybe Text)-  , _bMinPower    :: !(Maybe Int)-  , _bProductURL  :: !(Maybe Text)-  , _bLicenseURL  :: !(Maybe Text)-  , _bName        :: !(Maybe Text)-  , _bVersion     :: !(Maybe Text)-  , _bBlueprintId :: !(Maybe Text)-  , _bType        :: !(Maybe BlueprintType)-  , _bIsActive    :: !(Maybe Bool)-  , _bDescription :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Blueprint' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bVersionCode' - The version code.------ * 'bPlatform' - The operating system platform (either Linux/Unix-based or Windows Server-based) of the blueprint.------ * 'bGroup' - The group name of the blueprint (e.g., @amazon-linux@ ).------ * 'bMinPower' - The minimum bundle power required to run this blueprint. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500. @0@ indicates that the blueprint runs on all instance sizes.------ * 'bProductURL' - The product URL to learn more about the image or blueprint.------ * 'bLicenseURL' - The end-user license agreement URL for the image or blueprint.------ * 'bName' - The friendly name of the blueprint (e.g., @Amazon Linux@ ).------ * 'bVersion' - The version number of the operating system, application, or stack (e.g., @2016.03.0@ ).------ * 'bBlueprintId' - The ID for the virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ).------ * 'bType' - The type of the blueprint (e.g., @os@ or @app@ ).------ * 'bIsActive' - A Boolean value indicating whether the blueprint is active. When you update your blueprints, you will inactivate old blueprints and keep the most recent versions active.------ * 'bDescription' - The description of the blueprint.-blueprint-    :: Blueprint-blueprint =-  Blueprint'-  { _bVersionCode = Nothing-  , _bPlatform = Nothing-  , _bGroup = Nothing-  , _bMinPower = Nothing-  , _bProductURL = Nothing-  , _bLicenseURL = Nothing-  , _bName = Nothing-  , _bVersion = Nothing-  , _bBlueprintId = Nothing-  , _bType = Nothing-  , _bIsActive = Nothing-  , _bDescription = Nothing-  }----- | The version code.-bVersionCode :: Lens' Blueprint (Maybe Text)-bVersionCode = lens _bVersionCode (\ s a -> s{_bVersionCode = a});---- | The operating system platform (either Linux/Unix-based or Windows Server-based) of the blueprint.-bPlatform :: Lens' Blueprint (Maybe InstancePlatform)-bPlatform = lens _bPlatform (\ s a -> s{_bPlatform = a});---- | The group name of the blueprint (e.g., @amazon-linux@ ).-bGroup :: Lens' Blueprint (Maybe Text)-bGroup = lens _bGroup (\ s a -> s{_bGroup = a});---- | The minimum bundle power required to run this blueprint. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500. @0@ indicates that the blueprint runs on all instance sizes.-bMinPower :: Lens' Blueprint (Maybe Int)-bMinPower = lens _bMinPower (\ s a -> s{_bMinPower = a});---- | The product URL to learn more about the image or blueprint.-bProductURL :: Lens' Blueprint (Maybe Text)-bProductURL = lens _bProductURL (\ s a -> s{_bProductURL = a});---- | The end-user license agreement URL for the image or blueprint.-bLicenseURL :: Lens' Blueprint (Maybe Text)-bLicenseURL = lens _bLicenseURL (\ s a -> s{_bLicenseURL = a});---- | The friendly name of the blueprint (e.g., @Amazon Linux@ ).-bName :: Lens' Blueprint (Maybe Text)-bName = lens _bName (\ s a -> s{_bName = a});---- | The version number of the operating system, application, or stack (e.g., @2016.03.0@ ).-bVersion :: Lens' Blueprint (Maybe Text)-bVersion = lens _bVersion (\ s a -> s{_bVersion = a});---- | The ID for the virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ).-bBlueprintId :: Lens' Blueprint (Maybe Text)-bBlueprintId = lens _bBlueprintId (\ s a -> s{_bBlueprintId = a});---- | The type of the blueprint (e.g., @os@ or @app@ ).-bType :: Lens' Blueprint (Maybe BlueprintType)-bType = lens _bType (\ s a -> s{_bType = a});---- | A Boolean value indicating whether the blueprint is active. When you update your blueprints, you will inactivate old blueprints and keep the most recent versions active.-bIsActive :: Lens' Blueprint (Maybe Bool)-bIsActive = lens _bIsActive (\ s a -> s{_bIsActive = a});---- | The description of the blueprint.-bDescription :: Lens' Blueprint (Maybe Text)-bDescription = lens _bDescription (\ s a -> s{_bDescription = a});--instance FromJSON Blueprint where-        parseJSON-          = withObject "Blueprint"-              (\ x ->-                 Blueprint' <$>-                   (x .:? "versionCode") <*> (x .:? "platform") <*>-                     (x .:? "group")-                     <*> (x .:? "minPower")-                     <*> (x .:? "productUrl")-                     <*> (x .:? "licenseUrl")-                     <*> (x .:? "name")-                     <*> (x .:? "version")-                     <*> (x .:? "blueprintId")-                     <*> (x .:? "type")-                     <*> (x .:? "isActive")-                     <*> (x .:? "description"))--instance Hashable Blueprint where--instance NFData Blueprint where---- | Describes a bundle, which is a set of specs describing your virtual private server (or /instance/ ).------------ /See:/ 'bundle' smart constructor.-data Bundle = Bundle'-  { _bunCpuCount             :: !(Maybe Int)-  , _bunTransferPerMonthInGb :: !(Maybe Int)-  , _bunBundleId             :: !(Maybe Text)-  , _bunInstanceType         :: !(Maybe Text)-  , _bunName                 :: !(Maybe Text)-  , _bunPower                :: !(Maybe Int)-  , _bunDiskSizeInGb         :: !(Maybe Int)-  , _bunSupportedPlatforms   :: !(Maybe [InstancePlatform])-  , _bunPrice                :: !(Maybe Double)-  , _bunIsActive             :: !(Maybe Bool)-  , _bunRamSizeInGb          :: !(Maybe Double)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Bundle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bunCpuCount' - The number of vCPUs included in the bundle (e.g., @2@ ).------ * 'bunTransferPerMonthInGb' - The data transfer rate per month in GB (e.g., @2000@ ).------ * 'bunBundleId' - The bundle ID (e.g., @micro_1_0@ ).------ * 'bunInstanceType' - The Amazon EC2 instance type (e.g., @t2.micro@ ).------ * 'bunName' - A friendly name for the bundle (e.g., @Micro@ ).------ * 'bunPower' - A numeric value that represents the power of the bundle (e.g., @500@ ). You can use the bundle's power value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500.------ * 'bunDiskSizeInGb' - The size of the SSD (e.g., @30@ ).------ * 'bunSupportedPlatforms' - The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only launch a @WINDOWS@ bundle on a blueprint that supports the @WINDOWS@ platform. @LINUX_UNIX@ blueprints require a @LINUX_UNIX@ bundle.------ * 'bunPrice' - The price in US dollars (e.g., @5.0@ ).------ * 'bunIsActive' - A Boolean value indicating whether the bundle is active.------ * 'bunRamSizeInGb' - The amount of RAM in GB (e.g., @2.0@ ).-bundle-    :: Bundle-bundle =-  Bundle'-  { _bunCpuCount = Nothing-  , _bunTransferPerMonthInGb = Nothing-  , _bunBundleId = Nothing-  , _bunInstanceType = Nothing-  , _bunName = Nothing-  , _bunPower = Nothing-  , _bunDiskSizeInGb = Nothing-  , _bunSupportedPlatforms = Nothing-  , _bunPrice = Nothing-  , _bunIsActive = Nothing-  , _bunRamSizeInGb = Nothing-  }----- | The number of vCPUs included in the bundle (e.g., @2@ ).-bunCpuCount :: Lens' Bundle (Maybe Int)-bunCpuCount = lens _bunCpuCount (\ s a -> s{_bunCpuCount = a});---- | The data transfer rate per month in GB (e.g., @2000@ ).-bunTransferPerMonthInGb :: Lens' Bundle (Maybe Int)-bunTransferPerMonthInGb = lens _bunTransferPerMonthInGb (\ s a -> s{_bunTransferPerMonthInGb = a});---- | The bundle ID (e.g., @micro_1_0@ ).-bunBundleId :: Lens' Bundle (Maybe Text)-bunBundleId = lens _bunBundleId (\ s a -> s{_bunBundleId = a});---- | The Amazon EC2 instance type (e.g., @t2.micro@ ).-bunInstanceType :: Lens' Bundle (Maybe Text)-bunInstanceType = lens _bunInstanceType (\ s a -> s{_bunInstanceType = a});---- | A friendly name for the bundle (e.g., @Micro@ ).-bunName :: Lens' Bundle (Maybe Text)-bunName = lens _bunName (\ s a -> s{_bunName = a});---- | A numeric value that represents the power of the bundle (e.g., @500@ ). You can use the bundle's power value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500.-bunPower :: Lens' Bundle (Maybe Int)-bunPower = lens _bunPower (\ s a -> s{_bunPower = a});---- | The size of the SSD (e.g., @30@ ).-bunDiskSizeInGb :: Lens' Bundle (Maybe Int)-bunDiskSizeInGb = lens _bunDiskSizeInGb (\ s a -> s{_bunDiskSizeInGb = a});---- | The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only launch a @WINDOWS@ bundle on a blueprint that supports the @WINDOWS@ platform. @LINUX_UNIX@ blueprints require a @LINUX_UNIX@ bundle.-bunSupportedPlatforms :: Lens' Bundle [InstancePlatform]-bunSupportedPlatforms = lens _bunSupportedPlatforms (\ s a -> s{_bunSupportedPlatforms = a}) . _Default . _Coerce;---- | The price in US dollars (e.g., @5.0@ ).-bunPrice :: Lens' Bundle (Maybe Double)-bunPrice = lens _bunPrice (\ s a -> s{_bunPrice = a});---- | A Boolean value indicating whether the bundle is active.-bunIsActive :: Lens' Bundle (Maybe Bool)-bunIsActive = lens _bunIsActive (\ s a -> s{_bunIsActive = a});---- | The amount of RAM in GB (e.g., @2.0@ ).-bunRamSizeInGb :: Lens' Bundle (Maybe Double)-bunRamSizeInGb = lens _bunRamSizeInGb (\ s a -> s{_bunRamSizeInGb = a});--instance FromJSON Bundle where-        parseJSON-          = withObject "Bundle"-              (\ x ->-                 Bundle' <$>-                   (x .:? "cpuCount") <*> (x .:? "transferPerMonthInGb")-                     <*> (x .:? "bundleId")-                     <*> (x .:? "instanceType")-                     <*> (x .:? "name")-                     <*> (x .:? "power")-                     <*> (x .:? "diskSizeInGb")-                     <*> (x .:? "supportedPlatforms" .!= mempty)-                     <*> (x .:? "price")-                     <*> (x .:? "isActive")-                     <*> (x .:? "ramSizeInGb"))--instance Hashable Bundle where--instance NFData Bundle where---- | Describes the hard disk (an SSD).------------ /See:/ 'disk' smart constructor.-data Disk = Disk'-  { _dResourceType    :: !(Maybe ResourceType)-  , _dArn             :: !(Maybe Text)-  , _dPath            :: !(Maybe Text)-  , _dCreatedAt       :: !(Maybe POSIX)-  , _dLocation        :: !(Maybe ResourceLocation)-  , _dIops            :: !(Maybe Int)-  , _dIsAttached      :: !(Maybe Bool)-  , _dAttachmentState :: !(Maybe Text)-  , _dName            :: !(Maybe Text)-  , _dSizeInGb        :: !(Maybe Int)-  , _dSupportCode     :: !(Maybe Text)-  , _dIsSystemDisk    :: !(Maybe Bool)-  , _dAttachedTo      :: !(Maybe Text)-  , _dGbInUse         :: !(Maybe Int)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Disk' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dResourceType' - The resource type of the disk.------ * 'dArn' - The Amazon Resource Name (ARN) of the disk.------ * 'dPath' - The disk path.------ * 'dCreatedAt' - The date when the disk was created.------ * 'dLocation' - The region and Availability Zone where the disk is located.------ * 'dIops' - The input/output operations per second (IOPS) of the disk.------ * 'dIsAttached' - A Boolean value indicating whether the disk is attached.------ * 'dAttachmentState' - The attachment state of the disk.------ * 'dName' - The name of the disk.------ * 'dSizeInGb' - The size of the disk in GB.------ * 'dSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.------ * 'dIsSystemDisk' - A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).------ * 'dAttachedTo' - The resources to which the disk is attached.------ * 'dGbInUse' - The number of GB in use by the disk.-disk-    :: Disk-disk =-  Disk'-  { _dResourceType = Nothing-  , _dArn = Nothing-  , _dPath = Nothing-  , _dCreatedAt = Nothing-  , _dLocation = Nothing-  , _dIops = Nothing-  , _dIsAttached = Nothing-  , _dAttachmentState = Nothing-  , _dName = Nothing-  , _dSizeInGb = Nothing-  , _dSupportCode = Nothing-  , _dIsSystemDisk = Nothing-  , _dAttachedTo = Nothing-  , _dGbInUse = Nothing-  }----- | The resource type of the disk.-dResourceType :: Lens' Disk (Maybe ResourceType)-dResourceType = lens _dResourceType (\ s a -> s{_dResourceType = a});---- | The Amazon Resource Name (ARN) of the disk.-dArn :: Lens' Disk (Maybe Text)-dArn = lens _dArn (\ s a -> s{_dArn = a});---- | The disk path.-dPath :: Lens' Disk (Maybe Text)-dPath = lens _dPath (\ s a -> s{_dPath = a});---- | The date when the disk was created.-dCreatedAt :: Lens' Disk (Maybe UTCTime)-dCreatedAt = lens _dCreatedAt (\ s a -> s{_dCreatedAt = a}) . mapping _Time;---- | The region and Availability Zone where the disk is located.-dLocation :: Lens' Disk (Maybe ResourceLocation)-dLocation = lens _dLocation (\ s a -> s{_dLocation = a});---- | The input/output operations per second (IOPS) of the disk.-dIops :: Lens' Disk (Maybe Int)-dIops = lens _dIops (\ s a -> s{_dIops = a});---- | A Boolean value indicating whether the disk is attached.-dIsAttached :: Lens' Disk (Maybe Bool)-dIsAttached = lens _dIsAttached (\ s a -> s{_dIsAttached = a});---- | The attachment state of the disk.-dAttachmentState :: Lens' Disk (Maybe Text)-dAttachmentState = lens _dAttachmentState (\ s a -> s{_dAttachmentState = a});---- | The name of the disk.-dName :: Lens' Disk (Maybe Text)-dName = lens _dName (\ s a -> s{_dName = a});---- | The size of the disk in GB.-dSizeInGb :: Lens' Disk (Maybe Int)-dSizeInGb = lens _dSizeInGb (\ s a -> s{_dSizeInGb = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-dSupportCode :: Lens' Disk (Maybe Text)-dSupportCode = lens _dSupportCode (\ s a -> s{_dSupportCode = a});---- | A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).-dIsSystemDisk :: Lens' Disk (Maybe Bool)-dIsSystemDisk = lens _dIsSystemDisk (\ s a -> s{_dIsSystemDisk = a});---- | The resources to which the disk is attached.-dAttachedTo :: Lens' Disk (Maybe Text)-dAttachedTo = lens _dAttachedTo (\ s a -> s{_dAttachedTo = a});---- | The number of GB in use by the disk.-dGbInUse :: Lens' Disk (Maybe Int)-dGbInUse = lens _dGbInUse (\ s a -> s{_dGbInUse = a});--instance FromJSON Disk where-        parseJSON-          = withObject "Disk"-              (\ x ->-                 Disk' <$>-                   (x .:? "resourceType") <*> (x .:? "arn") <*>-                     (x .:? "path")-                     <*> (x .:? "createdAt")-                     <*> (x .:? "location")-                     <*> (x .:? "iops")-                     <*> (x .:? "isAttached")-                     <*> (x .:? "attachmentState")-                     <*> (x .:? "name")-                     <*> (x .:? "sizeInGb")-                     <*> (x .:? "supportCode")-                     <*> (x .:? "isSystemDisk")-                     <*> (x .:? "attachedTo")-                     <*> (x .:? "gbInUse"))--instance Hashable Disk where--instance NFData Disk where---- | Describes a domain where you are storing recordsets in Lightsail.------------ /See:/ 'domain' smart constructor.-data Domain = Domain'-  { _domResourceType  :: !(Maybe ResourceType)-  , _domDomainEntries :: !(Maybe [DomainEntry])-  , _domArn           :: !(Maybe Text)-  , _domCreatedAt     :: !(Maybe POSIX)-  , _domLocation      :: !(Maybe ResourceLocation)-  , _domName          :: !(Maybe Text)-  , _domSupportCode   :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Domain' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'domResourceType' - The resource type.------ * 'domDomainEntries' - An array of key-value pairs containing information about the domain entries.------ * 'domArn' - The Amazon Resource Name (ARN) of the domain recordset (e.g., @arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE@ ).------ * 'domCreatedAt' - The date when the domain recordset was created.------ * 'domLocation' - The AWS Region and Availability Zones where the domain recordset was created.------ * 'domName' - The name of the domain.------ * 'domSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-domain-    :: Domain-domain =-  Domain'-  { _domResourceType = Nothing-  , _domDomainEntries = Nothing-  , _domArn = Nothing-  , _domCreatedAt = Nothing-  , _domLocation = Nothing-  , _domName = Nothing-  , _domSupportCode = Nothing-  }----- | The resource type.-domResourceType :: Lens' Domain (Maybe ResourceType)-domResourceType = lens _domResourceType (\ s a -> s{_domResourceType = a});---- | An array of key-value pairs containing information about the domain entries.-domDomainEntries :: Lens' Domain [DomainEntry]-domDomainEntries = lens _domDomainEntries (\ s a -> s{_domDomainEntries = a}) . _Default . _Coerce;---- | The Amazon Resource Name (ARN) of the domain recordset (e.g., @arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE@ ).-domArn :: Lens' Domain (Maybe Text)-domArn = lens _domArn (\ s a -> s{_domArn = a});---- | The date when the domain recordset was created.-domCreatedAt :: Lens' Domain (Maybe UTCTime)-domCreatedAt = lens _domCreatedAt (\ s a -> s{_domCreatedAt = a}) . mapping _Time;---- | The AWS Region and Availability Zones where the domain recordset was created.-domLocation :: Lens' Domain (Maybe ResourceLocation)-domLocation = lens _domLocation (\ s a -> s{_domLocation = a});---- | The name of the domain.-domName :: Lens' Domain (Maybe Text)-domName = lens _domName (\ s a -> s{_domName = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-domSupportCode :: Lens' Domain (Maybe Text)-domSupportCode = lens _domSupportCode (\ s a -> s{_domSupportCode = a});--instance FromJSON Domain where-        parseJSON-          = withObject "Domain"-              (\ x ->-                 Domain' <$>-                   (x .:? "resourceType") <*>-                     (x .:? "domainEntries" .!= mempty)-                     <*> (x .:? "arn")-                     <*> (x .:? "createdAt")-                     <*> (x .:? "location")-                     <*> (x .:? "name")-                     <*> (x .:? "supportCode"))--instance Hashable Domain where--instance NFData Domain where---- | Describes a domain recordset entry.------------ /See:/ 'domainEntry' smart constructor.-data DomainEntry = DomainEntry'-  { _deName    :: !(Maybe Text)-  , _deId      :: !(Maybe Text)-  , _deOptions :: !(Maybe (Map Text Text))-  , _deType    :: !(Maybe Text)-  , _deTarget  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DomainEntry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'deName' - The name of the domain.------ * 'deId' - The ID of the domain recordset entry.------ * 'deOptions' - The options for the domain entry.------ * 'deType' - The type of domain entry (e.g., @SOA@ or @NS@ ).------ * 'deTarget' - The target AWS name server (e.g., @ns-111.awsdns-22.com.@ ).-domainEntry-    :: DomainEntry-domainEntry =-  DomainEntry'-  { _deName = Nothing-  , _deId = Nothing-  , _deOptions = Nothing-  , _deType = Nothing-  , _deTarget = Nothing-  }----- | The name of the domain.-deName :: Lens' DomainEntry (Maybe Text)-deName = lens _deName (\ s a -> s{_deName = a});---- | The ID of the domain recordset entry.-deId :: Lens' DomainEntry (Maybe Text)-deId = lens _deId (\ s a -> s{_deId = a});---- | The options for the domain entry.-deOptions :: Lens' DomainEntry (HashMap Text Text)-deOptions = lens _deOptions (\ s a -> s{_deOptions = a}) . _Default . _Map;---- | The type of domain entry (e.g., @SOA@ or @NS@ ).-deType :: Lens' DomainEntry (Maybe Text)-deType = lens _deType (\ s a -> s{_deType = a});---- | The target AWS name server (e.g., @ns-111.awsdns-22.com.@ ).-deTarget :: Lens' DomainEntry (Maybe Text)-deTarget = lens _deTarget (\ s a -> s{_deTarget = a});--instance FromJSON DomainEntry where-        parseJSON-          = withObject "DomainEntry"-              (\ x ->-                 DomainEntry' <$>-                   (x .:? "name") <*> (x .:? "id") <*>-                     (x .:? "options" .!= mempty)-                     <*> (x .:? "type")-                     <*> (x .:? "target"))--instance Hashable DomainEntry where--instance NFData DomainEntry where--instance ToJSON DomainEntry where-        toJSON DomainEntry'{..}-          = object-              (catMaybes-                 [("name" .=) <$> _deName, ("id" .=) <$> _deId,-                  ("options" .=) <$> _deOptions,-                  ("type" .=) <$> _deType,-                  ("target" .=) <$> _deTarget])---- | Describes an instance (a virtual private server).------------ /See:/ 'instance'' smart constructor.-data Instance = Instance'-  { _iState            :: !(Maybe InstanceState)-  , _iIpv6Address      :: !(Maybe Text)-  , _iResourceType     :: !(Maybe ResourceType)-  , _iArn              :: !(Maybe Text)-  , _iCreatedAt        :: !(Maybe POSIX)-  , _iLocation         :: !(Maybe ResourceLocation)-  , _iSshKeyName       :: !(Maybe Text)-  , _iUsername         :: !(Maybe Text)-  , _iNetworking       :: !(Maybe InstanceNetworking)-  , _iBundleId         :: !(Maybe Text)-  , _iName             :: !(Maybe Text)-  , _iSupportCode      :: !(Maybe Text)-  , _iBlueprintId      :: !(Maybe Text)-  , _iPrivateIPAddress :: !(Maybe Text)-  , _iBlueprintName    :: !(Maybe Text)-  , _iIsStaticIP       :: !(Maybe Bool)-  , _iPublicIPAddress  :: !(Maybe Text)-  , _iHardware         :: !(Maybe InstanceHardware)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Instance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iState' - The status code and the state (e.g., @running@ ) for the instance.------ * 'iIpv6Address' - The IPv6 address of the instance.------ * 'iResourceType' - The type of resource (usually @Instance@ ).------ * 'iArn' - The Amazon Resource Name (ARN) of the instance (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE@ ).------ * 'iCreatedAt' - The timestamp when the instance was created (e.g., @1479734909.17@ ).------ * 'iLocation' - The region name and availability zone where the instance is located.------ * 'iSshKeyName' - The name of the SSH key being used to connect to the instance (e.g., @LightsailDefaultKeyPair@ ).------ * 'iUsername' - The user name for connecting to the instance (e.g., @ec2-user@ ).------ * 'iNetworking' - Information about the public ports and monthly data transfer rates for the instance.------ * 'iBundleId' - The bundle for the instance (e.g., @micro_1_0@ ).------ * 'iName' - The name the user gave the instance (e.g., @Amazon_Linux-1GB-Virginia-1@ ).------ * 'iSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.------ * 'iBlueprintId' - The blueprint ID (e.g., @os_amlinux_2016_03@ ).------ * 'iPrivateIPAddress' - The private IP address of the instance.------ * 'iBlueprintName' - The friendly name of the blueprint (e.g., @Amazon Linux@ ).------ * 'iIsStaticIP' - A Boolean value indicating whether this instance has a static IP assigned to it.------ * 'iPublicIPAddress' - The public IP address of the instance.------ * 'iHardware' - The size of the vCPU and the amount of RAM for the instance.-instance'-    :: Instance-instance' =-  Instance'-  { _iState = Nothing-  , _iIpv6Address = Nothing-  , _iResourceType = Nothing-  , _iArn = Nothing-  , _iCreatedAt = Nothing-  , _iLocation = Nothing-  , _iSshKeyName = Nothing-  , _iUsername = Nothing-  , _iNetworking = Nothing-  , _iBundleId = Nothing-  , _iName = Nothing-  , _iSupportCode = Nothing-  , _iBlueprintId = Nothing-  , _iPrivateIPAddress = Nothing-  , _iBlueprintName = Nothing-  , _iIsStaticIP = Nothing-  , _iPublicIPAddress = Nothing-  , _iHardware = Nothing-  }----- | The status code and the state (e.g., @running@ ) for the instance.-iState :: Lens' Instance (Maybe InstanceState)-iState = lens _iState (\ s a -> s{_iState = a});---- | The IPv6 address of the instance.-iIpv6Address :: Lens' Instance (Maybe Text)-iIpv6Address = lens _iIpv6Address (\ s a -> s{_iIpv6Address = a});---- | The type of resource (usually @Instance@ ).-iResourceType :: Lens' Instance (Maybe ResourceType)-iResourceType = lens _iResourceType (\ s a -> s{_iResourceType = a});---- | The Amazon Resource Name (ARN) of the instance (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE@ ).-iArn :: Lens' Instance (Maybe Text)-iArn = lens _iArn (\ s a -> s{_iArn = a});---- | The timestamp when the instance was created (e.g., @1479734909.17@ ).-iCreatedAt :: Lens' Instance (Maybe UTCTime)-iCreatedAt = lens _iCreatedAt (\ s a -> s{_iCreatedAt = a}) . mapping _Time;---- | The region name and availability zone where the instance is located.-iLocation :: Lens' Instance (Maybe ResourceLocation)-iLocation = lens _iLocation (\ s a -> s{_iLocation = a});---- | The name of the SSH key being used to connect to the instance (e.g., @LightsailDefaultKeyPair@ ).-iSshKeyName :: Lens' Instance (Maybe Text)-iSshKeyName = lens _iSshKeyName (\ s a -> s{_iSshKeyName = a});---- | The user name for connecting to the instance (e.g., @ec2-user@ ).-iUsername :: Lens' Instance (Maybe Text)-iUsername = lens _iUsername (\ s a -> s{_iUsername = a});---- | Information about the public ports and monthly data transfer rates for the instance.-iNetworking :: Lens' Instance (Maybe InstanceNetworking)-iNetworking = lens _iNetworking (\ s a -> s{_iNetworking = a});---- | The bundle for the instance (e.g., @micro_1_0@ ).-iBundleId :: Lens' Instance (Maybe Text)-iBundleId = lens _iBundleId (\ s a -> s{_iBundleId = a});---- | The name the user gave the instance (e.g., @Amazon_Linux-1GB-Virginia-1@ ).-iName :: Lens' Instance (Maybe Text)-iName = lens _iName (\ s a -> s{_iName = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-iSupportCode :: Lens' Instance (Maybe Text)-iSupportCode = lens _iSupportCode (\ s a -> s{_iSupportCode = a});---- | The blueprint ID (e.g., @os_amlinux_2016_03@ ).-iBlueprintId :: Lens' Instance (Maybe Text)-iBlueprintId = lens _iBlueprintId (\ s a -> s{_iBlueprintId = a});---- | The private IP address of the instance.-iPrivateIPAddress :: Lens' Instance (Maybe Text)-iPrivateIPAddress = lens _iPrivateIPAddress (\ s a -> s{_iPrivateIPAddress = a});---- | The friendly name of the blueprint (e.g., @Amazon Linux@ ).-iBlueprintName :: Lens' Instance (Maybe Text)-iBlueprintName = lens _iBlueprintName (\ s a -> s{_iBlueprintName = a});---- | A Boolean value indicating whether this instance has a static IP assigned to it.-iIsStaticIP :: Lens' Instance (Maybe Bool)-iIsStaticIP = lens _iIsStaticIP (\ s a -> s{_iIsStaticIP = a});---- | The public IP address of the instance.-iPublicIPAddress :: Lens' Instance (Maybe Text)-iPublicIPAddress = lens _iPublicIPAddress (\ s a -> s{_iPublicIPAddress = a});---- | The size of the vCPU and the amount of RAM for the instance.-iHardware :: Lens' Instance (Maybe InstanceHardware)-iHardware = lens _iHardware (\ s a -> s{_iHardware = a});--instance FromJSON Instance where-        parseJSON-          = withObject "Instance"-              (\ x ->-                 Instance' <$>-                   (x .:? "state") <*> (x .:? "ipv6Address") <*>-                     (x .:? "resourceType")-                     <*> (x .:? "arn")-                     <*> (x .:? "createdAt")-                     <*> (x .:? "location")-                     <*> (x .:? "sshKeyName")-                     <*> (x .:? "username")-                     <*> (x .:? "networking")-                     <*> (x .:? "bundleId")-                     <*> (x .:? "name")-                     <*> (x .:? "supportCode")-                     <*> (x .:? "blueprintId")-                     <*> (x .:? "privateIpAddress")-                     <*> (x .:? "blueprintName")-                     <*> (x .:? "isStaticIp")-                     <*> (x .:? "publicIpAddress")-                     <*> (x .:? "hardware"))--instance Hashable Instance where--instance NFData Instance where---- | The parameters for gaining temporary access to one of your Amazon Lightsail instances.------------ /See:/ 'instanceAccessDetails' smart constructor.-data InstanceAccessDetails = InstanceAccessDetails'-  { _iadCertKey      :: !(Maybe Text)-  , _iadIpAddress    :: !(Maybe Text)-  , _iadPrivateKey   :: !(Maybe Text)-  , _iadExpiresAt    :: !(Maybe POSIX)-  , _iadUsername     :: !(Maybe Text)-  , _iadProtocol     :: !(Maybe InstanceAccessProtocol)-  , _iadPasswordData :: !(Maybe PasswordData)-  , _iadPassword     :: !(Maybe Text)-  , _iadInstanceName :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceAccessDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iadCertKey' - For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey-cert.pub@ .------ * 'iadIpAddress' - The public IP address of the Amazon Lightsail instance.------ * 'iadPrivateKey' - For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey@ ).------ * 'iadExpiresAt' - For SSH access, the date on which the temporary keys expire.------ * 'iadUsername' - The user name to use when logging in to the Amazon Lightsail instance.------ * 'iadProtocol' - The protocol for these Amazon Lightsail instance access details.------ * 'iadPasswordData' - For a Windows Server-based instance, an object with the data you can use to retrieve your password. This is only needed if @password@ is empty and the instance is not new (and therefore the password is not ready yet). When you create an instance, it can take up to 15 minutes for the instance to be ready.------ * 'iadPassword' - For RDP access, the password for your Amazon Lightsail instance. Password will be an empty string if the password for your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.------ * 'iadInstanceName' - The name of this Amazon Lightsail instance.-instanceAccessDetails-    :: InstanceAccessDetails-instanceAccessDetails =-  InstanceAccessDetails'-  { _iadCertKey = Nothing-  , _iadIpAddress = Nothing-  , _iadPrivateKey = Nothing-  , _iadExpiresAt = Nothing-  , _iadUsername = Nothing-  , _iadProtocol = Nothing-  , _iadPasswordData = Nothing-  , _iadPassword = Nothing-  , _iadInstanceName = Nothing-  }----- | For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey-cert.pub@ .-iadCertKey :: Lens' InstanceAccessDetails (Maybe Text)-iadCertKey = lens _iadCertKey (\ s a -> s{_iadCertKey = a});---- | The public IP address of the Amazon Lightsail instance.-iadIpAddress :: Lens' InstanceAccessDetails (Maybe Text)-iadIpAddress = lens _iadIpAddress (\ s a -> s{_iadIpAddress = a});---- | For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey@ ).-iadPrivateKey :: Lens' InstanceAccessDetails (Maybe Text)-iadPrivateKey = lens _iadPrivateKey (\ s a -> s{_iadPrivateKey = a});---- | For SSH access, the date on which the temporary keys expire.-iadExpiresAt :: Lens' InstanceAccessDetails (Maybe UTCTime)-iadExpiresAt = lens _iadExpiresAt (\ s a -> s{_iadExpiresAt = a}) . mapping _Time;---- | The user name to use when logging in to the Amazon Lightsail instance.-iadUsername :: Lens' InstanceAccessDetails (Maybe Text)-iadUsername = lens _iadUsername (\ s a -> s{_iadUsername = a});---- | The protocol for these Amazon Lightsail instance access details.-iadProtocol :: Lens' InstanceAccessDetails (Maybe InstanceAccessProtocol)-iadProtocol = lens _iadProtocol (\ s a -> s{_iadProtocol = a});---- | For a Windows Server-based instance, an object with the data you can use to retrieve your password. This is only needed if @password@ is empty and the instance is not new (and therefore the password is not ready yet). When you create an instance, it can take up to 15 minutes for the instance to be ready.-iadPasswordData :: Lens' InstanceAccessDetails (Maybe PasswordData)-iadPasswordData = lens _iadPasswordData (\ s a -> s{_iadPasswordData = a});---- | For RDP access, the password for your Amazon Lightsail instance. Password will be an empty string if the password for your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.-iadPassword :: Lens' InstanceAccessDetails (Maybe Text)-iadPassword = lens _iadPassword (\ s a -> s{_iadPassword = a});---- | The name of this Amazon Lightsail instance.-iadInstanceName :: Lens' InstanceAccessDetails (Maybe Text)-iadInstanceName = lens _iadInstanceName (\ s a -> s{_iadInstanceName = a});--instance FromJSON InstanceAccessDetails where-        parseJSON-          = withObject "InstanceAccessDetails"-              (\ x ->-                 InstanceAccessDetails' <$>-                   (x .:? "certKey") <*> (x .:? "ipAddress") <*>-                     (x .:? "privateKey")-                     <*> (x .:? "expiresAt")-                     <*> (x .:? "username")-                     <*> (x .:? "protocol")-                     <*> (x .:? "passwordData")-                     <*> (x .:? "password")-                     <*> (x .:? "instanceName"))--instance Hashable InstanceAccessDetails where--instance NFData InstanceAccessDetails where---- | Describes the hardware for the instance.------------ /See:/ 'instanceHardware' smart constructor.-data InstanceHardware = InstanceHardware'-  { _ihCpuCount    :: !(Maybe Int)-  , _ihDisks       :: !(Maybe [Disk])-  , _ihRamSizeInGb :: !(Maybe Double)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceHardware' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ihCpuCount' - The number of vCPUs the instance has.------ * 'ihDisks' - The disks attached to the instance.------ * 'ihRamSizeInGb' - The amount of RAM in GB on the instance (e.g., @1.0@ ).-instanceHardware-    :: InstanceHardware-instanceHardware =-  InstanceHardware'-  {_ihCpuCount = Nothing, _ihDisks = Nothing, _ihRamSizeInGb = Nothing}----- | The number of vCPUs the instance has.-ihCpuCount :: Lens' InstanceHardware (Maybe Int)-ihCpuCount = lens _ihCpuCount (\ s a -> s{_ihCpuCount = a});---- | The disks attached to the instance.-ihDisks :: Lens' InstanceHardware [Disk]-ihDisks = lens _ihDisks (\ s a -> s{_ihDisks = a}) . _Default . _Coerce;---- | The amount of RAM in GB on the instance (e.g., @1.0@ ).-ihRamSizeInGb :: Lens' InstanceHardware (Maybe Double)-ihRamSizeInGb = lens _ihRamSizeInGb (\ s a -> s{_ihRamSizeInGb = a});--instance FromJSON InstanceHardware where-        parseJSON-          = withObject "InstanceHardware"-              (\ x ->-                 InstanceHardware' <$>-                   (x .:? "cpuCount") <*> (x .:? "disks" .!= mempty) <*>-                     (x .:? "ramSizeInGb"))--instance Hashable InstanceHardware where--instance NFData InstanceHardware where---- | Describes monthly data transfer rates and port information for an instance.------------ /See:/ 'instanceNetworking' smart constructor.-data InstanceNetworking = InstanceNetworking'-  { _inMonthlyTransfer :: !(Maybe MonthlyTransfer)-  , _inPorts           :: !(Maybe [InstancePortInfo])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceNetworking' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'inMonthlyTransfer' - The amount of data in GB allocated for monthly data transfers.------ * 'inPorts' - An array of key-value pairs containing information about the ports on the instance.-instanceNetworking-    :: InstanceNetworking-instanceNetworking =-  InstanceNetworking' {_inMonthlyTransfer = Nothing, _inPorts = Nothing}----- | The amount of data in GB allocated for monthly data transfers.-inMonthlyTransfer :: Lens' InstanceNetworking (Maybe MonthlyTransfer)-inMonthlyTransfer = lens _inMonthlyTransfer (\ s a -> s{_inMonthlyTransfer = a});---- | An array of key-value pairs containing information about the ports on the instance.-inPorts :: Lens' InstanceNetworking [InstancePortInfo]-inPorts = lens _inPorts (\ s a -> s{_inPorts = a}) . _Default . _Coerce;--instance FromJSON InstanceNetworking where-        parseJSON-          = withObject "InstanceNetworking"-              (\ x ->-                 InstanceNetworking' <$>-                   (x .:? "monthlyTransfer") <*>-                     (x .:? "ports" .!= mempty))--instance Hashable InstanceNetworking where--instance NFData InstanceNetworking where---- | Describes information about the instance ports.------------ /See:/ 'instancePortInfo' smart constructor.-data InstancePortInfo = InstancePortInfo'-  { _ipiFromPort        :: !(Maybe Nat)-  , _ipiCommonName      :: !(Maybe Text)-  , _ipiProtocol        :: !(Maybe NetworkProtocol)-  , _ipiAccessDirection :: !(Maybe AccessDirection)-  , _ipiAccessType      :: !(Maybe PortAccessType)-  , _ipiToPort          :: !(Maybe Nat)-  , _ipiAccessFrom      :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstancePortInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipiFromPort' - The first port in the range.------ * 'ipiCommonName' - The common name.------ * 'ipiProtocol' - The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.------ * 'ipiAccessDirection' - The access direction (@inbound@ or @outbound@ ).------ * 'ipiAccessType' - The type of access (@Public@ or @Private@ ).------ * 'ipiToPort' - The last port in the range.------ * 'ipiAccessFrom' - The location from which access is allowed (e.g., @Anywhere (0.0.0.0/0)@ ).-instancePortInfo-    :: InstancePortInfo-instancePortInfo =-  InstancePortInfo'-  { _ipiFromPort = Nothing-  , _ipiCommonName = Nothing-  , _ipiProtocol = Nothing-  , _ipiAccessDirection = Nothing-  , _ipiAccessType = Nothing-  , _ipiToPort = Nothing-  , _ipiAccessFrom = Nothing-  }----- | The first port in the range.-ipiFromPort :: Lens' InstancePortInfo (Maybe Natural)-ipiFromPort = lens _ipiFromPort (\ s a -> s{_ipiFromPort = a}) . mapping _Nat;---- | The common name.-ipiCommonName :: Lens' InstancePortInfo (Maybe Text)-ipiCommonName = lens _ipiCommonName (\ s a -> s{_ipiCommonName = a});---- | The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.-ipiProtocol :: Lens' InstancePortInfo (Maybe NetworkProtocol)-ipiProtocol = lens _ipiProtocol (\ s a -> s{_ipiProtocol = a});---- | The access direction (@inbound@ or @outbound@ ).-ipiAccessDirection :: Lens' InstancePortInfo (Maybe AccessDirection)-ipiAccessDirection = lens _ipiAccessDirection (\ s a -> s{_ipiAccessDirection = a});---- | The type of access (@Public@ or @Private@ ).-ipiAccessType :: Lens' InstancePortInfo (Maybe PortAccessType)-ipiAccessType = lens _ipiAccessType (\ s a -> s{_ipiAccessType = a});---- | The last port in the range.-ipiToPort :: Lens' InstancePortInfo (Maybe Natural)-ipiToPort = lens _ipiToPort (\ s a -> s{_ipiToPort = a}) . mapping _Nat;---- | The location from which access is allowed (e.g., @Anywhere (0.0.0.0/0)@ ).-ipiAccessFrom :: Lens' InstancePortInfo (Maybe Text)-ipiAccessFrom = lens _ipiAccessFrom (\ s a -> s{_ipiAccessFrom = a});--instance FromJSON InstancePortInfo where-        parseJSON-          = withObject "InstancePortInfo"-              (\ x ->-                 InstancePortInfo' <$>-                   (x .:? "fromPort") <*> (x .:? "commonName") <*>-                     (x .:? "protocol")-                     <*> (x .:? "accessDirection")-                     <*> (x .:? "accessType")-                     <*> (x .:? "toPort")-                     <*> (x .:? "accessFrom"))--instance Hashable InstancePortInfo where--instance NFData InstancePortInfo where---- | Describes the port state.------------ /See:/ 'instancePortState' smart constructor.-data InstancePortState = InstancePortState'-  { _ipsFromPort :: !(Maybe Nat)-  , _ipsState    :: !(Maybe PortState)-  , _ipsProtocol :: !(Maybe NetworkProtocol)-  , _ipsToPort   :: !(Maybe Nat)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstancePortState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipsFromPort' - The first port in the range.------ * 'ipsState' - Specifies whether the instance port is @open@ or @closed@ .------ * 'ipsProtocol' - The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.------ * 'ipsToPort' - The last port in the range.-instancePortState-    :: InstancePortState-instancePortState =-  InstancePortState'-  { _ipsFromPort = Nothing-  , _ipsState = Nothing-  , _ipsProtocol = Nothing-  , _ipsToPort = Nothing-  }----- | The first port in the range.-ipsFromPort :: Lens' InstancePortState (Maybe Natural)-ipsFromPort = lens _ipsFromPort (\ s a -> s{_ipsFromPort = a}) . mapping _Nat;---- | Specifies whether the instance port is @open@ or @closed@ .-ipsState :: Lens' InstancePortState (Maybe PortState)-ipsState = lens _ipsState (\ s a -> s{_ipsState = a});---- | The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.-ipsProtocol :: Lens' InstancePortState (Maybe NetworkProtocol)-ipsProtocol = lens _ipsProtocol (\ s a -> s{_ipsProtocol = a});---- | The last port in the range.-ipsToPort :: Lens' InstancePortState (Maybe Natural)-ipsToPort = lens _ipsToPort (\ s a -> s{_ipsToPort = a}) . mapping _Nat;--instance FromJSON InstancePortState where-        parseJSON-          = withObject "InstancePortState"-              (\ x ->-                 InstancePortState' <$>-                   (x .:? "fromPort") <*> (x .:? "state") <*>-                     (x .:? "protocol")-                     <*> (x .:? "toPort"))--instance Hashable InstancePortState where--instance NFData InstancePortState where---- | Describes the snapshot of the virtual private server, or /instance/ .------------ /See:/ 'instanceSnapshot' smart constructor.-data InstanceSnapshot = InstanceSnapshot'-  { _insFromBlueprintId  :: !(Maybe Text)-  , _insState            :: !(Maybe InstanceSnapshotState)-  , _insResourceType     :: !(Maybe ResourceType)-  , _insArn              :: !(Maybe Text)-  , _insCreatedAt        :: !(Maybe POSIX)-  , _insLocation         :: !(Maybe ResourceLocation)-  , _insProgress         :: !(Maybe Text)-  , _insName             :: !(Maybe Text)-  , _insFromBundleId     :: !(Maybe Text)-  , _insSizeInGb         :: !(Maybe Int)-  , _insSupportCode      :: !(Maybe Text)-  , _insFromInstanceARN  :: !(Maybe Text)-  , _insFromInstanceName :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceSnapshot' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'insFromBlueprintId' - The blueprint ID from which you created the snapshot (e.g., @os_debian_8_3@ ). A blueprint is a virtual private server (or /instance/ ) image used to create instances quickly.------ * 'insState' - The state the snapshot is in.------ * 'insResourceType' - The type of resource (usually @InstanceSnapshot@ ).------ * 'insArn' - The Amazon Resource Name (ARN) of the snapshot (e.g., @arn:aws:lightsail:us-east-1:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE@ ).------ * 'insCreatedAt' - The timestamp when the snapshot was created (e.g., @1479907467.024@ ).------ * 'insLocation' - The region name and availability zone where you created the snapshot.------ * 'insProgress' - The progress of the snapshot.------ * 'insName' - The name of the snapshot.------ * 'insFromBundleId' - The bundle ID from which you created the snapshot (e.g., @micro_1_0@ ).------ * 'insSizeInGb' - The size in GB of the SSD.------ * 'insSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.------ * 'insFromInstanceARN' - The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE@ ).------ * 'insFromInstanceName' - The instance from which the snapshot was created.-instanceSnapshot-    :: InstanceSnapshot-instanceSnapshot =-  InstanceSnapshot'-  { _insFromBlueprintId = Nothing-  , _insState = Nothing-  , _insResourceType = Nothing-  , _insArn = Nothing-  , _insCreatedAt = Nothing-  , _insLocation = Nothing-  , _insProgress = Nothing-  , _insName = Nothing-  , _insFromBundleId = Nothing-  , _insSizeInGb = Nothing-  , _insSupportCode = Nothing-  , _insFromInstanceARN = Nothing-  , _insFromInstanceName = Nothing-  }----- | The blueprint ID from which you created the snapshot (e.g., @os_debian_8_3@ ). A blueprint is a virtual private server (or /instance/ ) image used to create instances quickly.-insFromBlueprintId :: Lens' InstanceSnapshot (Maybe Text)-insFromBlueprintId = lens _insFromBlueprintId (\ s a -> s{_insFromBlueprintId = a});---- | The state the snapshot is in.-insState :: Lens' InstanceSnapshot (Maybe InstanceSnapshotState)-insState = lens _insState (\ s a -> s{_insState = a});---- | The type of resource (usually @InstanceSnapshot@ ).-insResourceType :: Lens' InstanceSnapshot (Maybe ResourceType)-insResourceType = lens _insResourceType (\ s a -> s{_insResourceType = a});---- | The Amazon Resource Name (ARN) of the snapshot (e.g., @arn:aws:lightsail:us-east-1:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE@ ).-insArn :: Lens' InstanceSnapshot (Maybe Text)-insArn = lens _insArn (\ s a -> s{_insArn = a});---- | The timestamp when the snapshot was created (e.g., @1479907467.024@ ).-insCreatedAt :: Lens' InstanceSnapshot (Maybe UTCTime)-insCreatedAt = lens _insCreatedAt (\ s a -> s{_insCreatedAt = a}) . mapping _Time;---- | The region name and availability zone where you created the snapshot.-insLocation :: Lens' InstanceSnapshot (Maybe ResourceLocation)-insLocation = lens _insLocation (\ s a -> s{_insLocation = a});---- | The progress of the snapshot.-insProgress :: Lens' InstanceSnapshot (Maybe Text)-insProgress = lens _insProgress (\ s a -> s{_insProgress = a});---- | The name of the snapshot.-insName :: Lens' InstanceSnapshot (Maybe Text)-insName = lens _insName (\ s a -> s{_insName = a});---- | The bundle ID from which you created the snapshot (e.g., @micro_1_0@ ).-insFromBundleId :: Lens' InstanceSnapshot (Maybe Text)-insFromBundleId = lens _insFromBundleId (\ s a -> s{_insFromBundleId = a});---- | The size in GB of the SSD.-insSizeInGb :: Lens' InstanceSnapshot (Maybe Int)-insSizeInGb = lens _insSizeInGb (\ s a -> s{_insSizeInGb = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-insSupportCode :: Lens' InstanceSnapshot (Maybe Text)-insSupportCode = lens _insSupportCode (\ s a -> s{_insSupportCode = a});---- | The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE@ ).-insFromInstanceARN :: Lens' InstanceSnapshot (Maybe Text)-insFromInstanceARN = lens _insFromInstanceARN (\ s a -> s{_insFromInstanceARN = a});---- | The instance from which the snapshot was created.-insFromInstanceName :: Lens' InstanceSnapshot (Maybe Text)-insFromInstanceName = lens _insFromInstanceName (\ s a -> s{_insFromInstanceName = a});--instance FromJSON InstanceSnapshot where-        parseJSON-          = withObject "InstanceSnapshot"-              (\ x ->-                 InstanceSnapshot' <$>-                   (x .:? "fromBlueprintId") <*> (x .:? "state") <*>-                     (x .:? "resourceType")-                     <*> (x .:? "arn")-                     <*> (x .:? "createdAt")-                     <*> (x .:? "location")-                     <*> (x .:? "progress")-                     <*> (x .:? "name")-                     <*> (x .:? "fromBundleId")-                     <*> (x .:? "sizeInGb")-                     <*> (x .:? "supportCode")-                     <*> (x .:? "fromInstanceArn")-                     <*> (x .:? "fromInstanceName"))--instance Hashable InstanceSnapshot where--instance NFData InstanceSnapshot where---- | Describes the virtual private server (or /instance/ ) status.------------ /See:/ 'instanceState' smart constructor.-data InstanceState = InstanceState'-  { _isName :: !(Maybe Text)-  , _isCode :: !(Maybe Int)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'isName' - The state of the instance (e.g., @running@ or @pending@ ).------ * 'isCode' - The status code for the instance.-instanceState-    :: InstanceState-instanceState = InstanceState' {_isName = Nothing, _isCode = Nothing}----- | The state of the instance (e.g., @running@ or @pending@ ).-isName :: Lens' InstanceState (Maybe Text)-isName = lens _isName (\ s a -> s{_isName = a});---- | The status code for the instance.-isCode :: Lens' InstanceState (Maybe Int)-isCode = lens _isCode (\ s a -> s{_isCode = a});--instance FromJSON InstanceState where-        parseJSON-          = withObject "InstanceState"-              (\ x ->-                 InstanceState' <$> (x .:? "name") <*> (x .:? "code"))--instance Hashable InstanceState where--instance NFData InstanceState where---- | Describes the SSH key pair.------------ /See:/ 'keyPair' smart constructor.-data KeyPair = KeyPair'-  { _kpResourceType :: !(Maybe ResourceType)-  , _kpArn          :: !(Maybe Text)-  , _kpCreatedAt    :: !(Maybe POSIX)-  , _kpLocation     :: !(Maybe ResourceLocation)-  , _kpFingerprint  :: !(Maybe Text)-  , _kpName         :: !(Maybe Text)-  , _kpSupportCode  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'KeyPair' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'kpResourceType' - The resource type (usually @KeyPair@ ).------ * 'kpArn' - The Amazon Resource Name (ARN) of the key pair (e.g., @arn:aws:lightsail:us-east-1:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE@ ).------ * 'kpCreatedAt' - The timestamp when the key pair was created (e.g., @1479816991.349@ ).------ * 'kpLocation' - The region name and Availability Zone where the key pair was created.------ * 'kpFingerprint' - The RSA fingerprint of the key pair.------ * 'kpName' - The friendly name of the SSH key pair.------ * 'kpSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-keyPair-    :: KeyPair-keyPair =-  KeyPair'-  { _kpResourceType = Nothing-  , _kpArn = Nothing-  , _kpCreatedAt = Nothing-  , _kpLocation = Nothing-  , _kpFingerprint = Nothing-  , _kpName = Nothing-  , _kpSupportCode = Nothing-  }----- | The resource type (usually @KeyPair@ ).-kpResourceType :: Lens' KeyPair (Maybe ResourceType)-kpResourceType = lens _kpResourceType (\ s a -> s{_kpResourceType = a});---- | The Amazon Resource Name (ARN) of the key pair (e.g., @arn:aws:lightsail:us-east-1:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE@ ).-kpArn :: Lens' KeyPair (Maybe Text)-kpArn = lens _kpArn (\ s a -> s{_kpArn = a});---- | The timestamp when the key pair was created (e.g., @1479816991.349@ ).-kpCreatedAt :: Lens' KeyPair (Maybe UTCTime)-kpCreatedAt = lens _kpCreatedAt (\ s a -> s{_kpCreatedAt = a}) . mapping _Time;---- | The region name and Availability Zone where the key pair was created.-kpLocation :: Lens' KeyPair (Maybe ResourceLocation)-kpLocation = lens _kpLocation (\ s a -> s{_kpLocation = a});---- | The RSA fingerprint of the key pair.-kpFingerprint :: Lens' KeyPair (Maybe Text)-kpFingerprint = lens _kpFingerprint (\ s a -> s{_kpFingerprint = a});---- | The friendly name of the SSH key pair.-kpName :: Lens' KeyPair (Maybe Text)-kpName = lens _kpName (\ s a -> s{_kpName = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-kpSupportCode :: Lens' KeyPair (Maybe Text)-kpSupportCode = lens _kpSupportCode (\ s a -> s{_kpSupportCode = a});--instance FromJSON KeyPair where-        parseJSON-          = withObject "KeyPair"-              (\ x ->-                 KeyPair' <$>-                   (x .:? "resourceType") <*> (x .:? "arn") <*>-                     (x .:? "createdAt")-                     <*> (x .:? "location")-                     <*> (x .:? "fingerprint")-                     <*> (x .:? "name")-                     <*> (x .:? "supportCode"))--instance Hashable KeyPair where--instance NFData KeyPair where---- | Describes the metric data point.------------ /See:/ 'metricDatapoint' smart constructor.-data MetricDatapoint = MetricDatapoint'-  { _mdSampleCount :: !(Maybe Double)-  , _mdMaximum     :: !(Maybe Double)-  , _mdAverage     :: !(Maybe Double)-  , _mdMinimum     :: !(Maybe Double)-  , _mdSum         :: !(Maybe Double)-  , _mdTimestamp   :: !(Maybe POSIX)-  , _mdUnit        :: !(Maybe MetricUnit)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MetricDatapoint' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mdSampleCount' - The sample count.------ * 'mdMaximum' - The maximum.------ * 'mdAverage' - The average.------ * 'mdMinimum' - The minimum.------ * 'mdSum' - The sum.------ * 'mdTimestamp' - The timestamp (e.g., @1479816991.349@ ).------ * 'mdUnit' - The unit.-metricDatapoint-    :: MetricDatapoint-metricDatapoint =-  MetricDatapoint'-  { _mdSampleCount = Nothing-  , _mdMaximum = Nothing-  , _mdAverage = Nothing-  , _mdMinimum = Nothing-  , _mdSum = Nothing-  , _mdTimestamp = Nothing-  , _mdUnit = Nothing-  }----- | The sample count.-mdSampleCount :: Lens' MetricDatapoint (Maybe Double)-mdSampleCount = lens _mdSampleCount (\ s a -> s{_mdSampleCount = a});---- | The maximum.-mdMaximum :: Lens' MetricDatapoint (Maybe Double)-mdMaximum = lens _mdMaximum (\ s a -> s{_mdMaximum = a});---- | The average.-mdAverage :: Lens' MetricDatapoint (Maybe Double)-mdAverage = lens _mdAverage (\ s a -> s{_mdAverage = a});---- | The minimum.-mdMinimum :: Lens' MetricDatapoint (Maybe Double)-mdMinimum = lens _mdMinimum (\ s a -> s{_mdMinimum = a});---- | The sum.-mdSum :: Lens' MetricDatapoint (Maybe Double)-mdSum = lens _mdSum (\ s a -> s{_mdSum = a});---- | The timestamp (e.g., @1479816991.349@ ).-mdTimestamp :: Lens' MetricDatapoint (Maybe UTCTime)-mdTimestamp = lens _mdTimestamp (\ s a -> s{_mdTimestamp = a}) . mapping _Time;---- | The unit.-mdUnit :: Lens' MetricDatapoint (Maybe MetricUnit)-mdUnit = lens _mdUnit (\ s a -> s{_mdUnit = a});--instance FromJSON MetricDatapoint where-        parseJSON-          = withObject "MetricDatapoint"-              (\ x ->-                 MetricDatapoint' <$>-                   (x .:? "sampleCount") <*> (x .:? "maximum") <*>-                     (x .:? "average")-                     <*> (x .:? "minimum")-                     <*> (x .:? "sum")-                     <*> (x .:? "timestamp")-                     <*> (x .:? "unit"))--instance Hashable MetricDatapoint where--instance NFData MetricDatapoint where---- | Describes the monthly data transfer in and out of your virtual private server (or /instance/ ).------------ /See:/ 'monthlyTransfer' smart constructor.-newtype MonthlyTransfer = MonthlyTransfer'-  { _mtGbPerMonthAllocated :: Maybe Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MonthlyTransfer' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtGbPerMonthAllocated' - The amount allocated per month (in GB).-monthlyTransfer-    :: MonthlyTransfer-monthlyTransfer = MonthlyTransfer' {_mtGbPerMonthAllocated = Nothing}----- | The amount allocated per month (in GB).-mtGbPerMonthAllocated :: Lens' MonthlyTransfer (Maybe Int)-mtGbPerMonthAllocated = lens _mtGbPerMonthAllocated (\ s a -> s{_mtGbPerMonthAllocated = a});--instance FromJSON MonthlyTransfer where-        parseJSON-          = withObject "MonthlyTransfer"-              (\ x ->-                 MonthlyTransfer' <$> (x .:? "gbPerMonthAllocated"))--instance Hashable MonthlyTransfer where--instance NFData MonthlyTransfer where---- | Describes the API operation.------------ /See:/ 'operation' smart constructor.-data Operation = Operation'-  { _oStatus           :: !(Maybe OperationStatus)-  , _oOperationDetails :: !(Maybe Text)-  , _oResourceType     :: !(Maybe ResourceType)-  , _oCreatedAt        :: !(Maybe POSIX)-  , _oResourceName     :: !(Maybe Text)-  , _oLocation         :: !(Maybe ResourceLocation)-  , _oStatusChangedAt  :: !(Maybe POSIX)-  , _oErrorDetails     :: !(Maybe Text)-  , _oErrorCode        :: !(Maybe Text)-  , _oId               :: !(Maybe Text)-  , _oOperationType    :: !(Maybe OperationType)-  , _oIsTerminal       :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Operation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oStatus' - The status of the operation.------ * 'oOperationDetails' - Details about the operation (e.g., @Debian-1GB-Virginia-1@ ).------ * 'oResourceType' - The resource type.------ * 'oCreatedAt' - The timestamp when the operation was initialized (e.g., @1479816991.349@ ).------ * 'oResourceName' - The resource name.------ * 'oLocation' - The region and Availability Zone.------ * 'oStatusChangedAt' - The timestamp when the status was changed (e.g., @1479816991.349@ ).------ * 'oErrorDetails' - The error details.------ * 'oErrorCode' - The error code.------ * 'oId' - The ID of the operation.------ * 'oOperationType' - The type of operation.------ * 'oIsTerminal' - A Boolean value indicating whether the operation is terminal.-operation-    :: Operation-operation =-  Operation'-  { _oStatus = Nothing-  , _oOperationDetails = Nothing-  , _oResourceType = Nothing-  , _oCreatedAt = Nothing-  , _oResourceName = Nothing-  , _oLocation = Nothing-  , _oStatusChangedAt = Nothing-  , _oErrorDetails = Nothing-  , _oErrorCode = Nothing-  , _oId = Nothing-  , _oOperationType = Nothing-  , _oIsTerminal = Nothing-  }----- | The status of the operation.-oStatus :: Lens' Operation (Maybe OperationStatus)-oStatus = lens _oStatus (\ s a -> s{_oStatus = a});---- | Details about the operation (e.g., @Debian-1GB-Virginia-1@ ).-oOperationDetails :: Lens' Operation (Maybe Text)-oOperationDetails = lens _oOperationDetails (\ s a -> s{_oOperationDetails = a});---- | The resource type.-oResourceType :: Lens' Operation (Maybe ResourceType)-oResourceType = lens _oResourceType (\ s a -> s{_oResourceType = a});---- | The timestamp when the operation was initialized (e.g., @1479816991.349@ ).-oCreatedAt :: Lens' Operation (Maybe UTCTime)-oCreatedAt = lens _oCreatedAt (\ s a -> s{_oCreatedAt = a}) . mapping _Time;---- | The resource name.-oResourceName :: Lens' Operation (Maybe Text)-oResourceName = lens _oResourceName (\ s a -> s{_oResourceName = a});---- | The region and Availability Zone.-oLocation :: Lens' Operation (Maybe ResourceLocation)-oLocation = lens _oLocation (\ s a -> s{_oLocation = a});---- | The timestamp when the status was changed (e.g., @1479816991.349@ ).-oStatusChangedAt :: Lens' Operation (Maybe UTCTime)-oStatusChangedAt = lens _oStatusChangedAt (\ s a -> s{_oStatusChangedAt = a}) . mapping _Time;---- | The error details.-oErrorDetails :: Lens' Operation (Maybe Text)-oErrorDetails = lens _oErrorDetails (\ s a -> s{_oErrorDetails = a});---- | The error code.-oErrorCode :: Lens' Operation (Maybe Text)-oErrorCode = lens _oErrorCode (\ s a -> s{_oErrorCode = a});---- | The ID of the operation.-oId :: Lens' Operation (Maybe Text)-oId = lens _oId (\ s a -> s{_oId = a});---- | The type of operation.-oOperationType :: Lens' Operation (Maybe OperationType)-oOperationType = lens _oOperationType (\ s a -> s{_oOperationType = a});---- | A Boolean value indicating whether the operation is terminal.-oIsTerminal :: Lens' Operation (Maybe Bool)-oIsTerminal = lens _oIsTerminal (\ s a -> s{_oIsTerminal = a});--instance FromJSON Operation where-        parseJSON-          = withObject "Operation"-              (\ x ->-                 Operation' <$>-                   (x .:? "status") <*> (x .:? "operationDetails") <*>-                     (x .:? "resourceType")-                     <*> (x .:? "createdAt")-                     <*> (x .:? "resourceName")-                     <*> (x .:? "location")-                     <*> (x .:? "statusChangedAt")-                     <*> (x .:? "errorDetails")-                     <*> (x .:? "errorCode")-                     <*> (x .:? "id")-                     <*> (x .:? "operationType")-                     <*> (x .:? "isTerminal"))--instance Hashable Operation where--instance NFData Operation where---- | The password data for the Windows Server-based instance, including the ciphertext and the key pair name.------------ /See:/ 'passwordData' smart constructor.-data PasswordData = PasswordData'-  { _pdKeyPairName :: !(Maybe Text)-  , _pdCiphertext  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PasswordData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pdKeyPairName' - The name of the key pair that you used when creating your instance. If no key pair name was specified when creating the instance, Lightsail uses the default key pair (@LightsailDefaultKeyPair@ ). If you are using a custom key pair, you need to use your own means of decrypting your password using the @ciphertext@ . Lightsail creates the ciphertext by encrypting your password with the public key part of this key pair.------ * 'pdCiphertext' - The encrypted password. Ciphertext will be an empty string if access to your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.-passwordData-    :: PasswordData-passwordData = PasswordData' {_pdKeyPairName = Nothing, _pdCiphertext = Nothing}----- | The name of the key pair that you used when creating your instance. If no key pair name was specified when creating the instance, Lightsail uses the default key pair (@LightsailDefaultKeyPair@ ). If you are using a custom key pair, you need to use your own means of decrypting your password using the @ciphertext@ . Lightsail creates the ciphertext by encrypting your password with the public key part of this key pair.-pdKeyPairName :: Lens' PasswordData (Maybe Text)-pdKeyPairName = lens _pdKeyPairName (\ s a -> s{_pdKeyPairName = a});---- | The encrypted password. Ciphertext will be an empty string if access to your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.-pdCiphertext :: Lens' PasswordData (Maybe Text)-pdCiphertext = lens _pdCiphertext (\ s a -> s{_pdCiphertext = a});--instance FromJSON PasswordData where-        parseJSON-          = withObject "PasswordData"-              (\ x ->-                 PasswordData' <$>-                   (x .:? "keyPairName") <*> (x .:? "ciphertext"))--instance Hashable PasswordData where--instance NFData PasswordData where---- | Describes information about the ports on your virtual private server (or /instance/ ).------------ /See:/ 'portInfo' smart constructor.-data PortInfo = PortInfo'-  { _piFromPort :: !(Maybe Nat)-  , _piProtocol :: !(Maybe NetworkProtocol)-  , _piToPort   :: !(Maybe Nat)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PortInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'piFromPort' - The first port in the range.------ * 'piProtocol' - The protocol.------ * 'piToPort' - The last port in the range.-portInfo-    :: PortInfo-portInfo =-  PortInfo' {_piFromPort = Nothing, _piProtocol = Nothing, _piToPort = Nothing}----- | The first port in the range.-piFromPort :: Lens' PortInfo (Maybe Natural)-piFromPort = lens _piFromPort (\ s a -> s{_piFromPort = a}) . mapping _Nat;---- | The protocol.-piProtocol :: Lens' PortInfo (Maybe NetworkProtocol)-piProtocol = lens _piProtocol (\ s a -> s{_piProtocol = a});---- | The last port in the range.-piToPort :: Lens' PortInfo (Maybe Natural)-piToPort = lens _piToPort (\ s a -> s{_piToPort = a}) . mapping _Nat;--instance Hashable PortInfo where--instance NFData PortInfo where--instance ToJSON PortInfo where-        toJSON PortInfo'{..}-          = object-              (catMaybes-                 [("fromPort" .=) <$> _piFromPort,-                  ("protocol" .=) <$> _piProtocol,-                  ("toPort" .=) <$> _piToPort])---- | Describes the AWS Region.------------ /See:/ 'regionInfo' smart constructor.-data RegionInfo = RegionInfo'-  { _riAvailabilityZones :: !(Maybe [AvailabilityZone])-  , _riName              :: !(Maybe RegionName)-  , _riDisplayName       :: !(Maybe Text)-  , _riContinentCode     :: !(Maybe Text)-  , _riDescription       :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RegionInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'riAvailabilityZones' - The Availability Zones. Follows the format @us-east-1a@ (case-sensitive).------ * 'riName' - The region name (e.g., @us-east-1@ ).------ * 'riDisplayName' - The display name (e.g., @Virginia@ ).------ * 'riContinentCode' - The continent code (e.g., @NA@ , meaning North America).------ * 'riDescription' - The description of the AWS Region (e.g., @This region is recommended to serve users in the eastern United States and eastern Canada@ ).-regionInfo-    :: RegionInfo-regionInfo =-  RegionInfo'-  { _riAvailabilityZones = Nothing-  , _riName = Nothing-  , _riDisplayName = Nothing-  , _riContinentCode = Nothing-  , _riDescription = Nothing-  }----- | The Availability Zones. Follows the format @us-east-1a@ (case-sensitive).-riAvailabilityZones :: Lens' RegionInfo [AvailabilityZone]-riAvailabilityZones = lens _riAvailabilityZones (\ s a -> s{_riAvailabilityZones = a}) . _Default . _Coerce;---- | The region name (e.g., @us-east-1@ ).-riName :: Lens' RegionInfo (Maybe RegionName)-riName = lens _riName (\ s a -> s{_riName = a});---- | The display name (e.g., @Virginia@ ).-riDisplayName :: Lens' RegionInfo (Maybe Text)-riDisplayName = lens _riDisplayName (\ s a -> s{_riDisplayName = a});---- | The continent code (e.g., @NA@ , meaning North America).-riContinentCode :: Lens' RegionInfo (Maybe Text)-riContinentCode = lens _riContinentCode (\ s a -> s{_riContinentCode = a});---- | The description of the AWS Region (e.g., @This region is recommended to serve users in the eastern United States and eastern Canada@ ).-riDescription :: Lens' RegionInfo (Maybe Text)-riDescription = lens _riDescription (\ s a -> s{_riDescription = a});--instance FromJSON RegionInfo where-        parseJSON-          = withObject "RegionInfo"-              (\ x ->-                 RegionInfo' <$>-                   (x .:? "availabilityZones" .!= mempty) <*>-                     (x .:? "name")-                     <*> (x .:? "displayName")-                     <*> (x .:? "continentCode")-                     <*> (x .:? "description"))--instance Hashable RegionInfo where--instance NFData RegionInfo where---- | Describes the resource location.------------ /See:/ 'resourceLocation' smart constructor.-data ResourceLocation = ResourceLocation'-  { _rlRegionName       :: !(Maybe RegionName)-  , _rlAvailabilityZone :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ResourceLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rlRegionName' - The AWS Region name.------ * 'rlAvailabilityZone' - The Availability Zone. Follows the format @us-east-1a@ (case-sensitive).-resourceLocation-    :: ResourceLocation-resourceLocation =-  ResourceLocation' {_rlRegionName = Nothing, _rlAvailabilityZone = Nothing}----- | The AWS Region name.-rlRegionName :: Lens' ResourceLocation (Maybe RegionName)-rlRegionName = lens _rlRegionName (\ s a -> s{_rlRegionName = a});---- | The Availability Zone. Follows the format @us-east-1a@ (case-sensitive).-rlAvailabilityZone :: Lens' ResourceLocation (Maybe Text)-rlAvailabilityZone = lens _rlAvailabilityZone (\ s a -> s{_rlAvailabilityZone = a});--instance FromJSON ResourceLocation where-        parseJSON-          = withObject "ResourceLocation"-              (\ x ->-                 ResourceLocation' <$>-                   (x .:? "regionName") <*> (x .:? "availabilityZone"))--instance Hashable ResourceLocation where--instance NFData ResourceLocation where---- | Describes the static IP.------------ /See:/ 'staticIP' smart constructor.-data StaticIP = StaticIP'-  { _siIpAddress    :: !(Maybe Text)-  , _siResourceType :: !(Maybe ResourceType)-  , _siArn          :: !(Maybe Text)-  , _siCreatedAt    :: !(Maybe POSIX)-  , _siLocation     :: !(Maybe ResourceLocation)-  , _siIsAttached   :: !(Maybe Bool)-  , _siName         :: !(Maybe Text)-  , _siSupportCode  :: !(Maybe Text)-  , _siAttachedTo   :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'StaticIP' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'siIpAddress' - The static IP address.------ * 'siResourceType' - The resource type (usually @StaticIp@ ).------ * 'siArn' - The Amazon Resource Name (ARN) of the static IP (e.g., @arn:aws:lightsail:us-east-1:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE@ ).------ * 'siCreatedAt' - The timestamp when the static IP was created (e.g., @1479735304.222@ ).------ * 'siLocation' - The region and Availability Zone where the static IP was created.------ * 'siIsAttached' - A Boolean value indicating whether the static IP is attached.------ * 'siName' - The name of the static IP (e.g., @StaticIP-Virginia-EXAMPLE@ ).------ * 'siSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.------ * 'siAttachedTo' - The instance where the static IP is attached (e.g., @Amazon_Linux-1GB-Virginia-1@ ).-staticIP-    :: StaticIP-staticIP =-  StaticIP'-  { _siIpAddress = Nothing-  , _siResourceType = Nothing-  , _siArn = Nothing-  , _siCreatedAt = Nothing-  , _siLocation = Nothing-  , _siIsAttached = Nothing-  , _siName = Nothing-  , _siSupportCode = Nothing-  , _siAttachedTo = Nothing-  }----- | The static IP address.-siIpAddress :: Lens' StaticIP (Maybe Text)-siIpAddress = lens _siIpAddress (\ s a -> s{_siIpAddress = a});---- | The resource type (usually @StaticIp@ ).-siResourceType :: Lens' StaticIP (Maybe ResourceType)-siResourceType = lens _siResourceType (\ s a -> s{_siResourceType = a});---- | The Amazon Resource Name (ARN) of the static IP (e.g., @arn:aws:lightsail:us-east-1:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE@ ).-siArn :: Lens' StaticIP (Maybe Text)-siArn = lens _siArn (\ s a -> s{_siArn = a});---- | The timestamp when the static IP was created (e.g., @1479735304.222@ ).-siCreatedAt :: Lens' StaticIP (Maybe UTCTime)-siCreatedAt = lens _siCreatedAt (\ s a -> s{_siCreatedAt = a}) . mapping _Time;---- | The region and Availability Zone where the static IP was created.-siLocation :: Lens' StaticIP (Maybe ResourceLocation)-siLocation = lens _siLocation (\ s a -> s{_siLocation = a});---- | A Boolean value indicating whether the static IP is attached.-siIsAttached :: Lens' StaticIP (Maybe Bool)-siIsAttached = lens _siIsAttached (\ s a -> s{_siIsAttached = a});---- | The name of the static IP (e.g., @StaticIP-Virginia-EXAMPLE@ ).-siName :: Lens' StaticIP (Maybe Text)-siName = lens _siName (\ s a -> s{_siName = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-siSupportCode :: Lens' StaticIP (Maybe Text)-siSupportCode = lens _siSupportCode (\ s a -> s{_siSupportCode = a});---- | The instance where the static IP is attached (e.g., @Amazon_Linux-1GB-Virginia-1@ ).-siAttachedTo :: Lens' StaticIP (Maybe Text)-siAttachedTo = lens _siAttachedTo (\ s a -> s{_siAttachedTo = a});+-- Copyright   : (c) 2013-2018 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.Lightsail.Types.Product where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types.Sum+import Network.AWS.Prelude++-- | Describes an Availability Zone.+--+--+--+-- /See:/ 'availabilityZone' smart constructor.+data AvailabilityZone = AvailabilityZone'+  { _azState    :: !(Maybe Text)+  , _azZoneName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AvailabilityZone' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'azState' - The state of the Availability Zone.+--+-- * 'azZoneName' - The name of the Availability Zone. The format is @us-east-2a@ (case-sensitive).+availabilityZone+    :: AvailabilityZone+availabilityZone = AvailabilityZone' {_azState = Nothing, _azZoneName = Nothing}+++-- | The state of the Availability Zone.+azState :: Lens' AvailabilityZone (Maybe Text)+azState = lens _azState (\ s a -> s{_azState = a})++-- | The name of the Availability Zone. The format is @us-east-2a@ (case-sensitive).+azZoneName :: Lens' AvailabilityZone (Maybe Text)+azZoneName = lens _azZoneName (\ s a -> s{_azZoneName = a})++instance FromJSON AvailabilityZone where+        parseJSON+          = withObject "AvailabilityZone"+              (\ x ->+                 AvailabilityZone' <$>+                   (x .:? "state") <*> (x .:? "zoneName"))++instance Hashable AvailabilityZone where++instance NFData AvailabilityZone where++-- | Describes a blueprint (a virtual private server image).+--+--+--+-- /See:/ 'blueprint' smart constructor.+data Blueprint = Blueprint'+  { _bVersionCode :: !(Maybe Text)+  , _bPlatform    :: !(Maybe InstancePlatform)+  , _bGroup       :: !(Maybe Text)+  , _bMinPower    :: !(Maybe Int)+  , _bProductURL  :: !(Maybe Text)+  , _bLicenseURL  :: !(Maybe Text)+  , _bName        :: !(Maybe Text)+  , _bVersion     :: !(Maybe Text)+  , _bBlueprintId :: !(Maybe Text)+  , _bType        :: !(Maybe BlueprintType)+  , _bIsActive    :: !(Maybe Bool)+  , _bDescription :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Blueprint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bVersionCode' - The version code.+--+-- * 'bPlatform' - The operating system platform (either Linux/Unix-based or Windows Server-based) of the blueprint.+--+-- * 'bGroup' - The group name of the blueprint (e.g., @amazon-linux@ ).+--+-- * 'bMinPower' - The minimum bundle power required to run this blueprint. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500. @0@ indicates that the blueprint runs on all instance sizes.+--+-- * 'bProductURL' - The product URL to learn more about the image or blueprint.+--+-- * 'bLicenseURL' - The end-user license agreement URL for the image or blueprint.+--+-- * 'bName' - The friendly name of the blueprint (e.g., @Amazon Linux@ ).+--+-- * 'bVersion' - The version number of the operating system, application, or stack (e.g., @2016.03.0@ ).+--+-- * 'bBlueprintId' - The ID for the virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ).+--+-- * 'bType' - The type of the blueprint (e.g., @os@ or @app@ ).+--+-- * 'bIsActive' - A Boolean value indicating whether the blueprint is active. When you update your blueprints, you will inactivate old blueprints and keep the most recent versions active.+--+-- * 'bDescription' - The description of the blueprint.+blueprint+    :: Blueprint+blueprint =+  Blueprint'+    { _bVersionCode = Nothing+    , _bPlatform = Nothing+    , _bGroup = Nothing+    , _bMinPower = Nothing+    , _bProductURL = Nothing+    , _bLicenseURL = Nothing+    , _bName = Nothing+    , _bVersion = Nothing+    , _bBlueprintId = Nothing+    , _bType = Nothing+    , _bIsActive = Nothing+    , _bDescription = Nothing+    }+++-- | The version code.+bVersionCode :: Lens' Blueprint (Maybe Text)+bVersionCode = lens _bVersionCode (\ s a -> s{_bVersionCode = a})++-- | The operating system platform (either Linux/Unix-based or Windows Server-based) of the blueprint.+bPlatform :: Lens' Blueprint (Maybe InstancePlatform)+bPlatform = lens _bPlatform (\ s a -> s{_bPlatform = a})++-- | The group name of the blueprint (e.g., @amazon-linux@ ).+bGroup :: Lens' Blueprint (Maybe Text)+bGroup = lens _bGroup (\ s a -> s{_bGroup = a})++-- | The minimum bundle power required to run this blueprint. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500. @0@ indicates that the blueprint runs on all instance sizes.+bMinPower :: Lens' Blueprint (Maybe Int)+bMinPower = lens _bMinPower (\ s a -> s{_bMinPower = a})++-- | The product URL to learn more about the image or blueprint.+bProductURL :: Lens' Blueprint (Maybe Text)+bProductURL = lens _bProductURL (\ s a -> s{_bProductURL = a})++-- | The end-user license agreement URL for the image or blueprint.+bLicenseURL :: Lens' Blueprint (Maybe Text)+bLicenseURL = lens _bLicenseURL (\ s a -> s{_bLicenseURL = a})++-- | The friendly name of the blueprint (e.g., @Amazon Linux@ ).+bName :: Lens' Blueprint (Maybe Text)+bName = lens _bName (\ s a -> s{_bName = a})++-- | The version number of the operating system, application, or stack (e.g., @2016.03.0@ ).+bVersion :: Lens' Blueprint (Maybe Text)+bVersion = lens _bVersion (\ s a -> s{_bVersion = a})++-- | The ID for the virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ).+bBlueprintId :: Lens' Blueprint (Maybe Text)+bBlueprintId = lens _bBlueprintId (\ s a -> s{_bBlueprintId = a})++-- | The type of the blueprint (e.g., @os@ or @app@ ).+bType :: Lens' Blueprint (Maybe BlueprintType)+bType = lens _bType (\ s a -> s{_bType = a})++-- | A Boolean value indicating whether the blueprint is active. When you update your blueprints, you will inactivate old blueprints and keep the most recent versions active.+bIsActive :: Lens' Blueprint (Maybe Bool)+bIsActive = lens _bIsActive (\ s a -> s{_bIsActive = a})++-- | The description of the blueprint.+bDescription :: Lens' Blueprint (Maybe Text)+bDescription = lens _bDescription (\ s a -> s{_bDescription = a})++instance FromJSON Blueprint where+        parseJSON+          = withObject "Blueprint"+              (\ x ->+                 Blueprint' <$>+                   (x .:? "versionCode") <*> (x .:? "platform") <*>+                     (x .:? "group")+                     <*> (x .:? "minPower")+                     <*> (x .:? "productUrl")+                     <*> (x .:? "licenseUrl")+                     <*> (x .:? "name")+                     <*> (x .:? "version")+                     <*> (x .:? "blueprintId")+                     <*> (x .:? "type")+                     <*> (x .:? "isActive")+                     <*> (x .:? "description"))++instance Hashable Blueprint where++instance NFData Blueprint where++-- | Describes a bundle, which is a set of specs describing your virtual private server (or /instance/ ).+--+--+--+-- /See:/ 'bundle' smart constructor.+data Bundle = Bundle'+  { _bunCpuCount             :: !(Maybe Int)+  , _bunTransferPerMonthInGb :: !(Maybe Int)+  , _bunBundleId             :: !(Maybe Text)+  , _bunInstanceType         :: !(Maybe Text)+  , _bunName                 :: !(Maybe Text)+  , _bunPower                :: !(Maybe Int)+  , _bunDiskSizeInGb         :: !(Maybe Int)+  , _bunSupportedPlatforms   :: !(Maybe [InstancePlatform])+  , _bunPrice                :: !(Maybe Double)+  , _bunIsActive             :: !(Maybe Bool)+  , _bunRamSizeInGb          :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Bundle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bunCpuCount' - The number of vCPUs included in the bundle (e.g., @2@ ).+--+-- * 'bunTransferPerMonthInGb' - The data transfer rate per month in GB (e.g., @2000@ ).+--+-- * 'bunBundleId' - The bundle ID (e.g., @micro_1_0@ ).+--+-- * 'bunInstanceType' - The Amazon EC2 instance type (e.g., @t2.micro@ ).+--+-- * 'bunName' - A friendly name for the bundle (e.g., @Micro@ ).+--+-- * 'bunPower' - A numeric value that represents the power of the bundle (e.g., @500@ ). You can use the bundle's power value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500.+--+-- * 'bunDiskSizeInGb' - The size of the SSD (e.g., @30@ ).+--+-- * 'bunSupportedPlatforms' - The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only launch a @WINDOWS@ bundle on a blueprint that supports the @WINDOWS@ platform. @LINUX_UNIX@ blueprints require a @LINUX_UNIX@ bundle.+--+-- * 'bunPrice' - The price in US dollars (e.g., @5.0@ ).+--+-- * 'bunIsActive' - A Boolean value indicating whether the bundle is active.+--+-- * 'bunRamSizeInGb' - The amount of RAM in GB (e.g., @2.0@ ).+bundle+    :: Bundle+bundle =+  Bundle'+    { _bunCpuCount = Nothing+    , _bunTransferPerMonthInGb = Nothing+    , _bunBundleId = Nothing+    , _bunInstanceType = Nothing+    , _bunName = Nothing+    , _bunPower = Nothing+    , _bunDiskSizeInGb = Nothing+    , _bunSupportedPlatforms = Nothing+    , _bunPrice = Nothing+    , _bunIsActive = Nothing+    , _bunRamSizeInGb = Nothing+    }+++-- | The number of vCPUs included in the bundle (e.g., @2@ ).+bunCpuCount :: Lens' Bundle (Maybe Int)+bunCpuCount = lens _bunCpuCount (\ s a -> s{_bunCpuCount = a})++-- | The data transfer rate per month in GB (e.g., @2000@ ).+bunTransferPerMonthInGb :: Lens' Bundle (Maybe Int)+bunTransferPerMonthInGb = lens _bunTransferPerMonthInGb (\ s a -> s{_bunTransferPerMonthInGb = a})++-- | The bundle ID (e.g., @micro_1_0@ ).+bunBundleId :: Lens' Bundle (Maybe Text)+bunBundleId = lens _bunBundleId (\ s a -> s{_bunBundleId = a})++-- | The Amazon EC2 instance type (e.g., @t2.micro@ ).+bunInstanceType :: Lens' Bundle (Maybe Text)+bunInstanceType = lens _bunInstanceType (\ s a -> s{_bunInstanceType = a})++-- | A friendly name for the bundle (e.g., @Micro@ ).+bunName :: Lens' Bundle (Maybe Text)+bunName = lens _bunName (\ s a -> s{_bunName = a})++-- | A numeric value that represents the power of the bundle (e.g., @500@ ). You can use the bundle's power value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500.+bunPower :: Lens' Bundle (Maybe Int)+bunPower = lens _bunPower (\ s a -> s{_bunPower = a})++-- | The size of the SSD (e.g., @30@ ).+bunDiskSizeInGb :: Lens' Bundle (Maybe Int)+bunDiskSizeInGb = lens _bunDiskSizeInGb (\ s a -> s{_bunDiskSizeInGb = a})++-- | The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only launch a @WINDOWS@ bundle on a blueprint that supports the @WINDOWS@ platform. @LINUX_UNIX@ blueprints require a @LINUX_UNIX@ bundle.+bunSupportedPlatforms :: Lens' Bundle [InstancePlatform]+bunSupportedPlatforms = lens _bunSupportedPlatforms (\ s a -> s{_bunSupportedPlatforms = a}) . _Default . _Coerce++-- | The price in US dollars (e.g., @5.0@ ).+bunPrice :: Lens' Bundle (Maybe Double)+bunPrice = lens _bunPrice (\ s a -> s{_bunPrice = a})++-- | A Boolean value indicating whether the bundle is active.+bunIsActive :: Lens' Bundle (Maybe Bool)+bunIsActive = lens _bunIsActive (\ s a -> s{_bunIsActive = a})++-- | The amount of RAM in GB (e.g., @2.0@ ).+bunRamSizeInGb :: Lens' Bundle (Maybe Double)+bunRamSizeInGb = lens _bunRamSizeInGb (\ s a -> s{_bunRamSizeInGb = a})++instance FromJSON Bundle where+        parseJSON+          = withObject "Bundle"+              (\ x ->+                 Bundle' <$>+                   (x .:? "cpuCount") <*> (x .:? "transferPerMonthInGb")+                     <*> (x .:? "bundleId")+                     <*> (x .:? "instanceType")+                     <*> (x .:? "name")+                     <*> (x .:? "power")+                     <*> (x .:? "diskSizeInGb")+                     <*> (x .:? "supportedPlatforms" .!= mempty)+                     <*> (x .:? "price")+                     <*> (x .:? "isActive")+                     <*> (x .:? "ramSizeInGb"))++instance Hashable Bundle where++instance NFData Bundle where++-- | Describes a system disk or an block storage disk.+--+--+--+-- /See:/ 'disk' smart constructor.+data Disk = Disk'+  { _dState           :: !(Maybe DiskState)+  , _dResourceType    :: !(Maybe ResourceType)+  , _dArn             :: !(Maybe Text)+  , _dPath            :: !(Maybe Text)+  , _dCreatedAt       :: !(Maybe POSIX)+  , _dLocation        :: !(Maybe ResourceLocation)+  , _dIops            :: !(Maybe Int)+  , _dIsAttached      :: !(Maybe Bool)+  , _dAttachmentState :: !(Maybe Text)+  , _dName            :: !(Maybe Text)+  , _dSizeInGb        :: !(Maybe Int)+  , _dSupportCode     :: !(Maybe Text)+  , _dIsSystemDisk    :: !(Maybe Bool)+  , _dAttachedTo      :: !(Maybe Text)+  , _dGbInUse         :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Disk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dState' - Describes the status of the disk.+--+-- * 'dResourceType' - The Lightsail resource type (e.g., @Disk@ ).+--+-- * 'dArn' - The Amazon Resource Name (ARN) of the disk.+--+-- * 'dPath' - The disk path.+--+-- * 'dCreatedAt' - The date when the disk was created.+--+-- * 'dLocation' - The AWS Region and Availability Zone where the disk is located.+--+-- * 'dIops' - The input/output operations per second (IOPS) of the disk.+--+-- * 'dIsAttached' - A Boolean value indicating whether the disk is attached.+--+-- * 'dAttachmentState' - (Deprecated) The attachment state of the disk.+--+-- * 'dName' - The unique name of the disk.+--+-- * 'dSizeInGb' - The size of the disk in GB.+--+-- * 'dSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'dIsSystemDisk' - A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).+--+-- * 'dAttachedTo' - The resources to which the disk is attached.+--+-- * 'dGbInUse' - (Deprecated) The number of GB in use by the disk.+disk+    :: Disk+disk =+  Disk'+    { _dState = Nothing+    , _dResourceType = Nothing+    , _dArn = Nothing+    , _dPath = Nothing+    , _dCreatedAt = Nothing+    , _dLocation = Nothing+    , _dIops = Nothing+    , _dIsAttached = Nothing+    , _dAttachmentState = Nothing+    , _dName = Nothing+    , _dSizeInGb = Nothing+    , _dSupportCode = Nothing+    , _dIsSystemDisk = Nothing+    , _dAttachedTo = Nothing+    , _dGbInUse = Nothing+    }+++-- | Describes the status of the disk.+dState :: Lens' Disk (Maybe DiskState)+dState = lens _dState (\ s a -> s{_dState = a})++-- | The Lightsail resource type (e.g., @Disk@ ).+dResourceType :: Lens' Disk (Maybe ResourceType)+dResourceType = lens _dResourceType (\ s a -> s{_dResourceType = a})++-- | The Amazon Resource Name (ARN) of the disk.+dArn :: Lens' Disk (Maybe Text)+dArn = lens _dArn (\ s a -> s{_dArn = a})++-- | The disk path.+dPath :: Lens' Disk (Maybe Text)+dPath = lens _dPath (\ s a -> s{_dPath = a})++-- | The date when the disk was created.+dCreatedAt :: Lens' Disk (Maybe UTCTime)+dCreatedAt = lens _dCreatedAt (\ s a -> s{_dCreatedAt = a}) . mapping _Time++-- | The AWS Region and Availability Zone where the disk is located.+dLocation :: Lens' Disk (Maybe ResourceLocation)+dLocation = lens _dLocation (\ s a -> s{_dLocation = a})++-- | The input/output operations per second (IOPS) of the disk.+dIops :: Lens' Disk (Maybe Int)+dIops = lens _dIops (\ s a -> s{_dIops = a})++-- | A Boolean value indicating whether the disk is attached.+dIsAttached :: Lens' Disk (Maybe Bool)+dIsAttached = lens _dIsAttached (\ s a -> s{_dIsAttached = a})++-- | (Deprecated) The attachment state of the disk.+dAttachmentState :: Lens' Disk (Maybe Text)+dAttachmentState = lens _dAttachmentState (\ s a -> s{_dAttachmentState = a})++-- | The unique name of the disk.+dName :: Lens' Disk (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a})++-- | The size of the disk in GB.+dSizeInGb :: Lens' Disk (Maybe Int)+dSizeInGb = lens _dSizeInGb (\ s a -> s{_dSizeInGb = a})++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+dSupportCode :: Lens' Disk (Maybe Text)+dSupportCode = lens _dSupportCode (\ s a -> s{_dSupportCode = a})++-- | A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).+dIsSystemDisk :: Lens' Disk (Maybe Bool)+dIsSystemDisk = lens _dIsSystemDisk (\ s a -> s{_dIsSystemDisk = a})++-- | The resources to which the disk is attached.+dAttachedTo :: Lens' Disk (Maybe Text)+dAttachedTo = lens _dAttachedTo (\ s a -> s{_dAttachedTo = a})++-- | (Deprecated) The number of GB in use by the disk.+dGbInUse :: Lens' Disk (Maybe Int)+dGbInUse = lens _dGbInUse (\ s a -> s{_dGbInUse = a})++instance FromJSON Disk where+        parseJSON+          = withObject "Disk"+              (\ x ->+                 Disk' <$>+                   (x .:? "state") <*> (x .:? "resourceType") <*>+                     (x .:? "arn")+                     <*> (x .:? "path")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "iops")+                     <*> (x .:? "isAttached")+                     <*> (x .:? "attachmentState")+                     <*> (x .:? "name")+                     <*> (x .:? "sizeInGb")+                     <*> (x .:? "supportCode")+                     <*> (x .:? "isSystemDisk")+                     <*> (x .:? "attachedTo")+                     <*> (x .:? "gbInUse"))++instance Hashable Disk where++instance NFData Disk where++-- | Describes a block storage disk mapping.+--+--+--+-- /See:/ 'diskMap' smart constructor.+data DiskMap = DiskMap'+  { _dmNewDiskName      :: !(Maybe Text)+  , _dmOriginalDiskPath :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DiskMap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmNewDiskName' - The new disk name (e.g., @my-new-disk@ ).+--+-- * 'dmOriginalDiskPath' - The original disk path exposed to the instance (for example, @/dev/sdh@ ).+diskMap+    :: DiskMap+diskMap = DiskMap' {_dmNewDiskName = Nothing, _dmOriginalDiskPath = Nothing}+++-- | The new disk name (e.g., @my-new-disk@ ).+dmNewDiskName :: Lens' DiskMap (Maybe Text)+dmNewDiskName = lens _dmNewDiskName (\ s a -> s{_dmNewDiskName = a})++-- | The original disk path exposed to the instance (for example, @/dev/sdh@ ).+dmOriginalDiskPath :: Lens' DiskMap (Maybe Text)+dmOriginalDiskPath = lens _dmOriginalDiskPath (\ s a -> s{_dmOriginalDiskPath = a})++instance Hashable DiskMap where++instance NFData DiskMap where++instance ToJSON DiskMap where+        toJSON DiskMap'{..}+          = object+              (catMaybes+                 [("newDiskName" .=) <$> _dmNewDiskName,+                  ("originalDiskPath" .=) <$> _dmOriginalDiskPath])++-- | Describes a block storage disk snapshot.+--+--+--+-- /See:/ 'diskSnapshot' smart constructor.+data DiskSnapshot = DiskSnapshot'+  { _dsFromDiskName :: !(Maybe Text)+  , _dsState        :: !(Maybe DiskSnapshotState)+  , _dsResourceType :: !(Maybe ResourceType)+  , _dsArn          :: !(Maybe Text)+  , _dsCreatedAt    :: !(Maybe POSIX)+  , _dsLocation     :: !(Maybe ResourceLocation)+  , _dsProgress     :: !(Maybe Text)+  , _dsName         :: !(Maybe Text)+  , _dsSizeInGb     :: !(Maybe Int)+  , _dsSupportCode  :: !(Maybe Text)+  , _dsFromDiskARN  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DiskSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsFromDiskName' - The unique name of the source disk from which you are creating the disk snapshot.+--+-- * 'dsState' - The status of the disk snapshot operation.+--+-- * 'dsResourceType' - The Lightsail resource type (e.g., @DiskSnapshot@ ).+--+-- * 'dsArn' - The Amazon Resource Name (ARN) of the disk snapshot.+--+-- * 'dsCreatedAt' - The date when the disk snapshot was created.+--+-- * 'dsLocation' - The AWS Region and Availability Zone where the disk snapshot was created.+--+-- * 'dsProgress' - The progress of the disk snapshot operation.+--+-- * 'dsName' - The name of the disk snapshot (e.g., @my-disk-snapshot@ ).+--+-- * 'dsSizeInGb' - The size of the disk in GB.+--+-- * 'dsSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'dsFromDiskARN' - The Amazon Resource Name (ARN) of the source disk from which you are creating the disk snapshot.+diskSnapshot+    :: DiskSnapshot+diskSnapshot =+  DiskSnapshot'+    { _dsFromDiskName = Nothing+    , _dsState = Nothing+    , _dsResourceType = Nothing+    , _dsArn = Nothing+    , _dsCreatedAt = Nothing+    , _dsLocation = Nothing+    , _dsProgress = Nothing+    , _dsName = Nothing+    , _dsSizeInGb = Nothing+    , _dsSupportCode = Nothing+    , _dsFromDiskARN = Nothing+    }+++-- | The unique name of the source disk from which you are creating the disk snapshot.+dsFromDiskName :: Lens' DiskSnapshot (Maybe Text)+dsFromDiskName = lens _dsFromDiskName (\ s a -> s{_dsFromDiskName = a})++-- | The status of the disk snapshot operation.+dsState :: Lens' DiskSnapshot (Maybe DiskSnapshotState)+dsState = lens _dsState (\ s a -> s{_dsState = a})++-- | The Lightsail resource type (e.g., @DiskSnapshot@ ).+dsResourceType :: Lens' DiskSnapshot (Maybe ResourceType)+dsResourceType = lens _dsResourceType (\ s a -> s{_dsResourceType = a})++-- | The Amazon Resource Name (ARN) of the disk snapshot.+dsArn :: Lens' DiskSnapshot (Maybe Text)+dsArn = lens _dsArn (\ s a -> s{_dsArn = a})++-- | The date when the disk snapshot was created.+dsCreatedAt :: Lens' DiskSnapshot (Maybe UTCTime)+dsCreatedAt = lens _dsCreatedAt (\ s a -> s{_dsCreatedAt = a}) . mapping _Time++-- | The AWS Region and Availability Zone where the disk snapshot was created.+dsLocation :: Lens' DiskSnapshot (Maybe ResourceLocation)+dsLocation = lens _dsLocation (\ s a -> s{_dsLocation = a})++-- | The progress of the disk snapshot operation.+dsProgress :: Lens' DiskSnapshot (Maybe Text)+dsProgress = lens _dsProgress (\ s a -> s{_dsProgress = a})++-- | The name of the disk snapshot (e.g., @my-disk-snapshot@ ).+dsName :: Lens' DiskSnapshot (Maybe Text)+dsName = lens _dsName (\ s a -> s{_dsName = a})++-- | The size of the disk in GB.+dsSizeInGb :: Lens' DiskSnapshot (Maybe Int)+dsSizeInGb = lens _dsSizeInGb (\ s a -> s{_dsSizeInGb = a})++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+dsSupportCode :: Lens' DiskSnapshot (Maybe Text)+dsSupportCode = lens _dsSupportCode (\ s a -> s{_dsSupportCode = a})++-- | The Amazon Resource Name (ARN) of the source disk from which you are creating the disk snapshot.+dsFromDiskARN :: Lens' DiskSnapshot (Maybe Text)+dsFromDiskARN = lens _dsFromDiskARN (\ s a -> s{_dsFromDiskARN = a})++instance FromJSON DiskSnapshot where+        parseJSON+          = withObject "DiskSnapshot"+              (\ x ->+                 DiskSnapshot' <$>+                   (x .:? "fromDiskName") <*> (x .:? "state") <*>+                     (x .:? "resourceType")+                     <*> (x .:? "arn")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "progress")+                     <*> (x .:? "name")+                     <*> (x .:? "sizeInGb")+                     <*> (x .:? "supportCode")+                     <*> (x .:? "fromDiskArn"))++instance Hashable DiskSnapshot where++instance NFData DiskSnapshot where++-- | Describes a domain where you are storing recordsets in Lightsail.+--+--+--+-- /See:/ 'domain' smart constructor.+data Domain = Domain'+  { _domResourceType  :: !(Maybe ResourceType)+  , _domDomainEntries :: !(Maybe [DomainEntry])+  , _domArn           :: !(Maybe Text)+  , _domCreatedAt     :: !(Maybe POSIX)+  , _domLocation      :: !(Maybe ResourceLocation)+  , _domName          :: !(Maybe Text)+  , _domSupportCode   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Domain' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'domResourceType' - The resource type.+--+-- * 'domDomainEntries' - An array of key-value pairs containing information about the domain entries.+--+-- * 'domArn' - The Amazon Resource Name (ARN) of the domain recordset (e.g., @arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE@ ).+--+-- * 'domCreatedAt' - The date when the domain recordset was created.+--+-- * 'domLocation' - The AWS Region and Availability Zones where the domain recordset was created.+--+-- * 'domName' - The name of the domain.+--+-- * 'domSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+domain+    :: Domain+domain =+  Domain'+    { _domResourceType = Nothing+    , _domDomainEntries = Nothing+    , _domArn = Nothing+    , _domCreatedAt = Nothing+    , _domLocation = Nothing+    , _domName = Nothing+    , _domSupportCode = Nothing+    }+++-- | The resource type.+domResourceType :: Lens' Domain (Maybe ResourceType)+domResourceType = lens _domResourceType (\ s a -> s{_domResourceType = a})++-- | An array of key-value pairs containing information about the domain entries.+domDomainEntries :: Lens' Domain [DomainEntry]+domDomainEntries = lens _domDomainEntries (\ s a -> s{_domDomainEntries = a}) . _Default . _Coerce++-- | The Amazon Resource Name (ARN) of the domain recordset (e.g., @arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE@ ).+domArn :: Lens' Domain (Maybe Text)+domArn = lens _domArn (\ s a -> s{_domArn = a})++-- | The date when the domain recordset was created.+domCreatedAt :: Lens' Domain (Maybe UTCTime)+domCreatedAt = lens _domCreatedAt (\ s a -> s{_domCreatedAt = a}) . mapping _Time++-- | The AWS Region and Availability Zones where the domain recordset was created.+domLocation :: Lens' Domain (Maybe ResourceLocation)+domLocation = lens _domLocation (\ s a -> s{_domLocation = a})++-- | The name of the domain.+domName :: Lens' Domain (Maybe Text)+domName = lens _domName (\ s a -> s{_domName = a})++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+domSupportCode :: Lens' Domain (Maybe Text)+domSupportCode = lens _domSupportCode (\ s a -> s{_domSupportCode = a})++instance FromJSON Domain where+        parseJSON+          = withObject "Domain"+              (\ x ->+                 Domain' <$>+                   (x .:? "resourceType") <*>+                     (x .:? "domainEntries" .!= mempty)+                     <*> (x .:? "arn")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "name")+                     <*> (x .:? "supportCode"))++instance Hashable Domain where++instance NFData Domain where++-- | Describes a domain recordset entry.+--+--+--+-- /See:/ 'domainEntry' smart constructor.+data DomainEntry = DomainEntry'+  { _deIsAlias :: !(Maybe Bool)+  , _deName    :: !(Maybe Text)+  , _deId      :: !(Maybe Text)+  , _deOptions :: !(Maybe (Map Text Text))+  , _deType    :: !(Maybe Text)+  , _deTarget  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DomainEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'deIsAlias' - When @true@ , specifies whether the domain entry is an alias used by the Lightsail load balancer. You can include an alias (A type) record in your request, which points to a load balancer DNS name and routes traffic to your load balancer+--+-- * 'deName' - The name of the domain.+--+-- * 'deId' - The ID of the domain recordset entry.+--+-- * 'deOptions' - (Deprecated) The options for the domain entry.+--+-- * 'deType' - The type of domain entry (e.g., @SOA@ or @NS@ ).+--+-- * 'deTarget' - The target AWS name server (e.g., @ns-111.awsdns-22.com.@ ). For Lightsail load balancers, the value looks like @ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com@ . Be sure to also set @isAlias@ to @true@ when setting up an A record for a load balancer.+domainEntry+    :: DomainEntry+domainEntry =+  DomainEntry'+    { _deIsAlias = Nothing+    , _deName = Nothing+    , _deId = Nothing+    , _deOptions = Nothing+    , _deType = Nothing+    , _deTarget = Nothing+    }+++-- | When @true@ , specifies whether the domain entry is an alias used by the Lightsail load balancer. You can include an alias (A type) record in your request, which points to a load balancer DNS name and routes traffic to your load balancer+deIsAlias :: Lens' DomainEntry (Maybe Bool)+deIsAlias = lens _deIsAlias (\ s a -> s{_deIsAlias = a})++-- | The name of the domain.+deName :: Lens' DomainEntry (Maybe Text)+deName = lens _deName (\ s a -> s{_deName = a})++-- | The ID of the domain recordset entry.+deId :: Lens' DomainEntry (Maybe Text)+deId = lens _deId (\ s a -> s{_deId = a})++-- | (Deprecated) The options for the domain entry.+deOptions :: Lens' DomainEntry (HashMap Text Text)+deOptions = lens _deOptions (\ s a -> s{_deOptions = a}) . _Default . _Map++-- | The type of domain entry (e.g., @SOA@ or @NS@ ).+deType :: Lens' DomainEntry (Maybe Text)+deType = lens _deType (\ s a -> s{_deType = a})++-- | The target AWS name server (e.g., @ns-111.awsdns-22.com.@ ). For Lightsail load balancers, the value looks like @ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com@ . Be sure to also set @isAlias@ to @true@ when setting up an A record for a load balancer.+deTarget :: Lens' DomainEntry (Maybe Text)+deTarget = lens _deTarget (\ s a -> s{_deTarget = a})++instance FromJSON DomainEntry where+        parseJSON+          = withObject "DomainEntry"+              (\ x ->+                 DomainEntry' <$>+                   (x .:? "isAlias") <*> (x .:? "name") <*> (x .:? "id")+                     <*> (x .:? "options" .!= mempty)+                     <*> (x .:? "type")+                     <*> (x .:? "target"))++instance Hashable DomainEntry where++instance NFData DomainEntry where++instance ToJSON DomainEntry where+        toJSON DomainEntry'{..}+          = object+              (catMaybes+                 [("isAlias" .=) <$> _deIsAlias,+                  ("name" .=) <$> _deName, ("id" .=) <$> _deId,+                  ("options" .=) <$> _deOptions,+                  ("type" .=) <$> _deType,+                  ("target" .=) <$> _deTarget])++-- | Describes an instance (a virtual private server).+--+--+--+-- /See:/ 'instance'' smart constructor.+data Instance = Instance'+  { _iState            :: !(Maybe InstanceState)+  , _iIpv6Address      :: !(Maybe Text)+  , _iResourceType     :: !(Maybe ResourceType)+  , _iArn              :: !(Maybe Text)+  , _iCreatedAt        :: !(Maybe POSIX)+  , _iLocation         :: !(Maybe ResourceLocation)+  , _iSshKeyName       :: !(Maybe Text)+  , _iUsername         :: !(Maybe Text)+  , _iNetworking       :: !(Maybe InstanceNetworking)+  , _iBundleId         :: !(Maybe Text)+  , _iName             :: !(Maybe Text)+  , _iSupportCode      :: !(Maybe Text)+  , _iBlueprintId      :: !(Maybe Text)+  , _iPrivateIPAddress :: !(Maybe Text)+  , _iBlueprintName    :: !(Maybe Text)+  , _iIsStaticIP       :: !(Maybe Bool)+  , _iPublicIPAddress  :: !(Maybe Text)+  , _iHardware         :: !(Maybe InstanceHardware)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Instance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iState' - The status code and the state (e.g., @running@ ) for the instance.+--+-- * 'iIpv6Address' - The IPv6 address of the instance.+--+-- * 'iResourceType' - The type of resource (usually @Instance@ ).+--+-- * 'iArn' - The Amazon Resource Name (ARN) of the instance (e.g., @arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE@ ).+--+-- * 'iCreatedAt' - The timestamp when the instance was created (e.g., @1479734909.17@ ).+--+-- * 'iLocation' - The region name and availability zone where the instance is located.+--+-- * 'iSshKeyName' - The name of the SSH key being used to connect to the instance (e.g., @LightsailDefaultKeyPair@ ).+--+-- * 'iUsername' - The user name for connecting to the instance (e.g., @ec2-user@ ).+--+-- * 'iNetworking' - Information about the public ports and monthly data transfer rates for the instance.+--+-- * 'iBundleId' - The bundle for the instance (e.g., @micro_1_0@ ).+--+-- * 'iName' - The name the user gave the instance (e.g., @Amazon_Linux-1GB-Ohio-1@ ).+--+-- * 'iSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'iBlueprintId' - The blueprint ID (e.g., @os_amlinux_2016_03@ ).+--+-- * 'iPrivateIPAddress' - The private IP address of the instance.+--+-- * 'iBlueprintName' - The friendly name of the blueprint (e.g., @Amazon Linux@ ).+--+-- * 'iIsStaticIP' - A Boolean value indicating whether this instance has a static IP assigned to it.+--+-- * 'iPublicIPAddress' - The public IP address of the instance.+--+-- * 'iHardware' - The size of the vCPU and the amount of RAM for the instance.+instance'+    :: Instance+instance' =+  Instance'+    { _iState = Nothing+    , _iIpv6Address = Nothing+    , _iResourceType = Nothing+    , _iArn = Nothing+    , _iCreatedAt = Nothing+    , _iLocation = Nothing+    , _iSshKeyName = Nothing+    , _iUsername = Nothing+    , _iNetworking = Nothing+    , _iBundleId = Nothing+    , _iName = Nothing+    , _iSupportCode = Nothing+    , _iBlueprintId = Nothing+    , _iPrivateIPAddress = Nothing+    , _iBlueprintName = Nothing+    , _iIsStaticIP = Nothing+    , _iPublicIPAddress = Nothing+    , _iHardware = Nothing+    }+++-- | The status code and the state (e.g., @running@ ) for the instance.+iState :: Lens' Instance (Maybe InstanceState)+iState = lens _iState (\ s a -> s{_iState = a})++-- | The IPv6 address of the instance.+iIpv6Address :: Lens' Instance (Maybe Text)+iIpv6Address = lens _iIpv6Address (\ s a -> s{_iIpv6Address = a})++-- | The type of resource (usually @Instance@ ).+iResourceType :: Lens' Instance (Maybe ResourceType)+iResourceType = lens _iResourceType (\ s a -> s{_iResourceType = a})++-- | The Amazon Resource Name (ARN) of the instance (e.g., @arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE@ ).+iArn :: Lens' Instance (Maybe Text)+iArn = lens _iArn (\ s a -> s{_iArn = a})++-- | The timestamp when the instance was created (e.g., @1479734909.17@ ).+iCreatedAt :: Lens' Instance (Maybe UTCTime)+iCreatedAt = lens _iCreatedAt (\ s a -> s{_iCreatedAt = a}) . mapping _Time++-- | The region name and availability zone where the instance is located.+iLocation :: Lens' Instance (Maybe ResourceLocation)+iLocation = lens _iLocation (\ s a -> s{_iLocation = a})++-- | The name of the SSH key being used to connect to the instance (e.g., @LightsailDefaultKeyPair@ ).+iSshKeyName :: Lens' Instance (Maybe Text)+iSshKeyName = lens _iSshKeyName (\ s a -> s{_iSshKeyName = a})++-- | The user name for connecting to the instance (e.g., @ec2-user@ ).+iUsername :: Lens' Instance (Maybe Text)+iUsername = lens _iUsername (\ s a -> s{_iUsername = a})++-- | Information about the public ports and monthly data transfer rates for the instance.+iNetworking :: Lens' Instance (Maybe InstanceNetworking)+iNetworking = lens _iNetworking (\ s a -> s{_iNetworking = a})++-- | The bundle for the instance (e.g., @micro_1_0@ ).+iBundleId :: Lens' Instance (Maybe Text)+iBundleId = lens _iBundleId (\ s a -> s{_iBundleId = a})++-- | The name the user gave the instance (e.g., @Amazon_Linux-1GB-Ohio-1@ ).+iName :: Lens' Instance (Maybe Text)+iName = lens _iName (\ s a -> s{_iName = a})++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+iSupportCode :: Lens' Instance (Maybe Text)+iSupportCode = lens _iSupportCode (\ s a -> s{_iSupportCode = a})++-- | The blueprint ID (e.g., @os_amlinux_2016_03@ ).+iBlueprintId :: Lens' Instance (Maybe Text)+iBlueprintId = lens _iBlueprintId (\ s a -> s{_iBlueprintId = a})++-- | The private IP address of the instance.+iPrivateIPAddress :: Lens' Instance (Maybe Text)+iPrivateIPAddress = lens _iPrivateIPAddress (\ s a -> s{_iPrivateIPAddress = a})++-- | The friendly name of the blueprint (e.g., @Amazon Linux@ ).+iBlueprintName :: Lens' Instance (Maybe Text)+iBlueprintName = lens _iBlueprintName (\ s a -> s{_iBlueprintName = a})++-- | A Boolean value indicating whether this instance has a static IP assigned to it.+iIsStaticIP :: Lens' Instance (Maybe Bool)+iIsStaticIP = lens _iIsStaticIP (\ s a -> s{_iIsStaticIP = a})++-- | The public IP address of the instance.+iPublicIPAddress :: Lens' Instance (Maybe Text)+iPublicIPAddress = lens _iPublicIPAddress (\ s a -> s{_iPublicIPAddress = a})++-- | The size of the vCPU and the amount of RAM for the instance.+iHardware :: Lens' Instance (Maybe InstanceHardware)+iHardware = lens _iHardware (\ s a -> s{_iHardware = a})++instance FromJSON Instance where+        parseJSON+          = withObject "Instance"+              (\ x ->+                 Instance' <$>+                   (x .:? "state") <*> (x .:? "ipv6Address") <*>+                     (x .:? "resourceType")+                     <*> (x .:? "arn")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "sshKeyName")+                     <*> (x .:? "username")+                     <*> (x .:? "networking")+                     <*> (x .:? "bundleId")+                     <*> (x .:? "name")+                     <*> (x .:? "supportCode")+                     <*> (x .:? "blueprintId")+                     <*> (x .:? "privateIpAddress")+                     <*> (x .:? "blueprintName")+                     <*> (x .:? "isStaticIp")+                     <*> (x .:? "publicIpAddress")+                     <*> (x .:? "hardware"))++instance Hashable Instance where++instance NFData Instance where++-- | The parameters for gaining temporary access to one of your Amazon Lightsail instances.+--+--+--+-- /See:/ 'instanceAccessDetails' smart constructor.+data InstanceAccessDetails = InstanceAccessDetails'+  { _iadCertKey      :: !(Maybe Text)+  , _iadIpAddress    :: !(Maybe Text)+  , _iadPrivateKey   :: !(Maybe Text)+  , _iadExpiresAt    :: !(Maybe POSIX)+  , _iadUsername     :: !(Maybe Text)+  , _iadProtocol     :: !(Maybe InstanceAccessProtocol)+  , _iadPasswordData :: !(Maybe PasswordData)+  , _iadPassword     :: !(Maybe Text)+  , _iadInstanceName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceAccessDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iadCertKey' - For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey-cert.pub@ .+--+-- * 'iadIpAddress' - The public IP address of the Amazon Lightsail instance.+--+-- * 'iadPrivateKey' - For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey@ ).+--+-- * 'iadExpiresAt' - For SSH access, the date on which the temporary keys expire.+--+-- * 'iadUsername' - The user name to use when logging in to the Amazon Lightsail instance.+--+-- * 'iadProtocol' - The protocol for these Amazon Lightsail instance access details.+--+-- * 'iadPasswordData' - For a Windows Server-based instance, an object with the data you can use to retrieve your password. This is only needed if @password@ is empty and the instance is not new (and therefore the password is not ready yet). When you create an instance, it can take up to 15 minutes for the instance to be ready.+--+-- * 'iadPassword' - For RDP access, the password for your Amazon Lightsail instance. Password will be an empty string if the password for your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.+--+-- * 'iadInstanceName' - The name of this Amazon Lightsail instance.+instanceAccessDetails+    :: InstanceAccessDetails+instanceAccessDetails =+  InstanceAccessDetails'+    { _iadCertKey = Nothing+    , _iadIpAddress = Nothing+    , _iadPrivateKey = Nothing+    , _iadExpiresAt = Nothing+    , _iadUsername = Nothing+    , _iadProtocol = Nothing+    , _iadPasswordData = Nothing+    , _iadPassword = Nothing+    , _iadInstanceName = Nothing+    }+++-- | For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey-cert.pub@ .+iadCertKey :: Lens' InstanceAccessDetails (Maybe Text)+iadCertKey = lens _iadCertKey (\ s a -> s{_iadCertKey = a})++-- | The public IP address of the Amazon Lightsail instance.+iadIpAddress :: Lens' InstanceAccessDetails (Maybe Text)+iadIpAddress = lens _iadIpAddress (\ s a -> s{_iadIpAddress = a})++-- | For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey@ ).+iadPrivateKey :: Lens' InstanceAccessDetails (Maybe Text)+iadPrivateKey = lens _iadPrivateKey (\ s a -> s{_iadPrivateKey = a})++-- | For SSH access, the date on which the temporary keys expire.+iadExpiresAt :: Lens' InstanceAccessDetails (Maybe UTCTime)+iadExpiresAt = lens _iadExpiresAt (\ s a -> s{_iadExpiresAt = a}) . mapping _Time++-- | The user name to use when logging in to the Amazon Lightsail instance.+iadUsername :: Lens' InstanceAccessDetails (Maybe Text)+iadUsername = lens _iadUsername (\ s a -> s{_iadUsername = a})++-- | The protocol for these Amazon Lightsail instance access details.+iadProtocol :: Lens' InstanceAccessDetails (Maybe InstanceAccessProtocol)+iadProtocol = lens _iadProtocol (\ s a -> s{_iadProtocol = a})++-- | For a Windows Server-based instance, an object with the data you can use to retrieve your password. This is only needed if @password@ is empty and the instance is not new (and therefore the password is not ready yet). When you create an instance, it can take up to 15 minutes for the instance to be ready.+iadPasswordData :: Lens' InstanceAccessDetails (Maybe PasswordData)+iadPasswordData = lens _iadPasswordData (\ s a -> s{_iadPasswordData = a})++-- | For RDP access, the password for your Amazon Lightsail instance. Password will be an empty string if the password for your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.+iadPassword :: Lens' InstanceAccessDetails (Maybe Text)+iadPassword = lens _iadPassword (\ s a -> s{_iadPassword = a})++-- | The name of this Amazon Lightsail instance.+iadInstanceName :: Lens' InstanceAccessDetails (Maybe Text)+iadInstanceName = lens _iadInstanceName (\ s a -> s{_iadInstanceName = a})++instance FromJSON InstanceAccessDetails where+        parseJSON+          = withObject "InstanceAccessDetails"+              (\ x ->+                 InstanceAccessDetails' <$>+                   (x .:? "certKey") <*> (x .:? "ipAddress") <*>+                     (x .:? "privateKey")+                     <*> (x .:? "expiresAt")+                     <*> (x .:? "username")+                     <*> (x .:? "protocol")+                     <*> (x .:? "passwordData")+                     <*> (x .:? "password")+                     <*> (x .:? "instanceName"))++instance Hashable InstanceAccessDetails where++instance NFData InstanceAccessDetails where++-- | Describes the hardware for the instance.+--+--+--+-- /See:/ 'instanceHardware' smart constructor.+data InstanceHardware = InstanceHardware'+  { _ihCpuCount    :: !(Maybe Int)+  , _ihDisks       :: !(Maybe [Disk])+  , _ihRamSizeInGb :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceHardware' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ihCpuCount' - The number of vCPUs the instance has.+--+-- * 'ihDisks' - The disks attached to the instance.+--+-- * 'ihRamSizeInGb' - The amount of RAM in GB on the instance (e.g., @1.0@ ).+instanceHardware+    :: InstanceHardware+instanceHardware =+  InstanceHardware'+    {_ihCpuCount = Nothing, _ihDisks = Nothing, _ihRamSizeInGb = Nothing}+++-- | The number of vCPUs the instance has.+ihCpuCount :: Lens' InstanceHardware (Maybe Int)+ihCpuCount = lens _ihCpuCount (\ s a -> s{_ihCpuCount = a})++-- | The disks attached to the instance.+ihDisks :: Lens' InstanceHardware [Disk]+ihDisks = lens _ihDisks (\ s a -> s{_ihDisks = a}) . _Default . _Coerce++-- | The amount of RAM in GB on the instance (e.g., @1.0@ ).+ihRamSizeInGb :: Lens' InstanceHardware (Maybe Double)+ihRamSizeInGb = lens _ihRamSizeInGb (\ s a -> s{_ihRamSizeInGb = a})++instance FromJSON InstanceHardware where+        parseJSON+          = withObject "InstanceHardware"+              (\ x ->+                 InstanceHardware' <$>+                   (x .:? "cpuCount") <*> (x .:? "disks" .!= mempty) <*>+                     (x .:? "ramSizeInGb"))++instance Hashable InstanceHardware where++instance NFData InstanceHardware where++-- | Describes information about the health of the instance.+--+--+--+-- /See:/ 'instanceHealthSummary' smart constructor.+data InstanceHealthSummary = InstanceHealthSummary'+  { _ihsInstanceHealth       :: !(Maybe InstanceHealthState)+  , _ihsInstanceName         :: !(Maybe Text)+  , _ihsInstanceHealthReason :: !(Maybe InstanceHealthReason)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceHealthSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ihsInstanceHealth' - Describes the overall instance health. Valid values are below.+--+-- * 'ihsInstanceName' - The name of the Lightsail instance for which you are requesting health check data.+--+-- * 'ihsInstanceHealthReason' - More information about the instance health. If the @instanceHealth@ is @healthy@ , then an @instanceHealthReason@ value is not provided. If __@instanceHealth@ __ is @initial@ , the __@instanceHealthReason@ __ value can be one of the following:     * __@Lb.RegistrationInProgress@ __ - The target instance is in the process of being registered with the load balancer.     * __@Lb.InitialHealthChecking@ __ - The Lightsail load balancer is still sending the target instance the minimum number of health checks required to determine its health status. If __@instanceHealth@ __ is @unhealthy@ , the __@instanceHealthReason@ __ value can be one of the following:     * __@Instance.ResponseCodeMismatch@ __ - The health checks did not return an expected HTTP code.     * __@Instance.Timeout@ __ - The health check requests timed out.     * __@Instance.FailedHealthChecks@ __ - The health checks failed because the connection to the target instance timed out, the target instance response was malformed, or the target instance failed the health check for an unknown reason.     * __@Lb.InternalError@ __ - The health checks failed due to an internal error. If __@instanceHealth@ __ is @unused@ , the __@instanceHealthReason@ __ value can be one of the following:     * __@Instance.NotRegistered@ __ - The target instance is not registered with the target group.     * __@Instance.NotInUse@ __ - The target group is not used by any load balancer, or the target instance is in an Availability Zone that is not enabled for its load balancer.     * __@Instance.IpUnusable@ __ - The target IP address is reserved for use by a Lightsail load balancer.     * __@Instance.InvalidState@ __ - The target is in the stopped or terminated state. If __@instanceHealth@ __ is @draining@ , the __@instanceHealthReason@ __ value can be one of the following:     * __@Instance.DeregistrationInProgress@ __ - The target instance is in the process of being deregistered and the deregistration delay period has not expired.+instanceHealthSummary+    :: InstanceHealthSummary+instanceHealthSummary =+  InstanceHealthSummary'+    { _ihsInstanceHealth = Nothing+    , _ihsInstanceName = Nothing+    , _ihsInstanceHealthReason = Nothing+    }+++-- | Describes the overall instance health. Valid values are below.+ihsInstanceHealth :: Lens' InstanceHealthSummary (Maybe InstanceHealthState)+ihsInstanceHealth = lens _ihsInstanceHealth (\ s a -> s{_ihsInstanceHealth = a})++-- | The name of the Lightsail instance for which you are requesting health check data.+ihsInstanceName :: Lens' InstanceHealthSummary (Maybe Text)+ihsInstanceName = lens _ihsInstanceName (\ s a -> s{_ihsInstanceName = a})++-- | More information about the instance health. If the @instanceHealth@ is @healthy@ , then an @instanceHealthReason@ value is not provided. If __@instanceHealth@ __ is @initial@ , the __@instanceHealthReason@ __ value can be one of the following:     * __@Lb.RegistrationInProgress@ __ - The target instance is in the process of being registered with the load balancer.     * __@Lb.InitialHealthChecking@ __ - The Lightsail load balancer is still sending the target instance the minimum number of health checks required to determine its health status. If __@instanceHealth@ __ is @unhealthy@ , the __@instanceHealthReason@ __ value can be one of the following:     * __@Instance.ResponseCodeMismatch@ __ - The health checks did not return an expected HTTP code.     * __@Instance.Timeout@ __ - The health check requests timed out.     * __@Instance.FailedHealthChecks@ __ - The health checks failed because the connection to the target instance timed out, the target instance response was malformed, or the target instance failed the health check for an unknown reason.     * __@Lb.InternalError@ __ - The health checks failed due to an internal error. If __@instanceHealth@ __ is @unused@ , the __@instanceHealthReason@ __ value can be one of the following:     * __@Instance.NotRegistered@ __ - The target instance is not registered with the target group.     * __@Instance.NotInUse@ __ - The target group is not used by any load balancer, or the target instance is in an Availability Zone that is not enabled for its load balancer.     * __@Instance.IpUnusable@ __ - The target IP address is reserved for use by a Lightsail load balancer.     * __@Instance.InvalidState@ __ - The target is in the stopped or terminated state. If __@instanceHealth@ __ is @draining@ , the __@instanceHealthReason@ __ value can be one of the following:     * __@Instance.DeregistrationInProgress@ __ - The target instance is in the process of being deregistered and the deregistration delay period has not expired.+ihsInstanceHealthReason :: Lens' InstanceHealthSummary (Maybe InstanceHealthReason)+ihsInstanceHealthReason = lens _ihsInstanceHealthReason (\ s a -> s{_ihsInstanceHealthReason = a})++instance FromJSON InstanceHealthSummary where+        parseJSON+          = withObject "InstanceHealthSummary"+              (\ x ->+                 InstanceHealthSummary' <$>+                   (x .:? "instanceHealth") <*> (x .:? "instanceName")+                     <*> (x .:? "instanceHealthReason"))++instance Hashable InstanceHealthSummary where++instance NFData InstanceHealthSummary where++-- | Describes monthly data transfer rates and port information for an instance.+--+--+--+-- /See:/ 'instanceNetworking' smart constructor.+data InstanceNetworking = InstanceNetworking'+  { _inMonthlyTransfer :: !(Maybe MonthlyTransfer)+  , _inPorts           :: !(Maybe [InstancePortInfo])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceNetworking' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'inMonthlyTransfer' - The amount of data in GB allocated for monthly data transfers.+--+-- * 'inPorts' - An array of key-value pairs containing information about the ports on the instance.+instanceNetworking+    :: InstanceNetworking+instanceNetworking =+  InstanceNetworking' {_inMonthlyTransfer = Nothing, _inPorts = Nothing}+++-- | The amount of data in GB allocated for monthly data transfers.+inMonthlyTransfer :: Lens' InstanceNetworking (Maybe MonthlyTransfer)+inMonthlyTransfer = lens _inMonthlyTransfer (\ s a -> s{_inMonthlyTransfer = a})++-- | An array of key-value pairs containing information about the ports on the instance.+inPorts :: Lens' InstanceNetworking [InstancePortInfo]+inPorts = lens _inPorts (\ s a -> s{_inPorts = a}) . _Default . _Coerce++instance FromJSON InstanceNetworking where+        parseJSON+          = withObject "InstanceNetworking"+              (\ x ->+                 InstanceNetworking' <$>+                   (x .:? "monthlyTransfer") <*>+                     (x .:? "ports" .!= mempty))++instance Hashable InstanceNetworking where++instance NFData InstanceNetworking where++-- | Describes information about the instance ports.+--+--+--+-- /See:/ 'instancePortInfo' smart constructor.+data InstancePortInfo = InstancePortInfo'+  { _ipiFromPort        :: !(Maybe Nat)+  , _ipiCommonName      :: !(Maybe Text)+  , _ipiProtocol        :: !(Maybe NetworkProtocol)+  , _ipiAccessDirection :: !(Maybe AccessDirection)+  , _ipiAccessType      :: !(Maybe PortAccessType)+  , _ipiToPort          :: !(Maybe Nat)+  , _ipiAccessFrom      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstancePortInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipiFromPort' - The first port in the range.+--+-- * 'ipiCommonName' - The common name.+--+-- * 'ipiProtocol' - The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.+--+-- * 'ipiAccessDirection' - The access direction (@inbound@ or @outbound@ ).+--+-- * 'ipiAccessType' - The type of access (@Public@ or @Private@ ).+--+-- * 'ipiToPort' - The last port in the range.+--+-- * 'ipiAccessFrom' - The location from which access is allowed (e.g., @Anywhere (0.0.0.0/0)@ ).+instancePortInfo+    :: InstancePortInfo+instancePortInfo =+  InstancePortInfo'+    { _ipiFromPort = Nothing+    , _ipiCommonName = Nothing+    , _ipiProtocol = Nothing+    , _ipiAccessDirection = Nothing+    , _ipiAccessType = Nothing+    , _ipiToPort = Nothing+    , _ipiAccessFrom = Nothing+    }+++-- | The first port in the range.+ipiFromPort :: Lens' InstancePortInfo (Maybe Natural)+ipiFromPort = lens _ipiFromPort (\ s a -> s{_ipiFromPort = a}) . mapping _Nat++-- | The common name.+ipiCommonName :: Lens' InstancePortInfo (Maybe Text)+ipiCommonName = lens _ipiCommonName (\ s a -> s{_ipiCommonName = a})++-- | The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.+ipiProtocol :: Lens' InstancePortInfo (Maybe NetworkProtocol)+ipiProtocol = lens _ipiProtocol (\ s a -> s{_ipiProtocol = a})++-- | The access direction (@inbound@ or @outbound@ ).+ipiAccessDirection :: Lens' InstancePortInfo (Maybe AccessDirection)+ipiAccessDirection = lens _ipiAccessDirection (\ s a -> s{_ipiAccessDirection = a})++-- | The type of access (@Public@ or @Private@ ).+ipiAccessType :: Lens' InstancePortInfo (Maybe PortAccessType)+ipiAccessType = lens _ipiAccessType (\ s a -> s{_ipiAccessType = a})++-- | The last port in the range.+ipiToPort :: Lens' InstancePortInfo (Maybe Natural)+ipiToPort = lens _ipiToPort (\ s a -> s{_ipiToPort = a}) . mapping _Nat++-- | The location from which access is allowed (e.g., @Anywhere (0.0.0.0/0)@ ).+ipiAccessFrom :: Lens' InstancePortInfo (Maybe Text)+ipiAccessFrom = lens _ipiAccessFrom (\ s a -> s{_ipiAccessFrom = a})++instance FromJSON InstancePortInfo where+        parseJSON+          = withObject "InstancePortInfo"+              (\ x ->+                 InstancePortInfo' <$>+                   (x .:? "fromPort") <*> (x .:? "commonName") <*>+                     (x .:? "protocol")+                     <*> (x .:? "accessDirection")+                     <*> (x .:? "accessType")+                     <*> (x .:? "toPort")+                     <*> (x .:? "accessFrom"))++instance Hashable InstancePortInfo where++instance NFData InstancePortInfo where++-- | Describes the port state.+--+--+--+-- /See:/ 'instancePortState' smart constructor.+data InstancePortState = InstancePortState'+  { _ipsFromPort :: !(Maybe Nat)+  , _ipsState    :: !(Maybe PortState)+  , _ipsProtocol :: !(Maybe NetworkProtocol)+  , _ipsToPort   :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstancePortState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipsFromPort' - The first port in the range.+--+-- * 'ipsState' - Specifies whether the instance port is @open@ or @closed@ .+--+-- * 'ipsProtocol' - The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.+--+-- * 'ipsToPort' - The last port in the range.+instancePortState+    :: InstancePortState+instancePortState =+  InstancePortState'+    { _ipsFromPort = Nothing+    , _ipsState = Nothing+    , _ipsProtocol = Nothing+    , _ipsToPort = Nothing+    }+++-- | The first port in the range.+ipsFromPort :: Lens' InstancePortState (Maybe Natural)+ipsFromPort = lens _ipsFromPort (\ s a -> s{_ipsFromPort = a}) . mapping _Nat++-- | Specifies whether the instance port is @open@ or @closed@ .+ipsState :: Lens' InstancePortState (Maybe PortState)+ipsState = lens _ipsState (\ s a -> s{_ipsState = a})++-- | The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.+ipsProtocol :: Lens' InstancePortState (Maybe NetworkProtocol)+ipsProtocol = lens _ipsProtocol (\ s a -> s{_ipsProtocol = a})++-- | The last port in the range.+ipsToPort :: Lens' InstancePortState (Maybe Natural)+ipsToPort = lens _ipsToPort (\ s a -> s{_ipsToPort = a}) . mapping _Nat++instance FromJSON InstancePortState where+        parseJSON+          = withObject "InstancePortState"+              (\ x ->+                 InstancePortState' <$>+                   (x .:? "fromPort") <*> (x .:? "state") <*>+                     (x .:? "protocol")+                     <*> (x .:? "toPort"))++instance Hashable InstancePortState where++instance NFData InstancePortState where++-- | Describes the snapshot of the virtual private server, or /instance/ .+--+--+--+-- /See:/ 'instanceSnapshot' smart constructor.+data InstanceSnapshot = InstanceSnapshot'+  { _insFromBlueprintId   :: !(Maybe Text)+  , _insState             :: !(Maybe InstanceSnapshotState)+  , _insResourceType      :: !(Maybe ResourceType)+  , _insFromAttachedDisks :: !(Maybe [Disk])+  , _insArn               :: !(Maybe Text)+  , _insCreatedAt         :: !(Maybe POSIX)+  , _insLocation          :: !(Maybe ResourceLocation)+  , _insProgress          :: !(Maybe Text)+  , _insName              :: !(Maybe Text)+  , _insFromBundleId      :: !(Maybe Text)+  , _insSizeInGb          :: !(Maybe Int)+  , _insSupportCode       :: !(Maybe Text)+  , _insFromInstanceARN   :: !(Maybe Text)+  , _insFromInstanceName  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'insFromBlueprintId' - The blueprint ID from which you created the snapshot (e.g., @os_debian_8_3@ ). A blueprint is a virtual private server (or /instance/ ) image used to create instances quickly.+--+-- * 'insState' - The state the snapshot is in.+--+-- * 'insResourceType' - The type of resource (usually @InstanceSnapshot@ ).+--+-- * 'insFromAttachedDisks' - An array of disk objects containing information about all block storage disks.+--+-- * 'insArn' - The Amazon Resource Name (ARN) of the snapshot (e.g., @arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE@ ).+--+-- * 'insCreatedAt' - The timestamp when the snapshot was created (e.g., @1479907467.024@ ).+--+-- * 'insLocation' - The region name and availability zone where you created the snapshot.+--+-- * 'insProgress' - The progress of the snapshot.+--+-- * 'insName' - The name of the snapshot.+--+-- * 'insFromBundleId' - The bundle ID from which you created the snapshot (e.g., @micro_1_0@ ).+--+-- * 'insSizeInGb' - The size in GB of the SSD.+--+-- * 'insSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'insFromInstanceARN' - The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., @arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE@ ).+--+-- * 'insFromInstanceName' - The instance from which the snapshot was created.+instanceSnapshot+    :: InstanceSnapshot+instanceSnapshot =+  InstanceSnapshot'+    { _insFromBlueprintId = Nothing+    , _insState = Nothing+    , _insResourceType = Nothing+    , _insFromAttachedDisks = Nothing+    , _insArn = Nothing+    , _insCreatedAt = Nothing+    , _insLocation = Nothing+    , _insProgress = Nothing+    , _insName = Nothing+    , _insFromBundleId = Nothing+    , _insSizeInGb = Nothing+    , _insSupportCode = Nothing+    , _insFromInstanceARN = Nothing+    , _insFromInstanceName = Nothing+    }+++-- | The blueprint ID from which you created the snapshot (e.g., @os_debian_8_3@ ). A blueprint is a virtual private server (or /instance/ ) image used to create instances quickly.+insFromBlueprintId :: Lens' InstanceSnapshot (Maybe Text)+insFromBlueprintId = lens _insFromBlueprintId (\ s a -> s{_insFromBlueprintId = a})++-- | The state the snapshot is in.+insState :: Lens' InstanceSnapshot (Maybe InstanceSnapshotState)+insState = lens _insState (\ s a -> s{_insState = a})++-- | The type of resource (usually @InstanceSnapshot@ ).+insResourceType :: Lens' InstanceSnapshot (Maybe ResourceType)+insResourceType = lens _insResourceType (\ s a -> s{_insResourceType = a})++-- | An array of disk objects containing information about all block storage disks.+insFromAttachedDisks :: Lens' InstanceSnapshot [Disk]+insFromAttachedDisks = lens _insFromAttachedDisks (\ s a -> s{_insFromAttachedDisks = a}) . _Default . _Coerce++-- | The Amazon Resource Name (ARN) of the snapshot (e.g., @arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE@ ).+insArn :: Lens' InstanceSnapshot (Maybe Text)+insArn = lens _insArn (\ s a -> s{_insArn = a})++-- | The timestamp when the snapshot was created (e.g., @1479907467.024@ ).+insCreatedAt :: Lens' InstanceSnapshot (Maybe UTCTime)+insCreatedAt = lens _insCreatedAt (\ s a -> s{_insCreatedAt = a}) . mapping _Time++-- | The region name and availability zone where you created the snapshot.+insLocation :: Lens' InstanceSnapshot (Maybe ResourceLocation)+insLocation = lens _insLocation (\ s a -> s{_insLocation = a})++-- | The progress of the snapshot.+insProgress :: Lens' InstanceSnapshot (Maybe Text)+insProgress = lens _insProgress (\ s a -> s{_insProgress = a})++-- | The name of the snapshot.+insName :: Lens' InstanceSnapshot (Maybe Text)+insName = lens _insName (\ s a -> s{_insName = a})++-- | The bundle ID from which you created the snapshot (e.g., @micro_1_0@ ).+insFromBundleId :: Lens' InstanceSnapshot (Maybe Text)+insFromBundleId = lens _insFromBundleId (\ s a -> s{_insFromBundleId = a})++-- | The size in GB of the SSD.+insSizeInGb :: Lens' InstanceSnapshot (Maybe Int)+insSizeInGb = lens _insSizeInGb (\ s a -> s{_insSizeInGb = a})++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+insSupportCode :: Lens' InstanceSnapshot (Maybe Text)+insSupportCode = lens _insSupportCode (\ s a -> s{_insSupportCode = a})++-- | The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., @arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE@ ).+insFromInstanceARN :: Lens' InstanceSnapshot (Maybe Text)+insFromInstanceARN = lens _insFromInstanceARN (\ s a -> s{_insFromInstanceARN = a})++-- | The instance from which the snapshot was created.+insFromInstanceName :: Lens' InstanceSnapshot (Maybe Text)+insFromInstanceName = lens _insFromInstanceName (\ s a -> s{_insFromInstanceName = a})++instance FromJSON InstanceSnapshot where+        parseJSON+          = withObject "InstanceSnapshot"+              (\ x ->+                 InstanceSnapshot' <$>+                   (x .:? "fromBlueprintId") <*> (x .:? "state") <*>+                     (x .:? "resourceType")+                     <*> (x .:? "fromAttachedDisks" .!= mempty)+                     <*> (x .:? "arn")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "progress")+                     <*> (x .:? "name")+                     <*> (x .:? "fromBundleId")+                     <*> (x .:? "sizeInGb")+                     <*> (x .:? "supportCode")+                     <*> (x .:? "fromInstanceArn")+                     <*> (x .:? "fromInstanceName"))++instance Hashable InstanceSnapshot where++instance NFData InstanceSnapshot where++-- | Describes the virtual private server (or /instance/ ) status.+--+--+--+-- /See:/ 'instanceState' smart constructor.+data InstanceState = InstanceState'+  { _isName :: !(Maybe Text)+  , _isCode :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isName' - The state of the instance (e.g., @running@ or @pending@ ).+--+-- * 'isCode' - The status code for the instance.+instanceState+    :: InstanceState+instanceState = InstanceState' {_isName = Nothing, _isCode = Nothing}+++-- | The state of the instance (e.g., @running@ or @pending@ ).+isName :: Lens' InstanceState (Maybe Text)+isName = lens _isName (\ s a -> s{_isName = a})++-- | The status code for the instance.+isCode :: Lens' InstanceState (Maybe Int)+isCode = lens _isCode (\ s a -> s{_isCode = a})++instance FromJSON InstanceState where+        parseJSON+          = withObject "InstanceState"+              (\ x ->+                 InstanceState' <$> (x .:? "name") <*> (x .:? "code"))++instance Hashable InstanceState where++instance NFData InstanceState where++-- | Describes the SSH key pair.+--+--+--+-- /See:/ 'keyPair' smart constructor.+data KeyPair = KeyPair'+  { _kpResourceType :: !(Maybe ResourceType)+  , _kpArn          :: !(Maybe Text)+  , _kpCreatedAt    :: !(Maybe POSIX)+  , _kpLocation     :: !(Maybe ResourceLocation)+  , _kpFingerprint  :: !(Maybe Text)+  , _kpName         :: !(Maybe Text)+  , _kpSupportCode  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'KeyPair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kpResourceType' - The resource type (usually @KeyPair@ ).+--+-- * 'kpArn' - The Amazon Resource Name (ARN) of the key pair (e.g., @arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE@ ).+--+-- * 'kpCreatedAt' - The timestamp when the key pair was created (e.g., @1479816991.349@ ).+--+-- * 'kpLocation' - The region name and Availability Zone where the key pair was created.+--+-- * 'kpFingerprint' - The RSA fingerprint of the key pair.+--+-- * 'kpName' - The friendly name of the SSH key pair.+--+-- * 'kpSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+keyPair+    :: KeyPair+keyPair =+  KeyPair'+    { _kpResourceType = Nothing+    , _kpArn = Nothing+    , _kpCreatedAt = Nothing+    , _kpLocation = Nothing+    , _kpFingerprint = Nothing+    , _kpName = Nothing+    , _kpSupportCode = Nothing+    }+++-- | The resource type (usually @KeyPair@ ).+kpResourceType :: Lens' KeyPair (Maybe ResourceType)+kpResourceType = lens _kpResourceType (\ s a -> s{_kpResourceType = a})++-- | The Amazon Resource Name (ARN) of the key pair (e.g., @arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE@ ).+kpArn :: Lens' KeyPair (Maybe Text)+kpArn = lens _kpArn (\ s a -> s{_kpArn = a})++-- | The timestamp when the key pair was created (e.g., @1479816991.349@ ).+kpCreatedAt :: Lens' KeyPair (Maybe UTCTime)+kpCreatedAt = lens _kpCreatedAt (\ s a -> s{_kpCreatedAt = a}) . mapping _Time++-- | The region name and Availability Zone where the key pair was created.+kpLocation :: Lens' KeyPair (Maybe ResourceLocation)+kpLocation = lens _kpLocation (\ s a -> s{_kpLocation = a})++-- | The RSA fingerprint of the key pair.+kpFingerprint :: Lens' KeyPair (Maybe Text)+kpFingerprint = lens _kpFingerprint (\ s a -> s{_kpFingerprint = a})++-- | The friendly name of the SSH key pair.+kpName :: Lens' KeyPair (Maybe Text)+kpName = lens _kpName (\ s a -> s{_kpName = a})++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+kpSupportCode :: Lens' KeyPair (Maybe Text)+kpSupportCode = lens _kpSupportCode (\ s a -> s{_kpSupportCode = a})++instance FromJSON KeyPair where+        parseJSON+          = withObject "KeyPair"+              (\ x ->+                 KeyPair' <$>+                   (x .:? "resourceType") <*> (x .:? "arn") <*>+                     (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "fingerprint")+                     <*> (x .:? "name")+                     <*> (x .:? "supportCode"))++instance Hashable KeyPair where++instance NFData KeyPair where++-- | Describes the Lightsail load balancer.+--+--+--+-- /See:/ 'loadBalancer' smart constructor.+data LoadBalancer = LoadBalancer'+  { _lbHealthCheckPath         :: !(Maybe Text)+  , _lbState                   :: !(Maybe LoadBalancerState)+  , _lbResourceType            :: !(Maybe ResourceType)+  , _lbArn                     :: !(Maybe Text)+  , _lbCreatedAt               :: !(Maybe POSIX)+  , _lbLocation                :: !(Maybe ResourceLocation)+  , _lbInstancePort            :: !(Maybe Int)+  , _lbConfigurationOptions    :: !(Maybe (Map LoadBalancerAttributeName Text))+  , _lbProtocol                :: !(Maybe LoadBalancerProtocol)+  , _lbTlsCertificateSummaries :: !(Maybe [LoadBalancerTLSCertificateSummary])+  , _lbName                    :: !(Maybe Text)+  , _lbSupportCode             :: !(Maybe Text)+  , _lbPublicPorts             :: !(Maybe [Nat])+  , _lbDnsName                 :: !(Maybe Text)+  , _lbInstanceHealthSummary   :: !(Maybe [InstanceHealthSummary])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LoadBalancer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbHealthCheckPath' - The path you specified to perform your health checks. If no path is specified, the load balancer tries to make a request to the default (root) page.+--+-- * 'lbState' - The status of your load balancer. Valid values are below.+--+-- * 'lbResourceType' - The resource type (e.g., @LoadBalancer@ .+--+-- * 'lbArn' - The Amazon Resource Name (ARN) of the load balancer.+--+-- * 'lbCreatedAt' - The date when your load balancer was created.+--+-- * 'lbLocation' - The AWS Region where your load balancer was created (e.g., @us-east-2a@ ). Lightsail automatically creates your load balancer across Availability Zones.+--+-- * 'lbInstancePort' - The port where the load balancer will direct traffic to your Lightsail instances. For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.+--+-- * 'lbConfigurationOptions' - A string to string map of the configuration options for your load balancer. Valid values are listed below.+--+-- * 'lbProtocol' - The protocol you have enabled for your load balancer. Valid values are below. You can't just have @HTTP_HTTPS@ , but you can have just @HTTP@ .+--+-- * 'lbTlsCertificateSummaries' - An array of LoadBalancerTlsCertificateSummary objects that provide additional information about the SSL/TLS certificates. For example, if @true@ , the certificate is attached to the load balancer.+--+-- * 'lbName' - The name of the load balancer (e.g., @my-load-balancer@ ).+--+-- * 'lbSupportCode' - The support code. Include this code in your email to support when you have questions about your Lightsail load balancer. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'lbPublicPorts' - An array of public port settings for your load balancer. For HTTP, use port 80. For HTTPS, use port 443.+--+-- * 'lbDnsName' - The DNS name of your Lightsail load balancer.+--+-- * 'lbInstanceHealthSummary' - An array of InstanceHealthSummary objects describing the health of the load balancer.+loadBalancer+    :: LoadBalancer+loadBalancer =+  LoadBalancer'+    { _lbHealthCheckPath = Nothing+    , _lbState = Nothing+    , _lbResourceType = Nothing+    , _lbArn = Nothing+    , _lbCreatedAt = Nothing+    , _lbLocation = Nothing+    , _lbInstancePort = Nothing+    , _lbConfigurationOptions = Nothing+    , _lbProtocol = Nothing+    , _lbTlsCertificateSummaries = Nothing+    , _lbName = Nothing+    , _lbSupportCode = Nothing+    , _lbPublicPorts = Nothing+    , _lbDnsName = Nothing+    , _lbInstanceHealthSummary = Nothing+    }+++-- | The path you specified to perform your health checks. If no path is specified, the load balancer tries to make a request to the default (root) page.+lbHealthCheckPath :: Lens' LoadBalancer (Maybe Text)+lbHealthCheckPath = lens _lbHealthCheckPath (\ s a -> s{_lbHealthCheckPath = a})++-- | The status of your load balancer. Valid values are below.+lbState :: Lens' LoadBalancer (Maybe LoadBalancerState)+lbState = lens _lbState (\ s a -> s{_lbState = a})++-- | The resource type (e.g., @LoadBalancer@ .+lbResourceType :: Lens' LoadBalancer (Maybe ResourceType)+lbResourceType = lens _lbResourceType (\ s a -> s{_lbResourceType = a})++-- | The Amazon Resource Name (ARN) of the load balancer.+lbArn :: Lens' LoadBalancer (Maybe Text)+lbArn = lens _lbArn (\ s a -> s{_lbArn = a})++-- | The date when your load balancer was created.+lbCreatedAt :: Lens' LoadBalancer (Maybe UTCTime)+lbCreatedAt = lens _lbCreatedAt (\ s a -> s{_lbCreatedAt = a}) . mapping _Time++-- | The AWS Region where your load balancer was created (e.g., @us-east-2a@ ). Lightsail automatically creates your load balancer across Availability Zones.+lbLocation :: Lens' LoadBalancer (Maybe ResourceLocation)+lbLocation = lens _lbLocation (\ s a -> s{_lbLocation = a})++-- | The port where the load balancer will direct traffic to your Lightsail instances. For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.+lbInstancePort :: Lens' LoadBalancer (Maybe Int)+lbInstancePort = lens _lbInstancePort (\ s a -> s{_lbInstancePort = a})++-- | A string to string map of the configuration options for your load balancer. Valid values are listed below.+lbConfigurationOptions :: Lens' LoadBalancer (HashMap LoadBalancerAttributeName Text)+lbConfigurationOptions = lens _lbConfigurationOptions (\ s a -> s{_lbConfigurationOptions = a}) . _Default . _Map++-- | The protocol you have enabled for your load balancer. Valid values are below. You can't just have @HTTP_HTTPS@ , but you can have just @HTTP@ .+lbProtocol :: Lens' LoadBalancer (Maybe LoadBalancerProtocol)+lbProtocol = lens _lbProtocol (\ s a -> s{_lbProtocol = a})++-- | An array of LoadBalancerTlsCertificateSummary objects that provide additional information about the SSL/TLS certificates. For example, if @true@ , the certificate is attached to the load balancer.+lbTlsCertificateSummaries :: Lens' LoadBalancer [LoadBalancerTLSCertificateSummary]+lbTlsCertificateSummaries = lens _lbTlsCertificateSummaries (\ s a -> s{_lbTlsCertificateSummaries = a}) . _Default . _Coerce++-- | The name of the load balancer (e.g., @my-load-balancer@ ).+lbName :: Lens' LoadBalancer (Maybe Text)+lbName = lens _lbName (\ s a -> s{_lbName = a})++-- | The support code. Include this code in your email to support when you have questions about your Lightsail load balancer. This code enables our support team to look up your Lightsail information more easily.+lbSupportCode :: Lens' LoadBalancer (Maybe Text)+lbSupportCode = lens _lbSupportCode (\ s a -> s{_lbSupportCode = a})++-- | An array of public port settings for your load balancer. For HTTP, use port 80. For HTTPS, use port 443.+lbPublicPorts :: Lens' LoadBalancer [Natural]+lbPublicPorts = lens _lbPublicPorts (\ s a -> s{_lbPublicPorts = a}) . _Default . _Coerce++-- | The DNS name of your Lightsail load balancer.+lbDnsName :: Lens' LoadBalancer (Maybe Text)+lbDnsName = lens _lbDnsName (\ s a -> s{_lbDnsName = a})++-- | An array of InstanceHealthSummary objects describing the health of the load balancer.+lbInstanceHealthSummary :: Lens' LoadBalancer [InstanceHealthSummary]+lbInstanceHealthSummary = lens _lbInstanceHealthSummary (\ s a -> s{_lbInstanceHealthSummary = a}) . _Default . _Coerce++instance FromJSON LoadBalancer where+        parseJSON+          = withObject "LoadBalancer"+              (\ x ->+                 LoadBalancer' <$>+                   (x .:? "healthCheckPath") <*> (x .:? "state") <*>+                     (x .:? "resourceType")+                     <*> (x .:? "arn")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "instancePort")+                     <*> (x .:? "configurationOptions" .!= mempty)+                     <*> (x .:? "protocol")+                     <*> (x .:? "tlsCertificateSummaries" .!= mempty)+                     <*> (x .:? "name")+                     <*> (x .:? "supportCode")+                     <*> (x .:? "publicPorts" .!= mempty)+                     <*> (x .:? "dnsName")+                     <*> (x .:? "instanceHealthSummary" .!= mempty))++instance Hashable LoadBalancer where++instance NFData LoadBalancer where++-- | Describes a load balancer SSL/TLS certificate.+--+--+-- TLS is just an updated, more secure version of Secure Socket Layer (SSL).+--+--+-- /See:/ 'loadBalancerTLSCertificate' smart constructor.+data LoadBalancerTLSCertificate = LoadBalancerTLSCertificate'+  { _lbtcFailureReason :: !(Maybe LoadBalancerTLSCertificateFailureReason)+  , _lbtcSubject :: !(Maybe Text)+  , _lbtcStatus :: !(Maybe LoadBalancerTLSCertificateStatus)+  , _lbtcSubjectAlternativeNames :: !(Maybe [Text])+  , _lbtcResourceType :: !(Maybe ResourceType)+  , _lbtcArn :: !(Maybe Text)+  , _lbtcCreatedAt :: !(Maybe POSIX)+  , _lbtcLocation :: !(Maybe ResourceLocation)+  , _lbtcLoadBalancerName :: !(Maybe Text)+  , _lbtcSerial :: !(Maybe Text)+  , _lbtcIsAttached :: !(Maybe Bool)+  , _lbtcRevokedAt :: !(Maybe POSIX)+  , _lbtcNotBefore :: !(Maybe POSIX)+  , _lbtcRevocationReason :: !(Maybe LoadBalancerTLSCertificateRevocationReason)+  , _lbtcDomainName :: !(Maybe Text)+  , _lbtcName :: !(Maybe Text)+  , _lbtcRenewalSummary :: !(Maybe LoadBalancerTLSCertificateRenewalSummary)+  , _lbtcSupportCode :: !(Maybe Text)+  , _lbtcDomainValidationRecords :: !(Maybe [LoadBalancerTLSCertificateDomainValidationRecord])+  , _lbtcIssuedAt :: !(Maybe POSIX)+  , _lbtcKeyAlgorithm :: !(Maybe Text)+  , _lbtcSignatureAlgorithm :: !(Maybe Text)+  , _lbtcIssuer :: !(Maybe Text)+  , _lbtcNotAfter :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LoadBalancerTLSCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbtcFailureReason' - The reason for the SSL/TLS certificate validation failure.+--+-- * 'lbtcSubject' - The name of the entity that is associated with the public key contained in the certificate.+--+-- * 'lbtcStatus' - The status of the SSL/TLS certificate. Valid values are below.+--+-- * 'lbtcSubjectAlternativeNames' - One or more domains or subdomains included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CNAME) of the certificate and additional domain names that can be used to connect to the website, such as @example.com@ , @www.example.com@ , or @m.example.com@ .+--+-- * 'lbtcResourceType' - The resource type (e.g., @LoadBalancerTlsCertificate@ ).     * __@Instance@ __ - A Lightsail instance (a virtual private server)     * __@StaticIp@ __ - A static IP address     * __@KeyPair@ __ - The key pair used to connect to a Lightsail instance     * __@InstanceSnapshot@ __ - A Lightsail instance snapshot     * __@Domain@ __ - A DNS zone     * __@PeeredVpc@ __ - A peered VPC     * __@LoadBalancer@ __ - A Lightsail load balancer     * __@LoadBalancerTlsCertificate@ __ - An SSL/TLS certificate associated with a Lightsail load balancer     * __@Disk@ __ - A Lightsail block storage disk     * __@DiskSnapshot@ __ - A block storage disk snapshot+--+-- * 'lbtcArn' - The Amazon Resource Name (ARN) of the SSL/TLS certificate.+--+-- * 'lbtcCreatedAt' - The time when you created your SSL/TLS certificate.+--+-- * 'lbtcLocation' - The AWS Region and Availability Zone where you created your certificate.+--+-- * 'lbtcLoadBalancerName' - The load balancer name where your SSL/TLS certificate is attached.+--+-- * 'lbtcSerial' - The serial number of the certificate.+--+-- * 'lbtcIsAttached' - When @true@ , the SSL/TLS certificate is attached to the Lightsail load balancer.+--+-- * 'lbtcRevokedAt' - The timestamp when the SSL/TLS certificate was revoked.+--+-- * 'lbtcNotBefore' - The timestamp when the SSL/TLS certificate is first valid.+--+-- * 'lbtcRevocationReason' - The reason the certificate was revoked. Valid values are below.+--+-- * 'lbtcDomainName' - The domain name for your SSL/TLS certificate.+--+-- * 'lbtcName' - The name of the SSL/TLS certificate (e.g., @my-certificate@ ).+--+-- * 'lbtcRenewalSummary' - An object containing information about the status of Lightsail's managed renewal for the certificate.+--+-- * 'lbtcSupportCode' - The support code. Include this code in your email to support when you have questions about your Lightsail load balancer or SSL/TLS certificate. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'lbtcDomainValidationRecords' - An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing the records.+--+-- * 'lbtcIssuedAt' - The time when the SSL/TLS certificate was issued.+--+-- * 'lbtcKeyAlgorithm' - The algorithm that was used to generate the key pair (the public and private key).+--+-- * 'lbtcSignatureAlgorithm' - The algorithm that was used to sign the certificate.+--+-- * 'lbtcIssuer' - The issuer of the certificate.+--+-- * 'lbtcNotAfter' - The timestamp when the SSL/TLS certificate expires.+loadBalancerTLSCertificate+    :: LoadBalancerTLSCertificate+loadBalancerTLSCertificate =+  LoadBalancerTLSCertificate'+    { _lbtcFailureReason = Nothing+    , _lbtcSubject = Nothing+    , _lbtcStatus = Nothing+    , _lbtcSubjectAlternativeNames = Nothing+    , _lbtcResourceType = Nothing+    , _lbtcArn = Nothing+    , _lbtcCreatedAt = Nothing+    , _lbtcLocation = Nothing+    , _lbtcLoadBalancerName = Nothing+    , _lbtcSerial = Nothing+    , _lbtcIsAttached = Nothing+    , _lbtcRevokedAt = Nothing+    , _lbtcNotBefore = Nothing+    , _lbtcRevocationReason = Nothing+    , _lbtcDomainName = Nothing+    , _lbtcName = Nothing+    , _lbtcRenewalSummary = Nothing+    , _lbtcSupportCode = Nothing+    , _lbtcDomainValidationRecords = Nothing+    , _lbtcIssuedAt = Nothing+    , _lbtcKeyAlgorithm = Nothing+    , _lbtcSignatureAlgorithm = Nothing+    , _lbtcIssuer = Nothing+    , _lbtcNotAfter = Nothing+    }+++-- | The reason for the SSL/TLS certificate validation failure.+lbtcFailureReason :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateFailureReason)+lbtcFailureReason = lens _lbtcFailureReason (\ s a -> s{_lbtcFailureReason = a})++-- | The name of the entity that is associated with the public key contained in the certificate.+lbtcSubject :: Lens' LoadBalancerTLSCertificate (Maybe Text)+lbtcSubject = lens _lbtcSubject (\ s a -> s{_lbtcSubject = a})++-- | The status of the SSL/TLS certificate. Valid values are below.+lbtcStatus :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateStatus)+lbtcStatus = lens _lbtcStatus (\ s a -> s{_lbtcStatus = a})++-- | One or more domains or subdomains included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CNAME) of the certificate and additional domain names that can be used to connect to the website, such as @example.com@ , @www.example.com@ , or @m.example.com@ .+lbtcSubjectAlternativeNames :: Lens' LoadBalancerTLSCertificate [Text]+lbtcSubjectAlternativeNames = lens _lbtcSubjectAlternativeNames (\ s a -> s{_lbtcSubjectAlternativeNames = a}) . _Default . _Coerce++-- | The resource type (e.g., @LoadBalancerTlsCertificate@ ).     * __@Instance@ __ - A Lightsail instance (a virtual private server)     * __@StaticIp@ __ - A static IP address     * __@KeyPair@ __ - The key pair used to connect to a Lightsail instance     * __@InstanceSnapshot@ __ - A Lightsail instance snapshot     * __@Domain@ __ - A DNS zone     * __@PeeredVpc@ __ - A peered VPC     * __@LoadBalancer@ __ - A Lightsail load balancer     * __@LoadBalancerTlsCertificate@ __ - An SSL/TLS certificate associated with a Lightsail load balancer     * __@Disk@ __ - A Lightsail block storage disk     * __@DiskSnapshot@ __ - A block storage disk snapshot+lbtcResourceType :: Lens' LoadBalancerTLSCertificate (Maybe ResourceType)+lbtcResourceType = lens _lbtcResourceType (\ s a -> s{_lbtcResourceType = a})++-- | The Amazon Resource Name (ARN) of the SSL/TLS certificate.+lbtcArn :: Lens' LoadBalancerTLSCertificate (Maybe Text)+lbtcArn = lens _lbtcArn (\ s a -> s{_lbtcArn = a})++-- | The time when you created your SSL/TLS certificate.+lbtcCreatedAt :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)+lbtcCreatedAt = lens _lbtcCreatedAt (\ s a -> s{_lbtcCreatedAt = a}) . mapping _Time++-- | The AWS Region and Availability Zone where you created your certificate.+lbtcLocation :: Lens' LoadBalancerTLSCertificate (Maybe ResourceLocation)+lbtcLocation = lens _lbtcLocation (\ s a -> s{_lbtcLocation = a})++-- | The load balancer name where your SSL/TLS certificate is attached.+lbtcLoadBalancerName :: Lens' LoadBalancerTLSCertificate (Maybe Text)+lbtcLoadBalancerName = lens _lbtcLoadBalancerName (\ s a -> s{_lbtcLoadBalancerName = a})++-- | The serial number of the certificate.+lbtcSerial :: Lens' LoadBalancerTLSCertificate (Maybe Text)+lbtcSerial = lens _lbtcSerial (\ s a -> s{_lbtcSerial = a})++-- | When @true@ , the SSL/TLS certificate is attached to the Lightsail load balancer.+lbtcIsAttached :: Lens' LoadBalancerTLSCertificate (Maybe Bool)+lbtcIsAttached = lens _lbtcIsAttached (\ s a -> s{_lbtcIsAttached = a})++-- | The timestamp when the SSL/TLS certificate was revoked.+lbtcRevokedAt :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)+lbtcRevokedAt = lens _lbtcRevokedAt (\ s a -> s{_lbtcRevokedAt = a}) . mapping _Time++-- | The timestamp when the SSL/TLS certificate is first valid.+lbtcNotBefore :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)+lbtcNotBefore = lens _lbtcNotBefore (\ s a -> s{_lbtcNotBefore = a}) . mapping _Time++-- | The reason the certificate was revoked. Valid values are below.+lbtcRevocationReason :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateRevocationReason)+lbtcRevocationReason = lens _lbtcRevocationReason (\ s a -> s{_lbtcRevocationReason = a})++-- | The domain name for your SSL/TLS certificate.+lbtcDomainName :: Lens' LoadBalancerTLSCertificate (Maybe Text)+lbtcDomainName = lens _lbtcDomainName (\ s a -> s{_lbtcDomainName = a})++-- | The name of the SSL/TLS certificate (e.g., @my-certificate@ ).+lbtcName :: Lens' LoadBalancerTLSCertificate (Maybe Text)+lbtcName = lens _lbtcName (\ s a -> s{_lbtcName = a})++-- | An object containing information about the status of Lightsail's managed renewal for the certificate.+lbtcRenewalSummary :: Lens' LoadBalancerTLSCertificate (Maybe LoadBalancerTLSCertificateRenewalSummary)+lbtcRenewalSummary = lens _lbtcRenewalSummary (\ s a -> s{_lbtcRenewalSummary = a})++-- | The support code. Include this code in your email to support when you have questions about your Lightsail load balancer or SSL/TLS certificate. This code enables our support team to look up your Lightsail information more easily.+lbtcSupportCode :: Lens' LoadBalancerTLSCertificate (Maybe Text)+lbtcSupportCode = lens _lbtcSupportCode (\ s a -> s{_lbtcSupportCode = a})++-- | An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing the records.+lbtcDomainValidationRecords :: Lens' LoadBalancerTLSCertificate [LoadBalancerTLSCertificateDomainValidationRecord]+lbtcDomainValidationRecords = lens _lbtcDomainValidationRecords (\ s a -> s{_lbtcDomainValidationRecords = a}) . _Default . _Coerce++-- | The time when the SSL/TLS certificate was issued.+lbtcIssuedAt :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)+lbtcIssuedAt = lens _lbtcIssuedAt (\ s a -> s{_lbtcIssuedAt = a}) . mapping _Time++-- | The algorithm that was used to generate the key pair (the public and private key).+lbtcKeyAlgorithm :: Lens' LoadBalancerTLSCertificate (Maybe Text)+lbtcKeyAlgorithm = lens _lbtcKeyAlgorithm (\ s a -> s{_lbtcKeyAlgorithm = a})++-- | The algorithm that was used to sign the certificate.+lbtcSignatureAlgorithm :: Lens' LoadBalancerTLSCertificate (Maybe Text)+lbtcSignatureAlgorithm = lens _lbtcSignatureAlgorithm (\ s a -> s{_lbtcSignatureAlgorithm = a})++-- | The issuer of the certificate.+lbtcIssuer :: Lens' LoadBalancerTLSCertificate (Maybe Text)+lbtcIssuer = lens _lbtcIssuer (\ s a -> s{_lbtcIssuer = a})++-- | The timestamp when the SSL/TLS certificate expires.+lbtcNotAfter :: Lens' LoadBalancerTLSCertificate (Maybe UTCTime)+lbtcNotAfter = lens _lbtcNotAfter (\ s a -> s{_lbtcNotAfter = a}) . mapping _Time++instance FromJSON LoadBalancerTLSCertificate where+        parseJSON+          = withObject "LoadBalancerTLSCertificate"+              (\ x ->+                 LoadBalancerTLSCertificate' <$>+                   (x .:? "failureReason") <*> (x .:? "subject") <*>+                     (x .:? "status")+                     <*> (x .:? "subjectAlternativeNames" .!= mempty)+                     <*> (x .:? "resourceType")+                     <*> (x .:? "arn")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "loadBalancerName")+                     <*> (x .:? "serial")+                     <*> (x .:? "isAttached")+                     <*> (x .:? "revokedAt")+                     <*> (x .:? "notBefore")+                     <*> (x .:? "revocationReason")+                     <*> (x .:? "domainName")+                     <*> (x .:? "name")+                     <*> (x .:? "renewalSummary")+                     <*> (x .:? "supportCode")+                     <*> (x .:? "domainValidationRecords" .!= mempty)+                     <*> (x .:? "issuedAt")+                     <*> (x .:? "keyAlgorithm")+                     <*> (x .:? "signatureAlgorithm")+                     <*> (x .:? "issuer")+                     <*> (x .:? "notAfter"))++instance Hashable LoadBalancerTLSCertificate where++instance NFData LoadBalancerTLSCertificate where++-- | Contains information about the domain names on an SSL/TLS certificate that you will use to validate domain ownership.+--+--+--+-- /See:/ 'loadBalancerTLSCertificateDomainValidationOption' smart constructor.+data LoadBalancerTLSCertificateDomainValidationOption = LoadBalancerTLSCertificateDomainValidationOption'+  { _lbtcdvoDomainName       :: !(Maybe Text)+  , _lbtcdvoValidationStatus :: !(Maybe LoadBalancerTLSCertificateDomainStatus)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LoadBalancerTLSCertificateDomainValidationOption' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbtcdvoDomainName' - The fully qualified domain name in the certificate request.+--+-- * 'lbtcdvoValidationStatus' - The status of the domain validation. Valid values are listed below.+loadBalancerTLSCertificateDomainValidationOption+    :: LoadBalancerTLSCertificateDomainValidationOption+loadBalancerTLSCertificateDomainValidationOption =+  LoadBalancerTLSCertificateDomainValidationOption'+    {_lbtcdvoDomainName = Nothing, _lbtcdvoValidationStatus = Nothing}+++-- | The fully qualified domain name in the certificate request.+lbtcdvoDomainName :: Lens' LoadBalancerTLSCertificateDomainValidationOption (Maybe Text)+lbtcdvoDomainName = lens _lbtcdvoDomainName (\ s a -> s{_lbtcdvoDomainName = a})++-- | The status of the domain validation. Valid values are listed below.+lbtcdvoValidationStatus :: Lens' LoadBalancerTLSCertificateDomainValidationOption (Maybe LoadBalancerTLSCertificateDomainStatus)+lbtcdvoValidationStatus = lens _lbtcdvoValidationStatus (\ s a -> s{_lbtcdvoValidationStatus = a})++instance FromJSON+           LoadBalancerTLSCertificateDomainValidationOption+         where+        parseJSON+          = withObject+              "LoadBalancerTLSCertificateDomainValidationOption"+              (\ x ->+                 LoadBalancerTLSCertificateDomainValidationOption' <$>+                   (x .:? "domainName") <*> (x .:? "validationStatus"))++instance Hashable+           LoadBalancerTLSCertificateDomainValidationOption+         where++instance NFData+           LoadBalancerTLSCertificateDomainValidationOption+         where++-- | Describes the validation record of each domain name in the SSL/TLS certificate.+--+--+--+-- /See:/ 'loadBalancerTLSCertificateDomainValidationRecord' smart constructor.+data LoadBalancerTLSCertificateDomainValidationRecord = LoadBalancerTLSCertificateDomainValidationRecord'+  { _lbtcdvrValue            :: !(Maybe Text)+  , _lbtcdvrDomainName       :: !(Maybe Text)+  , _lbtcdvrName             :: !(Maybe Text)+  , _lbtcdvrValidationStatus :: !(Maybe LoadBalancerTLSCertificateDomainStatus)+  , _lbtcdvrType             :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LoadBalancerTLSCertificateDomainValidationRecord' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbtcdvrValue' - The value for that type.+--+-- * 'lbtcdvrDomainName' - The domain name against which your SSL/TLS certificate was validated.+--+-- * 'lbtcdvrName' - A fully qualified domain name in the certificate. For example, @example.com@ .+--+-- * 'lbtcdvrValidationStatus' - The validation status. Valid values are listed below.+--+-- * 'lbtcdvrType' - The type of validation record. For example, @CNAME@ for domain validation.+loadBalancerTLSCertificateDomainValidationRecord+    :: LoadBalancerTLSCertificateDomainValidationRecord+loadBalancerTLSCertificateDomainValidationRecord =+  LoadBalancerTLSCertificateDomainValidationRecord'+    { _lbtcdvrValue = Nothing+    , _lbtcdvrDomainName = Nothing+    , _lbtcdvrName = Nothing+    , _lbtcdvrValidationStatus = Nothing+    , _lbtcdvrType = Nothing+    }+++-- | The value for that type.+lbtcdvrValue :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)+lbtcdvrValue = lens _lbtcdvrValue (\ s a -> s{_lbtcdvrValue = a})++-- | The domain name against which your SSL/TLS certificate was validated.+lbtcdvrDomainName :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)+lbtcdvrDomainName = lens _lbtcdvrDomainName (\ s a -> s{_lbtcdvrDomainName = a})++-- | A fully qualified domain name in the certificate. For example, @example.com@ .+lbtcdvrName :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)+lbtcdvrName = lens _lbtcdvrName (\ s a -> s{_lbtcdvrName = a})++-- | The validation status. Valid values are listed below.+lbtcdvrValidationStatus :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe LoadBalancerTLSCertificateDomainStatus)+lbtcdvrValidationStatus = lens _lbtcdvrValidationStatus (\ s a -> s{_lbtcdvrValidationStatus = a})++-- | The type of validation record. For example, @CNAME@ for domain validation.+lbtcdvrType :: Lens' LoadBalancerTLSCertificateDomainValidationRecord (Maybe Text)+lbtcdvrType = lens _lbtcdvrType (\ s a -> s{_lbtcdvrType = a})++instance FromJSON+           LoadBalancerTLSCertificateDomainValidationRecord+         where+        parseJSON+          = withObject+              "LoadBalancerTLSCertificateDomainValidationRecord"+              (\ x ->+                 LoadBalancerTLSCertificateDomainValidationRecord' <$>+                   (x .:? "value") <*> (x .:? "domainName") <*>+                     (x .:? "name")+                     <*> (x .:? "validationStatus")+                     <*> (x .:? "type"))++instance Hashable+           LoadBalancerTLSCertificateDomainValidationRecord+         where++instance NFData+           LoadBalancerTLSCertificateDomainValidationRecord+         where++-- | Contains information about the status of Lightsail's managed renewal for the certificate.+--+--+--+-- /See:/ 'loadBalancerTLSCertificateRenewalSummary' smart constructor.+data LoadBalancerTLSCertificateRenewalSummary = LoadBalancerTLSCertificateRenewalSummary'+  { _lbtcrsRenewalStatus :: !(Maybe LoadBalancerTLSCertificateRenewalStatus)+  , _lbtcrsDomainValidationOptions :: !(Maybe [LoadBalancerTLSCertificateDomainValidationOption])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LoadBalancerTLSCertificateRenewalSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbtcrsRenewalStatus' - The status of Lightsail's managed renewal of the certificate. Valid values are listed below.+--+-- * 'lbtcrsDomainValidationOptions' - Contains information about the validation of each domain name in the certificate, as it pertains to Lightsail's managed renewal. This is different from the initial validation that occurs as a result of the RequestCertificate request.+loadBalancerTLSCertificateRenewalSummary+    :: LoadBalancerTLSCertificateRenewalSummary+loadBalancerTLSCertificateRenewalSummary =+  LoadBalancerTLSCertificateRenewalSummary'+    {_lbtcrsRenewalStatus = Nothing, _lbtcrsDomainValidationOptions = Nothing}+++-- | The status of Lightsail's managed renewal of the certificate. Valid values are listed below.+lbtcrsRenewalStatus :: Lens' LoadBalancerTLSCertificateRenewalSummary (Maybe LoadBalancerTLSCertificateRenewalStatus)+lbtcrsRenewalStatus = lens _lbtcrsRenewalStatus (\ s a -> s{_lbtcrsRenewalStatus = a})++-- | Contains information about the validation of each domain name in the certificate, as it pertains to Lightsail's managed renewal. This is different from the initial validation that occurs as a result of the RequestCertificate request.+lbtcrsDomainValidationOptions :: Lens' LoadBalancerTLSCertificateRenewalSummary [LoadBalancerTLSCertificateDomainValidationOption]+lbtcrsDomainValidationOptions = lens _lbtcrsDomainValidationOptions (\ s a -> s{_lbtcrsDomainValidationOptions = a}) . _Default . _Coerce++instance FromJSON+           LoadBalancerTLSCertificateRenewalSummary+         where+        parseJSON+          = withObject+              "LoadBalancerTLSCertificateRenewalSummary"+              (\ x ->+                 LoadBalancerTLSCertificateRenewalSummary' <$>+                   (x .:? "renewalStatus") <*>+                     (x .:? "domainValidationOptions" .!= mempty))++instance Hashable+           LoadBalancerTLSCertificateRenewalSummary+         where++instance NFData+           LoadBalancerTLSCertificateRenewalSummary+         where++-- | Provides a summary of SSL/TLS certificate metadata.+--+--+--+-- /See:/ 'loadBalancerTLSCertificateSummary' smart constructor.+data LoadBalancerTLSCertificateSummary = LoadBalancerTLSCertificateSummary'+  { _lbtcsIsAttached :: !(Maybe Bool)+  , _lbtcsName       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LoadBalancerTLSCertificateSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbtcsIsAttached' - When @true@ , the SSL/TLS certificate is attached to the Lightsail load balancer.+--+-- * 'lbtcsName' - The name of the SSL/TLS certificate.+loadBalancerTLSCertificateSummary+    :: LoadBalancerTLSCertificateSummary+loadBalancerTLSCertificateSummary =+  LoadBalancerTLSCertificateSummary'+    {_lbtcsIsAttached = Nothing, _lbtcsName = Nothing}+++-- | When @true@ , the SSL/TLS certificate is attached to the Lightsail load balancer.+lbtcsIsAttached :: Lens' LoadBalancerTLSCertificateSummary (Maybe Bool)+lbtcsIsAttached = lens _lbtcsIsAttached (\ s a -> s{_lbtcsIsAttached = a})++-- | The name of the SSL/TLS certificate.+lbtcsName :: Lens' LoadBalancerTLSCertificateSummary (Maybe Text)+lbtcsName = lens _lbtcsName (\ s a -> s{_lbtcsName = a})++instance FromJSON LoadBalancerTLSCertificateSummary+         where+        parseJSON+          = withObject "LoadBalancerTLSCertificateSummary"+              (\ x ->+                 LoadBalancerTLSCertificateSummary' <$>+                   (x .:? "isAttached") <*> (x .:? "name"))++instance Hashable LoadBalancerTLSCertificateSummary+         where++instance NFData LoadBalancerTLSCertificateSummary+         where++-- | Describes the metric data point.+--+--+--+-- /See:/ 'metricDatapoint' smart constructor.+data MetricDatapoint = MetricDatapoint'+  { _mdSampleCount :: !(Maybe Double)+  , _mdMaximum     :: !(Maybe Double)+  , _mdAverage     :: !(Maybe Double)+  , _mdMinimum     :: !(Maybe Double)+  , _mdSum         :: !(Maybe Double)+  , _mdTimestamp   :: !(Maybe POSIX)+  , _mdUnit        :: !(Maybe MetricUnit)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MetricDatapoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdSampleCount' - The sample count.+--+-- * 'mdMaximum' - The maximum.+--+-- * 'mdAverage' - The average.+--+-- * 'mdMinimum' - The minimum.+--+-- * 'mdSum' - The sum.+--+-- * 'mdTimestamp' - The timestamp (e.g., @1479816991.349@ ).+--+-- * 'mdUnit' - The unit.+metricDatapoint+    :: MetricDatapoint+metricDatapoint =+  MetricDatapoint'+    { _mdSampleCount = Nothing+    , _mdMaximum = Nothing+    , _mdAverage = Nothing+    , _mdMinimum = Nothing+    , _mdSum = Nothing+    , _mdTimestamp = Nothing+    , _mdUnit = Nothing+    }+++-- | The sample count.+mdSampleCount :: Lens' MetricDatapoint (Maybe Double)+mdSampleCount = lens _mdSampleCount (\ s a -> s{_mdSampleCount = a})++-- | The maximum.+mdMaximum :: Lens' MetricDatapoint (Maybe Double)+mdMaximum = lens _mdMaximum (\ s a -> s{_mdMaximum = a})++-- | The average.+mdAverage :: Lens' MetricDatapoint (Maybe Double)+mdAverage = lens _mdAverage (\ s a -> s{_mdAverage = a})++-- | The minimum.+mdMinimum :: Lens' MetricDatapoint (Maybe Double)+mdMinimum = lens _mdMinimum (\ s a -> s{_mdMinimum = a})++-- | The sum.+mdSum :: Lens' MetricDatapoint (Maybe Double)+mdSum = lens _mdSum (\ s a -> s{_mdSum = a})++-- | The timestamp (e.g., @1479816991.349@ ).+mdTimestamp :: Lens' MetricDatapoint (Maybe UTCTime)+mdTimestamp = lens _mdTimestamp (\ s a -> s{_mdTimestamp = a}) . mapping _Time++-- | The unit.+mdUnit :: Lens' MetricDatapoint (Maybe MetricUnit)+mdUnit = lens _mdUnit (\ s a -> s{_mdUnit = a})++instance FromJSON MetricDatapoint where+        parseJSON+          = withObject "MetricDatapoint"+              (\ x ->+                 MetricDatapoint' <$>+                   (x .:? "sampleCount") <*> (x .:? "maximum") <*>+                     (x .:? "average")+                     <*> (x .:? "minimum")+                     <*> (x .:? "sum")+                     <*> (x .:? "timestamp")+                     <*> (x .:? "unit"))++instance Hashable MetricDatapoint where++instance NFData MetricDatapoint where++-- | Describes the monthly data transfer in and out of your virtual private server (or /instance/ ).+--+--+--+-- /See:/ 'monthlyTransfer' smart constructor.+newtype MonthlyTransfer = MonthlyTransfer'+  { _mtGbPerMonthAllocated :: Maybe Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MonthlyTransfer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtGbPerMonthAllocated' - The amount allocated per month (in GB).+monthlyTransfer+    :: MonthlyTransfer+monthlyTransfer = MonthlyTransfer' {_mtGbPerMonthAllocated = Nothing}+++-- | The amount allocated per month (in GB).+mtGbPerMonthAllocated :: Lens' MonthlyTransfer (Maybe Int)+mtGbPerMonthAllocated = lens _mtGbPerMonthAllocated (\ s a -> s{_mtGbPerMonthAllocated = a})++instance FromJSON MonthlyTransfer where+        parseJSON+          = withObject "MonthlyTransfer"+              (\ x ->+                 MonthlyTransfer' <$> (x .:? "gbPerMonthAllocated"))++instance Hashable MonthlyTransfer where++instance NFData MonthlyTransfer where++-- | Describes the API operation.+--+--+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation'+  { _oStatus           :: !(Maybe OperationStatus)+  , _oOperationDetails :: !(Maybe Text)+  , _oResourceType     :: !(Maybe ResourceType)+  , _oCreatedAt        :: !(Maybe POSIX)+  , _oResourceName     :: !(Maybe Text)+  , _oLocation         :: !(Maybe ResourceLocation)+  , _oStatusChangedAt  :: !(Maybe POSIX)+  , _oErrorDetails     :: !(Maybe Text)+  , _oErrorCode        :: !(Maybe Text)+  , _oId               :: !(Maybe Text)+  , _oOperationType    :: !(Maybe OperationType)+  , _oIsTerminal       :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oStatus' - The status of the operation.+--+-- * 'oOperationDetails' - Details about the operation (e.g., @Debian-1GB-Ohio-1@ ).+--+-- * 'oResourceType' - The resource type.+--+-- * 'oCreatedAt' - The timestamp when the operation was initialized (e.g., @1479816991.349@ ).+--+-- * 'oResourceName' - The resource name.+--+-- * 'oLocation' - The region and Availability Zone.+--+-- * 'oStatusChangedAt' - The timestamp when the status was changed (e.g., @1479816991.349@ ).+--+-- * 'oErrorDetails' - The error details.+--+-- * 'oErrorCode' - The error code.+--+-- * 'oId' - The ID of the operation.+--+-- * 'oOperationType' - The type of operation.+--+-- * 'oIsTerminal' - A Boolean value indicating whether the operation is terminal.+operation+    :: Operation+operation =+  Operation'+    { _oStatus = Nothing+    , _oOperationDetails = Nothing+    , _oResourceType = Nothing+    , _oCreatedAt = Nothing+    , _oResourceName = Nothing+    , _oLocation = Nothing+    , _oStatusChangedAt = Nothing+    , _oErrorDetails = Nothing+    , _oErrorCode = Nothing+    , _oId = Nothing+    , _oOperationType = Nothing+    , _oIsTerminal = Nothing+    }+++-- | The status of the operation.+oStatus :: Lens' Operation (Maybe OperationStatus)+oStatus = lens _oStatus (\ s a -> s{_oStatus = a})++-- | Details about the operation (e.g., @Debian-1GB-Ohio-1@ ).+oOperationDetails :: Lens' Operation (Maybe Text)+oOperationDetails = lens _oOperationDetails (\ s a -> s{_oOperationDetails = a})++-- | The resource type.+oResourceType :: Lens' Operation (Maybe ResourceType)+oResourceType = lens _oResourceType (\ s a -> s{_oResourceType = a})++-- | The timestamp when the operation was initialized (e.g., @1479816991.349@ ).+oCreatedAt :: Lens' Operation (Maybe UTCTime)+oCreatedAt = lens _oCreatedAt (\ s a -> s{_oCreatedAt = a}) . mapping _Time++-- | The resource name.+oResourceName :: Lens' Operation (Maybe Text)+oResourceName = lens _oResourceName (\ s a -> s{_oResourceName = a})++-- | The region and Availability Zone.+oLocation :: Lens' Operation (Maybe ResourceLocation)+oLocation = lens _oLocation (\ s a -> s{_oLocation = a})++-- | The timestamp when the status was changed (e.g., @1479816991.349@ ).+oStatusChangedAt :: Lens' Operation (Maybe UTCTime)+oStatusChangedAt = lens _oStatusChangedAt (\ s a -> s{_oStatusChangedAt = a}) . mapping _Time++-- | The error details.+oErrorDetails :: Lens' Operation (Maybe Text)+oErrorDetails = lens _oErrorDetails (\ s a -> s{_oErrorDetails = a})++-- | The error code.+oErrorCode :: Lens' Operation (Maybe Text)+oErrorCode = lens _oErrorCode (\ s a -> s{_oErrorCode = a})++-- | The ID of the operation.+oId :: Lens' Operation (Maybe Text)+oId = lens _oId (\ s a -> s{_oId = a})++-- | The type of operation.+oOperationType :: Lens' Operation (Maybe OperationType)+oOperationType = lens _oOperationType (\ s a -> s{_oOperationType = a})++-- | A Boolean value indicating whether the operation is terminal.+oIsTerminal :: Lens' Operation (Maybe Bool)+oIsTerminal = lens _oIsTerminal (\ s a -> s{_oIsTerminal = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ x ->+                 Operation' <$>+                   (x .:? "status") <*> (x .:? "operationDetails") <*>+                     (x .:? "resourceType")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "resourceName")+                     <*> (x .:? "location")+                     <*> (x .:? "statusChangedAt")+                     <*> (x .:? "errorDetails")+                     <*> (x .:? "errorCode")+                     <*> (x .:? "id")+                     <*> (x .:? "operationType")+                     <*> (x .:? "isTerminal"))++instance Hashable Operation where++instance NFData Operation where++-- | The password data for the Windows Server-based instance, including the ciphertext and the key pair name.+--+--+--+-- /See:/ 'passwordData' smart constructor.+data PasswordData = PasswordData'+  { _pdKeyPairName :: !(Maybe Text)+  , _pdCiphertext  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PasswordData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdKeyPairName' - The name of the key pair that you used when creating your instance. If no key pair name was specified when creating the instance, Lightsail uses the default key pair (@LightsailDefaultKeyPair@ ). If you are using a custom key pair, you need to use your own means of decrypting your password using the @ciphertext@ . Lightsail creates the ciphertext by encrypting your password with the public key part of this key pair.+--+-- * 'pdCiphertext' - The encrypted password. Ciphertext will be an empty string if access to your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.+passwordData+    :: PasswordData+passwordData = PasswordData' {_pdKeyPairName = Nothing, _pdCiphertext = Nothing}+++-- | The name of the key pair that you used when creating your instance. If no key pair name was specified when creating the instance, Lightsail uses the default key pair (@LightsailDefaultKeyPair@ ). If you are using a custom key pair, you need to use your own means of decrypting your password using the @ciphertext@ . Lightsail creates the ciphertext by encrypting your password with the public key part of this key pair.+pdKeyPairName :: Lens' PasswordData (Maybe Text)+pdKeyPairName = lens _pdKeyPairName (\ s a -> s{_pdKeyPairName = a})++-- | The encrypted password. Ciphertext will be an empty string if access to your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.+pdCiphertext :: Lens' PasswordData (Maybe Text)+pdCiphertext = lens _pdCiphertext (\ s a -> s{_pdCiphertext = a})++instance FromJSON PasswordData where+        parseJSON+          = withObject "PasswordData"+              (\ x ->+                 PasswordData' <$>+                   (x .:? "keyPairName") <*> (x .:? "ciphertext"))++instance Hashable PasswordData where++instance NFData PasswordData where++-- | Describes information about the ports on your virtual private server (or /instance/ ).+--+--+--+-- /See:/ 'portInfo' smart constructor.+data PortInfo = PortInfo'+  { _piFromPort :: !(Maybe Nat)+  , _piProtocol :: !(Maybe NetworkProtocol)+  , _piToPort   :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PortInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piFromPort' - The first port in the range.+--+-- * 'piProtocol' - The protocol.+--+-- * 'piToPort' - The last port in the range.+portInfo+    :: PortInfo+portInfo =+  PortInfo' {_piFromPort = Nothing, _piProtocol = Nothing, _piToPort = Nothing}+++-- | The first port in the range.+piFromPort :: Lens' PortInfo (Maybe Natural)+piFromPort = lens _piFromPort (\ s a -> s{_piFromPort = a}) . mapping _Nat++-- | The protocol.+piProtocol :: Lens' PortInfo (Maybe NetworkProtocol)+piProtocol = lens _piProtocol (\ s a -> s{_piProtocol = a})++-- | The last port in the range.+piToPort :: Lens' PortInfo (Maybe Natural)+piToPort = lens _piToPort (\ s a -> s{_piToPort = a}) . mapping _Nat++instance Hashable PortInfo where++instance NFData PortInfo where++instance ToJSON PortInfo where+        toJSON PortInfo'{..}+          = object+              (catMaybes+                 [("fromPort" .=) <$> _piFromPort,+                  ("protocol" .=) <$> _piProtocol,+                  ("toPort" .=) <$> _piToPort])++-- | Describes the AWS Region.+--+--+--+-- /See:/ 'regionInfo' smart constructor.+data RegionInfo = RegionInfo'+  { _riAvailabilityZones :: !(Maybe [AvailabilityZone])+  , _riName              :: !(Maybe RegionName)+  , _riDisplayName       :: !(Maybe Text)+  , _riContinentCode     :: !(Maybe Text)+  , _riDescription       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RegionInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riAvailabilityZones' - The Availability Zones. Follows the format @us-east-2a@ (case-sensitive).+--+-- * 'riName' - The region name (e.g., @us-east-2@ ).+--+-- * 'riDisplayName' - The display name (e.g., @Ohio@ ).+--+-- * 'riContinentCode' - The continent code (e.g., @NA@ , meaning North America).+--+-- * 'riDescription' - The description of the AWS Region (e.g., @This region is recommended to serve users in the eastern United States and eastern Canada@ ).+regionInfo+    :: RegionInfo+regionInfo =+  RegionInfo'+    { _riAvailabilityZones = Nothing+    , _riName = Nothing+    , _riDisplayName = Nothing+    , _riContinentCode = Nothing+    , _riDescription = Nothing+    }+++-- | The Availability Zones. Follows the format @us-east-2a@ (case-sensitive).+riAvailabilityZones :: Lens' RegionInfo [AvailabilityZone]+riAvailabilityZones = lens _riAvailabilityZones (\ s a -> s{_riAvailabilityZones = a}) . _Default . _Coerce++-- | The region name (e.g., @us-east-2@ ).+riName :: Lens' RegionInfo (Maybe RegionName)+riName = lens _riName (\ s a -> s{_riName = a})++-- | The display name (e.g., @Ohio@ ).+riDisplayName :: Lens' RegionInfo (Maybe Text)+riDisplayName = lens _riDisplayName (\ s a -> s{_riDisplayName = a})++-- | The continent code (e.g., @NA@ , meaning North America).+riContinentCode :: Lens' RegionInfo (Maybe Text)+riContinentCode = lens _riContinentCode (\ s a -> s{_riContinentCode = a})++-- | The description of the AWS Region (e.g., @This region is recommended to serve users in the eastern United States and eastern Canada@ ).+riDescription :: Lens' RegionInfo (Maybe Text)+riDescription = lens _riDescription (\ s a -> s{_riDescription = a})++instance FromJSON RegionInfo where+        parseJSON+          = withObject "RegionInfo"+              (\ x ->+                 RegionInfo' <$>+                   (x .:? "availabilityZones" .!= mempty) <*>+                     (x .:? "name")+                     <*> (x .:? "displayName")+                     <*> (x .:? "continentCode")+                     <*> (x .:? "description"))++instance Hashable RegionInfo where++instance NFData RegionInfo where++-- | Describes the resource location.+--+--+--+-- /See:/ 'resourceLocation' smart constructor.+data ResourceLocation = ResourceLocation'+  { _rlRegionName       :: !(Maybe RegionName)+  , _rlAvailabilityZone :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResourceLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlRegionName' - The AWS Region name.+--+-- * 'rlAvailabilityZone' - The Availability Zone. Follows the format @us-east-2a@ (case-sensitive).+resourceLocation+    :: ResourceLocation+resourceLocation =+  ResourceLocation' {_rlRegionName = Nothing, _rlAvailabilityZone = Nothing}+++-- | The AWS Region name.+rlRegionName :: Lens' ResourceLocation (Maybe RegionName)+rlRegionName = lens _rlRegionName (\ s a -> s{_rlRegionName = a})++-- | The Availability Zone. Follows the format @us-east-2a@ (case-sensitive).+rlAvailabilityZone :: Lens' ResourceLocation (Maybe Text)+rlAvailabilityZone = lens _rlAvailabilityZone (\ s a -> s{_rlAvailabilityZone = a})++instance FromJSON ResourceLocation where+        parseJSON+          = withObject "ResourceLocation"+              (\ x ->+                 ResourceLocation' <$>+                   (x .:? "regionName") <*> (x .:? "availabilityZone"))++instance Hashable ResourceLocation where++instance NFData ResourceLocation where++-- | Describes the static IP.+--+--+--+-- /See:/ 'staticIP' smart constructor.+data StaticIP = StaticIP'+  { _siIpAddress    :: !(Maybe Text)+  , _siResourceType :: !(Maybe ResourceType)+  , _siArn          :: !(Maybe Text)+  , _siCreatedAt    :: !(Maybe POSIX)+  , _siLocation     :: !(Maybe ResourceLocation)+  , _siIsAttached   :: !(Maybe Bool)+  , _siName         :: !(Maybe Text)+  , _siSupportCode  :: !(Maybe Text)+  , _siAttachedTo   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StaticIP' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siIpAddress' - The static IP address.+--+-- * 'siResourceType' - The resource type (usually @StaticIp@ ).+--+-- * 'siArn' - The Amazon Resource Name (ARN) of the static IP (e.g., @arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE@ ).+--+-- * 'siCreatedAt' - The timestamp when the static IP was created (e.g., @1479735304.222@ ).+--+-- * 'siLocation' - The region and Availability Zone where the static IP was created.+--+-- * 'siIsAttached' - A Boolean value indicating whether the static IP is attached.+--+-- * 'siName' - The name of the static IP (e.g., @StaticIP-Ohio-EXAMPLE@ ).+--+-- * 'siSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'siAttachedTo' - The instance where the static IP is attached (e.g., @Amazon_Linux-1GB-Ohio-1@ ).+staticIP+    :: StaticIP+staticIP =+  StaticIP'+    { _siIpAddress = Nothing+    , _siResourceType = Nothing+    , _siArn = Nothing+    , _siCreatedAt = Nothing+    , _siLocation = Nothing+    , _siIsAttached = Nothing+    , _siName = Nothing+    , _siSupportCode = Nothing+    , _siAttachedTo = Nothing+    }+++-- | The static IP address.+siIpAddress :: Lens' StaticIP (Maybe Text)+siIpAddress = lens _siIpAddress (\ s a -> s{_siIpAddress = a})++-- | The resource type (usually @StaticIp@ ).+siResourceType :: Lens' StaticIP (Maybe ResourceType)+siResourceType = lens _siResourceType (\ s a -> s{_siResourceType = a})++-- | The Amazon Resource Name (ARN) of the static IP (e.g., @arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE@ ).+siArn :: Lens' StaticIP (Maybe Text)+siArn = lens _siArn (\ s a -> s{_siArn = a})++-- | The timestamp when the static IP was created (e.g., @1479735304.222@ ).+siCreatedAt :: Lens' StaticIP (Maybe UTCTime)+siCreatedAt = lens _siCreatedAt (\ s a -> s{_siCreatedAt = a}) . mapping _Time++-- | The region and Availability Zone where the static IP was created.+siLocation :: Lens' StaticIP (Maybe ResourceLocation)+siLocation = lens _siLocation (\ s a -> s{_siLocation = a})++-- | A Boolean value indicating whether the static IP is attached.+siIsAttached :: Lens' StaticIP (Maybe Bool)+siIsAttached = lens _siIsAttached (\ s a -> s{_siIsAttached = a})++-- | The name of the static IP (e.g., @StaticIP-Ohio-EXAMPLE@ ).+siName :: Lens' StaticIP (Maybe Text)+siName = lens _siName (\ s a -> s{_siName = a})++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+siSupportCode :: Lens' StaticIP (Maybe Text)+siSupportCode = lens _siSupportCode (\ s a -> s{_siSupportCode = a})++-- | The instance where the static IP is attached (e.g., @Amazon_Linux-1GB-Ohio-1@ ).+siAttachedTo :: Lens' StaticIP (Maybe Text)+siAttachedTo = lens _siAttachedTo (\ s a -> s{_siAttachedTo = a})  instance FromJSON StaticIP where         parseJSON
gen/Network/AWS/Lightsail/Types/Sum.hs view
@@ -9,7 +9,7 @@  -- | -- Module      : Network.AWS.Lightsail.Types.Sum--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,6 +73,75 @@ instance FromJSON BlueprintType where     parseJSON = parseJSONText "BlueprintType" +data DiskSnapshotState+  = DSSCompleted+  | DSSError'+  | DSSPending+  | DSSUnknown+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText DiskSnapshotState where+    parser = takeLowerText >>= \case+        "completed" -> pure DSSCompleted+        "error" -> pure DSSError'+        "pending" -> pure DSSPending+        "unknown" -> pure DSSUnknown+        e -> fromTextError $ "Failure parsing DiskSnapshotState from value: '" <> e+           <> "'. Accepted values: completed, error, pending, unknown"++instance ToText DiskSnapshotState where+    toText = \case+        DSSCompleted -> "completed"+        DSSError' -> "error"+        DSSPending -> "pending"+        DSSUnknown -> "unknown"++instance Hashable     DiskSnapshotState+instance NFData       DiskSnapshotState+instance ToByteString DiskSnapshotState+instance ToQuery      DiskSnapshotState+instance ToHeader     DiskSnapshotState++instance FromJSON DiskSnapshotState where+    parseJSON = parseJSONText "DiskSnapshotState"++data DiskState+  = Available+  | Error'+  | InUse+  | Pending+  | Unknown+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText DiskState where+    parser = takeLowerText >>= \case+        "available" -> pure Available+        "error" -> pure Error'+        "in-use" -> pure InUse+        "pending" -> pure Pending+        "unknown" -> pure Unknown+        e -> fromTextError $ "Failure parsing DiskState from value: '" <> e+           <> "'. Accepted values: available, error, in-use, pending, unknown"++instance ToText DiskState where+    toText = \case+        Available -> "available"+        Error' -> "error"+        InUse -> "in-use"+        Pending -> "pending"+        Unknown -> "unknown"++instance Hashable     DiskState+instance NFData       DiskState+instance ToByteString DiskState+instance ToQuery      DiskState+instance ToHeader     DiskState++instance FromJSON DiskState where+    parseJSON = parseJSONText "DiskState"+ data InstanceAccessProtocol   = Rdp   | SSH@@ -103,6 +172,99 @@ instance FromJSON InstanceAccessProtocol where     parseJSON = parseJSONText "InstanceAccessProtocol" +data InstanceHealthReason+  = Instance_DeregistrationInProgress+  | Instance_FailedHealthChecks+  | Instance_IPUnusable+  | Instance_InvalidState+  | Instance_NotInUse+  | Instance_NotRegistered+  | Instance_ResponseCodeMismatch+  | Instance_Timeout+  | Lb_InitialHealthChecking+  | Lb_InternalError+  | Lb_RegistrationInProgress+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText InstanceHealthReason where+    parser = takeLowerText >>= \case+        "instance.deregistrationinprogress" -> pure Instance_DeregistrationInProgress+        "instance.failedhealthchecks" -> pure Instance_FailedHealthChecks+        "instance.ipunusable" -> pure Instance_IPUnusable+        "instance.invalidstate" -> pure Instance_InvalidState+        "instance.notinuse" -> pure Instance_NotInUse+        "instance.notregistered" -> pure Instance_NotRegistered+        "instance.responsecodemismatch" -> pure Instance_ResponseCodeMismatch+        "instance.timeout" -> pure Instance_Timeout+        "lb.initialhealthchecking" -> pure Lb_InitialHealthChecking+        "lb.internalerror" -> pure Lb_InternalError+        "lb.registrationinprogress" -> pure Lb_RegistrationInProgress+        e -> fromTextError $ "Failure parsing InstanceHealthReason from value: '" <> e+           <> "'. Accepted values: instance.deregistrationinprogress, instance.failedhealthchecks, instance.ipunusable, instance.invalidstate, instance.notinuse, instance.notregistered, instance.responsecodemismatch, instance.timeout, lb.initialhealthchecking, lb.internalerror, lb.registrationinprogress"++instance ToText InstanceHealthReason where+    toText = \case+        Instance_DeregistrationInProgress -> "Instance.DeregistrationInProgress"+        Instance_FailedHealthChecks -> "Instance.FailedHealthChecks"+        Instance_IPUnusable -> "Instance.IpUnusable"+        Instance_InvalidState -> "Instance.InvalidState"+        Instance_NotInUse -> "Instance.NotInUse"+        Instance_NotRegistered -> "Instance.NotRegistered"+        Instance_ResponseCodeMismatch -> "Instance.ResponseCodeMismatch"+        Instance_Timeout -> "Instance.Timeout"+        Lb_InitialHealthChecking -> "Lb.InitialHealthChecking"+        Lb_InternalError -> "Lb.InternalError"+        Lb_RegistrationInProgress -> "Lb.RegistrationInProgress"++instance Hashable     InstanceHealthReason+instance NFData       InstanceHealthReason+instance ToByteString InstanceHealthReason+instance ToQuery      InstanceHealthReason+instance ToHeader     InstanceHealthReason++instance FromJSON InstanceHealthReason where+    parseJSON = parseJSONText "InstanceHealthReason"++data InstanceHealthState+  = Draining+  | Healthy+  | Initial+  | Unavailable+  | Unhealthy+  | Unused+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText InstanceHealthState where+    parser = takeLowerText >>= \case+        "draining" -> pure Draining+        "healthy" -> pure Healthy+        "initial" -> pure Initial+        "unavailable" -> pure Unavailable+        "unhealthy" -> pure Unhealthy+        "unused" -> pure Unused+        e -> fromTextError $ "Failure parsing InstanceHealthState from value: '" <> e+           <> "'. Accepted values: draining, healthy, initial, unavailable, unhealthy, unused"++instance ToText InstanceHealthState where+    toText = \case+        Draining -> "draining"+        Healthy -> "healthy"+        Initial -> "initial"+        Unavailable -> "unavailable"+        Unhealthy -> "unhealthy"+        Unused -> "unused"++instance Hashable     InstanceHealthState+instance NFData       InstanceHealthState+instance ToByteString InstanceHealthState+instance ToQuery      InstanceHealthState+instance ToHeader     InstanceHealthState++instance FromJSON InstanceHealthState where+    parseJSON = parseJSONText "InstanceHealthState"+ data InstanceMetricName   = CPUUtilization   | NetworkIn@@ -173,25 +335,25 @@     parseJSON = parseJSONText "InstancePlatform"  data InstanceSnapshotState-  = Available-  | Error'-  | Pending+  = ISSAvailable+  | ISSError'+  | ISSPending   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)   instance FromText InstanceSnapshotState where     parser = takeLowerText >>= \case-        "available" -> pure Available-        "error" -> pure Error'-        "pending" -> pure Pending+        "available" -> pure ISSAvailable+        "error" -> pure ISSError'+        "pending" -> pure ISSPending         e -> fromTextError $ "Failure parsing InstanceSnapshotState from value: '" <> e            <> "'. Accepted values: available, error, pending"  instance ToText InstanceSnapshotState where     toText = \case-        Available -> "available"-        Error' -> "error"-        Pending -> "pending"+        ISSAvailable -> "available"+        ISSError' -> "error"+        ISSPending -> "pending"  instance Hashable     InstanceSnapshotState instance NFData       InstanceSnapshotState@@ -202,6 +364,357 @@ instance FromJSON InstanceSnapshotState where     parseJSON = parseJSONText "InstanceSnapshotState" +data LoadBalancerAttributeName+  = HealthCheckPath+  | SessionStickinessEnabled+  | SessionStickinessLbCookieDurationSeconds+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoadBalancerAttributeName where+    parser = takeLowerText >>= \case+        "healthcheckpath" -> pure HealthCheckPath+        "sessionstickinessenabled" -> pure SessionStickinessEnabled+        "sessionstickiness_lb_cookiedurationseconds" -> pure SessionStickinessLbCookieDurationSeconds+        e -> fromTextError $ "Failure parsing LoadBalancerAttributeName from value: '" <> e+           <> "'. Accepted values: healthcheckpath, sessionstickinessenabled, sessionstickiness_lb_cookiedurationseconds"++instance ToText LoadBalancerAttributeName where+    toText = \case+        HealthCheckPath -> "HealthCheckPath"+        SessionStickinessEnabled -> "SessionStickinessEnabled"+        SessionStickinessLbCookieDurationSeconds -> "SessionStickiness_LB_CookieDurationSeconds"++instance Hashable     LoadBalancerAttributeName+instance NFData       LoadBalancerAttributeName+instance ToByteString LoadBalancerAttributeName+instance ToQuery      LoadBalancerAttributeName+instance ToHeader     LoadBalancerAttributeName++instance ToJSON LoadBalancerAttributeName where+    toJSON = toJSONText++instance FromJSON LoadBalancerAttributeName where+    parseJSON = parseJSONText "LoadBalancerAttributeName"++data LoadBalancerMetricName+  = ClientTLSNegotiationErrorCount+  | HTTPCodeInstance2XXCount+  | HTTPCodeInstance3XXCount+  | HTTPCodeInstance4XXCount+  | HTTPCodeInstance5XXCount+  | HTTPCodeLb4XXCount+  | HTTPCodeLb5XXCount+  | HealthyHostCount+  | InstanceResponseTime+  | RejectedConnectionCount+  | RequestCount+  | UnhealthyHostCount+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoadBalancerMetricName where+    parser = takeLowerText >>= \case+        "clienttlsnegotiationerrorcount" -> pure ClientTLSNegotiationErrorCount+        "httpcode_instance_2xx_count" -> pure HTTPCodeInstance2XXCount+        "httpcode_instance_3xx_count" -> pure HTTPCodeInstance3XXCount+        "httpcode_instance_4xx_count" -> pure HTTPCodeInstance4XXCount+        "httpcode_instance_5xx_count" -> pure HTTPCodeInstance5XXCount+        "httpcode_lb_4xx_count" -> pure HTTPCodeLb4XXCount+        "httpcode_lb_5xx_count" -> pure HTTPCodeLb5XXCount+        "healthyhostcount" -> pure HealthyHostCount+        "instanceresponsetime" -> pure InstanceResponseTime+        "rejectedconnectioncount" -> pure RejectedConnectionCount+        "requestcount" -> pure RequestCount+        "unhealthyhostcount" -> pure UnhealthyHostCount+        e -> fromTextError $ "Failure parsing LoadBalancerMetricName from value: '" <> e+           <> "'. Accepted values: clienttlsnegotiationerrorcount, httpcode_instance_2xx_count, httpcode_instance_3xx_count, httpcode_instance_4xx_count, httpcode_instance_5xx_count, httpcode_lb_4xx_count, httpcode_lb_5xx_count, healthyhostcount, instanceresponsetime, rejectedconnectioncount, requestcount, unhealthyhostcount"++instance ToText LoadBalancerMetricName where+    toText = \case+        ClientTLSNegotiationErrorCount -> "ClientTLSNegotiationErrorCount"+        HTTPCodeInstance2XXCount -> "HTTPCode_Instance_2XX_Count"+        HTTPCodeInstance3XXCount -> "HTTPCode_Instance_3XX_Count"+        HTTPCodeInstance4XXCount -> "HTTPCode_Instance_4XX_Count"+        HTTPCodeInstance5XXCount -> "HTTPCode_Instance_5XX_Count"+        HTTPCodeLb4XXCount -> "HTTPCode_LB_4XX_Count"+        HTTPCodeLb5XXCount -> "HTTPCode_LB_5XX_Count"+        HealthyHostCount -> "HealthyHostCount"+        InstanceResponseTime -> "InstanceResponseTime"+        RejectedConnectionCount -> "RejectedConnectionCount"+        RequestCount -> "RequestCount"+        UnhealthyHostCount -> "UnhealthyHostCount"++instance Hashable     LoadBalancerMetricName+instance NFData       LoadBalancerMetricName+instance ToByteString LoadBalancerMetricName+instance ToQuery      LoadBalancerMetricName+instance ToHeader     LoadBalancerMetricName++instance ToJSON LoadBalancerMetricName where+    toJSON = toJSONText++instance FromJSON LoadBalancerMetricName where+    parseJSON = parseJSONText "LoadBalancerMetricName"++data LoadBalancerProtocol+  = HTTP+  | HTTPHTTPS+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoadBalancerProtocol where+    parser = takeLowerText >>= \case+        "http" -> pure HTTP+        "http_https" -> pure HTTPHTTPS+        e -> fromTextError $ "Failure parsing LoadBalancerProtocol from value: '" <> e+           <> "'. Accepted values: http, http_https"++instance ToText LoadBalancerProtocol where+    toText = \case+        HTTP -> "HTTP"+        HTTPHTTPS -> "HTTP_HTTPS"++instance Hashable     LoadBalancerProtocol+instance NFData       LoadBalancerProtocol+instance ToByteString LoadBalancerProtocol+instance ToQuery      LoadBalancerProtocol+instance ToHeader     LoadBalancerProtocol++instance FromJSON LoadBalancerProtocol where+    parseJSON = parseJSONText "LoadBalancerProtocol"++data LoadBalancerState+  = LBSActive+  | LBSActiveImpaired+  | LBSFailed+  | LBSProvisioning+  | LBSUnknown+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoadBalancerState where+    parser = takeLowerText >>= \case+        "active" -> pure LBSActive+        "active_impaired" -> pure LBSActiveImpaired+        "failed" -> pure LBSFailed+        "provisioning" -> pure LBSProvisioning+        "unknown" -> pure LBSUnknown+        e -> fromTextError $ "Failure parsing LoadBalancerState from value: '" <> e+           <> "'. Accepted values: active, active_impaired, failed, provisioning, unknown"++instance ToText LoadBalancerState where+    toText = \case+        LBSActive -> "active"+        LBSActiveImpaired -> "active_impaired"+        LBSFailed -> "failed"+        LBSProvisioning -> "provisioning"+        LBSUnknown -> "unknown"++instance Hashable     LoadBalancerState+instance NFData       LoadBalancerState+instance ToByteString LoadBalancerState+instance ToQuery      LoadBalancerState+instance ToHeader     LoadBalancerState++instance FromJSON LoadBalancerState where+    parseJSON = parseJSONText "LoadBalancerState"++data LoadBalancerTLSCertificateDomainStatus+  = LBTCDSFailed+  | LBTCDSPendingValidation+  | LBTCDSSuccess+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoadBalancerTLSCertificateDomainStatus where+    parser = takeLowerText >>= \case+        "failed" -> pure LBTCDSFailed+        "pending_validation" -> pure LBTCDSPendingValidation+        "success" -> pure LBTCDSSuccess+        e -> fromTextError $ "Failure parsing LoadBalancerTLSCertificateDomainStatus from value: '" <> e+           <> "'. Accepted values: failed, pending_validation, success"++instance ToText LoadBalancerTLSCertificateDomainStatus where+    toText = \case+        LBTCDSFailed -> "FAILED"+        LBTCDSPendingValidation -> "PENDING_VALIDATION"+        LBTCDSSuccess -> "SUCCESS"++instance Hashable     LoadBalancerTLSCertificateDomainStatus+instance NFData       LoadBalancerTLSCertificateDomainStatus+instance ToByteString LoadBalancerTLSCertificateDomainStatus+instance ToQuery      LoadBalancerTLSCertificateDomainStatus+instance ToHeader     LoadBalancerTLSCertificateDomainStatus++instance FromJSON LoadBalancerTLSCertificateDomainStatus where+    parseJSON = parseJSONText "LoadBalancerTLSCertificateDomainStatus"++data LoadBalancerTLSCertificateFailureReason+  = AdditionalVerificationRequired+  | DomainNotAllowed+  | InvalidPublicDomain+  | NoAvailableContacts+  | Other+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoadBalancerTLSCertificateFailureReason where+    parser = takeLowerText >>= \case+        "additional_verification_required" -> pure AdditionalVerificationRequired+        "domain_not_allowed" -> pure DomainNotAllowed+        "invalid_public_domain" -> pure InvalidPublicDomain+        "no_available_contacts" -> pure NoAvailableContacts+        "other" -> pure Other+        e -> fromTextError $ "Failure parsing LoadBalancerTLSCertificateFailureReason from value: '" <> e+           <> "'. Accepted values: additional_verification_required, domain_not_allowed, invalid_public_domain, no_available_contacts, other"++instance ToText LoadBalancerTLSCertificateFailureReason where+    toText = \case+        AdditionalVerificationRequired -> "ADDITIONAL_VERIFICATION_REQUIRED"+        DomainNotAllowed -> "DOMAIN_NOT_ALLOWED"+        InvalidPublicDomain -> "INVALID_PUBLIC_DOMAIN"+        NoAvailableContacts -> "NO_AVAILABLE_CONTACTS"+        Other -> "OTHER"++instance Hashable     LoadBalancerTLSCertificateFailureReason+instance NFData       LoadBalancerTLSCertificateFailureReason+instance ToByteString LoadBalancerTLSCertificateFailureReason+instance ToQuery      LoadBalancerTLSCertificateFailureReason+instance ToHeader     LoadBalancerTLSCertificateFailureReason++instance FromJSON LoadBalancerTLSCertificateFailureReason where+    parseJSON = parseJSONText "LoadBalancerTLSCertificateFailureReason"++data LoadBalancerTLSCertificateRenewalStatus+  = LBTCRSFailed+  | LBTCRSPendingAutoRenewal+  | LBTCRSPendingValidation+  | LBTCRSSuccess+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoadBalancerTLSCertificateRenewalStatus where+    parser = takeLowerText >>= \case+        "failed" -> pure LBTCRSFailed+        "pending_auto_renewal" -> pure LBTCRSPendingAutoRenewal+        "pending_validation" -> pure LBTCRSPendingValidation+        "success" -> pure LBTCRSSuccess+        e -> fromTextError $ "Failure parsing LoadBalancerTLSCertificateRenewalStatus from value: '" <> e+           <> "'. Accepted values: failed, pending_auto_renewal, pending_validation, success"++instance ToText LoadBalancerTLSCertificateRenewalStatus where+    toText = \case+        LBTCRSFailed -> "FAILED"+        LBTCRSPendingAutoRenewal -> "PENDING_AUTO_RENEWAL"+        LBTCRSPendingValidation -> "PENDING_VALIDATION"+        LBTCRSSuccess -> "SUCCESS"++instance Hashable     LoadBalancerTLSCertificateRenewalStatus+instance NFData       LoadBalancerTLSCertificateRenewalStatus+instance ToByteString LoadBalancerTLSCertificateRenewalStatus+instance ToQuery      LoadBalancerTLSCertificateRenewalStatus+instance ToHeader     LoadBalancerTLSCertificateRenewalStatus++instance FromJSON LoadBalancerTLSCertificateRenewalStatus where+    parseJSON = parseJSONText "LoadBalancerTLSCertificateRenewalStatus"++data LoadBalancerTLSCertificateRevocationReason+  = AACompromise+  | AffiliationChanged+  | CaCompromise+  | CertificateHold+  | CessationOfOperation+  | KeyCompromise+  | PrivilegeWithdrawn+  | RemoveFromCrl+  | Superceded+  | Unspecified+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoadBalancerTLSCertificateRevocationReason where+    parser = takeLowerText >>= \case+        "a_a_compromise" -> pure AACompromise+        "affiliation_changed" -> pure AffiliationChanged+        "ca_compromise" -> pure CaCompromise+        "certificate_hold" -> pure CertificateHold+        "cessation_of_operation" -> pure CessationOfOperation+        "key_compromise" -> pure KeyCompromise+        "privilege_withdrawn" -> pure PrivilegeWithdrawn+        "remove_from_crl" -> pure RemoveFromCrl+        "superceded" -> pure Superceded+        "unspecified" -> pure Unspecified+        e -> fromTextError $ "Failure parsing LoadBalancerTLSCertificateRevocationReason from value: '" <> e+           <> "'. Accepted values: a_a_compromise, affiliation_changed, ca_compromise, certificate_hold, cessation_of_operation, key_compromise, privilege_withdrawn, remove_from_crl, superceded, unspecified"++instance ToText LoadBalancerTLSCertificateRevocationReason where+    toText = \case+        AACompromise -> "A_A_COMPROMISE"+        AffiliationChanged -> "AFFILIATION_CHANGED"+        CaCompromise -> "CA_COMPROMISE"+        CertificateHold -> "CERTIFICATE_HOLD"+        CessationOfOperation -> "CESSATION_OF_OPERATION"+        KeyCompromise -> "KEY_COMPROMISE"+        PrivilegeWithdrawn -> "PRIVILEGE_WITHDRAWN"+        RemoveFromCrl -> "REMOVE_FROM_CRL"+        Superceded -> "SUPERCEDED"+        Unspecified -> "UNSPECIFIED"++instance Hashable     LoadBalancerTLSCertificateRevocationReason+instance NFData       LoadBalancerTLSCertificateRevocationReason+instance ToByteString LoadBalancerTLSCertificateRevocationReason+instance ToQuery      LoadBalancerTLSCertificateRevocationReason+instance ToHeader     LoadBalancerTLSCertificateRevocationReason++instance FromJSON LoadBalancerTLSCertificateRevocationReason where+    parseJSON = parseJSONText "LoadBalancerTLSCertificateRevocationReason"++data LoadBalancerTLSCertificateStatus+  = LBTCSExpired+  | LBTCSFailed+  | LBTCSInactive+  | LBTCSIssued+  | LBTCSPendingValidation+  | LBTCSRevoked+  | LBTCSUnknown+  | LBTCSValidationTimedOut+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoadBalancerTLSCertificateStatus where+    parser = takeLowerText >>= \case+        "expired" -> pure LBTCSExpired+        "failed" -> pure LBTCSFailed+        "inactive" -> pure LBTCSInactive+        "issued" -> pure LBTCSIssued+        "pending_validation" -> pure LBTCSPendingValidation+        "revoked" -> pure LBTCSRevoked+        "unknown" -> pure LBTCSUnknown+        "validation_timed_out" -> pure LBTCSValidationTimedOut+        e -> fromTextError $ "Failure parsing LoadBalancerTLSCertificateStatus from value: '" <> e+           <> "'. Accepted values: expired, failed, inactive, issued, pending_validation, revoked, unknown, validation_timed_out"++instance ToText LoadBalancerTLSCertificateStatus where+    toText = \case+        LBTCSExpired -> "EXPIRED"+        LBTCSFailed -> "FAILED"+        LBTCSInactive -> "INACTIVE"+        LBTCSIssued -> "ISSUED"+        LBTCSPendingValidation -> "PENDING_VALIDATION"+        LBTCSRevoked -> "REVOKED"+        LBTCSUnknown -> "UNKNOWN"+        LBTCSValidationTimedOut -> "VALIDATION_TIMED_OUT"++instance Hashable     LoadBalancerTLSCertificateStatus+instance NFData       LoadBalancerTLSCertificateStatus+instance ToByteString LoadBalancerTLSCertificateStatus+instance ToQuery      LoadBalancerTLSCertificateStatus+instance ToHeader     LoadBalancerTLSCertificateStatus++instance FromJSON LoadBalancerTLSCertificateStatus where+    parseJSON = parseJSONText "LoadBalancerTLSCertificateStatus"+ data MetricStatistic   = Average   | Maximum@@ -381,6 +894,7 @@   | Failed   | NotStarted   | Started+  | Succeeded   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)  @@ -390,8 +904,9 @@         "failed" -> pure Failed         "notstarted" -> pure NotStarted         "started" -> pure Started+        "succeeded" -> pure Succeeded         e -> fromTextError $ "Failure parsing OperationStatus from value: '" <> e-           <> "'. Accepted values: completed, failed, notstarted, started"+           <> "'. Accepted values: completed, failed, notstarted, started, succeeded"  instance ToText OperationStatus where     toText = \case@@ -399,6 +914,7 @@         Failed -> "Failed"         NotStarted -> "NotStarted"         Started -> "Started"+        Succeeded -> "Succeeded"  instance Hashable     OperationStatus instance NFData       OperationStatus@@ -411,16 +927,30 @@  data OperationType   = AllocateStaticIP+  | AttachDisk+  | AttachInstancesToLoadBalancer+  | AttachLoadBalancerTLSCertificate   | AttachStaticIP   | CloseInstancePublicPorts+  | CreateDisk+  | CreateDiskFromSnapshot+  | CreateDiskSnapshot   | CreateDomain   | CreateInstance   | CreateInstanceSnapshot   | CreateInstancesFromSnapshot+  | CreateLoadBalancer+  | CreateLoadBalancerTLSCertificate+  | DeleteDisk+  | DeleteDiskSnapshot   | DeleteDomain   | DeleteDomainEntry   | DeleteInstance   | DeleteInstanceSnapshot+  | DeleteLoadBalancer+  | DeleteLoadBalancerTLSCertificate+  | DetachDisk+  | DetachInstancesFromLoadBalancer   | DetachStaticIP   | OpenInstancePublicPorts   | PutInstancePublicPorts@@ -429,22 +959,37 @@   | StartInstance   | StopInstance   | UpdateDomainEntry+  | UpdateLoadBalancerAttribute   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)   instance FromText OperationType where     parser = takeLowerText >>= \case         "allocatestaticip" -> pure AllocateStaticIP+        "attachdisk" -> pure AttachDisk+        "attachinstancestoloadbalancer" -> pure AttachInstancesToLoadBalancer+        "attachloadbalancertlscertificate" -> pure AttachLoadBalancerTLSCertificate         "attachstaticip" -> pure AttachStaticIP         "closeinstancepublicports" -> pure CloseInstancePublicPorts+        "createdisk" -> pure CreateDisk+        "creatediskfromsnapshot" -> pure CreateDiskFromSnapshot+        "createdisksnapshot" -> pure CreateDiskSnapshot         "createdomain" -> pure CreateDomain         "createinstance" -> pure CreateInstance         "createinstancesnapshot" -> pure CreateInstanceSnapshot         "createinstancesfromsnapshot" -> pure CreateInstancesFromSnapshot+        "createloadbalancer" -> pure CreateLoadBalancer+        "createloadbalancertlscertificate" -> pure CreateLoadBalancerTLSCertificate+        "deletedisk" -> pure DeleteDisk+        "deletedisksnapshot" -> pure DeleteDiskSnapshot         "deletedomain" -> pure DeleteDomain         "deletedomainentry" -> pure DeleteDomainEntry         "deleteinstance" -> pure DeleteInstance         "deleteinstancesnapshot" -> pure DeleteInstanceSnapshot+        "deleteloadbalancer" -> pure DeleteLoadBalancer+        "deleteloadbalancertlscertificate" -> pure DeleteLoadBalancerTLSCertificate+        "detachdisk" -> pure DetachDisk+        "detachinstancesfromloadbalancer" -> pure DetachInstancesFromLoadBalancer         "detachstaticip" -> pure DetachStaticIP         "openinstancepublicports" -> pure OpenInstancePublicPorts         "putinstancepublicports" -> pure PutInstancePublicPorts@@ -453,22 +998,37 @@         "startinstance" -> pure StartInstance         "stopinstance" -> pure StopInstance         "updatedomainentry" -> pure UpdateDomainEntry+        "updateloadbalancerattribute" -> pure UpdateLoadBalancerAttribute         e -> fromTextError $ "Failure parsing OperationType from value: '" <> e-           <> "'. Accepted values: allocatestaticip, attachstaticip, closeinstancepublicports, createdomain, createinstance, createinstancesnapshot, createinstancesfromsnapshot, deletedomain, deletedomainentry, deleteinstance, deleteinstancesnapshot, detachstaticip, openinstancepublicports, putinstancepublicports, rebootinstance, releasestaticip, startinstance, stopinstance, updatedomainentry"+           <> "'. Accepted values: allocatestaticip, attachdisk, attachinstancestoloadbalancer, attachloadbalancertlscertificate, attachstaticip, closeinstancepublicports, createdisk, creatediskfromsnapshot, createdisksnapshot, createdomain, createinstance, createinstancesnapshot, createinstancesfromsnapshot, createloadbalancer, createloadbalancertlscertificate, deletedisk, deletedisksnapshot, deletedomain, deletedomainentry, deleteinstance, deleteinstancesnapshot, deleteloadbalancer, deleteloadbalancertlscertificate, detachdisk, detachinstancesfromloadbalancer, detachstaticip, openinstancepublicports, putinstancepublicports, rebootinstance, releasestaticip, startinstance, stopinstance, updatedomainentry, updateloadbalancerattribute"  instance ToText OperationType where     toText = \case         AllocateStaticIP -> "AllocateStaticIp"+        AttachDisk -> "AttachDisk"+        AttachInstancesToLoadBalancer -> "AttachInstancesToLoadBalancer"+        AttachLoadBalancerTLSCertificate -> "AttachLoadBalancerTlsCertificate"         AttachStaticIP -> "AttachStaticIp"         CloseInstancePublicPorts -> "CloseInstancePublicPorts"+        CreateDisk -> "CreateDisk"+        CreateDiskFromSnapshot -> "CreateDiskFromSnapshot"+        CreateDiskSnapshot -> "CreateDiskSnapshot"         CreateDomain -> "CreateDomain"         CreateInstance -> "CreateInstance"         CreateInstanceSnapshot -> "CreateInstanceSnapshot"         CreateInstancesFromSnapshot -> "CreateInstancesFromSnapshot"+        CreateLoadBalancer -> "CreateLoadBalancer"+        CreateLoadBalancerTLSCertificate -> "CreateLoadBalancerTlsCertificate"+        DeleteDisk -> "DeleteDisk"+        DeleteDiskSnapshot -> "DeleteDiskSnapshot"         DeleteDomain -> "DeleteDomain"         DeleteDomainEntry -> "DeleteDomainEntry"         DeleteInstance -> "DeleteInstance"         DeleteInstanceSnapshot -> "DeleteInstanceSnapshot"+        DeleteLoadBalancer -> "DeleteLoadBalancer"+        DeleteLoadBalancerTLSCertificate -> "DeleteLoadBalancerTlsCertificate"+        DetachDisk -> "DetachDisk"+        DetachInstancesFromLoadBalancer -> "DetachInstancesFromLoadBalancer"         DetachStaticIP -> "DetachStaticIp"         OpenInstancePublicPorts -> "OpenInstancePublicPorts"         PutInstancePublicPorts -> "PutInstancePublicPorts"@@ -477,6 +1037,7 @@         StartInstance -> "StartInstance"         StopInstance -> "StopInstance"         UpdateDomainEntry -> "UpdateDomainEntry"+        UpdateLoadBalancerAttribute -> "UpdateLoadBalancerAttribute"  instance Hashable     OperationType instance NFData       OperationType@@ -549,6 +1110,7 @@   | ApSoutheast2   | EuCentral1   | EuWest1+  | EuWest2   | UsEast1   | UsEast2   | UsWest1@@ -565,12 +1127,13 @@         "ap-southeast-2" -> pure ApSoutheast2         "eu-central-1" -> pure EuCentral1         "eu-west-1" -> pure EuWest1+        "eu-west-2" -> pure EuWest2         "us-east-1" -> pure UsEast1         "us-east-2" -> pure UsEast2         "us-west-1" -> pure UsWest1         "us-west-2" -> pure UsWest2         e -> fromTextError $ "Failure parsing RegionName from value: '" <> e-           <> "'. Accepted values: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, us-east-1, us-east-2, us-west-1, us-west-2"+           <> "'. Accepted values: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, eu-west-2, us-east-1, us-east-2, us-west-1, us-west-2"  instance ToText RegionName where     toText = \case@@ -581,6 +1144,7 @@         ApSoutheast2 -> "ap-southeast-2"         EuCentral1 -> "eu-central-1"         EuWest1 -> "eu-west-1"+        EuWest2 -> "eu-west-2"         UsEast1 -> "us-east-1"         UsEast2 -> "us-east-2"         UsWest1 -> "us-west-1"@@ -596,10 +1160,14 @@     parseJSON = parseJSONText "RegionName"  data ResourceType-  = Domain+  = Disk+  | DiskSnapshot+  | Domain   | Instance   | InstanceSnapshot   | KeyPair+  | LoadBalancer+  | LoadBalancerTLSCertificate   | PeeredVPC   | StaticIP   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)@@ -607,21 +1175,29 @@  instance FromText ResourceType where     parser = takeLowerText >>= \case+        "disk" -> pure Disk+        "disksnapshot" -> pure DiskSnapshot         "domain" -> pure Domain         "instance" -> pure Instance         "instancesnapshot" -> pure InstanceSnapshot         "keypair" -> pure KeyPair+        "loadbalancer" -> pure LoadBalancer+        "loadbalancertlscertificate" -> pure LoadBalancerTLSCertificate         "peeredvpc" -> pure PeeredVPC         "staticip" -> pure StaticIP         e -> fromTextError $ "Failure parsing ResourceType from value: '" <> e-           <> "'. Accepted values: domain, instance, instancesnapshot, keypair, peeredvpc, staticip"+           <> "'. Accepted values: disk, disksnapshot, domain, instance, instancesnapshot, keypair, loadbalancer, loadbalancertlscertificate, peeredvpc, staticip"  instance ToText ResourceType where     toText = \case+        Disk -> "Disk"+        DiskSnapshot -> "DiskSnapshot"         Domain -> "Domain"         Instance -> "Instance"         InstanceSnapshot -> "InstanceSnapshot"         KeyPair -> "KeyPair"+        LoadBalancer -> "LoadBalancer"+        LoadBalancerTLSCertificate -> "LoadBalancerTlsCertificate"         PeeredVPC -> "PeeredVpc"         StaticIP -> "StaticIp" 
gen/Network/AWS/Lightsail/UnpeerVPC.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.UnpeerVPC--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -105,15 +105,15 @@     -> UnpeerVPCResponse unpeerVPCResponse pResponseStatus_ =   UnpeerVPCResponse'-  {_uvrsOperation = Nothing, _uvrsResponseStatus = pResponseStatus_}+    {_uvrsOperation = Nothing, _uvrsResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the request operation. uvrsOperation :: Lens' UnpeerVPCResponse (Maybe Operation)-uvrsOperation = lens _uvrsOperation (\ s a -> s{_uvrsOperation = a});+uvrsOperation = lens _uvrsOperation (\ s a -> s{_uvrsOperation = a})  -- | -- | The response status code. uvrsResponseStatus :: Lens' UnpeerVPCResponse Int-uvrsResponseStatus = lens _uvrsResponseStatus (\ s a -> s{_uvrsResponseStatus = a});+uvrsResponseStatus = lens _uvrsResponseStatus (\ s a -> s{_uvrsResponseStatus = a})  instance NFData UnpeerVPCResponse where
gen/Network/AWS/Lightsail/UpdateDomainEntry.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Lightsail.UpdateDomainEntry--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     -> UpdateDomainEntry updateDomainEntry pDomainName_ pDomainEntry_ =   UpdateDomainEntry'-  {_udeDomainName = pDomainName_, _udeDomainEntry = pDomainEntry_}+    {_udeDomainName = pDomainName_, _udeDomainEntry = pDomainEntry_}   -- | The name of the domain recordset to update. udeDomainName :: Lens' UpdateDomainEntry Text-udeDomainName = lens _udeDomainName (\ s a -> s{_udeDomainName = a});+udeDomainName = lens _udeDomainName (\ s a -> s{_udeDomainName = a})  -- | An array of key-value pairs containing information about the domain entry. udeDomainEntry :: Lens' UpdateDomainEntry DomainEntry-udeDomainEntry = lens _udeDomainEntry (\ s a -> s{_udeDomainEntry = a});+udeDomainEntry = lens _udeDomainEntry (\ s a -> s{_udeDomainEntry = a})  instance AWSRequest UpdateDomainEntry where         type Rs UpdateDomainEntry = UpdateDomainEntryResponse@@ -132,15 +132,15 @@     -> UpdateDomainEntryResponse updateDomainEntryResponse pResponseStatus_ =   UpdateDomainEntryResponse'-  {_udersOperations = Nothing, _udersResponseStatus = pResponseStatus_}+    {_udersOperations = Nothing, _udersResponseStatus = pResponseStatus_}   -- | An array of key-value pairs containing information about the request operation. udersOperations :: Lens' UpdateDomainEntryResponse [Operation]-udersOperations = lens _udersOperations (\ s a -> s{_udersOperations = a}) . _Default . _Coerce;+udersOperations = lens _udersOperations (\ s a -> s{_udersOperations = a}) . _Default . _Coerce  -- | -- | The response status code. udersResponseStatus :: Lens' UpdateDomainEntryResponse Int-udersResponseStatus = lens _udersResponseStatus (\ s a -> s{_udersResponseStatus = a});+udersResponseStatus = lens _udersResponseStatus (\ s a -> s{_udersResponseStatus = a})  instance NFData UpdateDomainEntryResponse where
+ gen/Network/AWS/Lightsail/UpdateLoadBalancerAttribute.hs view
@@ -0,0 +1,161 @@+{-# 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.Lightsail.UpdateLoadBalancerAttribute+-- Copyright   : (c) 2013-2018 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 specified attribute for a load balancer. You can only update one attribute at a time.+--+--+module Network.AWS.Lightsail.UpdateLoadBalancerAttribute+    (+    -- * Creating a Request+      updateLoadBalancerAttribute+    , UpdateLoadBalancerAttribute+    -- * Request Lenses+    , ulbaLoadBalancerName+    , ulbaAttributeName+    , ulbaAttributeValue++    -- * Destructuring the Response+    , updateLoadBalancerAttributeResponse+    , UpdateLoadBalancerAttributeResponse+    -- * Response Lenses+    , ulbarsOperations+    , ulbarsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateLoadBalancerAttribute' smart constructor.+data UpdateLoadBalancerAttribute = UpdateLoadBalancerAttribute'+  { _ulbaLoadBalancerName :: !Text+  , _ulbaAttributeName    :: !LoadBalancerAttributeName+  , _ulbaAttributeValue   :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateLoadBalancerAttribute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ulbaLoadBalancerName' - The name of the load balancer that you want to modify (e.g., @my-load-balancer@ .+--+-- * 'ulbaAttributeName' - The name of the attribute you want to update. Valid values are below.+--+-- * 'ulbaAttributeValue' - The value that you want to specify for the attribute name.+updateLoadBalancerAttribute+    :: Text -- ^ 'ulbaLoadBalancerName'+    -> LoadBalancerAttributeName -- ^ 'ulbaAttributeName'+    -> Text -- ^ 'ulbaAttributeValue'+    -> UpdateLoadBalancerAttribute+updateLoadBalancerAttribute pLoadBalancerName_ pAttributeName_ pAttributeValue_ =+  UpdateLoadBalancerAttribute'+    { _ulbaLoadBalancerName = pLoadBalancerName_+    , _ulbaAttributeName = pAttributeName_+    , _ulbaAttributeValue = pAttributeValue_+    }+++-- | The name of the load balancer that you want to modify (e.g., @my-load-balancer@ .+ulbaLoadBalancerName :: Lens' UpdateLoadBalancerAttribute Text+ulbaLoadBalancerName = lens _ulbaLoadBalancerName (\ s a -> s{_ulbaLoadBalancerName = a})++-- | The name of the attribute you want to update. Valid values are below.+ulbaAttributeName :: Lens' UpdateLoadBalancerAttribute LoadBalancerAttributeName+ulbaAttributeName = lens _ulbaAttributeName (\ s a -> s{_ulbaAttributeName = a})++-- | The value that you want to specify for the attribute name.+ulbaAttributeValue :: Lens' UpdateLoadBalancerAttribute Text+ulbaAttributeValue = lens _ulbaAttributeValue (\ s a -> s{_ulbaAttributeValue = a})++instance AWSRequest UpdateLoadBalancerAttribute where+        type Rs UpdateLoadBalancerAttribute =+             UpdateLoadBalancerAttributeResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 UpdateLoadBalancerAttributeResponse' <$>+                   (x .?> "operations" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable UpdateLoadBalancerAttribute where++instance NFData UpdateLoadBalancerAttribute where++instance ToHeaders UpdateLoadBalancerAttribute where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.UpdateLoadBalancerAttribute" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateLoadBalancerAttribute where+        toJSON UpdateLoadBalancerAttribute'{..}+          = object+              (catMaybes+                 [Just ("loadBalancerName" .= _ulbaLoadBalancerName),+                  Just ("attributeName" .= _ulbaAttributeName),+                  Just ("attributeValue" .= _ulbaAttributeValue)])++instance ToPath UpdateLoadBalancerAttribute where+        toPath = const "/"++instance ToQuery UpdateLoadBalancerAttribute where+        toQuery = const mempty++-- | /See:/ 'updateLoadBalancerAttributeResponse' smart constructor.+data UpdateLoadBalancerAttributeResponse = UpdateLoadBalancerAttributeResponse'+  { _ulbarsOperations     :: !(Maybe [Operation])+  , _ulbarsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateLoadBalancerAttributeResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ulbarsOperations' - An object describing the API operations.+--+-- * 'ulbarsResponseStatus' - -- | The response status code.+updateLoadBalancerAttributeResponse+    :: Int -- ^ 'ulbarsResponseStatus'+    -> UpdateLoadBalancerAttributeResponse+updateLoadBalancerAttributeResponse pResponseStatus_ =+  UpdateLoadBalancerAttributeResponse'+    {_ulbarsOperations = Nothing, _ulbarsResponseStatus = pResponseStatus_}+++-- | An object describing the API operations.+ulbarsOperations :: Lens' UpdateLoadBalancerAttributeResponse [Operation]+ulbarsOperations = lens _ulbarsOperations (\ s a -> s{_ulbarsOperations = a}) . _Default . _Coerce++-- | -- | The response status code.+ulbarsResponseStatus :: Lens' UpdateLoadBalancerAttributeResponse Int+ulbarsResponseStatus = lens _ulbarsResponseStatus (\ s a -> s{_ulbarsResponseStatus = a})++instance NFData UpdateLoadBalancerAttributeResponse+         where
gen/Network/AWS/Lightsail/Waiters.hs view
@@ -7,7 +7,7 @@  -- | -- Module      : Network.AWS.Lightsail.Waiters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Main.hs view
@@ -2,7 +2,7 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Test/AWS/Gen/Lightsail.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Test.AWS.Gen.Lightsail--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -43,18 +43,30 @@ --         , requestGetInstances $ --             getInstances --+--         , requestGetLoadBalancer $+--             getLoadBalancer+-- --         , requestGetInstance $ --             getInstance -- --         , requestAttachStaticIP $ --             attachStaticIP --+--         , requestDetachDisk $+--             detachDisk+-- --         , requestDownloadDefaultKeyPair $ --             downloadDefaultKeyPair --+--         , requestDeleteLoadBalancerTLSCertificate $+--             deleteLoadBalancerTLSCertificate+-- --         , requestGetDomains $ --             getDomains --+--         , requestCreateLoadBalancerTLSCertificate $+--             createLoadBalancerTLSCertificate+-- --         , requestCreateDomainEntry $ --             createDomainEntry --@@ -73,6 +85,12 @@ --         , requestRebootInstance $ --             rebootInstance --+--         , requestDeleteLoadBalancer $+--             deleteLoadBalancer+--+--         , requestCreateDiskFromSnapshot $+--             createDiskFromSnapshot+-- --         , requestGetInstanceSnapshot $ --             getInstanceSnapshot --@@ -88,6 +106,9 @@ --         , requestStopInstance $ --             stopInstance --+--         , requestDetachInstancesFromLoadBalancer $+--             detachInstancesFromLoadBalancer+-- --         , requestCreateInstanceSnapshot $ --             createInstanceSnapshot --@@ -100,15 +121,33 @@ --         , requestUnpeerVPC $ --             unpeerVPC --+--         , requestDeleteDisk $+--             deleteDisk+-- --         , requestCreateInstancesFromSnapshot $ --             createInstancesFromSnapshot -- --         , requestCreateDomain $ --             createDomain --+--         , requestGetDiskSnapshots $+--             getDiskSnapshots+-- --         , requestPeerVPC $ --             peerVPC --+--         , requestGetLoadBalancers $+--             getLoadBalancers+--+--         , requestAttachLoadBalancerTLSCertificate $+--             attachLoadBalancerTLSCertificate+--+--         , requestUpdateLoadBalancerAttribute $+--             updateLoadBalancerAttribute+--+--         , requestGetDiskSnapshot $+--             getDiskSnapshot+-- --         , requestGetStaticIP $ --             getStaticIP --@@ -118,6 +157,9 @@ --         , requestGetInstancePortStates $ --             getInstancePortStates --+--         , requestCreateDiskSnapshot $+--             createDiskSnapshot+-- --         , requestDeleteDomainEntry $ --             deleteDomainEntry --@@ -127,6 +169,12 @@ --         , requestGetRegions $ --             getRegions --+--         , requestDeleteDiskSnapshot $+--             deleteDiskSnapshot+--+--         , requestGetLoadBalancerMetricData $+--             getLoadBalancerMetricData+-- --         , requestGetInstanceState $ --             getInstanceState --@@ -136,6 +184,12 @@ --         , requestGetOperations $ --             getOperations --+--         , requestGetDisks $+--             getDisks+--+--         , requestAttachInstancesToLoadBalancer $+--             attachInstancesToLoadBalancer+-- --         , requestGetOperation $ --             getOperation --@@ -148,6 +202,15 @@ --         , requestPutInstancePublicPorts $ --             putInstancePublicPorts --+--         , requestGetDisk $+--             getDisk+--+--         , requestCreateLoadBalancer $+--             createLoadBalancer+--+--         , requestAttachDisk $+--             attachDisk+-- --         , requestDetachStaticIP $ --             detachStaticIP --@@ -163,6 +226,12 @@ --         , requestDeleteDomain $ --             deleteDomain --+--         , requestGetLoadBalancerTLSCertificates $+--             getLoadBalancerTLSCertificates+--+--         , requestCreateDisk $+--             createDisk+-- --         , requestGetOperationsForResource $ --             getOperationsForResource --@@ -190,18 +259,30 @@ --         , responseGetInstances $ --             getInstancesResponse --+--         , responseGetLoadBalancer $+--             getLoadBalancerResponse+-- --         , responseGetInstance $ --             getInstanceResponse -- --         , responseAttachStaticIP $ --             attachStaticIPResponse --+--         , responseDetachDisk $+--             detachDiskResponse+-- --         , responseDownloadDefaultKeyPair $ --             downloadDefaultKeyPairResponse --+--         , responseDeleteLoadBalancerTLSCertificate $+--             deleteLoadBalancerTLSCertificateResponse+-- --         , responseGetDomains $ --             getDomainsResponse --+--         , responseCreateLoadBalancerTLSCertificate $+--             createLoadBalancerTLSCertificateResponse+-- --         , responseCreateDomainEntry $ --             createDomainEntryResponse --@@ -220,6 +301,12 @@ --         , responseRebootInstance $ --             rebootInstanceResponse --+--         , responseDeleteLoadBalancer $+--             deleteLoadBalancerResponse+--+--         , responseCreateDiskFromSnapshot $+--             createDiskFromSnapshotResponse+-- --         , responseGetInstanceSnapshot $ --             getInstanceSnapshotResponse --@@ -235,6 +322,9 @@ --         , responseStopInstance $ --             stopInstanceResponse --+--         , responseDetachInstancesFromLoadBalancer $+--             detachInstancesFromLoadBalancerResponse+-- --         , responseCreateInstanceSnapshot $ --             createInstanceSnapshotResponse --@@ -247,15 +337,33 @@ --         , responseUnpeerVPC $ --             unpeerVPCResponse --+--         , responseDeleteDisk $+--             deleteDiskResponse+-- --         , responseCreateInstancesFromSnapshot $ --             createInstancesFromSnapshotResponse -- --         , responseCreateDomain $ --             createDomainResponse --+--         , responseGetDiskSnapshots $+--             getDiskSnapshotsResponse+-- --         , responsePeerVPC $ --             peerVPCResponse --+--         , responseGetLoadBalancers $+--             getLoadBalancersResponse+--+--         , responseAttachLoadBalancerTLSCertificate $+--             attachLoadBalancerTLSCertificateResponse+--+--         , responseUpdateLoadBalancerAttribute $+--             updateLoadBalancerAttributeResponse+--+--         , responseGetDiskSnapshot $+--             getDiskSnapshotResponse+-- --         , responseGetStaticIP $ --             getStaticIPResponse --@@ -265,6 +373,9 @@ --         , responseGetInstancePortStates $ --             getInstancePortStatesResponse --+--         , responseCreateDiskSnapshot $+--             createDiskSnapshotResponse+-- --         , responseDeleteDomainEntry $ --             deleteDomainEntryResponse --@@ -274,6 +385,12 @@ --         , responseGetRegions $ --             getRegionsResponse --+--         , responseDeleteDiskSnapshot $+--             deleteDiskSnapshotResponse+--+--         , responseGetLoadBalancerMetricData $+--             getLoadBalancerMetricDataResponse+-- --         , responseGetInstanceState $ --             getInstanceStateResponse --@@ -283,6 +400,12 @@ --         , responseGetOperations $ --             getOperationsResponse --+--         , responseGetDisks $+--             getDisksResponse+--+--         , responseAttachInstancesToLoadBalancer $+--             attachInstancesToLoadBalancerResponse+-- --         , responseGetOperation $ --             getOperationResponse --@@ -295,6 +418,15 @@ --         , responsePutInstancePublicPorts $ --             putInstancePublicPortsResponse --+--         , responseGetDisk $+--             getDiskResponse+--+--         , responseCreateLoadBalancer $+--             createLoadBalancerResponse+--+--         , responseAttachDisk $+--             attachDiskResponse+-- --         , responseDetachStaticIP $ --             detachStaticIPResponse --@@ -310,6 +442,12 @@ --         , responseDeleteDomain $ --             deleteDomainResponse --+--         , responseGetLoadBalancerTLSCertificates $+--             getLoadBalancerTLSCertificatesResponse+--+--         , responseCreateDisk $+--             createDiskResponse+-- --         , responseGetOperationsForResource $ --             getOperationsForResourceResponse --@@ -349,6 +487,11 @@     "GetInstances"     "fixture/GetInstances.yaml" +requestGetLoadBalancer :: GetLoadBalancer -> TestTree+requestGetLoadBalancer = req+    "GetLoadBalancer"+    "fixture/GetLoadBalancer.yaml"+ requestGetInstance :: GetInstance -> TestTree requestGetInstance = req     "GetInstance"@@ -359,16 +502,31 @@     "AttachStaticIP"     "fixture/AttachStaticIP.yaml" +requestDetachDisk :: DetachDisk -> TestTree+requestDetachDisk = req+    "DetachDisk"+    "fixture/DetachDisk.yaml"+ requestDownloadDefaultKeyPair :: DownloadDefaultKeyPair -> TestTree requestDownloadDefaultKeyPair = req     "DownloadDefaultKeyPair"     "fixture/DownloadDefaultKeyPair.yaml" +requestDeleteLoadBalancerTLSCertificate :: DeleteLoadBalancerTLSCertificate -> TestTree+requestDeleteLoadBalancerTLSCertificate = req+    "DeleteLoadBalancerTLSCertificate"+    "fixture/DeleteLoadBalancerTLSCertificate.yaml"+ requestGetDomains :: GetDomains -> TestTree requestGetDomains = req     "GetDomains"     "fixture/GetDomains.yaml" +requestCreateLoadBalancerTLSCertificate :: CreateLoadBalancerTLSCertificate -> TestTree+requestCreateLoadBalancerTLSCertificate = req+    "CreateLoadBalancerTLSCertificate"+    "fixture/CreateLoadBalancerTLSCertificate.yaml"+ requestCreateDomainEntry :: CreateDomainEntry -> TestTree requestCreateDomainEntry = req     "CreateDomainEntry"@@ -399,6 +557,16 @@     "RebootInstance"     "fixture/RebootInstance.yaml" +requestDeleteLoadBalancer :: DeleteLoadBalancer -> TestTree+requestDeleteLoadBalancer = req+    "DeleteLoadBalancer"+    "fixture/DeleteLoadBalancer.yaml"++requestCreateDiskFromSnapshot :: CreateDiskFromSnapshot -> TestTree+requestCreateDiskFromSnapshot = req+    "CreateDiskFromSnapshot"+    "fixture/CreateDiskFromSnapshot.yaml"+ requestGetInstanceSnapshot :: GetInstanceSnapshot -> TestTree requestGetInstanceSnapshot = req     "GetInstanceSnapshot"@@ -424,6 +592,11 @@     "StopInstance"     "fixture/StopInstance.yaml" +requestDetachInstancesFromLoadBalancer :: DetachInstancesFromLoadBalancer -> TestTree+requestDetachInstancesFromLoadBalancer = req+    "DetachInstancesFromLoadBalancer"+    "fixture/DetachInstancesFromLoadBalancer.yaml"+ requestCreateInstanceSnapshot :: CreateInstanceSnapshot -> TestTree requestCreateInstanceSnapshot = req     "CreateInstanceSnapshot"@@ -444,6 +617,11 @@     "UnpeerVPC"     "fixture/UnpeerVPC.yaml" +requestDeleteDisk :: DeleteDisk -> TestTree+requestDeleteDisk = req+    "DeleteDisk"+    "fixture/DeleteDisk.yaml"+ requestCreateInstancesFromSnapshot :: CreateInstancesFromSnapshot -> TestTree requestCreateInstancesFromSnapshot = req     "CreateInstancesFromSnapshot"@@ -454,11 +632,36 @@     "CreateDomain"     "fixture/CreateDomain.yaml" +requestGetDiskSnapshots :: GetDiskSnapshots -> TestTree+requestGetDiskSnapshots = req+    "GetDiskSnapshots"+    "fixture/GetDiskSnapshots.yaml"+ requestPeerVPC :: PeerVPC -> TestTree requestPeerVPC = req     "PeerVPC"     "fixture/PeerVPC.yaml" +requestGetLoadBalancers :: GetLoadBalancers -> TestTree+requestGetLoadBalancers = req+    "GetLoadBalancers"+    "fixture/GetLoadBalancers.yaml"++requestAttachLoadBalancerTLSCertificate :: AttachLoadBalancerTLSCertificate -> TestTree+requestAttachLoadBalancerTLSCertificate = req+    "AttachLoadBalancerTLSCertificate"+    "fixture/AttachLoadBalancerTLSCertificate.yaml"++requestUpdateLoadBalancerAttribute :: UpdateLoadBalancerAttribute -> TestTree+requestUpdateLoadBalancerAttribute = req+    "UpdateLoadBalancerAttribute"+    "fixture/UpdateLoadBalancerAttribute.yaml"++requestGetDiskSnapshot :: GetDiskSnapshot -> TestTree+requestGetDiskSnapshot = req+    "GetDiskSnapshot"+    "fixture/GetDiskSnapshot.yaml"+ requestGetStaticIP :: GetStaticIP -> TestTree requestGetStaticIP = req     "GetStaticIP"@@ -474,6 +677,11 @@     "GetInstancePortStates"     "fixture/GetInstancePortStates.yaml" +requestCreateDiskSnapshot :: CreateDiskSnapshot -> TestTree+requestCreateDiskSnapshot = req+    "CreateDiskSnapshot"+    "fixture/CreateDiskSnapshot.yaml"+ requestDeleteDomainEntry :: DeleteDomainEntry -> TestTree requestDeleteDomainEntry = req     "DeleteDomainEntry"@@ -489,6 +697,16 @@     "GetRegions"     "fixture/GetRegions.yaml" +requestDeleteDiskSnapshot :: DeleteDiskSnapshot -> TestTree+requestDeleteDiskSnapshot = req+    "DeleteDiskSnapshot"+    "fixture/DeleteDiskSnapshot.yaml"++requestGetLoadBalancerMetricData :: GetLoadBalancerMetricData -> TestTree+requestGetLoadBalancerMetricData = req+    "GetLoadBalancerMetricData"+    "fixture/GetLoadBalancerMetricData.yaml"+ requestGetInstanceState :: GetInstanceState -> TestTree requestGetInstanceState = req     "GetInstanceState"@@ -504,6 +722,16 @@     "GetOperations"     "fixture/GetOperations.yaml" +requestGetDisks :: GetDisks -> TestTree+requestGetDisks = req+    "GetDisks"+    "fixture/GetDisks.yaml"++requestAttachInstancesToLoadBalancer :: AttachInstancesToLoadBalancer -> TestTree+requestAttachInstancesToLoadBalancer = req+    "AttachInstancesToLoadBalancer"+    "fixture/AttachInstancesToLoadBalancer.yaml"+ requestGetOperation :: GetOperation -> TestTree requestGetOperation = req     "GetOperation"@@ -524,6 +752,21 @@     "PutInstancePublicPorts"     "fixture/PutInstancePublicPorts.yaml" +requestGetDisk :: GetDisk -> TestTree+requestGetDisk = req+    "GetDisk"+    "fixture/GetDisk.yaml"++requestCreateLoadBalancer :: CreateLoadBalancer -> TestTree+requestCreateLoadBalancer = req+    "CreateLoadBalancer"+    "fixture/CreateLoadBalancer.yaml"++requestAttachDisk :: AttachDisk -> TestTree+requestAttachDisk = req+    "AttachDisk"+    "fixture/AttachDisk.yaml"+ requestDetachStaticIP :: DetachStaticIP -> TestTree requestDetachStaticIP = req     "DetachStaticIP"@@ -549,6 +792,16 @@     "DeleteDomain"     "fixture/DeleteDomain.yaml" +requestGetLoadBalancerTLSCertificates :: GetLoadBalancerTLSCertificates -> TestTree+requestGetLoadBalancerTLSCertificates = req+    "GetLoadBalancerTLSCertificates"+    "fixture/GetLoadBalancerTLSCertificates.yaml"++requestCreateDisk :: CreateDisk -> TestTree+requestCreateDisk = req+    "CreateDisk"+    "fixture/CreateDisk.yaml"+ requestGetOperationsForResource :: GetOperationsForResource -> TestTree requestGetOperationsForResource = req     "GetOperationsForResource"@@ -601,6 +854,13 @@     lightsail     (Proxy :: Proxy GetInstances) +responseGetLoadBalancer :: GetLoadBalancerResponse -> TestTree+responseGetLoadBalancer = res+    "GetLoadBalancerResponse"+    "fixture/GetLoadBalancerResponse.proto"+    lightsail+    (Proxy :: Proxy GetLoadBalancer)+ responseGetInstance :: GetInstanceResponse -> TestTree responseGetInstance = res     "GetInstanceResponse"@@ -615,6 +875,13 @@     lightsail     (Proxy :: Proxy AttachStaticIP) +responseDetachDisk :: DetachDiskResponse -> TestTree+responseDetachDisk = res+    "DetachDiskResponse"+    "fixture/DetachDiskResponse.proto"+    lightsail+    (Proxy :: Proxy DetachDisk)+ responseDownloadDefaultKeyPair :: DownloadDefaultKeyPairResponse -> TestTree responseDownloadDefaultKeyPair = res     "DownloadDefaultKeyPairResponse"@@ -622,6 +889,13 @@     lightsail     (Proxy :: Proxy DownloadDefaultKeyPair) +responseDeleteLoadBalancerTLSCertificate :: DeleteLoadBalancerTLSCertificateResponse -> TestTree+responseDeleteLoadBalancerTLSCertificate = res+    "DeleteLoadBalancerTLSCertificateResponse"+    "fixture/DeleteLoadBalancerTLSCertificateResponse.proto"+    lightsail+    (Proxy :: Proxy DeleteLoadBalancerTLSCertificate)+ responseGetDomains :: GetDomainsResponse -> TestTree responseGetDomains = res     "GetDomainsResponse"@@ -629,6 +903,13 @@     lightsail     (Proxy :: Proxy GetDomains) +responseCreateLoadBalancerTLSCertificate :: CreateLoadBalancerTLSCertificateResponse -> TestTree+responseCreateLoadBalancerTLSCertificate = res+    "CreateLoadBalancerTLSCertificateResponse"+    "fixture/CreateLoadBalancerTLSCertificateResponse.proto"+    lightsail+    (Proxy :: Proxy CreateLoadBalancerTLSCertificate)+ responseCreateDomainEntry :: CreateDomainEntryResponse -> TestTree responseCreateDomainEntry = res     "CreateDomainEntryResponse"@@ -671,6 +952,20 @@     lightsail     (Proxy :: Proxy RebootInstance) +responseDeleteLoadBalancer :: DeleteLoadBalancerResponse -> TestTree+responseDeleteLoadBalancer = res+    "DeleteLoadBalancerResponse"+    "fixture/DeleteLoadBalancerResponse.proto"+    lightsail+    (Proxy :: Proxy DeleteLoadBalancer)++responseCreateDiskFromSnapshot :: CreateDiskFromSnapshotResponse -> TestTree+responseCreateDiskFromSnapshot = res+    "CreateDiskFromSnapshotResponse"+    "fixture/CreateDiskFromSnapshotResponse.proto"+    lightsail+    (Proxy :: Proxy CreateDiskFromSnapshot)+ responseGetInstanceSnapshot :: GetInstanceSnapshotResponse -> TestTree responseGetInstanceSnapshot = res     "GetInstanceSnapshotResponse"@@ -706,6 +1001,13 @@     lightsail     (Proxy :: Proxy StopInstance) +responseDetachInstancesFromLoadBalancer :: DetachInstancesFromLoadBalancerResponse -> TestTree+responseDetachInstancesFromLoadBalancer = res+    "DetachInstancesFromLoadBalancerResponse"+    "fixture/DetachInstancesFromLoadBalancerResponse.proto"+    lightsail+    (Proxy :: Proxy DetachInstancesFromLoadBalancer)+ responseCreateInstanceSnapshot :: CreateInstanceSnapshotResponse -> TestTree responseCreateInstanceSnapshot = res     "CreateInstanceSnapshotResponse"@@ -734,6 +1036,13 @@     lightsail     (Proxy :: Proxy UnpeerVPC) +responseDeleteDisk :: DeleteDiskResponse -> TestTree+responseDeleteDisk = res+    "DeleteDiskResponse"+    "fixture/DeleteDiskResponse.proto"+    lightsail+    (Proxy :: Proxy DeleteDisk)+ responseCreateInstancesFromSnapshot :: CreateInstancesFromSnapshotResponse -> TestTree responseCreateInstancesFromSnapshot = res     "CreateInstancesFromSnapshotResponse"@@ -748,6 +1057,13 @@     lightsail     (Proxy :: Proxy CreateDomain) +responseGetDiskSnapshots :: GetDiskSnapshotsResponse -> TestTree+responseGetDiskSnapshots = res+    "GetDiskSnapshotsResponse"+    "fixture/GetDiskSnapshotsResponse.proto"+    lightsail+    (Proxy :: Proxy GetDiskSnapshots)+ responsePeerVPC :: PeerVPCResponse -> TestTree responsePeerVPC = res     "PeerVPCResponse"@@ -755,6 +1071,34 @@     lightsail     (Proxy :: Proxy PeerVPC) +responseGetLoadBalancers :: GetLoadBalancersResponse -> TestTree+responseGetLoadBalancers = res+    "GetLoadBalancersResponse"+    "fixture/GetLoadBalancersResponse.proto"+    lightsail+    (Proxy :: Proxy GetLoadBalancers)++responseAttachLoadBalancerTLSCertificate :: AttachLoadBalancerTLSCertificateResponse -> TestTree+responseAttachLoadBalancerTLSCertificate = res+    "AttachLoadBalancerTLSCertificateResponse"+    "fixture/AttachLoadBalancerTLSCertificateResponse.proto"+    lightsail+    (Proxy :: Proxy AttachLoadBalancerTLSCertificate)++responseUpdateLoadBalancerAttribute :: UpdateLoadBalancerAttributeResponse -> TestTree+responseUpdateLoadBalancerAttribute = res+    "UpdateLoadBalancerAttributeResponse"+    "fixture/UpdateLoadBalancerAttributeResponse.proto"+    lightsail+    (Proxy :: Proxy UpdateLoadBalancerAttribute)++responseGetDiskSnapshot :: GetDiskSnapshotResponse -> TestTree+responseGetDiskSnapshot = res+    "GetDiskSnapshotResponse"+    "fixture/GetDiskSnapshotResponse.proto"+    lightsail+    (Proxy :: Proxy GetDiskSnapshot)+ responseGetStaticIP :: GetStaticIPResponse -> TestTree responseGetStaticIP = res     "GetStaticIPResponse"@@ -776,6 +1120,13 @@     lightsail     (Proxy :: Proxy GetInstancePortStates) +responseCreateDiskSnapshot :: CreateDiskSnapshotResponse -> TestTree+responseCreateDiskSnapshot = res+    "CreateDiskSnapshotResponse"+    "fixture/CreateDiskSnapshotResponse.proto"+    lightsail+    (Proxy :: Proxy CreateDiskSnapshot)+ responseDeleteDomainEntry :: DeleteDomainEntryResponse -> TestTree responseDeleteDomainEntry = res     "DeleteDomainEntryResponse"@@ -797,6 +1148,20 @@     lightsail     (Proxy :: Proxy GetRegions) +responseDeleteDiskSnapshot :: DeleteDiskSnapshotResponse -> TestTree+responseDeleteDiskSnapshot = res+    "DeleteDiskSnapshotResponse"+    "fixture/DeleteDiskSnapshotResponse.proto"+    lightsail+    (Proxy :: Proxy DeleteDiskSnapshot)++responseGetLoadBalancerMetricData :: GetLoadBalancerMetricDataResponse -> TestTree+responseGetLoadBalancerMetricData = res+    "GetLoadBalancerMetricDataResponse"+    "fixture/GetLoadBalancerMetricDataResponse.proto"+    lightsail+    (Proxy :: Proxy GetLoadBalancerMetricData)+ responseGetInstanceState :: GetInstanceStateResponse -> TestTree responseGetInstanceState = res     "GetInstanceStateResponse"@@ -818,6 +1183,20 @@     lightsail     (Proxy :: Proxy GetOperations) +responseGetDisks :: GetDisksResponse -> TestTree+responseGetDisks = res+    "GetDisksResponse"+    "fixture/GetDisksResponse.proto"+    lightsail+    (Proxy :: Proxy GetDisks)++responseAttachInstancesToLoadBalancer :: AttachInstancesToLoadBalancerResponse -> TestTree+responseAttachInstancesToLoadBalancer = res+    "AttachInstancesToLoadBalancerResponse"+    "fixture/AttachInstancesToLoadBalancerResponse.proto"+    lightsail+    (Proxy :: Proxy AttachInstancesToLoadBalancer)+ responseGetOperation :: GetOperationResponse -> TestTree responseGetOperation = res     "GetOperationResponse"@@ -846,6 +1225,27 @@     lightsail     (Proxy :: Proxy PutInstancePublicPorts) +responseGetDisk :: GetDiskResponse -> TestTree+responseGetDisk = res+    "GetDiskResponse"+    "fixture/GetDiskResponse.proto"+    lightsail+    (Proxy :: Proxy GetDisk)++responseCreateLoadBalancer :: CreateLoadBalancerResponse -> TestTree+responseCreateLoadBalancer = res+    "CreateLoadBalancerResponse"+    "fixture/CreateLoadBalancerResponse.proto"+    lightsail+    (Proxy :: Proxy CreateLoadBalancer)++responseAttachDisk :: AttachDiskResponse -> TestTree+responseAttachDisk = res+    "AttachDiskResponse"+    "fixture/AttachDiskResponse.proto"+    lightsail+    (Proxy :: Proxy AttachDisk)+ responseDetachStaticIP :: DetachStaticIPResponse -> TestTree responseDetachStaticIP = res     "DetachStaticIPResponse"@@ -880,6 +1280,20 @@     "fixture/DeleteDomainResponse.proto"     lightsail     (Proxy :: Proxy DeleteDomain)++responseGetLoadBalancerTLSCertificates :: GetLoadBalancerTLSCertificatesResponse -> TestTree+responseGetLoadBalancerTLSCertificates = res+    "GetLoadBalancerTLSCertificatesResponse"+    "fixture/GetLoadBalancerTLSCertificatesResponse.proto"+    lightsail+    (Proxy :: Proxy GetLoadBalancerTLSCertificates)++responseCreateDisk :: CreateDiskResponse -> TestTree+responseCreateDisk = res+    "CreateDiskResponse"+    "fixture/CreateDiskResponse.proto"+    lightsail+    (Proxy :: Proxy CreateDisk)  responseGetOperationsForResource :: GetOperationsForResourceResponse -> TestTree responseGetOperationsForResource = res
test/Test/AWS/Lightsail.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.AWS.Lightsail--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated
test/Test/AWS/Lightsail/Internal.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.AWS.Lightsail.Internal--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated