amazonka-ec2 1.3.7 → 1.4.0
raw patch · 226 files changed
+16132/−12655 lines, 226 filesdep ~amazonka-coredep ~amazonka-ec2dep ~amazonka-testPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: amazonka-core, amazonka-ec2, amazonka-test
API changes (from Hackage documentation)
- Network.AWS.EC2: Attached :: AttachmentStatus
- Network.AWS.EC2: Attaching :: AttachmentStatus
- Network.AWS.EC2: Busy :: AttachmentStatus
- Network.AWS.EC2: Detached :: AttachmentStatus
- Network.AWS.EC2: Detaching :: AttachmentStatus
- Network.AWS.EC2: VASAttached :: VolumeAttachmentState
- Network.AWS.EC2: VASAttaching :: VolumeAttachmentState
- Network.AWS.EC2: VASBusy :: VolumeAttachmentState
- Network.AWS.EC2: VASDetached :: VolumeAttachmentState
- Network.AWS.EC2: VASDetaching :: VolumeAttachmentState
- Network.AWS.EC2: eC2 :: Service
- Network.AWS.EC2.RequestSpotInstances: rsiAvailabilityZoneGroup :: Lens' RequestSpotInstances (Maybe Text)
- Network.AWS.EC2.RequestSpotInstances: rsiBlockDurationMinutes :: Lens' RequestSpotInstances (Maybe Int)
- Network.AWS.EC2.RequestSpotInstances: rsiClientToken :: Lens' RequestSpotInstances (Maybe Text)
- Network.AWS.EC2.RequestSpotInstances: rsiDryRun :: Lens' RequestSpotInstances (Maybe Bool)
- Network.AWS.EC2.RequestSpotInstances: rsiInstanceCount :: Lens' RequestSpotInstances (Maybe Int)
- Network.AWS.EC2.RequestSpotInstances: rsiLaunchGroup :: Lens' RequestSpotInstances (Maybe Text)
- Network.AWS.EC2.RequestSpotInstances: rsiLaunchSpecification :: Lens' RequestSpotInstances (Maybe RequestSpotLaunchSpecification)
- Network.AWS.EC2.RequestSpotInstances: rsiSpotPrice :: Lens' RequestSpotInstances Text
- Network.AWS.EC2.RequestSpotInstances: rsiType :: Lens' RequestSpotInstances (Maybe SpotInstanceType)
- Network.AWS.EC2.RequestSpotInstances: rsiValidFrom :: Lens' RequestSpotInstances (Maybe UTCTime)
- Network.AWS.EC2.RequestSpotInstances: rsiValidUntil :: Lens' RequestSpotInstances (Maybe UTCTime)
- Network.AWS.EC2.Types: Attached :: AttachmentStatus
- Network.AWS.EC2.Types: Attaching :: AttachmentStatus
- Network.AWS.EC2.Types: Busy :: AttachmentStatus
- Network.AWS.EC2.Types: Detached :: AttachmentStatus
- Network.AWS.EC2.Types: Detaching :: AttachmentStatus
- Network.AWS.EC2.Types: VASAttached :: VolumeAttachmentState
- Network.AWS.EC2.Types: VASAttaching :: VolumeAttachmentState
- Network.AWS.EC2.Types: VASBusy :: VolumeAttachmentState
- Network.AWS.EC2.Types: VASDetached :: VolumeAttachmentState
- Network.AWS.EC2.Types: VASDetaching :: VolumeAttachmentState
- Network.AWS.EC2.Types: eC2 :: Service
+ Network.AWS.EC2: AAttached :: AttachmentStatus
+ Network.AWS.EC2: AAttaching :: AttachmentStatus
+ Network.AWS.EC2: AAvailable :: AttachmentStatus
+ Network.AWS.EC2: ABusy :: AttachmentStatus
+ Network.AWS.EC2: ADetached :: AttachmentStatus
+ Network.AWS.EC2: ADetaching :: AttachmentStatus
+ Network.AWS.EC2: DeleteTag :: !Text -> !(Maybe Text) -> DeleteTag
+ Network.AWS.EC2: G2_8XLarge :: InstanceType
+ Network.AWS.EC2: Scheduled :: InstanceLifecycleType
+ Network.AWS.EC2: T2_Nano :: InstanceType
+ Network.AWS.EC2: VAttached :: VolumeAttachmentState
+ Network.AWS.EC2: VAttaching :: VolumeAttachmentState
+ Network.AWS.EC2: VBusy :: VolumeAttachmentState
+ Network.AWS.EC2: VDetached :: VolumeAttachmentState
+ Network.AWS.EC2: VDetaching :: VolumeAttachmentState
+ Network.AWS.EC2: [_deleteTagKey] :: DeleteTag -> !Text
+ Network.AWS.EC2: [_deleteTagValue] :: DeleteTag -> !(Maybe Text)
+ Network.AWS.EC2: classicLinkDNSSupport :: ClassicLinkDNSSupport
+ Network.AWS.EC2: cldsClassicLinkDNSSupported :: Lens' ClassicLinkDNSSupport (Maybe Bool)
+ Network.AWS.EC2: cldsVPCId :: Lens' ClassicLinkDNSSupport (Maybe Text)
+ Network.AWS.EC2: data ClassicLinkDNSSupport
+ Network.AWS.EC2: data DeleteTag
+ Network.AWS.EC2: data PurchaseRequest
+ Network.AWS.EC2: data ScheduledInstance
+ Network.AWS.EC2: data ScheduledInstanceAvailability
+ Network.AWS.EC2: data ScheduledInstanceRecurrence
+ Network.AWS.EC2: data ScheduledInstanceRecurrenceRequest
+ Network.AWS.EC2: data ScheduledInstancesBlockDeviceMapping
+ Network.AWS.EC2: data ScheduledInstancesEBS
+ Network.AWS.EC2: data ScheduledInstancesIAMInstanceProfile
+ Network.AWS.EC2: data ScheduledInstancesLaunchSpecification
+ Network.AWS.EC2: data ScheduledInstancesMonitoring
+ Network.AWS.EC2: data ScheduledInstancesNetworkInterface
+ Network.AWS.EC2: data ScheduledInstancesPlacement
+ Network.AWS.EC2: data ScheduledInstancesPrivateIPAddressConfig
+ Network.AWS.EC2: data SlotDateTimeRangeRequest
+ Network.AWS.EC2: data SlotStartTimeRangeRequest
+ Network.AWS.EC2: deleteTag :: Text -> DeleteTag
+ Network.AWS.EC2: deleteTagKey :: Lens' DeleteTag Text
+ Network.AWS.EC2: deleteTagValue :: Lens' DeleteTag (Maybe Text)
+ Network.AWS.EC2: ec2 :: Service
+ Network.AWS.EC2: natGatewayAvailable :: Wait DescribeNatGateways
+ Network.AWS.EC2: networkInterfaceAvailable :: Wait DescribeNetworkInterfaces
+ Network.AWS.EC2: prInstanceCount :: Lens' PurchaseRequest Int
+ Network.AWS.EC2: prPurchaseToken :: Lens' PurchaseRequest Text
+ Network.AWS.EC2: purchaseRequest :: Text -> Int -> PurchaseRequest
+ Network.AWS.EC2: scheduledInstance :: ScheduledInstance
+ Network.AWS.EC2: scheduledInstanceAvailability :: ScheduledInstanceAvailability
+ Network.AWS.EC2: scheduledInstanceRecurrence :: ScheduledInstanceRecurrence
+ Network.AWS.EC2: scheduledInstanceRecurrenceRequest :: ScheduledInstanceRecurrenceRequest
+ Network.AWS.EC2: scheduledInstancesBlockDeviceMapping :: ScheduledInstancesBlockDeviceMapping
+ Network.AWS.EC2: scheduledInstancesEBS :: ScheduledInstancesEBS
+ Network.AWS.EC2: scheduledInstancesIAMInstanceProfile :: ScheduledInstancesIAMInstanceProfile
+ Network.AWS.EC2: scheduledInstancesLaunchSpecification :: Text -> ScheduledInstancesLaunchSpecification
+ Network.AWS.EC2: scheduledInstancesMonitoring :: ScheduledInstancesMonitoring
+ Network.AWS.EC2: scheduledInstancesNetworkInterface :: ScheduledInstancesNetworkInterface
+ Network.AWS.EC2: scheduledInstancesPlacement :: ScheduledInstancesPlacement
+ Network.AWS.EC2: scheduledInstancesPrivateIPAddressConfig :: ScheduledInstancesPrivateIPAddressConfig
+ Network.AWS.EC2: sdtrrEarliestTime :: Lens' SlotDateTimeRangeRequest UTCTime
+ Network.AWS.EC2: sdtrrLatestTime :: Lens' SlotDateTimeRangeRequest UTCTime
+ Network.AWS.EC2: siAvailabilityZone :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2: siCreateDate :: Lens' ScheduledInstance (Maybe UTCTime)
+ Network.AWS.EC2: siHourlyPrice :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2: siInstanceCount :: Lens' ScheduledInstance (Maybe Int)
+ Network.AWS.EC2: siInstanceType :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2: siNetworkPlatform :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2: siNextSlotStartTime :: Lens' ScheduledInstance (Maybe UTCTime)
+ Network.AWS.EC2: siPlatform :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2: siPreviousSlotEndTime :: Lens' ScheduledInstance (Maybe UTCTime)
+ Network.AWS.EC2: siRecurrence :: Lens' ScheduledInstance (Maybe ScheduledInstanceRecurrence)
+ Network.AWS.EC2: siScheduledInstanceId :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2: siSlotDurationInHours :: Lens' ScheduledInstance (Maybe Int)
+ Network.AWS.EC2: siTermEndDate :: Lens' ScheduledInstance (Maybe UTCTime)
+ Network.AWS.EC2: siTermStartDate :: Lens' ScheduledInstance (Maybe UTCTime)
+ Network.AWS.EC2: siTotalScheduledInstanceHours :: Lens' ScheduledInstance (Maybe Int)
+ Network.AWS.EC2: siaAvailabilityZone :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2: siaAvailableInstanceCount :: Lens' ScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2: siaFirstSlotStartTime :: Lens' ScheduledInstanceAvailability (Maybe UTCTime)
+ Network.AWS.EC2: siaHourlyPrice :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2: siaInstanceType :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2: siaMaxTermDurationInDays :: Lens' ScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2: siaMinTermDurationInDays :: Lens' ScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2: siaNetworkPlatform :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2: siaPlatform :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2: siaPurchaseToken :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2: siaRecurrence :: Lens' ScheduledInstanceAvailability (Maybe ScheduledInstanceRecurrence)
+ Network.AWS.EC2: siaSlotDurationInHours :: Lens' ScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2: siaTotalScheduledInstanceHours :: Lens' ScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2: sibdmDeviceName :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe Text)
+ Network.AWS.EC2: sibdmEBS :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe ScheduledInstancesEBS)
+ Network.AWS.EC2: sibdmNoDevice :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe Text)
+ Network.AWS.EC2: sibdmVirtualName :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe Text)
+ Network.AWS.EC2: sieDeleteOnTermination :: Lens' ScheduledInstancesEBS (Maybe Bool)
+ Network.AWS.EC2: sieEncrypted :: Lens' ScheduledInstancesEBS (Maybe Bool)
+ Network.AWS.EC2: sieIOPS :: Lens' ScheduledInstancesEBS (Maybe Int)
+ Network.AWS.EC2: sieSnapshotId :: Lens' ScheduledInstancesEBS (Maybe Text)
+ Network.AWS.EC2: sieVolumeSize :: Lens' ScheduledInstancesEBS (Maybe Int)
+ Network.AWS.EC2: sieVolumeType :: Lens' ScheduledInstancesEBS (Maybe Text)
+ Network.AWS.EC2: siiapARN :: Lens' ScheduledInstancesIAMInstanceProfile (Maybe Text)
+ Network.AWS.EC2: siiapName :: Lens' ScheduledInstancesIAMInstanceProfile (Maybe Text)
+ Network.AWS.EC2: silsBlockDeviceMappings :: Lens' ScheduledInstancesLaunchSpecification [ScheduledInstancesBlockDeviceMapping]
+ Network.AWS.EC2: silsEBSOptimized :: Lens' ScheduledInstancesLaunchSpecification (Maybe Bool)
+ Network.AWS.EC2: silsIAMInstanceProfile :: Lens' ScheduledInstancesLaunchSpecification (Maybe ScheduledInstancesIAMInstanceProfile)
+ Network.AWS.EC2: silsImageId :: Lens' ScheduledInstancesLaunchSpecification Text
+ Network.AWS.EC2: silsInstanceType :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: silsKernelId :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: silsKeyName :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: silsMonitoring :: Lens' ScheduledInstancesLaunchSpecification (Maybe ScheduledInstancesMonitoring)
+ Network.AWS.EC2: silsNetworkInterfaces :: Lens' ScheduledInstancesLaunchSpecification [ScheduledInstancesNetworkInterface]
+ Network.AWS.EC2: silsPlacement :: Lens' ScheduledInstancesLaunchSpecification (Maybe ScheduledInstancesPlacement)
+ Network.AWS.EC2: silsRAMDiskId :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: silsSecurityGroupIds :: Lens' ScheduledInstancesLaunchSpecification [Text]
+ Network.AWS.EC2: silsSubnetId :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: silsUserData :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: simEnabled :: Lens' ScheduledInstancesMonitoring (Maybe Bool)
+ Network.AWS.EC2: siniAssociatePublicIPAddress :: Lens' ScheduledInstancesNetworkInterface (Maybe Bool)
+ Network.AWS.EC2: siniDeleteOnTermination :: Lens' ScheduledInstancesNetworkInterface (Maybe Bool)
+ Network.AWS.EC2: siniDescription :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)
+ Network.AWS.EC2: siniDeviceIndex :: Lens' ScheduledInstancesNetworkInterface (Maybe Int)
+ Network.AWS.EC2: siniGroups :: Lens' ScheduledInstancesNetworkInterface [Text]
+ Network.AWS.EC2: siniNetworkInterfaceId :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)
+ Network.AWS.EC2: siniPrivateIPAddress :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)
+ Network.AWS.EC2: siniPrivateIPAddressConfigs :: Lens' ScheduledInstancesNetworkInterface [ScheduledInstancesPrivateIPAddressConfig]
+ Network.AWS.EC2: siniSecondaryPrivateIPAddressCount :: Lens' ScheduledInstancesNetworkInterface (Maybe Int)
+ Network.AWS.EC2: siniSubnetId :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)
+ Network.AWS.EC2: sipAvailabilityZone :: Lens' ScheduledInstancesPlacement (Maybe Text)
+ Network.AWS.EC2: sipGroupName :: Lens' ScheduledInstancesPlacement (Maybe Text)
+ Network.AWS.EC2: sipiacPrimary :: Lens' ScheduledInstancesPrivateIPAddressConfig (Maybe Bool)
+ Network.AWS.EC2: sipiacPrivateIPAddress :: Lens' ScheduledInstancesPrivateIPAddressConfig (Maybe Text)
+ Network.AWS.EC2: sirFrequency :: Lens' ScheduledInstanceRecurrence (Maybe Text)
+ Network.AWS.EC2: sirInterval :: Lens' ScheduledInstanceRecurrence (Maybe Int)
+ Network.AWS.EC2: sirOccurrenceDaySet :: Lens' ScheduledInstanceRecurrence [Int]
+ Network.AWS.EC2: sirOccurrenceRelativeToEnd :: Lens' ScheduledInstanceRecurrence (Maybe Bool)
+ Network.AWS.EC2: sirOccurrenceUnit :: Lens' ScheduledInstanceRecurrence (Maybe Text)
+ Network.AWS.EC2: sirrFrequency :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Text)
+ Network.AWS.EC2: sirrInterval :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Int)
+ Network.AWS.EC2: sirrOccurrenceDays :: Lens' ScheduledInstanceRecurrenceRequest [Int]
+ Network.AWS.EC2: sirrOccurrenceRelativeToEnd :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Bool)
+ Network.AWS.EC2: sirrOccurrenceUnit :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Text)
+ Network.AWS.EC2: slotDateTimeRangeRequest :: UTCTime -> UTCTime -> SlotDateTimeRangeRequest
+ Network.AWS.EC2: slotStartTimeRangeRequest :: SlotStartTimeRangeRequest
+ Network.AWS.EC2: sstrrEarliestTime :: Lens' SlotStartTimeRangeRequest (Maybe UTCTime)
+ Network.AWS.EC2: sstrrLatestTime :: Lens' SlotStartTimeRangeRequest (Maybe UTCTime)
+ Network.AWS.EC2: uigpPeeringStatus :: Lens' UserIdGroupPair (Maybe Text)
+ Network.AWS.EC2: uigpVPCId :: Lens' UserIdGroupPair (Maybe Text)
+ Network.AWS.EC2: uigpVPCPeeringConnectionId :: Lens' UserIdGroupPair (Maybe Text)
+ Network.AWS.EC2: vpcPeeringConnectionExists :: Wait DescribeVPCPeeringConnections
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AcceptVPCPeeringConnection.AcceptVPCPeeringConnection
+ Network.AWS.EC2.AllocateAddress: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AllocateAddress.AllocateAddress
+ Network.AWS.EC2.AllocateHosts: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AllocateHosts.AllocateHosts
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AssignPrivateIPAddresses.AssignPrivateIPAddresses
+ Network.AWS.EC2.AssociateAddress: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AssociateAddress.AssociateAddress
+ Network.AWS.EC2.AssociateDHCPOptions: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AssociateDHCPOptions.AssociateDHCPOptions
+ Network.AWS.EC2.AssociateRouteTable: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AssociateRouteTable.AssociateRouteTable
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AttachClassicLinkVPC.AttachClassicLinkVPC
+ Network.AWS.EC2.AttachInternetGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AttachInternetGateway.AttachInternetGateway
+ Network.AWS.EC2.AttachNetworkInterface: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AttachNetworkInterface.AttachNetworkInterface
+ Network.AWS.EC2.AttachVPNGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AttachVPNGateway.AttachVPNGateway
+ Network.AWS.EC2.AttachVolume: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AttachVolume.AttachVolume
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AuthorizeSecurityGroupEgress.AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Data.Hashable.Class.Hashable Network.AWS.EC2.AuthorizeSecurityGroupIngress.AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.BundleInstance: instance Data.Hashable.Class.Hashable Network.AWS.EC2.BundleInstance.BundleInstance
+ Network.AWS.EC2.CancelBundleTask: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CancelBundleTask.CancelBundleTask
+ Network.AWS.EC2.CancelConversionTask: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CancelConversionTask.CancelConversionTask
+ Network.AWS.EC2.CancelExportTask: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CancelExportTask.CancelExportTask
+ Network.AWS.EC2.CancelImportTask: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CancelImportTask.CancelImportTask
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CancelReservedInstancesListing.CancelReservedInstancesListing
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CancelSpotFleetRequests.CancelSpotFleetRequests
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CancelSpotInstanceRequests.CancelSpotInstanceRequests
+ Network.AWS.EC2.ConfirmProductInstance: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ConfirmProductInstance.ConfirmProductInstance
+ Network.AWS.EC2.CopyImage: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CopyImage.CopyImage
+ Network.AWS.EC2.CopySnapshot: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CopySnapshot.CopySnapshot
+ Network.AWS.EC2.CreateCustomerGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateCustomerGateway.CreateCustomerGateway
+ Network.AWS.EC2.CreateDHCPOptions: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateDHCPOptions.CreateDHCPOptions
+ Network.AWS.EC2.CreateFlowLogs: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateFlowLogs.CreateFlowLogs
+ Network.AWS.EC2.CreateImage: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateImage.CreateImage
+ Network.AWS.EC2.CreateInstanceExportTask: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateInstanceExportTask.CreateInstanceExportTask
+ Network.AWS.EC2.CreateInternetGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateInternetGateway.CreateInternetGateway
+ Network.AWS.EC2.CreateKeyPair: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateKeyPair.CreateKeyPair
+ Network.AWS.EC2.CreateNatGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateNatGateway.CreateNatGateway
+ Network.AWS.EC2.CreateNetworkACL: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateNetworkACL.CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateNetworkACLEntry.CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkInterface: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateNetworkInterface.CreateNetworkInterface
+ Network.AWS.EC2.CreatePlacementGroup: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreatePlacementGroup.CreatePlacementGroup
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateReservedInstancesListing.CreateReservedInstancesListing
+ Network.AWS.EC2.CreateRoute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateRoute.CreateRoute
+ Network.AWS.EC2.CreateRouteTable: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateRouteTable.CreateRouteTable
+ Network.AWS.EC2.CreateSecurityGroup: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateSecurityGroup.CreateSecurityGroup
+ Network.AWS.EC2.CreateSnapshot: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateSnapshot.CreateSnapshot
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateSpotDatafeedSubscription.CreateSpotDatafeedSubscription
+ Network.AWS.EC2.CreateSubnet: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateSubnet.CreateSubnet
+ Network.AWS.EC2.CreateTags: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateTags.CreateTags
+ Network.AWS.EC2.CreateVPC: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateVPC.CreateVPC
+ Network.AWS.EC2.CreateVPCEndpoint: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateVPCEndpoint.CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateVPCPeeringConnection.CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateVPNConnection.CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateVPNConnectionRoute.CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateVPNGateway.CreateVPNGateway
+ Network.AWS.EC2.CreateVolume: instance Data.Hashable.Class.Hashable Network.AWS.EC2.CreateVolume.CreateVolume
+ Network.AWS.EC2.DeleteCustomerGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteCustomerGateway.DeleteCustomerGateway
+ Network.AWS.EC2.DeleteDHCPOptions: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteDHCPOptions.DeleteDHCPOptions
+ Network.AWS.EC2.DeleteFlowLogs: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteFlowLogs.DeleteFlowLogs
+ Network.AWS.EC2.DeleteInternetGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteInternetGateway.DeleteInternetGateway
+ Network.AWS.EC2.DeleteKeyPair: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteKeyPair.DeleteKeyPair
+ Network.AWS.EC2.DeleteNatGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteNatGateway.DeleteNatGateway
+ Network.AWS.EC2.DeleteNetworkACL: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteNetworkACL.DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteNetworkACLEntry.DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkInterface: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteNetworkInterface.DeleteNetworkInterface
+ Network.AWS.EC2.DeletePlacementGroup: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeletePlacementGroup.DeletePlacementGroup
+ Network.AWS.EC2.DeleteRoute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteRoute.DeleteRoute
+ Network.AWS.EC2.DeleteRouteTable: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteRouteTable.DeleteRouteTable
+ Network.AWS.EC2.DeleteSecurityGroup: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteSecurityGroup.DeleteSecurityGroup
+ Network.AWS.EC2.DeleteSnapshot: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteSnapshot.DeleteSnapshot
+ Network.AWS.EC2.DeleteSpotDatafeedSubscription: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteSpotDatafeedSubscription.DeleteSpotDatafeedSubscription
+ Network.AWS.EC2.DeleteSubnet: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteSubnet.DeleteSubnet
+ Network.AWS.EC2.DeleteTags: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteTags.DeleteTags
+ Network.AWS.EC2.DeleteVPC: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteVPC.DeleteVPC
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteVPCEndpoints.DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteVPCPeeringConnection.DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteVPNConnection.DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteVPNConnectionRoute.DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteVPNGateway.DeleteVPNGateway
+ Network.AWS.EC2.DeleteVolume: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeleteVolume.DeleteVolume
+ Network.AWS.EC2.DeregisterImage: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DeregisterImage.DeregisterImage
+ Network.AWS.EC2.DescribeAccountAttributes: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeAccountAttributes.DescribeAccountAttributes
+ Network.AWS.EC2.DescribeAddresses: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeAddresses.DescribeAddresses
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeAvailabilityZones.DescribeAvailabilityZones
+ Network.AWS.EC2.DescribeBundleTasks: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeBundleTasks.DescribeBundleTasks
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeClassicLinkInstances.DescribeClassicLinkInstances
+ Network.AWS.EC2.DescribeConversionTasks: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeConversionTasks.DescribeConversionTasks
+ Network.AWS.EC2.DescribeCustomerGateways: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeCustomerGateways.DescribeCustomerGateways
+ Network.AWS.EC2.DescribeDHCPOptions: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeDHCPOptions.DescribeDHCPOptions
+ Network.AWS.EC2.DescribeExportTasks: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeExportTasks.DescribeExportTasks
+ Network.AWS.EC2.DescribeFlowLogs: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeFlowLogs.DescribeFlowLogs
+ Network.AWS.EC2.DescribeHosts: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeHosts.DescribeHosts
+ Network.AWS.EC2.DescribeIdFormat: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeIdFormat.DescribeIdFormat
+ Network.AWS.EC2.DescribeImageAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeImageAttribute.DescribeImageAttribute
+ Network.AWS.EC2.DescribeImages: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeImages.DescribeImages
+ Network.AWS.EC2.DescribeImportImageTasks: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeImportImageTasks.DescribeImportImageTasks
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeImportSnapshotTasks.DescribeImportSnapshotTasks
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeInstanceAttribute.DescribeInstanceAttribute
+ Network.AWS.EC2.DescribeInstanceStatus: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeInstanceStatus.DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeInstances.DescribeInstances
+ Network.AWS.EC2.DescribeInternetGateways: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeInternetGateways.DescribeInternetGateways
+ Network.AWS.EC2.DescribeKeyPairs: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeKeyPairs.DescribeKeyPairs
+ Network.AWS.EC2.DescribeMovingAddresses: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeMovingAddresses.DescribeMovingAddresses
+ Network.AWS.EC2.DescribeNatGateways: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeNatGateways.DescribeNatGateways
+ Network.AWS.EC2.DescribeNetworkACLs: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeNetworkACLs.DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeNetworkInterfaceAttribute.DescribeNetworkInterfaceAttribute
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeNetworkInterfaces.DescribeNetworkInterfaces
+ Network.AWS.EC2.DescribePlacementGroups: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribePlacementGroups.DescribePlacementGroups
+ Network.AWS.EC2.DescribePrefixLists: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribePrefixLists.DescribePrefixLists
+ Network.AWS.EC2.DescribeRegions: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeRegions.DescribeRegions
+ Network.AWS.EC2.DescribeReservedInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeReservedInstances.DescribeReservedInstances
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeReservedInstancesListings.DescribeReservedInstancesListings
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeReservedInstancesModifications.DescribeReservedInstancesModifications
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeReservedInstancesOfferings.DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeRouteTables: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeRouteTables.DescribeRouteTables
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: data DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: data DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: describeScheduledInstanceAvailability :: ScheduledInstanceRecurrenceRequest -> SlotDateTimeRangeRequest -> DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: describeScheduledInstanceAvailabilityResponse :: Int -> DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: dsiaDryRun :: Lens' DescribeScheduledInstanceAvailability (Maybe Bool)
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: dsiaFilters :: Lens' DescribeScheduledInstanceAvailability [Filter]
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: dsiaFirstSlotStartTimeRange :: Lens' DescribeScheduledInstanceAvailability SlotDateTimeRangeRequest
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: dsiaMaxResults :: Lens' DescribeScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: dsiaMaxSlotDurationInHours :: Lens' DescribeScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: dsiaMinSlotDurationInHours :: Lens' DescribeScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: dsiaNextToken :: Lens' DescribeScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: dsiaRecurrence :: Lens' DescribeScheduledInstanceAvailability ScheduledInstanceRecurrenceRequest
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: dsiarsNextToken :: Lens' DescribeScheduledInstanceAvailabilityResponse (Maybe Text)
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: dsiarsResponseStatus :: Lens' DescribeScheduledInstanceAvailabilityResponse Int
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: dsiarsScheduledInstanceAvailabilitySet :: Lens' DescribeScheduledInstanceAvailabilityResponse [ScheduledInstanceAvailability]
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance Data.Data.Data Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance Data.Data.Data Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Classes.Eq Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Classes.Eq Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Constructor Network.AWS.EC2.DescribeScheduledInstanceAvailability.C1_0DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Constructor Network.AWS.EC2.DescribeScheduledInstanceAvailability.C1_0DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Datatype Network.AWS.EC2.DescribeScheduledInstanceAvailability.D1DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Datatype Network.AWS.EC2.DescribeScheduledInstanceAvailability.D1DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Generic Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Generic Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstanceAvailability.S1_0_0DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstanceAvailability.S1_0_0DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstanceAvailability.S1_0_1DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstanceAvailability.S1_0_1DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstanceAvailability.S1_0_2DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstanceAvailability.S1_0_2DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstanceAvailability.S1_0_3DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstanceAvailability.S1_0_4DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstanceAvailability.S1_0_5DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstanceAvailability.S1_0_6DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstanceAvailability.S1_0_7DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Read.Read Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Read.Read Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Show.Show Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance GHC.Show.Show Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailabilityResponse
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance Network.AWS.Data.Path.ToPath Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance Network.AWS.Data.Query.ToQuery Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstanceAvailability: instance Network.AWS.Types.AWSRequest Network.AWS.EC2.DescribeScheduledInstanceAvailability.DescribeScheduledInstanceAvailability
+ Network.AWS.EC2.DescribeScheduledInstances: data DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: data DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: describeScheduledInstances :: DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: describeScheduledInstancesResponse :: Int -> DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: dsiDryRun :: Lens' DescribeScheduledInstances (Maybe Bool)
+ Network.AWS.EC2.DescribeScheduledInstances: dsiFilters :: Lens' DescribeScheduledInstances [Filter]
+ Network.AWS.EC2.DescribeScheduledInstances: dsiMaxResults :: Lens' DescribeScheduledInstances (Maybe Int)
+ Network.AWS.EC2.DescribeScheduledInstances: dsiNextToken :: Lens' DescribeScheduledInstances (Maybe Text)
+ Network.AWS.EC2.DescribeScheduledInstances: dsiScheduledInstanceIds :: Lens' DescribeScheduledInstances [Text]
+ Network.AWS.EC2.DescribeScheduledInstances: dsiSlotStartTimeRange :: Lens' DescribeScheduledInstances (Maybe SlotStartTimeRangeRequest)
+ Network.AWS.EC2.DescribeScheduledInstances: dsirsNextToken :: Lens' DescribeScheduledInstancesResponse (Maybe Text)
+ Network.AWS.EC2.DescribeScheduledInstances: dsirsResponseStatus :: Lens' DescribeScheduledInstancesResponse Int
+ Network.AWS.EC2.DescribeScheduledInstances: dsirsScheduledInstanceSet :: Lens' DescribeScheduledInstancesResponse [ScheduledInstance]
+ Network.AWS.EC2.DescribeScheduledInstances: instance Data.Data.Data Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance Data.Data.Data Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Classes.Eq Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Classes.Eq Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Constructor Network.AWS.EC2.DescribeScheduledInstances.C1_0DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Constructor Network.AWS.EC2.DescribeScheduledInstances.C1_0DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Datatype Network.AWS.EC2.DescribeScheduledInstances.D1DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Datatype Network.AWS.EC2.DescribeScheduledInstances.D1DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Generic Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Generic Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstances.S1_0_0DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstances.S1_0_0DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstances.S1_0_1DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstances.S1_0_1DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstances.S1_0_2DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstances.S1_0_2DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstances.S1_0_3DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstances.S1_0_4DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.DescribeScheduledInstances.S1_0_5DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Read.Read Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Read.Read Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Show.Show Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance GHC.Show.Show Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstancesResponse
+ Network.AWS.EC2.DescribeScheduledInstances: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance Network.AWS.Data.Path.ToPath Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance Network.AWS.Data.Query.ToQuery Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstances
+ Network.AWS.EC2.DescribeScheduledInstances: instance Network.AWS.Types.AWSRequest Network.AWS.EC2.DescribeScheduledInstances.DescribeScheduledInstances
+ Network.AWS.EC2.DescribeSecurityGroups: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeSecurityGroups.DescribeSecurityGroups
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeSnapshotAttribute.DescribeSnapshotAttribute
+ Network.AWS.EC2.DescribeSnapshots: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeSnapshots.DescribeSnapshots
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeSpotDatafeedSubscription.DescribeSpotDatafeedSubscription
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeSpotFleetInstances.DescribeSpotFleetInstances
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeSpotFleetRequestHistory.DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeSpotFleetRequests.DescribeSpotFleetRequests
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeSpotInstanceRequests.DescribeSpotInstanceRequests
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeSpotPriceHistory.DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSubnets: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeSubnets.DescribeSubnets
+ Network.AWS.EC2.DescribeTags: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeTags.DescribeTags
+ Network.AWS.EC2.DescribeVPCAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVPCAttribute.DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVPCClassicLink.DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: data DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: data DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: describeVPCClassicLinkDNSSupport :: DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: describeVPCClassicLinkDNSSupportResponse :: Int -> DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: dvcldsMaxResults :: Lens' DescribeVPCClassicLinkDNSSupport (Maybe Natural)
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: dvcldsNextToken :: Lens' DescribeVPCClassicLinkDNSSupport (Maybe Text)
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: dvcldsVPCIds :: Lens' DescribeVPCClassicLinkDNSSupport [Text]
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: dvpccldnssrsNextToken :: Lens' DescribeVPCClassicLinkDNSSupportResponse (Maybe Text)
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: dvpccldnssrsResponseStatus :: Lens' DescribeVPCClassicLinkDNSSupportResponse Int
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: dvpccldnssrsVPCs :: Lens' DescribeVPCClassicLinkDNSSupportResponse [ClassicLinkDNSSupport]
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance Data.Data.Data Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance Data.Data.Data Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Classes.Eq Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Classes.Eq Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Constructor Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.C1_0DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Constructor Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.C1_0DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Datatype Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.D1DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Datatype Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.D1DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Generic Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Generic Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.S1_0_0DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.S1_0_0DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.S1_0_1DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.S1_0_1DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.S1_0_2DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.S1_0_2DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Read.Read Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Read.Read Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Show.Show Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance GHC.Show.Show Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance Network.AWS.Data.Path.ToPath Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance Network.AWS.Data.Query.ToQuery Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport: instance Network.AWS.Types.AWSRequest Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport.DescribeVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVPCEndpointServices.DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVPCEndpoints.DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVPCPeeringConnections.DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCs: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVPCs.DescribeVPCs
+ Network.AWS.EC2.DescribeVPNConnections: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVPNConnections.DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNGateways: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVPNGateways.DescribeVPNGateways
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVolumeAttribute.DescribeVolumeAttribute
+ Network.AWS.EC2.DescribeVolumeStatus: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVolumeStatus.DescribeVolumeStatus
+ Network.AWS.EC2.DescribeVolumes: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DescribeVolumes.DescribeVolumes
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DetachClassicLinkVPC.DetachClassicLinkVPC
+ Network.AWS.EC2.DetachInternetGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DetachInternetGateway.DetachInternetGateway
+ Network.AWS.EC2.DetachNetworkInterface: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DetachNetworkInterface.DetachNetworkInterface
+ Network.AWS.EC2.DetachVPNGateway: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DetachVPNGateway.DetachVPNGateway
+ Network.AWS.EC2.DetachVolume: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DetachVolume.DetachVolume
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DisableVGWRoutePropagation.DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVPCClassicLink: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DisableVPCClassicLink.DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: data DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: data DisableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: disableVPCClassicLinkDNSSupport :: DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: disableVPCClassicLinkDNSSupportResponse :: Int -> DisableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: dvcldsVPCId :: Lens' DisableVPCClassicLinkDNSSupport (Maybe Text)
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: dvcldsrsResponseStatus :: Lens' DisableVPCClassicLinkDNSSupportResponse Int
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: dvcldsrsReturn :: Lens' DisableVPCClassicLinkDNSSupportResponse (Maybe Bool)
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance Data.Data.Data Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance Data.Data.Data Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Classes.Eq Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Classes.Eq Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Generics.Constructor Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.C1_0DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Generics.Constructor Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.C1_0DisableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Generics.Datatype Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.D1DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Generics.Datatype Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.D1DisableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Generics.Generic Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Generics.Generic Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.S1_0_0DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.S1_0_0DisableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.S1_0_1DisableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Read.Read Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Read.Read Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Show.Show Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance GHC.Show.Show Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance Network.AWS.Data.Path.ToPath Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance Network.AWS.Data.Query.ToQuery Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisableVPCClassicLinkDNSSupport: instance Network.AWS.Types.AWSRequest Network.AWS.EC2.DisableVPCClassicLinkDNSSupport.DisableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.DisassociateAddress: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DisassociateAddress.DisassociateAddress
+ Network.AWS.EC2.DisassociateRouteTable: instance Data.Hashable.Class.Hashable Network.AWS.EC2.DisassociateRouteTable.DisassociateRouteTable
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Data.Hashable.Class.Hashable Network.AWS.EC2.EnableVGWRoutePropagation.EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVPCClassicLink: instance Data.Hashable.Class.Hashable Network.AWS.EC2.EnableVPCClassicLink.EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: data EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: data EnableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: enableVPCClassicLinkDNSSupport :: EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: enableVPCClassicLinkDNSSupportResponse :: Int -> EnableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: evcldsVPCId :: Lens' EnableVPCClassicLinkDNSSupport (Maybe Text)
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: evcldsrsResponseStatus :: Lens' EnableVPCClassicLinkDNSSupportResponse Int
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: evcldsrsReturn :: Lens' EnableVPCClassicLinkDNSSupportResponse (Maybe Bool)
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance Data.Data.Data Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance Data.Data.Data Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance Data.Hashable.Class.Hashable Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Classes.Eq Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Classes.Eq Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Generics.Constructor Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.C1_0EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Generics.Constructor Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.C1_0EnableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Generics.Datatype Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.D1EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Generics.Datatype Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.D1EnableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Generics.Generic Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Generics.Generic Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.S1_0_0EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.S1_0_0EnableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Generics.Selector Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.S1_0_1EnableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Read.Read Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Read.Read Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Show.Show Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance GHC.Show.Show Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupportResponse
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance Network.AWS.Data.Path.ToPath Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance Network.AWS.Data.Query.ToQuery Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVPCClassicLinkDNSSupport: instance Network.AWS.Types.AWSRequest Network.AWS.EC2.EnableVPCClassicLinkDNSSupport.EnableVPCClassicLinkDNSSupport
+ Network.AWS.EC2.EnableVolumeIO: instance Data.Hashable.Class.Hashable Network.AWS.EC2.EnableVolumeIO.EnableVolumeIO
+ Network.AWS.EC2.GetConsoleOutput: instance Data.Hashable.Class.Hashable Network.AWS.EC2.GetConsoleOutput.GetConsoleOutput
+ Network.AWS.EC2.GetPasswordData: instance Data.Hashable.Class.Hashable Network.AWS.EC2.GetPasswordData.GetPasswordData
+ Network.AWS.EC2.ImportImage: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ImportImage.ImportImage
+ Network.AWS.EC2.ImportInstance: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ImportInstance.ImportInstance
+ Network.AWS.EC2.ImportKeyPair: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ImportKeyPair.ImportKeyPair
+ Network.AWS.EC2.ImportSnapshot: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ImportSnapshot.ImportSnapshot
+ Network.AWS.EC2.ImportVolume: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ImportVolume.ImportVolume
+ Network.AWS.EC2.ModifyHosts: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifyHosts.ModifyHosts
+ Network.AWS.EC2.ModifyIdFormat: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifyIdFormat.ModifyIdFormat
+ Network.AWS.EC2.ModifyImageAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifyImageAttribute.ModifyImageAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifyInstanceAttribute.ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstancePlacement: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifyInstancePlacement.ModifyInstancePlacement
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifyNetworkInterfaceAttribute.ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyReservedInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifyReservedInstances.ModifyReservedInstances
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifySnapshotAttribute.ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySpotFleetRequest: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifySpotFleetRequest.ModifySpotFleetRequest
+ Network.AWS.EC2.ModifySubnetAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifySubnetAttribute.ModifySubnetAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifyVPCAttribute.ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifyVPCEndpoint.ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVolumeAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ModifyVolumeAttribute.ModifyVolumeAttribute
+ Network.AWS.EC2.MonitorInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.MonitorInstances.MonitorInstances
+ Network.AWS.EC2.MoveAddressToVPC: instance Data.Hashable.Class.Hashable Network.AWS.EC2.MoveAddressToVPC.MoveAddressToVPC
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Data.Hashable.Class.Hashable Network.AWS.EC2.PurchaseReservedInstancesOffering.PurchaseReservedInstancesOffering
+ Network.AWS.EC2.PurchaseScheduledInstances: data PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: data PurchaseScheduledInstancesResponse
+ Network.AWS.EC2.PurchaseScheduledInstances: instance Data.Data.Data Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance Data.Data.Data Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstancesResponse
+ Network.AWS.EC2.PurchaseScheduledInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Classes.Eq Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Classes.Eq Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstancesResponse
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Generics.Constructor Network.AWS.EC2.PurchaseScheduledInstances.C1_0PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Generics.Constructor Network.AWS.EC2.PurchaseScheduledInstances.C1_0PurchaseScheduledInstancesResponse
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Generics.Datatype Network.AWS.EC2.PurchaseScheduledInstances.D1PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Generics.Datatype Network.AWS.EC2.PurchaseScheduledInstances.D1PurchaseScheduledInstancesResponse
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Generics.Generic Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Generics.Generic Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstancesResponse
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.PurchaseScheduledInstances.S1_0_0PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.PurchaseScheduledInstances.S1_0_0PurchaseScheduledInstancesResponse
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.PurchaseScheduledInstances.S1_0_1PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.PurchaseScheduledInstances.S1_0_1PurchaseScheduledInstancesResponse
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.PurchaseScheduledInstances.S1_0_2PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Read.Read Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Read.Read Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstancesResponse
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Show.Show Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance GHC.Show.Show Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstancesResponse
+ Network.AWS.EC2.PurchaseScheduledInstances: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance Network.AWS.Data.Path.ToPath Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance Network.AWS.Data.Query.ToQuery Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: instance Network.AWS.Types.AWSRequest Network.AWS.EC2.PurchaseScheduledInstances.PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: psiClientToken :: Lens' PurchaseScheduledInstances (Maybe Text)
+ Network.AWS.EC2.PurchaseScheduledInstances: psiDryRun :: Lens' PurchaseScheduledInstances (Maybe Bool)
+ Network.AWS.EC2.PurchaseScheduledInstances: psiPurchaseRequests :: Lens' PurchaseScheduledInstances (NonEmpty PurchaseRequest)
+ Network.AWS.EC2.PurchaseScheduledInstances: psirsResponseStatus :: Lens' PurchaseScheduledInstancesResponse Int
+ Network.AWS.EC2.PurchaseScheduledInstances: psirsScheduledInstanceSet :: Lens' PurchaseScheduledInstancesResponse [ScheduledInstance]
+ Network.AWS.EC2.PurchaseScheduledInstances: purchaseScheduledInstances :: NonEmpty PurchaseRequest -> PurchaseScheduledInstances
+ Network.AWS.EC2.PurchaseScheduledInstances: purchaseScheduledInstancesResponse :: Int -> PurchaseScheduledInstancesResponse
+ Network.AWS.EC2.RebootInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.RebootInstances.RebootInstances
+ Network.AWS.EC2.RegisterImage: instance Data.Hashable.Class.Hashable Network.AWS.EC2.RegisterImage.RegisterImage
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Data.Hashable.Class.Hashable Network.AWS.EC2.RejectVPCPeeringConnection.RejectVPCPeeringConnection
+ Network.AWS.EC2.ReleaseAddress: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ReleaseAddress.ReleaseAddress
+ Network.AWS.EC2.ReleaseHosts: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ReleaseHosts.ReleaseHosts
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ReplaceNetworkACLAssociation.ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ReplaceNetworkACLEntry.ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceRoute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ReplaceRoute.ReplaceRoute
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ReplaceRouteTableAssociation.ReplaceRouteTableAssociation
+ Network.AWS.EC2.ReportInstanceStatus: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ReportInstanceStatus.ReportInstanceStatus
+ Network.AWS.EC2.RequestSpotFleet: instance Data.Hashable.Class.Hashable Network.AWS.EC2.RequestSpotFleet.RequestSpotFleet
+ Network.AWS.EC2.RequestSpotInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.RequestSpotInstances.RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: rsisAvailabilityZoneGroup :: Lens' RequestSpotInstances (Maybe Text)
+ Network.AWS.EC2.RequestSpotInstances: rsisBlockDurationMinutes :: Lens' RequestSpotInstances (Maybe Int)
+ Network.AWS.EC2.RequestSpotInstances: rsisClientToken :: Lens' RequestSpotInstances (Maybe Text)
+ Network.AWS.EC2.RequestSpotInstances: rsisDryRun :: Lens' RequestSpotInstances (Maybe Bool)
+ Network.AWS.EC2.RequestSpotInstances: rsisInstanceCount :: Lens' RequestSpotInstances (Maybe Int)
+ Network.AWS.EC2.RequestSpotInstances: rsisLaunchGroup :: Lens' RequestSpotInstances (Maybe Text)
+ Network.AWS.EC2.RequestSpotInstances: rsisLaunchSpecification :: Lens' RequestSpotInstances (Maybe RequestSpotLaunchSpecification)
+ Network.AWS.EC2.RequestSpotInstances: rsisSpotPrice :: Lens' RequestSpotInstances Text
+ Network.AWS.EC2.RequestSpotInstances: rsisType :: Lens' RequestSpotInstances (Maybe SpotInstanceType)
+ Network.AWS.EC2.RequestSpotInstances: rsisValidFrom :: Lens' RequestSpotInstances (Maybe UTCTime)
+ Network.AWS.EC2.RequestSpotInstances: rsisValidUntil :: Lens' RequestSpotInstances (Maybe UTCTime)
+ Network.AWS.EC2.ResetImageAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ResetImageAttribute.ResetImageAttribute
+ Network.AWS.EC2.ResetInstanceAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ResetInstanceAttribute.ResetInstanceAttribute
+ Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ResetNetworkInterfaceAttribute.ResetNetworkInterfaceAttribute
+ Network.AWS.EC2.ResetSnapshotAttribute: instance Data.Hashable.Class.Hashable Network.AWS.EC2.ResetSnapshotAttribute.ResetSnapshotAttribute
+ Network.AWS.EC2.RestoreAddressToClassic: instance Data.Hashable.Class.Hashable Network.AWS.EC2.RestoreAddressToClassic.RestoreAddressToClassic
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Data.Hashable.Class.Hashable Network.AWS.EC2.RevokeSecurityGroupEgress.RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Data.Hashable.Class.Hashable Network.AWS.EC2.RevokeSecurityGroupIngress.RevokeSecurityGroupIngress
+ Network.AWS.EC2.RunInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.RunInstances.RunInstances
+ Network.AWS.EC2.RunScheduledInstances: data RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: data RunScheduledInstancesResponse
+ Network.AWS.EC2.RunScheduledInstances: instance Data.Data.Data Network.AWS.EC2.RunScheduledInstances.RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance Data.Data.Data Network.AWS.EC2.RunScheduledInstances.RunScheduledInstancesResponse
+ Network.AWS.EC2.RunScheduledInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.RunScheduledInstances.RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Classes.Eq Network.AWS.EC2.RunScheduledInstances.RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Classes.Eq Network.AWS.EC2.RunScheduledInstances.RunScheduledInstancesResponse
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Constructor Network.AWS.EC2.RunScheduledInstances.C1_0RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Constructor Network.AWS.EC2.RunScheduledInstances.C1_0RunScheduledInstancesResponse
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Datatype Network.AWS.EC2.RunScheduledInstances.D1RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Datatype Network.AWS.EC2.RunScheduledInstances.D1RunScheduledInstancesResponse
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Generic Network.AWS.EC2.RunScheduledInstances.RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Generic Network.AWS.EC2.RunScheduledInstances.RunScheduledInstancesResponse
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.RunScheduledInstances.S1_0_0RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.RunScheduledInstances.S1_0_0RunScheduledInstancesResponse
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.RunScheduledInstances.S1_0_1RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.RunScheduledInstances.S1_0_1RunScheduledInstancesResponse
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.RunScheduledInstances.S1_0_2RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.RunScheduledInstances.S1_0_3RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Generics.Selector Network.AWS.EC2.RunScheduledInstances.S1_0_4RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Read.Read Network.AWS.EC2.RunScheduledInstances.RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Read.Read Network.AWS.EC2.RunScheduledInstances.RunScheduledInstancesResponse
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Show.Show Network.AWS.EC2.RunScheduledInstances.RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance GHC.Show.Show Network.AWS.EC2.RunScheduledInstances.RunScheduledInstancesResponse
+ Network.AWS.EC2.RunScheduledInstances: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.EC2.RunScheduledInstances.RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance Network.AWS.Data.Path.ToPath Network.AWS.EC2.RunScheduledInstances.RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance Network.AWS.Data.Query.ToQuery Network.AWS.EC2.RunScheduledInstances.RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: instance Network.AWS.Types.AWSRequest Network.AWS.EC2.RunScheduledInstances.RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: rrsInstanceIdSet :: Lens' RunScheduledInstancesResponse [Text]
+ Network.AWS.EC2.RunScheduledInstances: rrsResponseStatus :: Lens' RunScheduledInstancesResponse Int
+ Network.AWS.EC2.RunScheduledInstances: rsiClientToken :: Lens' RunScheduledInstances (Maybe Text)
+ Network.AWS.EC2.RunScheduledInstances: rsiDryRun :: Lens' RunScheduledInstances (Maybe Bool)
+ Network.AWS.EC2.RunScheduledInstances: rsiInstanceCount :: Lens' RunScheduledInstances (Maybe Int)
+ Network.AWS.EC2.RunScheduledInstances: rsiLaunchSpecification :: Lens' RunScheduledInstances ScheduledInstancesLaunchSpecification
+ Network.AWS.EC2.RunScheduledInstances: rsiScheduledInstanceId :: Lens' RunScheduledInstances Text
+ Network.AWS.EC2.RunScheduledInstances: runScheduledInstances :: Text -> ScheduledInstancesLaunchSpecification -> RunScheduledInstances
+ Network.AWS.EC2.RunScheduledInstances: runScheduledInstancesResponse :: Int -> RunScheduledInstancesResponse
+ Network.AWS.EC2.StartInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.StartInstances.StartInstances
+ Network.AWS.EC2.StopInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.StopInstances.StopInstances
+ Network.AWS.EC2.TerminateInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.TerminateInstances.TerminateInstances
+ Network.AWS.EC2.Types: AAttached :: AttachmentStatus
+ Network.AWS.EC2.Types: AAttaching :: AttachmentStatus
+ Network.AWS.EC2.Types: AAvailable :: AttachmentStatus
+ Network.AWS.EC2.Types: ABusy :: AttachmentStatus
+ Network.AWS.EC2.Types: ADetached :: AttachmentStatus
+ Network.AWS.EC2.Types: ADetaching :: AttachmentStatus
+ Network.AWS.EC2.Types: DeleteTag :: !Text -> !(Maybe Text) -> DeleteTag
+ Network.AWS.EC2.Types: G2_8XLarge :: InstanceType
+ Network.AWS.EC2.Types: Scheduled :: InstanceLifecycleType
+ Network.AWS.EC2.Types: T2_Nano :: InstanceType
+ Network.AWS.EC2.Types: VAttached :: VolumeAttachmentState
+ Network.AWS.EC2.Types: VAttaching :: VolumeAttachmentState
+ Network.AWS.EC2.Types: VBusy :: VolumeAttachmentState
+ Network.AWS.EC2.Types: VDetached :: VolumeAttachmentState
+ Network.AWS.EC2.Types: VDetaching :: VolumeAttachmentState
+ Network.AWS.EC2.Types: [_deleteTagKey] :: DeleteTag -> !Text
+ Network.AWS.EC2.Types: [_deleteTagValue] :: DeleteTag -> !(Maybe Text)
+ Network.AWS.EC2.Types: classicLinkDNSSupport :: ClassicLinkDNSSupport
+ Network.AWS.EC2.Types: cldsClassicLinkDNSSupported :: Lens' ClassicLinkDNSSupport (Maybe Bool)
+ Network.AWS.EC2.Types: cldsVPCId :: Lens' ClassicLinkDNSSupport (Maybe Text)
+ Network.AWS.EC2.Types: data ClassicLinkDNSSupport
+ Network.AWS.EC2.Types: data DeleteTag
+ Network.AWS.EC2.Types: data PurchaseRequest
+ Network.AWS.EC2.Types: data ScheduledInstance
+ Network.AWS.EC2.Types: data ScheduledInstanceAvailability
+ Network.AWS.EC2.Types: data ScheduledInstanceRecurrence
+ Network.AWS.EC2.Types: data ScheduledInstanceRecurrenceRequest
+ Network.AWS.EC2.Types: data ScheduledInstancesBlockDeviceMapping
+ Network.AWS.EC2.Types: data ScheduledInstancesEBS
+ Network.AWS.EC2.Types: data ScheduledInstancesIAMInstanceProfile
+ Network.AWS.EC2.Types: data ScheduledInstancesLaunchSpecification
+ Network.AWS.EC2.Types: data ScheduledInstancesMonitoring
+ Network.AWS.EC2.Types: data ScheduledInstancesNetworkInterface
+ Network.AWS.EC2.Types: data ScheduledInstancesPlacement
+ Network.AWS.EC2.Types: data ScheduledInstancesPrivateIPAddressConfig
+ Network.AWS.EC2.Types: data SlotDateTimeRangeRequest
+ Network.AWS.EC2.Types: data SlotStartTimeRangeRequest
+ Network.AWS.EC2.Types: deleteTag :: Text -> DeleteTag
+ Network.AWS.EC2.Types: deleteTagKey :: Lens' DeleteTag Text
+ Network.AWS.EC2.Types: deleteTagValue :: Lens' DeleteTag (Maybe Text)
+ Network.AWS.EC2.Types: ec2 :: Service
+ Network.AWS.EC2.Types: prInstanceCount :: Lens' PurchaseRequest Int
+ Network.AWS.EC2.Types: prPurchaseToken :: Lens' PurchaseRequest Text
+ Network.AWS.EC2.Types: purchaseRequest :: Text -> Int -> PurchaseRequest
+ Network.AWS.EC2.Types: scheduledInstance :: ScheduledInstance
+ Network.AWS.EC2.Types: scheduledInstanceAvailability :: ScheduledInstanceAvailability
+ Network.AWS.EC2.Types: scheduledInstanceRecurrence :: ScheduledInstanceRecurrence
+ Network.AWS.EC2.Types: scheduledInstanceRecurrenceRequest :: ScheduledInstanceRecurrenceRequest
+ Network.AWS.EC2.Types: scheduledInstancesBlockDeviceMapping :: ScheduledInstancesBlockDeviceMapping
+ Network.AWS.EC2.Types: scheduledInstancesEBS :: ScheduledInstancesEBS
+ Network.AWS.EC2.Types: scheduledInstancesIAMInstanceProfile :: ScheduledInstancesIAMInstanceProfile
+ Network.AWS.EC2.Types: scheduledInstancesLaunchSpecification :: Text -> ScheduledInstancesLaunchSpecification
+ Network.AWS.EC2.Types: scheduledInstancesMonitoring :: ScheduledInstancesMonitoring
+ Network.AWS.EC2.Types: scheduledInstancesNetworkInterface :: ScheduledInstancesNetworkInterface
+ Network.AWS.EC2.Types: scheduledInstancesPlacement :: ScheduledInstancesPlacement
+ Network.AWS.EC2.Types: scheduledInstancesPrivateIPAddressConfig :: ScheduledInstancesPrivateIPAddressConfig
+ Network.AWS.EC2.Types: sdtrrEarliestTime :: Lens' SlotDateTimeRangeRequest UTCTime
+ Network.AWS.EC2.Types: sdtrrLatestTime :: Lens' SlotDateTimeRangeRequest UTCTime
+ Network.AWS.EC2.Types: siAvailabilityZone :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2.Types: siCreateDate :: Lens' ScheduledInstance (Maybe UTCTime)
+ Network.AWS.EC2.Types: siHourlyPrice :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2.Types: siInstanceCount :: Lens' ScheduledInstance (Maybe Int)
+ Network.AWS.EC2.Types: siInstanceType :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2.Types: siNetworkPlatform :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2.Types: siNextSlotStartTime :: Lens' ScheduledInstance (Maybe UTCTime)
+ Network.AWS.EC2.Types: siPlatform :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2.Types: siPreviousSlotEndTime :: Lens' ScheduledInstance (Maybe UTCTime)
+ Network.AWS.EC2.Types: siRecurrence :: Lens' ScheduledInstance (Maybe ScheduledInstanceRecurrence)
+ Network.AWS.EC2.Types: siScheduledInstanceId :: Lens' ScheduledInstance (Maybe Text)
+ Network.AWS.EC2.Types: siSlotDurationInHours :: Lens' ScheduledInstance (Maybe Int)
+ Network.AWS.EC2.Types: siTermEndDate :: Lens' ScheduledInstance (Maybe UTCTime)
+ Network.AWS.EC2.Types: siTermStartDate :: Lens' ScheduledInstance (Maybe UTCTime)
+ Network.AWS.EC2.Types: siTotalScheduledInstanceHours :: Lens' ScheduledInstance (Maybe Int)
+ Network.AWS.EC2.Types: siaAvailabilityZone :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2.Types: siaAvailableInstanceCount :: Lens' ScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2.Types: siaFirstSlotStartTime :: Lens' ScheduledInstanceAvailability (Maybe UTCTime)
+ Network.AWS.EC2.Types: siaHourlyPrice :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2.Types: siaInstanceType :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2.Types: siaMaxTermDurationInDays :: Lens' ScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2.Types: siaMinTermDurationInDays :: Lens' ScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2.Types: siaNetworkPlatform :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2.Types: siaPlatform :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2.Types: siaPurchaseToken :: Lens' ScheduledInstanceAvailability (Maybe Text)
+ Network.AWS.EC2.Types: siaRecurrence :: Lens' ScheduledInstanceAvailability (Maybe ScheduledInstanceRecurrence)
+ Network.AWS.EC2.Types: siaSlotDurationInHours :: Lens' ScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2.Types: siaTotalScheduledInstanceHours :: Lens' ScheduledInstanceAvailability (Maybe Int)
+ Network.AWS.EC2.Types: sibdmDeviceName :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe Text)
+ Network.AWS.EC2.Types: sibdmEBS :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe ScheduledInstancesEBS)
+ Network.AWS.EC2.Types: sibdmNoDevice :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe Text)
+ Network.AWS.EC2.Types: sibdmVirtualName :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe Text)
+ Network.AWS.EC2.Types: sieDeleteOnTermination :: Lens' ScheduledInstancesEBS (Maybe Bool)
+ Network.AWS.EC2.Types: sieEncrypted :: Lens' ScheduledInstancesEBS (Maybe Bool)
+ Network.AWS.EC2.Types: sieIOPS :: Lens' ScheduledInstancesEBS (Maybe Int)
+ Network.AWS.EC2.Types: sieSnapshotId :: Lens' ScheduledInstancesEBS (Maybe Text)
+ Network.AWS.EC2.Types: sieVolumeSize :: Lens' ScheduledInstancesEBS (Maybe Int)
+ Network.AWS.EC2.Types: sieVolumeType :: Lens' ScheduledInstancesEBS (Maybe Text)
+ Network.AWS.EC2.Types: siiapARN :: Lens' ScheduledInstancesIAMInstanceProfile (Maybe Text)
+ Network.AWS.EC2.Types: siiapName :: Lens' ScheduledInstancesIAMInstanceProfile (Maybe Text)
+ Network.AWS.EC2.Types: silsBlockDeviceMappings :: Lens' ScheduledInstancesLaunchSpecification [ScheduledInstancesBlockDeviceMapping]
+ Network.AWS.EC2.Types: silsEBSOptimized :: Lens' ScheduledInstancesLaunchSpecification (Maybe Bool)
+ Network.AWS.EC2.Types: silsIAMInstanceProfile :: Lens' ScheduledInstancesLaunchSpecification (Maybe ScheduledInstancesIAMInstanceProfile)
+ Network.AWS.EC2.Types: silsImageId :: Lens' ScheduledInstancesLaunchSpecification Text
+ Network.AWS.EC2.Types: silsInstanceType :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: silsKernelId :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: silsKeyName :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: silsMonitoring :: Lens' ScheduledInstancesLaunchSpecification (Maybe ScheduledInstancesMonitoring)
+ Network.AWS.EC2.Types: silsNetworkInterfaces :: Lens' ScheduledInstancesLaunchSpecification [ScheduledInstancesNetworkInterface]
+ Network.AWS.EC2.Types: silsPlacement :: Lens' ScheduledInstancesLaunchSpecification (Maybe ScheduledInstancesPlacement)
+ Network.AWS.EC2.Types: silsRAMDiskId :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: silsSecurityGroupIds :: Lens' ScheduledInstancesLaunchSpecification [Text]
+ Network.AWS.EC2.Types: silsSubnetId :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: silsUserData :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: simEnabled :: Lens' ScheduledInstancesMonitoring (Maybe Bool)
+ Network.AWS.EC2.Types: siniAssociatePublicIPAddress :: Lens' ScheduledInstancesNetworkInterface (Maybe Bool)
+ Network.AWS.EC2.Types: siniDeleteOnTermination :: Lens' ScheduledInstancesNetworkInterface (Maybe Bool)
+ Network.AWS.EC2.Types: siniDescription :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: siniDeviceIndex :: Lens' ScheduledInstancesNetworkInterface (Maybe Int)
+ Network.AWS.EC2.Types: siniGroups :: Lens' ScheduledInstancesNetworkInterface [Text]
+ Network.AWS.EC2.Types: siniNetworkInterfaceId :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: siniPrivateIPAddress :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: siniPrivateIPAddressConfigs :: Lens' ScheduledInstancesNetworkInterface [ScheduledInstancesPrivateIPAddressConfig]
+ Network.AWS.EC2.Types: siniSecondaryPrivateIPAddressCount :: Lens' ScheduledInstancesNetworkInterface (Maybe Int)
+ Network.AWS.EC2.Types: siniSubnetId :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: sipAvailabilityZone :: Lens' ScheduledInstancesPlacement (Maybe Text)
+ Network.AWS.EC2.Types: sipGroupName :: Lens' ScheduledInstancesPlacement (Maybe Text)
+ Network.AWS.EC2.Types: sipiacPrimary :: Lens' ScheduledInstancesPrivateIPAddressConfig (Maybe Bool)
+ Network.AWS.EC2.Types: sipiacPrivateIPAddress :: Lens' ScheduledInstancesPrivateIPAddressConfig (Maybe Text)
+ Network.AWS.EC2.Types: sirFrequency :: Lens' ScheduledInstanceRecurrence (Maybe Text)
+ Network.AWS.EC2.Types: sirInterval :: Lens' ScheduledInstanceRecurrence (Maybe Int)
+ Network.AWS.EC2.Types: sirOccurrenceDaySet :: Lens' ScheduledInstanceRecurrence [Int]
+ Network.AWS.EC2.Types: sirOccurrenceRelativeToEnd :: Lens' ScheduledInstanceRecurrence (Maybe Bool)
+ Network.AWS.EC2.Types: sirOccurrenceUnit :: Lens' ScheduledInstanceRecurrence (Maybe Text)
+ Network.AWS.EC2.Types: sirrFrequency :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Text)
+ Network.AWS.EC2.Types: sirrInterval :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Int)
+ Network.AWS.EC2.Types: sirrOccurrenceDays :: Lens' ScheduledInstanceRecurrenceRequest [Int]
+ Network.AWS.EC2.Types: sirrOccurrenceRelativeToEnd :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Bool)
+ Network.AWS.EC2.Types: sirrOccurrenceUnit :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Text)
+ Network.AWS.EC2.Types: slotDateTimeRangeRequest :: UTCTime -> UTCTime -> SlotDateTimeRangeRequest
+ Network.AWS.EC2.Types: slotStartTimeRangeRequest :: SlotStartTimeRangeRequest
+ Network.AWS.EC2.Types: sstrrEarliestTime :: Lens' SlotStartTimeRangeRequest (Maybe UTCTime)
+ Network.AWS.EC2.Types: sstrrLatestTime :: Lens' SlotStartTimeRangeRequest (Maybe UTCTime)
+ Network.AWS.EC2.Types: uigpPeeringStatus :: Lens' UserIdGroupPair (Maybe Text)
+ Network.AWS.EC2.Types: uigpVPCId :: Lens' UserIdGroupPair (Maybe Text)
+ Network.AWS.EC2.Types: uigpVPCPeeringConnectionId :: Lens' UserIdGroupPair (Maybe Text)
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Data.Hashable.Class.Hashable Network.AWS.EC2.UnassignPrivateIPAddresses.UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnmonitorInstances: instance Data.Hashable.Class.Hashable Network.AWS.EC2.UnmonitorInstances.UnmonitorInstances
+ Network.AWS.EC2.Waiters: natGatewayAvailable :: Wait DescribeNatGateways
+ Network.AWS.EC2.Waiters: networkInterfaceAvailable :: Wait DescribeNetworkInterfaces
+ Network.AWS.EC2.Waiters: vpcPeeringConnectionExists :: Wait DescribeVPCPeeringConnections
Files
- README.md +2/−2
- amazonka-ec2.cabal +16/−8
- fixture/DescribeScheduledInstanceAvailability.yaml +0/−0
- fixture/DescribeScheduledInstanceAvailabilityResponse.proto +0/−0
- fixture/DescribeScheduledInstances.yaml +0/−0
- fixture/DescribeScheduledInstancesResponse.proto +0/−0
- fixture/DescribeVPCClassicLinkDNSSupport.yaml +0/−0
- fixture/DescribeVPCClassicLinkDNSSupportResponse.proto +0/−0
- fixture/DisableVPCClassicLinkDNSSupport.yaml +0/−0
- fixture/DisableVPCClassicLinkDNSSupportResponse.proto +0/−0
- fixture/EnableVPCClassicLinkDNSSupport.yaml +0/−0
- fixture/EnableVPCClassicLinkDNSSupportResponse.proto +0/−0
- fixture/PurchaseScheduledInstances.yaml +0/−0
- fixture/PurchaseScheduledInstancesResponse.proto +0/−0
- fixture/RunScheduledInstances.yaml +0/−0
- fixture/RunScheduledInstancesResponse.proto +0/−0
- gen/Network/AWS/EC2.hs +197/−4
- gen/Network/AWS/EC2/AcceptVPCPeeringConnection.hs +4/−4
- gen/Network/AWS/EC2/AllocateAddress.hs +4/−4
- gen/Network/AWS/EC2/AllocateHosts.hs +4/−4
- gen/Network/AWS/EC2/AssignPrivateIPAddresses.hs +4/−4
- gen/Network/AWS/EC2/AssociateAddress.hs +4/−4
- gen/Network/AWS/EC2/AssociateDHCPOptions.hs +4/−4
- gen/Network/AWS/EC2/AssociateRouteTable.hs +4/−4
- gen/Network/AWS/EC2/AttachClassicLinkVPC.hs +4/−4
- gen/Network/AWS/EC2/AttachInternetGateway.hs +4/−4
- gen/Network/AWS/EC2/AttachNetworkInterface.hs +4/−4
- gen/Network/AWS/EC2/AttachVPNGateway.hs +4/−4
- gen/Network/AWS/EC2/AttachVolume.hs +4/−4
- gen/Network/AWS/EC2/AuthorizeSecurityGroupEgress.hs +4/−4
- gen/Network/AWS/EC2/AuthorizeSecurityGroupIngress.hs +4/−4
- gen/Network/AWS/EC2/BundleInstance.hs +4/−4
- gen/Network/AWS/EC2/CancelBundleTask.hs +4/−4
- gen/Network/AWS/EC2/CancelConversionTask.hs +4/−4
- gen/Network/AWS/EC2/CancelExportTask.hs +4/−4
- gen/Network/AWS/EC2/CancelImportTask.hs +4/−4
- gen/Network/AWS/EC2/CancelReservedInstancesListing.hs +7/−7
- gen/Network/AWS/EC2/CancelSpotFleetRequests.hs +4/−4
- gen/Network/AWS/EC2/CancelSpotInstanceRequests.hs +4/−4
- gen/Network/AWS/EC2/ConfirmProductInstance.hs +4/−4
- gen/Network/AWS/EC2/CopyImage.hs +4/−4
- gen/Network/AWS/EC2/CopySnapshot.hs +4/−4
- gen/Network/AWS/EC2/CreateCustomerGateway.hs +4/−4
- gen/Network/AWS/EC2/CreateDHCPOptions.hs +4/−4
- gen/Network/AWS/EC2/CreateFlowLogs.hs +4/−4
- gen/Network/AWS/EC2/CreateImage.hs +4/−4
- gen/Network/AWS/EC2/CreateInstanceExportTask.hs +4/−4
- gen/Network/AWS/EC2/CreateInternetGateway.hs +5/−5
- gen/Network/AWS/EC2/CreateKeyPair.hs +5/−5
- gen/Network/AWS/EC2/CreateNatGateway.hs +4/−4
- gen/Network/AWS/EC2/CreateNetworkACL.hs +4/−4
- gen/Network/AWS/EC2/CreateNetworkACLEntry.hs +4/−4
- gen/Network/AWS/EC2/CreateNetworkInterface.hs +4/−4
- gen/Network/AWS/EC2/CreatePlacementGroup.hs +4/−4
- gen/Network/AWS/EC2/CreateReservedInstancesListing.hs +22/−22
- gen/Network/AWS/EC2/CreateRoute.hs +4/−4
- gen/Network/AWS/EC2/CreateRouteTable.hs +4/−4
- gen/Network/AWS/EC2/CreateSecurityGroup.hs +7/−7
- gen/Network/AWS/EC2/CreateSnapshot.hs +4/−4
- gen/Network/AWS/EC2/CreateSpotDatafeedSubscription.hs +4/−4
- gen/Network/AWS/EC2/CreateSubnet.hs +4/−4
- gen/Network/AWS/EC2/CreateTags.hs +4/−4
- gen/Network/AWS/EC2/CreateVPC.hs +4/−4
- gen/Network/AWS/EC2/CreateVPCEndpoint.hs +5/−5
- gen/Network/AWS/EC2/CreateVPCPeeringConnection.hs +4/−4
- gen/Network/AWS/EC2/CreateVPNConnection.hs +4/−4
- gen/Network/AWS/EC2/CreateVPNConnectionRoute.hs +4/−4
- gen/Network/AWS/EC2/CreateVPNGateway.hs +4/−4
- gen/Network/AWS/EC2/CreateVolume.hs +5/−5
- gen/Network/AWS/EC2/DeleteCustomerGateway.hs +4/−4
- gen/Network/AWS/EC2/DeleteDHCPOptions.hs +4/−4
- gen/Network/AWS/EC2/DeleteFlowLogs.hs +4/−4
- gen/Network/AWS/EC2/DeleteInternetGateway.hs +4/−4
- gen/Network/AWS/EC2/DeleteKeyPair.hs +4/−4
- gen/Network/AWS/EC2/DeleteNatGateway.hs +4/−4
- gen/Network/AWS/EC2/DeleteNetworkACL.hs +4/−4
- gen/Network/AWS/EC2/DeleteNetworkACLEntry.hs +4/−4
- gen/Network/AWS/EC2/DeleteNetworkInterface.hs +4/−4
- gen/Network/AWS/EC2/DeletePlacementGroup.hs +4/−4
- gen/Network/AWS/EC2/DeleteRoute.hs +4/−4
- gen/Network/AWS/EC2/DeleteRouteTable.hs +4/−4
- gen/Network/AWS/EC2/DeleteSecurityGroup.hs +4/−4
- gen/Network/AWS/EC2/DeleteSnapshot.hs +4/−4
- gen/Network/AWS/EC2/DeleteSpotDatafeedSubscription.hs +4/−4
- gen/Network/AWS/EC2/DeleteSubnet.hs +4/−4
- gen/Network/AWS/EC2/DeleteTags.hs +4/−4
- gen/Network/AWS/EC2/DeleteVPC.hs +4/−4
- gen/Network/AWS/EC2/DeleteVPCEndpoints.hs +4/−4
- gen/Network/AWS/EC2/DeleteVPCPeeringConnection.hs +4/−4
- gen/Network/AWS/EC2/DeleteVPNConnection.hs +4/−4
- gen/Network/AWS/EC2/DeleteVPNConnectionRoute.hs +4/−4
- gen/Network/AWS/EC2/DeleteVPNGateway.hs +4/−4
- gen/Network/AWS/EC2/DeleteVolume.hs +4/−4
- gen/Network/AWS/EC2/DeregisterImage.hs +4/−4
- gen/Network/AWS/EC2/DescribeAccountAttributes.hs +4/−4
- gen/Network/AWS/EC2/DescribeAddresses.hs +4/−4
- gen/Network/AWS/EC2/DescribeAvailabilityZones.hs +4/−4
- gen/Network/AWS/EC2/DescribeBundleTasks.hs +4/−4
- gen/Network/AWS/EC2/DescribeClassicLinkInstances.hs +4/−4
- gen/Network/AWS/EC2/DescribeConversionTasks.hs +7/−3
- gen/Network/AWS/EC2/DescribeCustomerGateways.hs +4/−4
- gen/Network/AWS/EC2/DescribeDHCPOptions.hs +4/−4
- gen/Network/AWS/EC2/DescribeExportTasks.hs +4/−4
- gen/Network/AWS/EC2/DescribeFlowLogs.hs +4/−4
- gen/Network/AWS/EC2/DescribeHosts.hs +4/−4
- gen/Network/AWS/EC2/DescribeIdFormat.hs +13/−13
- gen/Network/AWS/EC2/DescribeImageAttribute.hs +6/−6
- gen/Network/AWS/EC2/DescribeImages.hs +4/−4
- gen/Network/AWS/EC2/DescribeImportImageTasks.hs +4/−4
- gen/Network/AWS/EC2/DescribeImportSnapshotTasks.hs +4/−4
- gen/Network/AWS/EC2/DescribeInstanceAttribute.hs +4/−4
- gen/Network/AWS/EC2/DescribeInstanceStatus.hs +4/−4
- gen/Network/AWS/EC2/DescribeInstances.hs +7/−7
- gen/Network/AWS/EC2/DescribeInternetGateways.hs +4/−4
- gen/Network/AWS/EC2/DescribeKeyPairs.hs +4/−4
- gen/Network/AWS/EC2/DescribeMovingAddresses.hs +4/−4
- gen/Network/AWS/EC2/DescribeNatGateways.hs +4/−4
- gen/Network/AWS/EC2/DescribeNetworkACLs.hs +4/−4
- gen/Network/AWS/EC2/DescribeNetworkInterfaceAttribute.hs +4/−4
- gen/Network/AWS/EC2/DescribeNetworkInterfaces.hs +4/−4
- gen/Network/AWS/EC2/DescribePlacementGroups.hs +4/−4
- gen/Network/AWS/EC2/DescribePrefixLists.hs +4/−4
- gen/Network/AWS/EC2/DescribeRegions.hs +4/−4
- gen/Network/AWS/EC2/DescribeReservedInstances.hs +20/−20
- gen/Network/AWS/EC2/DescribeReservedInstancesListings.hs +17/−17
- gen/Network/AWS/EC2/DescribeReservedInstancesModifications.hs +15/−14
- gen/Network/AWS/EC2/DescribeReservedInstancesOfferings.hs +22/−22
- gen/Network/AWS/EC2/DescribeRouteTables.hs +4/−4
- gen/Network/AWS/EC2/DescribeScheduledInstanceAvailability.hs +249/−0
- gen/Network/AWS/EC2/DescribeScheduledInstances.hs +206/−0
- gen/Network/AWS/EC2/DescribeSecurityGroups.hs +4/−4
- gen/Network/AWS/EC2/DescribeSnapshotAttribute.hs +4/−4
- gen/Network/AWS/EC2/DescribeSnapshots.hs +4/−4
- gen/Network/AWS/EC2/DescribeSpotDatafeedSubscription.hs +4/−4
- gen/Network/AWS/EC2/DescribeSpotFleetInstances.hs +4/−4
- gen/Network/AWS/EC2/DescribeSpotFleetRequestHistory.hs +4/−4
- gen/Network/AWS/EC2/DescribeSpotFleetRequests.hs +4/−4
- gen/Network/AWS/EC2/DescribeSpotInstanceRequests.hs +7/−7
- gen/Network/AWS/EC2/DescribeSpotPriceHistory.hs +4/−4
- gen/Network/AWS/EC2/DescribeSubnets.hs +4/−4
- gen/Network/AWS/EC2/DescribeTags.hs +4/−4
- gen/Network/AWS/EC2/DescribeVPCAttribute.hs +4/−4
- gen/Network/AWS/EC2/DescribeVPCClassicLink.hs +4/−4
- gen/Network/AWS/EC2/DescribeVPCClassicLinkDNSSupport.hs +166/−0
- gen/Network/AWS/EC2/DescribeVPCEndpointServices.hs +4/−4
- gen/Network/AWS/EC2/DescribeVPCEndpoints.hs +4/−4
- gen/Network/AWS/EC2/DescribeVPCPeeringConnections.hs +4/−4
- gen/Network/AWS/EC2/DescribeVPCs.hs +4/−4
- gen/Network/AWS/EC2/DescribeVPNConnections.hs +4/−4
- gen/Network/AWS/EC2/DescribeVPNGateways.hs +5/−5
- gen/Network/AWS/EC2/DescribeVolumeAttribute.hs +4/−4
- gen/Network/AWS/EC2/DescribeVolumeStatus.hs +6/−6
- gen/Network/AWS/EC2/DescribeVolumes.hs +4/−4
- gen/Network/AWS/EC2/DetachClassicLinkVPC.hs +4/−4
- gen/Network/AWS/EC2/DetachInternetGateway.hs +4/−4
- gen/Network/AWS/EC2/DetachNetworkInterface.hs +4/−4
- gen/Network/AWS/EC2/DetachVPNGateway.hs +4/−4
- gen/Network/AWS/EC2/DetachVolume.hs +4/−4
- gen/Network/AWS/EC2/DisableVGWRoutePropagation.hs +4/−4
- gen/Network/AWS/EC2/DisableVPCClassicLink.hs +4/−4
- gen/Network/AWS/EC2/DisableVPCClassicLinkDNSSupport.hs +128/−0
- gen/Network/AWS/EC2/DisassociateAddress.hs +4/−4
- gen/Network/AWS/EC2/DisassociateRouteTable.hs +4/−4
- gen/Network/AWS/EC2/EnableVGWRoutePropagation.hs +4/−4
- gen/Network/AWS/EC2/EnableVPCClassicLink.hs +4/−4
- gen/Network/AWS/EC2/EnableVPCClassicLinkDNSSupport.hs +129/−0
- gen/Network/AWS/EC2/EnableVolumeIO.hs +4/−4
- gen/Network/AWS/EC2/GetConsoleOutput.hs +6/−5
- gen/Network/AWS/EC2/GetPasswordData.hs +4/−4
- gen/Network/AWS/EC2/ImportImage.hs +4/−4
- gen/Network/AWS/EC2/ImportInstance.hs +10/−6
- gen/Network/AWS/EC2/ImportKeyPair.hs +9/−8
- gen/Network/AWS/EC2/ImportSnapshot.hs +4/−4
- gen/Network/AWS/EC2/ImportVolume.hs +7/−3
- gen/Network/AWS/EC2/ModifyHosts.hs +4/−4
- gen/Network/AWS/EC2/ModifyIdFormat.hs +18/−13
- gen/Network/AWS/EC2/ModifyImageAttribute.hs +4/−4
- gen/Network/AWS/EC2/ModifyInstanceAttribute.hs +4/−4
- gen/Network/AWS/EC2/ModifyInstancePlacement.hs +4/−4
- gen/Network/AWS/EC2/ModifyNetworkInterfaceAttribute.hs +4/−4
- gen/Network/AWS/EC2/ModifyReservedInstances.hs +8/−8
- gen/Network/AWS/EC2/ModifySnapshotAttribute.hs +4/−4
- gen/Network/AWS/EC2/ModifySpotFleetRequest.hs +4/−4
- gen/Network/AWS/EC2/ModifySubnetAttribute.hs +4/−4
- gen/Network/AWS/EC2/ModifyVPCAttribute.hs +4/−4
- gen/Network/AWS/EC2/ModifyVPCEndpoint.hs +4/−4
- gen/Network/AWS/EC2/ModifyVolumeAttribute.hs +4/−4
- gen/Network/AWS/EC2/MonitorInstances.hs +4/−4
- gen/Network/AWS/EC2/MoveAddressToVPC.hs +13/−10
- gen/Network/AWS/EC2/PurchaseReservedInstancesOffering.hs +16/−16
- gen/Network/AWS/EC2/PurchaseScheduledInstances.hs +157/−0
- gen/Network/AWS/EC2/RebootInstances.hs +4/−4
- gen/Network/AWS/EC2/RegisterImage.hs +7/−7
- gen/Network/AWS/EC2/RejectVPCPeeringConnection.hs +6/−6
- gen/Network/AWS/EC2/ReleaseAddress.hs +6/−6
- gen/Network/AWS/EC2/ReleaseHosts.hs +4/−4
- gen/Network/AWS/EC2/ReplaceNetworkACLAssociation.hs +4/−4
- gen/Network/AWS/EC2/ReplaceNetworkACLEntry.hs +4/−4
- gen/Network/AWS/EC2/ReplaceRoute.hs +4/−4
- gen/Network/AWS/EC2/ReplaceRouteTableAssociation.hs +4/−4
- gen/Network/AWS/EC2/ReportInstanceStatus.hs +9/−8
- gen/Network/AWS/EC2/RequestSpotFleet.hs +4/−4
- gen/Network/AWS/EC2/RequestSpotInstances.hs +85/−82
- gen/Network/AWS/EC2/ResetImageAttribute.hs +4/−4
- gen/Network/AWS/EC2/ResetInstanceAttribute.hs +4/−4
- gen/Network/AWS/EC2/ResetNetworkInterfaceAttribute.hs +4/−4
- gen/Network/AWS/EC2/ResetSnapshotAttribute.hs +4/−4
- gen/Network/AWS/EC2/RestoreAddressToClassic.hs +7/−4
- gen/Network/AWS/EC2/RevokeSecurityGroupEgress.hs +4/−4
- gen/Network/AWS/EC2/RevokeSecurityGroupIngress.hs +4/−4
- gen/Network/AWS/EC2/RunInstances.hs +27/−15
- gen/Network/AWS/EC2/RunScheduledInstances.hs +182/−0
- gen/Network/AWS/EC2/StartInstances.hs +4/−4
- gen/Network/AWS/EC2/StopInstances.hs +4/−4
- gen/Network/AWS/EC2/TerminateInstances.hs +4/−4
- gen/Network/AWS/EC2/Types.hs +164/−5
- gen/Network/AWS/EC2/Types/Product.hs +12984/−11385
- gen/Network/AWS/EC2/Types/Sum.hs +49/−36
- gen/Network/AWS/EC2/UnassignPrivateIPAddresses.hs +4/−4
- gen/Network/AWS/EC2/UnmonitorInstances.hs +4/−4
- gen/Network/AWS/EC2/Waiters.hs +71/−3
- src/Network/AWS/EC2/Internal.hs +52/−0
- test/Main.hs +1/−1
- test/Test/AWS/EC2.hs +3/−3
- test/Test/AWS/EC2/Internal.hs +1/−1
- test/Test/AWS/Gen/EC2.hs +320/−194
README.md view
@@ -8,7 +8,7 @@ ## Version -`1.3.7`+`1.4.0` ## Description@@ -21,7 +21,7 @@ and deploy applications faster. Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-ec2)-and the [AWS API Reference](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html).+and the [AWS API Reference](https://aws.amazon.com/documentation/). The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka), which provides mechanisms for specifying AuthN/AuthZ information and sending requests.
amazonka-ec2.cabal view
@@ -1,5 +1,5 @@ name: amazonka-ec2-version: 1.3.7+version: 1.4.0 synopsis: Amazon Elastic Compute Cloud 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@gmail.com>-copyright: Copyright (c) 2013-2015 Brendan Hay+copyright: Copyright (c) 2013-2016 Brendan Hay category: Network, AWS, Cloud, Distributed Computing build-type: Simple cabal-version: >= 1.10@@ -31,7 +31,7 @@ such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>. .- See "Network.AWS.EC2" and the <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html AWS API Reference>+ See "Network.AWS.EC2" or <https://aws.amazon.com/documentation/ the AWS Documentation> to get started. source-repository head@@ -157,6 +157,8 @@ , Network.AWS.EC2.DescribeReservedInstancesModifications , Network.AWS.EC2.DescribeReservedInstancesOfferings , Network.AWS.EC2.DescribeRouteTables+ , Network.AWS.EC2.DescribeScheduledInstanceAvailability+ , Network.AWS.EC2.DescribeScheduledInstances , Network.AWS.EC2.DescribeSecurityGroups , Network.AWS.EC2.DescribeSnapshotAttribute , Network.AWS.EC2.DescribeSnapshots@@ -170,6 +172,7 @@ , Network.AWS.EC2.DescribeTags , Network.AWS.EC2.DescribeVPCAttribute , Network.AWS.EC2.DescribeVPCClassicLink+ , Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport , Network.AWS.EC2.DescribeVPCEndpointServices , Network.AWS.EC2.DescribeVPCEndpoints , Network.AWS.EC2.DescribeVPCPeeringConnections@@ -186,10 +189,12 @@ , Network.AWS.EC2.DetachVolume , Network.AWS.EC2.DisableVGWRoutePropagation , Network.AWS.EC2.DisableVPCClassicLink+ , Network.AWS.EC2.DisableVPCClassicLinkDNSSupport , Network.AWS.EC2.DisassociateAddress , Network.AWS.EC2.DisassociateRouteTable , Network.AWS.EC2.EnableVGWRoutePropagation , Network.AWS.EC2.EnableVPCClassicLink+ , Network.AWS.EC2.EnableVPCClassicLinkDNSSupport , Network.AWS.EC2.EnableVolumeIO , Network.AWS.EC2.GetConsoleOutput , Network.AWS.EC2.GetPasswordData@@ -214,6 +219,7 @@ , Network.AWS.EC2.MonitorInstances , Network.AWS.EC2.MoveAddressToVPC , Network.AWS.EC2.PurchaseReservedInstancesOffering+ , Network.AWS.EC2.PurchaseScheduledInstances , Network.AWS.EC2.RebootInstances , Network.AWS.EC2.RegisterImage , Network.AWS.EC2.RejectVPCPeeringConnection@@ -234,6 +240,7 @@ , Network.AWS.EC2.RevokeSecurityGroupEgress , Network.AWS.EC2.RevokeSecurityGroupIngress , Network.AWS.EC2.RunInstances+ , Network.AWS.EC2.RunScheduledInstances , Network.AWS.EC2.StartInstances , Network.AWS.EC2.StopInstances , Network.AWS.EC2.TerminateInstances@@ -243,11 +250,12 @@ , Network.AWS.EC2.Waiters other-modules:- Network.AWS.EC2.Types.Product+ Network.AWS.EC2.Internal+ , Network.AWS.EC2.Types.Product , Network.AWS.EC2.Types.Sum build-depends:- amazonka-core == 1.3.7.*+ amazonka-core == 1.4.0.* , base >= 4.7 && < 5 test-suite amazonka-ec2-test@@ -267,9 +275,9 @@ , Test.AWS.EC2.Internal build-depends:- amazonka-core == 1.3.7.*- , amazonka-test == 1.3.7.*- , amazonka-ec2 == 1.3.7.*+ amazonka-core == 1.4.0.*+ , amazonka-test == 1.4.0.*+ , amazonka-ec2 == 1.4.0.* , base , bytestring , tasty
+ fixture/DescribeScheduledInstanceAvailability.yaml view
+ fixture/DescribeScheduledInstanceAvailabilityResponse.proto view
+ fixture/DescribeScheduledInstances.yaml view
+ fixture/DescribeScheduledInstancesResponse.proto view
+ fixture/DescribeVPCClassicLinkDNSSupport.yaml view
+ fixture/DescribeVPCClassicLinkDNSSupportResponse.proto view
+ fixture/DisableVPCClassicLinkDNSSupport.yaml view
+ fixture/DisableVPCClassicLinkDNSSupportResponse.proto view
+ fixture/EnableVPCClassicLinkDNSSupport.yaml view
+ fixture/EnableVPCClassicLinkDNSSupportResponse.proto view
+ fixture/PurchaseScheduledInstances.yaml view
+ fixture/PurchaseScheduledInstancesResponse.proto view
+ fixture/RunScheduledInstances.yaml view
+ fixture/RunScheduledInstancesResponse.proto view
gen/Network/AWS/EC2.hs view
@@ -5,7 +5,7 @@ -- | -- Module : Network.AWS.EC2--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -17,12 +17,10 @@ -- capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 -- eliminates your need to invest in hardware up front, so you can develop -- and deploy applications faster.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html AWS API Reference> module Network.AWS.EC2 ( -- * Service Configuration- eC2+ ec2 -- * Errors -- $errors@@ -36,9 +34,15 @@ -- ** VolumeInUse , volumeInUse + -- ** NatGatewayAvailable+ , natGatewayAvailable+ -- ** SubnetAvailable , subnetAvailable + -- ** NetworkInterfaceAvailable+ , networkInterfaceAvailable+ -- ** SystemStatusOK , systemStatusOK @@ -90,6 +94,9 @@ -- ** ImageAvailable , imageAvailable + -- ** VPCPeeringConnectionExists+ , vpcPeeringConnectionExists+ -- ** SnapshotCompleted , snapshotCompleted @@ -174,6 +181,12 @@ -- ** AttachClassicLinkVPC , module Network.AWS.EC2.AttachClassicLinkVPC + -- ** DescribeVPCClassicLinkDNSSupport+ , module Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport++ -- ** RunScheduledInstances+ , module Network.AWS.EC2.RunScheduledInstances+ -- ** CancelSpotFleetRequests , module Network.AWS.EC2.CancelSpotFleetRequests @@ -312,6 +325,9 @@ -- ** DescribeConversionTasks , module Network.AWS.EC2.DescribeConversionTasks + -- ** DisableVPCClassicLinkDNSSupport+ , module Network.AWS.EC2.DisableVPCClassicLinkDNSSupport+ -- ** AllocateAddress , module Network.AWS.EC2.AllocateAddress @@ -354,9 +370,15 @@ -- ** RevokeSecurityGroupIngress , module Network.AWS.EC2.RevokeSecurityGroupIngress + -- ** EnableVPCClassicLinkDNSSupport+ , module Network.AWS.EC2.EnableVPCClassicLinkDNSSupport+ -- ** ModifyReservedInstances , module Network.AWS.EC2.ModifyReservedInstances + -- ** DescribeScheduledInstances+ , module Network.AWS.EC2.DescribeScheduledInstances+ -- ** CreateFlowLogs , module Network.AWS.EC2.CreateFlowLogs @@ -405,6 +427,9 @@ -- ** CreateVolume , module Network.AWS.EC2.CreateVolume + -- ** DescribeScheduledInstanceAvailability+ , module Network.AWS.EC2.DescribeScheduledInstanceAvailability+ -- ** ModifyVolumeAttribute , module Network.AWS.EC2.ModifyVolumeAttribute @@ -552,6 +577,9 @@ -- ** DescribePlacementGroups , module Network.AWS.EC2.DescribePlacementGroups + -- ** PurchaseScheduledInstances+ , module Network.AWS.EC2.PurchaseScheduledInstances+ -- ** EnableVGWRoutePropagation , module Network.AWS.EC2.EnableVGWRoutePropagation @@ -686,6 +714,9 @@ -- * Types + -- ** Re-exported Types+ , module Network.AWS.EC2.Internal+ -- ** AccountAttributeName , AccountAttributeName (..) @@ -1059,6 +1090,12 @@ , csirState , csirSpotInstanceRequestId + -- ** ClassicLinkDNSSupport+ , ClassicLinkDNSSupport+ , classicLinkDNSSupport+ , cldsVPCId+ , cldsClassicLinkDNSSupported+ -- ** ClassicLinkInstance , ClassicLinkInstance , classicLinkInstance@@ -1832,6 +1869,12 @@ , propagatingVGW , pvGatewayId + -- ** PurchaseRequest+ , PurchaseRequest+ , purchaseRequest+ , prPurchaseToken+ , prInstanceCount+ -- ** RecurringCharge , RecurringCharge , recurringCharge@@ -2008,6 +2051,133 @@ , ssUploadPolicySignature , ssAWSAccessKeyId + -- ** ScheduledInstance+ , ScheduledInstance+ , scheduledInstance+ , siPreviousSlotEndTime+ , siPlatform+ , siTermStartDate+ , siInstanceCount+ , siScheduledInstanceId+ , siHourlyPrice+ , siCreateDate+ , siSlotDurationInHours+ , siTotalScheduledInstanceHours+ , siInstanceType+ , siRecurrence+ , siAvailabilityZone+ , siTermEndDate+ , siNextSlotStartTime+ , siNetworkPlatform++ -- ** ScheduledInstanceAvailability+ , ScheduledInstanceAvailability+ , scheduledInstanceAvailability+ , siaMaxTermDurationInDays+ , siaPlatform+ , siaPurchaseToken+ , siaHourlyPrice+ , siaAvailableInstanceCount+ , siaSlotDurationInHours+ , siaTotalScheduledInstanceHours+ , siaInstanceType+ , siaRecurrence+ , siaAvailabilityZone+ , siaMinTermDurationInDays+ , siaFirstSlotStartTime+ , siaNetworkPlatform++ -- ** ScheduledInstanceRecurrence+ , ScheduledInstanceRecurrence+ , scheduledInstanceRecurrence+ , sirFrequency+ , sirOccurrenceRelativeToEnd+ , sirOccurrenceUnit+ , sirInterval+ , sirOccurrenceDaySet++ -- ** ScheduledInstanceRecurrenceRequest+ , ScheduledInstanceRecurrenceRequest+ , scheduledInstanceRecurrenceRequest+ , sirrFrequency+ , sirrOccurrenceRelativeToEnd+ , sirrOccurrenceDays+ , sirrOccurrenceUnit+ , sirrInterval++ -- ** ScheduledInstancesBlockDeviceMapping+ , ScheduledInstancesBlockDeviceMapping+ , scheduledInstancesBlockDeviceMapping+ , sibdmVirtualName+ , sibdmNoDevice+ , sibdmEBS+ , sibdmDeviceName++ -- ** ScheduledInstancesEBS+ , ScheduledInstancesEBS+ , scheduledInstancesEBS+ , sieDeleteOnTermination+ , sieVolumeSize+ , sieIOPS+ , sieEncrypted+ , sieVolumeType+ , sieSnapshotId++ -- ** ScheduledInstancesIAMInstanceProfile+ , ScheduledInstancesIAMInstanceProfile+ , scheduledInstancesIAMInstanceProfile+ , siiapARN+ , siiapName++ -- ** ScheduledInstancesLaunchSpecification+ , ScheduledInstancesLaunchSpecification+ , scheduledInstancesLaunchSpecification+ , silsSecurityGroupIds+ , silsKeyName+ , silsNetworkInterfaces+ , silsRAMDiskId+ , silsSubnetId+ , silsKernelId+ , silsInstanceType+ , silsEBSOptimized+ , silsUserData+ , silsMonitoring+ , silsIAMInstanceProfile+ , silsBlockDeviceMappings+ , silsPlacement+ , silsImageId++ -- ** ScheduledInstancesMonitoring+ , ScheduledInstancesMonitoring+ , scheduledInstancesMonitoring+ , simEnabled++ -- ** ScheduledInstancesNetworkInterface+ , ScheduledInstancesNetworkInterface+ , scheduledInstancesNetworkInterface+ , siniGroups+ , siniDeleteOnTermination+ , siniAssociatePublicIPAddress+ , siniPrivateIPAddressConfigs+ , siniNetworkInterfaceId+ , siniSubnetId+ , siniPrivateIPAddress+ , siniSecondaryPrivateIPAddressCount+ , siniDescription+ , siniDeviceIndex++ -- ** ScheduledInstancesPlacement+ , ScheduledInstancesPlacement+ , scheduledInstancesPlacement+ , sipAvailabilityZone+ , sipGroupName++ -- ** ScheduledInstancesPrivateIPAddressConfig+ , ScheduledInstancesPrivateIPAddressConfig+ , scheduledInstancesPrivateIPAddressConfig+ , sipiacPrimary+ , sipiacPrivateIPAddress+ -- ** SecurityGroup , SecurityGroup , securityGroup@@ -2020,6 +2190,18 @@ , sgGroupName , sgDescription + -- ** SlotDateTimeRangeRequest+ , SlotDateTimeRangeRequest+ , slotDateTimeRangeRequest+ , sdtrrEarliestTime+ , sdtrrLatestTime++ -- ** SlotStartTimeRangeRequest+ , SlotStartTimeRangeRequest+ , slotStartTimeRangeRequest+ , sstrrLatestTime+ , sstrrEarliestTime+ -- ** Snapshot , Snapshot , snapshot@@ -2250,9 +2432,12 @@ -- ** UserIdGroupPair , UserIdGroupPair , userIdGroupPair+ , uigpVPCPeeringConnectionId+ , uigpVPCId , uigpUserId , uigpGroupId , uigpGroupName+ , uigpPeeringStatus -- ** VGWTelemetry , VGWTelemetry@@ -2543,6 +2728,8 @@ import Network.AWS.EC2.DescribeReservedInstancesModifications import Network.AWS.EC2.DescribeReservedInstancesOfferings import Network.AWS.EC2.DescribeRouteTables+import Network.AWS.EC2.DescribeScheduledInstanceAvailability+import Network.AWS.EC2.DescribeScheduledInstances import Network.AWS.EC2.DescribeSecurityGroups import Network.AWS.EC2.DescribeSnapshotAttribute import Network.AWS.EC2.DescribeSnapshots@@ -2559,6 +2746,7 @@ import Network.AWS.EC2.DescribeVolumeStatus import Network.AWS.EC2.DescribeVPCAttribute import Network.AWS.EC2.DescribeVPCClassicLink+import Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport import Network.AWS.EC2.DescribeVPCEndpoints import Network.AWS.EC2.DescribeVPCEndpointServices import Network.AWS.EC2.DescribeVPCPeeringConnections@@ -2572,11 +2760,13 @@ import Network.AWS.EC2.DetachVPNGateway import Network.AWS.EC2.DisableVGWRoutePropagation import Network.AWS.EC2.DisableVPCClassicLink+import Network.AWS.EC2.DisableVPCClassicLinkDNSSupport import Network.AWS.EC2.DisassociateAddress import Network.AWS.EC2.DisassociateRouteTable import Network.AWS.EC2.EnableVGWRoutePropagation import Network.AWS.EC2.EnableVolumeIO import Network.AWS.EC2.EnableVPCClassicLink+import Network.AWS.EC2.EnableVPCClassicLinkDNSSupport import Network.AWS.EC2.GetConsoleOutput import Network.AWS.EC2.GetPasswordData import Network.AWS.EC2.ImportImage@@ -2584,6 +2774,7 @@ import Network.AWS.EC2.ImportKeyPair import Network.AWS.EC2.ImportSnapshot import Network.AWS.EC2.ImportVolume+import Network.AWS.EC2.Internal import Network.AWS.EC2.ModifyHosts import Network.AWS.EC2.ModifyIdFormat import Network.AWS.EC2.ModifyImageAttribute@@ -2600,6 +2791,7 @@ import Network.AWS.EC2.MonitorInstances import Network.AWS.EC2.MoveAddressToVPC import Network.AWS.EC2.PurchaseReservedInstancesOffering+import Network.AWS.EC2.PurchaseScheduledInstances import Network.AWS.EC2.RebootInstances import Network.AWS.EC2.RegisterImage import Network.AWS.EC2.RejectVPCPeeringConnection@@ -2620,6 +2812,7 @@ import Network.AWS.EC2.RevokeSecurityGroupEgress import Network.AWS.EC2.RevokeSecurityGroupIngress import Network.AWS.EC2.RunInstances+import Network.AWS.EC2.RunScheduledInstances import Network.AWS.EC2.StartInstances import Network.AWS.EC2.StopInstances import Network.AWS.EC2.TerminateInstances
gen/Network/AWS/EC2/AcceptVPCPeeringConnection.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AcceptVPCPeeringConnection--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- must be the owner of the peer VPC. Use the -- 'DescribeVpcPeeringConnections' request to view your outstanding VPC -- peering connection requests.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AcceptVPCPeeringConnection.html AWS API Reference> for AcceptVPCPeeringConnection. module Network.AWS.EC2.AcceptVPCPeeringConnection ( -- * Creating a Request@@ -84,13 +82,15 @@ instance AWSRequest AcceptVPCPeeringConnection where type Rs AcceptVPCPeeringConnection = AcceptVPCPeeringConnectionResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> AcceptVPCPeeringConnectionResponse' <$> (x .@? "vpcPeeringConnection") <*> (pure (fromEnum s)))++instance Hashable AcceptVPCPeeringConnection instance ToHeaders AcceptVPCPeeringConnection where toHeaders = const mempty
gen/Network/AWS/EC2/AllocateAddress.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AllocateAddress--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- in a VPC. For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP Addresses> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AllocateAddress.html AWS API Reference> for AllocateAddress. module Network.AWS.EC2.AllocateAddress ( -- * Creating a Request@@ -88,7 +86,7 @@ instance AWSRequest AllocateAddress where type Rs AllocateAddress = AllocateAddressResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -96,6 +94,8 @@ (x .@? "allocationId") <*> (x .@? "domain") <*> (x .@? "publicIp") <*> (pure (fromEnum s)))++instance Hashable AllocateAddress instance ToHeaders AllocateAddress where toHeaders = const mempty
gen/Network/AWS/EC2/AllocateHosts.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AllocateHosts--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -21,8 +21,6 @@ -- Allocates a Dedicated host to your account. At minimum you need to -- specify the instance size type, Availability Zone, and quantity of hosts -- you want to allocate.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AllocateHosts.html AWS API Reference> for AllocateHosts. module Network.AWS.EC2.AllocateHosts ( -- * Creating a Request@@ -118,7 +116,7 @@ instance AWSRequest AllocateHosts where type Rs AllocateHosts = AllocateHostsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -126,6 +124,8 @@ (x .@? "hostIdSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable AllocateHosts instance ToHeaders AllocateHosts where toHeaders = const mempty
gen/Network/AWS/EC2/AssignPrivateIPAddresses.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AssignPrivateIPAddresses--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -31,8 +31,6 @@ -- in the /Amazon Elastic Compute Cloud User Guide/. -- -- AssignPrivateIpAddresses is available only in EC2-VPC.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AssignPrivateIPAddresses.html AWS API Reference> for AssignPrivateIPAddresses. module Network.AWS.EC2.AssignPrivateIPAddresses ( -- * Creating a Request@@ -114,9 +112,11 @@ instance AWSRequest AssignPrivateIPAddresses where type Rs AssignPrivateIPAddresses = AssignPrivateIPAddressesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull AssignPrivateIPAddressesResponse'++instance Hashable AssignPrivateIPAddresses instance ToHeaders AssignPrivateIPAddresses where toHeaders = const mempty
gen/Network/AWS/EC2/AssociateAddress.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AssociateAddress--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -38,8 +38,6 @@ -- -- This is an idempotent operation. If you perform the operation more than -- once, Amazon EC2 doesn\'t return an error.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AssociateAddress.html AWS API Reference> for AssociateAddress. module Network.AWS.EC2.AssociateAddress ( -- * Creating a Request@@ -155,12 +153,14 @@ instance AWSRequest AssociateAddress where type Rs AssociateAddress = AssociateAddressResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> AssociateAddressResponse' <$> (x .@? "associationId") <*> (pure (fromEnum s)))++instance Hashable AssociateAddress instance ToHeaders AssociateAddress where toHeaders = const mempty
gen/Network/AWS/EC2/AssociateDHCPOptions.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AssociateDHCPOptions--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -31,8 +31,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html DHCP Options Sets> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AssociateDHCPOptions.html AWS API Reference> for AssociateDHCPOptions. module Network.AWS.EC2.AssociateDHCPOptions ( -- * Creating a Request@@ -101,8 +99,10 @@ instance AWSRequest AssociateDHCPOptions where type Rs AssociateDHCPOptions = AssociateDHCPOptionsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull AssociateDHCPOptionsResponse'++instance Hashable AssociateDHCPOptions instance ToHeaders AssociateDHCPOptions where toHeaders = const mempty
gen/Network/AWS/EC2/AssociateRouteTable.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AssociateRouteTable--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -28,8 +28,6 @@ -- For more information about route tables, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html Route Tables> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AssociateRouteTable.html AWS API Reference> for AssociateRouteTable. module Network.AWS.EC2.AssociateRouteTable ( -- * Creating a Request@@ -100,12 +98,14 @@ instance AWSRequest AssociateRouteTable where type Rs AssociateRouteTable = AssociateRouteTableResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> AssociateRouteTableResponse' <$> (x .@? "associationId") <*> (pure (fromEnum s)))++instance Hashable AssociateRouteTable instance ToHeaders AssociateRouteTable where toHeaders = const mempty
gen/Network/AWS/EC2/AttachClassicLinkVPC.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AttachClassicLinkVPC--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -31,8 +31,6 @@ -- -- Linking your instance to a VPC is sometimes referred to as /attaching/ -- your instance.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachClassicLinkVPC.html AWS API Reference> for AttachClassicLinkVPC. module Network.AWS.EC2.AttachClassicLinkVPC ( -- * Creating a Request@@ -114,12 +112,14 @@ instance AWSRequest AttachClassicLinkVPC where type Rs AttachClassicLinkVPC = AttachClassicLinkVPCResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> AttachClassicLinkVPCResponse' <$> (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable AttachClassicLinkVPC instance ToHeaders AttachClassicLinkVPC where toHeaders = const mempty
gen/Network/AWS/EC2/AttachInternetGateway.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AttachInternetGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- Internet and the VPC. For more information about your VPC and Internet -- gateway, see the -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/ Amazon Virtual Private Cloud User Guide>.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachInternetGateway.html AWS API Reference> for AttachInternetGateway. module Network.AWS.EC2.AttachInternetGateway ( -- * Creating a Request@@ -91,8 +89,10 @@ instance AWSRequest AttachInternetGateway where type Rs AttachInternetGateway = AttachInternetGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull AttachInternetGatewayResponse'++instance Hashable AttachInternetGateway instance ToHeaders AttachInternetGateway where toHeaders = const mempty
gen/Network/AWS/EC2/AttachNetworkInterface.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.AttachNetworkInterface--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Attaches a network interface to an instance.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachNetworkInterface.html AWS API Reference> for AttachNetworkInterface. module Network.AWS.EC2.AttachNetworkInterface ( -- * Creating a Request@@ -101,12 +99,14 @@ instance AWSRequest AttachNetworkInterface where type Rs AttachNetworkInterface = AttachNetworkInterfaceResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> AttachNetworkInterfaceResponse' <$> (x .@? "attachmentId") <*> (pure (fromEnum s)))++instance Hashable AttachNetworkInterface instance ToHeaders AttachNetworkInterface where toHeaders = const mempty
gen/Network/AWS/EC2/AttachVPNGateway.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AttachVPNGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -21,8 +21,6 @@ -- Attaches a virtual private gateway to a VPC. For more information, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a Hardware Virtual Private Gateway to Your VPC> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachVPNGateway.html AWS API Reference> for AttachVPNGateway. module Network.AWS.EC2.AttachVPNGateway ( -- * Creating a Request@@ -92,12 +90,14 @@ instance AWSRequest AttachVPNGateway where type Rs AttachVPNGateway = AttachVPNGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> AttachVPNGatewayResponse' <$> (x .@? "attachment") <*> (pure (fromEnum s)))++instance Hashable AttachVPNGateway instance ToHeaders AttachVPNGateway where toHeaders = const mempty
gen/Network/AWS/EC2/AttachVolume.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AttachVolume--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -49,8 +49,6 @@ -- For more information about EBS volumes, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html Attaching Amazon EBS Volumes> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachVolume.html AWS API Reference> for AttachVolume. module Network.AWS.EC2.AttachVolume ( -- * Creating a Request@@ -136,8 +134,10 @@ instance AWSRequest AttachVolume where type Rs AttachVolume = VolumeAttachment- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> parseXML x)++instance Hashable AttachVolume instance ToHeaders AttachVolume where toHeaders = const mempty
gen/Network/AWS/EC2/AuthorizeSecurityGroupEgress.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AuthorizeSecurityGroupEgress--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -37,8 +37,6 @@ -- -- Rule changes are propagated to affected instances as quickly as -- possible. However, a small delay might occur.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AuthorizeSecurityGroupEgress.html AWS API Reference> for AuthorizeSecurityGroupEgress. module Network.AWS.EC2.AuthorizeSecurityGroupEgress ( -- * Creating a Request@@ -171,9 +169,11 @@ where type Rs AuthorizeSecurityGroupEgress = AuthorizeSecurityGroupEgressResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull AuthorizeSecurityGroupEgressResponse'++instance Hashable AuthorizeSecurityGroupEgress instance ToHeaders AuthorizeSecurityGroupEgress where toHeaders = const mempty
gen/Network/AWS/EC2/AuthorizeSecurityGroupIngress.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.AuthorizeSecurityGroupIngress--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -39,8 +39,6 @@ -- other security groups (called the /source groups/) permission to access -- a security group for your VPC. The security groups must all be for the -- same VPC.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AuthorizeSecurityGroupIngress.html AWS API Reference> for AuthorizeSecurityGroupIngress. module Network.AWS.EC2.AuthorizeSecurityGroupIngress ( -- * Creating a Request@@ -188,9 +186,11 @@ where type Rs AuthorizeSecurityGroupIngress = AuthorizeSecurityGroupIngressResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull AuthorizeSecurityGroupIngressResponse'++instance Hashable AuthorizeSecurityGroupIngress instance ToHeaders AuthorizeSecurityGroupIngress where
gen/Network/AWS/EC2/BundleInstance.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.BundleInstance--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -28,8 +28,6 @@ -- -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html Creating an Instance Store-Backed Windows AMI>.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-BundleInstance.html AWS API Reference> for BundleInstance. module Network.AWS.EC2.BundleInstance ( -- * Creating a Request@@ -108,12 +106,14 @@ instance AWSRequest BundleInstance where type Rs BundleInstance = BundleInstanceResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> BundleInstanceResponse' <$> (x .@? "bundleInstanceTask") <*> (pure (fromEnum s)))++instance Hashable BundleInstance instance ToHeaders BundleInstance where toHeaders = const mempty
gen/Network/AWS/EC2/CancelBundleTask.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CancelBundleTask--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Cancels a bundling operation for an instance store-backed Windows -- instance.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelBundleTask.html AWS API Reference> for CancelBundleTask. module Network.AWS.EC2.CancelBundleTask ( -- * Creating a Request@@ -81,12 +79,14 @@ instance AWSRequest CancelBundleTask where type Rs CancelBundleTask = CancelBundleTaskResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CancelBundleTaskResponse' <$> (x .@? "bundleInstanceTask") <*> (pure (fromEnum s)))++instance Hashable CancelBundleTask instance ToHeaders CancelBundleTask where toHeaders = const mempty
gen/Network/AWS/EC2/CancelConversionTask.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CancelConversionTask--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -27,8 +27,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelConversionTask.html AWS API Reference> for CancelConversionTask. module Network.AWS.EC2.CancelConversionTask ( -- * Creating a Request@@ -95,8 +93,10 @@ instance AWSRequest CancelConversionTask where type Rs CancelConversionTask = CancelConversionTaskResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull CancelConversionTaskResponse'++instance Hashable CancelConversionTask instance ToHeaders CancelConversionTask where toHeaders = const mempty
gen/Network/AWS/EC2/CancelExportTask.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CancelExportTask--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- export, including any partially-created Amazon S3 objects. If the export -- task is complete or is in the process of transferring the final disk -- image, the command fails and returns an error.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelExportTask.html AWS API Reference> for CancelExportTask. module Network.AWS.EC2.CancelExportTask ( -- * Creating a Request@@ -69,8 +67,10 @@ instance AWSRequest CancelExportTask where type Rs CancelExportTask = CancelExportTaskResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull CancelExportTaskResponse'++instance Hashable CancelExportTask instance ToHeaders CancelExportTask where toHeaders = const mempty
gen/Network/AWS/EC2/CancelImportTask.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.CancelImportTask--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Cancels an in-process import virtual machine or import snapshot task.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelImportTask.html AWS API Reference> for CancelImportTask. module Network.AWS.EC2.CancelImportTask ( -- * Creating a Request@@ -90,7 +88,7 @@ instance AWSRequest CancelImportTask where type Rs CancelImportTask = CancelImportTaskResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -98,6 +96,8 @@ (x .@? "state") <*> (x .@? "importTaskId") <*> (x .@? "previousState") <*> (pure (fromEnum s)))++instance Hashable CancelImportTask instance ToHeaders CancelImportTask where toHeaders = const mempty
gen/Network/AWS/EC2/CancelReservedInstancesListing.hs view
@@ -12,20 +12,18 @@ -- | -- Module : Network.AWS.EC2.CancelReservedInstancesListing--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Cancels the specified Reserved instance listing in the Reserved Instance+-- Cancels the specified Reserved Instance listing in the Reserved Instance -- Marketplace. -- -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html Reserved Instance Marketplace> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelReservedInstancesListing.html AWS API Reference> for CancelReservedInstancesListing. module Network.AWS.EC2.CancelReservedInstancesListing ( -- * Creating a Request@@ -67,7 +65,7 @@ { _crilReservedInstancesListingId = pReservedInstancesListingId_ } --- | The ID of the Reserved instance listing.+-- | The ID of the Reserved Instance listing. crilReservedInstancesListingId :: Lens' CancelReservedInstancesListing Text crilReservedInstancesListingId = lens _crilReservedInstancesListingId (\ s a -> s{_crilReservedInstancesListingId = a}); @@ -75,7 +73,7 @@ where type Rs CancelReservedInstancesListing = CancelReservedInstancesListingResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -84,6 +82,8 @@ may (parseXMLList "item")) <*> (pure (fromEnum s))) +instance Hashable CancelReservedInstancesListing+ instance ToHeaders CancelReservedInstancesListing where toHeaders = const mempty@@ -122,7 +122,7 @@ , _crilrsResponseStatus = pResponseStatus_ } --- | The Reserved instance listing.+-- | The Reserved Instance listing. crilrsReservedInstancesListings :: Lens' CancelReservedInstancesListingResponse [ReservedInstancesListing] crilrsReservedInstancesListings = lens _crilrsReservedInstancesListings (\ s a -> s{_crilrsReservedInstancesListings = a}) . _Default . _Coerce;
gen/Network/AWS/EC2/CancelSpotFleetRequests.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CancelSpotFleetRequests--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -27,8 +27,6 @@ -- Spot fleet request enters the 'cancelled_running' state and the -- instances continue to run until they are interrupted or you terminate -- them manually.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelSpotFleetRequests.html AWS API Reference> for CancelSpotFleetRequests. module Network.AWS.EC2.CancelSpotFleetRequests ( -- * Creating a Request@@ -102,7 +100,7 @@ instance AWSRequest CancelSpotFleetRequests where type Rs CancelSpotFleetRequests = CancelSpotFleetRequestsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -113,6 +111,8 @@ (x .@? "unsuccessfulFleetRequestSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable CancelSpotFleetRequests instance ToHeaders CancelSpotFleetRequests where toHeaders = const mempty
gen/Network/AWS/EC2/CancelSpotInstanceRequests.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CancelSpotInstanceRequests--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -28,8 +28,6 @@ -- -- Canceling a Spot instance request does not terminate running Spot -- instances associated with the request.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelSpotInstanceRequests.html AWS API Reference> for CancelSpotInstanceRequests. module Network.AWS.EC2.CancelSpotInstanceRequests ( -- * Creating a Request@@ -91,7 +89,7 @@ instance AWSRequest CancelSpotInstanceRequests where type Rs CancelSpotInstanceRequests = CancelSpotInstanceRequestsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -99,6 +97,8 @@ (x .@? "spotInstanceRequestSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable CancelSpotInstanceRequests instance ToHeaders CancelSpotInstanceRequests where toHeaders = const mempty
gen/Network/AWS/EC2/ConfirmProductInstance.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ConfirmProductInstance--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- action can only be used by the owner of the product code. It is useful -- when a product code owner needs to verify whether another user\'s -- instance is eligible for support.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ConfirmProductInstance.html AWS API Reference> for ConfirmProductInstance. module Network.AWS.EC2.ConfirmProductInstance ( -- * Creating a Request@@ -95,13 +93,15 @@ instance AWSRequest ConfirmProductInstance where type Rs ConfirmProductInstance = ConfirmProductInstanceResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> ConfirmProductInstanceResponse' <$> (x .@? "return") <*> (x .@? "ownerId") <*> (pure (fromEnum s)))++instance Hashable ConfirmProductInstance instance ToHeaders ConfirmProductInstance where toHeaders = const mempty
gen/Network/AWS/EC2/CopyImage.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CopyImage--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -25,8 +25,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html Copying AMIs> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CopyImage.html AWS API Reference> for CopyImage. module Network.AWS.EC2.CopyImage ( -- * Creating a Request@@ -160,12 +158,14 @@ instance AWSRequest CopyImage where type Rs CopyImage = CopyImageResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CopyImageResponse' <$> (x .@? "imageId") <*> (pure (fromEnum s)))++instance Hashable CopyImage instance ToHeaders CopyImage where toHeaders = const mempty
gen/Network/AWS/EC2/CopySnapshot.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CopySnapshot--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -34,8 +34,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html Copying an Amazon EBS Snapshot> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CopySnapshot.html AWS API Reference> for CopySnapshot. module Network.AWS.EC2.CopySnapshot ( -- * Creating a Request@@ -185,12 +183,14 @@ instance AWSRequest CopySnapshot where type Rs CopySnapshot = CopySnapshotResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CopySnapshotResponse' <$> (x .@? "snapshotId") <*> (pure (fromEnum s)))++instance Hashable CopySnapshot instance ToHeaders CopySnapshot where toHeaders = const mempty
gen/Network/AWS/EC2/CreateCustomerGateway.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateCustomerGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -44,8 +44,6 @@ -- gateway, and subsequent requests return information about the existing -- customer gateway. The subsequent requests do not create new customer -- gateway resources.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateCustomerGateway.html AWS API Reference> for CreateCustomerGateway. module Network.AWS.EC2.CreateCustomerGateway ( -- * Creating a Request@@ -130,12 +128,14 @@ instance AWSRequest CreateCustomerGateway where type Rs CreateCustomerGateway = CreateCustomerGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateCustomerGatewayResponse' <$> (x .@? "customerGateway") <*> (pure (fromEnum s)))++instance Hashable CreateCustomerGateway instance ToHeaders CreateCustomerGateway where toHeaders = const mempty
gen/Network/AWS/EC2/CreateDHCPOptions.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateDHCPOptions--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,8 +57,6 @@ -- information about DHCP options, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html DHCP Options Sets> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateDHCPOptions.html AWS API Reference> for CreateDHCPOptions. module Network.AWS.EC2.CreateDHCPOptions ( -- * Creating a Request@@ -117,12 +115,14 @@ instance AWSRequest CreateDHCPOptions where type Rs CreateDHCPOptions = CreateDHCPOptionsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateDHCPOptionsResponse' <$> (x .@? "dhcpOptions") <*> (pure (fromEnum s)))++instance Hashable CreateDHCPOptions instance ToHeaders CreateDHCPOptions where toHeaders = const mempty
gen/Network/AWS/EC2/CreateFlowLogs.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateFlowLogs--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -28,8 +28,6 @@ -- -- In your request, you must also specify an IAM role that has permission -- to publish logs to CloudWatch Logs.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateFlowLogs.html AWS API Reference> for CreateFlowLogs. module Network.AWS.EC2.CreateFlowLogs ( -- * Creating a Request@@ -130,7 +128,7 @@ instance AWSRequest CreateFlowLogs where type Rs CreateFlowLogs = CreateFlowLogsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -142,6 +140,8 @@ (x .@? "flowLogIdSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable CreateFlowLogs instance ToHeaders CreateFlowLogs where toHeaders = const mempty
gen/Network/AWS/EC2/CreateImage.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateImage--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -30,8 +30,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html Creating Amazon EBS-Backed Linux AMIs> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateImage.html AWS API Reference> for CreateImage. module Network.AWS.EC2.CreateImage ( -- * Creating a Request@@ -137,12 +135,14 @@ instance AWSRequest CreateImage where type Rs CreateImage = CreateImageResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateImageResponse' <$> (x .@? "imageId") <*> (pure (fromEnum s)))++instance Hashable CreateImage instance ToHeaders CreateImage where toHeaders = const mempty
gen/Network/AWS/EC2/CreateInstanceExportTask.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateInstanceExportTask--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- and known limitations for the types of instances you can export, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExportingEC2Instances.html Exporting EC2 Instances> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateInstanceExportTask.html AWS API Reference> for CreateInstanceExportTask. module Network.AWS.EC2.CreateInstanceExportTask ( -- * Creating a Request@@ -102,12 +100,14 @@ instance AWSRequest CreateInstanceExportTask where type Rs CreateInstanceExportTask = CreateInstanceExportTaskResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateInstanceExportTaskResponse' <$> (x .@? "exportTask") <*> (pure (fromEnum s)))++instance Hashable CreateInstanceExportTask instance ToHeaders CreateInstanceExportTask where toHeaders = const mempty
gen/Network/AWS/EC2/CreateInternetGateway.hs view
@@ -12,19 +12,17 @@ -- | -- Module : Network.AWS.EC2.CreateInternetGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Creates an Internet gateway for use with a VPC. After creating the--- Internet gateway, you attach it to a VPC using AttachInternetGateway.+-- Internet gateway, you attach it to a VPC using < AttachInternetGateway>. -- -- For more information about your VPC and Internet gateway, see the -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/ Amazon Virtual Private Cloud User Guide>.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateInternetGateway.html AWS API Reference> for CreateInternetGateway. module Network.AWS.EC2.CreateInternetGateway ( -- * Creating a Request@@ -75,12 +73,14 @@ instance AWSRequest CreateInternetGateway where type Rs CreateInternetGateway = CreateInternetGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateInternetGatewayResponse' <$> (x .@? "internetGateway") <*> (pure (fromEnum s)))++instance Hashable CreateInternetGateway instance ToHeaders CreateInternetGateway where toHeaders = const mempty
gen/Network/AWS/EC2/CreateKeyPair.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateKeyPair--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -28,13 +28,11 @@ -- -- The key pair returned to you is available only in the region in which -- you create it. To create a key pair that is available in all regions,--- use ImportKeyPair.+-- use < ImportKeyPair>. -- -- For more information about key pairs, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html Key Pairs> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateKeyPair.html AWS API Reference> for CreateKeyPair. module Network.AWS.EC2.CreateKeyPair ( -- * Creating a Request@@ -98,7 +96,7 @@ instance AWSRequest CreateKeyPair where type Rs CreateKeyPair = CreateKeyPairResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -106,6 +104,8 @@ (pure (fromEnum s)) <*> (x .@ "keyName") <*> (x .@ "keyFingerprint") <*> (x .@ "keyMaterial"))++instance Hashable CreateKeyPair instance ToHeaders CreateKeyPair where toHeaders = const mempty
gen/Network/AWS/EC2/CreateNatGateway.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateNatGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -25,8 +25,6 @@ -- information, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html NAT Gateways> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateNatGateway.html AWS API Reference> for CreateNatGateway. module Network.AWS.EC2.CreateNatGateway ( -- * Creating a Request@@ -100,13 +98,15 @@ instance AWSRequest CreateNatGateway where type Rs CreateNatGateway = CreateNatGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateNatGatewayResponse' <$> (x .@? "clientToken") <*> (x .@? "natGateway") <*> (pure (fromEnum s)))++instance Hashable CreateNatGateway instance ToHeaders CreateNatGateway where toHeaders = const mempty
gen/Network/AWS/EC2/CreateNetworkACL.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateNetworkACL--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -25,8 +25,6 @@ -- For more information about network ACLs, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html Network ACLs> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateNetworkACL.html AWS API Reference> for CreateNetworkACL. module Network.AWS.EC2.CreateNetworkACL ( -- * Creating a Request@@ -86,12 +84,14 @@ instance AWSRequest CreateNetworkACL where type Rs CreateNetworkACL = CreateNetworkACLResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateNetworkACLResponse' <$> (x .@? "networkAcl") <*> (pure (fromEnum s)))++instance Hashable CreateNetworkACL instance ToHeaders CreateNetworkACL where toHeaders = const mempty
gen/Network/AWS/EC2/CreateNetworkACLEntry.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateNetworkACLEntry--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -37,8 +37,6 @@ -- For more information about network ACLs, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html Network ACLs> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateNetworkACLEntry.html AWS API Reference> for CreateNetworkACLEntry. module Network.AWS.EC2.CreateNetworkACLEntry ( -- * Creating a Request@@ -170,8 +168,10 @@ instance AWSRequest CreateNetworkACLEntry where type Rs CreateNetworkACLEntry = CreateNetworkACLEntryResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull CreateNetworkACLEntryResponse'++instance Hashable CreateNetworkACLEntry instance ToHeaders CreateNetworkACLEntry where toHeaders = const mempty
gen/Network/AWS/EC2/CreateNetworkInterface.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateNetworkInterface--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- For more information about network interfaces, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html Elastic Network Interfaces> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateNetworkInterface.html AWS API Reference> for CreateNetworkInterface. module Network.AWS.EC2.CreateNetworkInterface ( -- * Creating a Request@@ -143,12 +141,14 @@ instance AWSRequest CreateNetworkInterface where type Rs CreateNetworkInterface = CreateNetworkInterfaceResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateNetworkInterfaceResponse' <$> (x .@? "networkInterface") <*> (pure (fromEnum s)))++instance Hashable CreateNetworkInterface instance ToHeaders CreateNetworkInterface where toHeaders = const mempty
gen/Network/AWS/EC2/CreatePlacementGroup.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreatePlacementGroup--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -25,8 +25,6 @@ -- For more information about placement groups and cluster instances, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html Cluster Instances> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreatePlacementGroup.html AWS API Reference> for CreatePlacementGroup. module Network.AWS.EC2.CreatePlacementGroup ( -- * Creating a Request@@ -96,8 +94,10 @@ instance AWSRequest CreatePlacementGroup where type Rs CreatePlacementGroup = CreatePlacementGroupResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull CreatePlacementGroupResponse'++instance Hashable CreatePlacementGroup instance ToHeaders CreatePlacementGroup where toHeaders = const mempty
gen/Network/AWS/EC2/CreateReservedInstancesListing.hs view
@@ -12,36 +12,34 @@ -- | -- Module : Network.AWS.EC2.CreateReservedInstancesListing--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a listing for Amazon EC2 Reserved instances to be sold in the--- Reserved Instance Marketplace. You can submit one Reserved instance--- listing at a time. To get a list of your Reserved instances, you can use--- the DescribeReservedInstances operation.+-- Creates a listing for Amazon EC2 Reserved Instances to be sold in the+-- Reserved Instance Marketplace. You can submit one Reserved Instance+-- listing at a time. To get a list of your Reserved Instances, you can use+-- the < DescribeReservedInstances> operation. -- -- The Reserved Instance Marketplace matches sellers who want to resell--- Reserved instance capacity that they no longer need with buyers who want--- to purchase additional capacity. Reserved instances bought and sold+-- Reserved Instance capacity that they no longer need with buyers who want+-- to purchase additional capacity. Reserved Instances bought and sold -- through the Reserved Instance Marketplace work like any other Reserved--- instances.+-- Instances. ----- To sell your Reserved instances, you must first register as a seller in+-- To sell your Reserved Instances, you must first register as a seller in -- the Reserved Instance Marketplace. After completing the registration -- process, you can create a Reserved Instance Marketplace listing of some--- or all of your Reserved instances, and specify the upfront price to--- receive for them. Your Reserved instance listings then become available--- for purchase. To view the details of your Reserved instance listing, you--- can use the DescribeReservedInstancesListings operation.+-- or all of your Reserved Instances, and specify the upfront price to+-- receive for them. Your Reserved Instance listings then become available+-- for purchase. To view the details of your Reserved Instance listing, you+-- can use the < DescribeReservedInstancesListings> operation. -- -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html Reserved Instance Marketplace> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateReservedInstancesListing.html AWS API Reference> for CreateReservedInstancesListing. module Network.AWS.EC2.CreateReservedInstancesListing ( -- * Creating a Request@@ -100,19 +98,19 @@ , _crilClientToken = pClientToken_ } --- | The ID of the active Reserved instance.+-- | The ID of the active Reserved Instance. crilReservedInstancesId :: Lens' CreateReservedInstancesListing Text crilReservedInstancesId = lens _crilReservedInstancesId (\ s a -> s{_crilReservedInstancesId = a}); --- | The number of instances that are a part of a Reserved instance account+-- | The number of instances that are a part of a Reserved Instance account -- to be listed in the Reserved Instance Marketplace. This number should be -- less than or equal to the instance count associated with the Reserved--- instance ID specified in this call.+-- Instance ID specified in this call. crilInstanceCount :: Lens' CreateReservedInstancesListing Int crilInstanceCount = lens _crilInstanceCount (\ s a -> s{_crilInstanceCount = a}); --- | A list specifying the price of the Reserved instance for each month--- remaining in the Reserved instance term.+-- | A list specifying the price of the Reserved Instance for each month+-- remaining in the Reserved Instance term. crilPriceSchedules :: Lens' CreateReservedInstancesListing [PriceScheduleSpecification] crilPriceSchedules = lens _crilPriceSchedules (\ s a -> s{_crilPriceSchedules = a}) . _Coerce; @@ -127,7 +125,7 @@ where type Rs CreateReservedInstancesListing = CreateReservedInstancesListingResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -136,6 +134,8 @@ may (parseXMLList "item")) <*> (pure (fromEnum s))) +instance Hashable CreateReservedInstancesListing+ instance ToHeaders CreateReservedInstancesListing where toHeaders = const mempty@@ -176,7 +176,7 @@ , _crersResponseStatus = pResponseStatus_ } --- | Information about the Reserved instance listing.+-- | Information about the Reserved Instance listing. crersReservedInstancesListings :: Lens' CreateReservedInstancesListingResponse [ReservedInstancesListing] crersReservedInstancesListings = lens _crersReservedInstancesListings (\ s a -> s{_crersReservedInstancesListings = a}) . _Default . _Coerce;
gen/Network/AWS/EC2/CreateRoute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateRoute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -40,8 +40,6 @@ -- For more information about route tables, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html Route Tables> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateRoute.html AWS API Reference> for CreateRoute. module Network.AWS.EC2.CreateRoute ( -- * Creating a Request@@ -159,12 +157,14 @@ instance AWSRequest CreateRoute where type Rs CreateRoute = CreateRouteResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateRouteResponse' <$> (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable CreateRoute instance ToHeaders CreateRoute where toHeaders = const mempty
gen/Network/AWS/EC2/CreateRouteTable.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateRouteTable--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- For more information about route tables, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html Route Tables> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateRouteTable.html AWS API Reference> for CreateRouteTable. module Network.AWS.EC2.CreateRouteTable ( -- * Creating a Request@@ -85,12 +83,14 @@ instance AWSRequest CreateRouteTable where type Rs CreateRouteTable = CreateRouteTableResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateRouteTableResponse' <$> (x .@? "routeTable") <*> (pure (fromEnum s)))++instance Hashable CreateRouteTable instance ToHeaders CreateRouteTable where toHeaders = const mempty
gen/Network/AWS/EC2/CreateSecurityGroup.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateSecurityGroup--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -29,7 +29,7 @@ -- -- EC2-Classic: You can have up to 500 security groups. ----- EC2-VPC: You can create up to 100 security groups per VPC.+-- EC2-VPC: You can create up to 500 security groups per VPC. -- -- When you create a security group, you specify a friendly name of your -- choice. You can have a security group for use in EC2-Classic with the@@ -45,10 +45,8 @@ -- other. -- -- You can add or remove rules from your security groups using--- AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress,--- RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSecurityGroup.html AWS API Reference> for CreateSecurityGroup.+-- < AuthorizeSecurityGroupIngress>, < AuthorizeSecurityGroupEgress>,+-- < RevokeSecurityGroupIngress>, and < RevokeSecurityGroupEgress>. module Network.AWS.EC2.CreateSecurityGroup ( -- * Creating a Request@@ -142,12 +140,14 @@ instance AWSRequest CreateSecurityGroup where type Rs CreateSecurityGroup = CreateSecurityGroupResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateSecurityGroupResponse' <$> (pure (fromEnum s)) <*> (x .@ "groupId"))++instance Hashable CreateSecurityGroup instance ToHeaders CreateSecurityGroup where toHeaders = const mempty
gen/Network/AWS/EC2/CreateSnapshot.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateSnapshot--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -49,8 +49,6 @@ -- and -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBS Encryption> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSnapshot.html AWS API Reference> for CreateSnapshot. module Network.AWS.EC2.CreateSnapshot ( -- * Creating a Request@@ -131,8 +129,10 @@ instance AWSRequest CreateSnapshot where type Rs CreateSnapshot = Snapshot- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> parseXML x)++instance Hashable CreateSnapshot instance ToHeaders CreateSnapshot where toHeaders = const mempty
gen/Network/AWS/EC2/CreateSpotDatafeedSubscription.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateSpotDatafeedSubscription--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html Spot Instance Data Feed> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSpotDatafeedSubscription.html AWS API Reference> for CreateSpotDatafeedSubscription. module Network.AWS.EC2.CreateSpotDatafeedSubscription ( -- * Creating a Request@@ -97,13 +95,15 @@ where type Rs CreateSpotDatafeedSubscription = CreateSpotDatafeedSubscriptionResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateSpotDatafeedSubscriptionResponse' <$> (x .@? "spotDatafeedSubscription") <*> (pure (fromEnum s)))++instance Hashable CreateSpotDatafeedSubscription instance ToHeaders CreateSpotDatafeedSubscription where
gen/Network/AWS/EC2/CreateSubnet.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateSubnet--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -45,8 +45,6 @@ -- For more information about subnets, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html Your VPC and Subnets> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSubnet.html AWS API Reference> for CreateSubnet. module Network.AWS.EC2.CreateSubnet ( -- * Creating a Request@@ -130,12 +128,14 @@ instance AWSRequest CreateSubnet where type Rs CreateSubnet = CreateSubnetResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateSubnetResponse' <$> (x .@? "subnet") <*> (pure (fromEnum s)))++instance Hashable CreateSubnet instance ToHeaders CreateSubnet where toHeaders = const mempty
gen/Network/AWS/EC2/CreateTags.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateTags--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -30,8 +30,6 @@ -- based on tags, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html Supported Resource-Level Permissions for Amazon EC2 API Actions> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateTags.html AWS API Reference> for CreateTags. module Network.AWS.EC2.CreateTags ( -- * Creating a Request@@ -98,8 +96,10 @@ instance AWSRequest CreateTags where type Rs CreateTags = CreateTagsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull CreateTagsResponse'++instance Hashable CreateTags instance ToHeaders CreateTags where toHeaders = const mempty
gen/Network/AWS/EC2/CreateVPC.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateVPC--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -31,8 +31,6 @@ -- (AmazonProvidedDNS). For more information about DHCP options, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html DHCP Options Sets> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVPC.html AWS API Reference> for CreateVPC. module Network.AWS.EC2.CreateVPC ( -- * Creating a Request@@ -112,12 +110,14 @@ instance AWSRequest CreateVPC where type Rs CreateVPC = CreateVPCResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateVPCResponse' <$> (x .@? "vpc") <*> (pure (fromEnum s)))++instance Hashable CreateVPC instance ToHeaders CreateVPC where toHeaders = const mempty
gen/Network/AWS/EC2/CreateVPCEndpoint.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateVPCEndpoint--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -25,8 +25,6 @@ -- can also specify the VPC route tables that use the endpoint. -- -- Currently, only endpoints to Amazon S3 are supported.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVPCEndpoint.html AWS API Reference> for CreateVPCEndpoint. module Network.AWS.EC2.CreateVPCEndpoint ( -- * Creating a Request@@ -124,20 +122,22 @@ cveVPCId = lens _cveVPCId (\ s a -> s{_cveVPCId = a}); -- | The AWS service name, in the form 'com.amazonaws.region.service'. To get--- a list of available services, use the DescribeVpcEndpointServices+-- a list of available services, use the < DescribeVpcEndpointServices> -- request. cveServiceName :: Lens' CreateVPCEndpoint Text cveServiceName = lens _cveServiceName (\ s a -> s{_cveServiceName = a}); instance AWSRequest CreateVPCEndpoint where type Rs CreateVPCEndpoint = CreateVPCEndpointResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateVPCEndpointResponse' <$> (x .@? "clientToken") <*> (x .@? "vpcEndpoint") <*> (pure (fromEnum s)))++instance Hashable CreateVPCEndpoint instance ToHeaders CreateVPCEndpoint where toHeaders = const mempty
gen/Network/AWS/EC2/CreateVPCPeeringConnection.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateVPCPeeringConnection--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -30,8 +30,6 @@ -- A 'CreateVpcPeeringConnection' request between VPCs with overlapping -- CIDR blocks results in the VPC peering connection having a status of -- 'failed'.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVPCPeeringConnection.html AWS API Reference> for CreateVPCPeeringConnection. module Network.AWS.EC2.CreateVPCPeeringConnection ( -- * Creating a Request@@ -112,13 +110,15 @@ instance AWSRequest CreateVPCPeeringConnection where type Rs CreateVPCPeeringConnection = CreateVPCPeeringConnectionResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateVPCPeeringConnectionResponse' <$> (x .@? "vpcPeeringConnection") <*> (pure (fromEnum s)))++instance Hashable CreateVPCPeeringConnection instance ToHeaders CreateVPCPeeringConnection where toHeaders = const mempty
gen/Network/AWS/EC2/CreateVPNConnection.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateVPNConnection--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -35,8 +35,6 @@ -- For more information about VPN connections, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a Hardware Virtual Private Gateway to Your VPC> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVPNConnection.html AWS API Reference> for CreateVPNConnection. module Network.AWS.EC2.CreateVPNConnection ( -- * Creating a Request@@ -130,12 +128,14 @@ instance AWSRequest CreateVPNConnection where type Rs CreateVPNConnection = CreateVPNConnectionResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateVPNConnectionResponse' <$> (x .@? "vpnConnection") <*> (pure (fromEnum s)))++instance Hashable CreateVPNConnection instance ToHeaders CreateVPNConnection where toHeaders = const mempty
gen/Network/AWS/EC2/CreateVPNConnectionRoute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateVPNConnectionRoute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -26,8 +26,6 @@ -- For more information about VPN connections, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a Hardware Virtual Private Gateway to Your VPC> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVPNConnectionRoute.html AWS API Reference> for CreateVPNConnectionRoute. module Network.AWS.EC2.CreateVPNConnectionRoute ( -- * Creating a Request@@ -83,9 +81,11 @@ instance AWSRequest CreateVPNConnectionRoute where type Rs CreateVPNConnectionRoute = CreateVPNConnectionRouteResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull CreateVPNConnectionRouteResponse'++instance Hashable CreateVPNConnectionRoute instance ToHeaders CreateVPNConnectionRoute where toHeaders = const mempty
gen/Network/AWS/EC2/CreateVPNGateway.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateVPNGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -25,8 +25,6 @@ -- For more information about virtual private gateways, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a Hardware Virtual Private Gateway to Your VPC> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVPNGateway.html AWS API Reference> for CreateVPNGateway. module Network.AWS.EC2.CreateVPNGateway ( -- * Creating a Request@@ -95,12 +93,14 @@ instance AWSRequest CreateVPNGateway where type Rs CreateVPNGateway = CreateVPNGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> CreateVPNGatewayResponse' <$> (x .@? "vpnGateway") <*> (pure (fromEnum s)))++instance Hashable CreateVPNGateway instance ToHeaders CreateVPNGateway where toHeaders = const mempty
gen/Network/AWS/EC2/CreateVolume.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.CreateVolume--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -37,8 +37,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html Creating or Restoring an Amazon EBS Volume> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVolume.html AWS API Reference> for CreateVolume. module Network.AWS.EC2.CreateVolume ( -- * Creating a Request@@ -188,15 +186,17 @@ creSnapshotId = lens _creSnapshotId (\ s a -> s{_creSnapshotId = a}); -- | The Availability Zone in which to create the volume. Use--- DescribeAvailabilityZones to list the Availability Zones that are+-- < DescribeAvailabilityZones> to list the Availability Zones that are -- currently available to you. creAvailabilityZone :: Lens' CreateVolume Text creAvailabilityZone = lens _creAvailabilityZone (\ s a -> s{_creAvailabilityZone = a}); instance AWSRequest CreateVolume where type Rs CreateVolume = Volume- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> parseXML x)++instance Hashable CreateVolume instance ToHeaders CreateVolume where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteCustomerGateway.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteCustomerGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Deletes the specified customer gateway. You must delete the VPN -- connection before you can delete the customer gateway.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteCustomerGateway.html AWS API Reference> for DeleteCustomerGateway. module Network.AWS.EC2.DeleteCustomerGateway ( -- * Creating a Request@@ -79,8 +77,10 @@ instance AWSRequest DeleteCustomerGateway where type Rs DeleteCustomerGateway = DeleteCustomerGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteCustomerGatewayResponse'++instance Hashable DeleteCustomerGateway instance ToHeaders DeleteCustomerGateway where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteDHCPOptions.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteDHCPOptions--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- of DHCP options before you can delete it. You can disassociate the set -- of DHCP options by associating either a new set of options or the -- default set of options with the VPC.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteDHCPOptions.html AWS API Reference> for DeleteDHCPOptions. module Network.AWS.EC2.DeleteDHCPOptions ( -- * Creating a Request@@ -80,8 +78,10 @@ instance AWSRequest DeleteDHCPOptions where type Rs DeleteDHCPOptions = DeleteDHCPOptionsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteDHCPOptionsResponse'++instance Hashable DeleteDHCPOptions instance ToHeaders DeleteDHCPOptions where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteFlowLogs.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DeleteFlowLogs--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Deletes one or more flow logs.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteFlowLogs.html AWS API Reference> for DeleteFlowLogs. module Network.AWS.EC2.DeleteFlowLogs ( -- * Creating a Request@@ -67,7 +65,7 @@ instance AWSRequest DeleteFlowLogs where type Rs DeleteFlowLogs = DeleteFlowLogsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -75,6 +73,8 @@ (x .@? "unsuccessful" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DeleteFlowLogs instance ToHeaders DeleteFlowLogs where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteInternetGateway.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteInternetGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Deletes the specified Internet gateway. You must detach the Internet -- gateway from the VPC before you can delete it.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteInternetGateway.html AWS API Reference> for DeleteInternetGateway. module Network.AWS.EC2.DeleteInternetGateway ( -- * Creating a Request@@ -79,8 +77,10 @@ instance AWSRequest DeleteInternetGateway where type Rs DeleteInternetGateway = DeleteInternetGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteInternetGatewayResponse'++instance Hashable DeleteInternetGateway instance ToHeaders DeleteInternetGateway where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteKeyPair.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteKeyPair--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Deletes the specified key pair, by removing the public key from Amazon -- EC2.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteKeyPair.html AWS API Reference> for DeleteKeyPair. module Network.AWS.EC2.DeleteKeyPair ( -- * Creating a Request@@ -78,8 +76,10 @@ instance AWSRequest DeleteKeyPair where type Rs DeleteKeyPair = DeleteKeyPairResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteKeyPairResponse'++instance Hashable DeleteKeyPair instance ToHeaders DeleteKeyPair where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteNatGateway.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteNatGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- its Elastic IP address, but does not release the address from your -- account. Deleting a NAT gateway does not delete any NAT gateway routes -- in your route tables.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteNatGateway.html AWS API Reference> for DeleteNatGateway. module Network.AWS.EC2.DeleteNatGateway ( -- * Creating a Request@@ -71,12 +69,14 @@ instance AWSRequest DeleteNatGateway where type Rs DeleteNatGateway = DeleteNatGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> DeleteNatGatewayResponse' <$> (x .@? "natGatewayId") <*> (pure (fromEnum s)))++instance Hashable DeleteNatGateway instance ToHeaders DeleteNatGateway where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteNetworkACL.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteNetworkACL--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Deletes the specified network ACL. You can\'t delete the ACL if it\'s -- associated with any subnets. You can\'t delete the default network ACL.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteNetworkACL.html AWS API Reference> for DeleteNetworkACL. module Network.AWS.EC2.DeleteNetworkACL ( -- * Creating a Request@@ -78,8 +76,10 @@ instance AWSRequest DeleteNetworkACL where type Rs DeleteNetworkACL = DeleteNetworkACLResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteNetworkACLResponse'++instance Hashable DeleteNetworkACL instance ToHeaders DeleteNetworkACL where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteNetworkACLEntry.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteNetworkACLEntry--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Deletes the specified ingress or egress entry (rule) from the specified -- network ACL.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteNetworkACLEntry.html AWS API Reference> for DeleteNetworkACLEntry. module Network.AWS.EC2.DeleteNetworkACLEntry ( -- * Creating a Request@@ -99,8 +97,10 @@ instance AWSRequest DeleteNetworkACLEntry where type Rs DeleteNetworkACLEntry = DeleteNetworkACLEntryResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteNetworkACLEntryResponse'++instance Hashable DeleteNetworkACLEntry instance ToHeaders DeleteNetworkACLEntry where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteNetworkInterface.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteNetworkInterface--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Deletes the specified network interface. You must detach the network -- interface before you can delete it.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteNetworkInterface.html AWS API Reference> for DeleteNetworkInterface. module Network.AWS.EC2.DeleteNetworkInterface ( -- * Creating a Request@@ -79,9 +77,11 @@ instance AWSRequest DeleteNetworkInterface where type Rs DeleteNetworkInterface = DeleteNetworkInterfaceResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteNetworkInterfaceResponse'++instance Hashable DeleteNetworkInterface instance ToHeaders DeleteNetworkInterface where toHeaders = const mempty
gen/Network/AWS/EC2/DeletePlacementGroup.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeletePlacementGroup--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- more information about placement groups and cluster instances, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html Cluster Instances> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeletePlacementGroup.html AWS API Reference> for DeletePlacementGroup. module Network.AWS.EC2.DeletePlacementGroup ( -- * Creating a Request@@ -82,8 +80,10 @@ instance AWSRequest DeletePlacementGroup where type Rs DeletePlacementGroup = DeletePlacementGroupResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeletePlacementGroupResponse'++instance Hashable DeletePlacementGroup instance ToHeaders DeletePlacementGroup where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteRoute.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DeleteRoute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Deletes the specified route from the specified route table.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteRoute.html AWS API Reference> for DeleteRoute. module Network.AWS.EC2.DeleteRoute ( -- * Creating a Request@@ -88,8 +86,10 @@ instance AWSRequest DeleteRoute where type Rs DeleteRoute = DeleteRouteResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteRouteResponse'++instance Hashable DeleteRoute instance ToHeaders DeleteRoute where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteRouteTable.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteRouteTable--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -21,8 +21,6 @@ -- Deletes the specified route table. You must disassociate the route table -- from any subnets before you can delete it. You can\'t delete the main -- route table.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteRouteTable.html AWS API Reference> for DeleteRouteTable. module Network.AWS.EC2.DeleteRouteTable ( -- * Creating a Request@@ -79,8 +77,10 @@ instance AWSRequest DeleteRouteTable where type Rs DeleteRouteTable = DeleteRouteTableResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteRouteTableResponse'++instance Hashable DeleteRouteTable instance ToHeaders DeleteRouteTable where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteSecurityGroup.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteSecurityGroup--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- instance, or is referenced by another security group, the operation -- fails with 'InvalidGroup.InUse' in EC2-Classic or 'DependencyViolation' -- in EC2-VPC.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSecurityGroup.html AWS API Reference> for DeleteSecurityGroup. module Network.AWS.EC2.DeleteSecurityGroup ( -- * Creating a Request@@ -92,8 +90,10 @@ instance AWSRequest DeleteSecurityGroup where type Rs DeleteSecurityGroup = DeleteSecurityGroupResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteSecurityGroupResponse'++instance Hashable DeleteSecurityGroup instance ToHeaders DeleteSecurityGroup where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteSnapshot.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteSnapshot--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -35,8 +35,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html Deleting an Amazon EBS Snapshot> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSnapshot.html AWS API Reference> for DeleteSnapshot. module Network.AWS.EC2.DeleteSnapshot ( -- * Creating a Request@@ -93,8 +91,10 @@ instance AWSRequest DeleteSnapshot where type Rs DeleteSnapshot = DeleteSnapshotResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteSnapshotResponse'++instance Hashable DeleteSnapshot instance ToHeaders DeleteSnapshot where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteSpotDatafeedSubscription.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DeleteSpotDatafeedSubscription--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Deletes the data feed for Spot instances.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSpotDatafeedSubscription.html AWS API Reference> for DeleteSpotDatafeedSubscription. module Network.AWS.EC2.DeleteSpotDatafeedSubscription ( -- * Creating a Request@@ -71,9 +69,11 @@ where type Rs DeleteSpotDatafeedSubscription = DeleteSpotDatafeedSubscriptionResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteSpotDatafeedSubscriptionResponse'++instance Hashable DeleteSpotDatafeedSubscription instance ToHeaders DeleteSpotDatafeedSubscription where
gen/Network/AWS/EC2/DeleteSubnet.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteSubnet--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Deletes the specified subnet. You must terminate all running instances -- in the subnet before you can delete the subnet.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSubnet.html AWS API Reference> for DeleteSubnet. module Network.AWS.EC2.DeleteSubnet ( -- * Creating a Request@@ -78,8 +76,10 @@ instance AWSRequest DeleteSubnet where type Rs DeleteSubnet = DeleteSubnetResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteSubnetResponse'++instance Hashable DeleteSubnet instance ToHeaders DeleteSubnet where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteTags.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteTags--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- For more information about tags, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html Tagging Your Resources> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteTags.html AWS API Reference> for DeleteTags. module Network.AWS.EC2.DeleteTags ( -- * Creating a Request@@ -94,8 +92,10 @@ instance AWSRequest DeleteTags where type Rs DeleteTags = DeleteTagsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteTagsResponse'++instance Hashable DeleteTags instance ToHeaders DeleteTags where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteVPC.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteVPC--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- security groups associated with the VPC (except the default one), delete -- all route tables associated with the VPC (except the default one), and -- so on.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVPC.html AWS API Reference> for DeleteVPC. module Network.AWS.EC2.DeleteVPC ( -- * Creating a Request@@ -82,8 +80,10 @@ instance AWSRequest DeleteVPC where type Rs DeleteVPC = DeleteVPCResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteVPCResponse'++instance Hashable DeleteVPC instance ToHeaders DeleteVPC where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteVPCEndpoints.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteVPCEndpoints--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -21,8 +21,6 @@ -- Deletes one or more specified VPC endpoints. Deleting the endpoint also -- deletes the endpoint routes in the route tables that were associated -- with the endpoint.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVPCEndpoints.html AWS API Reference> for DeleteVPCEndpoints. module Network.AWS.EC2.DeleteVPCEndpoints ( -- * Creating a Request@@ -82,7 +80,7 @@ instance AWSRequest DeleteVPCEndpoints where type Rs DeleteVPCEndpoints = DeleteVPCEndpointsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -90,6 +88,8 @@ (x .@? "unsuccessful" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DeleteVPCEndpoints instance ToHeaders DeleteVPCEndpoints where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteVPCPeeringConnection.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteVPCPeeringConnection--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- or the owner of the peer VPC can delete the VPC peering connection if -- it\'s in the 'active' state. The owner of the requester VPC can delete a -- VPC peering connection in the 'pending-acceptance' state.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVPCPeeringConnection.html AWS API Reference> for DeleteVPCPeeringConnection. module Network.AWS.EC2.DeleteVPCPeeringConnection ( -- * Creating a Request@@ -84,12 +82,14 @@ instance AWSRequest DeleteVPCPeeringConnection where type Rs DeleteVPCPeeringConnection = DeleteVPCPeeringConnectionResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> DeleteVPCPeeringConnectionResponse' <$> (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable DeleteVPCPeeringConnection instance ToHeaders DeleteVPCPeeringConnection where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteVPNConnection.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteVPNConnection--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -29,8 +29,6 @@ -- create a new VPN connection, you must reconfigure the customer gateway -- using the new configuration information returned with the new VPN -- connection ID.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVPNConnection.html AWS API Reference> for DeleteVPNConnection. module Network.AWS.EC2.DeleteVPNConnection ( -- * Creating a Request@@ -88,8 +86,10 @@ instance AWSRequest DeleteVPNConnection where type Rs DeleteVPNConnection = DeleteVPNConnectionResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteVPNConnectionResponse'++instance Hashable DeleteVPNConnection instance ToHeaders DeleteVPNConnection where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteVPNConnectionRoute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteVPNConnectionRoute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- between an existing virtual private gateway and a VPN customer gateway. -- The static route allows traffic to be routed from the virtual private -- gateway to the VPN customer gateway.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVPNConnectionRoute.html AWS API Reference> for DeleteVPNConnectionRoute. module Network.AWS.EC2.DeleteVPNConnectionRoute ( -- * Creating a Request@@ -79,9 +77,11 @@ instance AWSRequest DeleteVPNConnectionRoute where type Rs DeleteVPNConnectionRoute = DeleteVPNConnectionRouteResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteVPNConnectionRouteResponse'++instance Hashable DeleteVPNConnectionRoute instance ToHeaders DeleteVPNConnectionRoute where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteVPNGateway.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteVPNGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- delete the VPN connection. Note that you don\'t need to delete the -- virtual private gateway if you plan to delete and recreate the VPN -- connection between your VPC and your network.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVPNGateway.html AWS API Reference> for DeleteVPNGateway. module Network.AWS.EC2.DeleteVPNGateway ( -- * Creating a Request@@ -81,8 +79,10 @@ instance AWSRequest DeleteVPNGateway where type Rs DeleteVPNGateway = DeleteVPNGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteVPNGatewayResponse'++instance Hashable DeleteVPNGateway instance ToHeaders DeleteVPNGateway where toHeaders = const mempty
gen/Network/AWS/EC2/DeleteVolume.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeleteVolume--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -26,8 +26,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html Deleting an Amazon EBS Volume> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVolume.html AWS API Reference> for DeleteVolume. module Network.AWS.EC2.DeleteVolume ( -- * Creating a Request@@ -84,8 +82,10 @@ instance AWSRequest DeleteVolume where type Rs DeleteVolume = DeleteVolumeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeleteVolumeResponse'++instance Hashable DeleteVolume instance ToHeaders DeleteVolume where toHeaders = const mempty
gen/Network/AWS/EC2/DeregisterImage.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DeregisterImage--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- used to launch new instances. -- -- This command does not delete the AMI.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeregisterImage.html AWS API Reference> for DeregisterImage. module Network.AWS.EC2.DeregisterImage ( -- * Creating a Request@@ -80,8 +78,10 @@ instance AWSRequest DeregisterImage where type Rs DeregisterImage = DeregisterImageResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DeregisterImageResponse'++instance Hashable DeregisterImage instance ToHeaders DeregisterImage where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeAccountAttributes.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeAccountAttributes--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -39,8 +39,6 @@ -- - 'vpc-max-elastic-ips': The maximum number of Elastic IP addresses -- that you can allocate for use with EC2-VPC. -------- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAccountAttributes.html AWS API Reference> for DescribeAccountAttributes. module Network.AWS.EC2.DescribeAccountAttributes ( -- * Creating a Request@@ -100,7 +98,7 @@ instance AWSRequest DescribeAccountAttributes where type Rs DescribeAccountAttributes = DescribeAccountAttributesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -108,6 +106,8 @@ (x .@? "accountAttributeSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeAccountAttributes instance ToHeaders DescribeAccountAttributes where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeAddresses.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeAddresses--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- in a VPC. For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP Addresses> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAddresses.html AWS API Reference> for DescribeAddresses. module Network.AWS.EC2.DescribeAddresses ( -- * Creating a Request@@ -127,7 +125,7 @@ instance AWSRequest DescribeAddresses where type Rs DescribeAddresses = DescribeAddressesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -135,6 +133,8 @@ (x .@? "addressesSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeAddresses instance ToHeaders DescribeAddresses where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeAvailabilityZones.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeAvailabilityZones--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -27,8 +27,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html Regions and Availability Zones> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAvailabilityZones.html AWS API Reference> for DescribeAvailabilityZones. module Network.AWS.EC2.DescribeAvailabilityZones ( -- * Creating a Request@@ -109,7 +107,7 @@ instance AWSRequest DescribeAvailabilityZones where type Rs DescribeAvailabilityZones = DescribeAvailabilityZonesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -117,6 +115,8 @@ (x .@? "availabilityZoneInfo" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeAvailabilityZones instance ToHeaders DescribeAvailabilityZones where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeBundleTasks.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeBundleTasks--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- bundle task is no longer in the list, you can still register an AMI from -- it. Just use 'RegisterImage' with the Amazon S3 bucket name and image -- manifest name you provided to the bundle task.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeBundleTasks.html AWS API Reference> for DescribeBundleTasks. module Network.AWS.EC2.DescribeBundleTasks ( -- * Creating a Request@@ -120,7 +118,7 @@ instance AWSRequest DescribeBundleTasks where type Rs DescribeBundleTasks = DescribeBundleTasksResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -128,6 +126,8 @@ (x .@? "bundleInstanceTasksSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeBundleTasks instance ToHeaders DescribeBundleTasks where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeClassicLinkInstances.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeClassicLinkInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- only returns information about EC2-Classic instances linked to a VPC -- through ClassicLink; you cannot use this request to return information -- about other instances.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeClassicLinkInstances.html AWS API Reference> for DescribeClassicLinkInstances. module Network.AWS.EC2.DescribeClassicLinkInstances ( -- * Creating a Request@@ -143,7 +141,7 @@ where type Rs DescribeClassicLinkInstances = DescribeClassicLinkInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -152,6 +150,8 @@ (x .@? "instancesSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeClassicLinkInstances instance ToHeaders DescribeClassicLinkInstances where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeConversionTasks.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeConversionTasks--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,7 +23,9 @@ -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2> -- in the /Amazon Elastic Compute Cloud User Guide/. ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeConversionTasks.html AWS API Reference> for DescribeConversionTasks.+-- For information about the import manifest referenced by this API action,+-- see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html VM Import Manifest>. module Network.AWS.EC2.DescribeConversionTasks ( -- * Creating a Request@@ -92,7 +94,7 @@ instance AWSRequest DescribeConversionTasks where type Rs DescribeConversionTasks = DescribeConversionTasksResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -100,6 +102,8 @@ (x .@? "conversionTasks" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeConversionTasks instance ToHeaders DescribeConversionTasks where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeCustomerGateways.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeCustomerGateways--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- For more information about VPN customer gateways, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a Hardware Virtual Private Gateway to Your VPC> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeCustomerGateways.html AWS API Reference> for DescribeCustomerGateways. module Network.AWS.EC2.DescribeCustomerGateways ( -- * Creating a Request@@ -124,7 +122,7 @@ instance AWSRequest DescribeCustomerGateways where type Rs DescribeCustomerGateways = DescribeCustomerGatewaysResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -132,6 +130,8 @@ (x .@? "customerGatewaySet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeCustomerGateways instance ToHeaders DescribeCustomerGateways where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeDHCPOptions.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeDHCPOptions--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- For more information about DHCP options sets, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html DHCP Options Sets> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeDHCPOptions.html AWS API Reference> for DescribeDHCPOptions. module Network.AWS.EC2.DescribeDHCPOptions ( -- * Creating a Request@@ -116,7 +114,7 @@ instance AWSRequest DescribeDHCPOptions where type Rs DescribeDHCPOptions = DescribeDHCPOptionsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -124,6 +122,8 @@ (x .@? "dhcpOptionsSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeDHCPOptions instance ToHeaders DescribeDHCPOptions where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeExportTasks.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DescribeExportTasks--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes one or more of your export tasks.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeExportTasks.html AWS API Reference> for DescribeExportTasks. module Network.AWS.EC2.DescribeExportTasks ( -- * Creating a Request@@ -68,7 +66,7 @@ instance AWSRequest DescribeExportTasks where type Rs DescribeExportTasks = DescribeExportTasksResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -76,6 +74,8 @@ (x .@? "exportTaskSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeExportTasks instance ToHeaders DescribeExportTasks where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeFlowLogs.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeFlowLogs--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -21,8 +21,6 @@ -- Describes one or more flow logs. To view the information in your flow -- logs (the log streams for the network interfaces), you must use the -- CloudWatch Logs console or the CloudWatch Logs API.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeFlowLogs.html AWS API Reference> for DescribeFlowLogs. module Network.AWS.EC2.DescribeFlowLogs ( -- * Creating a Request@@ -114,7 +112,7 @@ instance AWSRequest DescribeFlowLogs where type Rs DescribeFlowLogs = DescribeFlowLogsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -123,6 +121,8 @@ (x .@? "flowLogSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeFlowLogs instance ToHeaders DescribeFlowLogs where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeHosts.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeHosts--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- currently using. All listed instances consume capacity on your Dedicated -- host. Dedicated hosts that have recently been released will be listed -- with the state 'released'.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeHosts.html AWS API Reference> for DescribeHosts. module Network.AWS.EC2.DescribeHosts ( -- * Creating a Request@@ -125,7 +123,7 @@ instance AWSRequest DescribeHosts where type Rs DescribeHosts = DescribeHostsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -134,6 +132,8 @@ may (parseXMLList "item")) <*> (x .@? "nextToken") <*> (pure (fromEnum s)))++instance Hashable DescribeHosts instance ToHeaders DescribeHosts where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeIdFormat.hs view
@@ -12,19 +12,17 @@ -- | -- Module : Network.AWS.EC2.DescribeIdFormat--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- __Important: This command is reserved for future use, and is currently--- not available for you to use.__------ Describes the ID format settings for your resources, for example, to--- view which resource types are enabled for longer IDs. This request only--- returns information about resource types whose ID formats can be--- modified; it does not return information about other resource types.+-- Describes the ID format settings for your resources on a per-region+-- basis, for example, to view which resource types are enabled for longer+-- IDs. This request only returns information about resource types whose ID+-- formats can be modified; it does not return information about other+-- resource types. -- -- The following resource types support longer IDs: 'instance' | -- 'reservation'.@@ -32,10 +30,10 @@ -- These settings apply to the IAM user who makes the request; they do not -- apply to the entire AWS account. By default, an IAM user defaults to the -- same settings as the root user, unless they explicitly override the--- settings by running the ModifyIdFormat command. These settings are--- applied on a per-region basis.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeIdFormat.html AWS API Reference> for DescribeIdFormat.+-- settings by running the < ModifyIdFormat> command. Resources created+-- with longer IDs are visible to all IAM users, regardless of these+-- settings and provided that they have permission to use the relevant+-- 'Describe' command for the resource type. module Network.AWS.EC2.DescribeIdFormat ( -- * Creating a Request@@ -82,7 +80,7 @@ instance AWSRequest DescribeIdFormat where type Rs DescribeIdFormat = DescribeIdFormatResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -90,6 +88,8 @@ (x .@? "statusSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeIdFormat instance ToHeaders DescribeIdFormat where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeImageAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeImageAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Describes the specified attribute of the specified AMI. You can specify -- only one attribute at a time.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImageAttribute.html AWS API Reference> for DescribeImageAttribute. module Network.AWS.EC2.DescribeImageAttribute ( -- * Creating a Request@@ -96,15 +94,15 @@ -- -- __Note__: Depending on your account privileges, the 'blockDeviceMapping' -- attribute may return a 'Client.AuthFailure' error. If this happens, use--- DescribeImages to get information about the block device mapping for the--- AMI.+-- < DescribeImages> to get information about the block device mapping for+-- the AMI. diaiAttribute :: Lens' DescribeImageAttribute ImageAttributeName diaiAttribute = lens _diaiAttribute (\ s a -> s{_diaiAttribute = a}); instance AWSRequest DescribeImageAttribute where type Rs DescribeImageAttribute = DescribeImageAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -123,6 +121,8 @@ (x .@? "blockDeviceMapping" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeImageAttribute instance ToHeaders DescribeImageAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeImages.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeImages--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -25,8 +25,6 @@ -- -- Deregistered images are included in the returned results for an -- unspecified interval after deregistration.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImages.html AWS API Reference> for DescribeImages. module Network.AWS.EC2.DescribeImages ( -- * Creating a Request@@ -199,7 +197,7 @@ instance AWSRequest DescribeImages where type Rs DescribeImages = DescribeImagesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -207,6 +205,8 @@ (x .@? "imagesSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeImages instance ToHeaders DescribeImages where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeImportImageTasks.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeImportImageTasks--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Displays details about an import virtual machine or import snapshot -- tasks that are already created.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImportImageTasks.html AWS API Reference> for DescribeImportImageTasks. module Network.AWS.EC2.DescribeImportImageTasks ( -- * Creating a Request@@ -109,7 +107,7 @@ instance AWSRequest DescribeImportImageTasks where type Rs DescribeImportImageTasks = DescribeImportImageTasksResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -118,6 +116,8 @@ (x .@? "importImageTaskSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeImportImageTasks instance ToHeaders DescribeImportImageTasks where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeImportSnapshotTasks.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DescribeImportSnapshotTasks--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes your import snapshot tasks.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImportSnapshotTasks.html AWS API Reference> for DescribeImportSnapshotTasks. module Network.AWS.EC2.DescribeImportSnapshotTasks ( -- * Creating a Request@@ -108,7 +106,7 @@ instance AWSRequest DescribeImportSnapshotTasks where type Rs DescribeImportSnapshotTasks = DescribeImportSnapshotTasksResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -117,6 +115,8 @@ (x .@? "importSnapshotTaskSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeImportSnapshotTasks instance ToHeaders DescribeImportSnapshotTasks where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeInstanceAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeInstanceAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- 'disableApiTermination' | 'instanceInitiatedShutdownBehavior' | -- 'rootDeviceName' | 'blockDeviceMapping' | 'productCodes' | -- 'sourceDestCheck' | 'groupSet' | 'ebsOptimized' | 'sriovNetSupport'------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstanceAttribute.html AWS API Reference> for DescribeInstanceAttribute. module Network.AWS.EC2.DescribeInstanceAttribute ( -- * Creating a Request@@ -109,7 +107,7 @@ instance AWSRequest DescribeInstanceAttribute where type Rs DescribeInstanceAttribute = DescribeInstanceAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -134,6 +132,8 @@ (x .@? "blockDeviceMapping" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeInstanceAttribute instance ToHeaders DescribeInstanceAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeInstanceStatus.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeInstanceStatus--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -43,8 +43,6 @@ -- in the /Amazon Elastic Compute Cloud User Guide/. -- ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstanceStatus.html AWS API Reference> for DescribeInstanceStatus.--- -- This operation returns paginated results. module Network.AWS.EC2.DescribeInstanceStatus (@@ -203,7 +201,7 @@ instance AWSRequest DescribeInstanceStatus where type Rs DescribeInstanceStatus = DescribeInstanceStatusResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -212,6 +210,8 @@ may (parseXMLList "item")) <*> (x .@? "nextToken") <*> (pure (fromEnum s)))++instance Hashable DescribeInstanceStatus instance ToHeaders DescribeInstanceStatus where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeInstances.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -30,8 +30,6 @@ -- Recently terminated instances might appear in the returned results. This -- interval is usually less than one hour. ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html AWS API Reference> for DescribeInstances.--- -- This operation returns paginated results. module Network.AWS.EC2.DescribeInstances (@@ -142,8 +140,8 @@ -- -- - 'instance-id' - The ID of the instance. ----- - 'instance-lifecycle' - Indicates whether this is a Spot Instance--- ('spot').+-- - 'instance-lifecycle' - Indicates whether this is a Spot Instance or+-- a Scheduled Instance ('spot' | 'scheduled'). -- -- - 'instance-state-code' - The state of the instance, as a 16-bit -- unsigned integer. The high byte is an opaque internal value and@@ -287,7 +285,7 @@ -- - 'network-interface.mac-address' - The MAC address of the network -- interface. ----- - 'network-interface-private-dns-name' - The private DNS name of the+-- - 'network-interface.private-dns-name' - The private DNS name of the -- network interface. -- -- - 'network-interface.source-dest-check' - Whether the network@@ -385,7 +383,7 @@ instance AWSRequest DescribeInstances where type Rs DescribeInstances = DescribeInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -394,6 +392,8 @@ (x .@? "reservationSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeInstances instance ToHeaders DescribeInstances where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeInternetGateways.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DescribeInternetGateways--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes one or more of your Internet gateways.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInternetGateways.html AWS API Reference> for DescribeInternetGateways. module Network.AWS.EC2.DescribeInternetGateways ( -- * Creating a Request@@ -114,7 +112,7 @@ instance AWSRequest DescribeInternetGateways where type Rs DescribeInternetGateways = DescribeInternetGatewaysResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -122,6 +120,8 @@ (x .@? "internetGatewaySet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeInternetGateways instance ToHeaders DescribeInternetGateways where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeKeyPairs.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeKeyPairs--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- For more information about key pairs, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html Key Pairs> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeKeyPairs.html AWS API Reference> for DescribeKeyPairs. module Network.AWS.EC2.DescribeKeyPairs ( -- * Creating a Request@@ -99,7 +97,7 @@ instance AWSRequest DescribeKeyPairs where type Rs DescribeKeyPairs = DescribeKeyPairsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -107,6 +105,8 @@ (x .@? "keySet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeKeyPairs instance ToHeaders DescribeKeyPairs where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeMovingAddresses.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeMovingAddresses--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- platform, or that are being restored to the EC2-Classic platform. This -- request does not return information about any other Elastic IP addresses -- in your account.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeMovingAddresses.html AWS API Reference> for DescribeMovingAddresses. module Network.AWS.EC2.DescribeMovingAddresses ( -- * Creating a Request@@ -121,7 +119,7 @@ instance AWSRequest DescribeMovingAddresses where type Rs DescribeMovingAddresses = DescribeMovingAddressesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -130,6 +128,8 @@ may (parseXMLList "item")) <*> (x .@? "nextToken") <*> (pure (fromEnum s)))++instance Hashable DescribeMovingAddresses instance ToHeaders DescribeMovingAddresses where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeNatGateways.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DescribeNatGateways--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes one or more of the your NAT gateways.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeNatGateways.html AWS API Reference> for DescribeNatGateways. module Network.AWS.EC2.DescribeNatGateways ( -- * Creating a Request@@ -111,7 +109,7 @@ instance AWSRequest DescribeNatGateways where type Rs DescribeNatGateways = DescribeNatGatewaysResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -120,6 +118,8 @@ may (parseXMLList "item")) <*> (x .@? "nextToken") <*> (pure (fromEnum s)))++instance Hashable DescribeNatGateways instance ToHeaders DescribeNatGateways where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeNetworkACLs.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeNetworkACLs--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- For more information about network ACLs, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html Network ACLs> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeNetworkACLs.html AWS API Reference> for DescribeNetworkACLs. module Network.AWS.EC2.DescribeNetworkACLs ( -- * Creating a Request@@ -150,7 +148,7 @@ instance AWSRequest DescribeNetworkACLs where type Rs DescribeNetworkACLs = DescribeNetworkACLsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -158,6 +156,8 @@ (x .@? "networkAclSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeNetworkACLs instance ToHeaders DescribeNetworkACLs where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeNetworkInterfaceAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeNetworkInterfaceAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Describes a network interface attribute. You can specify only one -- attribute at a time.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeNetworkInterfaceAttribute.html AWS API Reference> for DescribeNetworkInterfaceAttribute. module Network.AWS.EC2.DescribeNetworkInterfaceAttribute ( -- * Creating a Request@@ -96,7 +94,7 @@ where type Rs DescribeNetworkInterfaceAttribute = DescribeNetworkInterfaceAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -108,6 +106,8 @@ <*> (x .@? "attachment") <*> (x .@? "description") <*> (pure (fromEnum s)))++instance Hashable DescribeNetworkInterfaceAttribute instance ToHeaders DescribeNetworkInterfaceAttribute where
gen/Network/AWS/EC2/DescribeNetworkInterfaces.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DescribeNetworkInterfaces--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes one or more of your network interfaces.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeNetworkInterfaces.html AWS API Reference> for DescribeNetworkInterfaces. module Network.AWS.EC2.DescribeNetworkInterfaces ( -- * Creating a Request@@ -201,7 +199,7 @@ instance AWSRequest DescribeNetworkInterfaces where type Rs DescribeNetworkInterfaces = DescribeNetworkInterfacesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -209,6 +207,8 @@ (x .@? "networkInterfaceSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeNetworkInterfaces instance ToHeaders DescribeNetworkInterfaces where toHeaders = const mempty
gen/Network/AWS/EC2/DescribePlacementGroups.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribePlacementGroups--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- about placement groups and cluster instances, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html Cluster Instances> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribePlacementGroups.html AWS API Reference> for DescribePlacementGroups. module Network.AWS.EC2.DescribePlacementGroups ( -- * Creating a Request@@ -103,7 +101,7 @@ instance AWSRequest DescribePlacementGroups where type Rs DescribePlacementGroups = DescribePlacementGroupsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -111,6 +109,8 @@ (x .@? "placementGroupSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribePlacementGroups instance ToHeaders DescribePlacementGroups where toHeaders = const mempty
gen/Network/AWS/EC2/DescribePrefixLists.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribePrefixLists--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- address range for the service. A prefix list ID is required for creating -- an outbound security group rule that allows traffic from a VPC to access -- an AWS service through a VPC endpoint.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribePrefixLists.html AWS API Reference> for DescribePrefixLists. module Network.AWS.EC2.DescribePrefixLists ( -- * Creating a Request@@ -123,7 +121,7 @@ instance AWSRequest DescribePrefixLists where type Rs DescribePrefixLists = DescribePrefixListsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -132,6 +130,8 @@ (x .@? "prefixListSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribePrefixLists instance ToHeaders DescribePrefixLists where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeRegions.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeRegions--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- -- For a list of the regions supported by Amazon EC2, see -- <http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region Regions and Endpoints>.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeRegions.html AWS API Reference> for DescribeRegions. module Network.AWS.EC2.DescribeRegions ( -- * Creating a Request@@ -97,7 +95,7 @@ instance AWSRequest DescribeRegions where type Rs DescribeRegions = DescribeRegionsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -105,6 +103,8 @@ (x .@? "regionInfo" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeRegions instance ToHeaders DescribeRegions where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeReservedInstances.hs view
@@ -12,19 +12,17 @@ -- | -- Module : Network.AWS.EC2.DescribeReservedInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Describes one or more of the Reserved instances that you purchased.+-- Describes one or more of the Reserved Instances that you purchased. ----- For more information about Reserved instances, see+-- For more information about Reserved Instances, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html Reserved Instances> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeReservedInstances.html AWS API Reference> for DescribeReservedInstances. module Network.AWS.EC2.DescribeReservedInstances ( -- * Creating a Request@@ -83,21 +81,21 @@ -- | One or more filters. -- -- - 'availability-zone' - The Availability Zone where the Reserved--- instance can be used.+-- Instance can be used. ----- - 'duration' - The duration of the Reserved instance (one year or+-- - 'duration' - The duration of the Reserved Instance (one year or -- three years), in seconds ('31536000' | '94608000'). ----- - 'end' - The time when the Reserved instance expires (for example,+-- - 'end' - The time when the Reserved Instance expires (for example, -- 2015-08-07T11:54:42.000Z). ----- - 'fixed-price' - The purchase price of the Reserved instance (for+-- - 'fixed-price' - The purchase price of the Reserved Instance (for -- example, 9800.0). -- -- - 'instance-type' - The instance type that is covered by the -- reservation. ----- - 'product-description' - The Reserved instance product platform+-- - 'product-description' - The Reserved Instance product platform -- description. Instances that include '(Amazon VPC)' in the product -- platform description will only be displayed to EC2-Classic account -- holders and are for use with Amazon VPC ('Linux\/UNIX' |@@ -111,12 +109,12 @@ -- 'Windows with SQL Server Enterprise' | -- 'Windows with SQL Server Enterprise (Amazon VPC)'). ----- - 'reserved-instances-id' - The ID of the Reserved instance.+-- - 'reserved-instances-id' - The ID of the Reserved Instance. ----- - 'start' - The time at which the Reserved instance purchase request+-- - 'start' - The time at which the Reserved Instance purchase request -- was placed (for example, 2014-08-07T11:54:42.000Z). ----- - 'state' - The state of the Reserved instance ('payment-pending' |+-- - 'state' - The state of the Reserved Instance ('payment-pending' | -- 'active' | 'payment-failed' | 'retired'). -- -- - 'tag':/key/=/value/ - The key\/value combination of a tag assigned@@ -133,22 +131,22 @@ -- - 'tag-value' - The value of a tag assigned to the resource. This -- filter is independent of the 'tag-key' filter. ----- - 'usage-price' - The usage price of the Reserved instance, per hour+-- - 'usage-price' - The usage price of the Reserved Instance, per hour -- (for example, 0.84). -- driFilters :: Lens' DescribeReservedInstances [Filter] driFilters = lens _driFilters (\ s a -> s{_driFilters = a}) . _Default . _Coerce; --- | One or more Reserved instance IDs.+-- | One or more Reserved Instance IDs. ----- Default: Describes all your Reserved instances, or only those otherwise+-- Default: Describes all your Reserved Instances, or only those otherwise -- specified. driReservedInstancesIds :: Lens' DescribeReservedInstances [Text] driReservedInstancesIds = lens _driReservedInstancesIds (\ s a -> s{_driReservedInstancesIds = a}) . _Default . _Coerce; --- | The Reserved instance offering type. If you are using tools that predate+-- | The Reserved Instance offering type. If you are using tools that predate -- the 2011-11-01 API version, you only have access to the--- 'Medium Utilization' Reserved instance offering type.+-- 'Medium Utilization' Reserved Instance offering type. driOfferingType :: Lens' DescribeReservedInstances (Maybe OfferingTypeValues) driOfferingType = lens _driOfferingType (\ s a -> s{_driOfferingType = a}); @@ -162,7 +160,7 @@ instance AWSRequest DescribeReservedInstances where type Rs DescribeReservedInstances = DescribeReservedInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -171,6 +169,8 @@ may (parseXMLList "item")) <*> (pure (fromEnum s))) +instance Hashable DescribeReservedInstances+ instance ToHeaders DescribeReservedInstances where toHeaders = const mempty @@ -212,7 +212,7 @@ , _drirsResponseStatus = pResponseStatus_ } --- | A list of Reserved instances.+-- | A list of Reserved Instances. drirsReservedInstances :: Lens' DescribeReservedInstancesResponse [ReservedInstances] drirsReservedInstances = lens _drirsReservedInstances (\ s a -> s{_drirsReservedInstances = a}) . _Default . _Coerce;
gen/Network/AWS/EC2/DescribeReservedInstancesListings.hs view
@@ -12,38 +12,36 @@ -- | -- Module : Network.AWS.EC2.DescribeReservedInstancesListings--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Describes your account\'s Reserved instance listings in the Reserved+-- Describes your account\'s Reserved Instance listings in the Reserved -- Instance Marketplace. -- -- The Reserved Instance Marketplace matches sellers who want to resell--- Reserved instance capacity that they no longer need with buyers who want--- to purchase additional capacity. Reserved instances bought and sold+-- Reserved Instance capacity that they no longer need with buyers who want+-- to purchase additional capacity. Reserved Instances bought and sold -- through the Reserved Instance Marketplace work like any other Reserved -- Instances. ----- As a seller, you choose to list some or all of your Reserved instances,+-- As a seller, you choose to list some or all of your Reserved Instances, -- and you specify the upfront price to receive for them. Your Reserved--- instances are then listed in the Reserved Instance Marketplace and are+-- Instances are then listed in the Reserved Instance Marketplace and are -- available for purchase. ----- As a buyer, you specify the configuration of the Reserved instance to+-- As a buyer, you specify the configuration of the Reserved Instance to -- purchase, and the Marketplace matches what you\'re searching for with -- what\'s available. The Marketplace first sells the lowest priced--- Reserved instances to you, and continues to sell available Reserved+-- Reserved Instances to you, and continues to sell available Reserved -- Instance listings to you until your demand is met. You are charged based -- on the total price of all of the listings that you purchase. -- -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html Reserved Instance Marketplace> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeReservedInstancesListings.html AWS API Reference> for DescribeReservedInstancesListings. module Network.AWS.EC2.DescribeReservedInstancesListings ( -- * Creating a Request@@ -96,12 +94,12 @@ -- | One or more filters. ----- - 'reserved-instances-id' - The ID of the Reserved instances.+-- - 'reserved-instances-id' - The ID of the Reserved Instances. ----- - 'reserved-instances-listing-id' - The ID of the Reserved instances+-- - 'reserved-instances-listing-id' - The ID of the Reserved Instances -- listing. ----- - 'status' - The status of the Reserved instance listing ('pending' |+-- - 'status' - The status of the Reserved Instance listing ('pending' | -- 'active' | 'cancelled' | 'closed'). -- -- - 'status-message' - The reason for the status.@@ -109,11 +107,11 @@ drilFilters :: Lens' DescribeReservedInstancesListings [Filter] drilFilters = lens _drilFilters (\ s a -> s{_drilFilters = a}) . _Default . _Coerce; --- | One or more Reserved instance IDs.+-- | One or more Reserved Instance IDs. drilReservedInstancesId :: Lens' DescribeReservedInstancesListings (Maybe Text) drilReservedInstancesId = lens _drilReservedInstancesId (\ s a -> s{_drilReservedInstancesId = a}); --- | One or more Reserved instance Listing IDs.+-- | One or more Reserved Instance listing IDs. drilReservedInstancesListingId :: Lens' DescribeReservedInstancesListings (Maybe Text) drilReservedInstancesListingId = lens _drilReservedInstancesListingId (\ s a -> s{_drilReservedInstancesListingId = a}); @@ -121,7 +119,7 @@ where type Rs DescribeReservedInstancesListings = DescribeReservedInstancesListingsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -130,6 +128,8 @@ may (parseXMLList "item")) <*> (pure (fromEnum s))) +instance Hashable DescribeReservedInstancesListings+ instance ToHeaders DescribeReservedInstancesListings where toHeaders = const mempty@@ -172,7 +172,7 @@ , _drilrsResponseStatus = pResponseStatus_ } --- | Information about the Reserved instance listing.+-- | Information about the Reserved Instance listing. drilrsReservedInstancesListings :: Lens' DescribeReservedInstancesListingsResponse [ReservedInstancesListing] drilrsReservedInstancesListings = lens _drilrsReservedInstancesListings (\ s a -> s{_drilrsReservedInstancesListings = a}) . _Default . _Coerce;
gen/Network/AWS/EC2/DescribeReservedInstancesModifications.hs view
@@ -12,14 +12,14 @@ -- | -- Module : Network.AWS.EC2.DescribeReservedInstancesModifications--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Describes the modifications made to your Reserved instances. If no--- parameter is specified, information about all your Reserved instances+-- Describes the modifications made to your Reserved Instances. If no+-- parameter is specified, information about all your Reserved Instances -- modification requests is returned. If a modification ID is specified, -- only information about the specific modification is returned. --@@ -27,8 +27,6 @@ -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html Modifying Reserved Instances> -- in the Amazon Elastic Compute Cloud User Guide. ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeReservedInstancesModifications.html AWS API Reference> for DescribeReservedInstancesModifications.--- -- This operation returns paginated results. module Network.AWS.EC2.DescribeReservedInstancesModifications (@@ -91,28 +89,28 @@ -- - 'effective-date' - The time when the modification becomes effective. -- -- - 'modification-result.reserved-instances-id' - The ID for the--- Reserved instances created as part of the modification request. This+-- Reserved Instances created as part of the modification request. This -- ID is only available when the status of the modification is -- 'fulfilled'. -- -- - 'modification-result.target-configuration.availability-zone' - The--- Availability Zone for the new Reserved instances.+-- Availability Zone for the new Reserved Instances. -- -- - 'modification-result.target-configuration.instance-count ' - The--- number of new Reserved instances.+-- number of new Reserved Instances. -- -- - 'modification-result.target-configuration.instance-type' - The--- instance type of the new Reserved instances.+-- instance type of the new Reserved Instances. -- -- - 'modification-result.target-configuration.platform' - The network--- platform of the new Reserved instances ('EC2-Classic' | 'EC2-VPC').+-- platform of the new Reserved Instances ('EC2-Classic' | 'EC2-VPC'). ----- - 'reserved-instances-id' - The ID of the Reserved instances modified.+-- - 'reserved-instances-id' - The ID of the Reserved Instances modified. -- -- - 'reserved-instances-modification-id' - The ID of the modification -- request. ----- - 'status' - The status of the Reserved instances modification request+-- - 'status' - The status of the Reserved Instances modification request -- ('processing' | 'fulfilled' | 'failed'). -- -- - 'status-message' - The reason for the status.@@ -144,7 +142,7 @@ DescribeReservedInstancesModifications where type Rs DescribeReservedInstancesModifications = DescribeReservedInstancesModificationsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -154,6 +152,9 @@ >>= may (parseXMLList "item")) <*> (pure (fromEnum s))) +instance Hashable+ DescribeReservedInstancesModifications+ instance ToHeaders DescribeReservedInstancesModifications where toHeaders = const mempty@@ -207,7 +208,7 @@ drimrsNextToken :: Lens' DescribeReservedInstancesModificationsResponse (Maybe Text) drimrsNextToken = lens _drimrsNextToken (\ s a -> s{_drimrsNextToken = a}); --- | The Reserved instance modification information.+-- | The Reserved Instance modification information. drimrsReservedInstancesModifications :: Lens' DescribeReservedInstancesModificationsResponse [ReservedInstancesModification] drimrsReservedInstancesModifications = lens _drimrsReservedInstancesModifications (\ s a -> s{_drimrsReservedInstancesModifications = a}) . _Default . _Coerce;
gen/Network/AWS/EC2/DescribeReservedInstancesOfferings.hs view
@@ -12,28 +12,26 @@ -- | -- Module : Network.AWS.EC2.DescribeReservedInstancesOfferings--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Describes Reserved instance offerings that are available for purchase.--- With Reserved instances, you purchase the right to launch instances for+-- Describes Reserved Instance offerings that are available for purchase.+-- With Reserved Instances, you purchase the right to launch instances for -- a period of time. During that time period, you do not receive -- insufficient capacity errors, and you pay a lower usage rate than the -- rate charged for On-Demand instances for the actual time used. ----- If you have listed your own Reserved instances for sale in the Reserved+-- If you have listed your own Reserved Instances for sale in the Reserved -- Instance Marketplace, they will be excluded from these results. This is--- to ensure that you do not purchase your own Reserved instances.+-- to ensure that you do not purchase your own Reserved Instances. -- -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html Reserved Instance Marketplace> -- in the /Amazon Elastic Compute Cloud User Guide/. ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeReservedInstancesOfferings.html AWS API Reference> for DescribeReservedInstancesOfferings.--- -- This operation returns paginated results. module Network.AWS.EC2.DescribeReservedInstancesOfferings (@@ -149,7 +147,7 @@ drioMaxDuration :: Lens' DescribeReservedInstancesOfferings (Maybe Integer) drioMaxDuration = lens _drioMaxDuration (\ s a -> s{_drioMaxDuration = a}); --- | The Reserved instance product platform description. Instances that+-- | The Reserved Instance product platform description. Instances that -- include '(Amazon VPC)' in the description are for use with Amazon VPC. drioProductDescription :: Lens' DescribeReservedInstancesOfferings (Maybe RIProductDescription) drioProductDescription = lens _drioProductDescription (\ s a -> s{_drioProductDescription = a});@@ -157,12 +155,12 @@ -- | One or more filters. -- -- - 'availability-zone' - The Availability Zone where the Reserved--- instance can be used.+-- Instance can be used. ----- - 'duration' - The duration of the Reserved instance (for example, one+-- - 'duration' - The duration of the Reserved Instance (for example, one -- year or three years), in seconds ('31536000' | '94608000'). ----- - 'fixed-price' - The purchase price of the Reserved instance (for+-- - 'fixed-price' - The purchase price of the Reserved Instance (for -- example, 9800.0). -- -- - 'instance-type' - The instance type that is covered by the@@ -173,7 +171,7 @@ -- default behavior, all offerings from both AWS and the Reserved -- Instance Marketplace are listed. ----- - 'product-description' - The Reserved instance product platform+-- - 'product-description' - The Reserved Instance product platform -- description. Instances that include '(Amazon VPC)' in the product -- platform description will only be displayed to EC2-Classic account -- holders and are for use with Amazon VPC. ('Linux\/UNIX' |@@ -187,10 +185,10 @@ -- 'Windows with SQL Server Enterprise' | -- 'Windows with SQL Server Enterprise (Amazon VPC)') ----- - 'reserved-instances-offering-id' - The Reserved instances\' offering+-- - 'reserved-instances-offering-id' - The Reserved Instances offering -- ID. ----- - 'usage-price' - The usage price of the Reserved instance, per hour+-- - 'usage-price' - The usage price of the Reserved Instance, per hour -- (for example, 0.84). -- drioFilters :: Lens' DescribeReservedInstancesOfferings [Filter]@@ -218,23 +216,23 @@ drioMinDuration :: Lens' DescribeReservedInstancesOfferings (Maybe Integer) drioMinDuration = lens _drioMinDuration (\ s a -> s{_drioMinDuration = a}); --- | The Availability Zone in which the Reserved instance can be used.+-- | The Availability Zone in which the Reserved Instance can be used. drioAvailabilityZone :: Lens' DescribeReservedInstancesOfferings (Maybe Text) drioAvailabilityZone = lens _drioAvailabilityZone (\ s a -> s{_drioAvailabilityZone = a}); --- | The Reserved instance offering type. If you are using tools that predate+-- | The Reserved Instance offering type. If you are using tools that predate -- the 2011-11-01 API version, you only have access to the--- 'Medium Utilization' Reserved instance offering type.+-- 'Medium Utilization' Reserved Instance offering type. drioOfferingType :: Lens' DescribeReservedInstancesOfferings (Maybe OfferingTypeValues) drioOfferingType = lens _drioOfferingType (\ s a -> s{_drioOfferingType = a}); --- | One or more Reserved instances offering IDs.+-- | One or more Reserved Instances offering IDs. drioReservedInstancesOfferingIds :: Lens' DescribeReservedInstancesOfferings [Text] drioReservedInstancesOfferingIds = lens _drioReservedInstancesOfferingIds (\ s a -> s{_drioReservedInstancesOfferingIds = a}) . _Default . _Coerce; -- | The tenancy of the instances covered by the reservation. A Reserved--- instance with a tenancy of 'dedicated' is applied to instances that run--- in a VPC on single-tenant hardware (i.e., Dedicated instances).+-- Instance with a tenancy of 'dedicated' is applied to instances that run+-- in a VPC on single-tenant hardware (i.e., Dedicated Instances). -- -- Default: 'default' drioInstanceTenancy :: Lens' DescribeReservedInstancesOfferings (Maybe Tenancy)@@ -275,7 +273,7 @@ DescribeReservedInstancesOfferings where type Rs DescribeReservedInstancesOfferings = DescribeReservedInstancesOfferingsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -285,6 +283,8 @@ may (parseXMLList "item")) <*> (pure (fromEnum s))) +instance Hashable DescribeReservedInstancesOfferings+ instance ToHeaders DescribeReservedInstancesOfferings where toHeaders = const mempty@@ -348,7 +348,7 @@ driorsNextToken :: Lens' DescribeReservedInstancesOfferingsResponse (Maybe Text) driorsNextToken = lens _driorsNextToken (\ s a -> s{_driorsNextToken = a}); --- | A list of Reserved instances offerings.+-- | A list of Reserved Instances offerings. driorsReservedInstancesOfferings :: Lens' DescribeReservedInstancesOfferingsResponse [ReservedInstancesOffering] driorsReservedInstancesOfferings = lens _driorsReservedInstancesOfferings (\ s a -> s{_driorsReservedInstancesOfferings = a}) . _Default . _Coerce;
gen/Network/AWS/EC2/DescribeRouteTables.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeRouteTables--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -28,8 +28,6 @@ -- For more information about route tables, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html Route Tables> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeRouteTables.html AWS API Reference> for DescribeRouteTables. module Network.AWS.EC2.DescribeRouteTables ( -- * Creating a Request@@ -161,7 +159,7 @@ instance AWSRequest DescribeRouteTables where type Rs DescribeRouteTables = DescribeRouteTablesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -169,6 +167,8 @@ (x .@? "routeTableSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeRouteTables instance ToHeaders DescribeRouteTables where toHeaders = const mempty
+ gen/Network/AWS/EC2/DescribeScheduledInstanceAvailability.hs view
@@ -0,0 +1,249 @@+{-# 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.EC2.DescribeScheduledInstanceAvailability+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Finds available schedules that meet the specified criteria.+--+-- You can search for an available schedule no more than 3 months in+-- advance. You must meet the minimum required duration of 1,200 hours per+-- year. For example, the minimum daily schedule is 4 hours, the minimum+-- weekly schedule is 24 hours, and the minimum monthly schedule is 100+-- hours.+--+-- After you find a schedule that meets your needs, call+-- < PurchaseScheduledInstances> to purchase Scheduled Instances with that+-- schedule.+module Network.AWS.EC2.DescribeScheduledInstanceAvailability+ (+ -- * Creating a Request+ describeScheduledInstanceAvailability+ , DescribeScheduledInstanceAvailability+ -- * Request Lenses+ , dsiaMinSlotDurationInHours+ , dsiaFilters+ , dsiaNextToken+ , dsiaMaxSlotDurationInHours+ , dsiaDryRun+ , dsiaMaxResults+ , dsiaRecurrence+ , dsiaFirstSlotStartTimeRange++ -- * Destructuring the Response+ , describeScheduledInstanceAvailabilityResponse+ , DescribeScheduledInstanceAvailabilityResponse+ -- * Response Lenses+ , dsiarsScheduledInstanceAvailabilitySet+ , dsiarsNextToken+ , dsiarsResponseStatus+ ) where++import Network.AWS.EC2.Types+import Network.AWS.EC2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the parameters for DescribeScheduledInstanceAvailability.+--+-- /See:/ 'describeScheduledInstanceAvailability' smart constructor.+data DescribeScheduledInstanceAvailability = DescribeScheduledInstanceAvailability'+ { _dsiaMinSlotDurationInHours :: !(Maybe Int)+ , _dsiaFilters :: !(Maybe [Filter])+ , _dsiaNextToken :: !(Maybe Text)+ , _dsiaMaxSlotDurationInHours :: !(Maybe Int)+ , _dsiaDryRun :: !(Maybe Bool)+ , _dsiaMaxResults :: !(Maybe Int)+ , _dsiaRecurrence :: !ScheduledInstanceRecurrenceRequest+ , _dsiaFirstSlotStartTimeRange :: !SlotDateTimeRangeRequest+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeScheduledInstanceAvailability' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsiaMinSlotDurationInHours'+--+-- * 'dsiaFilters'+--+-- * 'dsiaNextToken'+--+-- * 'dsiaMaxSlotDurationInHours'+--+-- * 'dsiaDryRun'+--+-- * 'dsiaMaxResults'+--+-- * 'dsiaRecurrence'+--+-- * 'dsiaFirstSlotStartTimeRange'+describeScheduledInstanceAvailability+ :: ScheduledInstanceRecurrenceRequest -- ^ 'dsiaRecurrence'+ -> SlotDateTimeRangeRequest -- ^ 'dsiaFirstSlotStartTimeRange'+ -> DescribeScheduledInstanceAvailability+describeScheduledInstanceAvailability pRecurrence_ pFirstSlotStartTimeRange_ =+ DescribeScheduledInstanceAvailability'+ { _dsiaMinSlotDurationInHours = Nothing+ , _dsiaFilters = Nothing+ , _dsiaNextToken = Nothing+ , _dsiaMaxSlotDurationInHours = Nothing+ , _dsiaDryRun = Nothing+ , _dsiaMaxResults = Nothing+ , _dsiaRecurrence = pRecurrence_+ , _dsiaFirstSlotStartTimeRange = pFirstSlotStartTimeRange_+ }++-- | The minimum available duration, in hours. The minimum required duration+-- is 1,200 hours per year. For example, the minimum daily schedule is 4+-- hours, the minimum weekly schedule is 24 hours, and the minimum monthly+-- schedule is 100 hours.+dsiaMinSlotDurationInHours :: Lens' DescribeScheduledInstanceAvailability (Maybe Int)+dsiaMinSlotDurationInHours = lens _dsiaMinSlotDurationInHours (\ s a -> s{_dsiaMinSlotDurationInHours = a});++-- | One or more filters.+--+-- - 'availability-zone' - The Availability Zone (for example,+-- 'us-west-2a').+--+-- - 'instance-type' - The instance type (for example, 'c4.large').+--+-- - 'network-platform' - The network platform ('EC2-Classic' or+-- 'EC2-VPC').+--+-- - 'platform' - The platform ('Linux\/UNIX' or 'Windows').+--+dsiaFilters :: Lens' DescribeScheduledInstanceAvailability [Filter]+dsiaFilters = lens _dsiaFilters (\ s a -> s{_dsiaFilters = a}) . _Default . _Coerce;++-- | The token for the next set of results.+dsiaNextToken :: Lens' DescribeScheduledInstanceAvailability (Maybe Text)+dsiaNextToken = lens _dsiaNextToken (\ s a -> s{_dsiaNextToken = a});++-- | The maximum available duration, in hours. This value must be greater+-- than 'MinSlotDurationInHours' and less than 1,720.+dsiaMaxSlotDurationInHours :: Lens' DescribeScheduledInstanceAvailability (Maybe Int)+dsiaMaxSlotDurationInHours = lens _dsiaMaxSlotDurationInHours (\ s a -> s{_dsiaMaxSlotDurationInHours = a});++-- | Checks whether you have the required permissions for the action, without+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+dsiaDryRun :: Lens' DescribeScheduledInstanceAvailability (Maybe Bool)+dsiaDryRun = lens _dsiaDryRun (\ s a -> s{_dsiaDryRun = a});++-- | The maximum number of results to return in a single call. This value can+-- be between 5 and 300. The default value is 300. To retrieve the+-- remaining results, make another call with the returned 'NextToken'+-- value.+dsiaMaxResults :: Lens' DescribeScheduledInstanceAvailability (Maybe Int)+dsiaMaxResults = lens _dsiaMaxResults (\ s a -> s{_dsiaMaxResults = a});++-- | The schedule recurrence.+dsiaRecurrence :: Lens' DescribeScheduledInstanceAvailability ScheduledInstanceRecurrenceRequest+dsiaRecurrence = lens _dsiaRecurrence (\ s a -> s{_dsiaRecurrence = a});++-- | The time period for the first schedule to start.+dsiaFirstSlotStartTimeRange :: Lens' DescribeScheduledInstanceAvailability SlotDateTimeRangeRequest+dsiaFirstSlotStartTimeRange = lens _dsiaFirstSlotStartTimeRange (\ s a -> s{_dsiaFirstSlotStartTimeRange = a});++instance AWSRequest+ DescribeScheduledInstanceAvailability where+ type Rs DescribeScheduledInstanceAvailability =+ DescribeScheduledInstanceAvailabilityResponse+ request = postQuery ec2+ response+ = receiveXML+ (\ s h x ->+ DescribeScheduledInstanceAvailabilityResponse' <$>+ (x .@? "scheduledInstanceAvailabilitySet" .!@ mempty+ >>= may (parseXMLList "item"))+ <*> (x .@? "nextToken")+ <*> (pure (fromEnum s)))++instance Hashable+ DescribeScheduledInstanceAvailability++instance ToHeaders+ DescribeScheduledInstanceAvailability where+ toHeaders = const mempty++instance ToPath DescribeScheduledInstanceAvailability+ where+ toPath = const "/"++instance ToQuery+ DescribeScheduledInstanceAvailability where+ toQuery DescribeScheduledInstanceAvailability'{..}+ = mconcat+ ["Action" =:+ ("DescribeScheduledInstanceAvailability" ::+ ByteString),+ "Version" =: ("2015-10-01" :: ByteString),+ "MinSlotDurationInHours" =:+ _dsiaMinSlotDurationInHours,+ toQuery (toQueryList "Filter" <$> _dsiaFilters),+ "NextToken" =: _dsiaNextToken,+ "MaxSlotDurationInHours" =:+ _dsiaMaxSlotDurationInHours,+ "DryRun" =: _dsiaDryRun,+ "MaxResults" =: _dsiaMaxResults,+ "Recurrence" =: _dsiaRecurrence,+ "FirstSlotStartTimeRange" =:+ _dsiaFirstSlotStartTimeRange]++-- | Contains the output of DescribeScheduledInstanceAvailability.+--+-- /See:/ 'describeScheduledInstanceAvailabilityResponse' smart constructor.+data DescribeScheduledInstanceAvailabilityResponse = DescribeScheduledInstanceAvailabilityResponse'+ { _dsiarsScheduledInstanceAvailabilitySet :: !(Maybe [ScheduledInstanceAvailability])+ , _dsiarsNextToken :: !(Maybe Text)+ , _dsiarsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeScheduledInstanceAvailabilityResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsiarsScheduledInstanceAvailabilitySet'+--+-- * 'dsiarsNextToken'+--+-- * 'dsiarsResponseStatus'+describeScheduledInstanceAvailabilityResponse+ :: Int -- ^ 'dsiarsResponseStatus'+ -> DescribeScheduledInstanceAvailabilityResponse+describeScheduledInstanceAvailabilityResponse pResponseStatus_ =+ DescribeScheduledInstanceAvailabilityResponse'+ { _dsiarsScheduledInstanceAvailabilitySet = Nothing+ , _dsiarsNextToken = Nothing+ , _dsiarsResponseStatus = pResponseStatus_+ }++-- | Information about the available Scheduled Instances.+dsiarsScheduledInstanceAvailabilitySet :: Lens' DescribeScheduledInstanceAvailabilityResponse [ScheduledInstanceAvailability]+dsiarsScheduledInstanceAvailabilitySet = lens _dsiarsScheduledInstanceAvailabilitySet (\ s a -> s{_dsiarsScheduledInstanceAvailabilitySet = a}) . _Default . _Coerce;++-- | The token required to retrieve the next set of results. This value is+-- 'null' when there are no more results to return.+dsiarsNextToken :: Lens' DescribeScheduledInstanceAvailabilityResponse (Maybe Text)+dsiarsNextToken = lens _dsiarsNextToken (\ s a -> s{_dsiarsNextToken = a});++-- | The response status code.+dsiarsResponseStatus :: Lens' DescribeScheduledInstanceAvailabilityResponse Int+dsiarsResponseStatus = lens _dsiarsResponseStatus (\ s a -> s{_dsiarsResponseStatus = a});
+ gen/Network/AWS/EC2/DescribeScheduledInstances.hs view
@@ -0,0 +1,206 @@+{-# 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.EC2.DescribeScheduledInstances+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes one or more of your Scheduled Instances.+module Network.AWS.EC2.DescribeScheduledInstances+ (+ -- * Creating a Request+ describeScheduledInstances+ , DescribeScheduledInstances+ -- * Request Lenses+ , dsiFilters+ , dsiSlotStartTimeRange+ , dsiNextToken+ , dsiScheduledInstanceIds+ , dsiDryRun+ , dsiMaxResults++ -- * Destructuring the Response+ , describeScheduledInstancesResponse+ , DescribeScheduledInstancesResponse+ -- * Response Lenses+ , dsirsNextToken+ , dsirsScheduledInstanceSet+ , dsirsResponseStatus+ ) where++import Network.AWS.EC2.Types+import Network.AWS.EC2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the parameters for DescribeScheduledInstances.+--+-- /See:/ 'describeScheduledInstances' smart constructor.+data DescribeScheduledInstances = DescribeScheduledInstances'+ { _dsiFilters :: !(Maybe [Filter])+ , _dsiSlotStartTimeRange :: !(Maybe SlotStartTimeRangeRequest)+ , _dsiNextToken :: !(Maybe Text)+ , _dsiScheduledInstanceIds :: !(Maybe [Text])+ , _dsiDryRun :: !(Maybe Bool)+ , _dsiMaxResults :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeScheduledInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsiFilters'+--+-- * 'dsiSlotStartTimeRange'+--+-- * 'dsiNextToken'+--+-- * 'dsiScheduledInstanceIds'+--+-- * 'dsiDryRun'+--+-- * 'dsiMaxResults'+describeScheduledInstances+ :: DescribeScheduledInstances+describeScheduledInstances =+ DescribeScheduledInstances'+ { _dsiFilters = Nothing+ , _dsiSlotStartTimeRange = Nothing+ , _dsiNextToken = Nothing+ , _dsiScheduledInstanceIds = Nothing+ , _dsiDryRun = Nothing+ , _dsiMaxResults = Nothing+ }++-- | One or more filters.+--+-- - 'availability-zone' - The Availability Zone (for example,+-- 'us-west-2a').+--+-- - 'instance-type' - The instance type (for example, 'c4.large').+--+-- - 'network-platform' - The network platform ('EC2-Classic' or+-- 'EC2-VPC').+--+-- - 'platform' - The platform ('Linux\/UNIX' or 'Windows').+--+dsiFilters :: Lens' DescribeScheduledInstances [Filter]+dsiFilters = lens _dsiFilters (\ s a -> s{_dsiFilters = a}) . _Default . _Coerce;++-- | The time period for the first schedule to start.+dsiSlotStartTimeRange :: Lens' DescribeScheduledInstances (Maybe SlotStartTimeRangeRequest)+dsiSlotStartTimeRange = lens _dsiSlotStartTimeRange (\ s a -> s{_dsiSlotStartTimeRange = a});++-- | The token for the next set of results.+dsiNextToken :: Lens' DescribeScheduledInstances (Maybe Text)+dsiNextToken = lens _dsiNextToken (\ s a -> s{_dsiNextToken = a});++-- | One or more Scheduled Instance IDs.+dsiScheduledInstanceIds :: Lens' DescribeScheduledInstances [Text]+dsiScheduledInstanceIds = lens _dsiScheduledInstanceIds (\ s a -> s{_dsiScheduledInstanceIds = a}) . _Default . _Coerce;++-- | Checks whether you have the required permissions for the action, without+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+dsiDryRun :: Lens' DescribeScheduledInstances (Maybe Bool)+dsiDryRun = lens _dsiDryRun (\ s a -> s{_dsiDryRun = a});++-- | The maximum number of results to return in a single call. This value can+-- be between 5 and 300. The default value is 100. To retrieve the+-- remaining results, make another call with the returned 'NextToken'+-- value.+dsiMaxResults :: Lens' DescribeScheduledInstances (Maybe Int)+dsiMaxResults = lens _dsiMaxResults (\ s a -> s{_dsiMaxResults = a});++instance AWSRequest DescribeScheduledInstances where+ type Rs DescribeScheduledInstances =+ DescribeScheduledInstancesResponse+ request = postQuery ec2+ response+ = receiveXML+ (\ s h x ->+ DescribeScheduledInstancesResponse' <$>+ (x .@? "nextToken") <*>+ (x .@? "scheduledInstanceSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (pure (fromEnum s)))++instance Hashable DescribeScheduledInstances++instance ToHeaders DescribeScheduledInstances where+ toHeaders = const mempty++instance ToPath DescribeScheduledInstances where+ toPath = const "/"++instance ToQuery DescribeScheduledInstances where+ toQuery DescribeScheduledInstances'{..}+ = mconcat+ ["Action" =:+ ("DescribeScheduledInstances" :: ByteString),+ "Version" =: ("2015-10-01" :: ByteString),+ toQuery (toQueryList "Filter" <$> _dsiFilters),+ "SlotStartTimeRange" =: _dsiSlotStartTimeRange,+ "NextToken" =: _dsiNextToken,+ toQuery+ (toQueryList "ScheduledInstanceId" <$>+ _dsiScheduledInstanceIds),+ "DryRun" =: _dsiDryRun,+ "MaxResults" =: _dsiMaxResults]++-- | Contains the output of DescribeScheduledInstances.+--+-- /See:/ 'describeScheduledInstancesResponse' smart constructor.+data DescribeScheduledInstancesResponse = DescribeScheduledInstancesResponse'+ { _dsirsNextToken :: !(Maybe Text)+ , _dsirsScheduledInstanceSet :: !(Maybe [ScheduledInstance])+ , _dsirsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeScheduledInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsirsNextToken'+--+-- * 'dsirsScheduledInstanceSet'+--+-- * 'dsirsResponseStatus'+describeScheduledInstancesResponse+ :: Int -- ^ 'dsirsResponseStatus'+ -> DescribeScheduledInstancesResponse+describeScheduledInstancesResponse pResponseStatus_ =+ DescribeScheduledInstancesResponse'+ { _dsirsNextToken = Nothing+ , _dsirsScheduledInstanceSet = Nothing+ , _dsirsResponseStatus = pResponseStatus_+ }++-- | The token required to retrieve the next set of results. This value is+-- 'null' when there are no more results to return.+dsirsNextToken :: Lens' DescribeScheduledInstancesResponse (Maybe Text)+dsirsNextToken = lens _dsirsNextToken (\ s a -> s{_dsirsNextToken = a});++-- | Information about the Scheduled Instances.+dsirsScheduledInstanceSet :: Lens' DescribeScheduledInstancesResponse [ScheduledInstance]+dsirsScheduledInstanceSet = lens _dsirsScheduledInstanceSet (\ s a -> s{_dsirsScheduledInstanceSet = a}) . _Default . _Coerce;++-- | The response status code.+dsirsResponseStatus :: Lens' DescribeScheduledInstancesResponse Int+dsirsResponseStatus = lens _dsirsResponseStatus (\ s a -> s{_dsirsResponseStatus = a});
gen/Network/AWS/EC2/DescribeSecurityGroups.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeSecurityGroups--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -26,8 +26,6 @@ -- in the /Amazon Elastic Compute Cloud User Guide/ and -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html Security Groups for Your VPC> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSecurityGroups.html AWS API Reference> for DescribeSecurityGroups. module Network.AWS.EC2.DescribeSecurityGroups ( -- * Creating a Request@@ -155,7 +153,7 @@ instance AWSRequest DescribeSecurityGroups where type Rs DescribeSecurityGroups = DescribeSecurityGroupsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -163,6 +161,8 @@ (x .@? "securityGroupInfo" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeSecurityGroups instance ToHeaders DescribeSecurityGroups where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeSnapshotAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeSnapshotAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- For more information about EBS snapshots, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html Amazon EBS Snapshots> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshotAttribute.html AWS API Reference> for DescribeSnapshotAttribute. module Network.AWS.EC2.DescribeSnapshotAttribute ( -- * Creating a Request@@ -98,7 +96,7 @@ instance AWSRequest DescribeSnapshotAttribute where type Rs DescribeSnapshotAttribute = DescribeSnapshotAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -110,6 +108,8 @@ may (parseXMLList "item")) <*> (x .@? "snapshotId") <*> (pure (fromEnum s)))++instance Hashable DescribeSnapshotAttribute instance ToHeaders DescribeSnapshotAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeSnapshots.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeSnapshots--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -66,8 +66,6 @@ -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html Amazon EBS Snapshots> -- in the /Amazon Elastic Compute Cloud User Guide/. ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html AWS API Reference> for DescribeSnapshots.--- -- This operation returns paginated results. module Network.AWS.EC2.DescribeSnapshots (@@ -233,7 +231,7 @@ instance AWSRequest DescribeSnapshots where type Rs DescribeSnapshots = DescribeSnapshotsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -242,6 +240,8 @@ (x .@? "snapshotSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeSnapshots instance ToHeaders DescribeSnapshots where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeSpotDatafeedSubscription.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeSpotDatafeedSubscription--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -21,8 +21,6 @@ -- Describes the data feed for Spot instances. For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html Spot Instance Data Feed> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotDatafeedSubscription.html AWS API Reference> for DescribeSpotDatafeedSubscription. module Network.AWS.EC2.DescribeSpotDatafeedSubscription ( -- * Creating a Request@@ -76,13 +74,15 @@ where type Rs DescribeSpotDatafeedSubscription = DescribeSpotDatafeedSubscriptionResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> DescribeSpotDatafeedSubscriptionResponse' <$> (x .@? "spotDatafeedSubscription") <*> (pure (fromEnum s)))++instance Hashable DescribeSpotDatafeedSubscription instance ToHeaders DescribeSpotDatafeedSubscription where
gen/Network/AWS/EC2/DescribeSpotFleetInstances.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DescribeSpotFleetInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes the running instances for the specified Spot fleet.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotFleetInstances.html AWS API Reference> for DescribeSpotFleetInstances. module Network.AWS.EC2.DescribeSpotFleetInstances ( -- * Creating a Request@@ -106,7 +104,7 @@ instance AWSRequest DescribeSpotFleetInstances where type Rs DescribeSpotFleetInstances = DescribeSpotFleetInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -116,6 +114,8 @@ <*> (x .@? "activeInstanceSet" .!@ mempty >>= parseXMLList "item"))++instance Hashable DescribeSpotFleetInstances instance ToHeaders DescribeSpotFleetInstances where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeSpotFleetRequestHistory.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeSpotFleetRequestHistory--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- Spot fleet events are delayed by up to 30 seconds before they can be -- described. This ensures that you can query by the last evaluated time -- and not miss a recorded event.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotFleetRequestHistory.html AWS API Reference> for DescribeSpotFleetRequestHistory. module Network.AWS.EC2.DescribeSpotFleetRequestHistory ( -- * Creating a Request@@ -134,7 +132,7 @@ where type Rs DescribeSpotFleetRequestHistory = DescribeSpotFleetRequestHistoryResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -146,6 +144,8 @@ <*> (x .@? "historyRecordSet" .!@ mempty >>= parseXMLList "item"))++instance Hashable DescribeSpotFleetRequestHistory instance ToHeaders DescribeSpotFleetRequestHistory where
gen/Network/AWS/EC2/DescribeSpotFleetRequests.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DescribeSpotFleetRequests--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes your Spot fleet requests.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotFleetRequests.html AWS API Reference> for DescribeSpotFleetRequests. module Network.AWS.EC2.DescribeSpotFleetRequests ( -- * Creating a Request@@ -104,7 +102,7 @@ instance AWSRequest DescribeSpotFleetRequests where type Rs DescribeSpotFleetRequests = DescribeSpotFleetRequestsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -112,6 +110,8 @@ (x .@? "nextToken") <*> (pure (fromEnum s)) <*> (x .@? "spotFleetRequestConfigSet" .!@ mempty >>= parseXMLList "item"))++instance Hashable DescribeSpotFleetRequests instance ToHeaders DescribeSpotFleetRequests where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeSpotInstanceRequests.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeSpotInstanceRequests--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -29,11 +29,9 @@ -- You can use 'DescribeSpotInstanceRequests' to find a running Spot -- instance by examining the response. If the status of the Spot instance -- is 'fulfilled', the instance ID appears in the response and contains the--- identifier of the instance. Alternatively, you can use DescribeInstances--- with a filter to look for instances where the instance lifecycle is--- 'spot'.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotInstanceRequests.html AWS API Reference> for DescribeSpotInstanceRequests.+-- identifier of the instance. Alternatively, you can use+-- < DescribeInstances> with a filter to look for instances where the+-- instance lifecycle is 'spot'. module Network.AWS.EC2.DescribeSpotInstanceRequests ( -- * Creating a Request@@ -223,7 +221,7 @@ where type Rs DescribeSpotInstanceRequests = DescribeSpotInstanceRequestsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -231,6 +229,8 @@ (x .@? "spotInstanceRequestSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeSpotInstanceRequests instance ToHeaders DescribeSpotInstanceRequests where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeSpotPriceHistory.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeSpotPriceHistory--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -30,8 +30,6 @@ -- that you specified; the response merely indicates the last time that the -- price changed. ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotPriceHistory.html AWS API Reference> for DescribeSpotPriceHistory.--- -- This operation returns paginated results. module Network.AWS.EC2.DescribeSpotPriceHistory (@@ -192,7 +190,7 @@ instance AWSRequest DescribeSpotPriceHistory where type Rs DescribeSpotPriceHistory = DescribeSpotPriceHistoryResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -201,6 +199,8 @@ (x .@? "spotPriceHistorySet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeSpotPriceHistory instance ToHeaders DescribeSpotPriceHistory where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeSubnets.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeSubnets--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- For more information about subnets, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html Your VPC and Subnets> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSubnets.html AWS API Reference> for DescribeSubnets. module Network.AWS.EC2.DescribeSubnets ( -- * Creating a Request@@ -130,7 +128,7 @@ instance AWSRequest DescribeSubnets where type Rs DescribeSubnets = DescribeSubnetsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -138,6 +136,8 @@ (x .@? "subnetSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeSubnets instance ToHeaders DescribeSubnets where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeTags.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeTags--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html Tagging Your Resources> -- in the /Amazon Elastic Compute Cloud User Guide/. ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeTags.html AWS API Reference> for DescribeTags.--- -- This operation returns paginated results. module Network.AWS.EC2.DescribeTags (@@ -130,7 +128,7 @@ instance AWSRequest DescribeTags where type Rs DescribeTags = DescribeTagsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -139,6 +137,8 @@ (x .@? "tagSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeTags instance ToHeaders DescribeTags where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeVPCAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeVPCAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Describes the specified attribute of the specified VPC. You can specify -- only one attribute at a time.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVPCAttribute.html AWS API Reference> for DescribeVPCAttribute. module Network.AWS.EC2.DescribeVPCAttribute ( -- * Creating a Request@@ -94,7 +92,7 @@ instance AWSRequest DescribeVPCAttribute where type Rs DescribeVPCAttribute = DescribeVPCAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -103,6 +101,8 @@ (x .@? "enableDnsSupport") <*> (x .@? "vpcId") <*> (pure (fromEnum s)))++instance Hashable DescribeVPCAttribute instance ToHeaders DescribeVPCAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeVPCClassicLink.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DescribeVPCClassicLink--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes the ClassicLink status of one or more VPCs.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVPCClassicLink.html AWS API Reference> for DescribeVPCClassicLink. module Network.AWS.EC2.DescribeVPCClassicLink ( -- * Creating a Request@@ -107,7 +105,7 @@ instance AWSRequest DescribeVPCClassicLink where type Rs DescribeVPCClassicLink = DescribeVPCClassicLinkResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -115,6 +113,8 @@ (x .@? "vpcSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeVPCClassicLink instance ToHeaders DescribeVPCClassicLink where toHeaders = const mempty
+ gen/Network/AWS/EC2/DescribeVPCClassicLinkDNSSupport.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the ClassicLink DNS support status of one or more VPCs. If+-- enabled, the DNS hostname of a linked EC2-Classic instance resolves to+-- its private IP address when addressed from an instance in the VPC to+-- which it\'s linked. Similarly, the DNS hostname of an instance in a VPC+-- resolves to its private IP address when addressed from a linked+-- EC2-Classic instance. For more information about ClassicLink, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink>+-- in the Amazon Elastic Compute Cloud User Guide.+module Network.AWS.EC2.DescribeVPCClassicLinkDNSSupport+ (+ -- * Creating a Request+ describeVPCClassicLinkDNSSupport+ , DescribeVPCClassicLinkDNSSupport+ -- * Request Lenses+ , dvcldsNextToken+ , dvcldsVPCIds+ , dvcldsMaxResults++ -- * Destructuring the Response+ , describeVPCClassicLinkDNSSupportResponse+ , DescribeVPCClassicLinkDNSSupportResponse+ -- * Response Lenses+ , dvpccldnssrsVPCs+ , dvpccldnssrsNextToken+ , dvpccldnssrsResponseStatus+ ) where++import Network.AWS.EC2.Types+import Network.AWS.EC2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeVPCClassicLinkDNSSupport' smart constructor.+data DescribeVPCClassicLinkDNSSupport = DescribeVPCClassicLinkDNSSupport'+ { _dvcldsNextToken :: !(Maybe Text)+ , _dvcldsVPCIds :: !(Maybe [Text])+ , _dvcldsMaxResults :: !(Maybe Nat)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCClassicLinkDNSSupport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvcldsNextToken'+--+-- * 'dvcldsVPCIds'+--+-- * 'dvcldsMaxResults'+describeVPCClassicLinkDNSSupport+ :: DescribeVPCClassicLinkDNSSupport+describeVPCClassicLinkDNSSupport =+ DescribeVPCClassicLinkDNSSupport'+ { _dvcldsNextToken = Nothing+ , _dvcldsVPCIds = Nothing+ , _dvcldsMaxResults = Nothing+ }++-- | The token for the next set of items to return. (You received this token+-- from a prior call.)+dvcldsNextToken :: Lens' DescribeVPCClassicLinkDNSSupport (Maybe Text)+dvcldsNextToken = lens _dvcldsNextToken (\ s a -> s{_dvcldsNextToken = a});++-- | One or more VPC IDs.+dvcldsVPCIds :: Lens' DescribeVPCClassicLinkDNSSupport [Text]+dvcldsVPCIds = lens _dvcldsVPCIds (\ s a -> s{_dvcldsVPCIds = a}) . _Default . _Coerce;++-- | The maximum number of items to return for this request. The request+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+dvcldsMaxResults :: Lens' DescribeVPCClassicLinkDNSSupport (Maybe Natural)+dvcldsMaxResults = lens _dvcldsMaxResults (\ s a -> s{_dvcldsMaxResults = a}) . mapping _Nat;++instance AWSRequest DescribeVPCClassicLinkDNSSupport+ where+ type Rs DescribeVPCClassicLinkDNSSupport =+ DescribeVPCClassicLinkDNSSupportResponse+ request = postQuery ec2+ response+ = receiveXML+ (\ s h x ->+ DescribeVPCClassicLinkDNSSupportResponse' <$>+ (x .@? "vpcs" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "nextToken")+ <*> (pure (fromEnum s)))++instance Hashable DescribeVPCClassicLinkDNSSupport++instance ToHeaders DescribeVPCClassicLinkDNSSupport+ where+ toHeaders = const mempty++instance ToPath DescribeVPCClassicLinkDNSSupport+ where+ toPath = const "/"++instance ToQuery DescribeVPCClassicLinkDNSSupport+ where+ toQuery DescribeVPCClassicLinkDNSSupport'{..}+ = mconcat+ ["Action" =:+ ("DescribeVpcClassicLinkDnsSupport" :: ByteString),+ "Version" =: ("2015-10-01" :: ByteString),+ "NextToken" =: _dvcldsNextToken,+ toQuery (toQueryList "VpcIds" <$> _dvcldsVPCIds),+ "MaxResults" =: _dvcldsMaxResults]++-- | /See:/ 'describeVPCClassicLinkDNSSupportResponse' smart constructor.+data DescribeVPCClassicLinkDNSSupportResponse = DescribeVPCClassicLinkDNSSupportResponse'+ { _dvpccldnssrsVPCs :: !(Maybe [ClassicLinkDNSSupport])+ , _dvpccldnssrsNextToken :: !(Maybe Text)+ , _dvpccldnssrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCClassicLinkDNSSupportResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpccldnssrsVPCs'+--+-- * 'dvpccldnssrsNextToken'+--+-- * 'dvpccldnssrsResponseStatus'+describeVPCClassicLinkDNSSupportResponse+ :: Int -- ^ 'dvpccldnssrsResponseStatus'+ -> DescribeVPCClassicLinkDNSSupportResponse+describeVPCClassicLinkDNSSupportResponse pResponseStatus_ =+ DescribeVPCClassicLinkDNSSupportResponse'+ { _dvpccldnssrsVPCs = Nothing+ , _dvpccldnssrsNextToken = Nothing+ , _dvpccldnssrsResponseStatus = pResponseStatus_+ }++-- | Information about the ClassicLink DNS support status of the VPCs.+dvpccldnssrsVPCs :: Lens' DescribeVPCClassicLinkDNSSupportResponse [ClassicLinkDNSSupport]+dvpccldnssrsVPCs = lens _dvpccldnssrsVPCs (\ s a -> s{_dvpccldnssrsVPCs = a}) . _Default . _Coerce;++-- | The token to use when requesting the next set of items.+dvpccldnssrsNextToken :: Lens' DescribeVPCClassicLinkDNSSupportResponse (Maybe Text)+dvpccldnssrsNextToken = lens _dvpccldnssrsNextToken (\ s a -> s{_dvpccldnssrsNextToken = a});++-- | The response status code.+dvpccldnssrsResponseStatus :: Lens' DescribeVPCClassicLinkDNSSupportResponse Int+dvpccldnssrsResponseStatus = lens _dvpccldnssrsResponseStatus (\ s a -> s{_dvpccldnssrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeVPCEndpointServices.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeVPCEndpointServices--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Describes all supported AWS services that can be specified when creating -- a VPC endpoint.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVPCEndpointServices.html AWS API Reference> for DescribeVPCEndpointServices. module Network.AWS.EC2.DescribeVPCEndpointServices ( -- * Creating a Request@@ -97,7 +95,7 @@ instance AWSRequest DescribeVPCEndpointServices where type Rs DescribeVPCEndpointServices = DescribeVPCEndpointServicesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -106,6 +104,8 @@ may (parseXMLList "item")) <*> (x .@? "nextToken") <*> (pure (fromEnum s)))++instance Hashable DescribeVPCEndpointServices instance ToHeaders DescribeVPCEndpointServices where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeVPCEndpoints.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DescribeVPCEndpoints--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes one or more of your VPC endpoints.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVPCEndpoints.html AWS API Reference> for DescribeVPCEndpoints. module Network.AWS.EC2.DescribeVPCEndpoints ( -- * Creating a Request@@ -124,7 +122,7 @@ instance AWSRequest DescribeVPCEndpoints where type Rs DescribeVPCEndpoints = DescribeVPCEndpointsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -133,6 +131,8 @@ (x .@? "vpcEndpointSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeVPCEndpoints instance ToHeaders DescribeVPCEndpoints where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeVPCPeeringConnections.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DescribeVPCPeeringConnections--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes one or more of your VPC peering connections.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVPCPeeringConnections.html AWS API Reference> for DescribeVPCPeeringConnections. module Network.AWS.EC2.DescribeVPCPeeringConnections ( -- * Creating a Request@@ -134,7 +132,7 @@ where type Rs DescribeVPCPeeringConnections = DescribeVPCPeeringConnectionsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -142,6 +140,8 @@ (x .@? "vpcPeeringConnectionSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeVPCPeeringConnections instance ToHeaders DescribeVPCPeeringConnections where
gen/Network/AWS/EC2/DescribeVPCs.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DescribeVPCs--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes one or more of your VPCs.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVPCs.html AWS API Reference> for DescribeVPCs. module Network.AWS.EC2.DescribeVPCs ( -- * Creating a Request@@ -118,7 +116,7 @@ instance AWSRequest DescribeVPCs where type Rs DescribeVPCs = DescribeVPCsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -126,6 +124,8 @@ (x .@? "vpcSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeVPCs instance ToHeaders DescribeVPCs where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeVPNConnections.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeVPNConnections--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- For more information about VPN connections, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a Hardware Virtual Private Gateway to Your VPC> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVPNConnections.html AWS API Reference> for DescribeVPNConnections. module Network.AWS.EC2.DescribeVPNConnections ( -- * Creating a Request@@ -137,7 +135,7 @@ instance AWSRequest DescribeVPNConnections where type Rs DescribeVPNConnections = DescribeVPNConnectionsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -145,6 +143,8 @@ (x .@? "vpnConnectionSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeVPNConnections instance ToHeaders DescribeVPNConnections where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeVPNGateways.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeVPNGateways--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- For more information about virtual private gateways, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding an IPsec Hardware VPN to Your VPC> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVPNGateways.html AWS API Reference> for DescribeVPNGateways. module Network.AWS.EC2.DescribeVPNGateways ( -- * Creating a Request@@ -84,7 +82,7 @@ -- - 'attachment.vpc-id' - The ID of an attached VPC. -- -- - 'availability-zone' - The Availability Zone for the virtual private--- gateway.+-- gateway (if applicable). -- -- - 'state' - The state of the virtual private gateway ('pending' | -- 'available' | 'deleting' | 'deleted').@@ -127,7 +125,7 @@ instance AWSRequest DescribeVPNGateways where type Rs DescribeVPNGateways = DescribeVPNGatewaysResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -135,6 +133,8 @@ (x .@? "vpnGatewaySet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeVPNGateways instance ToHeaders DescribeVPNGateways where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeVolumeAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeVolumeAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,6 @@ -- For more information about EBS volumes, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html Amazon EBS Volumes> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumeAttribute.html AWS API Reference> for DescribeVolumeAttribute. module Network.AWS.EC2.DescribeVolumeAttribute ( -- * Creating a Request@@ -97,7 +95,7 @@ instance AWSRequest DescribeVolumeAttribute where type Rs DescribeVolumeAttribute = DescribeVolumeAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -107,6 +105,8 @@ may (parseXMLList "item")) <*> (x .@? "autoEnableIO") <*> (pure (fromEnum s)))++instance Hashable DescribeVolumeAttribute instance ToHeaders DescribeVolumeAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeVolumeStatus.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeVolumeStatus--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -50,16 +50,14 @@ -- event. For example, if the status of the volume is 'impaired' and the -- volume event shows 'potential-data-inconsistency', then the action shows -- 'enable-volume-io'. This means that you may want to enable the I\/O--- operations for the volume by calling the EnableVolumeIO action and then--- check the volume for data consistency.+-- operations for the volume by calling the < EnableVolumeIO> action and+-- then check the volume for data consistency. -- -- Volume status is based on the volume status checks, and does not reflect -- the volume state. Therefore, volume status does not indicate volumes in -- the 'error' state (for example, when a volume is incapable of accepting -- I\/O.) ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumeStatus.html AWS API Reference> for DescribeVolumeStatus.--- -- This operation returns paginated results. module Network.AWS.EC2.DescribeVolumeStatus (@@ -202,7 +200,7 @@ instance AWSRequest DescribeVolumeStatus where type Rs DescribeVolumeStatus = DescribeVolumeStatusResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -211,6 +209,8 @@ (x .@? "volumeStatusSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeVolumeStatus instance ToHeaders DescribeVolumeStatus where toHeaders = const mempty
gen/Network/AWS/EC2/DescribeVolumes.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DescribeVolumes--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -31,8 +31,6 @@ -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html Amazon EBS Volumes> -- in the /Amazon Elastic Compute Cloud User Guide/. ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html AWS API Reference> for DescribeVolumes.--- -- This operation returns paginated results. module Network.AWS.EC2.DescribeVolumes (@@ -191,7 +189,7 @@ instance AWSRequest DescribeVolumes where type Rs DescribeVolumes = DescribeVolumesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -200,6 +198,8 @@ (x .@? "volumeSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable DescribeVolumes instance ToHeaders DescribeVolumes where toHeaders = const mempty
gen/Network/AWS/EC2/DetachClassicLinkVPC.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DetachClassicLinkVPC--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- instance has been unlinked, the VPC security groups are no longer -- associated with it. An instance is automatically unlinked from a VPC -- when it\'s stopped.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachClassicLinkVPC.html AWS API Reference> for DetachClassicLinkVPC. module Network.AWS.EC2.DetachClassicLinkVPC ( -- * Creating a Request@@ -94,12 +92,14 @@ instance AWSRequest DetachClassicLinkVPC where type Rs DetachClassicLinkVPC = DetachClassicLinkVPCResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> DetachClassicLinkVPCResponse' <$> (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable DetachClassicLinkVPC instance ToHeaders DetachClassicLinkVPC where toHeaders = const mempty
gen/Network/AWS/EC2/DetachInternetGateway.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DetachInternetGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -21,8 +21,6 @@ -- Detaches an Internet gateway from a VPC, disabling connectivity between -- the Internet and the VPC. The VPC must not contain any running instances -- with Elastic IP addresses.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachInternetGateway.html AWS API Reference> for DetachInternetGateway. module Network.AWS.EC2.DetachInternetGateway ( -- * Creating a Request@@ -90,8 +88,10 @@ instance AWSRequest DetachInternetGateway where type Rs DetachInternetGateway = DetachInternetGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DetachInternetGatewayResponse'++instance Hashable DetachInternetGateway instance ToHeaders DetachInternetGateway where toHeaders = const mempty
gen/Network/AWS/EC2/DetachNetworkInterface.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.DetachNetworkInterface--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Detaches a network interface from an instance.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachNetworkInterface.html AWS API Reference> for DetachNetworkInterface. module Network.AWS.EC2.DetachNetworkInterface ( -- * Creating a Request@@ -87,9 +85,11 @@ instance AWSRequest DetachNetworkInterface where type Rs DetachNetworkInterface = DetachNetworkInterfaceResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DetachNetworkInterfaceResponse'++instance Hashable DetachNetworkInterface instance ToHeaders DetachNetworkInterface where toHeaders = const mempty
gen/Network/AWS/EC2/DetachVPNGateway.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DetachVPNGateway--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -27,8 +27,6 @@ -- You must wait for the attachment\'s state to switch to 'detached' before -- you can delete the VPC or attach a different VPC to the virtual private -- gateway.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachVPNGateway.html AWS API Reference> for DetachVPNGateway. module Network.AWS.EC2.DetachVPNGateway ( -- * Creating a Request@@ -95,8 +93,10 @@ instance AWSRequest DetachVPNGateway where type Rs DetachVPNGateway = DetachVPNGatewayResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DetachVPNGatewayResponse'++instance Hashable DetachVPNGateway instance ToHeaders DetachVPNGateway where toHeaders = const mempty
gen/Network/AWS/EC2/DetachVolume.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DetachVolume--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -33,8 +33,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html Detaching an Amazon EBS Volume> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachVolume.html AWS API Reference> for DetachVolume. module Network.AWS.EC2.DetachVolume ( -- * Creating a Request@@ -131,8 +129,10 @@ instance AWSRequest DetachVolume where type Rs DetachVolume = VolumeAttachment- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> parseXML x)++instance Hashable DetachVolume instance ToHeaders DetachVolume where toHeaders = const mempty
gen/Network/AWS/EC2/DisableVGWRoutePropagation.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DisableVGWRoutePropagation--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Disables a virtual private gateway (VGW) from propagating routes to a -- specified route table of a VPC.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DisableVGWRoutePropagation.html AWS API Reference> for DisableVGWRoutePropagation. module Network.AWS.EC2.DisableVGWRoutePropagation ( -- * Creating a Request@@ -77,9 +75,11 @@ instance AWSRequest DisableVGWRoutePropagation where type Rs DisableVGWRoutePropagation = DisableVGWRoutePropagationResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DisableVGWRoutePropagationResponse'++instance Hashable DisableVGWRoutePropagation instance ToHeaders DisableVGWRoutePropagation where toHeaders = const mempty
gen/Network/AWS/EC2/DisableVPCClassicLink.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DisableVPCClassicLink--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC -- that has EC2-Classic instances linked to it.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DisableVPCClassicLink.html AWS API Reference> for DisableVPCClassicLink. module Network.AWS.EC2.DisableVPCClassicLink ( -- * Creating a Request@@ -82,12 +80,14 @@ instance AWSRequest DisableVPCClassicLink where type Rs DisableVPCClassicLink = DisableVPCClassicLinkResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> DisableVPCClassicLinkResponse' <$> (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable DisableVPCClassicLink instance ToHeaders DisableVPCClassicLink where toHeaders = const mempty
+ gen/Network/AWS/EC2/DisableVPCClassicLinkDNSSupport.hs view
@@ -0,0 +1,128 @@+{-# 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.EC2.DisableVPCClassicLinkDNSSupport+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames+-- resolve to public IP addresses when addressed between a linked+-- EC2-Classic instance and instances in the VPC to which it\'s linked. For+-- more information about ClassicLink, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink>+-- in the Amazon Elastic Compute Cloud User Guide.+module Network.AWS.EC2.DisableVPCClassicLinkDNSSupport+ (+ -- * Creating a Request+ disableVPCClassicLinkDNSSupport+ , DisableVPCClassicLinkDNSSupport+ -- * Request Lenses+ , dvcldsVPCId++ -- * Destructuring the Response+ , disableVPCClassicLinkDNSSupportResponse+ , DisableVPCClassicLinkDNSSupportResponse+ -- * Response Lenses+ , dvcldsrsReturn+ , dvcldsrsResponseStatus+ ) where++import Network.AWS.EC2.Types+import Network.AWS.EC2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'disableVPCClassicLinkDNSSupport' smart constructor.+newtype DisableVPCClassicLinkDNSSupport = DisableVPCClassicLinkDNSSupport'+ { _dvcldsVPCId :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableVPCClassicLinkDNSSupport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvcldsVPCId'+disableVPCClassicLinkDNSSupport+ :: DisableVPCClassicLinkDNSSupport+disableVPCClassicLinkDNSSupport =+ DisableVPCClassicLinkDNSSupport'+ { _dvcldsVPCId = Nothing+ }++-- | The ID of the VPC.+dvcldsVPCId :: Lens' DisableVPCClassicLinkDNSSupport (Maybe Text)+dvcldsVPCId = lens _dvcldsVPCId (\ s a -> s{_dvcldsVPCId = a});++instance AWSRequest DisableVPCClassicLinkDNSSupport+ where+ type Rs DisableVPCClassicLinkDNSSupport =+ DisableVPCClassicLinkDNSSupportResponse+ request = postQuery ec2+ response+ = receiveXML+ (\ s h x ->+ DisableVPCClassicLinkDNSSupportResponse' <$>+ (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable DisableVPCClassicLinkDNSSupport++instance ToHeaders DisableVPCClassicLinkDNSSupport+ where+ toHeaders = const mempty++instance ToPath DisableVPCClassicLinkDNSSupport where+ toPath = const "/"++instance ToQuery DisableVPCClassicLinkDNSSupport+ where+ toQuery DisableVPCClassicLinkDNSSupport'{..}+ = mconcat+ ["Action" =:+ ("DisableVpcClassicLinkDnsSupport" :: ByteString),+ "Version" =: ("2015-10-01" :: ByteString),+ "VpcId" =: _dvcldsVPCId]++-- | /See:/ 'disableVPCClassicLinkDNSSupportResponse' smart constructor.+data DisableVPCClassicLinkDNSSupportResponse = DisableVPCClassicLinkDNSSupportResponse'+ { _dvcldsrsReturn :: !(Maybe Bool)+ , _dvcldsrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableVPCClassicLinkDNSSupportResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvcldsrsReturn'+--+-- * 'dvcldsrsResponseStatus'+disableVPCClassicLinkDNSSupportResponse+ :: Int -- ^ 'dvcldsrsResponseStatus'+ -> DisableVPCClassicLinkDNSSupportResponse+disableVPCClassicLinkDNSSupportResponse pResponseStatus_ =+ DisableVPCClassicLinkDNSSupportResponse'+ { _dvcldsrsReturn = Nothing+ , _dvcldsrsResponseStatus = pResponseStatus_+ }++-- | Returns 'true' if the request succeeds; otherwise, it returns an error.+dvcldsrsReturn :: Lens' DisableVPCClassicLinkDNSSupportResponse (Maybe Bool)+dvcldsrsReturn = lens _dvcldsrsReturn (\ s a -> s{_dvcldsrsReturn = a});++-- | The response status code.+dvcldsrsResponseStatus :: Lens' DisableVPCClassicLinkDNSSupportResponse Int+dvcldsrsResponseStatus = lens _dvcldsrsResponseStatus (\ s a -> s{_dvcldsrsResponseStatus = a});
gen/Network/AWS/EC2/DisassociateAddress.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DisassociateAddress--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -28,8 +28,6 @@ -- -- This is an idempotent operation. If you perform the operation more than -- once, Amazon EC2 doesn\'t return an error.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DisassociateAddress.html AWS API Reference> for DisassociateAddress. module Network.AWS.EC2.DisassociateAddress ( -- * Creating a Request@@ -95,8 +93,10 @@ instance AWSRequest DisassociateAddress where type Rs DisassociateAddress = DisassociateAddressResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DisassociateAddressResponse'++instance Hashable DisassociateAddress instance ToHeaders DisassociateAddress where toHeaders = const mempty
gen/Network/AWS/EC2/DisassociateRouteTable.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.DisassociateRouteTable--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -25,8 +25,6 @@ -- table. For more information about route tables, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html Route Tables> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DisassociateRouteTable.html AWS API Reference> for DisassociateRouteTable. module Network.AWS.EC2.DisassociateRouteTable ( -- * Creating a Request@@ -85,9 +83,11 @@ instance AWSRequest DisassociateRouteTable where type Rs DisassociateRouteTable = DisassociateRouteTableResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull DisassociateRouteTableResponse'++instance Hashable DisassociateRouteTable instance ToHeaders DisassociateRouteTable where toHeaders = const mempty
gen/Network/AWS/EC2/EnableVGWRoutePropagation.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.EnableVGWRoutePropagation--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Enables a virtual private gateway (VGW) to propagate routes to the -- specified route table of a VPC.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-EnableVGWRoutePropagation.html AWS API Reference> for EnableVGWRoutePropagation. module Network.AWS.EC2.EnableVGWRoutePropagation ( -- * Creating a Request@@ -77,9 +75,11 @@ instance AWSRequest EnableVGWRoutePropagation where type Rs EnableVGWRoutePropagation = EnableVGWRoutePropagationResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull EnableVGWRoutePropagationResponse'++instance Hashable EnableVGWRoutePropagation instance ToHeaders EnableVGWRoutePropagation where toHeaders = const mempty
gen/Network/AWS/EC2/EnableVPCClassicLink.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.EnableVPCClassicLink--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -27,8 +27,6 @@ -- information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink> -- in the Amazon Elastic Compute Cloud User Guide.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-EnableVPCClassicLink.html AWS API Reference> for EnableVPCClassicLink. module Network.AWS.EC2.EnableVPCClassicLink ( -- * Creating a Request@@ -89,12 +87,14 @@ instance AWSRequest EnableVPCClassicLink where type Rs EnableVPCClassicLink = EnableVPCClassicLinkResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> EnableVPCClassicLinkResponse' <$> (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable EnableVPCClassicLink instance ToHeaders EnableVPCClassicLink where toHeaders = const mempty
+ gen/Network/AWS/EC2/EnableVPCClassicLinkDNSSupport.hs view
@@ -0,0 +1,129 @@+{-# 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.EC2.EnableVPCClassicLinkDNSSupport+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enables a VPC to support DNS hostname resolution for ClassicLink. If+-- enabled, the DNS hostname of a linked EC2-Classic instance resolves to+-- its private IP address when addressed from an instance in the VPC to+-- which it\'s linked. Similarly, the DNS hostname of an instance in a VPC+-- resolves to its private IP address when addressed from a linked+-- EC2-Classic instance. For more information about ClassicLink, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink>+-- in the Amazon Elastic Compute Cloud User Guide.+module Network.AWS.EC2.EnableVPCClassicLinkDNSSupport+ (+ -- * Creating a Request+ enableVPCClassicLinkDNSSupport+ , EnableVPCClassicLinkDNSSupport+ -- * Request Lenses+ , evcldsVPCId++ -- * Destructuring the Response+ , enableVPCClassicLinkDNSSupportResponse+ , EnableVPCClassicLinkDNSSupportResponse+ -- * Response Lenses+ , evcldsrsReturn+ , evcldsrsResponseStatus+ ) where++import Network.AWS.EC2.Types+import Network.AWS.EC2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'enableVPCClassicLinkDNSSupport' smart constructor.+newtype EnableVPCClassicLinkDNSSupport = EnableVPCClassicLinkDNSSupport'+ { _evcldsVPCId :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableVPCClassicLinkDNSSupport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evcldsVPCId'+enableVPCClassicLinkDNSSupport+ :: EnableVPCClassicLinkDNSSupport+enableVPCClassicLinkDNSSupport =+ EnableVPCClassicLinkDNSSupport'+ { _evcldsVPCId = Nothing+ }++-- | The ID of the VPC.+evcldsVPCId :: Lens' EnableVPCClassicLinkDNSSupport (Maybe Text)+evcldsVPCId = lens _evcldsVPCId (\ s a -> s{_evcldsVPCId = a});++instance AWSRequest EnableVPCClassicLinkDNSSupport+ where+ type Rs EnableVPCClassicLinkDNSSupport =+ EnableVPCClassicLinkDNSSupportResponse+ request = postQuery ec2+ response+ = receiveXML+ (\ s h x ->+ EnableVPCClassicLinkDNSSupportResponse' <$>+ (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable EnableVPCClassicLinkDNSSupport++instance ToHeaders EnableVPCClassicLinkDNSSupport+ where+ toHeaders = const mempty++instance ToPath EnableVPCClassicLinkDNSSupport where+ toPath = const "/"++instance ToQuery EnableVPCClassicLinkDNSSupport where+ toQuery EnableVPCClassicLinkDNSSupport'{..}+ = mconcat+ ["Action" =:+ ("EnableVpcClassicLinkDnsSupport" :: ByteString),+ "Version" =: ("2015-10-01" :: ByteString),+ "VpcId" =: _evcldsVPCId]++-- | /See:/ 'enableVPCClassicLinkDNSSupportResponse' smart constructor.+data EnableVPCClassicLinkDNSSupportResponse = EnableVPCClassicLinkDNSSupportResponse'+ { _evcldsrsReturn :: !(Maybe Bool)+ , _evcldsrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableVPCClassicLinkDNSSupportResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evcldsrsReturn'+--+-- * 'evcldsrsResponseStatus'+enableVPCClassicLinkDNSSupportResponse+ :: Int -- ^ 'evcldsrsResponseStatus'+ -> EnableVPCClassicLinkDNSSupportResponse+enableVPCClassicLinkDNSSupportResponse pResponseStatus_ =+ EnableVPCClassicLinkDNSSupportResponse'+ { _evcldsrsReturn = Nothing+ , _evcldsrsResponseStatus = pResponseStatus_+ }++-- | Returns 'true' if the request succeeds; otherwise, it returns an error.+evcldsrsReturn :: Lens' EnableVPCClassicLinkDNSSupportResponse (Maybe Bool)+evcldsrsReturn = lens _evcldsrsReturn (\ s a -> s{_evcldsrsReturn = a});++-- | The response status code.+evcldsrsResponseStatus :: Lens' EnableVPCClassicLinkDNSSupportResponse Int+evcldsrsResponseStatus = lens _evcldsrsResponseStatus (\ s a -> s{_evcldsrsResponseStatus = a});
gen/Network/AWS/EC2/EnableVolumeIO.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.EnableVolumeIO--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Enables I\/O operations for a volume that had I\/O operations disabled -- because the data on the volume was potentially inconsistent.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-EnableVolumeIO.html AWS API Reference> for EnableVolumeIO. module Network.AWS.EC2.EnableVolumeIO ( -- * Creating a Request@@ -78,8 +76,10 @@ instance AWSRequest EnableVolumeIO where type Rs EnableVolumeIO = EnableVolumeIOResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull EnableVolumeIOResponse'++instance Hashable EnableVolumeIO instance ToHeaders EnableVolumeIO where toHeaders = const mempty
gen/Network/AWS/EC2/GetConsoleOutput.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.GetConsoleOutput--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -38,8 +38,6 @@ -- -- For Windows instances, the instance console output includes output from -- the EC2Config service.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-GetConsoleOutput.html AWS API Reference> for GetConsoleOutput. module Network.AWS.EC2.GetConsoleOutput ( -- * Creating a Request@@ -101,7 +99,7 @@ instance AWSRequest GetConsoleOutput where type Rs GetConsoleOutput = GetConsoleOutputResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -110,6 +108,8 @@ (x .@? "timestamp") <*> (pure (fromEnum s))) +instance Hashable GetConsoleOutput+ instance ToHeaders GetConsoleOutput where toHeaders = const mempty @@ -158,7 +158,8 @@ gcorsInstanceId :: Lens' GetConsoleOutputResponse (Maybe Text) gcorsInstanceId = lens _gcorsInstanceId (\ s a -> s{_gcorsInstanceId = a}); --- | The console output, Base64 encoded.+-- | The console output, Base64 encoded. If using a command line tool, the+-- tools decode the output for you. gcorsOutput :: Lens' GetConsoleOutputResponse (Maybe Text) gcorsOutput = lens _gcorsOutput (\ s a -> s{_gcorsOutput = a});
gen/Network/AWS/EC2/GetPasswordData.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.GetPasswordData--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -33,8 +33,6 @@ -- Password generation and encryption takes a few moments. We recommend -- that you wait up to 15 minutes after launching an instance before trying -- to retrieve the generated password.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-GetPasswordData.html AWS API Reference> for GetPasswordData. module Network.AWS.EC2.GetPasswordData ( -- * Creating a Request@@ -96,7 +94,7 @@ instance AWSRequest GetPasswordData where type Rs GetPasswordData = GetPasswordDataResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -104,6 +102,8 @@ (pure (fromEnum s)) <*> (x .@ "instanceId") <*> (x .@ "passwordData") <*> (x .@ "timestamp"))++instance Hashable GetPasswordData instance ToHeaders GetPasswordData where toHeaders = const mempty
gen/Network/AWS/EC2/ImportImage.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ImportImage--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Import single or multi-volume disk images or EBS snapshots into an -- Amazon Machine Image (AMI).------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportImage.html AWS API Reference> for ImportImage. module Network.AWS.EC2.ImportImage ( -- * Creating a Request@@ -178,7 +176,7 @@ instance AWSRequest ImportImage where type Rs ImportImage = ImportImageResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -196,6 +194,8 @@ <*> (x .@? "architecture") <*> (x .@? "description") <*> (pure (fromEnum s)))++instance Hashable ImportImage instance ToHeaders ImportImage where toHeaders = const mempty
gen/Network/AWS/EC2/ImportInstance.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ImportInstance--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,13 +20,15 @@ -- -- Creates an import instance task using metadata from the specified disk -- image. 'ImportInstance' only supports single-volume VMs. To import--- multi-volume VMs, use ImportImage. After importing the image, you then--- upload it using the 'ec2-import-volume' command in the EC2 command line--- tools. For more information, see+-- multi-volume VMs, use < ImportImage>. After importing the image, you+-- then upload it using the 'ec2-import-volume' command in the EC2 command+-- line tools. For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2> -- in the /Amazon Elastic Compute Cloud User Guide/. ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportInstance.html AWS API Reference> for ImportInstance.+-- For information about the import manifest referenced by this API action,+-- see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html VM Import Manifest>. module Network.AWS.EC2.ImportInstance ( -- * Creating a Request@@ -113,12 +115,14 @@ instance AWSRequest ImportInstance where type Rs ImportInstance = ImportInstanceResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> ImportInstanceResponse' <$> (x .@? "conversionTask") <*> (pure (fromEnum s)))++instance Hashable ImportInstance instance ToHeaders ImportInstance where toHeaders = const mempty
gen/Network/AWS/EC2/ImportKeyPair.hs view
@@ -12,23 +12,22 @@ -- | -- Module : Network.AWS.EC2.ImportKeyPair--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Imports the public key from an RSA key pair that you created with a--- third-party tool. Compare this with CreateKeyPair, in which AWS creates--- the key pair and gives the keys to you (AWS keeps a copy of the public--- key). With ImportKeyPair, you create the key pair and give AWS just the--- public key. The private key is never transferred between you and AWS.+-- third-party tool. Compare this with < CreateKeyPair>, in which AWS+-- creates the key pair and gives the keys to you (AWS keeps a copy of the+-- public key). With ImportKeyPair, you create the key pair and give AWS+-- just the public key. The private key is never transferred between you+-- and AWS. -- -- For more information about key pairs, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html Key Pairs> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportKeyPair.html AWS API Reference> for ImportKeyPair. module Network.AWS.EC2.ImportKeyPair ( -- * Creating a Request@@ -106,13 +105,15 @@ instance AWSRequest ImportKeyPair where type Rs ImportKeyPair = ImportKeyPairResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> ImportKeyPairResponse' <$> (x .@? "keyFingerprint") <*> (x .@? "keyName") <*> (pure (fromEnum s)))++instance Hashable ImportKeyPair instance ToHeaders ImportKeyPair where toHeaders = const mempty
gen/Network/AWS/EC2/ImportSnapshot.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.ImportSnapshot--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Imports a disk into an EBS snapshot.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportSnapshot.html AWS API Reference> for ImportSnapshot. module Network.AWS.EC2.ImportSnapshot ( -- * Creating a Request@@ -118,7 +116,7 @@ instance AWSRequest ImportSnapshot where type Rs ImportSnapshot = ImportSnapshotResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -127,6 +125,8 @@ (x .@? "importTaskId") <*> (x .@? "description") <*> (pure (fromEnum s)))++instance Hashable ImportSnapshot instance ToHeaders ImportSnapshot where toHeaders = const mempty
gen/Network/AWS/EC2/ImportVolume.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ImportVolume--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -25,7 +25,9 @@ -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2> -- in the /Amazon Elastic Compute Cloud User Guide/. ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportVolume.html AWS API Reference> for ImportVolume.+-- For information about the import manifest referenced by this API action,+-- see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html VM Import Manifest>. module Network.AWS.EC2.ImportVolume ( -- * Creating a Request@@ -114,12 +116,14 @@ instance AWSRequest ImportVolume where type Rs ImportVolume = ImportVolumeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> ImportVolumeResponse' <$> (x .@? "conversionTask") <*> (pure (fromEnum s)))++instance Hashable ImportVolume instance ToHeaders ImportVolume where toHeaders = const mempty
gen/Network/AWS/EC2/ModifyHosts.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ModifyHosts--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -26,8 +26,6 @@ -- if you want the instance to launch onto a specific host. If no host ID -- is provided, the instance will be launched onto a suitable host which -- has auto-placement enabled.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyHosts.html AWS API Reference> for ModifyHosts. module Network.AWS.EC2.ModifyHosts ( -- * Creating a Request@@ -85,7 +83,7 @@ instance AWSRequest ModifyHosts where type Rs ModifyHosts = ModifyHostsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -96,6 +94,8 @@ (x .@? "successful" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable ModifyHosts instance ToHeaders ModifyHosts where toHeaders = const mempty
gen/Network/AWS/EC2/ModifyIdFormat.hs view
@@ -12,27 +12,30 @@ -- | -- Module : Network.AWS.EC2.ModifyIdFormat--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- __Important: This command is reserved for future use, and is currently--- not available for you to use.__------ Modifies the ID format for the specified resource. You can specify that--- resources should receive longer IDs (17-character IDs) when they are--- created. The following resource types support longer IDs: 'instance' |--- 'reservation'.+-- Modifies the ID format for the specified resource on a per-region basis.+-- You can specify that resources should receive longer IDs (17-character+-- IDs) when they are created. The following resource types support longer+-- IDs: 'instance' | 'reservation'. -- -- This setting applies to the IAM user who makes the request; it does not -- apply to the entire AWS account. By default, an IAM user defaults to the--- same settings as the root user, unless they explicitly override the--- settings by running this request. These settings are applied on a--- per-region basis.+-- same settings as the root user. If you\'re using this action as the root+-- user or as an IAM role that has permission to use this action, then+-- these settings apply to the entire account, unless an IAM user+-- explicitly overrides these settings for themselves. For more+-- information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html#resource-ids-access Controlling Access to Longer ID Settings>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyIdFormat.html AWS API Reference> for ModifyIdFormat.+-- Resources created with longer IDs are visible to all IAM users,+-- regardless of these settings and provided that they have permission to+-- use the relevant 'Describe' command for the resource type. module Network.AWS.EC2.ModifyIdFormat ( -- * Creating a Request@@ -87,8 +90,10 @@ instance AWSRequest ModifyIdFormat where type Rs ModifyIdFormat = ModifyIdFormatResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ModifyIdFormatResponse'++instance Hashable ModifyIdFormat instance ToHeaders ModifyIdFormat where toHeaders = const mempty
gen/Network/AWS/EC2/ModifyImageAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ModifyImageAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- -- AWS Marketplace product codes cannot be modified. Images with an AWS -- Marketplace product code cannot be made public.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyImageAttribute.html AWS API Reference> for ModifyImageAttribute. module Network.AWS.EC2.ModifyImageAttribute ( -- * Creating a Request@@ -159,8 +157,10 @@ instance AWSRequest ModifyImageAttribute where type Rs ModifyImageAttribute = ModifyImageAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ModifyImageAttributeResponse'++instance Hashable ModifyImageAttribute instance ToHeaders ModifyImageAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/ModifyInstanceAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ModifyInstanceAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -25,8 +25,6 @@ -- information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html Modifying Attributes of a Stopped Instance> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html AWS API Reference> for ModifyInstanceAttribute. module Network.AWS.EC2.ModifyInstanceAttribute ( -- * Creating a Request@@ -239,9 +237,11 @@ instance AWSRequest ModifyInstanceAttribute where type Rs ModifyInstanceAttribute = ModifyInstanceAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ModifyInstanceAttributeResponse'++instance Hashable ModifyInstanceAttribute instance ToHeaders ModifyInstanceAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/ModifyInstancePlacement.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ModifyInstancePlacement--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -38,8 +38,6 @@ -- one of them must be specified in the request. Affinity and tenancy can -- be modified in the same request, but tenancy can only be modified on -- instances that are stopped.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstancePlacement.html AWS API Reference> for ModifyInstancePlacement. module Network.AWS.EC2.ModifyInstancePlacement ( -- * Creating a Request@@ -115,12 +113,14 @@ instance AWSRequest ModifyInstancePlacement where type Rs ModifyInstancePlacement = ModifyInstancePlacementResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> ModifyInstancePlacementResponse' <$> (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable ModifyInstancePlacement instance ToHeaders ModifyInstancePlacement where toHeaders = const mempty
gen/Network/AWS/EC2/ModifyNetworkInterfaceAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ModifyNetworkInterfaceAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Modifies the specified network interface attribute. You can specify only -- one attribute at a time.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyNetworkInterfaceAttribute.html AWS API Reference> for ModifyNetworkInterfaceAttribute. module Network.AWS.EC2.ModifyNetworkInterfaceAttribute ( -- * Creating a Request@@ -126,10 +124,12 @@ where type Rs ModifyNetworkInterfaceAttribute = ModifyNetworkInterfaceAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ModifyNetworkInterfaceAttributeResponse'++instance Hashable ModifyNetworkInterfaceAttribute instance ToHeaders ModifyNetworkInterfaceAttribute where
gen/Network/AWS/EC2/ModifyReservedInstances.hs view
@@ -12,22 +12,20 @@ -- | -- Module : Network.AWS.EC2.ModifyReservedInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Modifies the Availability Zone, instance count, instance type, or--- network platform (EC2-Classic or EC2-VPC) of your Reserved instances.--- The Reserved instances to be modified must be identical, except for+-- network platform (EC2-Classic or EC2-VPC) of your Reserved Instances.+-- The Reserved Instances to be modified must be identical, except for -- Availability Zone, network platform, and instance type. -- -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html Modifying Reserved Instances> -- in the Amazon Elastic Compute Cloud User Guide.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyReservedInstances.html AWS API Reference> for ModifyReservedInstances. module Network.AWS.EC2.ModifyReservedInstances ( -- * Creating a Request@@ -84,24 +82,26 @@ mriClientToken :: Lens' ModifyReservedInstances (Maybe Text) mriClientToken = lens _mriClientToken (\ s a -> s{_mriClientToken = a}); --- | The IDs of the Reserved instances to modify.+-- | The IDs of the Reserved Instances to modify. mriReservedInstancesIds :: Lens' ModifyReservedInstances [Text] mriReservedInstancesIds = lens _mriReservedInstancesIds (\ s a -> s{_mriReservedInstancesIds = a}) . _Coerce; --- | The configuration settings for the Reserved instances to modify.+-- | The configuration settings for the Reserved Instances to modify. mriTargetConfigurations :: Lens' ModifyReservedInstances [ReservedInstancesConfiguration] mriTargetConfigurations = lens _mriTargetConfigurations (\ s a -> s{_mriTargetConfigurations = a}) . _Coerce; instance AWSRequest ModifyReservedInstances where type Rs ModifyReservedInstances = ModifyReservedInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> ModifyReservedInstancesResponse' <$> (x .@? "reservedInstancesModificationId") <*> (pure (fromEnum s)))++instance Hashable ModifyReservedInstances instance ToHeaders ModifyReservedInstances where toHeaders = const mempty
gen/Network/AWS/EC2/ModifySnapshotAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ModifySnapshotAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -29,8 +29,6 @@ -- in the /Amazon Elastic Compute Cloud User Guide/. -- -- Snapshots with AWS Marketplace product codes cannot be made public.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifySnapshotAttribute.html AWS API Reference> for ModifySnapshotAttribute. module Network.AWS.EC2.ModifySnapshotAttribute ( -- * Creating a Request@@ -135,9 +133,11 @@ instance AWSRequest ModifySnapshotAttribute where type Rs ModifySnapshotAttribute = ModifySnapshotAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ModifySnapshotAttributeResponse'++instance Hashable ModifySnapshotAttribute instance ToHeaders ModifySnapshotAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/ModifySpotFleetRequest.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ModifySpotFleetRequest--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -40,8 +40,6 @@ -- pools. Alternatively, you can request that the Spot fleet keep the fleet -- at its current size, but not replace any Spot instances that are -- interrupted or that you terminate manually.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifySpotFleetRequest.html AWS API Reference> for ModifySpotFleetRequest. module Network.AWS.EC2.ModifySpotFleetRequest ( -- * Creating a Request@@ -112,12 +110,14 @@ instance AWSRequest ModifySpotFleetRequest where type Rs ModifySpotFleetRequest = ModifySpotFleetRequestResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> ModifySpotFleetRequestResponse' <$> (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable ModifySpotFleetRequest instance ToHeaders ModifySpotFleetRequest where toHeaders = const mempty
gen/Network/AWS/EC2/ModifySubnetAttribute.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.ModifySubnetAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Modifies a subnet attribute.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifySubnetAttribute.html AWS API Reference> for ModifySubnetAttribute. module Network.AWS.EC2.ModifySubnetAttribute ( -- * Creating a Request@@ -76,8 +74,10 @@ instance AWSRequest ModifySubnetAttribute where type Rs ModifySubnetAttribute = ModifySubnetAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ModifySubnetAttributeResponse'++instance Hashable ModifySubnetAttribute instance ToHeaders ModifySubnetAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/ModifyVPCAttribute.hs view
@@ -12,15 +12,13 @@ -- | -- Module : Network.AWS.EC2.ModifyVPCAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Modifies the specified attribute of the specified VPC.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyVPCAttribute.html AWS API Reference> for ModifyVPCAttribute. module Network.AWS.EC2.ModifyVPCAttribute ( -- * Creating a Request@@ -98,8 +96,10 @@ instance AWSRequest ModifyVPCAttribute where type Rs ModifyVPCAttribute = ModifyVPCAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ModifyVPCAttributeResponse'++instance Hashable ModifyVPCAttribute instance ToHeaders ModifyVPCAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/ModifyVPCEndpoint.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ModifyVPCEndpoint--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -21,8 +21,6 @@ -- Modifies attributes of a specified VPC endpoint. You can modify the -- policy associated with the endpoint, and you can add and remove route -- tables associated with the endpoint.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyVPCEndpoint.html AWS API Reference> for ModifyVPCEndpoint. module Network.AWS.EC2.ModifyVPCEndpoint ( -- * Creating a Request@@ -120,12 +118,14 @@ instance AWSRequest ModifyVPCEndpoint where type Rs ModifyVPCEndpoint = ModifyVPCEndpointResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> ModifyVPCEndpointResponse' <$> (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable ModifyVPCEndpoint instance ToHeaders ModifyVPCEndpoint where toHeaders = const mempty
gen/Network/AWS/EC2/ModifyVolumeAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ModifyVolumeAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -29,8 +29,6 @@ -- You can change the default behavior to resume I\/O operations. We -- recommend that you change this only for boot volumes or for volumes that -- are stateless or disposable.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyVolumeAttribute.html AWS API Reference> for ModifyVolumeAttribute. module Network.AWS.EC2.ModifyVolumeAttribute ( -- * Creating a Request@@ -97,8 +95,10 @@ instance AWSRequest ModifyVolumeAttribute where type Rs ModifyVolumeAttribute = ModifyVolumeAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ModifyVolumeAttributeResponse'++instance Hashable ModifyVolumeAttribute instance ToHeaders ModifyVolumeAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/MonitorInstances.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.MonitorInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- monitoring instances, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html Monitoring Your Instances and Volumes> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-MonitorInstances.html AWS API Reference> for MonitorInstances. module Network.AWS.EC2.MonitorInstances ( -- * Creating a Request@@ -82,7 +80,7 @@ instance AWSRequest MonitorInstances where type Rs MonitorInstances = MonitorInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -90,6 +88,8 @@ (x .@? "instancesSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable MonitorInstances instance ToHeaders MonitorInstances where toHeaders = const mempty
gen/Network/AWS/EC2/MoveAddressToVPC.hs view
@@ -12,21 +12,22 @@ -- | -- Module : Network.AWS.EC2.MoveAddressToVPC--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC--- platform. The Elastic IP address must be allocated to your account, and--- it must not be associated with an instance. After the Elastic IP address--- is moved, it is no longer available for use in the EC2-Classic platform,--- unless you move it back using the RestoreAddressToClassic request. You--- cannot move an Elastic IP address that\'s allocated for use in the--- EC2-VPC platform to the EC2-Classic platform.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-MoveAddressToVPC.html AWS API Reference> for MoveAddressToVPC.+-- platform. The Elastic IP address must be allocated to your account for+-- more than 24 hours, and it must not be associated with an instance.+-- After the Elastic IP address is moved, it is no longer available for use+-- in the EC2-Classic platform, unless you move it back using the+-- < RestoreAddressToClassic> request. You cannot move an Elastic IP+-- address that\'s allocated for use in the EC2-VPC platform to the+-- EC2-Classic platform. You cannot migrate an Elastic IP address that\'s+-- associated with a reverse DNS record. Contact AWS account and billing+-- support to remove the reverse DNS record. module Network.AWS.EC2.MoveAddressToVPC ( -- * Creating a Request@@ -87,13 +88,15 @@ instance AWSRequest MoveAddressToVPC where type Rs MoveAddressToVPC = MoveAddressToVPCResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> MoveAddressToVPCResponse' <$> (x .@? "status") <*> (x .@? "allocationId") <*> (pure (fromEnum s)))++instance Hashable MoveAddressToVPC instance ToHeaders MoveAddressToVPC where toHeaders = const mempty
gen/Network/AWS/EC2/PurchaseReservedInstancesOffering.hs view
@@ -12,29 +12,27 @@ -- | -- Module : Network.AWS.EC2.PurchaseReservedInstancesOffering--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Purchases a Reserved instance for use with your account. With Amazon EC2--- Reserved instances, you obtain a capacity reservation for a certain--- instance configuration over a specified period of time and pay a lower--- hourly rate compared to On-Demand Instance pricing.+-- Purchases a Reserved Instance for use with your account. With Reserved+-- Instances, you obtain a capacity reservation for a certain instance+-- configuration over a specified period of time and pay a lower hourly+-- rate compared to On-Demand instance pricing. ----- Use DescribeReservedInstancesOfferings to get a list of Reserved--- instance offerings that match your specifications. After you\'ve--- purchased a Reserved instance, you can check for your new Reserved--- instance with DescribeReservedInstances.+-- Use < DescribeReservedInstancesOfferings> to get a list of Reserved+-- Instance offerings that match your specifications. After you\'ve+-- purchased a Reserved Instance, you can check for your new Reserved+-- Instance with < DescribeReservedInstances>. -- -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html Reserved Instances> -- and -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html Reserved Instance Marketplace> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-PurchaseReservedInstancesOffering.html AWS API Reference> for PurchaseReservedInstancesOffering. module Network.AWS.EC2.PurchaseReservedInstancesOffering ( -- * Creating a Request@@ -93,7 +91,7 @@ } -- | Specified for Reserved Instance Marketplace offerings to limit the total--- order and ensure that the Reserved instances are not purchased at+-- order and ensure that the Reserved Instances are not purchased at -- unexpected prices. prioLimitPrice :: Lens' PurchaseReservedInstancesOffering (Maybe ReservedInstanceLimitPrice) prioLimitPrice = lens _prioLimitPrice (\ s a -> s{_prioLimitPrice = a});@@ -105,11 +103,11 @@ prioDryRun :: Lens' PurchaseReservedInstancesOffering (Maybe Bool) prioDryRun = lens _prioDryRun (\ s a -> s{_prioDryRun = a}); --- | The ID of the Reserved instance offering to purchase.+-- | The ID of the Reserved Instance offering to purchase. prioReservedInstancesOfferingId :: Lens' PurchaseReservedInstancesOffering Text prioReservedInstancesOfferingId = lens _prioReservedInstancesOfferingId (\ s a -> s{_prioReservedInstancesOfferingId = a}); --- | The number of Reserved instances to purchase.+-- | The number of Reserved Instances to purchase. prioInstanceCount :: Lens' PurchaseReservedInstancesOffering Int prioInstanceCount = lens _prioInstanceCount (\ s a -> s{_prioInstanceCount = a}); @@ -117,7 +115,7 @@ where type Rs PurchaseReservedInstancesOffering = PurchaseReservedInstancesOfferingResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -125,6 +123,8 @@ (x .@? "reservedInstancesId") <*> (pure (fromEnum s))) +instance Hashable PurchaseReservedInstancesOffering+ instance ToHeaders PurchaseReservedInstancesOffering where toHeaders = const mempty@@ -168,7 +168,7 @@ , _priorsResponseStatus = pResponseStatus_ } --- | The IDs of the purchased Reserved instances.+-- | The IDs of the purchased Reserved Instances. priorsReservedInstancesId :: Lens' PurchaseReservedInstancesOfferingResponse (Maybe Text) priorsReservedInstancesId = lens _priorsReservedInstancesId (\ s a -> s{_priorsReservedInstancesId = a});
+ gen/Network/AWS/EC2/PurchaseScheduledInstances.hs view
@@ -0,0 +1,157 @@+{-# 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.EC2.PurchaseScheduledInstances+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Purchases one or more Scheduled Instances with the specified schedule.+--+-- Scheduled Instances enable you to purchase Amazon EC2 compute capacity+-- by the hour for a one-year term. Before you can purchase a Scheduled+-- Instance, you must call < DescribeScheduledInstanceAvailability> to+-- check for available schedules and obtain a purchase token.+module Network.AWS.EC2.PurchaseScheduledInstances+ (+ -- * Creating a Request+ purchaseScheduledInstances+ , PurchaseScheduledInstances+ -- * Request Lenses+ , psiClientToken+ , psiDryRun+ , psiPurchaseRequests++ -- * Destructuring the Response+ , purchaseScheduledInstancesResponse+ , PurchaseScheduledInstancesResponse+ -- * Response Lenses+ , psirsScheduledInstanceSet+ , psirsResponseStatus+ ) where++import Network.AWS.EC2.Types+import Network.AWS.EC2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the parameters for PurchaseScheduledInstances.+--+-- /See:/ 'purchaseScheduledInstances' smart constructor.+data PurchaseScheduledInstances = PurchaseScheduledInstances'+ { _psiClientToken :: !(Maybe Text)+ , _psiDryRun :: !(Maybe Bool)+ , _psiPurchaseRequests :: !(List1 PurchaseRequest)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PurchaseScheduledInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psiClientToken'+--+-- * 'psiDryRun'+--+-- * 'psiPurchaseRequests'+purchaseScheduledInstances+ :: NonEmpty PurchaseRequest -- ^ 'psiPurchaseRequests'+ -> PurchaseScheduledInstances+purchaseScheduledInstances pPurchaseRequests_ =+ PurchaseScheduledInstances'+ { _psiClientToken = Nothing+ , _psiDryRun = Nothing+ , _psiPurchaseRequests = _List1 # pPurchaseRequests_+ }++-- | Unique, case-sensitive identifier that ensures the idempotency of the+-- request. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.+psiClientToken :: Lens' PurchaseScheduledInstances (Maybe Text)+psiClientToken = lens _psiClientToken (\ s a -> s{_psiClientToken = a});++-- | Checks whether you have the required permissions for the action, without+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+psiDryRun :: Lens' PurchaseScheduledInstances (Maybe Bool)+psiDryRun = lens _psiDryRun (\ s a -> s{_psiDryRun = a});++-- | One or more purchase requests.+psiPurchaseRequests :: Lens' PurchaseScheduledInstances (NonEmpty PurchaseRequest)+psiPurchaseRequests = lens _psiPurchaseRequests (\ s a -> s{_psiPurchaseRequests = a}) . _List1;++instance AWSRequest PurchaseScheduledInstances where+ type Rs PurchaseScheduledInstances =+ PurchaseScheduledInstancesResponse+ request = postQuery ec2+ response+ = receiveXML+ (\ s h x ->+ PurchaseScheduledInstancesResponse' <$>+ (x .@? "scheduledInstanceSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (pure (fromEnum s)))++instance Hashable PurchaseScheduledInstances++instance ToHeaders PurchaseScheduledInstances where+ toHeaders = const mempty++instance ToPath PurchaseScheduledInstances where+ toPath = const "/"++instance ToQuery PurchaseScheduledInstances where+ toQuery PurchaseScheduledInstances'{..}+ = mconcat+ ["Action" =:+ ("PurchaseScheduledInstances" :: ByteString),+ "Version" =: ("2015-10-01" :: ByteString),+ "ClientToken" =: _psiClientToken,+ "DryRun" =: _psiDryRun,+ toQueryList "PurchaseRequest" _psiPurchaseRequests]++-- | Contains the output of PurchaseScheduledInstances.+--+-- /See:/ 'purchaseScheduledInstancesResponse' smart constructor.+data PurchaseScheduledInstancesResponse = PurchaseScheduledInstancesResponse'+ { _psirsScheduledInstanceSet :: !(Maybe [ScheduledInstance])+ , _psirsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PurchaseScheduledInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psirsScheduledInstanceSet'+--+-- * 'psirsResponseStatus'+purchaseScheduledInstancesResponse+ :: Int -- ^ 'psirsResponseStatus'+ -> PurchaseScheduledInstancesResponse+purchaseScheduledInstancesResponse pResponseStatus_ =+ PurchaseScheduledInstancesResponse'+ { _psirsScheduledInstanceSet = Nothing+ , _psirsResponseStatus = pResponseStatus_+ }++-- | Information about the Scheduled Instances.+psirsScheduledInstanceSet :: Lens' PurchaseScheduledInstancesResponse [ScheduledInstance]+psirsScheduledInstanceSet = lens _psirsScheduledInstanceSet (\ s a -> s{_psirsScheduledInstanceSet = a}) . _Default . _Coerce;++-- | The response status code.+psirsResponseStatus :: Lens' PurchaseScheduledInstancesResponse Int+psirsResponseStatus = lens _psirsResponseStatus (\ s a -> s{_psirsResponseStatus = a});
gen/Network/AWS/EC2/RebootInstances.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.RebootInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -29,8 +29,6 @@ -- For more information about troubleshooting, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html Getting Console Output and Rebooting Instances> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RebootInstances.html AWS API Reference> for RebootInstances. module Network.AWS.EC2.RebootInstances ( -- * Creating a Request@@ -86,8 +84,10 @@ instance AWSRequest RebootInstances where type Rs RebootInstances = RebootInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull RebootInstancesResponse'++instance Hashable RebootInstances instance ToHeaders RebootInstances where toHeaders = const mempty
gen/Network/AWS/EC2/RegisterImage.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.RegisterImage--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -24,8 +24,8 @@ -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html Creating Your Own AMIs> -- in the /Amazon Elastic Compute Cloud User Guide/. ----- For Amazon EBS-backed instances, CreateImage creates and registers the--- AMI in a single request, so you don\'t have to register the AMI+-- For Amazon EBS-backed instances, < CreateImage> creates and registers+-- the AMI in a single request, so you don\'t have to register the AMI -- yourself. -- -- You can also use 'RegisterImage' to create an Amazon EBS-backed Linux@@ -44,7 +44,7 @@ -- can\'t successfully launch an instance from the AMI. -- -- To create Windows AMIs or to create AMIs for Linux operating systems--- that must retain AMI billing codes to work properly, see CreateImage.+-- that must retain AMI billing codes to work properly, see < CreateImage>. -- -- If needed, you can deregister an AMI at any time. Any modifications you -- make to an AMI backed by an instance store volume invalidates its@@ -53,8 +53,6 @@ -- -- You can\'t register an image where a secondary (non-root) snapshot has -- AWS Marketplace product codes.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RegisterImage.html AWS API Reference> for RegisterImage. module Network.AWS.EC2.RegisterImage ( -- * Creating a Request@@ -211,12 +209,14 @@ instance AWSRequest RegisterImage where type Rs RegisterImage = RegisterImageResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> RegisterImageResponse' <$> (x .@? "imageId") <*> (pure (fromEnum s)))++instance Hashable RegisterImage instance ToHeaders RegisterImage where toHeaders = const mempty
gen/Network/AWS/EC2/RejectVPCPeeringConnection.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.RejectVPCPeeringConnection--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,12 +20,10 @@ -- -- Rejects a VPC peering connection request. The VPC peering connection -- must be in the 'pending-acceptance' state. Use the--- DescribeVpcPeeringConnections request to view your outstanding VPC+-- < DescribeVpcPeeringConnections> request to view your outstanding VPC -- peering connection requests. To delete an active VPC peering connection, -- or to delete a VPC peering connection request that you initiated, use--- DeleteVpcPeeringConnection.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RejectVPCPeeringConnection.html AWS API Reference> for RejectVPCPeeringConnection.+-- < DeleteVpcPeeringConnection>. module Network.AWS.EC2.RejectVPCPeeringConnection ( -- * Creating a Request@@ -86,12 +84,14 @@ instance AWSRequest RejectVPCPeeringConnection where type Rs RejectVPCPeeringConnection = RejectVPCPeeringConnectionResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> RejectVPCPeeringConnectionResponse' <$> (x .@? "return") <*> (pure (fromEnum s)))++instance Hashable RejectVPCPeeringConnection instance ToHeaders RejectVPCPeeringConnection where toHeaders = const mempty
gen/Network/AWS/EC2/ReleaseAddress.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ReleaseAddress--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -30,13 +30,11 @@ -- [EC2-Classic, default VPC] Releasing an Elastic IP address automatically -- disassociates it from any instance that it\'s associated with. To -- disassociate an Elastic IP address without releasing it, use--- DisassociateAddress.+-- < DisassociateAddress>. ----- [Nondefault VPC] You must use DisassociateAddress to disassociate the+-- [Nondefault VPC] You must use < DisassociateAddress> to disassociate the -- Elastic IP address before you try to release it. Otherwise, Amazon EC2 -- returns an error ('InvalidIPAddress.InUse').------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReleaseAddress.html AWS API Reference> for ReleaseAddress. module Network.AWS.EC2.ReleaseAddress ( -- * Creating a Request@@ -101,8 +99,10 @@ instance AWSRequest ReleaseAddress where type Rs ReleaseAddress = ReleaseAddressResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ReleaseAddressResponse'++instance Hashable ReleaseAddress instance ToHeaders ReleaseAddress where toHeaders = const mempty
gen/Network/AWS/EC2/ReleaseHosts.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ReleaseHosts--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -30,8 +30,6 @@ -- then try again. -- -- Released hosts will still appear in a DescribeHosts response.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReleaseHosts.html AWS API Reference> for ReleaseHosts. module Network.AWS.EC2.ReleaseHosts ( -- * Creating a Request@@ -79,7 +77,7 @@ instance AWSRequest ReleaseHosts where type Rs ReleaseHosts = ReleaseHostsResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -90,6 +88,8 @@ (x .@? "successful" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable ReleaseHosts instance ToHeaders ReleaseHosts where toHeaders = const mempty
gen/Network/AWS/EC2/ReplaceNetworkACLAssociation.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ReplaceNetworkACLAssociation--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- network ACL. For more information about network ACLs, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html Network ACLs> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReplaceNetworkACLAssociation.html AWS API Reference> for ReplaceNetworkACLAssociation. module Network.AWS.EC2.ReplaceNetworkACLAssociation ( -- * Creating a Request@@ -97,12 +95,14 @@ where type Rs ReplaceNetworkACLAssociation = ReplaceNetworkACLAssociationResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> ReplaceNetworkACLAssociationResponse' <$> (x .@? "newAssociationId") <*> (pure (fromEnum s)))++instance Hashable ReplaceNetworkACLAssociation instance ToHeaders ReplaceNetworkACLAssociation where toHeaders = const mempty
gen/Network/AWS/EC2/ReplaceNetworkACLEntry.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ReplaceNetworkACLEntry--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- network ACLs, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html Network ACLs> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReplaceNetworkACLEntry.html AWS API Reference> for ReplaceNetworkACLEntry. module Network.AWS.EC2.ReplaceNetworkACLEntry ( -- * Creating a Request@@ -153,9 +151,11 @@ instance AWSRequest ReplaceNetworkACLEntry where type Rs ReplaceNetworkACLEntry = ReplaceNetworkACLEntryResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ReplaceNetworkACLEntryResponse'++instance Hashable ReplaceNetworkACLEntry instance ToHeaders ReplaceNetworkACLEntry where toHeaders = const mempty
gen/Network/AWS/EC2/ReplaceRoute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ReplaceRoute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -26,8 +26,6 @@ -- For more information about route tables, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html Route Tables> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReplaceRoute.html AWS API Reference> for ReplaceRoute. module Network.AWS.EC2.ReplaceRoute ( -- * Creating a Request@@ -140,8 +138,10 @@ instance AWSRequest ReplaceRoute where type Rs ReplaceRoute = ReplaceRouteResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ReplaceRouteResponse'++instance Hashable ReplaceRoute instance ToHeaders ReplaceRoute where toHeaders = const mempty
gen/Network/AWS/EC2/ReplaceRouteTableAssociation.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ReplaceRouteTableAssociation--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -29,8 +29,6 @@ -- the main route table in the VPC. You just specify the main route -- table\'s association ID and the route table to be the new main route -- table.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReplaceRouteTableAssociation.html AWS API Reference> for ReplaceRouteTableAssociation. module Network.AWS.EC2.ReplaceRouteTableAssociation ( -- * Creating a Request@@ -102,12 +100,14 @@ where type Rs ReplaceRouteTableAssociation = ReplaceRouteTableAssociationResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> ReplaceRouteTableAssociationResponse' <$> (x .@? "newAssociationId") <*> (pure (fromEnum s)))++instance Hashable ReplaceRouteTableAssociation instance ToHeaders ReplaceRouteTableAssociation where toHeaders = const mempty
gen/Network/AWS/EC2/ReportInstanceStatus.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ReportInstanceStatus--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,14 +20,13 @@ -- -- Submits feedback about the status of an instance. The instance must be -- in the 'running' state. If your experience with the instance differs--- from the instance status returned by DescribeInstanceStatus, use--- ReportInstanceStatus to report your experience with the instance. Amazon--- EC2 collects this information to improve the accuracy of status checks.+-- from the instance status returned by < DescribeInstanceStatus>, use+-- < ReportInstanceStatus> to report your experience with the instance.+-- Amazon EC2 collects this information to improve the accuracy of status+-- checks. -- -- Use of this action does not change the value returned by--- DescribeInstanceStatus.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReportInstanceStatus.html AWS API Reference> for ReportInstanceStatus.+-- < DescribeInstanceStatus>. module Network.AWS.EC2.ReportInstanceStatus ( -- * Creating a Request@@ -157,8 +156,10 @@ instance AWSRequest ReportInstanceStatus where type Rs ReportInstanceStatus = ReportInstanceStatusResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ReportInstanceStatusResponse'++instance Hashable ReportInstanceStatus instance ToHeaders ReportInstanceStatus where toHeaders = const mempty
gen/Network/AWS/EC2/RequestSpotFleet.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.RequestSpotFleet--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -37,8 +37,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html Spot Fleet Requests> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RequestSpotFleet.html AWS API Reference> for RequestSpotFleet. module Network.AWS.EC2.RequestSpotFleet ( -- * Creating a Request@@ -100,12 +98,14 @@ instance AWSRequest RequestSpotFleet where type Rs RequestSpotFleet = RequestSpotFleetResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> RequestSpotFleetResponse' <$> (pure (fromEnum s)) <*> (x .@ "spotFleetRequestId"))++instance Hashable RequestSpotFleet instance ToHeaders RequestSpotFleet where toHeaders = const mempty
gen/Network/AWS/EC2/RequestSpotInstances.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.RequestSpotInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -25,25 +25,23 @@ -- more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html Spot Instance Requests> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RequestSpotInstances.html AWS API Reference> for RequestSpotInstances. module Network.AWS.EC2.RequestSpotInstances ( -- * Creating a Request requestSpotInstances , RequestSpotInstances -- * Request Lenses- , rsiBlockDurationMinutes- , rsiClientToken- , rsiInstanceCount- , rsiLaunchSpecification- , rsiAvailabilityZoneGroup- , rsiValidUntil- , rsiLaunchGroup- , rsiType- , rsiValidFrom- , rsiDryRun- , rsiSpotPrice+ , rsisBlockDurationMinutes+ , rsisClientToken+ , rsisInstanceCount+ , rsisLaunchSpecification+ , rsisAvailabilityZoneGroup+ , rsisValidUntil+ , rsisLaunchGroup+ , rsisType+ , rsisValidFrom+ , rsisDryRun+ , rsisSpotPrice -- * Destructuring the Response , requestSpotInstancesResponse@@ -64,64 +62,65 @@ -- -- /See:/ 'requestSpotInstances' smart constructor. data RequestSpotInstances = RequestSpotInstances'- { _rsiBlockDurationMinutes :: !(Maybe Int)- , _rsiClientToken :: !(Maybe Text)- , _rsiInstanceCount :: !(Maybe Int)- , _rsiLaunchSpecification :: !(Maybe RequestSpotLaunchSpecification)- , _rsiAvailabilityZoneGroup :: !(Maybe Text)- , _rsiValidUntil :: !(Maybe ISO8601)- , _rsiLaunchGroup :: !(Maybe Text)- , _rsiType :: !(Maybe SpotInstanceType)- , _rsiValidFrom :: !(Maybe ISO8601)- , _rsiDryRun :: !(Maybe Bool)- , _rsiSpotPrice :: !Text+ { _rsisBlockDurationMinutes :: !(Maybe Int)+ , _rsisClientToken :: !(Maybe Text)+ , _rsisInstanceCount :: !(Maybe Int)+ , _rsisLaunchSpecification :: !(Maybe RequestSpotLaunchSpecification)+ , _rsisAvailabilityZoneGroup :: !(Maybe Text)+ , _rsisValidUntil :: !(Maybe ISO8601)+ , _rsisLaunchGroup :: !(Maybe Text)+ , _rsisType :: !(Maybe SpotInstanceType)+ , _rsisValidFrom :: !(Maybe ISO8601)+ , _rsisDryRun :: !(Maybe Bool)+ , _rsisSpotPrice :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'RequestSpotInstances' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'rsiBlockDurationMinutes'+-- * 'rsisBlockDurationMinutes' ----- * 'rsiClientToken'+-- * 'rsisClientToken' ----- * 'rsiInstanceCount'+-- * 'rsisInstanceCount' ----- * 'rsiLaunchSpecification'+-- * 'rsisLaunchSpecification' ----- * 'rsiAvailabilityZoneGroup'+-- * 'rsisAvailabilityZoneGroup' ----- * 'rsiValidUntil'+-- * 'rsisValidUntil' ----- * 'rsiLaunchGroup'+-- * 'rsisLaunchGroup' ----- * 'rsiType'+-- * 'rsisType' ----- * 'rsiValidFrom'+-- * 'rsisValidFrom' ----- * 'rsiDryRun'+-- * 'rsisDryRun' ----- * 'rsiSpotPrice'+-- * 'rsisSpotPrice' requestSpotInstances- :: Text -- ^ 'rsiSpotPrice'+ :: Text -- ^ 'rsisSpotPrice' -> RequestSpotInstances requestSpotInstances pSpotPrice_ = RequestSpotInstances'- { _rsiBlockDurationMinutes = Nothing- , _rsiClientToken = Nothing- , _rsiInstanceCount = Nothing- , _rsiLaunchSpecification = Nothing- , _rsiAvailabilityZoneGroup = Nothing- , _rsiValidUntil = Nothing- , _rsiLaunchGroup = Nothing- , _rsiType = Nothing- , _rsiValidFrom = Nothing- , _rsiDryRun = Nothing- , _rsiSpotPrice = pSpotPrice_+ { _rsisBlockDurationMinutes = Nothing+ , _rsisClientToken = Nothing+ , _rsisInstanceCount = Nothing+ , _rsisLaunchSpecification = Nothing+ , _rsisAvailabilityZoneGroup = Nothing+ , _rsisValidUntil = Nothing+ , _rsisLaunchGroup = Nothing+ , _rsisType = Nothing+ , _rsisValidFrom = Nothing+ , _rsisDryRun = Nothing+ , _rsisSpotPrice = pSpotPrice_ } --- | The required duration for the Spot instances, in minutes. This value--- must be a multiple of 60 (60, 120, 180, 240, 300, or 360).+-- | The required duration for the Spot instances (also known as Spot+-- blocks), in minutes. This value must be a multiple of 60 (60, 120, 180,+-- 240, 300, or 360). -- -- The duration period starts as soon as your Spot instance receives its -- instance ID. At the end of the duration period, Amazon EC2 marks the@@ -131,25 +130,25 @@ -- -- Note that you can\'t specify an Availability Zone group or a launch -- group if you specify a duration.-rsiBlockDurationMinutes :: Lens' RequestSpotInstances (Maybe Int)-rsiBlockDurationMinutes = lens _rsiBlockDurationMinutes (\ s a -> s{_rsiBlockDurationMinutes = a});+rsisBlockDurationMinutes :: Lens' RequestSpotInstances (Maybe Int)+rsisBlockDurationMinutes = lens _rsisBlockDurationMinutes (\ s a -> s{_rsisBlockDurationMinutes = a}); -- | Unique, case-sensitive identifier that you provide to ensure the -- idempotency of the request. For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to Ensure Idempotency> -- in the /Amazon Elastic Compute Cloud User Guide/.-rsiClientToken :: Lens' RequestSpotInstances (Maybe Text)-rsiClientToken = lens _rsiClientToken (\ s a -> s{_rsiClientToken = a});+rsisClientToken :: Lens' RequestSpotInstances (Maybe Text)+rsisClientToken = lens _rsisClientToken (\ s a -> s{_rsisClientToken = a}); -- | The maximum number of Spot instances to launch. -- -- Default: 1-rsiInstanceCount :: Lens' RequestSpotInstances (Maybe Int)-rsiInstanceCount = lens _rsiInstanceCount (\ s a -> s{_rsiInstanceCount = a});+rsisInstanceCount :: Lens' RequestSpotInstances (Maybe Int)+rsisInstanceCount = lens _rsisInstanceCount (\ s a -> s{_rsisInstanceCount = a}); -- | Undocumented member.-rsiLaunchSpecification :: Lens' RequestSpotInstances (Maybe RequestSpotLaunchSpecification)-rsiLaunchSpecification = lens _rsiLaunchSpecification (\ s a -> s{_rsiLaunchSpecification = a});+rsisLaunchSpecification :: Lens' RequestSpotInstances (Maybe RequestSpotLaunchSpecification)+rsisLaunchSpecification = lens _rsisLaunchSpecification (\ s a -> s{_rsisLaunchSpecification = a}); -- | The user-specified name for a logical grouping of bids. --@@ -171,8 +170,8 @@ -- even if you specified the same Availability Zone group. -- -- Default: Instances are launched in any available Availability Zone.-rsiAvailabilityZoneGroup :: Lens' RequestSpotInstances (Maybe Text)-rsiAvailabilityZoneGroup = lens _rsiAvailabilityZoneGroup (\ s a -> s{_rsiAvailabilityZoneGroup = a});+rsisAvailabilityZoneGroup :: Lens' RequestSpotInstances (Maybe Text)+rsisAvailabilityZoneGroup = lens _rsisAvailabilityZoneGroup (\ s a -> s{_rsisAvailabilityZoneGroup = a}); -- | The end date of the request. If this is a one-time request, the request -- remains active until all instances launch, the request is canceled, or@@ -180,21 +179,21 @@ -- until it is canceled or this date and time is reached. -- -- Default: The request is effective indefinitely.-rsiValidUntil :: Lens' RequestSpotInstances (Maybe UTCTime)-rsiValidUntil = lens _rsiValidUntil (\ s a -> s{_rsiValidUntil = a}) . mapping _Time;+rsisValidUntil :: Lens' RequestSpotInstances (Maybe UTCTime)+rsisValidUntil = lens _rsisValidUntil (\ s a -> s{_rsisValidUntil = a}) . mapping _Time; -- | The instance launch group. Launch groups are Spot instances that launch -- together and terminate together. -- -- Default: Instances are launched and terminated individually-rsiLaunchGroup :: Lens' RequestSpotInstances (Maybe Text)-rsiLaunchGroup = lens _rsiLaunchGroup (\ s a -> s{_rsiLaunchGroup = a});+rsisLaunchGroup :: Lens' RequestSpotInstances (Maybe Text)+rsisLaunchGroup = lens _rsisLaunchGroup (\ s a -> s{_rsisLaunchGroup = a}); -- | The Spot instance request type. -- -- Default: 'one-time'-rsiType :: Lens' RequestSpotInstances (Maybe SpotInstanceType)-rsiType = lens _rsiType (\ s a -> s{_rsiType = a});+rsisType :: Lens' RequestSpotInstances (Maybe SpotInstanceType)+rsisType = lens _rsisType (\ s a -> s{_rsisType = a}); -- | The start date of the request. If this is a one-time request, the -- request becomes active at this date and time and remains active until@@ -203,25 +202,25 @@ -- and time and remains active until it expires or is canceled. -- -- Default: The request is effective indefinitely.-rsiValidFrom :: Lens' RequestSpotInstances (Maybe UTCTime)-rsiValidFrom = lens _rsiValidFrom (\ s a -> s{_rsiValidFrom = a}) . mapping _Time;+rsisValidFrom :: Lens' RequestSpotInstances (Maybe UTCTime)+rsisValidFrom = lens _rsisValidFrom (\ s a -> s{_rsisValidFrom = a}) . mapping _Time; -- | Checks whether you have the required permissions for the action, without -- actually making the request, and provides an error response. If you have -- the required permissions, the error response is 'DryRunOperation'. -- Otherwise, it is 'UnauthorizedOperation'.-rsiDryRun :: Lens' RequestSpotInstances (Maybe Bool)-rsiDryRun = lens _rsiDryRun (\ s a -> s{_rsiDryRun = a});+rsisDryRun :: Lens' RequestSpotInstances (Maybe Bool)+rsisDryRun = lens _rsisDryRun (\ s a -> s{_rsisDryRun = a}); -- | The maximum hourly price (bid) for any Spot instance launched to fulfill -- the request.-rsiSpotPrice :: Lens' RequestSpotInstances Text-rsiSpotPrice = lens _rsiSpotPrice (\ s a -> s{_rsiSpotPrice = a});+rsisSpotPrice :: Lens' RequestSpotInstances Text+rsisSpotPrice = lens _rsisSpotPrice (\ s a -> s{_rsisSpotPrice = a}); instance AWSRequest RequestSpotInstances where type Rs RequestSpotInstances = RequestSpotInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -230,6 +229,8 @@ may (parseXMLList "item")) <*> (pure (fromEnum s))) +instance Hashable RequestSpotInstances+ instance ToHeaders RequestSpotInstances where toHeaders = const mempty @@ -241,15 +242,17 @@ = mconcat ["Action" =: ("RequestSpotInstances" :: ByteString), "Version" =: ("2015-10-01" :: ByteString),- "BlockDurationMinutes" =: _rsiBlockDurationMinutes,- "ClientToken" =: _rsiClientToken,- "InstanceCount" =: _rsiInstanceCount,- "LaunchSpecification" =: _rsiLaunchSpecification,- "AvailabilityZoneGroup" =: _rsiAvailabilityZoneGroup,- "ValidUntil" =: _rsiValidUntil,- "LaunchGroup" =: _rsiLaunchGroup, "Type" =: _rsiType,- "ValidFrom" =: _rsiValidFrom, "DryRun" =: _rsiDryRun,- "SpotPrice" =: _rsiSpotPrice]+ "BlockDurationMinutes" =: _rsisBlockDurationMinutes,+ "ClientToken" =: _rsisClientToken,+ "InstanceCount" =: _rsisInstanceCount,+ "LaunchSpecification" =: _rsisLaunchSpecification,+ "AvailabilityZoneGroup" =:+ _rsisAvailabilityZoneGroup,+ "ValidUntil" =: _rsisValidUntil,+ "LaunchGroup" =: _rsisLaunchGroup,+ "Type" =: _rsisType, "ValidFrom" =: _rsisValidFrom,+ "DryRun" =: _rsisDryRun,+ "SpotPrice" =: _rsisSpotPrice] -- | Contains the output of RequestSpotInstances. --
gen/Network/AWS/EC2/ResetImageAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ResetImageAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -21,8 +21,6 @@ -- Resets an attribute of an AMI to its default value. -- -- The productCodes attribute can\'t be reset.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetImageAttribute.html AWS API Reference> for ResetImageAttribute. module Network.AWS.EC2.ResetImageAttribute ( -- * Creating a Request@@ -91,8 +89,10 @@ instance AWSRequest ResetImageAttribute where type Rs ResetImageAttribute = ResetImageAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ResetImageAttributeResponse'++instance Hashable ResetImageAttribute instance ToHeaders ResetImageAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/ResetInstanceAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ResetInstanceAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -28,8 +28,6 @@ -- NAT. For more information, see -- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html NAT Instances> -- in the /Amazon Virtual Private Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetInstanceAttribute.html AWS API Reference> for ResetInstanceAttribute. module Network.AWS.EC2.ResetInstanceAttribute ( -- * Creating a Request@@ -97,9 +95,11 @@ instance AWSRequest ResetInstanceAttribute where type Rs ResetInstanceAttribute = ResetInstanceAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ResetInstanceAttributeResponse'++instance Hashable ResetInstanceAttribute instance ToHeaders ResetInstanceAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/ResetNetworkInterfaceAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ResetNetworkInterfaceAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Resets a network interface attribute. You can specify only one attribute -- at a time.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetNetworkInterfaceAttribute.html AWS API Reference> for ResetNetworkInterfaceAttribute. module Network.AWS.EC2.ResetNetworkInterfaceAttribute ( -- * Creating a Request@@ -89,9 +87,11 @@ where type Rs ResetNetworkInterfaceAttribute = ResetNetworkInterfaceAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ResetNetworkInterfaceAttributeResponse'++instance Hashable ResetNetworkInterfaceAttribute instance ToHeaders ResetNetworkInterfaceAttribute where
gen/Network/AWS/EC2/ResetSnapshotAttribute.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.ResetSnapshotAttribute--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,6 @@ -- For more information on modifying snapshot permissions, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html Sharing Snapshots> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetSnapshotAttribute.html AWS API Reference> for ResetSnapshotAttribute. module Network.AWS.EC2.ResetSnapshotAttribute ( -- * Creating a Request@@ -93,9 +91,11 @@ instance AWSRequest ResetSnapshotAttribute where type Rs ResetSnapshotAttribute = ResetSnapshotAttributeResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull ResetSnapshotAttributeResponse'++instance Hashable ResetSnapshotAttribute instance ToHeaders ResetSnapshotAttribute where toHeaders = const mempty
gen/Network/AWS/EC2/RestoreAddressToClassic.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.RestoreAddressToClassic--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,9 @@ -- platform back to the EC2-Classic platform. You cannot move an Elastic IP -- address that was originally allocated for use in EC2-VPC. The Elastic IP -- address must not be associated with an instance or network interface.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RestoreAddressToClassic.html AWS API Reference> for RestoreAddressToClassic.+-- You cannot restore an Elastic IP address that\'s associated with a+-- reverse DNS record. Contact AWS account and billing support to remove+-- the reverse DNS record. module Network.AWS.EC2.RestoreAddressToClassic ( -- * Creating a Request@@ -85,13 +86,15 @@ instance AWSRequest RestoreAddressToClassic where type Rs RestoreAddressToClassic = RestoreAddressToClassicResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> RestoreAddressToClassicResponse' <$> (x .@? "status") <*> (x .@? "publicIp") <*> (pure (fromEnum s)))++instance Hashable RestoreAddressToClassic instance ToHeaders RestoreAddressToClassic where toHeaders = const mempty
gen/Network/AWS/EC2/RevokeSecurityGroupEgress.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.RevokeSecurityGroupEgress--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -31,8 +31,6 @@ -- -- Rule changes are propagated to instances within the security group as -- quickly as possible. However, a small delay might occur.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RevokeSecurityGroupEgress.html AWS API Reference> for RevokeSecurityGroupEgress. module Network.AWS.EC2.RevokeSecurityGroupEgress ( -- * Creating a Request@@ -164,9 +162,11 @@ instance AWSRequest RevokeSecurityGroupEgress where type Rs RevokeSecurityGroupEgress = RevokeSecurityGroupEgressResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull RevokeSecurityGroupEgressResponse'++instance Hashable RevokeSecurityGroupEgress instance ToHeaders RevokeSecurityGroupEgress where toHeaders = const mempty
gen/Network/AWS/EC2/RevokeSecurityGroupIngress.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.RevokeSecurityGroupIngress--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -29,8 +29,6 @@ -- -- Rule changes are propagated to instances within the security group as -- quickly as possible. However, a small delay might occur.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RevokeSecurityGroupIngress.html AWS API Reference> for RevokeSecurityGroupIngress. module Network.AWS.EC2.RevokeSecurityGroupIngress ( -- * Creating a Request@@ -176,9 +174,11 @@ instance AWSRequest RevokeSecurityGroupIngress where type Rs RevokeSecurityGroupIngress = RevokeSecurityGroupIngressResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull RevokeSecurityGroupIngressResponse'++instance Hashable RevokeSecurityGroupIngress instance ToHeaders RevokeSecurityGroupIngress where toHeaders = const mempty
gen/Network/AWS/EC2/RunInstances.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.RunInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -23,8 +23,12 @@ -- -- When you launch an instance, it enters the 'pending' state. After the -- instance is ready for you, it enters the 'running' state. To check the--- state of your instance, call DescribeInstances.+-- state of your instance, call < DescribeInstances>. --+-- To ensure faster instance launches, break up large requests into smaller+-- batches. For example, create five separate launch requests for 100+-- instances each instead of one launch request for 500 instances.+-- -- If you don\'t specify a security group when launching an instance, -- Amazon EC2 uses the default security group. For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html Security Groups>@@ -51,17 +55,16 @@ -- If any of the AMIs have a product code attached for which the user has -- not subscribed, 'RunInstances' fails. ----- T2 instance types can only be launched into a VPC. If you do not have a--- default VPC, or if you do not specify a subnet ID in the request,--- 'RunInstances' fails.+-- Some instance types can only be launched into a VPC. If you do not have+-- a default VPC, or if you do not specify a subnet ID in the request,+-- 'RunInstances' fails. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types Instance Types Available Only in a VPC>. -- -- For more information about troubleshooting, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html What To Do If An Instance Immediately Terminates>, -- and -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html Troubleshooting Connecting to Your Instance> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RunInstances.html AWS API Reference> for RunInstances. module Network.AWS.EC2.RunInstances ( -- * Creating a Request@@ -223,7 +226,7 @@ rAdditionalInfo = lens _rAdditionalInfo (\ s a -> s{_rAdditionalInfo = a}); -- | One or more security group IDs. You can create a security group using--- CreateSecurityGroup.+-- < CreateSecurityGroup>. -- -- Default: Amazon EC2 uses the default security group. rSecurityGroupIds :: Lens' RunInstances [Text]@@ -249,7 +252,7 @@ -- set this parameter to 'true' and then later want to be able to terminate -- the instance, you must first change the value of the -- 'disableApiTermination' attribute to 'false' using--- ModifyInstanceAttribute. Alternatively, if you set+-- < ModifyInstanceAttribute>. Alternatively, if you set -- 'InstanceInitiatedShutdownBehavior' to 'terminate', you can terminate -- the instance by running the shutdown command from the instance. --@@ -257,8 +260,8 @@ rDisableAPITermination :: Lens' RunInstances (Maybe Bool) rDisableAPITermination = lens _rDisableAPITermination (\ s a -> s{_rDisableAPITermination = a}); --- | The name of the key pair. You can create a key pair using CreateKeyPair--- or ImportKeyPair.+-- | The name of the key pair. You can create a key pair using+-- < CreateKeyPair> or < ImportKeyPair>. -- -- If you do not specify a key pair, you can\'t connect to the instance -- unless you choose an AMI that is configured to allow users another way@@ -310,7 +313,14 @@ rEBSOptimized :: Lens' RunInstances (Maybe Bool) rEBSOptimized = lens _rEBSOptimized (\ s a -> s{_rEBSOptimized = a}); --- | The Base64-encoded MIME user data for the instances.+-- | Data to configure the instance, or a script to run during instance+-- launch. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html Running Commands on Your Linux Instance at Launch>+-- (Linux) and+-- <http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data Adding User Data>+-- (Windows). For API calls, the text must be base64-encoded. For command+-- line tools, the encoding is performed for you, and you can load the text+-- from a file. rUserData :: Lens' RunInstances (Maybe Text) rUserData = lens _rUserData (\ s a -> s{_rUserData = a}); @@ -358,7 +368,7 @@ rPlacement :: Lens' RunInstances (Maybe Placement) rPlacement = lens _rPlacement (\ s a -> s{_rPlacement = a}); --- | The ID of the AMI, which you can get by calling DescribeImages.+-- | The ID of the AMI, which you can get by calling < DescribeImages>. rImageId :: Lens' RunInstances Text rImageId = lens _rImageId (\ s a -> s{_rImageId = a}); @@ -382,14 +392,16 @@ -- specified instance type. For more information about the default limits, -- and how to request an increase, see -- <http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2 How many instances can I run in Amazon EC2>--- in the Amazon EC2 General FAQ.+-- in the Amazon EC2 FAQ. rMaxCount :: Lens' RunInstances Int rMaxCount = lens _rMaxCount (\ s a -> s{_rMaxCount = a}); instance AWSRequest RunInstances where type Rs RunInstances = Reservation- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x -> parseXML x)++instance Hashable RunInstances instance ToHeaders RunInstances where toHeaders = const mempty
+ gen/Network/AWS/EC2/RunScheduledInstances.hs view
@@ -0,0 +1,182 @@+{-# 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.EC2.RunScheduledInstances+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Launches the specified Scheduled Instances.+--+-- Before you can launch a Scheduled Instance, you must purchase it and+-- obtain an identifier using < PurchaseScheduledInstances>.+--+-- You must launch a Scheduled Instance during its scheduled time period.+-- You can\'t stop or reboot a Scheduled Instance, but you can terminate it+-- as needed. If you terminate a Scheduled Instance before the current+-- scheduled time period ends, you can launch it again after a few minutes.+module Network.AWS.EC2.RunScheduledInstances+ (+ -- * Creating a Request+ runScheduledInstances+ , RunScheduledInstances+ -- * Request Lenses+ , rsiClientToken+ , rsiInstanceCount+ , rsiDryRun+ , rsiScheduledInstanceId+ , rsiLaunchSpecification++ -- * Destructuring the Response+ , runScheduledInstancesResponse+ , RunScheduledInstancesResponse+ -- * Response Lenses+ , rrsInstanceIdSet+ , rrsResponseStatus+ ) where++import Network.AWS.EC2.Types+import Network.AWS.EC2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the parameters for RunScheduledInstances.+--+-- /See:/ 'runScheduledInstances' smart constructor.+data RunScheduledInstances = RunScheduledInstances'+ { _rsiClientToken :: !(Maybe Text)+ , _rsiInstanceCount :: !(Maybe Int)+ , _rsiDryRun :: !(Maybe Bool)+ , _rsiScheduledInstanceId :: !Text+ , _rsiLaunchSpecification :: !ScheduledInstancesLaunchSpecification+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RunScheduledInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsiClientToken'+--+-- * 'rsiInstanceCount'+--+-- * 'rsiDryRun'+--+-- * 'rsiScheduledInstanceId'+--+-- * 'rsiLaunchSpecification'+runScheduledInstances+ :: Text -- ^ 'rsiScheduledInstanceId'+ -> ScheduledInstancesLaunchSpecification -- ^ 'rsiLaunchSpecification'+ -> RunScheduledInstances+runScheduledInstances pScheduledInstanceId_ pLaunchSpecification_ =+ RunScheduledInstances'+ { _rsiClientToken = Nothing+ , _rsiInstanceCount = Nothing+ , _rsiDryRun = Nothing+ , _rsiScheduledInstanceId = pScheduledInstanceId_+ , _rsiLaunchSpecification = pLaunchSpecification_+ }++-- | Unique, case-sensitive identifier that ensures the idempotency of the+-- request. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.+rsiClientToken :: Lens' RunScheduledInstances (Maybe Text)+rsiClientToken = lens _rsiClientToken (\ s a -> s{_rsiClientToken = a});++-- | The number of instances.+--+-- Default: 1+rsiInstanceCount :: Lens' RunScheduledInstances (Maybe Int)+rsiInstanceCount = lens _rsiInstanceCount (\ s a -> s{_rsiInstanceCount = a});++-- | Checks whether you have the required permissions for the action, without+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+rsiDryRun :: Lens' RunScheduledInstances (Maybe Bool)+rsiDryRun = lens _rsiDryRun (\ s a -> s{_rsiDryRun = a});++-- | The Scheduled Instance ID.+rsiScheduledInstanceId :: Lens' RunScheduledInstances Text+rsiScheduledInstanceId = lens _rsiScheduledInstanceId (\ s a -> s{_rsiScheduledInstanceId = a});++-- | The launch specification.+rsiLaunchSpecification :: Lens' RunScheduledInstances ScheduledInstancesLaunchSpecification+rsiLaunchSpecification = lens _rsiLaunchSpecification (\ s a -> s{_rsiLaunchSpecification = a});++instance AWSRequest RunScheduledInstances where+ type Rs RunScheduledInstances =+ RunScheduledInstancesResponse+ request = postQuery ec2+ response+ = receiveXML+ (\ s h x ->+ RunScheduledInstancesResponse' <$>+ (x .@? "instanceIdSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (pure (fromEnum s)))++instance Hashable RunScheduledInstances++instance ToHeaders RunScheduledInstances where+ toHeaders = const mempty++instance ToPath RunScheduledInstances where+ toPath = const "/"++instance ToQuery RunScheduledInstances where+ toQuery RunScheduledInstances'{..}+ = mconcat+ ["Action" =: ("RunScheduledInstances" :: ByteString),+ "Version" =: ("2015-10-01" :: ByteString),+ "ClientToken" =: _rsiClientToken,+ "InstanceCount" =: _rsiInstanceCount,+ "DryRun" =: _rsiDryRun,+ "ScheduledInstanceId" =: _rsiScheduledInstanceId,+ "LaunchSpecification" =: _rsiLaunchSpecification]++-- | Contains the output of RunScheduledInstances.+--+-- /See:/ 'runScheduledInstancesResponse' smart constructor.+data RunScheduledInstancesResponse = RunScheduledInstancesResponse'+ { _rrsInstanceIdSet :: !(Maybe [Text])+ , _rrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RunScheduledInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrsInstanceIdSet'+--+-- * 'rrsResponseStatus'+runScheduledInstancesResponse+ :: Int -- ^ 'rrsResponseStatus'+ -> RunScheduledInstancesResponse+runScheduledInstancesResponse pResponseStatus_ =+ RunScheduledInstancesResponse'+ { _rrsInstanceIdSet = Nothing+ , _rrsResponseStatus = pResponseStatus_+ }++-- | The IDs of the newly launched instances.+rrsInstanceIdSet :: Lens' RunScheduledInstancesResponse [Text]+rrsInstanceIdSet = lens _rrsInstanceIdSet (\ s a -> s{_rrsInstanceIdSet = a}) . _Default . _Coerce;++-- | The response status code.+rrsResponseStatus :: Lens' RunScheduledInstancesResponse Int+rrsResponseStatus = lens _rrsResponseStatus (\ s a -> s{_rrsResponseStatus = a});
gen/Network/AWS/EC2/StartInstances.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.StartInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -39,8 +39,6 @@ -- For more information, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html Stopping Instances> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-StartInstances.html AWS API Reference> for StartInstances. module Network.AWS.EC2.StartInstances ( -- * Creating a Request@@ -108,7 +106,7 @@ instance AWSRequest StartInstances where type Rs StartInstances = StartInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -116,6 +114,8 @@ (x .@? "instancesSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable StartInstances instance ToHeaders StartInstances where toHeaders = const mempty
gen/Network/AWS/EC2/StopInstances.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.StopInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -52,8 +52,6 @@ -- For more information about troubleshooting, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html Troubleshooting Stopping Your Instance> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-StopInstances.html AWS API Reference> for StopInstances. module Network.AWS.EC2.StopInstances ( -- * Creating a Request@@ -126,7 +124,7 @@ instance AWSRequest StopInstances where type Rs StopInstances = StopInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -134,6 +132,8 @@ (x .@? "instancesSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable StopInstances instance ToHeaders StopInstances where toHeaders = const mempty
gen/Network/AWS/EC2/TerminateInstances.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.TerminateInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -42,8 +42,6 @@ -- For more information about troubleshooting, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html Troubleshooting Terminating Your Instance> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-TerminateInstances.html AWS API Reference> for TerminateInstances. module Network.AWS.EC2.TerminateInstances ( -- * Creating a Request@@ -103,7 +101,7 @@ instance AWSRequest TerminateInstances where type Rs TerminateInstances = TerminateInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -111,6 +109,8 @@ (x .@? "instancesSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable TerminateInstances instance ToHeaders TerminateInstances where toHeaders = const mempty
gen/Network/AWS/EC2/Types.hs view
@@ -4,7 +4,7 @@ -- | -- Module : Network.AWS.EC2.Types--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -13,10 +13,13 @@ module Network.AWS.EC2.Types ( -- * Service Configuration- eC2+ ec2 -- * Errors + -- * Re-exported Types+ , module Network.AWS.EC2.Internal+ -- * AccountAttributeName , AccountAttributeName (..) @@ -390,6 +393,12 @@ , csirState , csirSpotInstanceRequestId + -- * ClassicLinkDNSSupport+ , ClassicLinkDNSSupport+ , classicLinkDNSSupport+ , cldsVPCId+ , cldsClassicLinkDNSSupported+ -- * ClassicLinkInstance , ClassicLinkInstance , classicLinkInstance@@ -1163,6 +1172,12 @@ , propagatingVGW , pvGatewayId + -- * PurchaseRequest+ , PurchaseRequest+ , purchaseRequest+ , prPurchaseToken+ , prInstanceCount+ -- * RecurringCharge , RecurringCharge , recurringCharge@@ -1339,6 +1354,133 @@ , ssUploadPolicySignature , ssAWSAccessKeyId + -- * ScheduledInstance+ , ScheduledInstance+ , scheduledInstance+ , siPreviousSlotEndTime+ , siPlatform+ , siTermStartDate+ , siInstanceCount+ , siScheduledInstanceId+ , siHourlyPrice+ , siCreateDate+ , siSlotDurationInHours+ , siTotalScheduledInstanceHours+ , siInstanceType+ , siRecurrence+ , siAvailabilityZone+ , siTermEndDate+ , siNextSlotStartTime+ , siNetworkPlatform++ -- * ScheduledInstanceAvailability+ , ScheduledInstanceAvailability+ , scheduledInstanceAvailability+ , siaMaxTermDurationInDays+ , siaPlatform+ , siaPurchaseToken+ , siaHourlyPrice+ , siaAvailableInstanceCount+ , siaSlotDurationInHours+ , siaTotalScheduledInstanceHours+ , siaInstanceType+ , siaRecurrence+ , siaAvailabilityZone+ , siaMinTermDurationInDays+ , siaFirstSlotStartTime+ , siaNetworkPlatform++ -- * ScheduledInstanceRecurrence+ , ScheduledInstanceRecurrence+ , scheduledInstanceRecurrence+ , sirFrequency+ , sirOccurrenceRelativeToEnd+ , sirOccurrenceUnit+ , sirInterval+ , sirOccurrenceDaySet++ -- * ScheduledInstanceRecurrenceRequest+ , ScheduledInstanceRecurrenceRequest+ , scheduledInstanceRecurrenceRequest+ , sirrFrequency+ , sirrOccurrenceRelativeToEnd+ , sirrOccurrenceDays+ , sirrOccurrenceUnit+ , sirrInterval++ -- * ScheduledInstancesBlockDeviceMapping+ , ScheduledInstancesBlockDeviceMapping+ , scheduledInstancesBlockDeviceMapping+ , sibdmVirtualName+ , sibdmNoDevice+ , sibdmEBS+ , sibdmDeviceName++ -- * ScheduledInstancesEBS+ , ScheduledInstancesEBS+ , scheduledInstancesEBS+ , sieDeleteOnTermination+ , sieVolumeSize+ , sieIOPS+ , sieEncrypted+ , sieVolumeType+ , sieSnapshotId++ -- * ScheduledInstancesIAMInstanceProfile+ , ScheduledInstancesIAMInstanceProfile+ , scheduledInstancesIAMInstanceProfile+ , siiapARN+ , siiapName++ -- * ScheduledInstancesLaunchSpecification+ , ScheduledInstancesLaunchSpecification+ , scheduledInstancesLaunchSpecification+ , silsSecurityGroupIds+ , silsKeyName+ , silsNetworkInterfaces+ , silsRAMDiskId+ , silsSubnetId+ , silsKernelId+ , silsInstanceType+ , silsEBSOptimized+ , silsUserData+ , silsMonitoring+ , silsIAMInstanceProfile+ , silsBlockDeviceMappings+ , silsPlacement+ , silsImageId++ -- * ScheduledInstancesMonitoring+ , ScheduledInstancesMonitoring+ , scheduledInstancesMonitoring+ , simEnabled++ -- * ScheduledInstancesNetworkInterface+ , ScheduledInstancesNetworkInterface+ , scheduledInstancesNetworkInterface+ , siniGroups+ , siniDeleteOnTermination+ , siniAssociatePublicIPAddress+ , siniPrivateIPAddressConfigs+ , siniNetworkInterfaceId+ , siniSubnetId+ , siniPrivateIPAddress+ , siniSecondaryPrivateIPAddressCount+ , siniDescription+ , siniDeviceIndex++ -- * ScheduledInstancesPlacement+ , ScheduledInstancesPlacement+ , scheduledInstancesPlacement+ , sipAvailabilityZone+ , sipGroupName++ -- * ScheduledInstancesPrivateIPAddressConfig+ , ScheduledInstancesPrivateIPAddressConfig+ , scheduledInstancesPrivateIPAddressConfig+ , sipiacPrimary+ , sipiacPrivateIPAddress+ -- * SecurityGroup , SecurityGroup , securityGroup@@ -1351,6 +1493,18 @@ , sgGroupName , sgDescription + -- * SlotDateTimeRangeRequest+ , SlotDateTimeRangeRequest+ , slotDateTimeRangeRequest+ , sdtrrEarliestTime+ , sdtrrLatestTime++ -- * SlotStartTimeRangeRequest+ , SlotStartTimeRangeRequest+ , slotStartTimeRangeRequest+ , sstrrLatestTime+ , sstrrEarliestTime+ -- * Snapshot , Snapshot , snapshot@@ -1581,9 +1735,12 @@ -- * UserIdGroupPair , UserIdGroupPair , userIdGroupPair+ , uigpVPCPeeringConnectionId+ , uigpVPCId , uigpUserId , uigpGroupId , uigpGroupName+ , uigpPeeringStatus -- * VGWTelemetry , VGWTelemetry@@ -1763,6 +1920,7 @@ , vsiVolumeId ) where +import Network.AWS.EC2.Internal import Network.AWS.EC2.Types.Product import Network.AWS.EC2.Types.Sum import Network.AWS.Lens@@ -1770,14 +1928,14 @@ import Network.AWS.Sign.V4 -- | API version '2015-10-01' of the Amazon Elastic Compute Cloud SDK configuration.-eC2 :: Service-eC2 =+ec2 :: Service+ec2 = Service { _svcAbbrev = "EC2" , _svcSigner = v4 , _svcPrefix = "ec2" , _svcVersion = "2015-10-01"- , _svcEndpoint = defaultEndpoint eC2+ , _svcEndpoint = defaultEndpoint ec2 , _svcTimeout = Just 70 , _svcCheck = statusSuccess , _svcError = parseXMLError@@ -1794,6 +1952,7 @@ check e | has (hasCode "RequestLimitExceeded" . hasStatus 503) e = Just "request_limit_exceeded"+ | has (hasStatus 429) e = Just "too_many_requests" | has (hasCode "ThrottlingException" . hasStatus 400) e = Just "throttling_exception" | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
gen/Network/AWS/EC2/Types/Product.hs view
@@ -9,11388 +9,12987 @@ -- | -- Module : Network.AWS.EC2.Types.Product--- Copyright : (c) 2013-2015 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.EC2.Types.Product where--import Network.AWS.EC2.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude---- | Describes an account attribute.------ /See:/ 'accountAttribute' smart constructor.-data AccountAttribute = AccountAttribute'- { _aaAttributeValues :: !(Maybe [AccountAttributeValue])- , _aaAttributeName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'AccountAttribute' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aaAttributeValues'------ * 'aaAttributeName'-accountAttribute- :: AccountAttribute-accountAttribute =- AccountAttribute'- { _aaAttributeValues = Nothing- , _aaAttributeName = Nothing- }---- | One or more values for the account attribute.-aaAttributeValues :: Lens' AccountAttribute [AccountAttributeValue]-aaAttributeValues = lens _aaAttributeValues (\ s a -> s{_aaAttributeValues = a}) . _Default . _Coerce;---- | The name of the account attribute.-aaAttributeName :: Lens' AccountAttribute (Maybe Text)-aaAttributeName = lens _aaAttributeName (\ s a -> s{_aaAttributeName = a});--instance FromXML AccountAttribute where- parseXML x- = AccountAttribute' <$>- (x .@? "attributeValueSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "attributeName")---- | Describes a value of an account attribute.------ /See:/ 'accountAttributeValue' smart constructor.-newtype AccountAttributeValue = AccountAttributeValue'- { _aavAttributeValue :: Maybe Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'AccountAttributeValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aavAttributeValue'-accountAttributeValue- :: AccountAttributeValue-accountAttributeValue =- AccountAttributeValue'- { _aavAttributeValue = Nothing- }---- | The value of the attribute.-aavAttributeValue :: Lens' AccountAttributeValue (Maybe Text)-aavAttributeValue = lens _aavAttributeValue (\ s a -> s{_aavAttributeValue = a});--instance FromXML AccountAttributeValue where- parseXML x- = AccountAttributeValue' <$> (x .@? "attributeValue")---- | Describes a running instance in a Spot fleet.------ /See:/ 'activeInstance' smart constructor.-data ActiveInstance = ActiveInstance'- { _aiInstanceId :: !(Maybe Text)- , _aiInstanceType :: !(Maybe Text)- , _aiSpotInstanceRequestId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ActiveInstance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aiInstanceId'------ * 'aiInstanceType'------ * 'aiSpotInstanceRequestId'-activeInstance- :: ActiveInstance-activeInstance =- ActiveInstance'- { _aiInstanceId = Nothing- , _aiInstanceType = Nothing- , _aiSpotInstanceRequestId = Nothing- }---- | The ID of the instance.-aiInstanceId :: Lens' ActiveInstance (Maybe Text)-aiInstanceId = lens _aiInstanceId (\ s a -> s{_aiInstanceId = a});---- | The instance type.-aiInstanceType :: Lens' ActiveInstance (Maybe Text)-aiInstanceType = lens _aiInstanceType (\ s a -> s{_aiInstanceType = a});---- | The ID of the Spot instance request.-aiSpotInstanceRequestId :: Lens' ActiveInstance (Maybe Text)-aiSpotInstanceRequestId = lens _aiSpotInstanceRequestId (\ s a -> s{_aiSpotInstanceRequestId = a});--instance FromXML ActiveInstance where- parseXML x- = ActiveInstance' <$>- (x .@? "instanceId") <*> (x .@? "instanceType") <*>- (x .@? "spotInstanceRequestId")---- | Describes an Elastic IP address.------ /See:/ 'address' smart constructor.-data Address = Address'- { _aAssociationId :: !(Maybe Text)- , _aInstanceId :: !(Maybe Text)- , _aNetworkInterfaceOwnerId :: !(Maybe Text)- , _aAllocationId :: !(Maybe Text)- , _aDomain :: !(Maybe DomainType)- , _aNetworkInterfaceId :: !(Maybe Text)- , _aPrivateIPAddress :: !(Maybe Text)- , _aPublicIP :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Address' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aAssociationId'------ * 'aInstanceId'------ * 'aNetworkInterfaceOwnerId'------ * 'aAllocationId'------ * 'aDomain'------ * 'aNetworkInterfaceId'------ * 'aPrivateIPAddress'------ * 'aPublicIP'-address- :: Address-address =- Address'- { _aAssociationId = Nothing- , _aInstanceId = Nothing- , _aNetworkInterfaceOwnerId = Nothing- , _aAllocationId = Nothing- , _aDomain = Nothing- , _aNetworkInterfaceId = Nothing- , _aPrivateIPAddress = Nothing- , _aPublicIP = Nothing- }---- | The ID representing the association of the address with an instance in a--- VPC.-aAssociationId :: Lens' Address (Maybe Text)-aAssociationId = lens _aAssociationId (\ s a -> s{_aAssociationId = a});---- | The ID of the instance that the address is associated with (if any).-aInstanceId :: Lens' Address (Maybe Text)-aInstanceId = lens _aInstanceId (\ s a -> s{_aInstanceId = a});---- | The ID of the AWS account that owns the network interface.-aNetworkInterfaceOwnerId :: Lens' Address (Maybe Text)-aNetworkInterfaceOwnerId = lens _aNetworkInterfaceOwnerId (\ s a -> s{_aNetworkInterfaceOwnerId = a});---- | The ID representing the allocation of the address for use with EC2-VPC.-aAllocationId :: Lens' Address (Maybe Text)-aAllocationId = lens _aAllocationId (\ s a -> s{_aAllocationId = a});---- | Indicates whether this Elastic IP address is for use with instances in--- EC2-Classic ('standard') or instances in a VPC ('vpc').-aDomain :: Lens' Address (Maybe DomainType)-aDomain = lens _aDomain (\ s a -> s{_aDomain = a});---- | The ID of the network interface.-aNetworkInterfaceId :: Lens' Address (Maybe Text)-aNetworkInterfaceId = lens _aNetworkInterfaceId (\ s a -> s{_aNetworkInterfaceId = a});---- | The private IP address associated with the Elastic IP address.-aPrivateIPAddress :: Lens' Address (Maybe Text)-aPrivateIPAddress = lens _aPrivateIPAddress (\ s a -> s{_aPrivateIPAddress = a});---- | The Elastic IP address.-aPublicIP :: Lens' Address (Maybe Text)-aPublicIP = lens _aPublicIP (\ s a -> s{_aPublicIP = a});--instance FromXML Address where- parseXML x- = Address' <$>- (x .@? "associationId") <*> (x .@? "instanceId") <*>- (x .@? "networkInterfaceOwnerId")- <*> (x .@? "allocationId")- <*> (x .@? "domain")- <*> (x .@? "networkInterfaceId")- <*> (x .@? "privateIpAddress")- <*> (x .@? "publicIp")---- | The value to use when a resource attribute accepts a Boolean value.------ /See:/ 'attributeBooleanValue' smart constructor.-newtype AttributeBooleanValue = AttributeBooleanValue'- { _abvValue :: Maybe Bool- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'AttributeBooleanValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'abvValue'-attributeBooleanValue- :: AttributeBooleanValue-attributeBooleanValue =- AttributeBooleanValue'- { _abvValue = Nothing- }---- | Valid values are 'true' or 'false'.-abvValue :: Lens' AttributeBooleanValue (Maybe Bool)-abvValue = lens _abvValue (\ s a -> s{_abvValue = a});--instance FromXML AttributeBooleanValue where- parseXML x- = AttributeBooleanValue' <$> (x .@? "value")--instance ToQuery AttributeBooleanValue where- toQuery AttributeBooleanValue'{..}- = mconcat ["Value" =: _abvValue]---- | The value to use for a resource attribute.------ /See:/ 'attributeValue' smart constructor.-newtype AttributeValue = AttributeValue'- { _avValue :: Maybe Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'AttributeValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'avValue'-attributeValue- :: AttributeValue-attributeValue =- AttributeValue'- { _avValue = Nothing- }---- | Valid values are case-sensitive and vary by action.-avValue :: Lens' AttributeValue (Maybe Text)-avValue = lens _avValue (\ s a -> s{_avValue = a});--instance FromXML AttributeValue where- parseXML x = AttributeValue' <$> (x .@? "value")--instance ToQuery AttributeValue where- toQuery AttributeValue'{..}- = mconcat ["Value" =: _avValue]---- | Describes an Availability Zone.------ /See:/ 'availabilityZone' smart constructor.-data AvailabilityZone = AvailabilityZone'- { _azState :: !(Maybe AvailabilityZoneState)- , _azRegionName :: !(Maybe Text)- , _azZoneName :: !(Maybe Text)- , _azMessages :: !(Maybe [AvailabilityZoneMessage])- } 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'------ * 'azRegionName'------ * 'azZoneName'------ * 'azMessages'-availabilityZone- :: AvailabilityZone-availabilityZone =- AvailabilityZone'- { _azState = Nothing- , _azRegionName = Nothing- , _azZoneName = Nothing- , _azMessages = Nothing- }---- | The state of the Availability Zone.-azState :: Lens' AvailabilityZone (Maybe AvailabilityZoneState)-azState = lens _azState (\ s a -> s{_azState = a});---- | The name of the region.-azRegionName :: Lens' AvailabilityZone (Maybe Text)-azRegionName = lens _azRegionName (\ s a -> s{_azRegionName = a});---- | The name of the Availability Zone.-azZoneName :: Lens' AvailabilityZone (Maybe Text)-azZoneName = lens _azZoneName (\ s a -> s{_azZoneName = a});---- | Any messages about the Availability Zone.-azMessages :: Lens' AvailabilityZone [AvailabilityZoneMessage]-azMessages = lens _azMessages (\ s a -> s{_azMessages = a}) . _Default . _Coerce;--instance FromXML AvailabilityZone where- parseXML x- = AvailabilityZone' <$>- (x .@? "zoneState") <*> (x .@? "regionName") <*>- (x .@? "zoneName")- <*>- (x .@? "messageSet" .!@ mempty >>=- may (parseXMLList "item"))---- | Describes a message about an Availability Zone.------ /See:/ 'availabilityZoneMessage' smart constructor.-newtype AvailabilityZoneMessage = AvailabilityZoneMessage'- { _azmMessage :: Maybe Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'AvailabilityZoneMessage' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'azmMessage'-availabilityZoneMessage- :: AvailabilityZoneMessage-availabilityZoneMessage =- AvailabilityZoneMessage'- { _azmMessage = Nothing- }---- | The message about the Availability Zone.-azmMessage :: Lens' AvailabilityZoneMessage (Maybe Text)-azmMessage = lens _azmMessage (\ s a -> s{_azmMessage = a});--instance FromXML AvailabilityZoneMessage where- parseXML x- = AvailabilityZoneMessage' <$> (x .@? "message")---- | The capacity information for instances launched onto the Dedicated host.------ /See:/ 'availableCapacity' smart constructor.-data AvailableCapacity = AvailableCapacity'- { _acAvailableInstanceCapacity :: !(Maybe [InstanceCapacity])- , _acAvailableVCPUs :: !(Maybe Int)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'AvailableCapacity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'acAvailableInstanceCapacity'------ * 'acAvailableVCPUs'-availableCapacity- :: AvailableCapacity-availableCapacity =- AvailableCapacity'- { _acAvailableInstanceCapacity = Nothing- , _acAvailableVCPUs = Nothing- }---- | The total number of instances that the Dedicated host supports.-acAvailableInstanceCapacity :: Lens' AvailableCapacity [InstanceCapacity]-acAvailableInstanceCapacity = lens _acAvailableInstanceCapacity (\ s a -> s{_acAvailableInstanceCapacity = a}) . _Default . _Coerce;---- | The number of vCPUs available on the Dedicated host.-acAvailableVCPUs :: Lens' AvailableCapacity (Maybe Int)-acAvailableVCPUs = lens _acAvailableVCPUs (\ s a -> s{_acAvailableVCPUs = a});--instance FromXML AvailableCapacity where- parseXML x- = AvailableCapacity' <$>- (x .@? "availableInstanceCapacity" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "availableVCpus")---- | /See:/ 'blobAttributeValue' smart constructor.-newtype BlobAttributeValue = BlobAttributeValue'- { _bavValue :: Maybe Base64- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'BlobAttributeValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bavValue'-blobAttributeValue- :: BlobAttributeValue-blobAttributeValue =- BlobAttributeValue'- { _bavValue = Nothing- }---- | Undocumented member.------ /Note:/ This 'Lens' automatically encodes and decodes Base64 data,--- despite what the AWS documentation might say.--- The underlying isomorphism will encode to Base64 representation during--- serialisation, and decode from Base64 representation during deserialisation.--- This 'Lens' accepts and returns only raw unencoded data.-bavValue :: Lens' BlobAttributeValue (Maybe ByteString)-bavValue = lens _bavValue (\ s a -> s{_bavValue = a}) . mapping _Base64;--instance ToQuery BlobAttributeValue where- toQuery BlobAttributeValue'{..}- = mconcat ["Value" =: _bavValue]---- | Describes a block device mapping.------ /See:/ 'blockDeviceMapping' smart constructor.-data BlockDeviceMapping = BlockDeviceMapping'- { _bdmVirtualName :: !(Maybe Text)- , _bdmNoDevice :: !(Maybe Text)- , _bdmEBS :: !(Maybe EBSBlockDevice)- , _bdmDeviceName :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'BlockDeviceMapping' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bdmVirtualName'------ * 'bdmNoDevice'------ * 'bdmEBS'------ * 'bdmDeviceName'-blockDeviceMapping- :: Text -- ^ 'bdmDeviceName'- -> BlockDeviceMapping-blockDeviceMapping pDeviceName_ =- BlockDeviceMapping'- { _bdmVirtualName = Nothing- , _bdmNoDevice = Nothing- , _bdmEBS = Nothing- , _bdmDeviceName = pDeviceName_- }---- | The virtual device name ('ephemeral'N). Instance store volumes are--- numbered starting from 0. An instance type with 2 available instance--- store volumes can specify mappings for 'ephemeral0' and 'ephemeral1'.The--- number of available instance store volumes depends on the instance type.--- After you connect to the instance, you must mount the volume.------ Constraints: For M3 instances, you must specify instance store volumes--- in the block device mapping for the instance. When you launch an M3--- instance, we ignore any instance store volumes specified in the block--- device mapping for the AMI.-bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)-bdmVirtualName = lens _bdmVirtualName (\ s a -> s{_bdmVirtualName = a});---- | Suppresses the specified device included in the block device mapping of--- the AMI.-bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Text)-bdmNoDevice = lens _bdmNoDevice (\ s a -> s{_bdmNoDevice = a});---- | Parameters used to automatically set up EBS volumes when the instance is--- launched.-bdmEBS :: Lens' BlockDeviceMapping (Maybe EBSBlockDevice)-bdmEBS = lens _bdmEBS (\ s a -> s{_bdmEBS = a});---- | The device name exposed to the instance (for example, '\/dev\/sdh' or--- 'xvdh').-bdmDeviceName :: Lens' BlockDeviceMapping Text-bdmDeviceName = lens _bdmDeviceName (\ s a -> s{_bdmDeviceName = a});--instance FromXML BlockDeviceMapping where- parseXML x- = BlockDeviceMapping' <$>- (x .@? "virtualName") <*> (x .@? "noDevice") <*>- (x .@? "ebs")- <*> (x .@ "deviceName")--instance ToQuery BlockDeviceMapping where- toQuery BlockDeviceMapping'{..}- = mconcat- ["VirtualName" =: _bdmVirtualName,- "NoDevice" =: _bdmNoDevice, "Ebs" =: _bdmEBS,- "DeviceName" =: _bdmDeviceName]---- | Describes a bundle task.------ /See:/ 'bundleTask' smart constructor.-data BundleTask = BundleTask'- { _btBundleTaskError :: !(Maybe BundleTaskError)- , _btBundleId :: !Text- , _btInstanceId :: !Text- , _btProgress :: !Text- , _btStartTime :: !ISO8601- , _btState :: !BundleTaskState- , _btStorage :: !Storage- , _btUpdateTime :: !ISO8601- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'BundleTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'btBundleTaskError'------ * 'btBundleId'------ * 'btInstanceId'------ * 'btProgress'------ * 'btStartTime'------ * 'btState'------ * 'btStorage'------ * 'btUpdateTime'-bundleTask- :: Text -- ^ 'btBundleId'- -> Text -- ^ 'btInstanceId'- -> Text -- ^ 'btProgress'- -> UTCTime -- ^ 'btStartTime'- -> BundleTaskState -- ^ 'btState'- -> Storage -- ^ 'btStorage'- -> UTCTime -- ^ 'btUpdateTime'- -> BundleTask-bundleTask pBundleId_ pInstanceId_ pProgress_ pStartTime_ pState_ pStorage_ pUpdateTime_ =- BundleTask'- { _btBundleTaskError = Nothing- , _btBundleId = pBundleId_- , _btInstanceId = pInstanceId_- , _btProgress = pProgress_- , _btStartTime = _Time # pStartTime_- , _btState = pState_- , _btStorage = pStorage_- , _btUpdateTime = _Time # pUpdateTime_- }---- | If the task fails, a description of the error.-btBundleTaskError :: Lens' BundleTask (Maybe BundleTaskError)-btBundleTaskError = lens _btBundleTaskError (\ s a -> s{_btBundleTaskError = a});---- | The ID of the bundle task.-btBundleId :: Lens' BundleTask Text-btBundleId = lens _btBundleId (\ s a -> s{_btBundleId = a});---- | The ID of the instance associated with this bundle task.-btInstanceId :: Lens' BundleTask Text-btInstanceId = lens _btInstanceId (\ s a -> s{_btInstanceId = a});---- | The level of task completion, as a percent (for example, 20%).-btProgress :: Lens' BundleTask Text-btProgress = lens _btProgress (\ s a -> s{_btProgress = a});---- | The time this task started.-btStartTime :: Lens' BundleTask UTCTime-btStartTime = lens _btStartTime (\ s a -> s{_btStartTime = a}) . _Time;---- | The state of the task.-btState :: Lens' BundleTask BundleTaskState-btState = lens _btState (\ s a -> s{_btState = a});---- | The Amazon S3 storage locations.-btStorage :: Lens' BundleTask Storage-btStorage = lens _btStorage (\ s a -> s{_btStorage = a});---- | The time of the most recent update for the task.-btUpdateTime :: Lens' BundleTask UTCTime-btUpdateTime = lens _btUpdateTime (\ s a -> s{_btUpdateTime = a}) . _Time;--instance FromXML BundleTask where- parseXML x- = BundleTask' <$>- (x .@? "error") <*> (x .@ "bundleId") <*>- (x .@ "instanceId")- <*> (x .@ "progress")- <*> (x .@ "startTime")- <*> (x .@ "state")- <*> (x .@ "storage")- <*> (x .@ "updateTime")---- | Describes an error for BundleInstance.------ /See:/ 'bundleTaskError' smart constructor.-data BundleTaskError = BundleTaskError'- { _bteCode :: !(Maybe Text)- , _bteMessage :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'BundleTaskError' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bteCode'------ * 'bteMessage'-bundleTaskError- :: BundleTaskError-bundleTaskError =- BundleTaskError'- { _bteCode = Nothing- , _bteMessage = Nothing- }---- | The error code.-bteCode :: Lens' BundleTaskError (Maybe Text)-bteCode = lens _bteCode (\ s a -> s{_bteCode = a});---- | The error message.-bteMessage :: Lens' BundleTaskError (Maybe Text)-bteMessage = lens _bteMessage (\ s a -> s{_bteMessage = a});--instance FromXML BundleTaskError where- parseXML x- = BundleTaskError' <$>- (x .@? "code") <*> (x .@? "message")---- | Describes a Spot fleet error.------ /See:/ 'cancelSpotFleetRequestsError' smart constructor.-data CancelSpotFleetRequestsError = CancelSpotFleetRequestsError'- { _csfreCode :: !CancelBatchErrorCode- , _csfreMessage :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CancelSpotFleetRequestsError' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csfreCode'------ * 'csfreMessage'-cancelSpotFleetRequestsError- :: CancelBatchErrorCode -- ^ 'csfreCode'- -> Text -- ^ 'csfreMessage'- -> CancelSpotFleetRequestsError-cancelSpotFleetRequestsError pCode_ pMessage_ =- CancelSpotFleetRequestsError'- { _csfreCode = pCode_- , _csfreMessage = pMessage_- }---- | The error code.-csfreCode :: Lens' CancelSpotFleetRequestsError CancelBatchErrorCode-csfreCode = lens _csfreCode (\ s a -> s{_csfreCode = a});---- | The description for the error code.-csfreMessage :: Lens' CancelSpotFleetRequestsError Text-csfreMessage = lens _csfreMessage (\ s a -> s{_csfreMessage = a});--instance FromXML CancelSpotFleetRequestsError where- parseXML x- = CancelSpotFleetRequestsError' <$>- (x .@ "code") <*> (x .@ "message")---- | Describes a Spot fleet request that was not successfully canceled.------ /See:/ 'cancelSpotFleetRequestsErrorItem' smart constructor.-data CancelSpotFleetRequestsErrorItem = CancelSpotFleetRequestsErrorItem'- { _csfreiSpotFleetRequestId :: !Text- , _csfreiError :: !CancelSpotFleetRequestsError- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CancelSpotFleetRequestsErrorItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csfreiSpotFleetRequestId'------ * 'csfreiError'-cancelSpotFleetRequestsErrorItem- :: Text -- ^ 'csfreiSpotFleetRequestId'- -> CancelSpotFleetRequestsError -- ^ 'csfreiError'- -> CancelSpotFleetRequestsErrorItem-cancelSpotFleetRequestsErrorItem pSpotFleetRequestId_ pError_ =- CancelSpotFleetRequestsErrorItem'- { _csfreiSpotFleetRequestId = pSpotFleetRequestId_- , _csfreiError = pError_- }---- | The ID of the Spot fleet request.-csfreiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsErrorItem Text-csfreiSpotFleetRequestId = lens _csfreiSpotFleetRequestId (\ s a -> s{_csfreiSpotFleetRequestId = a});---- | The error.-csfreiError :: Lens' CancelSpotFleetRequestsErrorItem CancelSpotFleetRequestsError-csfreiError = lens _csfreiError (\ s a -> s{_csfreiError = a});--instance FromXML CancelSpotFleetRequestsErrorItem- where- parseXML x- = CancelSpotFleetRequestsErrorItem' <$>- (x .@ "spotFleetRequestId") <*> (x .@ "error")---- | Describes a Spot fleet request that was successfully canceled.------ /See:/ 'cancelSpotFleetRequestsSuccessItem' smart constructor.-data CancelSpotFleetRequestsSuccessItem = CancelSpotFleetRequestsSuccessItem'- { _csfrsiSpotFleetRequestId :: !Text- , _csfrsiCurrentSpotFleetRequestState :: !BatchState- , _csfrsiPreviousSpotFleetRequestState :: !BatchState- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CancelSpotFleetRequestsSuccessItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csfrsiSpotFleetRequestId'------ * 'csfrsiCurrentSpotFleetRequestState'------ * 'csfrsiPreviousSpotFleetRequestState'-cancelSpotFleetRequestsSuccessItem- :: Text -- ^ 'csfrsiSpotFleetRequestId'- -> BatchState -- ^ 'csfrsiCurrentSpotFleetRequestState'- -> BatchState -- ^ 'csfrsiPreviousSpotFleetRequestState'- -> CancelSpotFleetRequestsSuccessItem-cancelSpotFleetRequestsSuccessItem pSpotFleetRequestId_ pCurrentSpotFleetRequestState_ pPreviousSpotFleetRequestState_ =- CancelSpotFleetRequestsSuccessItem'- { _csfrsiSpotFleetRequestId = pSpotFleetRequestId_- , _csfrsiCurrentSpotFleetRequestState = pCurrentSpotFleetRequestState_- , _csfrsiPreviousSpotFleetRequestState = pPreviousSpotFleetRequestState_- }---- | The ID of the Spot fleet request.-csfrsiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsSuccessItem Text-csfrsiSpotFleetRequestId = lens _csfrsiSpotFleetRequestId (\ s a -> s{_csfrsiSpotFleetRequestId = a});---- | The current state of the Spot fleet request.-csfrsiCurrentSpotFleetRequestState :: Lens' CancelSpotFleetRequestsSuccessItem BatchState-csfrsiCurrentSpotFleetRequestState = lens _csfrsiCurrentSpotFleetRequestState (\ s a -> s{_csfrsiCurrentSpotFleetRequestState = a});---- | The previous state of the Spot fleet request.-csfrsiPreviousSpotFleetRequestState :: Lens' CancelSpotFleetRequestsSuccessItem BatchState-csfrsiPreviousSpotFleetRequestState = lens _csfrsiPreviousSpotFleetRequestState (\ s a -> s{_csfrsiPreviousSpotFleetRequestState = a});--instance FromXML CancelSpotFleetRequestsSuccessItem- where- parseXML x- = CancelSpotFleetRequestsSuccessItem' <$>- (x .@ "spotFleetRequestId") <*>- (x .@ "currentSpotFleetRequestState")- <*> (x .@ "previousSpotFleetRequestState")---- | Describes a request to cancel a Spot instance.------ /See:/ 'cancelledSpotInstanceRequest' smart constructor.-data CancelledSpotInstanceRequest = CancelledSpotInstanceRequest'- { _csirState :: !(Maybe CancelSpotInstanceRequestState)- , _csirSpotInstanceRequestId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CancelledSpotInstanceRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csirState'------ * 'csirSpotInstanceRequestId'-cancelledSpotInstanceRequest- :: CancelledSpotInstanceRequest-cancelledSpotInstanceRequest =- CancelledSpotInstanceRequest'- { _csirState = Nothing- , _csirSpotInstanceRequestId = Nothing- }---- | The state of the Spot instance request.-csirState :: Lens' CancelledSpotInstanceRequest (Maybe CancelSpotInstanceRequestState)-csirState = lens _csirState (\ s a -> s{_csirState = a});---- | The ID of the Spot instance request.-csirSpotInstanceRequestId :: Lens' CancelledSpotInstanceRequest (Maybe Text)-csirSpotInstanceRequestId = lens _csirSpotInstanceRequestId (\ s a -> s{_csirSpotInstanceRequestId = a});--instance FromXML CancelledSpotInstanceRequest where- parseXML x- = CancelledSpotInstanceRequest' <$>- (x .@? "state") <*> (x .@? "spotInstanceRequestId")---- | Describes a linked EC2-Classic instance.------ /See:/ 'classicLinkInstance' smart constructor.-data ClassicLinkInstance = ClassicLinkInstance'- { _cliInstanceId :: !(Maybe Text)- , _cliGroups :: !(Maybe [GroupIdentifier])- , _cliVPCId :: !(Maybe Text)- , _cliTags :: !(Maybe [Tag])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ClassicLinkInstance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cliInstanceId'------ * 'cliGroups'------ * 'cliVPCId'------ * 'cliTags'-classicLinkInstance- :: ClassicLinkInstance-classicLinkInstance =- ClassicLinkInstance'- { _cliInstanceId = Nothing- , _cliGroups = Nothing- , _cliVPCId = Nothing- , _cliTags = Nothing- }---- | The ID of the instance.-cliInstanceId :: Lens' ClassicLinkInstance (Maybe Text)-cliInstanceId = lens _cliInstanceId (\ s a -> s{_cliInstanceId = a});---- | A list of security groups.-cliGroups :: Lens' ClassicLinkInstance [GroupIdentifier]-cliGroups = lens _cliGroups (\ s a -> s{_cliGroups = a}) . _Default . _Coerce;---- | The ID of the VPC.-cliVPCId :: Lens' ClassicLinkInstance (Maybe Text)-cliVPCId = lens _cliVPCId (\ s a -> s{_cliVPCId = a});---- | Any tags assigned to the instance.-cliTags :: Lens' ClassicLinkInstance [Tag]-cliTags = lens _cliTags (\ s a -> s{_cliTags = a}) . _Default . _Coerce;--instance FromXML ClassicLinkInstance where- parseXML x- = ClassicLinkInstance' <$>- (x .@? "instanceId") <*>- (x .@? "groupSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "vpcId")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))---- | Describes the client-specific data.------ /See:/ 'clientData' smart constructor.-data ClientData = ClientData'- { _cdUploadStart :: !(Maybe ISO8601)- , _cdUploadSize :: !(Maybe Double)- , _cdUploadEnd :: !(Maybe ISO8601)- , _cdComment :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ClientData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cdUploadStart'------ * 'cdUploadSize'------ * 'cdUploadEnd'------ * 'cdComment'-clientData- :: ClientData-clientData =- ClientData'- { _cdUploadStart = Nothing- , _cdUploadSize = Nothing- , _cdUploadEnd = Nothing- , _cdComment = Nothing- }---- | The time that the disk upload starts.-cdUploadStart :: Lens' ClientData (Maybe UTCTime)-cdUploadStart = lens _cdUploadStart (\ s a -> s{_cdUploadStart = a}) . mapping _Time;---- | The size of the uploaded disk image, in GiB.-cdUploadSize :: Lens' ClientData (Maybe Double)-cdUploadSize = lens _cdUploadSize (\ s a -> s{_cdUploadSize = a});---- | The time that the disk upload ends.-cdUploadEnd :: Lens' ClientData (Maybe UTCTime)-cdUploadEnd = lens _cdUploadEnd (\ s a -> s{_cdUploadEnd = a}) . mapping _Time;---- | A user-defined comment about the disk upload.-cdComment :: Lens' ClientData (Maybe Text)-cdComment = lens _cdComment (\ s a -> s{_cdComment = a});--instance ToQuery ClientData where- toQuery ClientData'{..}- = mconcat- ["UploadStart" =: _cdUploadStart,- "UploadSize" =: _cdUploadSize,- "UploadEnd" =: _cdUploadEnd, "Comment" =: _cdComment]---- | Describes a conversion task.------ /See:/ 'conversionTask' smart constructor.-data ConversionTask = ConversionTask'- { _ctImportInstance :: !(Maybe ImportInstanceTaskDetails)- , _ctStatusMessage :: !(Maybe Text)- , _ctImportVolume :: !(Maybe ImportVolumeTaskDetails)- , _ctExpirationTime :: !(Maybe Text)- , _ctTags :: !(Maybe [Tag])- , _ctConversionTaskId :: !Text- , _ctState :: !ConversionTaskState- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ConversionTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ctImportInstance'------ * 'ctStatusMessage'------ * 'ctImportVolume'------ * 'ctExpirationTime'------ * 'ctTags'------ * 'ctConversionTaskId'------ * 'ctState'-conversionTask- :: Text -- ^ 'ctConversionTaskId'- -> ConversionTaskState -- ^ 'ctState'- -> ConversionTask-conversionTask pConversionTaskId_ pState_ =- ConversionTask'- { _ctImportInstance = Nothing- , _ctStatusMessage = Nothing- , _ctImportVolume = Nothing- , _ctExpirationTime = Nothing- , _ctTags = Nothing- , _ctConversionTaskId = pConversionTaskId_- , _ctState = pState_- }---- | If the task is for importing an instance, this contains information--- about the import instance task.-ctImportInstance :: Lens' ConversionTask (Maybe ImportInstanceTaskDetails)-ctImportInstance = lens _ctImportInstance (\ s a -> s{_ctImportInstance = a});---- | The status message related to the conversion task.-ctStatusMessage :: Lens' ConversionTask (Maybe Text)-ctStatusMessage = lens _ctStatusMessage (\ s a -> s{_ctStatusMessage = a});---- | If the task is for importing a volume, this contains information about--- the import volume task.-ctImportVolume :: Lens' ConversionTask (Maybe ImportVolumeTaskDetails)-ctImportVolume = lens _ctImportVolume (\ s a -> s{_ctImportVolume = a});---- | The time when the task expires. If the upload isn\'t complete before the--- expiration time, we automatically cancel the task.-ctExpirationTime :: Lens' ConversionTask (Maybe Text)-ctExpirationTime = lens _ctExpirationTime (\ s a -> s{_ctExpirationTime = a});---- | Any tags assigned to the task.-ctTags :: Lens' ConversionTask [Tag]-ctTags = lens _ctTags (\ s a -> s{_ctTags = a}) . _Default . _Coerce;---- | The ID of the conversion task.-ctConversionTaskId :: Lens' ConversionTask Text-ctConversionTaskId = lens _ctConversionTaskId (\ s a -> s{_ctConversionTaskId = a});---- | The state of the conversion task.-ctState :: Lens' ConversionTask ConversionTaskState-ctState = lens _ctState (\ s a -> s{_ctState = a});--instance FromXML ConversionTask where- parseXML x- = ConversionTask' <$>- (x .@? "importInstance") <*> (x .@? "statusMessage")- <*> (x .@? "importVolume")- <*> (x .@? "expirationTime")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "conversionTaskId")- <*> (x .@ "state")---- | Describes the user or group to be added or removed from the permissions--- for a volume.------ /See:/ 'createVolumePermission' smart constructor.-data CreateVolumePermission = CreateVolumePermission'- { _cvpGroup :: !(Maybe PermissionGroup)- , _cvpUserId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CreateVolumePermission' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cvpGroup'------ * 'cvpUserId'-createVolumePermission- :: CreateVolumePermission-createVolumePermission =- CreateVolumePermission'- { _cvpGroup = Nothing- , _cvpUserId = Nothing- }---- | The specific group that is to be added or removed from a volume\'s list--- of create volume permissions.-cvpGroup :: Lens' CreateVolumePermission (Maybe PermissionGroup)-cvpGroup = lens _cvpGroup (\ s a -> s{_cvpGroup = a});---- | The specific AWS account ID that is to be added or removed from a--- volume\'s list of create volume permissions.-cvpUserId :: Lens' CreateVolumePermission (Maybe Text)-cvpUserId = lens _cvpUserId (\ s a -> s{_cvpUserId = a});--instance FromXML CreateVolumePermission where- parseXML x- = CreateVolumePermission' <$>- (x .@? "group") <*> (x .@? "userId")--instance ToQuery CreateVolumePermission where- toQuery CreateVolumePermission'{..}- = mconcat- ["Group" =: _cvpGroup, "UserId" =: _cvpUserId]---- | Describes modifications to the permissions for a volume.------ /See:/ 'createVolumePermissionModifications' smart constructor.-data CreateVolumePermissionModifications = CreateVolumePermissionModifications'- { _cvpmRemove :: !(Maybe [CreateVolumePermission])- , _cvpmAdd :: !(Maybe [CreateVolumePermission])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CreateVolumePermissionModifications' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cvpmRemove'------ * 'cvpmAdd'-createVolumePermissionModifications- :: CreateVolumePermissionModifications-createVolumePermissionModifications =- CreateVolumePermissionModifications'- { _cvpmRemove = Nothing- , _cvpmAdd = Nothing- }---- | Removes a specific AWS account ID or group from a volume\'s list of--- create volume permissions.-cvpmRemove :: Lens' CreateVolumePermissionModifications [CreateVolumePermission]-cvpmRemove = lens _cvpmRemove (\ s a -> s{_cvpmRemove = a}) . _Default . _Coerce;---- | Adds a specific AWS account ID or group to a volume\'s list of create--- volume permissions.-cvpmAdd :: Lens' CreateVolumePermissionModifications [CreateVolumePermission]-cvpmAdd = lens _cvpmAdd (\ s a -> s{_cvpmAdd = a}) . _Default . _Coerce;--instance ToQuery CreateVolumePermissionModifications- where- toQuery CreateVolumePermissionModifications'{..}- = mconcat- [toQuery (toQueryList "Remove" <$> _cvpmRemove),- toQuery (toQueryList "Add" <$> _cvpmAdd)]---- | Describes a customer gateway.------ /See:/ 'customerGateway' smart constructor.-data CustomerGateway = CustomerGateway'- { _cgTags :: !(Maybe [Tag])- , _cgBGPASN :: !Text- , _cgCustomerGatewayId :: !Text- , _cgIPAddress :: !Text- , _cgState :: !Text- , _cgType :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CustomerGateway' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgTags'------ * 'cgBGPASN'------ * 'cgCustomerGatewayId'------ * 'cgIPAddress'------ * 'cgState'------ * 'cgType'-customerGateway- :: Text -- ^ 'cgBGPASN'- -> Text -- ^ 'cgCustomerGatewayId'- -> Text -- ^ 'cgIPAddress'- -> Text -- ^ 'cgState'- -> Text -- ^ 'cgType'- -> CustomerGateway-customerGateway pBGPASN_ pCustomerGatewayId_ pIPAddress_ pState_ pType_ =- CustomerGateway'- { _cgTags = Nothing- , _cgBGPASN = pBGPASN_- , _cgCustomerGatewayId = pCustomerGatewayId_- , _cgIPAddress = pIPAddress_- , _cgState = pState_- , _cgType = pType_- }---- | Any tags assigned to the customer gateway.-cgTags :: Lens' CustomerGateway [Tag]-cgTags = lens _cgTags (\ s a -> s{_cgTags = a}) . _Default . _Coerce;---- | The customer gateway\'s Border Gateway Protocol (BGP) Autonomous System--- Number (ASN).-cgBGPASN :: Lens' CustomerGateway Text-cgBGPASN = lens _cgBGPASN (\ s a -> s{_cgBGPASN = a});---- | The ID of the customer gateway.-cgCustomerGatewayId :: Lens' CustomerGateway Text-cgCustomerGatewayId = lens _cgCustomerGatewayId (\ s a -> s{_cgCustomerGatewayId = a});---- | The Internet-routable IP address of the customer gateway\'s outside--- interface.-cgIPAddress :: Lens' CustomerGateway Text-cgIPAddress = lens _cgIPAddress (\ s a -> s{_cgIPAddress = a});---- | The current state of the customer gateway--- ('pending | available | deleting | deleted').-cgState :: Lens' CustomerGateway Text-cgState = lens _cgState (\ s a -> s{_cgState = a});---- | The type of VPN connection the customer gateway supports ('ipsec.1').-cgType :: Lens' CustomerGateway Text-cgType = lens _cgType (\ s a -> s{_cgType = a});--instance FromXML CustomerGateway where- parseXML x- = CustomerGateway' <$>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "bgpAsn")- <*> (x .@ "customerGatewayId")- <*> (x .@ "ipAddress")- <*> (x .@ "state")- <*> (x .@ "type")---- | Describes a DHCP configuration option.------ /See:/ 'dhcpConfiguration' smart constructor.-data DHCPConfiguration = DHCPConfiguration'- { _dcValues :: !(Maybe [AttributeValue])- , _dcKey :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DHCPConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dcValues'------ * 'dcKey'-dhcpConfiguration- :: DHCPConfiguration-dhcpConfiguration =- DHCPConfiguration'- { _dcValues = Nothing- , _dcKey = Nothing- }---- | One or more values for the DHCP option.-dcValues :: Lens' DHCPConfiguration [AttributeValue]-dcValues = lens _dcValues (\ s a -> s{_dcValues = a}) . _Default . _Coerce;---- | The name of a DHCP option.-dcKey :: Lens' DHCPConfiguration (Maybe Text)-dcKey = lens _dcKey (\ s a -> s{_dcKey = a});--instance FromXML DHCPConfiguration where- parseXML x- = DHCPConfiguration' <$>- (x .@? "valueSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "key")---- | Describes a set of DHCP options.------ /See:/ 'dhcpOptions' smart constructor.-data DHCPOptions = DHCPOptions'- { _doDHCPConfigurations :: !(Maybe [DHCPConfiguration])- , _doDHCPOptionsId :: !(Maybe Text)- , _doTags :: !(Maybe [Tag])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DHCPOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'doDHCPConfigurations'------ * 'doDHCPOptionsId'------ * 'doTags'-dhcpOptions- :: DHCPOptions-dhcpOptions =- DHCPOptions'- { _doDHCPConfigurations = Nothing- , _doDHCPOptionsId = Nothing- , _doTags = Nothing- }---- | One or more DHCP options in the set.-doDHCPConfigurations :: Lens' DHCPOptions [DHCPConfiguration]-doDHCPConfigurations = lens _doDHCPConfigurations (\ s a -> s{_doDHCPConfigurations = a}) . _Default . _Coerce;---- | The ID of the set of DHCP options.-doDHCPOptionsId :: Lens' DHCPOptions (Maybe Text)-doDHCPOptionsId = lens _doDHCPOptionsId (\ s a -> s{_doDHCPOptionsId = a});---- | Any tags assigned to the DHCP options set.-doTags :: Lens' DHCPOptions [Tag]-doTags = lens _doTags (\ s a -> s{_doTags = a}) . _Default . _Coerce;--instance FromXML DHCPOptions where- parseXML x- = DHCPOptions' <$>- (x .@? "dhcpConfigurationSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "dhcpOptionsId")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))---- | Describes a disk image.------ /See:/ 'diskImage' smart constructor.-data DiskImage = DiskImage'- { _diImage :: !(Maybe DiskImageDetail)- , _diVolume :: !(Maybe VolumeDetail)- , _diDescription :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskImage' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'diImage'------ * 'diVolume'------ * 'diDescription'-diskImage- :: DiskImage-diskImage =- DiskImage'- { _diImage = Nothing- , _diVolume = Nothing- , _diDescription = Nothing- }---- | Information about the disk image.-diImage :: Lens' DiskImage (Maybe DiskImageDetail)-diImage = lens _diImage (\ s a -> s{_diImage = a});---- | Information about the volume.-diVolume :: Lens' DiskImage (Maybe VolumeDetail)-diVolume = lens _diVolume (\ s a -> s{_diVolume = a});---- | A description of the disk image.-diDescription :: Lens' DiskImage (Maybe Text)-diDescription = lens _diDescription (\ s a -> s{_diDescription = a});--instance ToQuery DiskImage where- toQuery DiskImage'{..}- = mconcat- ["Image" =: _diImage, "Volume" =: _diVolume,- "Description" =: _diDescription]---- | Describes a disk image.------ /See:/ 'diskImageDescription' smart constructor.-data DiskImageDescription = DiskImageDescription'- { _dChecksum :: !(Maybe Text)- , _dFormat :: !DiskImageFormat- , _dSize :: !Integer- , _dImportManifestURL :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskImageDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dChecksum'------ * 'dFormat'------ * 'dSize'------ * 'dImportManifestURL'-diskImageDescription- :: DiskImageFormat -- ^ 'dFormat'- -> Integer -- ^ 'dSize'- -> Text -- ^ 'dImportManifestURL'- -> DiskImageDescription-diskImageDescription pFormat_ pSize_ pImportManifestURL_ =- DiskImageDescription'- { _dChecksum = Nothing- , _dFormat = pFormat_- , _dSize = pSize_- , _dImportManifestURL = pImportManifestURL_- }---- | The checksum computed for the disk image.-dChecksum :: Lens' DiskImageDescription (Maybe Text)-dChecksum = lens _dChecksum (\ s a -> s{_dChecksum = a});---- | The disk image format.-dFormat :: Lens' DiskImageDescription DiskImageFormat-dFormat = lens _dFormat (\ s a -> s{_dFormat = a});---- | The size of the disk image, in GiB.-dSize :: Lens' DiskImageDescription Integer-dSize = lens _dSize (\ s a -> s{_dSize = a});---- | A presigned URL for the import manifest stored in Amazon S3. For--- information about creating a presigned URL for an Amazon S3 object, read--- the \"Query String Request Authentication Alternative\" section of the--- <http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html Authenticating REST Requests>--- topic in the /Amazon Simple Storage Service Developer Guide/.-dImportManifestURL :: Lens' DiskImageDescription Text-dImportManifestURL = lens _dImportManifestURL (\ s a -> s{_dImportManifestURL = a});--instance FromXML DiskImageDescription where- parseXML x- = DiskImageDescription' <$>- (x .@? "checksum") <*> (x .@ "format") <*>- (x .@ "size")- <*> (x .@ "importManifestUrl")---- | Describes a disk image.------ /See:/ 'diskImageDetail' smart constructor.-data DiskImageDetail = DiskImageDetail'- { _didFormat :: !DiskImageFormat- , _didBytes :: !Integer- , _didImportManifestURL :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskImageDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'didFormat'------ * 'didBytes'------ * 'didImportManifestURL'-diskImageDetail- :: DiskImageFormat -- ^ 'didFormat'- -> Integer -- ^ 'didBytes'- -> Text -- ^ 'didImportManifestURL'- -> DiskImageDetail-diskImageDetail pFormat_ pBytes_ pImportManifestURL_ =- DiskImageDetail'- { _didFormat = pFormat_- , _didBytes = pBytes_- , _didImportManifestURL = pImportManifestURL_- }---- | The disk image format.-didFormat :: Lens' DiskImageDetail DiskImageFormat-didFormat = lens _didFormat (\ s a -> s{_didFormat = a});---- | The size of the disk image, in GiB.-didBytes :: Lens' DiskImageDetail Integer-didBytes = lens _didBytes (\ s a -> s{_didBytes = a});---- | A presigned URL for the import manifest stored in Amazon S3 and--- presented here as an Amazon S3 presigned URL. For information about--- creating a presigned URL for an Amazon S3 object, read the \"Query--- String Request Authentication Alternative\" section of the--- <http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html Authenticating REST Requests>--- topic in the /Amazon Simple Storage Service Developer Guide/.-didImportManifestURL :: Lens' DiskImageDetail Text-didImportManifestURL = lens _didImportManifestURL (\ s a -> s{_didImportManifestURL = a});--instance ToQuery DiskImageDetail where- toQuery DiskImageDetail'{..}- = mconcat- ["Format" =: _didFormat, "Bytes" =: _didBytes,- "ImportManifestUrl" =: _didImportManifestURL]---- | Describes a disk image volume.------ /See:/ 'diskImageVolumeDescription' smart constructor.-data DiskImageVolumeDescription = DiskImageVolumeDescription'- { _divdSize :: !(Maybe Integer)- , _divdId :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskImageVolumeDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'divdSize'------ * 'divdId'-diskImageVolumeDescription- :: Text -- ^ 'divdId'- -> DiskImageVolumeDescription-diskImageVolumeDescription pId_ =- DiskImageVolumeDescription'- { _divdSize = Nothing- , _divdId = pId_- }---- | The size of the volume, in GiB.-divdSize :: Lens' DiskImageVolumeDescription (Maybe Integer)-divdSize = lens _divdSize (\ s a -> s{_divdSize = a});---- | The volume identifier.-divdId :: Lens' DiskImageVolumeDescription Text-divdId = lens _divdId (\ s a -> s{_divdId = a});--instance FromXML DiskImageVolumeDescription where- parseXML x- = DiskImageVolumeDescription' <$>- (x .@? "size") <*> (x .@ "id")---- | Describes a block device for an EBS volume.------ /See:/ 'ebsBlockDevice' smart constructor.-data EBSBlockDevice = EBSBlockDevice'- { _ebdDeleteOnTermination :: !(Maybe Bool)- , _ebdVolumeSize :: !(Maybe Int)- , _ebdIOPS :: !(Maybe Int)- , _ebdEncrypted :: !(Maybe Bool)- , _ebdVolumeType :: !(Maybe VolumeType)- , _ebdSnapshotId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'EBSBlockDevice' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ebdDeleteOnTermination'------ * 'ebdVolumeSize'------ * 'ebdIOPS'------ * 'ebdEncrypted'------ * 'ebdVolumeType'------ * 'ebdSnapshotId'-ebsBlockDevice- :: EBSBlockDevice-ebsBlockDevice =- EBSBlockDevice'- { _ebdDeleteOnTermination = Nothing- , _ebdVolumeSize = Nothing- , _ebdIOPS = Nothing- , _ebdEncrypted = Nothing- , _ebdVolumeType = Nothing- , _ebdSnapshotId = Nothing- }---- | Indicates whether the EBS volume is deleted on instance termination.-ebdDeleteOnTermination :: Lens' EBSBlockDevice (Maybe Bool)-ebdDeleteOnTermination = lens _ebdDeleteOnTermination (\ s a -> s{_ebdDeleteOnTermination = a});---- | The size of the volume, in GiB.------ Constraints: '1-1024' for 'standard' volumes, '1-16384' for 'gp2'--- volumes, and '4-16384' for 'io1' volumes. If you specify a snapshot, the--- volume size must be equal to or larger than the snapshot size.------ Default: If you\'re creating the volume from a snapshot and don\'t--- specify a volume size, the default is the snapshot size.-ebdVolumeSize :: Lens' EBSBlockDevice (Maybe Int)-ebdVolumeSize = lens _ebdVolumeSize (\ s a -> s{_ebdVolumeSize = a});---- | The number of I\/O operations per second (IOPS) that the volume--- supports. For Provisioned IOPS (SSD) volumes, this represents the number--- of IOPS that are provisioned for the volume. For General Purpose (SSD)--- volumes, this represents the baseline performance of the volume and the--- rate at which the volume accumulates I\/O credits for bursting. For more--- information on General Purpose (SSD) baseline performance, I\/O credits,--- and bursting, see--- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html Amazon EBS Volume Types>--- in the /Amazon Elastic Compute Cloud User Guide/.------ Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and--- 3 to 10000 for General Purpose (SSD) volumes.------ Condition: This parameter is required for requests to create 'io1'--- volumes; it is not used in requests to create 'standard' or 'gp2'--- volumes.-ebdIOPS :: Lens' EBSBlockDevice (Maybe Int)-ebdIOPS = lens _ebdIOPS (\ s a -> s{_ebdIOPS = a});---- | Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS--- volumes may only be attached to instances that support Amazon EBS--- encryption.-ebdEncrypted :: Lens' EBSBlockDevice (Maybe Bool)-ebdEncrypted = lens _ebdEncrypted (\ s a -> s{_ebdEncrypted = a});---- | The volume type. 'gp2' for General Purpose (SSD) volumes, 'io1' for--- Provisioned IOPS (SSD) volumes, and 'standard' for Magnetic volumes.------ Default: 'standard'-ebdVolumeType :: Lens' EBSBlockDevice (Maybe VolumeType)-ebdVolumeType = lens _ebdVolumeType (\ s a -> s{_ebdVolumeType = a});---- | The ID of the snapshot.-ebdSnapshotId :: Lens' EBSBlockDevice (Maybe Text)-ebdSnapshotId = lens _ebdSnapshotId (\ s a -> s{_ebdSnapshotId = a});--instance FromXML EBSBlockDevice where- parseXML x- = EBSBlockDevice' <$>- (x .@? "deleteOnTermination") <*>- (x .@? "volumeSize")- <*> (x .@? "iops")- <*> (x .@? "encrypted")- <*> (x .@? "volumeType")- <*> (x .@? "snapshotId")--instance ToQuery EBSBlockDevice where- toQuery EBSBlockDevice'{..}- = mconcat- ["DeleteOnTermination" =: _ebdDeleteOnTermination,- "VolumeSize" =: _ebdVolumeSize, "Iops" =: _ebdIOPS,- "Encrypted" =: _ebdEncrypted,- "VolumeType" =: _ebdVolumeType,- "SnapshotId" =: _ebdSnapshotId]---- | Describes a parameter used to set up an EBS volume in a block device--- mapping.------ /See:/ 'ebsInstanceBlockDevice' smart constructor.-data EBSInstanceBlockDevice = EBSInstanceBlockDevice'- { _eibdStatus :: !(Maybe AttachmentStatus)- , _eibdDeleteOnTermination :: !(Maybe Bool)- , _eibdVolumeId :: !(Maybe Text)- , _eibdAttachTime :: !(Maybe ISO8601)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'EBSInstanceBlockDevice' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eibdStatus'------ * 'eibdDeleteOnTermination'------ * 'eibdVolumeId'------ * 'eibdAttachTime'-ebsInstanceBlockDevice- :: EBSInstanceBlockDevice-ebsInstanceBlockDevice =- EBSInstanceBlockDevice'- { _eibdStatus = Nothing- , _eibdDeleteOnTermination = Nothing- , _eibdVolumeId = Nothing- , _eibdAttachTime = Nothing- }---- | The attachment state.-eibdStatus :: Lens' EBSInstanceBlockDevice (Maybe AttachmentStatus)-eibdStatus = lens _eibdStatus (\ s a -> s{_eibdStatus = a});---- | Indicates whether the volume is deleted on instance termination.-eibdDeleteOnTermination :: Lens' EBSInstanceBlockDevice (Maybe Bool)-eibdDeleteOnTermination = lens _eibdDeleteOnTermination (\ s a -> s{_eibdDeleteOnTermination = a});---- | The ID of the EBS volume.-eibdVolumeId :: Lens' EBSInstanceBlockDevice (Maybe Text)-eibdVolumeId = lens _eibdVolumeId (\ s a -> s{_eibdVolumeId = a});---- | The time stamp when the attachment initiated.-eibdAttachTime :: Lens' EBSInstanceBlockDevice (Maybe UTCTime)-eibdAttachTime = lens _eibdAttachTime (\ s a -> s{_eibdAttachTime = a}) . mapping _Time;--instance FromXML EBSInstanceBlockDevice where- parseXML x- = EBSInstanceBlockDevice' <$>- (x .@? "status") <*> (x .@? "deleteOnTermination")- <*> (x .@? "volumeId")- <*> (x .@? "attachTime")---- | /See:/ 'ebsInstanceBlockDeviceSpecification' smart constructor.-data EBSInstanceBlockDeviceSpecification = EBSInstanceBlockDeviceSpecification'- { _eibdsDeleteOnTermination :: !(Maybe Bool)- , _eibdsVolumeId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'EBSInstanceBlockDeviceSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eibdsDeleteOnTermination'------ * 'eibdsVolumeId'-ebsInstanceBlockDeviceSpecification- :: EBSInstanceBlockDeviceSpecification-ebsInstanceBlockDeviceSpecification =- EBSInstanceBlockDeviceSpecification'- { _eibdsDeleteOnTermination = Nothing- , _eibdsVolumeId = Nothing- }---- | Indicates whether the volume is deleted on instance termination.-eibdsDeleteOnTermination :: Lens' EBSInstanceBlockDeviceSpecification (Maybe Bool)-eibdsDeleteOnTermination = lens _eibdsDeleteOnTermination (\ s a -> s{_eibdsDeleteOnTermination = a});---- | The ID of the EBS volume.-eibdsVolumeId :: Lens' EBSInstanceBlockDeviceSpecification (Maybe Text)-eibdsVolumeId = lens _eibdsVolumeId (\ s a -> s{_eibdsVolumeId = a});--instance ToQuery EBSInstanceBlockDeviceSpecification- where- toQuery EBSInstanceBlockDeviceSpecification'{..}- = mconcat- ["DeleteOnTermination" =: _eibdsDeleteOnTermination,- "VolumeId" =: _eibdsVolumeId]---- | Describes a Spot fleet event.------ /See:/ 'eventInformation' smart constructor.-data EventInformation = EventInformation'- { _eiInstanceId :: !(Maybe Text)- , _eiEventDescription :: !(Maybe Text)- , _eiEventSubType :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'EventInformation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eiInstanceId'------ * 'eiEventDescription'------ * 'eiEventSubType'-eventInformation- :: EventInformation-eventInformation =- EventInformation'- { _eiInstanceId = Nothing- , _eiEventDescription = Nothing- , _eiEventSubType = Nothing- }---- | The ID of the instance. This information is available only for--- 'instanceChange' events.-eiInstanceId :: Lens' EventInformation (Maybe Text)-eiInstanceId = lens _eiInstanceId (\ s a -> s{_eiInstanceId = a});---- | The description of the event.-eiEventDescription :: Lens' EventInformation (Maybe Text)-eiEventDescription = lens _eiEventDescription (\ s a -> s{_eiEventDescription = a});---- | The event.------ The following are the 'error' events.------ - 'iamFleetRoleInvalid' - The Spot fleet did not have the required--- permissions either to launch or terminate an instance.------ - 'launchSpecTemporarilyBlacklisted' - The configuration is not valid--- and several attempts to launch instances have failed. For more--- information, see the description of the event.------ - 'spotFleetRequestConfigurationInvalid' - The configuration is not--- valid. For more information, see the description of the event.------ - 'spotInstanceCountLimitExceeded' - You\'ve reached the limit on the--- number of Spot instances that you can launch.------ The following are the 'fleetRequestChange' events.------ - 'active' - The Spot fleet has been validated and Amazon EC2 is--- attempting to maintain the target number of running Spot instances.------ - 'cancelled' - The Spot fleet is canceled and has no running Spot--- instances. The Spot fleet will be deleted two days after its--- instances were terminated.------ - 'cancelled_running' - The Spot fleet is canceled and will not launch--- additional Spot instances, but its existing Spot instances continue--- to run until they are interrupted or terminated.------ - 'cancelled_terminating' - The Spot fleet is canceled and its Spot--- instances are terminating.------ - 'expired' - The Spot fleet request has expired. A subsequent event--- indicates that the instances were terminated, if the request was--- created with 'TerminateInstancesWithExpiration' set.------ - 'modify_in_progress' - A request to modify the Spot fleet request--- was accepted and is in progress.------ - 'modify_successful' - The Spot fleet request was modified.------ - 'price_update' - The bid price for a launch configuration was--- adjusted because it was too high. This change is permanent.------ - 'submitted' - The Spot fleet request is being evaluated and Amazon--- EC2 is preparing to launch the target number of Spot instances.------ The following are the 'instanceChange' events.------ - 'launched' - A bid was fulfilled and a new instance was launched.------ - 'terminated' - An instance was terminated by the user.----eiEventSubType :: Lens' EventInformation (Maybe Text)-eiEventSubType = lens _eiEventSubType (\ s a -> s{_eiEventSubType = a});--instance FromXML EventInformation where- parseXML x- = EventInformation' <$>- (x .@? "instanceId") <*> (x .@? "eventDescription")- <*> (x .@? "eventSubType")---- | Describes an instance export task.------ /See:/ 'exportTask' smart constructor.-data ExportTask = ExportTask'- { _etDescription :: !Text- , _etExportTaskId :: !Text- , _etExportToS3Task :: !ExportToS3Task- , _etInstanceExportDetails :: !InstanceExportDetails- , _etState :: !ExportTaskState- , _etStatusMessage :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ExportTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'etDescription'------ * 'etExportTaskId'------ * 'etExportToS3Task'------ * 'etInstanceExportDetails'------ * 'etState'------ * 'etStatusMessage'-exportTask- :: Text -- ^ 'etDescription'- -> Text -- ^ 'etExportTaskId'- -> ExportToS3Task -- ^ 'etExportToS3Task'- -> InstanceExportDetails -- ^ 'etInstanceExportDetails'- -> ExportTaskState -- ^ 'etState'- -> Text -- ^ 'etStatusMessage'- -> ExportTask-exportTask pDescription_ pExportTaskId_ pExportToS3Task_ pInstanceExportDetails_ pState_ pStatusMessage_ =- ExportTask'- { _etDescription = pDescription_- , _etExportTaskId = pExportTaskId_- , _etExportToS3Task = pExportToS3Task_- , _etInstanceExportDetails = pInstanceExportDetails_- , _etState = pState_- , _etStatusMessage = pStatusMessage_- }---- | A description of the resource being exported.-etDescription :: Lens' ExportTask Text-etDescription = lens _etDescription (\ s a -> s{_etDescription = a});---- | The ID of the export task.-etExportTaskId :: Lens' ExportTask Text-etExportTaskId = lens _etExportTaskId (\ s a -> s{_etExportTaskId = a});---- | Information about the export task.-etExportToS3Task :: Lens' ExportTask ExportToS3Task-etExportToS3Task = lens _etExportToS3Task (\ s a -> s{_etExportToS3Task = a});---- | Information about the instance to export.-etInstanceExportDetails :: Lens' ExportTask InstanceExportDetails-etInstanceExportDetails = lens _etInstanceExportDetails (\ s a -> s{_etInstanceExportDetails = a});---- | The state of the export task.-etState :: Lens' ExportTask ExportTaskState-etState = lens _etState (\ s a -> s{_etState = a});---- | The status message related to the export task.-etStatusMessage :: Lens' ExportTask Text-etStatusMessage = lens _etStatusMessage (\ s a -> s{_etStatusMessage = a});--instance FromXML ExportTask where- parseXML x- = ExportTask' <$>- (x .@ "description") <*> (x .@ "exportTaskId") <*>- (x .@ "exportToS3")- <*> (x .@ "instanceExport")- <*> (x .@ "state")- <*> (x .@ "statusMessage")---- | Describes the format and location for an instance export task.------ /See:/ 'exportToS3Task' smart constructor.-data ExportToS3Task = ExportToS3Task'- { _etstS3Key :: !(Maybe Text)- , _etstContainerFormat :: !(Maybe ContainerFormat)- , _etstS3Bucket :: !(Maybe Text)- , _etstDiskImageFormat :: !(Maybe DiskImageFormat)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ExportToS3Task' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'etstS3Key'------ * 'etstContainerFormat'------ * 'etstS3Bucket'------ * 'etstDiskImageFormat'-exportToS3Task- :: ExportToS3Task-exportToS3Task =- ExportToS3Task'- { _etstS3Key = Nothing- , _etstContainerFormat = Nothing- , _etstS3Bucket = Nothing- , _etstDiskImageFormat = Nothing- }---- | The encryption key for your S3 bucket.-etstS3Key :: Lens' ExportToS3Task (Maybe Text)-etstS3Key = lens _etstS3Key (\ s a -> s{_etstS3Key = a});---- | The container format used to combine disk images with metadata (such as--- OVF). If absent, only the disk image is exported.-etstContainerFormat :: Lens' ExportToS3Task (Maybe ContainerFormat)-etstContainerFormat = lens _etstContainerFormat (\ s a -> s{_etstContainerFormat = a});---- | The S3 bucket for the destination image. The destination bucket must--- exist and grant WRITE and READ_ACP permissions to the AWS account--- 'vm-import-export\'amazon.com'.-etstS3Bucket :: Lens' ExportToS3Task (Maybe Text)-etstS3Bucket = lens _etstS3Bucket (\ s a -> s{_etstS3Bucket = a});---- | The format for the exported image.-etstDiskImageFormat :: Lens' ExportToS3Task (Maybe DiskImageFormat)-etstDiskImageFormat = lens _etstDiskImageFormat (\ s a -> s{_etstDiskImageFormat = a});--instance FromXML ExportToS3Task where- parseXML x- = ExportToS3Task' <$>- (x .@? "s3Key") <*> (x .@? "containerFormat") <*>- (x .@? "s3Bucket")- <*> (x .@? "diskImageFormat")---- | Describes an instance export task.------ /See:/ 'exportToS3TaskSpecification' smart constructor.-data ExportToS3TaskSpecification = ExportToS3TaskSpecification'- { _etstsContainerFormat :: !(Maybe ContainerFormat)- , _etstsS3Prefix :: !(Maybe Text)- , _etstsS3Bucket :: !(Maybe Text)- , _etstsDiskImageFormat :: !(Maybe DiskImageFormat)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ExportToS3TaskSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'etstsContainerFormat'------ * 'etstsS3Prefix'------ * 'etstsS3Bucket'------ * 'etstsDiskImageFormat'-exportToS3TaskSpecification- :: ExportToS3TaskSpecification-exportToS3TaskSpecification =- ExportToS3TaskSpecification'- { _etstsContainerFormat = Nothing- , _etstsS3Prefix = Nothing- , _etstsS3Bucket = Nothing- , _etstsDiskImageFormat = Nothing- }---- | The container format used to combine disk images with metadata (such as--- OVF). If absent, only the disk image is exported.-etstsContainerFormat :: Lens' ExportToS3TaskSpecification (Maybe ContainerFormat)-etstsContainerFormat = lens _etstsContainerFormat (\ s a -> s{_etstsContainerFormat = a});---- | The image is written to a single object in the S3 bucket at the S3 key--- s3prefix + exportTaskId + \'.\' + diskImageFormat.-etstsS3Prefix :: Lens' ExportToS3TaskSpecification (Maybe Text)-etstsS3Prefix = lens _etstsS3Prefix (\ s a -> s{_etstsS3Prefix = a});---- | The S3 bucket for the destination image. The destination bucket must--- exist and grant WRITE and READ_ACP permissions to the AWS account--- 'vm-import-export\'amazon.com'.-etstsS3Bucket :: Lens' ExportToS3TaskSpecification (Maybe Text)-etstsS3Bucket = lens _etstsS3Bucket (\ s a -> s{_etstsS3Bucket = a});---- | The format for the exported image.-etstsDiskImageFormat :: Lens' ExportToS3TaskSpecification (Maybe DiskImageFormat)-etstsDiskImageFormat = lens _etstsDiskImageFormat (\ s a -> s{_etstsDiskImageFormat = a});--instance ToQuery ExportToS3TaskSpecification where- toQuery ExportToS3TaskSpecification'{..}- = mconcat- ["ContainerFormat" =: _etstsContainerFormat,- "S3Prefix" =: _etstsS3Prefix,- "S3Bucket" =: _etstsS3Bucket,- "DiskImageFormat" =: _etstsDiskImageFormat]---- | A filter name and value pair that is used to return a more specific list--- of results. Filters can be used to match a set of resources by various--- criteria, such as tags, attributes, or IDs.------ /See:/ 'filter'' smart constructor.-data Filter = Filter'- { _fValues :: !(Maybe [Text])- , _fName :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Filter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fValues'------ * 'fName'-filter'- :: Text -- ^ 'fName'- -> Filter-filter' pName_ =- Filter'- { _fValues = Nothing- , _fName = pName_- }---- | One or more filter values. Filter values are case-sensitive.-fValues :: Lens' Filter [Text]-fValues = lens _fValues (\ s a -> s{_fValues = a}) . _Default . _Coerce;---- | The name of the filter. Filter names are case-sensitive.-fName :: Lens' Filter Text-fName = lens _fName (\ s a -> s{_fName = a});--instance ToQuery Filter where- toQuery Filter'{..}- = mconcat- [toQuery (toQueryList "Value" <$> _fValues),- "Name" =: _fName]---- | Describes a flow log.------ /See:/ 'flowLog' smart constructor.-data FlowLog = FlowLog'- { _flCreationTime :: !(Maybe ISO8601)- , _flResourceId :: !(Maybe Text)- , _flFlowLogStatus :: !(Maybe Text)- , _flTrafficType :: !(Maybe TrafficType)- , _flDeliverLogsStatus :: !(Maybe Text)- , _flDeliverLogsErrorMessage :: !(Maybe Text)- , _flLogGroupName :: !(Maybe Text)- , _flDeliverLogsPermissionARN :: !(Maybe Text)- , _flFlowLogId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'FlowLog' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'flCreationTime'------ * 'flResourceId'------ * 'flFlowLogStatus'------ * 'flTrafficType'------ * 'flDeliverLogsStatus'------ * 'flDeliverLogsErrorMessage'------ * 'flLogGroupName'------ * 'flDeliverLogsPermissionARN'------ * 'flFlowLogId'-flowLog- :: FlowLog-flowLog =- FlowLog'- { _flCreationTime = Nothing- , _flResourceId = Nothing- , _flFlowLogStatus = Nothing- , _flTrafficType = Nothing- , _flDeliverLogsStatus = Nothing- , _flDeliverLogsErrorMessage = Nothing- , _flLogGroupName = Nothing- , _flDeliverLogsPermissionARN = Nothing- , _flFlowLogId = Nothing- }---- | The date and time the flow log was created.-flCreationTime :: Lens' FlowLog (Maybe UTCTime)-flCreationTime = lens _flCreationTime (\ s a -> s{_flCreationTime = a}) . mapping _Time;---- | The ID of the resource on which the flow log was created.-flResourceId :: Lens' FlowLog (Maybe Text)-flResourceId = lens _flResourceId (\ s a -> s{_flResourceId = a});---- | The status of the flow log ('ACTIVE').-flFlowLogStatus :: Lens' FlowLog (Maybe Text)-flFlowLogStatus = lens _flFlowLogStatus (\ s a -> s{_flFlowLogStatus = a});---- | The type of traffic captured for the flow log.-flTrafficType :: Lens' FlowLog (Maybe TrafficType)-flTrafficType = lens _flTrafficType (\ s a -> s{_flTrafficType = a});---- | The status of the logs delivery ('SUCCESS' | 'FAILED').-flDeliverLogsStatus :: Lens' FlowLog (Maybe Text)-flDeliverLogsStatus = lens _flDeliverLogsStatus (\ s a -> s{_flDeliverLogsStatus = a});---- | Information about the error that occurred. 'Rate limited' indicates that--- CloudWatch logs throttling has been applied for one or more network--- interfaces, or that you\'ve reached the limit on the number of--- CloudWatch Logs log groups that you can create. 'Access error' indicates--- that the IAM role associated with the flow log does not have sufficient--- permissions to publish to CloudWatch Logs. 'Unknown error' indicates an--- internal error.-flDeliverLogsErrorMessage :: Lens' FlowLog (Maybe Text)-flDeliverLogsErrorMessage = lens _flDeliverLogsErrorMessage (\ s a -> s{_flDeliverLogsErrorMessage = a});---- | The name of the flow log group.-flLogGroupName :: Lens' FlowLog (Maybe Text)-flLogGroupName = lens _flLogGroupName (\ s a -> s{_flLogGroupName = a});---- | The ARN of the IAM role that posts logs to CloudWatch Logs.-flDeliverLogsPermissionARN :: Lens' FlowLog (Maybe Text)-flDeliverLogsPermissionARN = lens _flDeliverLogsPermissionARN (\ s a -> s{_flDeliverLogsPermissionARN = a});---- | The flow log ID.-flFlowLogId :: Lens' FlowLog (Maybe Text)-flFlowLogId = lens _flFlowLogId (\ s a -> s{_flFlowLogId = a});--instance FromXML FlowLog where- parseXML x- = FlowLog' <$>- (x .@? "creationTime") <*> (x .@? "resourceId") <*>- (x .@? "flowLogStatus")- <*> (x .@? "trafficType")- <*> (x .@? "deliverLogsStatus")- <*> (x .@? "deliverLogsErrorMessage")- <*> (x .@? "logGroupName")- <*> (x .@? "deliverLogsPermissionArn")- <*> (x .@? "flowLogId")---- | Describes a security group.------ /See:/ 'groupIdentifier' smart constructor.-data GroupIdentifier = GroupIdentifier'- { _giGroupId :: !(Maybe Text)- , _giGroupName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'GroupIdentifier' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'giGroupId'------ * 'giGroupName'-groupIdentifier- :: GroupIdentifier-groupIdentifier =- GroupIdentifier'- { _giGroupId = Nothing- , _giGroupName = Nothing- }---- | The ID of the security group.-giGroupId :: Lens' GroupIdentifier (Maybe Text)-giGroupId = lens _giGroupId (\ s a -> s{_giGroupId = a});---- | The name of the security group.-giGroupName :: Lens' GroupIdentifier (Maybe Text)-giGroupName = lens _giGroupName (\ s a -> s{_giGroupName = a});--instance FromXML GroupIdentifier where- parseXML x- = GroupIdentifier' <$>- (x .@? "groupId") <*> (x .@? "groupName")--instance ToQuery GroupIdentifier where- toQuery GroupIdentifier'{..}- = mconcat- ["GroupId" =: _giGroupId,- "GroupName" =: _giGroupName]---- | Describes an event in the history of the Spot fleet request.------ /See:/ 'historyRecord' smart constructor.-data HistoryRecord = HistoryRecord'- { _hrTimestamp :: !ISO8601- , _hrEventType :: !EventType- , _hrEventInformation :: !EventInformation- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'HistoryRecord' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hrTimestamp'------ * 'hrEventType'------ * 'hrEventInformation'-historyRecord- :: UTCTime -- ^ 'hrTimestamp'- -> EventType -- ^ 'hrEventType'- -> EventInformation -- ^ 'hrEventInformation'- -> HistoryRecord-historyRecord pTimestamp_ pEventType_ pEventInformation_ =- HistoryRecord'- { _hrTimestamp = _Time # pTimestamp_- , _hrEventType = pEventType_- , _hrEventInformation = pEventInformation_- }---- | The date and time of the event, in UTC format (for example,--- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).-hrTimestamp :: Lens' HistoryRecord UTCTime-hrTimestamp = lens _hrTimestamp (\ s a -> s{_hrTimestamp = a}) . _Time;---- | The event type.------ - 'error' - Indicates an error with the Spot fleet request.------ - 'fleetRequestChange' - Indicates a change in the status or--- configuration of the Spot fleet request.------ - 'instanceChange' - Indicates that an instance was launched or--- terminated.----hrEventType :: Lens' HistoryRecord EventType-hrEventType = lens _hrEventType (\ s a -> s{_hrEventType = a});---- | Information about the event.-hrEventInformation :: Lens' HistoryRecord EventInformation-hrEventInformation = lens _hrEventInformation (\ s a -> s{_hrEventInformation = a});--instance FromXML HistoryRecord where- parseXML x- = HistoryRecord' <$>- (x .@ "timestamp") <*> (x .@ "eventType") <*>- (x .@ "eventInformation")---- | Describes the properties of the Dedicated host.------ /See:/ 'host' smart constructor.-data Host = Host'- { _hState :: !(Maybe AllocationState)- , _hClientToken :: !(Maybe Text)- , _hHostId :: !(Maybe Text)- , _hAvailableCapacity :: !(Maybe AvailableCapacity)- , _hHostReservationId :: !(Maybe Text)- , _hHostProperties :: !(Maybe HostProperties)- , _hAvailabilityZone :: !(Maybe Text)- , _hInstances :: !(Maybe [HostInstance])- , _hAutoPlacement :: !(Maybe AutoPlacement)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Host' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hState'------ * 'hClientToken'------ * 'hHostId'------ * 'hAvailableCapacity'------ * 'hHostReservationId'------ * 'hHostProperties'------ * 'hAvailabilityZone'------ * 'hInstances'------ * 'hAutoPlacement'-host- :: Host-host =- Host'- { _hState = Nothing- , _hClientToken = Nothing- , _hHostId = Nothing- , _hAvailableCapacity = Nothing- , _hHostReservationId = Nothing- , _hHostProperties = Nothing- , _hAvailabilityZone = Nothing- , _hInstances = Nothing- , _hAutoPlacement = Nothing- }---- | The Dedicated host\'s state.-hState :: Lens' Host (Maybe AllocationState)-hState = lens _hState (\ s a -> s{_hState = a});---- | Unique, case-sensitive identifier you provide to ensure idempotency of--- the request. For more information, see--- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to Ensure Idempotency>--- in the /Amazon Elastic Compute Cloud User Guide/.-hClientToken :: Lens' Host (Maybe Text)-hClientToken = lens _hClientToken (\ s a -> s{_hClientToken = a});---- | The ID of the Dedicated host.-hHostId :: Lens' Host (Maybe Text)-hHostId = lens _hHostId (\ s a -> s{_hHostId = a});---- | The number of new instances that can be launched onto the Dedicated--- host.-hAvailableCapacity :: Lens' Host (Maybe AvailableCapacity)-hAvailableCapacity = lens _hAvailableCapacity (\ s a -> s{_hAvailableCapacity = a});---- | The reservation ID of the Dedicated host. This returns a 'null' response--- if the Dedicated host doesn\'t have an associated reservation.-hHostReservationId :: Lens' Host (Maybe Text)-hHostReservationId = lens _hHostReservationId (\ s a -> s{_hHostReservationId = a});---- | The hardware specifications of the Dedicated host.-hHostProperties :: Lens' Host (Maybe HostProperties)-hHostProperties = lens _hHostProperties (\ s a -> s{_hHostProperties = a});---- | The Availability Zone of the Dedicated host.-hAvailabilityZone :: Lens' Host (Maybe Text)-hAvailabilityZone = lens _hAvailabilityZone (\ s a -> s{_hAvailabilityZone = a});---- | The IDs and instance type that are currently running on the Dedicated--- host.-hInstances :: Lens' Host [HostInstance]-hInstances = lens _hInstances (\ s a -> s{_hInstances = a}) . _Default . _Coerce;---- | Whether auto-placement is on or off.-hAutoPlacement :: Lens' Host (Maybe AutoPlacement)-hAutoPlacement = lens _hAutoPlacement (\ s a -> s{_hAutoPlacement = a});--instance FromXML Host where- parseXML x- = Host' <$>- (x .@? "state") <*> (x .@? "clientToken") <*>- (x .@? "hostId")- <*> (x .@? "availableCapacity")- <*> (x .@? "hostReservationId")- <*> (x .@? "hostProperties")- <*> (x .@? "availabilityZone")- <*>- (x .@? "instances" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "autoPlacement")---- | /See:/ 'hostInstance' smart constructor.-data HostInstance = HostInstance'- { _hiInstanceId :: !(Maybe Text)- , _hiInstanceType :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'HostInstance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hiInstanceId'------ * 'hiInstanceType'-hostInstance- :: HostInstance-hostInstance =- HostInstance'- { _hiInstanceId = Nothing- , _hiInstanceType = Nothing- }---- | the IDs of instances that are running on the Dedicated host.-hiInstanceId :: Lens' HostInstance (Maybe Text)-hiInstanceId = lens _hiInstanceId (\ s a -> s{_hiInstanceId = a});---- | The instance type size (e.g., m3.medium) of the running instance.-hiInstanceType :: Lens' HostInstance (Maybe Text)-hiInstanceType = lens _hiInstanceType (\ s a -> s{_hiInstanceType = a});--instance FromXML HostInstance where- parseXML x- = HostInstance' <$>- (x .@? "instanceId") <*> (x .@? "instanceType")---- | /See:/ 'hostProperties' smart constructor.-data HostProperties = HostProperties'- { _hpInstanceType :: !(Maybe Text)- , _hpTotalVCPUs :: !(Maybe Int)- , _hpCores :: !(Maybe Int)- , _hpSockets :: !(Maybe Int)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'HostProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hpInstanceType'------ * 'hpTotalVCPUs'------ * 'hpCores'------ * 'hpSockets'-hostProperties- :: HostProperties-hostProperties =- HostProperties'- { _hpInstanceType = Nothing- , _hpTotalVCPUs = Nothing- , _hpCores = Nothing- , _hpSockets = Nothing- }---- | The instance type size that the Dedicated host supports (e.g.,--- m3.medium).-hpInstanceType :: Lens' HostProperties (Maybe Text)-hpInstanceType = lens _hpInstanceType (\ s a -> s{_hpInstanceType = a});---- | The number of vCPUs on the Dedicated host.-hpTotalVCPUs :: Lens' HostProperties (Maybe Int)-hpTotalVCPUs = lens _hpTotalVCPUs (\ s a -> s{_hpTotalVCPUs = a});---- | The number of cores on the Dedicated host.-hpCores :: Lens' HostProperties (Maybe Int)-hpCores = lens _hpCores (\ s a -> s{_hpCores = a});---- | The number of sockets on the Dedicated host.-hpSockets :: Lens' HostProperties (Maybe Int)-hpSockets = lens _hpSockets (\ s a -> s{_hpSockets = a});--instance FromXML HostProperties where- parseXML x- = HostProperties' <$>- (x .@? "instanceType") <*> (x .@? "totalVCpus") <*>- (x .@? "cores")- <*> (x .@? "sockets")---- | Describes an IAM instance profile.------ /See:/ 'iamInstanceProfile' smart constructor.-data IAMInstanceProfile = IAMInstanceProfile'- { _iapARN :: !(Maybe Text)- , _iapId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'IAMInstanceProfile' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iapARN'------ * 'iapId'-iamInstanceProfile- :: IAMInstanceProfile-iamInstanceProfile =- IAMInstanceProfile'- { _iapARN = Nothing- , _iapId = Nothing- }---- | The Amazon Resource Name (ARN) of the instance profile.-iapARN :: Lens' IAMInstanceProfile (Maybe Text)-iapARN = lens _iapARN (\ s a -> s{_iapARN = a});---- | The ID of the instance profile.-iapId :: Lens' IAMInstanceProfile (Maybe Text)-iapId = lens _iapId (\ s a -> s{_iapId = a});--instance FromXML IAMInstanceProfile where- parseXML x- = IAMInstanceProfile' <$>- (x .@? "arn") <*> (x .@? "id")---- | Describes an IAM instance profile.------ /See:/ 'iamInstanceProfileSpecification' smart constructor.-data IAMInstanceProfileSpecification = IAMInstanceProfileSpecification'- { _iapsARN :: !(Maybe Text)- , _iapsName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'IAMInstanceProfileSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iapsARN'------ * 'iapsName'-iamInstanceProfileSpecification- :: IAMInstanceProfileSpecification-iamInstanceProfileSpecification =- IAMInstanceProfileSpecification'- { _iapsARN = Nothing- , _iapsName = Nothing- }---- | The Amazon Resource Name (ARN) of the instance profile.-iapsARN :: Lens' IAMInstanceProfileSpecification (Maybe Text)-iapsARN = lens _iapsARN (\ s a -> s{_iapsARN = a});---- | The name of the instance profile.-iapsName :: Lens' IAMInstanceProfileSpecification (Maybe Text)-iapsName = lens _iapsName (\ s a -> s{_iapsName = a});--instance FromXML IAMInstanceProfileSpecification- where- parseXML x- = IAMInstanceProfileSpecification' <$>- (x .@? "arn") <*> (x .@? "name")--instance ToQuery IAMInstanceProfileSpecification- where- toQuery IAMInstanceProfileSpecification'{..}- = mconcat ["Arn" =: _iapsARN, "Name" =: _iapsName]---- | Describes the ICMP type and code.------ /See:/ 'icmpTypeCode' smart constructor.-data ICMPTypeCode = ICMPTypeCode'- { _itcCode :: !(Maybe Int)- , _itcType :: !(Maybe Int)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ICMPTypeCode' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'itcCode'------ * 'itcType'-icmpTypeCode- :: ICMPTypeCode-icmpTypeCode =- ICMPTypeCode'- { _itcCode = Nothing- , _itcType = Nothing- }---- | The ICMP type. A value of -1 means all types.-itcCode :: Lens' ICMPTypeCode (Maybe Int)-itcCode = lens _itcCode (\ s a -> s{_itcCode = a});---- | The ICMP code. A value of -1 means all codes for the specified ICMP--- type.-itcType :: Lens' ICMPTypeCode (Maybe Int)-itcType = lens _itcType (\ s a -> s{_itcType = a});--instance FromXML ICMPTypeCode where- parseXML x- = ICMPTypeCode' <$> (x .@? "code") <*> (x .@? "type")--instance ToQuery ICMPTypeCode where- toQuery ICMPTypeCode'{..}- = mconcat ["Code" =: _itcCode, "Type" =: _itcType]---- | Describes a security group rule.------ /See:/ 'ipPermission' smart constructor.-data IPPermission = IPPermission'- { _ipFromPort :: !(Maybe Int)- , _ipUserIdGroupPairs :: !(Maybe [UserIdGroupPair])- , _ipPrefixListIds :: !(Maybe [PrefixListId])- , _ipToPort :: !(Maybe Int)- , _ipIPRanges :: !(Maybe [IPRange])- , _ipIPProtocol :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'IPPermission' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipFromPort'------ * 'ipUserIdGroupPairs'------ * 'ipPrefixListIds'------ * 'ipToPort'------ * 'ipIPRanges'------ * 'ipIPProtocol'-ipPermission- :: Text -- ^ 'ipIPProtocol'- -> IPPermission-ipPermission pIPProtocol_ =- IPPermission'- { _ipFromPort = Nothing- , _ipUserIdGroupPairs = Nothing- , _ipPrefixListIds = Nothing- , _ipToPort = Nothing- , _ipIPRanges = Nothing- , _ipIPProtocol = pIPProtocol_- }---- | The start of port range for the TCP and UDP protocols, or an ICMP type--- number. A value of '-1' indicates all ICMP types.-ipFromPort :: Lens' IPPermission (Maybe Int)-ipFromPort = lens _ipFromPort (\ s a -> s{_ipFromPort = a});---- | One or more security group and AWS account ID pairs.-ipUserIdGroupPairs :: Lens' IPPermission [UserIdGroupPair]-ipUserIdGroupPairs = lens _ipUserIdGroupPairs (\ s a -> s{_ipUserIdGroupPairs = a}) . _Default . _Coerce;---- | (Valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress and--- DescribeSecurityGroups only) One or more prefix list IDs for an AWS--- service. In an AuthorizeSecurityGroupEgress request, this is the AWS--- service that you want to access through a VPC endpoint from instances--- associated with the security group.-ipPrefixListIds :: Lens' IPPermission [PrefixListId]-ipPrefixListIds = lens _ipPrefixListIds (\ s a -> s{_ipPrefixListIds = a}) . _Default . _Coerce;---- | The end of port range for the TCP and UDP protocols, or an ICMP code. A--- value of '-1' indicates all ICMP codes for the specified ICMP type.-ipToPort :: Lens' IPPermission (Maybe Int)-ipToPort = lens _ipToPort (\ s a -> s{_ipToPort = a});---- | One or more IP ranges.-ipIPRanges :: Lens' IPPermission [IPRange]-ipIPRanges = lens _ipIPRanges (\ s a -> s{_ipIPRanges = a}) . _Default . _Coerce;---- | The IP protocol name (for 'tcp', 'udp', and 'icmp') or number (see--- <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>).------ [EC2-VPC only] When you authorize or revoke security group rules, you--- can use '-1' to specify all.-ipIPProtocol :: Lens' IPPermission Text-ipIPProtocol = lens _ipIPProtocol (\ s a -> s{_ipIPProtocol = a});--instance FromXML IPPermission where- parseXML x- = IPPermission' <$>- (x .@? "fromPort") <*>- (x .@? "groups" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "prefixListIds" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "toPort")- <*>- (x .@? "ipRanges" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "ipProtocol")--instance ToQuery IPPermission where- toQuery IPPermission'{..}- = mconcat- ["FromPort" =: _ipFromPort,- toQuery- (toQueryList "Groups" <$> _ipUserIdGroupPairs),- toQuery- (toQueryList "PrefixListIds" <$> _ipPrefixListIds),- "ToPort" =: _ipToPort,- toQuery (toQueryList "IpRanges" <$> _ipIPRanges),- "IpProtocol" =: _ipIPProtocol]---- | Describes an IP range.------ /See:/ 'ipRange' smart constructor.-newtype IPRange = IPRange'- { _irCIdRIP :: Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'IPRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'irCIdRIP'-ipRange- :: Text -- ^ 'irCIdRIP'- -> IPRange-ipRange pCIdRIP_ =- IPRange'- { _irCIdRIP = pCIdRIP_- }---- | The CIDR range. You can either specify a CIDR range or a source security--- group, not both.-irCIdRIP :: Lens' IPRange Text-irCIdRIP = lens _irCIdRIP (\ s a -> s{_irCIdRIP = a});--instance FromXML IPRange where- parseXML x = IPRange' <$> (x .@ "cidrIp")--instance ToQuery IPRange where- toQuery IPRange'{..}- = mconcat ["CidrIp" =: _irCIdRIP]---- | Describes the ID format for a resource.------ /See:/ 'idFormat' smart constructor.-data IdFormat = IdFormat'- { _ifUseLongIds :: !(Maybe Bool)- , _ifDeadline :: !(Maybe ISO8601)- , _ifResource :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'IdFormat' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ifUseLongIds'------ * 'ifDeadline'------ * 'ifResource'-idFormat- :: IdFormat-idFormat =- IdFormat'- { _ifUseLongIds = Nothing- , _ifDeadline = Nothing- , _ifResource = Nothing- }---- | Indicates whether longer IDs (17-character IDs) are enabled for the--- resource.-ifUseLongIds :: Lens' IdFormat (Maybe Bool)-ifUseLongIds = lens _ifUseLongIds (\ s a -> s{_ifUseLongIds = a});---- | The date in UTC at which you are permanently switched over to using--- longer IDs.-ifDeadline :: Lens' IdFormat (Maybe UTCTime)-ifDeadline = lens _ifDeadline (\ s a -> s{_ifDeadline = a}) . mapping _Time;---- | The type of resource.-ifResource :: Lens' IdFormat (Maybe Text)-ifResource = lens _ifResource (\ s a -> s{_ifResource = a});--instance FromXML IdFormat where- parseXML x- = IdFormat' <$>- (x .@? "useLongIds") <*> (x .@? "deadline") <*>- (x .@? "resource")---- | Describes an image.------ /See:/ 'image' smart constructor.-data Image = Image'- { _iPlatform :: !(Maybe PlatformValues)- , _iImageOwnerAlias :: !(Maybe Text)- , _iRAMDiskId :: !(Maybe Text)- , _iKernelId :: !(Maybe Text)- , _iRootDeviceName :: !(Maybe Text)- , _iSRIOVNetSupport :: !(Maybe Text)- , _iName :: !(Maybe Text)- , _iCreationDate :: !(Maybe Text)- , _iProductCodes :: !(Maybe [ProductCode])- , _iStateReason :: !(Maybe StateReason)- , _iDescription :: !(Maybe Text)- , _iBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])- , _iTags :: !(Maybe [Tag])- , _iImageId :: !Text- , _iImageLocation :: !Text- , _iState :: !ImageState- , _iOwnerId :: !Text- , _iPublic :: !Bool- , _iArchitecture :: !ArchitectureValues- , _iImageType :: !ImageTypeValues- , _iRootDeviceType :: !DeviceType- , _iVirtualizationType :: !VirtualizationType- , _iHypervisor :: !HypervisorType- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Image' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iPlatform'------ * 'iImageOwnerAlias'------ * 'iRAMDiskId'------ * 'iKernelId'------ * 'iRootDeviceName'------ * 'iSRIOVNetSupport'------ * 'iName'------ * 'iCreationDate'------ * 'iProductCodes'------ * 'iStateReason'------ * 'iDescription'------ * 'iBlockDeviceMappings'------ * 'iTags'------ * 'iImageId'------ * 'iImageLocation'------ * 'iState'------ * 'iOwnerId'------ * 'iPublic'------ * 'iArchitecture'------ * 'iImageType'------ * 'iRootDeviceType'------ * 'iVirtualizationType'------ * 'iHypervisor'-image- :: Text -- ^ 'iImageId'- -> Text -- ^ 'iImageLocation'- -> ImageState -- ^ 'iState'- -> Text -- ^ 'iOwnerId'- -> Bool -- ^ 'iPublic'- -> ArchitectureValues -- ^ 'iArchitecture'- -> ImageTypeValues -- ^ 'iImageType'- -> DeviceType -- ^ 'iRootDeviceType'- -> VirtualizationType -- ^ 'iVirtualizationType'- -> HypervisorType -- ^ 'iHypervisor'- -> Image-image pImageId_ pImageLocation_ pState_ pOwnerId_ pPublic_ pArchitecture_ pImageType_ pRootDeviceType_ pVirtualizationType_ pHypervisor_ =- Image'- { _iPlatform = Nothing- , _iImageOwnerAlias = Nothing- , _iRAMDiskId = Nothing- , _iKernelId = Nothing- , _iRootDeviceName = Nothing- , _iSRIOVNetSupport = Nothing- , _iName = Nothing- , _iCreationDate = Nothing- , _iProductCodes = Nothing- , _iStateReason = Nothing- , _iDescription = Nothing- , _iBlockDeviceMappings = Nothing- , _iTags = Nothing- , _iImageId = pImageId_- , _iImageLocation = pImageLocation_- , _iState = pState_- , _iOwnerId = pOwnerId_- , _iPublic = pPublic_- , _iArchitecture = pArchitecture_- , _iImageType = pImageType_- , _iRootDeviceType = pRootDeviceType_- , _iVirtualizationType = pVirtualizationType_- , _iHypervisor = pHypervisor_- }---- | The value is 'Windows' for Windows AMIs; otherwise blank.-iPlatform :: Lens' Image (Maybe PlatformValues)-iPlatform = lens _iPlatform (\ s a -> s{_iPlatform = a});---- | The AWS account alias (for example, 'amazon', 'self') or the AWS account--- ID of the AMI owner.-iImageOwnerAlias :: Lens' Image (Maybe Text)-iImageOwnerAlias = lens _iImageOwnerAlias (\ s a -> s{_iImageOwnerAlias = a});---- | The RAM disk associated with the image, if any. Only applicable for--- machine images.-iRAMDiskId :: Lens' Image (Maybe Text)-iRAMDiskId = lens _iRAMDiskId (\ s a -> s{_iRAMDiskId = a});---- | The kernel associated with the image, if any. Only applicable for--- machine images.-iKernelId :: Lens' Image (Maybe Text)-iKernelId = lens _iKernelId (\ s a -> s{_iKernelId = a});---- | The device name of the root device (for example, '\/dev\/sda1' or--- '\/dev\/xvda').-iRootDeviceName :: Lens' Image (Maybe Text)-iRootDeviceName = lens _iRootDeviceName (\ s a -> s{_iRootDeviceName = a});---- | Specifies whether enhanced networking is enabled.-iSRIOVNetSupport :: Lens' Image (Maybe Text)-iSRIOVNetSupport = lens _iSRIOVNetSupport (\ s a -> s{_iSRIOVNetSupport = a});---- | The name of the AMI that was provided during image creation.-iName :: Lens' Image (Maybe Text)-iName = lens _iName (\ s a -> s{_iName = a});---- | The date and time the image was created.-iCreationDate :: Lens' Image (Maybe Text)-iCreationDate = lens _iCreationDate (\ s a -> s{_iCreationDate = a});---- | Any product codes associated with the AMI.-iProductCodes :: Lens' Image [ProductCode]-iProductCodes = lens _iProductCodes (\ s a -> s{_iProductCodes = a}) . _Default . _Coerce;---- | The reason for the state change.-iStateReason :: Lens' Image (Maybe StateReason)-iStateReason = lens _iStateReason (\ s a -> s{_iStateReason = a});---- | The description of the AMI that was provided during image creation.-iDescription :: Lens' Image (Maybe Text)-iDescription = lens _iDescription (\ s a -> s{_iDescription = a});---- | Any block device mapping entries.-iBlockDeviceMappings :: Lens' Image [BlockDeviceMapping]-iBlockDeviceMappings = lens _iBlockDeviceMappings (\ s a -> s{_iBlockDeviceMappings = a}) . _Default . _Coerce;---- | Any tags assigned to the image.-iTags :: Lens' Image [Tag]-iTags = lens _iTags (\ s a -> s{_iTags = a}) . _Default . _Coerce;---- | The ID of the AMI.-iImageId :: Lens' Image Text-iImageId = lens _iImageId (\ s a -> s{_iImageId = a});---- | The location of the AMI.-iImageLocation :: Lens' Image Text-iImageLocation = lens _iImageLocation (\ s a -> s{_iImageLocation = a});---- | The current state of the AMI. If the state is 'available', the image is--- successfully registered and can be used to launch an instance.-iState :: Lens' Image ImageState-iState = lens _iState (\ s a -> s{_iState = a});---- | The AWS account ID of the image owner.-iOwnerId :: Lens' Image Text-iOwnerId = lens _iOwnerId (\ s a -> s{_iOwnerId = a});---- | Indicates whether the image has public launch permissions. The value is--- 'true' if this image has public launch permissions or 'false' if it has--- only implicit and explicit launch permissions.-iPublic :: Lens' Image Bool-iPublic = lens _iPublic (\ s a -> s{_iPublic = a});---- | The architecture of the image.-iArchitecture :: Lens' Image ArchitectureValues-iArchitecture = lens _iArchitecture (\ s a -> s{_iArchitecture = a});---- | The type of image.-iImageType :: Lens' Image ImageTypeValues-iImageType = lens _iImageType (\ s a -> s{_iImageType = a});---- | The type of root device used by the AMI. The AMI can use an EBS volume--- or an instance store volume.-iRootDeviceType :: Lens' Image DeviceType-iRootDeviceType = lens _iRootDeviceType (\ s a -> s{_iRootDeviceType = a});---- | The type of virtualization of the AMI.-iVirtualizationType :: Lens' Image VirtualizationType-iVirtualizationType = lens _iVirtualizationType (\ s a -> s{_iVirtualizationType = a});---- | The hypervisor type of the image.-iHypervisor :: Lens' Image HypervisorType-iHypervisor = lens _iHypervisor (\ s a -> s{_iHypervisor = a});--instance FromXML Image where- parseXML x- = Image' <$>- (x .@? "platform") <*> (x .@? "imageOwnerAlias") <*>- (x .@? "ramdiskId")- <*> (x .@? "kernelId")- <*> (x .@? "rootDeviceName")- <*> (x .@? "sriovNetSupport")- <*> (x .@? "name")- <*> (x .@? "creationDate")- <*>- (x .@? "productCodes" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "stateReason")- <*> (x .@? "description")- <*>- (x .@? "blockDeviceMapping" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "imageId")- <*> (x .@ "imageLocation")- <*> (x .@ "imageState")- <*> (x .@ "imageOwnerId")- <*> (x .@ "isPublic")- <*> (x .@ "architecture")- <*> (x .@ "imageType")- <*> (x .@ "rootDeviceType")- <*> (x .@ "virtualizationType")- <*> (x .@ "hypervisor")---- | Describes the disk container object for an import image task.------ /See:/ 'imageDiskContainer' smart constructor.-data ImageDiskContainer = ImageDiskContainer'- { _idcFormat :: !(Maybe Text)- , _idcURL :: !(Maybe Text)- , _idcDeviceName :: !(Maybe Text)- , _idcUserBucket :: !(Maybe UserBucket)- , _idcDescription :: !(Maybe Text)- , _idcSnapshotId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ImageDiskContainer' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'idcFormat'------ * 'idcURL'------ * 'idcDeviceName'------ * 'idcUserBucket'------ * 'idcDescription'------ * 'idcSnapshotId'-imageDiskContainer- :: ImageDiskContainer-imageDiskContainer =- ImageDiskContainer'- { _idcFormat = Nothing- , _idcURL = Nothing- , _idcDeviceName = Nothing- , _idcUserBucket = Nothing- , _idcDescription = Nothing- , _idcSnapshotId = Nothing- }---- | The format of the disk image being imported.------ Valid values: 'RAW' | 'VHD' | 'VMDK' | 'OVA'-idcFormat :: Lens' ImageDiskContainer (Maybe Text)-idcFormat = lens _idcFormat (\ s a -> s{_idcFormat = a});---- | The URL to the Amazon S3-based disk image being imported. The URL can--- either be a https URL (https:\/\/..) or an Amazon S3 URL (s3:\/\/..)-idcURL :: Lens' ImageDiskContainer (Maybe Text)-idcURL = lens _idcURL (\ s a -> s{_idcURL = a});---- | The block device mapping for the disk.-idcDeviceName :: Lens' ImageDiskContainer (Maybe Text)-idcDeviceName = lens _idcDeviceName (\ s a -> s{_idcDeviceName = a});---- | The S3 bucket for the disk image.-idcUserBucket :: Lens' ImageDiskContainer (Maybe UserBucket)-idcUserBucket = lens _idcUserBucket (\ s a -> s{_idcUserBucket = a});---- | The description of the disk image.-idcDescription :: Lens' ImageDiskContainer (Maybe Text)-idcDescription = lens _idcDescription (\ s a -> s{_idcDescription = a});---- | The ID of the EBS snapshot to be used for importing the snapshot.-idcSnapshotId :: Lens' ImageDiskContainer (Maybe Text)-idcSnapshotId = lens _idcSnapshotId (\ s a -> s{_idcSnapshotId = a});--instance ToQuery ImageDiskContainer where- toQuery ImageDiskContainer'{..}- = mconcat- ["Format" =: _idcFormat, "Url" =: _idcURL,- "DeviceName" =: _idcDeviceName,- "UserBucket" =: _idcUserBucket,- "Description" =: _idcDescription,- "SnapshotId" =: _idcSnapshotId]---- | Describes an import image task.------ /See:/ 'importImageTask' smart constructor.-data ImportImageTask = ImportImageTask'- { _iitStatus :: !(Maybe Text)- , _iitHypervisor :: !(Maybe Text)- , _iitPlatform :: !(Maybe Text)- , _iitProgress :: !(Maybe Text)- , _iitLicenseType :: !(Maybe Text)- , _iitSnapshotDetails :: !(Maybe [SnapshotDetail])- , _iitStatusMessage :: !(Maybe Text)- , _iitImageId :: !(Maybe Text)- , _iitImportTaskId :: !(Maybe Text)- , _iitArchitecture :: !(Maybe Text)- , _iitDescription :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ImportImageTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iitStatus'------ * 'iitHypervisor'------ * 'iitPlatform'------ * 'iitProgress'------ * 'iitLicenseType'------ * 'iitSnapshotDetails'------ * 'iitStatusMessage'------ * 'iitImageId'------ * 'iitImportTaskId'------ * 'iitArchitecture'------ * 'iitDescription'-importImageTask- :: ImportImageTask-importImageTask =- ImportImageTask'- { _iitStatus = Nothing- , _iitHypervisor = Nothing- , _iitPlatform = Nothing- , _iitProgress = Nothing- , _iitLicenseType = Nothing- , _iitSnapshotDetails = Nothing- , _iitStatusMessage = Nothing- , _iitImageId = Nothing- , _iitImportTaskId = Nothing- , _iitArchitecture = Nothing- , _iitDescription = Nothing- }---- | A brief status for the import image task.-iitStatus :: Lens' ImportImageTask (Maybe Text)-iitStatus = lens _iitStatus (\ s a -> s{_iitStatus = a});---- | The target hypervisor for the import task.------ Valid values: 'xen'-iitHypervisor :: Lens' ImportImageTask (Maybe Text)-iitHypervisor = lens _iitHypervisor (\ s a -> s{_iitHypervisor = a});---- | The description string for the import image task.-iitPlatform :: Lens' ImportImageTask (Maybe Text)-iitPlatform = lens _iitPlatform (\ s a -> s{_iitPlatform = a});---- | The percentage of progress of the import image task.-iitProgress :: Lens' ImportImageTask (Maybe Text)-iitProgress = lens _iitProgress (\ s a -> s{_iitProgress = a});---- | The license type of the virtual machine.-iitLicenseType :: Lens' ImportImageTask (Maybe Text)-iitLicenseType = lens _iitLicenseType (\ s a -> s{_iitLicenseType = a});---- | Information about the snapshots.-iitSnapshotDetails :: Lens' ImportImageTask [SnapshotDetail]-iitSnapshotDetails = lens _iitSnapshotDetails (\ s a -> s{_iitSnapshotDetails = a}) . _Default . _Coerce;---- | A descriptive status message for the import image task.-iitStatusMessage :: Lens' ImportImageTask (Maybe Text)-iitStatusMessage = lens _iitStatusMessage (\ s a -> s{_iitStatusMessage = a});---- | The ID of the Amazon Machine Image (AMI) of the imported virtual--- machine.-iitImageId :: Lens' ImportImageTask (Maybe Text)-iitImageId = lens _iitImageId (\ s a -> s{_iitImageId = a});---- | The ID of the import image task.-iitImportTaskId :: Lens' ImportImageTask (Maybe Text)-iitImportTaskId = lens _iitImportTaskId (\ s a -> s{_iitImportTaskId = a});---- | The architecture of the virtual machine.------ Valid values: 'i386' | 'x86_64'-iitArchitecture :: Lens' ImportImageTask (Maybe Text)-iitArchitecture = lens _iitArchitecture (\ s a -> s{_iitArchitecture = a});---- | A description of the import task.-iitDescription :: Lens' ImportImageTask (Maybe Text)-iitDescription = lens _iitDescription (\ s a -> s{_iitDescription = a});--instance FromXML ImportImageTask where- parseXML x- = ImportImageTask' <$>- (x .@? "status") <*> (x .@? "hypervisor") <*>- (x .@? "platform")- <*> (x .@? "progress")- <*> (x .@? "licenseType")- <*>- (x .@? "snapshotDetailSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "statusMessage")- <*> (x .@? "imageId")- <*> (x .@? "importTaskId")- <*> (x .@? "architecture")- <*> (x .@? "description")---- | Describes the launch specification for VM import.------ /See:/ 'importInstanceLaunchSpecification' smart constructor.-data ImportInstanceLaunchSpecification = ImportInstanceLaunchSpecification'- { _iilsAdditionalInfo :: !(Maybe Text)- , _iilsGroupNames :: !(Maybe [Text])- , _iilsSubnetId :: !(Maybe Text)- , _iilsInstanceType :: !(Maybe InstanceType)- , _iilsGroupIds :: !(Maybe [Text])- , _iilsUserData :: !(Maybe UserData)- , _iilsMonitoring :: !(Maybe Bool)- , _iilsPrivateIPAddress :: !(Maybe Text)- , _iilsInstanceInitiatedShutdownBehavior :: !(Maybe ShutdownBehavior)- , _iilsArchitecture :: !(Maybe ArchitectureValues)- , _iilsPlacement :: !(Maybe Placement)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ImportInstanceLaunchSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iilsAdditionalInfo'------ * 'iilsGroupNames'------ * 'iilsSubnetId'------ * 'iilsInstanceType'------ * 'iilsGroupIds'------ * 'iilsUserData'------ * 'iilsMonitoring'------ * 'iilsPrivateIPAddress'------ * 'iilsInstanceInitiatedShutdownBehavior'------ * 'iilsArchitecture'------ * 'iilsPlacement'-importInstanceLaunchSpecification- :: ImportInstanceLaunchSpecification-importInstanceLaunchSpecification =- ImportInstanceLaunchSpecification'- { _iilsAdditionalInfo = Nothing- , _iilsGroupNames = Nothing- , _iilsSubnetId = Nothing- , _iilsInstanceType = Nothing- , _iilsGroupIds = Nothing- , _iilsUserData = Nothing- , _iilsMonitoring = Nothing- , _iilsPrivateIPAddress = Nothing- , _iilsInstanceInitiatedShutdownBehavior = Nothing- , _iilsArchitecture = Nothing- , _iilsPlacement = Nothing- }---- | Reserved.-iilsAdditionalInfo :: Lens' ImportInstanceLaunchSpecification (Maybe Text)-iilsAdditionalInfo = lens _iilsAdditionalInfo (\ s a -> s{_iilsAdditionalInfo = a});---- | One or more security group names.-iilsGroupNames :: Lens' ImportInstanceLaunchSpecification [Text]-iilsGroupNames = lens _iilsGroupNames (\ s a -> s{_iilsGroupNames = a}) . _Default . _Coerce;---- | [EC2-VPC] The ID of the subnet in which to launch the instance.-iilsSubnetId :: Lens' ImportInstanceLaunchSpecification (Maybe Text)-iilsSubnetId = lens _iilsSubnetId (\ s a -> s{_iilsSubnetId = a});---- | The instance type. For more information about the instance types that--- you can import, see--- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/VMImportPrerequisites.html Before You Get Started>--- in the Amazon Elastic Compute Cloud User Guide.-iilsInstanceType :: Lens' ImportInstanceLaunchSpecification (Maybe InstanceType)-iilsInstanceType = lens _iilsInstanceType (\ s a -> s{_iilsInstanceType = a});---- | One or more security group IDs.-iilsGroupIds :: Lens' ImportInstanceLaunchSpecification [Text]-iilsGroupIds = lens _iilsGroupIds (\ s a -> s{_iilsGroupIds = a}) . _Default . _Coerce;---- | The Base64-encoded MIME user data to be made available to the instance.-iilsUserData :: Lens' ImportInstanceLaunchSpecification (Maybe UserData)-iilsUserData = lens _iilsUserData (\ s a -> s{_iilsUserData = a});---- | Indicates whether monitoring is enabled.-iilsMonitoring :: Lens' ImportInstanceLaunchSpecification (Maybe Bool)-iilsMonitoring = lens _iilsMonitoring (\ s a -> s{_iilsMonitoring = a});---- | [EC2-VPC] An available IP address from the IP address range of the--- subnet.-iilsPrivateIPAddress :: Lens' ImportInstanceLaunchSpecification (Maybe Text)-iilsPrivateIPAddress = lens _iilsPrivateIPAddress (\ s a -> s{_iilsPrivateIPAddress = a});---- | Indicates whether an instance stops or terminates when you initiate--- shutdown from the instance (using the operating system command for--- system shutdown).-iilsInstanceInitiatedShutdownBehavior :: Lens' ImportInstanceLaunchSpecification (Maybe ShutdownBehavior)-iilsInstanceInitiatedShutdownBehavior = lens _iilsInstanceInitiatedShutdownBehavior (\ s a -> s{_iilsInstanceInitiatedShutdownBehavior = a});---- | The architecture of the instance.-iilsArchitecture :: Lens' ImportInstanceLaunchSpecification (Maybe ArchitectureValues)-iilsArchitecture = lens _iilsArchitecture (\ s a -> s{_iilsArchitecture = a});---- | The placement information for the instance.-iilsPlacement :: Lens' ImportInstanceLaunchSpecification (Maybe Placement)-iilsPlacement = lens _iilsPlacement (\ s a -> s{_iilsPlacement = a});--instance ToQuery ImportInstanceLaunchSpecification- where- toQuery ImportInstanceLaunchSpecification'{..}- = mconcat- ["AdditionalInfo" =: _iilsAdditionalInfo,- toQuery- (toQueryList "GroupName" <$> _iilsGroupNames),- "SubnetId" =: _iilsSubnetId,- "InstanceType" =: _iilsInstanceType,- toQuery (toQueryList "GroupId" <$> _iilsGroupIds),- "UserData" =: _iilsUserData,- "Monitoring" =: _iilsMonitoring,- "PrivateIpAddress" =: _iilsPrivateIPAddress,- "InstanceInitiatedShutdownBehavior" =:- _iilsInstanceInitiatedShutdownBehavior,- "Architecture" =: _iilsArchitecture,- "Placement" =: _iilsPlacement]---- | Describes an import instance task.------ /See:/ 'importInstanceTaskDetails' smart constructor.-data ImportInstanceTaskDetails = ImportInstanceTaskDetails'- { _iitdInstanceId :: !(Maybe Text)- , _iitdPlatform :: !(Maybe PlatformValues)- , _iitdDescription :: !(Maybe Text)- , _iitdVolumes :: ![ImportInstanceVolumeDetailItem]- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ImportInstanceTaskDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iitdInstanceId'------ * 'iitdPlatform'------ * 'iitdDescription'------ * 'iitdVolumes'-importInstanceTaskDetails- :: ImportInstanceTaskDetails-importInstanceTaskDetails =- ImportInstanceTaskDetails'- { _iitdInstanceId = Nothing- , _iitdPlatform = Nothing- , _iitdDescription = Nothing- , _iitdVolumes = mempty- }---- | The ID of the instance.-iitdInstanceId :: Lens' ImportInstanceTaskDetails (Maybe Text)-iitdInstanceId = lens _iitdInstanceId (\ s a -> s{_iitdInstanceId = a});---- | The instance operating system.-iitdPlatform :: Lens' ImportInstanceTaskDetails (Maybe PlatformValues)-iitdPlatform = lens _iitdPlatform (\ s a -> s{_iitdPlatform = a});---- | A description of the task.-iitdDescription :: Lens' ImportInstanceTaskDetails (Maybe Text)-iitdDescription = lens _iitdDescription (\ s a -> s{_iitdDescription = a});---- | One or more volumes.-iitdVolumes :: Lens' ImportInstanceTaskDetails [ImportInstanceVolumeDetailItem]-iitdVolumes = lens _iitdVolumes (\ s a -> s{_iitdVolumes = a}) . _Coerce;--instance FromXML ImportInstanceTaskDetails where- parseXML x- = ImportInstanceTaskDetails' <$>- (x .@? "instanceId") <*> (x .@? "platform") <*>- (x .@? "description")- <*>- (x .@? "volumes" .!@ mempty >>= parseXMLList "item")---- | Describes an import volume task.------ /See:/ 'importInstanceVolumeDetailItem' smart constructor.-data ImportInstanceVolumeDetailItem = ImportInstanceVolumeDetailItem'- { _iivdiStatusMessage :: !(Maybe Text)- , _iivdiDescription :: !(Maybe Text)- , _iivdiBytesConverted :: !Integer- , _iivdiAvailabilityZone :: !Text- , _iivdiImage :: !DiskImageDescription- , _iivdiVolume :: !DiskImageVolumeDescription- , _iivdiStatus :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ImportInstanceVolumeDetailItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iivdiStatusMessage'------ * 'iivdiDescription'------ * 'iivdiBytesConverted'------ * 'iivdiAvailabilityZone'------ * 'iivdiImage'------ * 'iivdiVolume'------ * 'iivdiStatus'-importInstanceVolumeDetailItem- :: Integer -- ^ 'iivdiBytesConverted'- -> Text -- ^ 'iivdiAvailabilityZone'- -> DiskImageDescription -- ^ 'iivdiImage'- -> DiskImageVolumeDescription -- ^ 'iivdiVolume'- -> Text -- ^ 'iivdiStatus'- -> ImportInstanceVolumeDetailItem-importInstanceVolumeDetailItem pBytesConverted_ pAvailabilityZone_ pImage_ pVolume_ pStatus_ =- ImportInstanceVolumeDetailItem'- { _iivdiStatusMessage = Nothing- , _iivdiDescription = Nothing- , _iivdiBytesConverted = pBytesConverted_- , _iivdiAvailabilityZone = pAvailabilityZone_- , _iivdiImage = pImage_- , _iivdiVolume = pVolume_- , _iivdiStatus = pStatus_- }---- | The status information or errors related to the disk image.-iivdiStatusMessage :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)-iivdiStatusMessage = lens _iivdiStatusMessage (\ s a -> s{_iivdiStatusMessage = a});---- | A description of the task.-iivdiDescription :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)-iivdiDescription = lens _iivdiDescription (\ s a -> s{_iivdiDescription = a});---- | The number of bytes converted so far.-iivdiBytesConverted :: Lens' ImportInstanceVolumeDetailItem Integer-iivdiBytesConverted = lens _iivdiBytesConverted (\ s a -> s{_iivdiBytesConverted = a});---- | The Availability Zone where the resulting instance will reside.-iivdiAvailabilityZone :: Lens' ImportInstanceVolumeDetailItem Text-iivdiAvailabilityZone = lens _iivdiAvailabilityZone (\ s a -> s{_iivdiAvailabilityZone = a});---- | The image.-iivdiImage :: Lens' ImportInstanceVolumeDetailItem DiskImageDescription-iivdiImage = lens _iivdiImage (\ s a -> s{_iivdiImage = a});---- | The volume.-iivdiVolume :: Lens' ImportInstanceVolumeDetailItem DiskImageVolumeDescription-iivdiVolume = lens _iivdiVolume (\ s a -> s{_iivdiVolume = a});---- | The status of the import of this particular disk image.-iivdiStatus :: Lens' ImportInstanceVolumeDetailItem Text-iivdiStatus = lens _iivdiStatus (\ s a -> s{_iivdiStatus = a});--instance FromXML ImportInstanceVolumeDetailItem where- parseXML x- = ImportInstanceVolumeDetailItem' <$>- (x .@? "statusMessage") <*> (x .@? "description") <*>- (x .@ "bytesConverted")- <*> (x .@ "availabilityZone")- <*> (x .@ "image")- <*> (x .@ "volume")- <*> (x .@ "status")---- | Describes an import snapshot task.------ /See:/ 'importSnapshotTask' smart constructor.-data ImportSnapshotTask = ImportSnapshotTask'- { _istSnapshotTaskDetail :: !(Maybe SnapshotTaskDetail)- , _istImportTaskId :: !(Maybe Text)- , _istDescription :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ImportSnapshotTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'istSnapshotTaskDetail'------ * 'istImportTaskId'------ * 'istDescription'-importSnapshotTask- :: ImportSnapshotTask-importSnapshotTask =- ImportSnapshotTask'- { _istSnapshotTaskDetail = Nothing- , _istImportTaskId = Nothing- , _istDescription = Nothing- }---- | Describes an import snapshot task.-istSnapshotTaskDetail :: Lens' ImportSnapshotTask (Maybe SnapshotTaskDetail)-istSnapshotTaskDetail = lens _istSnapshotTaskDetail (\ s a -> s{_istSnapshotTaskDetail = a});---- | The ID of the import snapshot task.-istImportTaskId :: Lens' ImportSnapshotTask (Maybe Text)-istImportTaskId = lens _istImportTaskId (\ s a -> s{_istImportTaskId = a});---- | A description of the import snapshot task.-istDescription :: Lens' ImportSnapshotTask (Maybe Text)-istDescription = lens _istDescription (\ s a -> s{_istDescription = a});--instance FromXML ImportSnapshotTask where- parseXML x- = ImportSnapshotTask' <$>- (x .@? "snapshotTaskDetail") <*>- (x .@? "importTaskId")- <*> (x .@? "description")---- | Describes an import volume task.------ /See:/ 'importVolumeTaskDetails' smart constructor.-data ImportVolumeTaskDetails = ImportVolumeTaskDetails'- { _ivtdDescription :: !(Maybe Text)- , _ivtdBytesConverted :: !Integer- , _ivtdAvailabilityZone :: !Text- , _ivtdImage :: !DiskImageDescription- , _ivtdVolume :: !DiskImageVolumeDescription- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ImportVolumeTaskDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ivtdDescription'------ * 'ivtdBytesConverted'------ * 'ivtdAvailabilityZone'------ * 'ivtdImage'------ * 'ivtdVolume'-importVolumeTaskDetails- :: Integer -- ^ 'ivtdBytesConverted'- -> Text -- ^ 'ivtdAvailabilityZone'- -> DiskImageDescription -- ^ 'ivtdImage'- -> DiskImageVolumeDescription -- ^ 'ivtdVolume'- -> ImportVolumeTaskDetails-importVolumeTaskDetails pBytesConverted_ pAvailabilityZone_ pImage_ pVolume_ =- ImportVolumeTaskDetails'- { _ivtdDescription = Nothing- , _ivtdBytesConverted = pBytesConverted_- , _ivtdAvailabilityZone = pAvailabilityZone_- , _ivtdImage = pImage_- , _ivtdVolume = pVolume_- }---- | The description you provided when starting the import volume task.-ivtdDescription :: Lens' ImportVolumeTaskDetails (Maybe Text)-ivtdDescription = lens _ivtdDescription (\ s a -> s{_ivtdDescription = a});---- | The number of bytes converted so far.-ivtdBytesConverted :: Lens' ImportVolumeTaskDetails Integer-ivtdBytesConverted = lens _ivtdBytesConverted (\ s a -> s{_ivtdBytesConverted = a});---- | The Availability Zone where the resulting volume will reside.-ivtdAvailabilityZone :: Lens' ImportVolumeTaskDetails Text-ivtdAvailabilityZone = lens _ivtdAvailabilityZone (\ s a -> s{_ivtdAvailabilityZone = a});---- | The image.-ivtdImage :: Lens' ImportVolumeTaskDetails DiskImageDescription-ivtdImage = lens _ivtdImage (\ s a -> s{_ivtdImage = a});---- | The volume.-ivtdVolume :: Lens' ImportVolumeTaskDetails DiskImageVolumeDescription-ivtdVolume = lens _ivtdVolume (\ s a -> s{_ivtdVolume = a});--instance FromXML ImportVolumeTaskDetails where- parseXML x- = ImportVolumeTaskDetails' <$>- (x .@? "description") <*> (x .@ "bytesConverted") <*>- (x .@ "availabilityZone")- <*> (x .@ "image")- <*> (x .@ "volume")---- | Describes an instance.------ /See:/ 'instance'' smart constructor.-data Instance = Instance'- { _insPublicDNSName :: !(Maybe Text)- , _insPlatform :: !(Maybe PlatformValues)- , _insSecurityGroups :: !(Maybe [GroupIdentifier])- , _insClientToken :: !(Maybe Text)- , _insSourceDestCheck :: !(Maybe Bool)- , _insVPCId :: !(Maybe Text)- , _insKeyName :: !(Maybe Text)- , _insNetworkInterfaces :: !(Maybe [InstanceNetworkInterface])- , _insRAMDiskId :: !(Maybe Text)- , _insSubnetId :: !(Maybe Text)- , _insKernelId :: !(Maybe Text)- , _insRootDeviceName :: !(Maybe Text)- , _insSRIOVNetSupport :: !(Maybe Text)- , _insEBSOptimized :: !(Maybe Bool)- , _insStateTransitionReason :: !(Maybe Text)- , _insInstanceLifecycle :: !(Maybe InstanceLifecycleType)- , _insIAMInstanceProfile :: !(Maybe IAMInstanceProfile)- , _insPrivateIPAddress :: !(Maybe Text)- , _insProductCodes :: !(Maybe [ProductCode])- , _insSpotInstanceRequestId :: !(Maybe Text)- , _insPrivateDNSName :: !(Maybe Text)- , _insStateReason :: !(Maybe StateReason)- , _insBlockDeviceMappings :: !(Maybe [InstanceBlockDeviceMapping])- , _insPublicIPAddress :: !(Maybe Text)- , _insTags :: !(Maybe [Tag])- , _insInstanceId :: !Text- , _insImageId :: !Text- , _insAMILaunchIndex :: !Int- , _insInstanceType :: !InstanceType- , _insLaunchTime :: !ISO8601- , _insPlacement :: !Placement- , _insMonitoring :: !Monitoring- , _insArchitecture :: !ArchitectureValues- , _insRootDeviceType :: !DeviceType- , _insVirtualizationType :: !VirtualizationType- , _insHypervisor :: !HypervisorType- , _insState :: !InstanceState- } 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:------ * 'insPublicDNSName'------ * 'insPlatform'------ * 'insSecurityGroups'------ * 'insClientToken'------ * 'insSourceDestCheck'------ * 'insVPCId'------ * 'insKeyName'------ * 'insNetworkInterfaces'------ * 'insRAMDiskId'------ * 'insSubnetId'------ * 'insKernelId'------ * 'insRootDeviceName'------ * 'insSRIOVNetSupport'------ * 'insEBSOptimized'------ * 'insStateTransitionReason'------ * 'insInstanceLifecycle'------ * 'insIAMInstanceProfile'------ * 'insPrivateIPAddress'------ * 'insProductCodes'------ * 'insSpotInstanceRequestId'------ * 'insPrivateDNSName'------ * 'insStateReason'------ * 'insBlockDeviceMappings'------ * 'insPublicIPAddress'------ * 'insTags'------ * 'insInstanceId'------ * 'insImageId'------ * 'insAMILaunchIndex'------ * 'insInstanceType'------ * 'insLaunchTime'------ * 'insPlacement'------ * 'insMonitoring'------ * 'insArchitecture'------ * 'insRootDeviceType'------ * 'insVirtualizationType'------ * 'insHypervisor'------ * 'insState'-instance'- :: Text -- ^ 'insInstanceId'- -> Text -- ^ 'insImageId'- -> Int -- ^ 'insAMILaunchIndex'- -> InstanceType -- ^ 'insInstanceType'- -> UTCTime -- ^ 'insLaunchTime'- -> Placement -- ^ 'insPlacement'- -> Monitoring -- ^ 'insMonitoring'- -> ArchitectureValues -- ^ 'insArchitecture'- -> DeviceType -- ^ 'insRootDeviceType'- -> VirtualizationType -- ^ 'insVirtualizationType'- -> HypervisorType -- ^ 'insHypervisor'- -> InstanceState -- ^ 'insState'- -> Instance-instance' pInstanceId_ pImageId_ pAMILaunchIndex_ pInstanceType_ pLaunchTime_ pPlacement_ pMonitoring_ pArchitecture_ pRootDeviceType_ pVirtualizationType_ pHypervisor_ pState_ =- Instance'- { _insPublicDNSName = Nothing- , _insPlatform = Nothing- , _insSecurityGroups = Nothing- , _insClientToken = Nothing- , _insSourceDestCheck = Nothing- , _insVPCId = Nothing- , _insKeyName = Nothing- , _insNetworkInterfaces = Nothing- , _insRAMDiskId = Nothing- , _insSubnetId = Nothing- , _insKernelId = Nothing- , _insRootDeviceName = Nothing- , _insSRIOVNetSupport = Nothing- , _insEBSOptimized = Nothing- , _insStateTransitionReason = Nothing- , _insInstanceLifecycle = Nothing- , _insIAMInstanceProfile = Nothing- , _insPrivateIPAddress = Nothing- , _insProductCodes = Nothing- , _insSpotInstanceRequestId = Nothing- , _insPrivateDNSName = Nothing- , _insStateReason = Nothing- , _insBlockDeviceMappings = Nothing- , _insPublicIPAddress = Nothing- , _insTags = Nothing- , _insInstanceId = pInstanceId_- , _insImageId = pImageId_- , _insAMILaunchIndex = pAMILaunchIndex_- , _insInstanceType = pInstanceType_- , _insLaunchTime = _Time # pLaunchTime_- , _insPlacement = pPlacement_- , _insMonitoring = pMonitoring_- , _insArchitecture = pArchitecture_- , _insRootDeviceType = pRootDeviceType_- , _insVirtualizationType = pVirtualizationType_- , _insHypervisor = pHypervisor_- , _insState = pState_- }---- | The public DNS name assigned to the instance. This name is not available--- until the instance enters the 'running' state. For EC2-VPC, this name is--- only available if you\'ve enabled DNS hostnames for your VPC.-insPublicDNSName :: Lens' Instance (Maybe Text)-insPublicDNSName = lens _insPublicDNSName (\ s a -> s{_insPublicDNSName = a});---- | The value is 'Windows' for Windows instances; otherwise blank.-insPlatform :: Lens' Instance (Maybe PlatformValues)-insPlatform = lens _insPlatform (\ s a -> s{_insPlatform = a});---- | One or more security groups for the instance.-insSecurityGroups :: Lens' Instance [GroupIdentifier]-insSecurityGroups = lens _insSecurityGroups (\ s a -> s{_insSecurityGroups = a}) . _Default . _Coerce;---- | The idempotency token you provided when you launched the instance, if--- applicable.-insClientToken :: Lens' Instance (Maybe Text)-insClientToken = lens _insClientToken (\ s a -> s{_insClientToken = a});---- | Specifies whether to enable an instance launched in a VPC to perform--- NAT. This controls whether source\/destination checking is enabled on--- the instance. A value of 'true' means checking is enabled, and 'false'--- means checking is disabled. The value must be 'false' for the instance--- to perform NAT. For more information, see--- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html NAT Instances>--- in the /Amazon Virtual Private Cloud User Guide/.-insSourceDestCheck :: Lens' Instance (Maybe Bool)-insSourceDestCheck = lens _insSourceDestCheck (\ s a -> s{_insSourceDestCheck = a});---- | [EC2-VPC] The ID of the VPC in which the instance is running.-insVPCId :: Lens' Instance (Maybe Text)-insVPCId = lens _insVPCId (\ s a -> s{_insVPCId = a});---- | The name of the key pair, if this instance was launched with an--- associated key pair.-insKeyName :: Lens' Instance (Maybe Text)-insKeyName = lens _insKeyName (\ s a -> s{_insKeyName = a});---- | [EC2-VPC] One or more network interfaces for the instance.-insNetworkInterfaces :: Lens' Instance [InstanceNetworkInterface]-insNetworkInterfaces = lens _insNetworkInterfaces (\ s a -> s{_insNetworkInterfaces = a}) . _Default . _Coerce;---- | The RAM disk associated with this instance, if applicable.-insRAMDiskId :: Lens' Instance (Maybe Text)-insRAMDiskId = lens _insRAMDiskId (\ s a -> s{_insRAMDiskId = a});---- | [EC2-VPC] The ID of the subnet in which the instance is running.-insSubnetId :: Lens' Instance (Maybe Text)-insSubnetId = lens _insSubnetId (\ s a -> s{_insSubnetId = a});---- | The kernel associated with this instance, if applicable.-insKernelId :: Lens' Instance (Maybe Text)-insKernelId = lens _insKernelId (\ s a -> s{_insKernelId = a});---- | The root device name (for example, '\/dev\/sda1' or '\/dev\/xvda').-insRootDeviceName :: Lens' Instance (Maybe Text)-insRootDeviceName = lens _insRootDeviceName (\ s a -> s{_insRootDeviceName = a});---- | Specifies whether enhanced networking is enabled.-insSRIOVNetSupport :: Lens' Instance (Maybe Text)-insSRIOVNetSupport = lens _insSRIOVNetSupport (\ s a -> s{_insSRIOVNetSupport = a});---- | Indicates whether the instance is optimized for EBS I\/O. This--- optimization provides dedicated throughput to Amazon EBS and an--- optimized configuration stack to provide optimal I\/O performance. This--- optimization isn\'t available with all instance types. Additional usage--- charges apply when using an EBS Optimized instance.-insEBSOptimized :: Lens' Instance (Maybe Bool)-insEBSOptimized = lens _insEBSOptimized (\ s a -> s{_insEBSOptimized = a});---- | The reason for the most recent state transition. This might be an empty--- string.-insStateTransitionReason :: Lens' Instance (Maybe Text)-insStateTransitionReason = lens _insStateTransitionReason (\ s a -> s{_insStateTransitionReason = a});---- | Indicates whether this is a Spot instance.-insInstanceLifecycle :: Lens' Instance (Maybe InstanceLifecycleType)-insInstanceLifecycle = lens _insInstanceLifecycle (\ s a -> s{_insInstanceLifecycle = a});---- | The IAM instance profile associated with the instance, if applicable.-insIAMInstanceProfile :: Lens' Instance (Maybe IAMInstanceProfile)-insIAMInstanceProfile = lens _insIAMInstanceProfile (\ s a -> s{_insIAMInstanceProfile = a});---- | The private IP address assigned to the instance.-insPrivateIPAddress :: Lens' Instance (Maybe Text)-insPrivateIPAddress = lens _insPrivateIPAddress (\ s a -> s{_insPrivateIPAddress = a});---- | The product codes attached to this instance, if applicable.-insProductCodes :: Lens' Instance [ProductCode]-insProductCodes = lens _insProductCodes (\ s a -> s{_insProductCodes = a}) . _Default . _Coerce;---- | If the request is a Spot instance request, the ID of the request.-insSpotInstanceRequestId :: Lens' Instance (Maybe Text)-insSpotInstanceRequestId = lens _insSpotInstanceRequestId (\ s a -> s{_insSpotInstanceRequestId = a});---- | The private DNS name assigned to the instance. This DNS name can only be--- used inside the Amazon EC2 network. This name is not available until the--- instance enters the 'running' state. For EC2-VPC, this name is only--- available if you\'ve enabled DNS hostnames for your VPC.-insPrivateDNSName :: Lens' Instance (Maybe Text)-insPrivateDNSName = lens _insPrivateDNSName (\ s a -> s{_insPrivateDNSName = a});---- | The reason for the most recent state transition.-insStateReason :: Lens' Instance (Maybe StateReason)-insStateReason = lens _insStateReason (\ s a -> s{_insStateReason = a});---- | Any block device mapping entries for the instance.-insBlockDeviceMappings :: Lens' Instance [InstanceBlockDeviceMapping]-insBlockDeviceMappings = lens _insBlockDeviceMappings (\ s a -> s{_insBlockDeviceMappings = a}) . _Default . _Coerce;---- | The public IP address assigned to the instance, if applicable.-insPublicIPAddress :: Lens' Instance (Maybe Text)-insPublicIPAddress = lens _insPublicIPAddress (\ s a -> s{_insPublicIPAddress = a});---- | Any tags assigned to the instance.-insTags :: Lens' Instance [Tag]-insTags = lens _insTags (\ s a -> s{_insTags = a}) . _Default . _Coerce;---- | The ID of the instance.-insInstanceId :: Lens' Instance Text-insInstanceId = lens _insInstanceId (\ s a -> s{_insInstanceId = a});---- | The ID of the AMI used to launch the instance.-insImageId :: Lens' Instance Text-insImageId = lens _insImageId (\ s a -> s{_insImageId = a});---- | The AMI launch index, which can be used to find this instance in the--- launch group.-insAMILaunchIndex :: Lens' Instance Int-insAMILaunchIndex = lens _insAMILaunchIndex (\ s a -> s{_insAMILaunchIndex = a});---- | The instance type.-insInstanceType :: Lens' Instance InstanceType-insInstanceType = lens _insInstanceType (\ s a -> s{_insInstanceType = a});---- | The time the instance was launched.-insLaunchTime :: Lens' Instance UTCTime-insLaunchTime = lens _insLaunchTime (\ s a -> s{_insLaunchTime = a}) . _Time;---- | The location where the instance launched, if applicable.-insPlacement :: Lens' Instance Placement-insPlacement = lens _insPlacement (\ s a -> s{_insPlacement = a});---- | The monitoring information for the instance.-insMonitoring :: Lens' Instance Monitoring-insMonitoring = lens _insMonitoring (\ s a -> s{_insMonitoring = a});---- | The architecture of the image.-insArchitecture :: Lens' Instance ArchitectureValues-insArchitecture = lens _insArchitecture (\ s a -> s{_insArchitecture = a});---- | The root device type used by the AMI. The AMI can use an EBS volume or--- an instance store volume.-insRootDeviceType :: Lens' Instance DeviceType-insRootDeviceType = lens _insRootDeviceType (\ s a -> s{_insRootDeviceType = a});---- | The virtualization type of the instance.-insVirtualizationType :: Lens' Instance VirtualizationType-insVirtualizationType = lens _insVirtualizationType (\ s a -> s{_insVirtualizationType = a});---- | The hypervisor type of the instance.-insHypervisor :: Lens' Instance HypervisorType-insHypervisor = lens _insHypervisor (\ s a -> s{_insHypervisor = a});---- | The current state of the instance.-insState :: Lens' Instance InstanceState-insState = lens _insState (\ s a -> s{_insState = a});--instance FromXML Instance where- parseXML x- = Instance' <$>- (x .@? "dnsName") <*> (x .@? "platform") <*>- (x .@? "groupSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "clientToken")- <*> (x .@? "sourceDestCheck")- <*> (x .@? "vpcId")- <*> (x .@? "keyName")- <*>- (x .@? "networkInterfaceSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "ramdiskId")- <*> (x .@? "subnetId")- <*> (x .@? "kernelId")- <*> (x .@? "rootDeviceName")- <*> (x .@? "sriovNetSupport")- <*> (x .@? "ebsOptimized")- <*> (x .@? "reason")- <*> (x .@? "instanceLifecycle")- <*> (x .@? "iamInstanceProfile")- <*> (x .@? "privateIpAddress")- <*>- (x .@? "productCodes" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "spotInstanceRequestId")- <*> (x .@? "privateDnsName")- <*> (x .@? "stateReason")- <*>- (x .@? "blockDeviceMapping" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "ipAddress")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "instanceId")- <*> (x .@ "imageId")- <*> (x .@ "amiLaunchIndex")- <*> (x .@ "instanceType")- <*> (x .@ "launchTime")- <*> (x .@ "placement")- <*> (x .@ "monitoring")- <*> (x .@ "architecture")- <*> (x .@ "rootDeviceType")- <*> (x .@ "virtualizationType")- <*> (x .@ "hypervisor")- <*> (x .@ "instanceState")---- | Describes a block device mapping.------ /See:/ 'instanceBlockDeviceMapping' smart constructor.-data InstanceBlockDeviceMapping = InstanceBlockDeviceMapping'- { _ibdmEBS :: !(Maybe EBSInstanceBlockDevice)- , _ibdmDeviceName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceBlockDeviceMapping' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ibdmEBS'------ * 'ibdmDeviceName'-instanceBlockDeviceMapping- :: InstanceBlockDeviceMapping-instanceBlockDeviceMapping =- InstanceBlockDeviceMapping'- { _ibdmEBS = Nothing- , _ibdmDeviceName = Nothing- }---- | Parameters used to automatically set up EBS volumes when the instance is--- launched.-ibdmEBS :: Lens' InstanceBlockDeviceMapping (Maybe EBSInstanceBlockDevice)-ibdmEBS = lens _ibdmEBS (\ s a -> s{_ibdmEBS = a});---- | The device name exposed to the instance (for example, '\/dev\/sdh' or--- 'xvdh').-ibdmDeviceName :: Lens' InstanceBlockDeviceMapping (Maybe Text)-ibdmDeviceName = lens _ibdmDeviceName (\ s a -> s{_ibdmDeviceName = a});--instance FromXML InstanceBlockDeviceMapping where- parseXML x- = InstanceBlockDeviceMapping' <$>- (x .@? "ebs") <*> (x .@? "deviceName")---- | Describes a block device mapping entry.------ /See:/ 'instanceBlockDeviceMappingSpecification' smart constructor.-data InstanceBlockDeviceMappingSpecification = InstanceBlockDeviceMappingSpecification'- { _ibdmsVirtualName :: !(Maybe Text)- , _ibdmsNoDevice :: !(Maybe Text)- , _ibdmsEBS :: !(Maybe EBSInstanceBlockDeviceSpecification)- , _ibdmsDeviceName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceBlockDeviceMappingSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ibdmsVirtualName'------ * 'ibdmsNoDevice'------ * 'ibdmsEBS'------ * 'ibdmsDeviceName'-instanceBlockDeviceMappingSpecification- :: InstanceBlockDeviceMappingSpecification-instanceBlockDeviceMappingSpecification =- InstanceBlockDeviceMappingSpecification'- { _ibdmsVirtualName = Nothing- , _ibdmsNoDevice = Nothing- , _ibdmsEBS = Nothing- , _ibdmsDeviceName = Nothing- }---- | The virtual device name.-ibdmsVirtualName :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)-ibdmsVirtualName = lens _ibdmsVirtualName (\ s a -> s{_ibdmsVirtualName = a});---- | suppress the specified device included in the block device mapping.-ibdmsNoDevice :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)-ibdmsNoDevice = lens _ibdmsNoDevice (\ s a -> s{_ibdmsNoDevice = a});---- | Parameters used to automatically set up EBS volumes when the instance is--- launched.-ibdmsEBS :: Lens' InstanceBlockDeviceMappingSpecification (Maybe EBSInstanceBlockDeviceSpecification)-ibdmsEBS = lens _ibdmsEBS (\ s a -> s{_ibdmsEBS = a});---- | The device name exposed to the instance (for example, '\/dev\/sdh' or--- 'xvdh').-ibdmsDeviceName :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)-ibdmsDeviceName = lens _ibdmsDeviceName (\ s a -> s{_ibdmsDeviceName = a});--instance ToQuery- InstanceBlockDeviceMappingSpecification where- toQuery InstanceBlockDeviceMappingSpecification'{..}- = mconcat- ["VirtualName" =: _ibdmsVirtualName,- "NoDevice" =: _ibdmsNoDevice, "Ebs" =: _ibdmsEBS,- "DeviceName" =: _ibdmsDeviceName]---- | Information about the instance type that the Dedicated host supports.------ /See:/ 'instanceCapacity' smart constructor.-data InstanceCapacity = InstanceCapacity'- { _icAvailableCapacity :: !(Maybe Int)- , _icInstanceType :: !(Maybe Text)- , _icTotalCapacity :: !(Maybe Int)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceCapacity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'icAvailableCapacity'------ * 'icInstanceType'------ * 'icTotalCapacity'-instanceCapacity- :: InstanceCapacity-instanceCapacity =- InstanceCapacity'- { _icAvailableCapacity = Nothing- , _icInstanceType = Nothing- , _icTotalCapacity = Nothing- }---- | The number of instances that can still be launched onto the Dedicated--- host.-icAvailableCapacity :: Lens' InstanceCapacity (Maybe Int)-icAvailableCapacity = lens _icAvailableCapacity (\ s a -> s{_icAvailableCapacity = a});---- | The instance type size supported by the Dedicated host.-icInstanceType :: Lens' InstanceCapacity (Maybe Text)-icInstanceType = lens _icInstanceType (\ s a -> s{_icInstanceType = a});---- | The total number of instances that can be launched onto the Dedicated--- host.-icTotalCapacity :: Lens' InstanceCapacity (Maybe Int)-icTotalCapacity = lens _icTotalCapacity (\ s a -> s{_icTotalCapacity = a});--instance FromXML InstanceCapacity where- parseXML x- = InstanceCapacity' <$>- (x .@? "availableCapacity") <*>- (x .@? "instanceType")- <*> (x .@? "totalCapacity")---- | Describes a Reserved instance listing state.------ /See:/ 'instanceCount' smart constructor.-data InstanceCount = InstanceCount'- { _icState :: !(Maybe ListingState)- , _icInstanceCount :: !(Maybe Int)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceCount' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'icState'------ * 'icInstanceCount'-instanceCount- :: InstanceCount-instanceCount =- InstanceCount'- { _icState = Nothing- , _icInstanceCount = Nothing- }---- | The states of the listed Reserved instances.-icState :: Lens' InstanceCount (Maybe ListingState)-icState = lens _icState (\ s a -> s{_icState = a});---- | The number of listed Reserved instances in the state specified by the--- 'state'.-icInstanceCount :: Lens' InstanceCount (Maybe Int)-icInstanceCount = lens _icInstanceCount (\ s a -> s{_icInstanceCount = a});--instance FromXML InstanceCount where- parseXML x- = InstanceCount' <$>- (x .@? "state") <*> (x .@? "instanceCount")---- | Describes an instance to export.------ /See:/ 'instanceExportDetails' smart constructor.-data InstanceExportDetails = InstanceExportDetails'- { _iedTargetEnvironment :: !(Maybe ExportEnvironment)- , _iedInstanceId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceExportDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iedTargetEnvironment'------ * 'iedInstanceId'-instanceExportDetails- :: InstanceExportDetails-instanceExportDetails =- InstanceExportDetails'- { _iedTargetEnvironment = Nothing- , _iedInstanceId = Nothing- }---- | The target virtualization environment.-iedTargetEnvironment :: Lens' InstanceExportDetails (Maybe ExportEnvironment)-iedTargetEnvironment = lens _iedTargetEnvironment (\ s a -> s{_iedTargetEnvironment = a});---- | The ID of the resource being exported.-iedInstanceId :: Lens' InstanceExportDetails (Maybe Text)-iedInstanceId = lens _iedInstanceId (\ s a -> s{_iedInstanceId = a});--instance FromXML InstanceExportDetails where- parseXML x- = InstanceExportDetails' <$>- (x .@? "targetEnvironment") <*> (x .@? "instanceId")---- | Describes the monitoring information of the instance.------ /See:/ 'instanceMonitoring' smart constructor.-data InstanceMonitoring = InstanceMonitoring'- { _imInstanceId :: !(Maybe Text)- , _imMonitoring :: !(Maybe Monitoring)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceMonitoring' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'imInstanceId'------ * 'imMonitoring'-instanceMonitoring- :: InstanceMonitoring-instanceMonitoring =- InstanceMonitoring'- { _imInstanceId = Nothing- , _imMonitoring = Nothing- }---- | The ID of the instance.-imInstanceId :: Lens' InstanceMonitoring (Maybe Text)-imInstanceId = lens _imInstanceId (\ s a -> s{_imInstanceId = a});---- | The monitoring information.-imMonitoring :: Lens' InstanceMonitoring (Maybe Monitoring)-imMonitoring = lens _imMonitoring (\ s a -> s{_imMonitoring = a});--instance FromXML InstanceMonitoring where- parseXML x- = InstanceMonitoring' <$>- (x .@? "instanceId") <*> (x .@? "monitoring")---- | Describes a network interface.------ /See:/ 'instanceNetworkInterface' smart constructor.-data InstanceNetworkInterface = InstanceNetworkInterface'- { _iniGroups :: !(Maybe [GroupIdentifier])- , _iniStatus :: !(Maybe NetworkInterfaceStatus)- , _iniPrivateIPAddresses :: !(Maybe [InstancePrivateIPAddress])- , _iniSourceDestCheck :: !(Maybe Bool)- , _iniVPCId :: !(Maybe Text)- , _iniNetworkInterfaceId :: !(Maybe Text)- , _iniSubnetId :: !(Maybe Text)- , _iniMACAddress :: !(Maybe Text)- , _iniAttachment :: !(Maybe InstanceNetworkInterfaceAttachment)- , _iniOwnerId :: !(Maybe Text)- , _iniPrivateIPAddress :: !(Maybe Text)- , _iniPrivateDNSName :: !(Maybe Text)- , _iniDescription :: !(Maybe Text)- , _iniAssociation :: !(Maybe InstanceNetworkInterfaceAssociation)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceNetworkInterface' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iniGroups'------ * 'iniStatus'------ * 'iniPrivateIPAddresses'------ * 'iniSourceDestCheck'------ * 'iniVPCId'------ * 'iniNetworkInterfaceId'------ * 'iniSubnetId'------ * 'iniMACAddress'------ * 'iniAttachment'------ * 'iniOwnerId'------ * 'iniPrivateIPAddress'------ * 'iniPrivateDNSName'------ * 'iniDescription'------ * 'iniAssociation'-instanceNetworkInterface- :: InstanceNetworkInterface-instanceNetworkInterface =- InstanceNetworkInterface'- { _iniGroups = Nothing- , _iniStatus = Nothing- , _iniPrivateIPAddresses = Nothing- , _iniSourceDestCheck = Nothing- , _iniVPCId = Nothing- , _iniNetworkInterfaceId = Nothing- , _iniSubnetId = Nothing- , _iniMACAddress = Nothing- , _iniAttachment = Nothing- , _iniOwnerId = Nothing- , _iniPrivateIPAddress = Nothing- , _iniPrivateDNSName = Nothing- , _iniDescription = Nothing- , _iniAssociation = Nothing- }---- | One or more security groups.-iniGroups :: Lens' InstanceNetworkInterface [GroupIdentifier]-iniGroups = lens _iniGroups (\ s a -> s{_iniGroups = a}) . _Default . _Coerce;---- | The status of the network interface.-iniStatus :: Lens' InstanceNetworkInterface (Maybe NetworkInterfaceStatus)-iniStatus = lens _iniStatus (\ s a -> s{_iniStatus = a});---- | The private IP addresses associated with the network interface.-iniPrivateIPAddresses :: Lens' InstanceNetworkInterface [InstancePrivateIPAddress]-iniPrivateIPAddresses = lens _iniPrivateIPAddresses (\ s a -> s{_iniPrivateIPAddresses = a}) . _Default . _Coerce;---- | Indicates whether to validate network traffic to or from this network--- interface.-iniSourceDestCheck :: Lens' InstanceNetworkInterface (Maybe Bool)-iniSourceDestCheck = lens _iniSourceDestCheck (\ s a -> s{_iniSourceDestCheck = a});---- | The ID of the VPC.-iniVPCId :: Lens' InstanceNetworkInterface (Maybe Text)-iniVPCId = lens _iniVPCId (\ s a -> s{_iniVPCId = a});---- | The ID of the network interface.-iniNetworkInterfaceId :: Lens' InstanceNetworkInterface (Maybe Text)-iniNetworkInterfaceId = lens _iniNetworkInterfaceId (\ s a -> s{_iniNetworkInterfaceId = a});---- | The ID of the subnet.-iniSubnetId :: Lens' InstanceNetworkInterface (Maybe Text)-iniSubnetId = lens _iniSubnetId (\ s a -> s{_iniSubnetId = a});---- | The MAC address.-iniMACAddress :: Lens' InstanceNetworkInterface (Maybe Text)-iniMACAddress = lens _iniMACAddress (\ s a -> s{_iniMACAddress = a});---- | The network interface attachment.-iniAttachment :: Lens' InstanceNetworkInterface (Maybe InstanceNetworkInterfaceAttachment)-iniAttachment = lens _iniAttachment (\ s a -> s{_iniAttachment = a});---- | The ID of the AWS account that created the network interface.-iniOwnerId :: Lens' InstanceNetworkInterface (Maybe Text)-iniOwnerId = lens _iniOwnerId (\ s a -> s{_iniOwnerId = a});---- | The IP address of the network interface within the subnet.-iniPrivateIPAddress :: Lens' InstanceNetworkInterface (Maybe Text)-iniPrivateIPAddress = lens _iniPrivateIPAddress (\ s a -> s{_iniPrivateIPAddress = a});---- | The private DNS name.-iniPrivateDNSName :: Lens' InstanceNetworkInterface (Maybe Text)-iniPrivateDNSName = lens _iniPrivateDNSName (\ s a -> s{_iniPrivateDNSName = a});---- | The description.-iniDescription :: Lens' InstanceNetworkInterface (Maybe Text)-iniDescription = lens _iniDescription (\ s a -> s{_iniDescription = a});---- | The association information for an Elastic IP associated with the--- network interface.-iniAssociation :: Lens' InstanceNetworkInterface (Maybe InstanceNetworkInterfaceAssociation)-iniAssociation = lens _iniAssociation (\ s a -> s{_iniAssociation = a});--instance FromXML InstanceNetworkInterface where- parseXML x- = InstanceNetworkInterface' <$>- (x .@? "groupSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "status")- <*>- (x .@? "privateIpAddressesSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "sourceDestCheck")- <*> (x .@? "vpcId")- <*> (x .@? "networkInterfaceId")- <*> (x .@? "subnetId")- <*> (x .@? "macAddress")- <*> (x .@? "attachment")- <*> (x .@? "ownerId")- <*> (x .@? "privateIpAddress")- <*> (x .@? "privateDnsName")- <*> (x .@? "description")- <*> (x .@? "association")---- | Describes association information for an Elastic IP address.------ /See:/ 'instanceNetworkInterfaceAssociation' smart constructor.-data InstanceNetworkInterfaceAssociation = InstanceNetworkInterfaceAssociation'- { _iniaPublicDNSName :: !(Maybe Text)- , _iniaIPOwnerId :: !(Maybe Text)- , _iniaPublicIP :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceNetworkInterfaceAssociation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iniaPublicDNSName'------ * 'iniaIPOwnerId'------ * 'iniaPublicIP'-instanceNetworkInterfaceAssociation- :: InstanceNetworkInterfaceAssociation-instanceNetworkInterfaceAssociation =- InstanceNetworkInterfaceAssociation'- { _iniaPublicDNSName = Nothing- , _iniaIPOwnerId = Nothing- , _iniaPublicIP = Nothing- }---- | The public DNS name.-iniaPublicDNSName :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)-iniaPublicDNSName = lens _iniaPublicDNSName (\ s a -> s{_iniaPublicDNSName = a});---- | The ID of the owner of the Elastic IP address.-iniaIPOwnerId :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)-iniaIPOwnerId = lens _iniaIPOwnerId (\ s a -> s{_iniaIPOwnerId = a});---- | The public IP address or Elastic IP address bound to the network--- interface.-iniaPublicIP :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)-iniaPublicIP = lens _iniaPublicIP (\ s a -> s{_iniaPublicIP = a});--instance FromXML InstanceNetworkInterfaceAssociation- where- parseXML x- = InstanceNetworkInterfaceAssociation' <$>- (x .@? "publicDnsName") <*> (x .@? "ipOwnerId") <*>- (x .@? "publicIp")---- | Describes a network interface attachment.------ /See:/ 'instanceNetworkInterfaceAttachment' smart constructor.-data InstanceNetworkInterfaceAttachment = InstanceNetworkInterfaceAttachment'- { _iniaStatus :: !(Maybe AttachmentStatus)- , _iniaDeleteOnTermination :: !(Maybe Bool)- , _iniaAttachmentId :: !(Maybe Text)- , _iniaAttachTime :: !(Maybe ISO8601)- , _iniaDeviceIndex :: !(Maybe Int)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceNetworkInterfaceAttachment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iniaStatus'------ * 'iniaDeleteOnTermination'------ * 'iniaAttachmentId'------ * 'iniaAttachTime'------ * 'iniaDeviceIndex'-instanceNetworkInterfaceAttachment- :: InstanceNetworkInterfaceAttachment-instanceNetworkInterfaceAttachment =- InstanceNetworkInterfaceAttachment'- { _iniaStatus = Nothing- , _iniaDeleteOnTermination = Nothing- , _iniaAttachmentId = Nothing- , _iniaAttachTime = Nothing- , _iniaDeviceIndex = Nothing- }---- | The attachment state.-iniaStatus :: Lens' InstanceNetworkInterfaceAttachment (Maybe AttachmentStatus)-iniaStatus = lens _iniaStatus (\ s a -> s{_iniaStatus = a});---- | Indicates whether the network interface is deleted when the instance is--- terminated.-iniaDeleteOnTermination :: Lens' InstanceNetworkInterfaceAttachment (Maybe Bool)-iniaDeleteOnTermination = lens _iniaDeleteOnTermination (\ s a -> s{_iniaDeleteOnTermination = a});---- | The ID of the network interface attachment.-iniaAttachmentId :: Lens' InstanceNetworkInterfaceAttachment (Maybe Text)-iniaAttachmentId = lens _iniaAttachmentId (\ s a -> s{_iniaAttachmentId = a});---- | The time stamp when the attachment initiated.-iniaAttachTime :: Lens' InstanceNetworkInterfaceAttachment (Maybe UTCTime)-iniaAttachTime = lens _iniaAttachTime (\ s a -> s{_iniaAttachTime = a}) . mapping _Time;---- | The index of the device on the instance for the network interface--- attachment.-iniaDeviceIndex :: Lens' InstanceNetworkInterfaceAttachment (Maybe Int)-iniaDeviceIndex = lens _iniaDeviceIndex (\ s a -> s{_iniaDeviceIndex = a});--instance FromXML InstanceNetworkInterfaceAttachment- where- parseXML x- = InstanceNetworkInterfaceAttachment' <$>- (x .@? "status") <*> (x .@? "deleteOnTermination")- <*> (x .@? "attachmentId")- <*> (x .@? "attachTime")- <*> (x .@? "deviceIndex")---- | Describes a network interface.------ /See:/ 'instanceNetworkInterfaceSpecification' smart constructor.-data InstanceNetworkInterfaceSpecification = InstanceNetworkInterfaceSpecification'- { _inisGroups :: !(Maybe [Text])- , _inisPrivateIPAddresses :: !(Maybe [PrivateIPAddressSpecification])- , _inisDeleteOnTermination :: !(Maybe Bool)- , _inisAssociatePublicIPAddress :: !(Maybe Bool)- , _inisNetworkInterfaceId :: !(Maybe Text)- , _inisSubnetId :: !(Maybe Text)- , _inisPrivateIPAddress :: !(Maybe Text)- , _inisSecondaryPrivateIPAddressCount :: !(Maybe Int)- , _inisDescription :: !(Maybe Text)- , _inisDeviceIndex :: !(Maybe Int)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceNetworkInterfaceSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'inisGroups'------ * 'inisPrivateIPAddresses'------ * 'inisDeleteOnTermination'------ * 'inisAssociatePublicIPAddress'------ * 'inisNetworkInterfaceId'------ * 'inisSubnetId'------ * 'inisPrivateIPAddress'------ * 'inisSecondaryPrivateIPAddressCount'------ * 'inisDescription'------ * 'inisDeviceIndex'-instanceNetworkInterfaceSpecification- :: InstanceNetworkInterfaceSpecification-instanceNetworkInterfaceSpecification =- InstanceNetworkInterfaceSpecification'- { _inisGroups = Nothing- , _inisPrivateIPAddresses = Nothing- , _inisDeleteOnTermination = Nothing- , _inisAssociatePublicIPAddress = Nothing- , _inisNetworkInterfaceId = Nothing- , _inisSubnetId = Nothing- , _inisPrivateIPAddress = Nothing- , _inisSecondaryPrivateIPAddressCount = Nothing- , _inisDescription = Nothing- , _inisDeviceIndex = Nothing- }---- | The IDs of the security groups for the network interface. Applies only--- if creating a network interface when launching an instance.-inisGroups :: Lens' InstanceNetworkInterfaceSpecification [Text]-inisGroups = lens _inisGroups (\ s a -> s{_inisGroups = a}) . _Default . _Coerce;---- | One or more private IP addresses to assign to the network interface.--- Only one private IP address can be designated as primary.-inisPrivateIPAddresses :: Lens' InstanceNetworkInterfaceSpecification [PrivateIPAddressSpecification]-inisPrivateIPAddresses = lens _inisPrivateIPAddresses (\ s a -> s{_inisPrivateIPAddresses = a}) . _Default . _Coerce;---- | If set to 'true', the interface is deleted when the instance is--- terminated. You can specify 'true' only if creating a new network--- interface when launching an instance.-inisDeleteOnTermination :: Lens' InstanceNetworkInterfaceSpecification (Maybe Bool)-inisDeleteOnTermination = lens _inisDeleteOnTermination (\ s a -> s{_inisDeleteOnTermination = a});---- | Indicates whether to assign a public IP address to an instance you--- launch in a VPC. The public IP address can only be assigned to a network--- interface for eth0, and can only be assigned to a new network interface,--- not an existing one. You cannot specify more than one network interface--- in the request. If launching into a default subnet, the default value is--- 'true'.-inisAssociatePublicIPAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Bool)-inisAssociatePublicIPAddress = lens _inisAssociatePublicIPAddress (\ s a -> s{_inisAssociatePublicIPAddress = a});---- | The ID of the network interface.-inisNetworkInterfaceId :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)-inisNetworkInterfaceId = lens _inisNetworkInterfaceId (\ s a -> s{_inisNetworkInterfaceId = a});---- | The ID of the subnet associated with the network string. Applies only if--- creating a network interface when launching an instance.-inisSubnetId :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)-inisSubnetId = lens _inisSubnetId (\ s a -> s{_inisSubnetId = a});---- | The private IP address of the network interface. Applies only if--- creating a network interface when launching an instance.-inisPrivateIPAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)-inisPrivateIPAddress = lens _inisPrivateIPAddress (\ s a -> s{_inisPrivateIPAddress = a});---- | The number of secondary private IP addresses. You can\'t specify this--- option and specify more than one private IP address using the private IP--- addresses option.-inisSecondaryPrivateIPAddressCount :: Lens' InstanceNetworkInterfaceSpecification (Maybe Int)-inisSecondaryPrivateIPAddressCount = lens _inisSecondaryPrivateIPAddressCount (\ s a -> s{_inisSecondaryPrivateIPAddressCount = a});---- | The description of the network interface. Applies only if creating a--- network interface when launching an instance.-inisDescription :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)-inisDescription = lens _inisDescription (\ s a -> s{_inisDescription = a});---- | The index of the device on the instance for the network interface--- attachment. If you are specifying a network interface in a RunInstances--- request, you must provide the device index.-inisDeviceIndex :: Lens' InstanceNetworkInterfaceSpecification (Maybe Int)-inisDeviceIndex = lens _inisDeviceIndex (\ s a -> s{_inisDeviceIndex = a});--instance FromXML- InstanceNetworkInterfaceSpecification where- parseXML x- = InstanceNetworkInterfaceSpecification' <$>- (x .@? "SecurityGroupId" .!@ mempty >>=- may (parseXMLList "SecurityGroupId"))- <*>- (x .@? "privateIpAddressesSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "deleteOnTermination")- <*> (x .@? "associatePublicIpAddress")- <*> (x .@? "networkInterfaceId")- <*> (x .@? "subnetId")- <*> (x .@? "privateIpAddress")- <*> (x .@? "secondaryPrivateIpAddressCount")- <*> (x .@? "description")- <*> (x .@? "deviceIndex")--instance ToQuery- InstanceNetworkInterfaceSpecification where- toQuery InstanceNetworkInterfaceSpecification'{..}- = mconcat- [toQuery- (toQueryList "SecurityGroupId" <$> _inisGroups),- toQuery- (toQueryList "PrivateIpAddresses" <$>- _inisPrivateIPAddresses),- "DeleteOnTermination" =: _inisDeleteOnTermination,- "AssociatePublicIpAddress" =:- _inisAssociatePublicIPAddress,- "NetworkInterfaceId" =: _inisNetworkInterfaceId,- "SubnetId" =: _inisSubnetId,- "PrivateIpAddress" =: _inisPrivateIPAddress,- "SecondaryPrivateIpAddressCount" =:- _inisSecondaryPrivateIPAddressCount,- "Description" =: _inisDescription,- "DeviceIndex" =: _inisDeviceIndex]---- | Describes a private IP address.------ /See:/ 'instancePrivateIPAddress' smart constructor.-data InstancePrivateIPAddress = InstancePrivateIPAddress'- { _ipiaPrimary :: !(Maybe Bool)- , _ipiaPrivateIPAddress :: !(Maybe Text)- , _ipiaPrivateDNSName :: !(Maybe Text)- , _ipiaAssociation :: !(Maybe InstanceNetworkInterfaceAssociation)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstancePrivateIPAddress' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipiaPrimary'------ * 'ipiaPrivateIPAddress'------ * 'ipiaPrivateDNSName'------ * 'ipiaAssociation'-instancePrivateIPAddress- :: InstancePrivateIPAddress-instancePrivateIPAddress =- InstancePrivateIPAddress'- { _ipiaPrimary = Nothing- , _ipiaPrivateIPAddress = Nothing- , _ipiaPrivateDNSName = Nothing- , _ipiaAssociation = Nothing- }---- | Indicates whether this IP address is the primary private IP address of--- the network interface.-ipiaPrimary :: Lens' InstancePrivateIPAddress (Maybe Bool)-ipiaPrimary = lens _ipiaPrimary (\ s a -> s{_ipiaPrimary = a});---- | The private IP address of the network interface.-ipiaPrivateIPAddress :: Lens' InstancePrivateIPAddress (Maybe Text)-ipiaPrivateIPAddress = lens _ipiaPrivateIPAddress (\ s a -> s{_ipiaPrivateIPAddress = a});---- | The private DNS name.-ipiaPrivateDNSName :: Lens' InstancePrivateIPAddress (Maybe Text)-ipiaPrivateDNSName = lens _ipiaPrivateDNSName (\ s a -> s{_ipiaPrivateDNSName = a});---- | The association information for an Elastic IP address for the network--- interface.-ipiaAssociation :: Lens' InstancePrivateIPAddress (Maybe InstanceNetworkInterfaceAssociation)-ipiaAssociation = lens _ipiaAssociation (\ s a -> s{_ipiaAssociation = a});--instance FromXML InstancePrivateIPAddress where- parseXML x- = InstancePrivateIPAddress' <$>- (x .@? "primary") <*> (x .@? "privateIpAddress") <*>- (x .@? "privateDnsName")- <*> (x .@? "association")---- | Describes the current state of the instance.------ /See:/ 'instanceState' smart constructor.-data InstanceState = InstanceState'- { _isName :: !InstanceStateName- , _isCode :: !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'------ * 'isCode'-instanceState- :: InstanceStateName -- ^ 'isName'- -> Int -- ^ 'isCode'- -> InstanceState-instanceState pName_ pCode_ =- InstanceState'- { _isName = pName_- , _isCode = pCode_- }---- | The current state of the instance.-isName :: Lens' InstanceState InstanceStateName-isName = lens _isName (\ s a -> s{_isName = a});---- | The low byte represents the state. The high byte is an opaque internal--- value and should be ignored.------ - '0' : 'pending'------ - '16' : 'running'------ - '32' : 'shutting-down'------ - '48' : 'terminated'------ - '64' : 'stopping'------ - '80' : 'stopped'----isCode :: Lens' InstanceState Int-isCode = lens _isCode (\ s a -> s{_isCode = a});--instance FromXML InstanceState where- parseXML x- = InstanceState' <$> (x .@ "name") <*> (x .@ "code")---- | Describes an instance state change.------ /See:/ 'instanceStateChange' smart constructor.-data InstanceStateChange = InstanceStateChange'- { _iscInstanceId :: !(Maybe Text)- , _iscCurrentState :: !(Maybe InstanceState)- , _iscPreviousState :: !(Maybe InstanceState)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceStateChange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iscInstanceId'------ * 'iscCurrentState'------ * 'iscPreviousState'-instanceStateChange- :: InstanceStateChange-instanceStateChange =- InstanceStateChange'- { _iscInstanceId = Nothing- , _iscCurrentState = Nothing- , _iscPreviousState = Nothing- }---- | The ID of the instance.-iscInstanceId :: Lens' InstanceStateChange (Maybe Text)-iscInstanceId = lens _iscInstanceId (\ s a -> s{_iscInstanceId = a});---- | The current state of the instance.-iscCurrentState :: Lens' InstanceStateChange (Maybe InstanceState)-iscCurrentState = lens _iscCurrentState (\ s a -> s{_iscCurrentState = a});---- | The previous state of the instance.-iscPreviousState :: Lens' InstanceStateChange (Maybe InstanceState)-iscPreviousState = lens _iscPreviousState (\ s a -> s{_iscPreviousState = a});--instance FromXML InstanceStateChange where- parseXML x- = InstanceStateChange' <$>- (x .@? "instanceId") <*> (x .@? "currentState") <*>- (x .@? "previousState")---- | Describes the status of an instance.------ /See:/ 'instanceStatus' smart constructor.-data InstanceStatus = InstanceStatus'- { _isInstanceId :: !(Maybe Text)- , _isSystemStatus :: !(Maybe InstanceStatusSummary)- , _isEvents :: !(Maybe [InstanceStatusEvent])- , _isAvailabilityZone :: !(Maybe Text)- , _isInstanceStatus :: !(Maybe InstanceStatusSummary)- , _isInstanceState :: !(Maybe InstanceState)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'isInstanceId'------ * 'isSystemStatus'------ * 'isEvents'------ * 'isAvailabilityZone'------ * 'isInstanceStatus'------ * 'isInstanceState'-instanceStatus- :: InstanceStatus-instanceStatus =- InstanceStatus'- { _isInstanceId = Nothing- , _isSystemStatus = Nothing- , _isEvents = Nothing- , _isAvailabilityZone = Nothing- , _isInstanceStatus = Nothing- , _isInstanceState = Nothing- }---- | The ID of the instance.-isInstanceId :: Lens' InstanceStatus (Maybe Text)-isInstanceId = lens _isInstanceId (\ s a -> s{_isInstanceId = a});---- | Reports impaired functionality that stems from issues related to the--- systems that support an instance, such as hardware failures and network--- connectivity problems.-isSystemStatus :: Lens' InstanceStatus (Maybe InstanceStatusSummary)-isSystemStatus = lens _isSystemStatus (\ s a -> s{_isSystemStatus = a});---- | Any scheduled events associated with the instance.-isEvents :: Lens' InstanceStatus [InstanceStatusEvent]-isEvents = lens _isEvents (\ s a -> s{_isEvents = a}) . _Default . _Coerce;---- | The Availability Zone of the instance.-isAvailabilityZone :: Lens' InstanceStatus (Maybe Text)-isAvailabilityZone = lens _isAvailabilityZone (\ s a -> s{_isAvailabilityZone = a});---- | Reports impaired functionality that stems from issues internal to the--- instance, such as impaired reachability.-isInstanceStatus :: Lens' InstanceStatus (Maybe InstanceStatusSummary)-isInstanceStatus = lens _isInstanceStatus (\ s a -> s{_isInstanceStatus = a});---- | The intended state of the instance. DescribeInstanceStatus requires that--- an instance be in the 'running' state.-isInstanceState :: Lens' InstanceStatus (Maybe InstanceState)-isInstanceState = lens _isInstanceState (\ s a -> s{_isInstanceState = a});--instance FromXML InstanceStatus where- parseXML x- = InstanceStatus' <$>- (x .@? "instanceId") <*> (x .@? "systemStatus") <*>- (x .@? "eventsSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "availabilityZone")- <*> (x .@? "instanceStatus")- <*> (x .@? "instanceState")---- | Describes the instance status.------ /See:/ 'instanceStatusDetails' smart constructor.-data InstanceStatusDetails = InstanceStatusDetails'- { _isdStatus :: !(Maybe StatusType)- , _isdImpairedSince :: !(Maybe ISO8601)- , _isdName :: !(Maybe StatusName)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceStatusDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'isdStatus'------ * 'isdImpairedSince'------ * 'isdName'-instanceStatusDetails- :: InstanceStatusDetails-instanceStatusDetails =- InstanceStatusDetails'- { _isdStatus = Nothing- , _isdImpairedSince = Nothing- , _isdName = Nothing- }---- | The status.-isdStatus :: Lens' InstanceStatusDetails (Maybe StatusType)-isdStatus = lens _isdStatus (\ s a -> s{_isdStatus = a});---- | The time when a status check failed. For an instance that was launched--- and impaired, this is the time when the instance was launched.-isdImpairedSince :: Lens' InstanceStatusDetails (Maybe UTCTime)-isdImpairedSince = lens _isdImpairedSince (\ s a -> s{_isdImpairedSince = a}) . mapping _Time;---- | The type of instance status.-isdName :: Lens' InstanceStatusDetails (Maybe StatusName)-isdName = lens _isdName (\ s a -> s{_isdName = a});--instance FromXML InstanceStatusDetails where- parseXML x- = InstanceStatusDetails' <$>- (x .@? "status") <*> (x .@? "impairedSince") <*>- (x .@? "name")---- | Describes a scheduled event for an instance.------ /See:/ 'instanceStatusEvent' smart constructor.-data InstanceStatusEvent = InstanceStatusEvent'- { _iseNotBefore :: !(Maybe ISO8601)- , _iseCode :: !(Maybe EventCode)- , _iseDescription :: !(Maybe Text)- , _iseNotAfter :: !(Maybe ISO8601)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceStatusEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iseNotBefore'------ * 'iseCode'------ * 'iseDescription'------ * 'iseNotAfter'-instanceStatusEvent- :: InstanceStatusEvent-instanceStatusEvent =- InstanceStatusEvent'- { _iseNotBefore = Nothing- , _iseCode = Nothing- , _iseDescription = Nothing- , _iseNotAfter = Nothing- }---- | The earliest scheduled start time for the event.-iseNotBefore :: Lens' InstanceStatusEvent (Maybe UTCTime)-iseNotBefore = lens _iseNotBefore (\ s a -> s{_iseNotBefore = a}) . mapping _Time;---- | The event code.-iseCode :: Lens' InstanceStatusEvent (Maybe EventCode)-iseCode = lens _iseCode (\ s a -> s{_iseCode = a});---- | A description of the event.------ After a scheduled event is completed, it can still be described for up--- to a week. If the event has been completed, this description starts with--- the following text: [Completed].-iseDescription :: Lens' InstanceStatusEvent (Maybe Text)-iseDescription = lens _iseDescription (\ s a -> s{_iseDescription = a});---- | The latest scheduled end time for the event.-iseNotAfter :: Lens' InstanceStatusEvent (Maybe UTCTime)-iseNotAfter = lens _iseNotAfter (\ s a -> s{_iseNotAfter = a}) . mapping _Time;--instance FromXML InstanceStatusEvent where- parseXML x- = InstanceStatusEvent' <$>- (x .@? "notBefore") <*> (x .@? "code") <*>- (x .@? "description")- <*> (x .@? "notAfter")---- | Describes the status of an instance.------ /See:/ 'instanceStatusSummary' smart constructor.-data InstanceStatusSummary = InstanceStatusSummary'- { _issDetails :: !(Maybe [InstanceStatusDetails])- , _issStatus :: !SummaryStatus- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceStatusSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'issDetails'------ * 'issStatus'-instanceStatusSummary- :: SummaryStatus -- ^ 'issStatus'- -> InstanceStatusSummary-instanceStatusSummary pStatus_ =- InstanceStatusSummary'- { _issDetails = Nothing- , _issStatus = pStatus_- }---- | The system instance health or application instance health.-issDetails :: Lens' InstanceStatusSummary [InstanceStatusDetails]-issDetails = lens _issDetails (\ s a -> s{_issDetails = a}) . _Default . _Coerce;---- | The status.-issStatus :: Lens' InstanceStatusSummary SummaryStatus-issStatus = lens _issStatus (\ s a -> s{_issStatus = a});--instance FromXML InstanceStatusSummary where- parseXML x- = InstanceStatusSummary' <$>- (x .@? "details" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "status")---- | Describes an Internet gateway.------ /See:/ 'internetGateway' smart constructor.-data InternetGateway = InternetGateway'- { _igAttachments :: !(Maybe [InternetGatewayAttachment])- , _igTags :: !(Maybe [Tag])- , _igInternetGatewayId :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InternetGateway' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igAttachments'------ * 'igTags'------ * 'igInternetGatewayId'-internetGateway- :: Text -- ^ 'igInternetGatewayId'- -> InternetGateway-internetGateway pInternetGatewayId_ =- InternetGateway'- { _igAttachments = Nothing- , _igTags = Nothing- , _igInternetGatewayId = pInternetGatewayId_- }---- | Any VPCs attached to the Internet gateway.-igAttachments :: Lens' InternetGateway [InternetGatewayAttachment]-igAttachments = lens _igAttachments (\ s a -> s{_igAttachments = a}) . _Default . _Coerce;---- | Any tags assigned to the Internet gateway.-igTags :: Lens' InternetGateway [Tag]-igTags = lens _igTags (\ s a -> s{_igTags = a}) . _Default . _Coerce;---- | The ID of the Internet gateway.-igInternetGatewayId :: Lens' InternetGateway Text-igInternetGatewayId = lens _igInternetGatewayId (\ s a -> s{_igInternetGatewayId = a});--instance FromXML InternetGateway where- parseXML x- = InternetGateway' <$>- (x .@? "attachmentSet" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "internetGatewayId")---- | Describes the attachment of a VPC to an Internet gateway.------ /See:/ 'internetGatewayAttachment' smart constructor.-data InternetGatewayAttachment = InternetGatewayAttachment'- { _igaState :: !AttachmentStatus- , _igaVPCId :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InternetGatewayAttachment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igaState'------ * 'igaVPCId'-internetGatewayAttachment- :: AttachmentStatus -- ^ 'igaState'- -> Text -- ^ 'igaVPCId'- -> InternetGatewayAttachment-internetGatewayAttachment pState_ pVPCId_ =- InternetGatewayAttachment'- { _igaState = pState_- , _igaVPCId = pVPCId_- }---- | The current state of the attachment.-igaState :: Lens' InternetGatewayAttachment AttachmentStatus-igaState = lens _igaState (\ s a -> s{_igaState = a});---- | The ID of the VPC.-igaVPCId :: Lens' InternetGatewayAttachment Text-igaVPCId = lens _igaVPCId (\ s a -> s{_igaVPCId = a});--instance FromXML InternetGatewayAttachment where- parseXML x- = InternetGatewayAttachment' <$>- (x .@ "state") <*> (x .@ "vpcId")---- | Describes a key pair.------ /See:/ 'keyPairInfo' smart constructor.-data KeyPairInfo = KeyPairInfo'- { _kpiKeyFingerprint :: !(Maybe Text)- , _kpiKeyName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'KeyPairInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'kpiKeyFingerprint'------ * 'kpiKeyName'-keyPairInfo- :: KeyPairInfo-keyPairInfo =- KeyPairInfo'- { _kpiKeyFingerprint = Nothing- , _kpiKeyName = Nothing- }---- | If you used CreateKeyPair to create the key pair, this is the SHA-1--- digest of the DER encoded private key. If you used ImportKeyPair to--- provide AWS the public key, this is the MD5 public key fingerprint as--- specified in section 4 of RFC4716.-kpiKeyFingerprint :: Lens' KeyPairInfo (Maybe Text)-kpiKeyFingerprint = lens _kpiKeyFingerprint (\ s a -> s{_kpiKeyFingerprint = a});---- | The name of the key pair.-kpiKeyName :: Lens' KeyPairInfo (Maybe Text)-kpiKeyName = lens _kpiKeyName (\ s a -> s{_kpiKeyName = a});--instance FromXML KeyPairInfo where- parseXML x- = KeyPairInfo' <$>- (x .@? "keyFingerprint") <*> (x .@? "keyName")---- | Describes a launch permission.------ /See:/ 'launchPermission' smart constructor.-data LaunchPermission = LaunchPermission'- { _lpGroup :: !(Maybe PermissionGroup)- , _lpUserId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'LaunchPermission' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lpGroup'------ * 'lpUserId'-launchPermission- :: LaunchPermission-launchPermission =- LaunchPermission'- { _lpGroup = Nothing- , _lpUserId = Nothing- }---- | The name of the group.-lpGroup :: Lens' LaunchPermission (Maybe PermissionGroup)-lpGroup = lens _lpGroup (\ s a -> s{_lpGroup = a});---- | The AWS account ID.-lpUserId :: Lens' LaunchPermission (Maybe Text)-lpUserId = lens _lpUserId (\ s a -> s{_lpUserId = a});--instance FromXML LaunchPermission where- parseXML x- = LaunchPermission' <$>- (x .@? "group") <*> (x .@? "userId")--instance ToQuery LaunchPermission where- toQuery LaunchPermission'{..}- = mconcat- ["Group" =: _lpGroup, "UserId" =: _lpUserId]---- | Describes a launch permission modification.------ /See:/ 'launchPermissionModifications' smart constructor.-data LaunchPermissionModifications = LaunchPermissionModifications'- { _lpmRemove :: !(Maybe [LaunchPermission])- , _lpmAdd :: !(Maybe [LaunchPermission])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'LaunchPermissionModifications' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lpmRemove'------ * 'lpmAdd'-launchPermissionModifications- :: LaunchPermissionModifications-launchPermissionModifications =- LaunchPermissionModifications'- { _lpmRemove = Nothing- , _lpmAdd = Nothing- }---- | The AWS account ID to remove from the list of launch permissions for the--- AMI.-lpmRemove :: Lens' LaunchPermissionModifications [LaunchPermission]-lpmRemove = lens _lpmRemove (\ s a -> s{_lpmRemove = a}) . _Default . _Coerce;---- | The AWS account ID to add to the list of launch permissions for the AMI.-lpmAdd :: Lens' LaunchPermissionModifications [LaunchPermission]-lpmAdd = lens _lpmAdd (\ s a -> s{_lpmAdd = a}) . _Default . _Coerce;--instance ToQuery LaunchPermissionModifications where- toQuery LaunchPermissionModifications'{..}- = mconcat- [toQuery (toQueryList "Remove" <$> _lpmRemove),- toQuery (toQueryList "Add" <$> _lpmAdd)]---- | Describes the launch specification for an instance.------ /See:/ 'launchSpecification' smart constructor.-data LaunchSpecification = LaunchSpecification'- { _lsSecurityGroups :: !(Maybe [GroupIdentifier])- , _lsKeyName :: !(Maybe Text)- , _lsNetworkInterfaces :: !(Maybe [InstanceNetworkInterfaceSpecification])- , _lsRAMDiskId :: !(Maybe Text)- , _lsSubnetId :: !(Maybe Text)- , _lsKernelId :: !(Maybe Text)- , _lsInstanceType :: !(Maybe InstanceType)- , _lsEBSOptimized :: !(Maybe Bool)- , _lsUserData :: !(Maybe Text)- , _lsMonitoring :: !(Maybe RunInstancesMonitoringEnabled)- , _lsIAMInstanceProfile :: !(Maybe IAMInstanceProfileSpecification)- , _lsImageId :: !(Maybe Text)- , _lsAddressingType :: !(Maybe Text)- , _lsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])- , _lsPlacement :: !(Maybe SpotPlacement)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'LaunchSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lsSecurityGroups'------ * 'lsKeyName'------ * 'lsNetworkInterfaces'------ * 'lsRAMDiskId'------ * 'lsSubnetId'------ * 'lsKernelId'------ * 'lsInstanceType'------ * 'lsEBSOptimized'------ * 'lsUserData'------ * 'lsMonitoring'------ * 'lsIAMInstanceProfile'------ * 'lsImageId'------ * 'lsAddressingType'------ * 'lsBlockDeviceMappings'------ * 'lsPlacement'-launchSpecification- :: LaunchSpecification-launchSpecification =- LaunchSpecification'- { _lsSecurityGroups = Nothing- , _lsKeyName = Nothing- , _lsNetworkInterfaces = Nothing- , _lsRAMDiskId = Nothing- , _lsSubnetId = Nothing- , _lsKernelId = Nothing- , _lsInstanceType = Nothing- , _lsEBSOptimized = Nothing- , _lsUserData = Nothing- , _lsMonitoring = Nothing- , _lsIAMInstanceProfile = Nothing- , _lsImageId = Nothing- , _lsAddressingType = Nothing- , _lsBlockDeviceMappings = Nothing- , _lsPlacement = Nothing- }---- | One or more security groups. When requesting instances in a VPC, you--- must specify the IDs of the security groups. When requesting instances--- in EC2-Classic, you can specify the names or the IDs of the security--- groups.-lsSecurityGroups :: Lens' LaunchSpecification [GroupIdentifier]-lsSecurityGroups = lens _lsSecurityGroups (\ s a -> s{_lsSecurityGroups = a}) . _Default . _Coerce;---- | The name of the key pair.-lsKeyName :: Lens' LaunchSpecification (Maybe Text)-lsKeyName = lens _lsKeyName (\ s a -> s{_lsKeyName = a});---- | One or more network interfaces.-lsNetworkInterfaces :: Lens' LaunchSpecification [InstanceNetworkInterfaceSpecification]-lsNetworkInterfaces = lens _lsNetworkInterfaces (\ s a -> s{_lsNetworkInterfaces = a}) . _Default . _Coerce;---- | The ID of the RAM disk.-lsRAMDiskId :: Lens' LaunchSpecification (Maybe Text)-lsRAMDiskId = lens _lsRAMDiskId (\ s a -> s{_lsRAMDiskId = a});---- | The ID of the subnet in which to launch the instance.-lsSubnetId :: Lens' LaunchSpecification (Maybe Text)-lsSubnetId = lens _lsSubnetId (\ s a -> s{_lsSubnetId = a});---- | The ID of the kernel.-lsKernelId :: Lens' LaunchSpecification (Maybe Text)-lsKernelId = lens _lsKernelId (\ s a -> s{_lsKernelId = a});---- | The instance type.-lsInstanceType :: Lens' LaunchSpecification (Maybe InstanceType)-lsInstanceType = lens _lsInstanceType (\ s a -> s{_lsInstanceType = a});---- | Indicates whether the instance is optimized for EBS I\/O. This--- optimization provides dedicated throughput to Amazon EBS and an--- optimized configuration stack to provide optimal EBS I\/O performance.--- This optimization isn\'t available with all instance types. Additional--- usage charges apply when using an EBS Optimized instance.------ Default: 'false'-lsEBSOptimized :: Lens' LaunchSpecification (Maybe Bool)-lsEBSOptimized = lens _lsEBSOptimized (\ s a -> s{_lsEBSOptimized = a});---- | The Base64-encoded MIME user data to make available to the instances.-lsUserData :: Lens' LaunchSpecification (Maybe Text)-lsUserData = lens _lsUserData (\ s a -> s{_lsUserData = a});---- | Undocumented member.-lsMonitoring :: Lens' LaunchSpecification (Maybe RunInstancesMonitoringEnabled)-lsMonitoring = lens _lsMonitoring (\ s a -> s{_lsMonitoring = a});---- | The IAM instance profile.-lsIAMInstanceProfile :: Lens' LaunchSpecification (Maybe IAMInstanceProfileSpecification)-lsIAMInstanceProfile = lens _lsIAMInstanceProfile (\ s a -> s{_lsIAMInstanceProfile = a});---- | The ID of the AMI.-lsImageId :: Lens' LaunchSpecification (Maybe Text)-lsImageId = lens _lsImageId (\ s a -> s{_lsImageId = a});---- | Deprecated.-lsAddressingType :: Lens' LaunchSpecification (Maybe Text)-lsAddressingType = lens _lsAddressingType (\ s a -> s{_lsAddressingType = a});---- | One or more block device mapping entries.-lsBlockDeviceMappings :: Lens' LaunchSpecification [BlockDeviceMapping]-lsBlockDeviceMappings = lens _lsBlockDeviceMappings (\ s a -> s{_lsBlockDeviceMappings = a}) . _Default . _Coerce;---- | The placement information for the instance.-lsPlacement :: Lens' LaunchSpecification (Maybe SpotPlacement)-lsPlacement = lens _lsPlacement (\ s a -> s{_lsPlacement = a});--instance FromXML LaunchSpecification where- parseXML x- = LaunchSpecification' <$>- (x .@? "groupSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "keyName")- <*>- (x .@? "networkInterfaceSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "ramdiskId")- <*> (x .@? "subnetId")- <*> (x .@? "kernelId")- <*> (x .@? "instanceType")- <*> (x .@? "ebsOptimized")- <*> (x .@? "userData")- <*> (x .@? "monitoring")- <*> (x .@? "iamInstanceProfile")- <*> (x .@? "imageId")- <*> (x .@? "addressingType")- <*>- (x .@? "blockDeviceMapping" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "placement")---- | Describes the monitoring for the instance.------ /See:/ 'monitoring' smart constructor.-newtype Monitoring = Monitoring'- { _mState :: Maybe MonitoringState- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Monitoring' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mState'-monitoring- :: Monitoring-monitoring =- Monitoring'- { _mState = Nothing- }---- | Indicates whether monitoring is enabled for the instance.-mState :: Lens' Monitoring (Maybe MonitoringState)-mState = lens _mState (\ s a -> s{_mState = a});--instance FromXML Monitoring where- parseXML x = Monitoring' <$> (x .@? "state")---- | Describes the status of a moving Elastic IP address.------ /See:/ 'movingAddressStatus' smart constructor.-data MovingAddressStatus = MovingAddressStatus'- { _masMoveStatus :: !(Maybe MoveStatus)- , _masPublicIP :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'MovingAddressStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'masMoveStatus'------ * 'masPublicIP'-movingAddressStatus- :: MovingAddressStatus-movingAddressStatus =- MovingAddressStatus'- { _masMoveStatus = Nothing- , _masPublicIP = Nothing- }---- | The status of the Elastic IP address that\'s being moved to the EC2-VPC--- platform, or restored to the EC2-Classic platform.-masMoveStatus :: Lens' MovingAddressStatus (Maybe MoveStatus)-masMoveStatus = lens _masMoveStatus (\ s a -> s{_masMoveStatus = a});---- | The Elastic IP address.-masPublicIP :: Lens' MovingAddressStatus (Maybe Text)-masPublicIP = lens _masPublicIP (\ s a -> s{_masPublicIP = a});--instance FromXML MovingAddressStatus where- parseXML x- = MovingAddressStatus' <$>- (x .@? "moveStatus") <*> (x .@? "publicIp")---- | Describes a NAT gateway.------ /See:/ 'natGateway' smart constructor.-data NatGateway = NatGateway'- { _ngState :: !(Maybe NatGatewayState)- , _ngFailureCode :: !(Maybe Text)- , _ngVPCId :: !(Maybe Text)- , _ngFailureMessage :: !(Maybe Text)- , _ngNatGatewayId :: !(Maybe Text)- , _ngSubnetId :: !(Maybe Text)- , _ngDeleteTime :: !(Maybe ISO8601)- , _ngNatGatewayAddresses :: !(Maybe [NatGatewayAddress])- , _ngCreateTime :: !(Maybe ISO8601)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'NatGateway' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ngState'------ * 'ngFailureCode'------ * 'ngVPCId'------ * 'ngFailureMessage'------ * 'ngNatGatewayId'------ * 'ngSubnetId'------ * 'ngDeleteTime'------ * 'ngNatGatewayAddresses'------ * 'ngCreateTime'-natGateway- :: NatGateway-natGateway =- NatGateway'- { _ngState = Nothing- , _ngFailureCode = Nothing- , _ngVPCId = Nothing- , _ngFailureMessage = Nothing- , _ngNatGatewayId = Nothing- , _ngSubnetId = Nothing- , _ngDeleteTime = Nothing- , _ngNatGatewayAddresses = Nothing- , _ngCreateTime = Nothing- }---- | The state of the NAT gateway.-ngState :: Lens' NatGateway (Maybe NatGatewayState)-ngState = lens _ngState (\ s a -> s{_ngState = a});---- | If the NAT gateway could not be created, specifies the error code for--- the failure. ('InsufficientFreeAddressesInSubnet' |--- 'Gateway.NotAttached' | 'InvalidAllocationID.NotFound' |--- 'Resource.AlreadyAssociated' | 'InternalError')-ngFailureCode :: Lens' NatGateway (Maybe Text)-ngFailureCode = lens _ngFailureCode (\ s a -> s{_ngFailureCode = a});---- | The ID of the VPC in which the NAT gateway is located.-ngVPCId :: Lens' NatGateway (Maybe Text)-ngVPCId = lens _ngVPCId (\ s a -> s{_ngVPCId = a});---- | If the NAT gateway could not be created, specifies the error message for--- the failure, that corresponds to the error code.------ - For InsufficientFreeAddressesInSubnet:--- 'Subnet has insufficient free addresses to create this NAT gateway'--- - For Gateway.NotAttached:--- 'Network vpc-xxxxxxxx has no Internet gateway attached'--- - For InvalidAllocationID.NotFound:--- 'Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway'--- - For Resource.AlreadyAssociated:--- 'Elastic IP address eipalloc-xxxxxxxx is already associated'--- - For InternalError:--- 'Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again.'-ngFailureMessage :: Lens' NatGateway (Maybe Text)-ngFailureMessage = lens _ngFailureMessage (\ s a -> s{_ngFailureMessage = a});---- | The ID of the NAT gateway.-ngNatGatewayId :: Lens' NatGateway (Maybe Text)-ngNatGatewayId = lens _ngNatGatewayId (\ s a -> s{_ngNatGatewayId = a});---- | The ID of the subnet in which the NAT gateway is located.-ngSubnetId :: Lens' NatGateway (Maybe Text)-ngSubnetId = lens _ngSubnetId (\ s a -> s{_ngSubnetId = a});---- | The date and time the NAT gateway was deleted, if applicable.-ngDeleteTime :: Lens' NatGateway (Maybe UTCTime)-ngDeleteTime = lens _ngDeleteTime (\ s a -> s{_ngDeleteTime = a}) . mapping _Time;---- | Information about the IP addresses and network interface associated with--- the NAT gateway.-ngNatGatewayAddresses :: Lens' NatGateway [NatGatewayAddress]-ngNatGatewayAddresses = lens _ngNatGatewayAddresses (\ s a -> s{_ngNatGatewayAddresses = a}) . _Default . _Coerce;---- | The date and time the NAT gateway was created.-ngCreateTime :: Lens' NatGateway (Maybe UTCTime)-ngCreateTime = lens _ngCreateTime (\ s a -> s{_ngCreateTime = a}) . mapping _Time;--instance FromXML NatGateway where- parseXML x- = NatGateway' <$>- (x .@? "state") <*> (x .@? "failureCode") <*>- (x .@? "vpcId")- <*> (x .@? "failureMessage")- <*> (x .@? "natGatewayId")- <*> (x .@? "subnetId")- <*> (x .@? "deleteTime")- <*>- (x .@? "natGatewayAddressSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "createTime")---- | Describes the IP addresses and network interface associated with a NAT--- gateway.------ /See:/ 'natGatewayAddress' smart constructor.-data NatGatewayAddress = NatGatewayAddress'- { _ngaPrivateIP :: !(Maybe Text)- , _ngaAllocationId :: !(Maybe Text)- , _ngaNetworkInterfaceId :: !(Maybe Text)- , _ngaPublicIP :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'NatGatewayAddress' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ngaPrivateIP'------ * 'ngaAllocationId'------ * 'ngaNetworkInterfaceId'------ * 'ngaPublicIP'-natGatewayAddress- :: NatGatewayAddress-natGatewayAddress =- NatGatewayAddress'- { _ngaPrivateIP = Nothing- , _ngaAllocationId = Nothing- , _ngaNetworkInterfaceId = Nothing- , _ngaPublicIP = Nothing- }---- | The private IP address associated with the Elastic IP address.-ngaPrivateIP :: Lens' NatGatewayAddress (Maybe Text)-ngaPrivateIP = lens _ngaPrivateIP (\ s a -> s{_ngaPrivateIP = a});---- | The allocation ID of the Elastic IP address that\'s associated with the--- NAT gateway.-ngaAllocationId :: Lens' NatGatewayAddress (Maybe Text)-ngaAllocationId = lens _ngaAllocationId (\ s a -> s{_ngaAllocationId = a});---- | The ID of the network interface associated with the NAT gateway.-ngaNetworkInterfaceId :: Lens' NatGatewayAddress (Maybe Text)-ngaNetworkInterfaceId = lens _ngaNetworkInterfaceId (\ s a -> s{_ngaNetworkInterfaceId = a});---- | The Elastic IP address associated with the NAT gateway.-ngaPublicIP :: Lens' NatGatewayAddress (Maybe Text)-ngaPublicIP = lens _ngaPublicIP (\ s a -> s{_ngaPublicIP = a});--instance FromXML NatGatewayAddress where- parseXML x- = NatGatewayAddress' <$>- (x .@? "privateIp") <*> (x .@? "allocationId") <*>- (x .@? "networkInterfaceId")- <*> (x .@? "publicIp")---- | Describes a network ACL.------ /See:/ 'networkACL' smart constructor.-data NetworkACL = NetworkACL'- { _naEntries :: !(Maybe [NetworkACLEntry])- , _naNetworkACLId :: !(Maybe Text)- , _naVPCId :: !(Maybe Text)- , _naAssociations :: !(Maybe [NetworkACLAssociation])- , _naTags :: !(Maybe [Tag])- , _naIsDefault :: !(Maybe Bool)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkACL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'naEntries'------ * 'naNetworkACLId'------ * 'naVPCId'------ * 'naAssociations'------ * 'naTags'------ * 'naIsDefault'-networkACL- :: NetworkACL-networkACL =- NetworkACL'- { _naEntries = Nothing- , _naNetworkACLId = Nothing- , _naVPCId = Nothing- , _naAssociations = Nothing- , _naTags = Nothing- , _naIsDefault = Nothing- }---- | One or more entries (rules) in the network ACL.-naEntries :: Lens' NetworkACL [NetworkACLEntry]-naEntries = lens _naEntries (\ s a -> s{_naEntries = a}) . _Default . _Coerce;---- | The ID of the network ACL.-naNetworkACLId :: Lens' NetworkACL (Maybe Text)-naNetworkACLId = lens _naNetworkACLId (\ s a -> s{_naNetworkACLId = a});---- | The ID of the VPC for the network ACL.-naVPCId :: Lens' NetworkACL (Maybe Text)-naVPCId = lens _naVPCId (\ s a -> s{_naVPCId = a});---- | Any associations between the network ACL and one or more subnets-naAssociations :: Lens' NetworkACL [NetworkACLAssociation]-naAssociations = lens _naAssociations (\ s a -> s{_naAssociations = a}) . _Default . _Coerce;---- | Any tags assigned to the network ACL.-naTags :: Lens' NetworkACL [Tag]-naTags = lens _naTags (\ s a -> s{_naTags = a}) . _Default . _Coerce;---- | Indicates whether this is the default network ACL for the VPC.-naIsDefault :: Lens' NetworkACL (Maybe Bool)-naIsDefault = lens _naIsDefault (\ s a -> s{_naIsDefault = a});--instance FromXML NetworkACL where- parseXML x- = NetworkACL' <$>- (x .@? "entrySet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "networkAclId")- <*> (x .@? "vpcId")- <*>- (x .@? "associationSet" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "default")---- | Describes an association between a network ACL and a subnet.------ /See:/ 'networkACLAssociation' smart constructor.-data NetworkACLAssociation = NetworkACLAssociation'- { _naaNetworkACLId :: !(Maybe Text)- , _naaSubnetId :: !(Maybe Text)- , _naaNetworkACLAssociationId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkACLAssociation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'naaNetworkACLId'------ * 'naaSubnetId'------ * 'naaNetworkACLAssociationId'-networkACLAssociation- :: NetworkACLAssociation-networkACLAssociation =- NetworkACLAssociation'- { _naaNetworkACLId = Nothing- , _naaSubnetId = Nothing- , _naaNetworkACLAssociationId = Nothing- }---- | The ID of the network ACL.-naaNetworkACLId :: Lens' NetworkACLAssociation (Maybe Text)-naaNetworkACLId = lens _naaNetworkACLId (\ s a -> s{_naaNetworkACLId = a});---- | The ID of the subnet.-naaSubnetId :: Lens' NetworkACLAssociation (Maybe Text)-naaSubnetId = lens _naaSubnetId (\ s a -> s{_naaSubnetId = a});---- | The ID of the association between a network ACL and a subnet.-naaNetworkACLAssociationId :: Lens' NetworkACLAssociation (Maybe Text)-naaNetworkACLAssociationId = lens _naaNetworkACLAssociationId (\ s a -> s{_naaNetworkACLAssociationId = a});--instance FromXML NetworkACLAssociation where- parseXML x- = NetworkACLAssociation' <$>- (x .@? "networkAclId") <*> (x .@? "subnetId") <*>- (x .@? "networkAclAssociationId")---- | Describes an entry in a network ACL.------ /See:/ 'networkACLEntry' smart constructor.-data NetworkACLEntry = NetworkACLEntry'- { _naeICMPTypeCode :: !(Maybe ICMPTypeCode)- , _naeRuleNumber :: !(Maybe Int)- , _naeRuleAction :: !(Maybe RuleAction)- , _naeProtocol :: !(Maybe Text)- , _naePortRange :: !(Maybe PortRange)- , _naeCIdRBlock :: !(Maybe Text)- , _naeEgress :: !(Maybe Bool)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkACLEntry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'naeICMPTypeCode'------ * 'naeRuleNumber'------ * 'naeRuleAction'------ * 'naeProtocol'------ * 'naePortRange'------ * 'naeCIdRBlock'------ * 'naeEgress'-networkACLEntry- :: NetworkACLEntry-networkACLEntry =- NetworkACLEntry'- { _naeICMPTypeCode = Nothing- , _naeRuleNumber = Nothing- , _naeRuleAction = Nothing- , _naeProtocol = Nothing- , _naePortRange = Nothing- , _naeCIdRBlock = Nothing- , _naeEgress = Nothing- }---- | ICMP protocol: The ICMP type and code.-naeICMPTypeCode :: Lens' NetworkACLEntry (Maybe ICMPTypeCode)-naeICMPTypeCode = lens _naeICMPTypeCode (\ s a -> s{_naeICMPTypeCode = a});---- | The rule number for the entry. ACL entries are processed in ascending--- order by rule number.-naeRuleNumber :: Lens' NetworkACLEntry (Maybe Int)-naeRuleNumber = lens _naeRuleNumber (\ s a -> s{_naeRuleNumber = a});---- | Indicates whether to allow or deny the traffic that matches the rule.-naeRuleAction :: Lens' NetworkACLEntry (Maybe RuleAction)-naeRuleAction = lens _naeRuleAction (\ s a -> s{_naeRuleAction = a});---- | The protocol. A value of '-1' means all protocols.-naeProtocol :: Lens' NetworkACLEntry (Maybe Text)-naeProtocol = lens _naeProtocol (\ s a -> s{_naeProtocol = a});---- | TCP or UDP protocols: The range of ports the rule applies to.-naePortRange :: Lens' NetworkACLEntry (Maybe PortRange)-naePortRange = lens _naePortRange (\ s a -> s{_naePortRange = a});---- | The network range to allow or deny, in CIDR notation.-naeCIdRBlock :: Lens' NetworkACLEntry (Maybe Text)-naeCIdRBlock = lens _naeCIdRBlock (\ s a -> s{_naeCIdRBlock = a});---- | Indicates whether the rule is an egress rule (applied to traffic leaving--- the subnet).-naeEgress :: Lens' NetworkACLEntry (Maybe Bool)-naeEgress = lens _naeEgress (\ s a -> s{_naeEgress = a});--instance FromXML NetworkACLEntry where- parseXML x- = NetworkACLEntry' <$>- (x .@? "icmpTypeCode") <*> (x .@? "ruleNumber") <*>- (x .@? "ruleAction")- <*> (x .@? "protocol")- <*> (x .@? "portRange")- <*> (x .@? "cidrBlock")- <*> (x .@? "egress")---- | Describes a network interface.------ /See:/ 'networkInterface' smart constructor.-data NetworkInterface = NetworkInterface'- { _niGroups :: !(Maybe [GroupIdentifier])- , _niStatus :: !(Maybe NetworkInterfaceStatus)- , _niPrivateIPAddresses :: !(Maybe [NetworkInterfacePrivateIPAddress])- , _niSourceDestCheck :: !(Maybe Bool)- , _niInterfaceType :: !(Maybe NetworkInterfaceType)- , _niVPCId :: !(Maybe Text)- , _niTagSet :: !(Maybe [Tag])- , _niRequesterManaged :: !(Maybe Bool)- , _niNetworkInterfaceId :: !(Maybe Text)- , _niSubnetId :: !(Maybe Text)- , _niMACAddress :: !(Maybe Text)- , _niAttachment :: !(Maybe NetworkInterfaceAttachment)- , _niOwnerId :: !(Maybe Text)- , _niAvailabilityZone :: !(Maybe Text)- , _niPrivateIPAddress :: !(Maybe Text)- , _niPrivateDNSName :: !(Maybe Text)- , _niRequesterId :: !(Maybe Text)- , _niDescription :: !(Maybe Text)- , _niAssociation :: !(Maybe NetworkInterfaceAssociation)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkInterface' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'niGroups'------ * 'niStatus'------ * 'niPrivateIPAddresses'------ * 'niSourceDestCheck'------ * 'niInterfaceType'------ * 'niVPCId'------ * 'niTagSet'------ * 'niRequesterManaged'------ * 'niNetworkInterfaceId'------ * 'niSubnetId'------ * 'niMACAddress'------ * 'niAttachment'------ * 'niOwnerId'------ * 'niAvailabilityZone'------ * 'niPrivateIPAddress'------ * 'niPrivateDNSName'------ * 'niRequesterId'------ * 'niDescription'------ * 'niAssociation'-networkInterface- :: NetworkInterface-networkInterface =- NetworkInterface'- { _niGroups = Nothing- , _niStatus = Nothing- , _niPrivateIPAddresses = Nothing- , _niSourceDestCheck = Nothing- , _niInterfaceType = Nothing- , _niVPCId = Nothing- , _niTagSet = Nothing- , _niRequesterManaged = Nothing- , _niNetworkInterfaceId = Nothing- , _niSubnetId = Nothing- , _niMACAddress = Nothing- , _niAttachment = Nothing- , _niOwnerId = Nothing- , _niAvailabilityZone = Nothing- , _niPrivateIPAddress = Nothing- , _niPrivateDNSName = Nothing- , _niRequesterId = Nothing- , _niDescription = Nothing- , _niAssociation = Nothing- }---- | Any security groups for the network interface.-niGroups :: Lens' NetworkInterface [GroupIdentifier]-niGroups = lens _niGroups (\ s a -> s{_niGroups = a}) . _Default . _Coerce;---- | The status of the network interface.-niStatus :: Lens' NetworkInterface (Maybe NetworkInterfaceStatus)-niStatus = lens _niStatus (\ s a -> s{_niStatus = a});---- | The private IP addresses associated with the network interface.-niPrivateIPAddresses :: Lens' NetworkInterface [NetworkInterfacePrivateIPAddress]-niPrivateIPAddresses = lens _niPrivateIPAddresses (\ s a -> s{_niPrivateIPAddresses = a}) . _Default . _Coerce;---- | Indicates whether traffic to or from the instance is validated.-niSourceDestCheck :: Lens' NetworkInterface (Maybe Bool)-niSourceDestCheck = lens _niSourceDestCheck (\ s a -> s{_niSourceDestCheck = a});---- | The type of interface.-niInterfaceType :: Lens' NetworkInterface (Maybe NetworkInterfaceType)-niInterfaceType = lens _niInterfaceType (\ s a -> s{_niInterfaceType = a});---- | The ID of the VPC.-niVPCId :: Lens' NetworkInterface (Maybe Text)-niVPCId = lens _niVPCId (\ s a -> s{_niVPCId = a});---- | Any tags assigned to the network interface.-niTagSet :: Lens' NetworkInterface [Tag]-niTagSet = lens _niTagSet (\ s a -> s{_niTagSet = a}) . _Default . _Coerce;---- | Indicates whether the network interface is being managed by AWS.-niRequesterManaged :: Lens' NetworkInterface (Maybe Bool)-niRequesterManaged = lens _niRequesterManaged (\ s a -> s{_niRequesterManaged = a});---- | The ID of the network interface.-niNetworkInterfaceId :: Lens' NetworkInterface (Maybe Text)-niNetworkInterfaceId = lens _niNetworkInterfaceId (\ s a -> s{_niNetworkInterfaceId = a});---- | The ID of the subnet.-niSubnetId :: Lens' NetworkInterface (Maybe Text)-niSubnetId = lens _niSubnetId (\ s a -> s{_niSubnetId = a});---- | The MAC address.-niMACAddress :: Lens' NetworkInterface (Maybe Text)-niMACAddress = lens _niMACAddress (\ s a -> s{_niMACAddress = a});---- | The network interface attachment.-niAttachment :: Lens' NetworkInterface (Maybe NetworkInterfaceAttachment)-niAttachment = lens _niAttachment (\ s a -> s{_niAttachment = a});---- | The AWS account ID of the owner of the network interface.-niOwnerId :: Lens' NetworkInterface (Maybe Text)-niOwnerId = lens _niOwnerId (\ s a -> s{_niOwnerId = a});---- | The Availability Zone.-niAvailabilityZone :: Lens' NetworkInterface (Maybe Text)-niAvailabilityZone = lens _niAvailabilityZone (\ s a -> s{_niAvailabilityZone = a});---- | The IP address of the network interface within the subnet.-niPrivateIPAddress :: Lens' NetworkInterface (Maybe Text)-niPrivateIPAddress = lens _niPrivateIPAddress (\ s a -> s{_niPrivateIPAddress = a});---- | The private DNS name.-niPrivateDNSName :: Lens' NetworkInterface (Maybe Text)-niPrivateDNSName = lens _niPrivateDNSName (\ s a -> s{_niPrivateDNSName = a});---- | The ID of the entity that launched the instance on your behalf (for--- example, AWS Management Console or Auto Scaling).-niRequesterId :: Lens' NetworkInterface (Maybe Text)-niRequesterId = lens _niRequesterId (\ s a -> s{_niRequesterId = a});---- | A description.-niDescription :: Lens' NetworkInterface (Maybe Text)-niDescription = lens _niDescription (\ s a -> s{_niDescription = a});---- | The association information for an Elastic IP associated with the--- network interface.-niAssociation :: Lens' NetworkInterface (Maybe NetworkInterfaceAssociation)-niAssociation = lens _niAssociation (\ s a -> s{_niAssociation = a});--instance FromXML NetworkInterface where- parseXML x- = NetworkInterface' <$>- (x .@? "groupSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "status")- <*>- (x .@? "privateIpAddressesSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "sourceDestCheck")- <*> (x .@? "interfaceType")- <*> (x .@? "vpcId")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "requesterManaged")- <*> (x .@? "networkInterfaceId")- <*> (x .@? "subnetId")- <*> (x .@? "macAddress")- <*> (x .@? "attachment")- <*> (x .@? "ownerId")- <*> (x .@? "availabilityZone")- <*> (x .@? "privateIpAddress")- <*> (x .@? "privateDnsName")- <*> (x .@? "requesterId")- <*> (x .@? "description")- <*> (x .@? "association")---- | Describes association information for an Elastic IP address.------ /See:/ 'networkInterfaceAssociation' smart constructor.-data NetworkInterfaceAssociation = NetworkInterfaceAssociation'- { _niaAssociationId :: !(Maybe Text)- , _niaPublicDNSName :: !(Maybe Text)- , _niaAllocationId :: !(Maybe Text)- , _niaIPOwnerId :: !(Maybe Text)- , _niaPublicIP :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkInterfaceAssociation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'niaAssociationId'------ * 'niaPublicDNSName'------ * 'niaAllocationId'------ * 'niaIPOwnerId'------ * 'niaPublicIP'-networkInterfaceAssociation- :: NetworkInterfaceAssociation-networkInterfaceAssociation =- NetworkInterfaceAssociation'- { _niaAssociationId = Nothing- , _niaPublicDNSName = Nothing- , _niaAllocationId = Nothing- , _niaIPOwnerId = Nothing- , _niaPublicIP = Nothing- }---- | The association ID.-niaAssociationId :: Lens' NetworkInterfaceAssociation (Maybe Text)-niaAssociationId = lens _niaAssociationId (\ s a -> s{_niaAssociationId = a});---- | The public DNS name.-niaPublicDNSName :: Lens' NetworkInterfaceAssociation (Maybe Text)-niaPublicDNSName = lens _niaPublicDNSName (\ s a -> s{_niaPublicDNSName = a});---- | The allocation ID.-niaAllocationId :: Lens' NetworkInterfaceAssociation (Maybe Text)-niaAllocationId = lens _niaAllocationId (\ s a -> s{_niaAllocationId = a});---- | The ID of the Elastic IP address owner.-niaIPOwnerId :: Lens' NetworkInterfaceAssociation (Maybe Text)-niaIPOwnerId = lens _niaIPOwnerId (\ s a -> s{_niaIPOwnerId = a});---- | The address of the Elastic IP address bound to the network interface.-niaPublicIP :: Lens' NetworkInterfaceAssociation (Maybe Text)-niaPublicIP = lens _niaPublicIP (\ s a -> s{_niaPublicIP = a});--instance FromXML NetworkInterfaceAssociation where- parseXML x- = NetworkInterfaceAssociation' <$>- (x .@? "associationId") <*> (x .@? "publicDnsName")- <*> (x .@? "allocationId")- <*> (x .@? "ipOwnerId")- <*> (x .@? "publicIp")---- | Describes a network interface attachment.------ /See:/ 'networkInterfaceAttachment' smart constructor.-data NetworkInterfaceAttachment = NetworkInterfaceAttachment'- { _niaInstanceId :: !(Maybe Text)- , _niaStatus :: !(Maybe AttachmentStatus)- , _niaDeleteOnTermination :: !(Maybe Bool)- , _niaAttachmentId :: !(Maybe Text)- , _niaInstanceOwnerId :: !(Maybe Text)- , _niaAttachTime :: !(Maybe ISO8601)- , _niaDeviceIndex :: !(Maybe Int)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkInterfaceAttachment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'niaInstanceId'------ * 'niaStatus'------ * 'niaDeleteOnTermination'------ * 'niaAttachmentId'------ * 'niaInstanceOwnerId'------ * 'niaAttachTime'------ * 'niaDeviceIndex'-networkInterfaceAttachment- :: NetworkInterfaceAttachment-networkInterfaceAttachment =- NetworkInterfaceAttachment'- { _niaInstanceId = Nothing- , _niaStatus = Nothing- , _niaDeleteOnTermination = Nothing- , _niaAttachmentId = Nothing- , _niaInstanceOwnerId = Nothing- , _niaAttachTime = Nothing- , _niaDeviceIndex = Nothing- }---- | The ID of the instance.-niaInstanceId :: Lens' NetworkInterfaceAttachment (Maybe Text)-niaInstanceId = lens _niaInstanceId (\ s a -> s{_niaInstanceId = a});---- | The attachment state.-niaStatus :: Lens' NetworkInterfaceAttachment (Maybe AttachmentStatus)-niaStatus = lens _niaStatus (\ s a -> s{_niaStatus = a});---- | Indicates whether the network interface is deleted when the instance is--- terminated.-niaDeleteOnTermination :: Lens' NetworkInterfaceAttachment (Maybe Bool)-niaDeleteOnTermination = lens _niaDeleteOnTermination (\ s a -> s{_niaDeleteOnTermination = a});---- | The ID of the network interface attachment.-niaAttachmentId :: Lens' NetworkInterfaceAttachment (Maybe Text)-niaAttachmentId = lens _niaAttachmentId (\ s a -> s{_niaAttachmentId = a});---- | The AWS account ID of the owner of the instance.-niaInstanceOwnerId :: Lens' NetworkInterfaceAttachment (Maybe Text)-niaInstanceOwnerId = lens _niaInstanceOwnerId (\ s a -> s{_niaInstanceOwnerId = a});---- | The timestamp indicating when the attachment initiated.-niaAttachTime :: Lens' NetworkInterfaceAttachment (Maybe UTCTime)-niaAttachTime = lens _niaAttachTime (\ s a -> s{_niaAttachTime = a}) . mapping _Time;---- | The device index of the network interface attachment on the instance.-niaDeviceIndex :: Lens' NetworkInterfaceAttachment (Maybe Int)-niaDeviceIndex = lens _niaDeviceIndex (\ s a -> s{_niaDeviceIndex = a});--instance FromXML NetworkInterfaceAttachment where- parseXML x- = NetworkInterfaceAttachment' <$>- (x .@? "instanceId") <*> (x .@? "status") <*>- (x .@? "deleteOnTermination")- <*> (x .@? "attachmentId")- <*> (x .@? "instanceOwnerId")- <*> (x .@? "attachTime")- <*> (x .@? "deviceIndex")---- | Describes an attachment change.------ /See:/ 'networkInterfaceAttachmentChanges' smart constructor.-data NetworkInterfaceAttachmentChanges = NetworkInterfaceAttachmentChanges'- { _niacDeleteOnTermination :: !(Maybe Bool)- , _niacAttachmentId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkInterfaceAttachmentChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'niacDeleteOnTermination'------ * 'niacAttachmentId'-networkInterfaceAttachmentChanges- :: NetworkInterfaceAttachmentChanges-networkInterfaceAttachmentChanges =- NetworkInterfaceAttachmentChanges'- { _niacDeleteOnTermination = Nothing- , _niacAttachmentId = Nothing- }---- | Indicates whether the network interface is deleted when the instance is--- terminated.-niacDeleteOnTermination :: Lens' NetworkInterfaceAttachmentChanges (Maybe Bool)-niacDeleteOnTermination = lens _niacDeleteOnTermination (\ s a -> s{_niacDeleteOnTermination = a});---- | The ID of the network interface attachment.-niacAttachmentId :: Lens' NetworkInterfaceAttachmentChanges (Maybe Text)-niacAttachmentId = lens _niacAttachmentId (\ s a -> s{_niacAttachmentId = a});--instance ToQuery NetworkInterfaceAttachmentChanges- where- toQuery NetworkInterfaceAttachmentChanges'{..}- = mconcat- ["DeleteOnTermination" =: _niacDeleteOnTermination,- "AttachmentId" =: _niacAttachmentId]---- | Describes the private IP address of a network interface.------ /See:/ 'networkInterfacePrivateIPAddress' smart constructor.-data NetworkInterfacePrivateIPAddress = NetworkInterfacePrivateIPAddress'- { _nipiaPrimary :: !(Maybe Bool)- , _nipiaPrivateIPAddress :: !(Maybe Text)- , _nipiaPrivateDNSName :: !(Maybe Text)- , _nipiaAssociation :: !(Maybe NetworkInterfaceAssociation)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkInterfacePrivateIPAddress' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nipiaPrimary'------ * 'nipiaPrivateIPAddress'------ * 'nipiaPrivateDNSName'------ * 'nipiaAssociation'-networkInterfacePrivateIPAddress- :: NetworkInterfacePrivateIPAddress-networkInterfacePrivateIPAddress =- NetworkInterfacePrivateIPAddress'- { _nipiaPrimary = Nothing- , _nipiaPrivateIPAddress = Nothing- , _nipiaPrivateDNSName = Nothing- , _nipiaAssociation = Nothing- }---- | Indicates whether this IP address is the primary private IP address of--- the network interface.-nipiaPrimary :: Lens' NetworkInterfacePrivateIPAddress (Maybe Bool)-nipiaPrimary = lens _nipiaPrimary (\ s a -> s{_nipiaPrimary = a});---- | The private IP address.-nipiaPrivateIPAddress :: Lens' NetworkInterfacePrivateIPAddress (Maybe Text)-nipiaPrivateIPAddress = lens _nipiaPrivateIPAddress (\ s a -> s{_nipiaPrivateIPAddress = a});---- | The private DNS name.-nipiaPrivateDNSName :: Lens' NetworkInterfacePrivateIPAddress (Maybe Text)-nipiaPrivateDNSName = lens _nipiaPrivateDNSName (\ s a -> s{_nipiaPrivateDNSName = a});---- | The association information for an Elastic IP address associated with--- the network interface.-nipiaAssociation :: Lens' NetworkInterfacePrivateIPAddress (Maybe NetworkInterfaceAssociation)-nipiaAssociation = lens _nipiaAssociation (\ s a -> s{_nipiaAssociation = a});--instance FromXML NetworkInterfacePrivateIPAddress- where- parseXML x- = NetworkInterfacePrivateIPAddress' <$>- (x .@? "primary") <*> (x .@? "privateIpAddress") <*>- (x .@? "privateDnsName")- <*> (x .@? "association")---- | /See:/ 'newDHCPConfiguration' smart constructor.-data NewDHCPConfiguration = NewDHCPConfiguration'- { _ndcValues :: !(Maybe [Text])- , _ndcKey :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'NewDHCPConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ndcValues'------ * 'ndcKey'-newDHCPConfiguration- :: NewDHCPConfiguration-newDHCPConfiguration =- NewDHCPConfiguration'- { _ndcValues = Nothing- , _ndcKey = Nothing- }---- | Undocumented member.-ndcValues :: Lens' NewDHCPConfiguration [Text]-ndcValues = lens _ndcValues (\ s a -> s{_ndcValues = a}) . _Default . _Coerce;---- | Undocumented member.-ndcKey :: Lens' NewDHCPConfiguration (Maybe Text)-ndcKey = lens _ndcKey (\ s a -> s{_ndcKey = a});--instance ToQuery NewDHCPConfiguration where- toQuery NewDHCPConfiguration'{..}- = mconcat- [toQuery (toQueryList "Value" <$> _ndcValues),- "Key" =: _ndcKey]---- | Describes the placement for the instance.------ /See:/ 'placement' smart constructor.-data Placement = Placement'- { _pAffinity :: !(Maybe Text)- , _pHostId :: !(Maybe Text)- , _pAvailabilityZone :: !(Maybe Text)- , _pTenancy :: !(Maybe Tenancy)- , _pGroupName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Placement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pAffinity'------ * 'pHostId'------ * 'pAvailabilityZone'------ * 'pTenancy'------ * 'pGroupName'-placement- :: Placement-placement =- Placement'- { _pAffinity = Nothing- , _pHostId = Nothing- , _pAvailabilityZone = Nothing- , _pTenancy = Nothing- , _pGroupName = Nothing- }---- | The affinity setting for the instance on the Dedicated host. This--- parameter is not supported for the ImportInstance command.-pAffinity :: Lens' Placement (Maybe Text)-pAffinity = lens _pAffinity (\ s a -> s{_pAffinity = a});---- | The ID of the Dedicted host on which the instance resides. This--- parameter is not support for the ImportInstance command.-pHostId :: Lens' Placement (Maybe Text)-pHostId = lens _pHostId (\ s a -> s{_pHostId = a});---- | The Availability Zone of the instance.-pAvailabilityZone :: Lens' Placement (Maybe Text)-pAvailabilityZone = lens _pAvailabilityZone (\ s a -> s{_pAvailabilityZone = a});---- | The tenancy of the instance (if the instance is running in a VPC). An--- instance with a tenancy of 'dedicated' runs on single-tenant hardware.--- The 'host' tenancy is not supported for the ImportInstance command.-pTenancy :: Lens' Placement (Maybe Tenancy)-pTenancy = lens _pTenancy (\ s a -> s{_pTenancy = a});---- | The name of the placement group the instance is in (for cluster compute--- instances).-pGroupName :: Lens' Placement (Maybe Text)-pGroupName = lens _pGroupName (\ s a -> s{_pGroupName = a});--instance FromXML Placement where- parseXML x- = Placement' <$>- (x .@? "affinity") <*> (x .@? "hostId") <*>- (x .@? "availabilityZone")- <*> (x .@? "tenancy")- <*> (x .@? "groupName")--instance ToQuery Placement where- toQuery Placement'{..}- = mconcat- ["Affinity" =: _pAffinity, "HostId" =: _pHostId,- "AvailabilityZone" =: _pAvailabilityZone,- "Tenancy" =: _pTenancy, "GroupName" =: _pGroupName]---- | Describes a placement group.------ /See:/ 'placementGroup' smart constructor.-data PlacementGroup = PlacementGroup'- { _pgState :: !(Maybe PlacementGroupState)- , _pgStrategy :: !(Maybe PlacementStrategy)- , _pgGroupName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'PlacementGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pgState'------ * 'pgStrategy'------ * 'pgGroupName'-placementGroup- :: PlacementGroup-placementGroup =- PlacementGroup'- { _pgState = Nothing- , _pgStrategy = Nothing- , _pgGroupName = Nothing- }---- | The state of the placement group.-pgState :: Lens' PlacementGroup (Maybe PlacementGroupState)-pgState = lens _pgState (\ s a -> s{_pgState = a});---- | The placement strategy.-pgStrategy :: Lens' PlacementGroup (Maybe PlacementStrategy)-pgStrategy = lens _pgStrategy (\ s a -> s{_pgStrategy = a});---- | The name of the placement group.-pgGroupName :: Lens' PlacementGroup (Maybe Text)-pgGroupName = lens _pgGroupName (\ s a -> s{_pgGroupName = a});--instance FromXML PlacementGroup where- parseXML x- = PlacementGroup' <$>- (x .@? "state") <*> (x .@? "strategy") <*>- (x .@? "groupName")---- | Describes a range of ports.------ /See:/ 'portRange' smart constructor.-data PortRange = PortRange'- { _prTo :: !(Maybe Int)- , _prFrom :: !(Maybe Int)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'PortRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'prTo'------ * 'prFrom'-portRange- :: PortRange-portRange =- PortRange'- { _prTo = Nothing- , _prFrom = Nothing- }---- | The last port in the range.-prTo :: Lens' PortRange (Maybe Int)-prTo = lens _prTo (\ s a -> s{_prTo = a});---- | The first port in the range.-prFrom :: Lens' PortRange (Maybe Int)-prFrom = lens _prFrom (\ s a -> s{_prFrom = a});--instance FromXML PortRange where- parseXML x- = PortRange' <$> (x .@? "to") <*> (x .@? "from")--instance ToQuery PortRange where- toQuery PortRange'{..}- = mconcat ["To" =: _prTo, "From" =: _prFrom]---- | Describes prefixes for AWS services.------ /See:/ 'prefixList' smart constructor.-data PrefixList = PrefixList'- { _plCIdRs :: !(Maybe [Text])- , _plPrefixListId :: !(Maybe Text)- , _plPrefixListName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'PrefixList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'plCIdRs'------ * 'plPrefixListId'------ * 'plPrefixListName'-prefixList- :: PrefixList-prefixList =- PrefixList'- { _plCIdRs = Nothing- , _plPrefixListId = Nothing- , _plPrefixListName = Nothing- }---- | The IP address range of the AWS service.-plCIdRs :: Lens' PrefixList [Text]-plCIdRs = lens _plCIdRs (\ s a -> s{_plCIdRs = a}) . _Default . _Coerce;---- | The ID of the prefix.-plPrefixListId :: Lens' PrefixList (Maybe Text)-plPrefixListId = lens _plPrefixListId (\ s a -> s{_plPrefixListId = a});---- | The name of the prefix.-plPrefixListName :: Lens' PrefixList (Maybe Text)-plPrefixListName = lens _plPrefixListName (\ s a -> s{_plPrefixListName = a});--instance FromXML PrefixList where- parseXML x- = PrefixList' <$>- (x .@? "cidrSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "prefixListId")- <*> (x .@? "prefixListName")---- | The ID of the prefix.------ /See:/ 'prefixListId' smart constructor.-newtype PrefixListId = PrefixListId'- { _pliPrefixListId :: Maybe Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'PrefixListId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pliPrefixListId'-prefixListId- :: PrefixListId-prefixListId =- PrefixListId'- { _pliPrefixListId = Nothing- }---- | The ID of the prefix.-pliPrefixListId :: Lens' PrefixListId (Maybe Text)-pliPrefixListId = lens _pliPrefixListId (\ s a -> s{_pliPrefixListId = a});--instance FromXML PrefixListId where- parseXML x = PrefixListId' <$> (x .@? "prefixListId")--instance ToQuery PrefixListId where- toQuery PrefixListId'{..}- = mconcat ["PrefixListId" =: _pliPrefixListId]---- | Describes the price for a Reserved instance.------ /See:/ 'priceSchedule' smart constructor.-data PriceSchedule = PriceSchedule'- { _psCurrencyCode :: !(Maybe CurrencyCodeValues)- , _psTerm :: !(Maybe Integer)- , _psActive :: !(Maybe Bool)- , _psPrice :: !(Maybe Double)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'PriceSchedule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'psCurrencyCode'------ * 'psTerm'------ * 'psActive'------ * 'psPrice'-priceSchedule- :: PriceSchedule-priceSchedule =- PriceSchedule'- { _psCurrencyCode = Nothing- , _psTerm = Nothing- , _psActive = Nothing- , _psPrice = Nothing- }---- | The currency for transacting the Reserved instance resale. At this time,--- the only supported currency is 'USD'.-psCurrencyCode :: Lens' PriceSchedule (Maybe CurrencyCodeValues)-psCurrencyCode = lens _psCurrencyCode (\ s a -> s{_psCurrencyCode = a});---- | The number of months remaining in the reservation. For example, 2 is the--- second to the last month before the capacity reservation expires.-psTerm :: Lens' PriceSchedule (Maybe Integer)-psTerm = lens _psTerm (\ s a -> s{_psTerm = a});---- | The current price schedule, as determined by the term remaining for the--- Reserved instance in the listing.------ A specific price schedule is always in effect, but only one price--- schedule can be active at any time. Take, for example, a Reserved--- instance listing that has five months remaining in its term. When you--- specify price schedules for five months and two months, this means that--- schedule 1, covering the first three months of the remaining term, will--- be active during months 5, 4, and 3. Then schedule 2, covering the last--- two months of the term, will be active for months 2 and 1.-psActive :: Lens' PriceSchedule (Maybe Bool)-psActive = lens _psActive (\ s a -> s{_psActive = a});---- | The fixed price for the term.-psPrice :: Lens' PriceSchedule (Maybe Double)-psPrice = lens _psPrice (\ s a -> s{_psPrice = a});--instance FromXML PriceSchedule where- parseXML x- = PriceSchedule' <$>- (x .@? "currencyCode") <*> (x .@? "term") <*>- (x .@? "active")- <*> (x .@? "price")---- | Describes the price for a Reserved instance.------ /See:/ 'priceScheduleSpecification' smart constructor.-data PriceScheduleSpecification = PriceScheduleSpecification'- { _pssCurrencyCode :: !(Maybe CurrencyCodeValues)- , _pssTerm :: !(Maybe Integer)- , _pssPrice :: !(Maybe Double)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'PriceScheduleSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pssCurrencyCode'------ * 'pssTerm'------ * 'pssPrice'-priceScheduleSpecification- :: PriceScheduleSpecification-priceScheduleSpecification =- PriceScheduleSpecification'- { _pssCurrencyCode = Nothing- , _pssTerm = Nothing- , _pssPrice = Nothing- }---- | The currency for transacting the Reserved instance resale. At this time,--- the only supported currency is 'USD'.-pssCurrencyCode :: Lens' PriceScheduleSpecification (Maybe CurrencyCodeValues)-pssCurrencyCode = lens _pssCurrencyCode (\ s a -> s{_pssCurrencyCode = a});---- | The number of months remaining in the reservation. For example, 2 is the--- second to the last month before the capacity reservation expires.-pssTerm :: Lens' PriceScheduleSpecification (Maybe Integer)-pssTerm = lens _pssTerm (\ s a -> s{_pssTerm = a});---- | The fixed price for the term.-pssPrice :: Lens' PriceScheduleSpecification (Maybe Double)-pssPrice = lens _pssPrice (\ s a -> s{_pssPrice = a});--instance ToQuery PriceScheduleSpecification where- toQuery PriceScheduleSpecification'{..}- = mconcat- ["CurrencyCode" =: _pssCurrencyCode,- "Term" =: _pssTerm, "Price" =: _pssPrice]---- | Describes a Reserved instance offering.------ /See:/ 'pricingDetail' smart constructor.-data PricingDetail = PricingDetail'- { _pdCount :: !(Maybe Int)- , _pdPrice :: !(Maybe Double)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'PricingDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pdCount'------ * 'pdPrice'-pricingDetail- :: PricingDetail-pricingDetail =- PricingDetail'- { _pdCount = Nothing- , _pdPrice = Nothing- }---- | The number of reservations available for the price.-pdCount :: Lens' PricingDetail (Maybe Int)-pdCount = lens _pdCount (\ s a -> s{_pdCount = a});---- | The price per instance.-pdPrice :: Lens' PricingDetail (Maybe Double)-pdPrice = lens _pdPrice (\ s a -> s{_pdPrice = a});--instance FromXML PricingDetail where- parseXML x- = PricingDetail' <$>- (x .@? "count") <*> (x .@? "price")---- | Describes a secondary private IP address for a network interface.------ /See:/ 'privateIPAddressSpecification' smart constructor.-data PrivateIPAddressSpecification = PrivateIPAddressSpecification'- { _piasPrimary :: !(Maybe Bool)- , _piasPrivateIPAddress :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'PrivateIPAddressSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'piasPrimary'------ * 'piasPrivateIPAddress'-privateIPAddressSpecification- :: Text -- ^ 'piasPrivateIPAddress'- -> PrivateIPAddressSpecification-privateIPAddressSpecification pPrivateIPAddress_ =- PrivateIPAddressSpecification'- { _piasPrimary = Nothing- , _piasPrivateIPAddress = pPrivateIPAddress_- }---- | Indicates whether the private IP address is the primary private IP--- address. Only one IP address can be designated as primary.-piasPrimary :: Lens' PrivateIPAddressSpecification (Maybe Bool)-piasPrimary = lens _piasPrimary (\ s a -> s{_piasPrimary = a});---- | The private IP addresses.-piasPrivateIPAddress :: Lens' PrivateIPAddressSpecification Text-piasPrivateIPAddress = lens _piasPrivateIPAddress (\ s a -> s{_piasPrivateIPAddress = a});--instance FromXML PrivateIPAddressSpecification where- parseXML x- = PrivateIPAddressSpecification' <$>- (x .@? "primary") <*> (x .@ "privateIpAddress")--instance ToQuery PrivateIPAddressSpecification where- toQuery PrivateIPAddressSpecification'{..}- = mconcat- ["Primary" =: _piasPrimary,- "PrivateIpAddress" =: _piasPrivateIPAddress]---- | Describes a product code.------ /See:/ 'productCode' smart constructor.-data ProductCode = ProductCode'- { _pcProductCodeType :: !(Maybe ProductCodeValues)- , _pcProductCodeId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ProductCode' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pcProductCodeType'------ * 'pcProductCodeId'-productCode- :: ProductCode-productCode =- ProductCode'- { _pcProductCodeType = Nothing- , _pcProductCodeId = Nothing- }---- | The type of product code.-pcProductCodeType :: Lens' ProductCode (Maybe ProductCodeValues)-pcProductCodeType = lens _pcProductCodeType (\ s a -> s{_pcProductCodeType = a});---- | The product code.-pcProductCodeId :: Lens' ProductCode (Maybe Text)-pcProductCodeId = lens _pcProductCodeId (\ s a -> s{_pcProductCodeId = a});--instance FromXML ProductCode where- parseXML x- = ProductCode' <$>- (x .@? "type") <*> (x .@? "productCode")---- | Describes a virtual private gateway propagating route.------ /See:/ 'propagatingVGW' smart constructor.-newtype PropagatingVGW = PropagatingVGW'- { _pvGatewayId :: Maybe Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'PropagatingVGW' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pvGatewayId'-propagatingVGW- :: PropagatingVGW-propagatingVGW =- PropagatingVGW'- { _pvGatewayId = Nothing- }---- | The ID of the virtual private gateway (VGW).-pvGatewayId :: Lens' PropagatingVGW (Maybe Text)-pvGatewayId = lens _pvGatewayId (\ s a -> s{_pvGatewayId = a});--instance FromXML PropagatingVGW where- parseXML x = PropagatingVGW' <$> (x .@? "gatewayId")---- | Describes a recurring charge.------ /See:/ 'recurringCharge' smart constructor.-data RecurringCharge = RecurringCharge'- { _rcAmount :: !(Maybe Double)- , _rcFrequency :: !(Maybe RecurringChargeFrequency)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RecurringCharge' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rcAmount'------ * 'rcFrequency'-recurringCharge- :: RecurringCharge-recurringCharge =- RecurringCharge'- { _rcAmount = Nothing- , _rcFrequency = Nothing- }---- | The amount of the recurring charge.-rcAmount :: Lens' RecurringCharge (Maybe Double)-rcAmount = lens _rcAmount (\ s a -> s{_rcAmount = a});---- | The frequency of the recurring charge.-rcFrequency :: Lens' RecurringCharge (Maybe RecurringChargeFrequency)-rcFrequency = lens _rcFrequency (\ s a -> s{_rcFrequency = a});--instance FromXML RecurringCharge where- parseXML x- = RecurringCharge' <$>- (x .@? "amount") <*> (x .@? "frequency")---- | Describes a region.------ /See:/ 'regionInfo' smart constructor.-data RegionInfo = RegionInfo'- { _riRegionName :: !(Maybe Text)- , _riEndpoint :: !(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:------ * 'riRegionName'------ * 'riEndpoint'-regionInfo- :: RegionInfo-regionInfo =- RegionInfo'- { _riRegionName = Nothing- , _riEndpoint = Nothing- }---- | The name of the region.-riRegionName :: Lens' RegionInfo (Maybe Text)-riRegionName = lens _riRegionName (\ s a -> s{_riRegionName = a});---- | The region service endpoint.-riEndpoint :: Lens' RegionInfo (Maybe Text)-riEndpoint = lens _riEndpoint (\ s a -> s{_riEndpoint = a});--instance FromXML RegionInfo where- parseXML x- = RegionInfo' <$>- (x .@? "regionName") <*> (x .@? "regionEndpoint")---- | Describes the launch specification for an instance.------ /See:/ 'requestSpotLaunchSpecification' smart constructor.-data RequestSpotLaunchSpecification = RequestSpotLaunchSpecification'- { _rslsSecurityGroupIds :: !(Maybe [Text])- , _rslsSecurityGroups :: !(Maybe [Text])- , _rslsKeyName :: !(Maybe Text)- , _rslsNetworkInterfaces :: !(Maybe [InstanceNetworkInterfaceSpecification])- , _rslsRAMDiskId :: !(Maybe Text)- , _rslsSubnetId :: !(Maybe Text)- , _rslsKernelId :: !(Maybe Text)- , _rslsInstanceType :: !(Maybe InstanceType)- , _rslsEBSOptimized :: !(Maybe Bool)- , _rslsUserData :: !(Maybe Text)- , _rslsMonitoring :: !(Maybe RunInstancesMonitoringEnabled)- , _rslsIAMInstanceProfile :: !(Maybe IAMInstanceProfileSpecification)- , _rslsImageId :: !(Maybe Text)- , _rslsAddressingType :: !(Maybe Text)- , _rslsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])- , _rslsPlacement :: !(Maybe SpotPlacement)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RequestSpotLaunchSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rslsSecurityGroupIds'------ * 'rslsSecurityGroups'------ * 'rslsKeyName'------ * 'rslsNetworkInterfaces'------ * 'rslsRAMDiskId'------ * 'rslsSubnetId'------ * 'rslsKernelId'------ * 'rslsInstanceType'------ * 'rslsEBSOptimized'------ * 'rslsUserData'------ * 'rslsMonitoring'------ * 'rslsIAMInstanceProfile'------ * 'rslsImageId'------ * 'rslsAddressingType'------ * 'rslsBlockDeviceMappings'------ * 'rslsPlacement'-requestSpotLaunchSpecification- :: RequestSpotLaunchSpecification-requestSpotLaunchSpecification =- RequestSpotLaunchSpecification'- { _rslsSecurityGroupIds = Nothing- , _rslsSecurityGroups = Nothing- , _rslsKeyName = Nothing- , _rslsNetworkInterfaces = Nothing- , _rslsRAMDiskId = Nothing- , _rslsSubnetId = Nothing- , _rslsKernelId = Nothing- , _rslsInstanceType = Nothing- , _rslsEBSOptimized = Nothing- , _rslsUserData = Nothing- , _rslsMonitoring = Nothing- , _rslsIAMInstanceProfile = Nothing- , _rslsImageId = Nothing- , _rslsAddressingType = Nothing- , _rslsBlockDeviceMappings = Nothing- , _rslsPlacement = Nothing- }---- | Undocumented member.-rslsSecurityGroupIds :: Lens' RequestSpotLaunchSpecification [Text]-rslsSecurityGroupIds = lens _rslsSecurityGroupIds (\ s a -> s{_rslsSecurityGroupIds = a}) . _Default . _Coerce;---- | Undocumented member.-rslsSecurityGroups :: Lens' RequestSpotLaunchSpecification [Text]-rslsSecurityGroups = lens _rslsSecurityGroups (\ s a -> s{_rslsSecurityGroups = a}) . _Default . _Coerce;---- | The name of the key pair.-rslsKeyName :: Lens' RequestSpotLaunchSpecification (Maybe Text)-rslsKeyName = lens _rslsKeyName (\ s a -> s{_rslsKeyName = a});---- | One or more network interfaces.-rslsNetworkInterfaces :: Lens' RequestSpotLaunchSpecification [InstanceNetworkInterfaceSpecification]-rslsNetworkInterfaces = lens _rslsNetworkInterfaces (\ s a -> s{_rslsNetworkInterfaces = a}) . _Default . _Coerce;---- | The ID of the RAM disk.-rslsRAMDiskId :: Lens' RequestSpotLaunchSpecification (Maybe Text)-rslsRAMDiskId = lens _rslsRAMDiskId (\ s a -> s{_rslsRAMDiskId = a});---- | The ID of the subnet in which to launch the instance.-rslsSubnetId :: Lens' RequestSpotLaunchSpecification (Maybe Text)-rslsSubnetId = lens _rslsSubnetId (\ s a -> s{_rslsSubnetId = a});---- | The ID of the kernel.-rslsKernelId :: Lens' RequestSpotLaunchSpecification (Maybe Text)-rslsKernelId = lens _rslsKernelId (\ s a -> s{_rslsKernelId = a});---- | The instance type.-rslsInstanceType :: Lens' RequestSpotLaunchSpecification (Maybe InstanceType)-rslsInstanceType = lens _rslsInstanceType (\ s a -> s{_rslsInstanceType = a});---- | Indicates whether the instance is optimized for EBS I\/O. This--- optimization provides dedicated throughput to Amazon EBS and an--- optimized configuration stack to provide optimal EBS I\/O performance.--- This optimization isn\'t available with all instance types. Additional--- usage charges apply when using an EBS Optimized instance.------ Default: 'false'-rslsEBSOptimized :: Lens' RequestSpotLaunchSpecification (Maybe Bool)-rslsEBSOptimized = lens _rslsEBSOptimized (\ s a -> s{_rslsEBSOptimized = a});---- | The Base64-encoded MIME user data to make available to the instances.-rslsUserData :: Lens' RequestSpotLaunchSpecification (Maybe Text)-rslsUserData = lens _rslsUserData (\ s a -> s{_rslsUserData = a});---- | Undocumented member.-rslsMonitoring :: Lens' RequestSpotLaunchSpecification (Maybe RunInstancesMonitoringEnabled)-rslsMonitoring = lens _rslsMonitoring (\ s a -> s{_rslsMonitoring = a});---- | The IAM instance profile.-rslsIAMInstanceProfile :: Lens' RequestSpotLaunchSpecification (Maybe IAMInstanceProfileSpecification)-rslsIAMInstanceProfile = lens _rslsIAMInstanceProfile (\ s a -> s{_rslsIAMInstanceProfile = a});---- | The ID of the AMI.-rslsImageId :: Lens' RequestSpotLaunchSpecification (Maybe Text)-rslsImageId = lens _rslsImageId (\ s a -> s{_rslsImageId = a});---- | Deprecated.-rslsAddressingType :: Lens' RequestSpotLaunchSpecification (Maybe Text)-rslsAddressingType = lens _rslsAddressingType (\ s a -> s{_rslsAddressingType = a});---- | One or more block device mapping entries.-rslsBlockDeviceMappings :: Lens' RequestSpotLaunchSpecification [BlockDeviceMapping]-rslsBlockDeviceMappings = lens _rslsBlockDeviceMappings (\ s a -> s{_rslsBlockDeviceMappings = a}) . _Default . _Coerce;---- | The placement information for the instance.-rslsPlacement :: Lens' RequestSpotLaunchSpecification (Maybe SpotPlacement)-rslsPlacement = lens _rslsPlacement (\ s a -> s{_rslsPlacement = a});--instance ToQuery RequestSpotLaunchSpecification where- toQuery RequestSpotLaunchSpecification'{..}- = mconcat- [toQuery- (toQueryList "SecurityGroupId" <$>- _rslsSecurityGroupIds),- toQuery- (toQueryList "SecurityGroup" <$>- _rslsSecurityGroups),- "KeyName" =: _rslsKeyName,- toQuery- (toQueryList "NetworkInterface" <$>- _rslsNetworkInterfaces),- "RamdiskId" =: _rslsRAMDiskId,- "SubnetId" =: _rslsSubnetId,- "KernelId" =: _rslsKernelId,- "InstanceType" =: _rslsInstanceType,- "EbsOptimized" =: _rslsEBSOptimized,- "UserData" =: _rslsUserData,- "Monitoring" =: _rslsMonitoring,- "IamInstanceProfile" =: _rslsIAMInstanceProfile,- "ImageId" =: _rslsImageId,- "AddressingType" =: _rslsAddressingType,- toQuery- (toQueryList "BlockDeviceMapping" <$>- _rslsBlockDeviceMappings),- "Placement" =: _rslsPlacement]---- | Describes a reservation.------ /See:/ 'reservation' smart constructor.-data Reservation = Reservation'- { _rGroups :: !(Maybe [GroupIdentifier])- , _rInstances :: !(Maybe [Instance])- , _rRequesterId :: !(Maybe Text)- , _rReservationId :: !Text- , _rOwnerId :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Reservation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rGroups'------ * 'rInstances'------ * 'rRequesterId'------ * 'rReservationId'------ * 'rOwnerId'-reservation- :: Text -- ^ 'rReservationId'- -> Text -- ^ 'rOwnerId'- -> Reservation-reservation pReservationId_ pOwnerId_ =- Reservation'- { _rGroups = Nothing- , _rInstances = Nothing- , _rRequesterId = Nothing- , _rReservationId = pReservationId_- , _rOwnerId = pOwnerId_- }---- | One or more security groups.-rGroups :: Lens' Reservation [GroupIdentifier]-rGroups = lens _rGroups (\ s a -> s{_rGroups = a}) . _Default . _Coerce;---- | One or more instances.-rInstances :: Lens' Reservation [Instance]-rInstances = lens _rInstances (\ s a -> s{_rInstances = a}) . _Default . _Coerce;---- | The ID of the requester that launched the instances on your behalf (for--- example, AWS Management Console or Auto Scaling).-rRequesterId :: Lens' Reservation (Maybe Text)-rRequesterId = lens _rRequesterId (\ s a -> s{_rRequesterId = a});---- | The ID of the reservation.-rReservationId :: Lens' Reservation Text-rReservationId = lens _rReservationId (\ s a -> s{_rReservationId = a});---- | The ID of the AWS account that owns the reservation.-rOwnerId :: Lens' Reservation Text-rOwnerId = lens _rOwnerId (\ s a -> s{_rOwnerId = a});--instance FromXML Reservation where- parseXML x- = Reservation' <$>- (x .@? "groupSet" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "instancesSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "requesterId")- <*> (x .@ "reservationId")- <*> (x .@ "ownerId")---- | Describes the limit price of a Reserved instance offering.------ /See:/ 'reservedInstanceLimitPrice' smart constructor.-data ReservedInstanceLimitPrice = ReservedInstanceLimitPrice'- { _rilpAmount :: !(Maybe Double)- , _rilpCurrencyCode :: !(Maybe CurrencyCodeValues)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ReservedInstanceLimitPrice' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rilpAmount'------ * 'rilpCurrencyCode'-reservedInstanceLimitPrice- :: ReservedInstanceLimitPrice-reservedInstanceLimitPrice =- ReservedInstanceLimitPrice'- { _rilpAmount = Nothing- , _rilpCurrencyCode = Nothing- }---- | Used for Reserved Instance Marketplace offerings. Specifies the limit--- price on the total order (instanceCount * price).-rilpAmount :: Lens' ReservedInstanceLimitPrice (Maybe Double)-rilpAmount = lens _rilpAmount (\ s a -> s{_rilpAmount = a});---- | The currency in which the 'limitPrice' amount is specified. At this--- time, the only supported currency is 'USD'.-rilpCurrencyCode :: Lens' ReservedInstanceLimitPrice (Maybe CurrencyCodeValues)-rilpCurrencyCode = lens _rilpCurrencyCode (\ s a -> s{_rilpCurrencyCode = a});--instance ToQuery ReservedInstanceLimitPrice where- toQuery ReservedInstanceLimitPrice'{..}- = mconcat- ["Amount" =: _rilpAmount,- "CurrencyCode" =: _rilpCurrencyCode]---- | Describes a Reserved instance.------ /See:/ 'reservedInstances' smart constructor.-data ReservedInstances = ReservedInstances'- { _riState :: !(Maybe ReservedInstanceState)- , _riCurrencyCode :: !(Maybe CurrencyCodeValues)- , _riInstanceCount :: !(Maybe Int)- , _riProductDescription :: !(Maybe RIProductDescription)- , _riStart :: !(Maybe ISO8601)- , _riInstanceType :: !(Maybe InstanceType)- , _riEnd :: !(Maybe ISO8601)- , _riAvailabilityZone :: !(Maybe Text)- , _riRecurringCharges :: !(Maybe [RecurringCharge])- , _riOfferingType :: !(Maybe OfferingTypeValues)- , _riUsagePrice :: !(Maybe Double)- , _riFixedPrice :: !(Maybe Double)- , _riReservedInstancesId :: !(Maybe Text)- , _riInstanceTenancy :: !(Maybe Tenancy)- , _riDuration :: !(Maybe Integer)- , _riTags :: !(Maybe [Tag])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ReservedInstances' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'riState'------ * 'riCurrencyCode'------ * 'riInstanceCount'------ * 'riProductDescription'------ * 'riStart'------ * 'riInstanceType'------ * 'riEnd'------ * 'riAvailabilityZone'------ * 'riRecurringCharges'------ * 'riOfferingType'------ * 'riUsagePrice'------ * 'riFixedPrice'------ * 'riReservedInstancesId'------ * 'riInstanceTenancy'------ * 'riDuration'------ * 'riTags'-reservedInstances- :: ReservedInstances-reservedInstances =- ReservedInstances'- { _riState = Nothing- , _riCurrencyCode = Nothing- , _riInstanceCount = Nothing- , _riProductDescription = Nothing- , _riStart = Nothing- , _riInstanceType = Nothing- , _riEnd = Nothing- , _riAvailabilityZone = Nothing- , _riRecurringCharges = Nothing- , _riOfferingType = Nothing- , _riUsagePrice = Nothing- , _riFixedPrice = Nothing- , _riReservedInstancesId = Nothing- , _riInstanceTenancy = Nothing- , _riDuration = Nothing- , _riTags = Nothing- }---- | The state of the Reserved instance purchase.-riState :: Lens' ReservedInstances (Maybe ReservedInstanceState)-riState = lens _riState (\ s a -> s{_riState = a});---- | The currency of the Reserved instance. It\'s specified using ISO 4217--- standard currency codes. At this time, the only supported currency is--- 'USD'.-riCurrencyCode :: Lens' ReservedInstances (Maybe CurrencyCodeValues)-riCurrencyCode = lens _riCurrencyCode (\ s a -> s{_riCurrencyCode = a});---- | The number of reservations purchased.-riInstanceCount :: Lens' ReservedInstances (Maybe Int)-riInstanceCount = lens _riInstanceCount (\ s a -> s{_riInstanceCount = a});---- | The Reserved instance product platform description.-riProductDescription :: Lens' ReservedInstances (Maybe RIProductDescription)-riProductDescription = lens _riProductDescription (\ s a -> s{_riProductDescription = a});---- | The date and time the Reserved instance started.-riStart :: Lens' ReservedInstances (Maybe UTCTime)-riStart = lens _riStart (\ s a -> s{_riStart = a}) . mapping _Time;---- | The instance type on which the Reserved instance can be used.-riInstanceType :: Lens' ReservedInstances (Maybe InstanceType)-riInstanceType = lens _riInstanceType (\ s a -> s{_riInstanceType = a});---- | The time when the Reserved instance expires.-riEnd :: Lens' ReservedInstances (Maybe UTCTime)-riEnd = lens _riEnd (\ s a -> s{_riEnd = a}) . mapping _Time;---- | The Availability Zone in which the Reserved instance can be used.-riAvailabilityZone :: Lens' ReservedInstances (Maybe Text)-riAvailabilityZone = lens _riAvailabilityZone (\ s a -> s{_riAvailabilityZone = a});---- | The recurring charge tag assigned to the resource.-riRecurringCharges :: Lens' ReservedInstances [RecurringCharge]-riRecurringCharges = lens _riRecurringCharges (\ s a -> s{_riRecurringCharges = a}) . _Default . _Coerce;---- | The Reserved instance offering type.-riOfferingType :: Lens' ReservedInstances (Maybe OfferingTypeValues)-riOfferingType = lens _riOfferingType (\ s a -> s{_riOfferingType = a});---- | The usage price of the Reserved instance, per hour.-riUsagePrice :: Lens' ReservedInstances (Maybe Double)-riUsagePrice = lens _riUsagePrice (\ s a -> s{_riUsagePrice = a});---- | The purchase price of the Reserved instance.-riFixedPrice :: Lens' ReservedInstances (Maybe Double)-riFixedPrice = lens _riFixedPrice (\ s a -> s{_riFixedPrice = a});---- | The ID of the Reserved instance.-riReservedInstancesId :: Lens' ReservedInstances (Maybe Text)-riReservedInstancesId = lens _riReservedInstancesId (\ s a -> s{_riReservedInstancesId = a});---- | The tenancy of the reserved instance.-riInstanceTenancy :: Lens' ReservedInstances (Maybe Tenancy)-riInstanceTenancy = lens _riInstanceTenancy (\ s a -> s{_riInstanceTenancy = a});---- | The duration of the Reserved instance, in seconds.-riDuration :: Lens' ReservedInstances (Maybe Integer)-riDuration = lens _riDuration (\ s a -> s{_riDuration = a});---- | Any tags assigned to the resource.-riTags :: Lens' ReservedInstances [Tag]-riTags = lens _riTags (\ s a -> s{_riTags = a}) . _Default . _Coerce;--instance FromXML ReservedInstances where- parseXML x- = ReservedInstances' <$>- (x .@? "state") <*> (x .@? "currencyCode") <*>- (x .@? "instanceCount")- <*> (x .@? "productDescription")- <*> (x .@? "start")- <*> (x .@? "instanceType")- <*> (x .@? "end")- <*> (x .@? "availabilityZone")- <*>- (x .@? "recurringCharges" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "offeringType")- <*> (x .@? "usagePrice")- <*> (x .@? "fixedPrice")- <*> (x .@? "reservedInstancesId")- <*> (x .@? "instanceTenancy")- <*> (x .@? "duration")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))---- | Describes the configuration settings for the modified Reserved--- instances.------ /See:/ 'reservedInstancesConfiguration' smart constructor.-data ReservedInstancesConfiguration = ReservedInstancesConfiguration'- { _ricPlatform :: !(Maybe Text)- , _ricInstanceCount :: !(Maybe Int)- , _ricInstanceType :: !(Maybe InstanceType)- , _ricAvailabilityZone :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ReservedInstancesConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ricPlatform'------ * 'ricInstanceCount'------ * 'ricInstanceType'------ * 'ricAvailabilityZone'-reservedInstancesConfiguration- :: ReservedInstancesConfiguration-reservedInstancesConfiguration =- ReservedInstancesConfiguration'- { _ricPlatform = Nothing- , _ricInstanceCount = Nothing- , _ricInstanceType = Nothing- , _ricAvailabilityZone = Nothing- }---- | The network platform of the modified Reserved instances, which is either--- EC2-Classic or EC2-VPC.-ricPlatform :: Lens' ReservedInstancesConfiguration (Maybe Text)-ricPlatform = lens _ricPlatform (\ s a -> s{_ricPlatform = a});---- | The number of modified Reserved instances.-ricInstanceCount :: Lens' ReservedInstancesConfiguration (Maybe Int)-ricInstanceCount = lens _ricInstanceCount (\ s a -> s{_ricInstanceCount = a});---- | The instance type for the modified Reserved instances.-ricInstanceType :: Lens' ReservedInstancesConfiguration (Maybe InstanceType)-ricInstanceType = lens _ricInstanceType (\ s a -> s{_ricInstanceType = a});---- | The Availability Zone for the modified Reserved instances.-ricAvailabilityZone :: Lens' ReservedInstancesConfiguration (Maybe Text)-ricAvailabilityZone = lens _ricAvailabilityZone (\ s a -> s{_ricAvailabilityZone = a});--instance FromXML ReservedInstancesConfiguration where- parseXML x- = ReservedInstancesConfiguration' <$>- (x .@? "platform") <*> (x .@? "instanceCount") <*>- (x .@? "instanceType")- <*> (x .@? "availabilityZone")--instance ToQuery ReservedInstancesConfiguration where- toQuery ReservedInstancesConfiguration'{..}- = mconcat- ["Platform" =: _ricPlatform,- "InstanceCount" =: _ricInstanceCount,- "InstanceType" =: _ricInstanceType,- "AvailabilityZone" =: _ricAvailabilityZone]---- | Describes the ID of a Reserved instance.------ /See:/ 'reservedInstancesId' smart constructor.-newtype ReservedInstancesId = ReservedInstancesId'- { _riiReservedInstancesId :: Maybe Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ReservedInstancesId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'riiReservedInstancesId'-reservedInstancesId- :: ReservedInstancesId-reservedInstancesId =- ReservedInstancesId'- { _riiReservedInstancesId = Nothing- }---- | The ID of the Reserved instance.-riiReservedInstancesId :: Lens' ReservedInstancesId (Maybe Text)-riiReservedInstancesId = lens _riiReservedInstancesId (\ s a -> s{_riiReservedInstancesId = a});--instance FromXML ReservedInstancesId where- parseXML x- = ReservedInstancesId' <$>- (x .@? "reservedInstancesId")---- | Describes a Reserved instance listing.------ /See:/ 'reservedInstancesListing' smart constructor.-data ReservedInstancesListing = ReservedInstancesListing'- { _rilStatus :: !(Maybe ListingStatus)- , _rilClientToken :: !(Maybe Text)- , _rilUpdateDate :: !(Maybe ISO8601)- , _rilCreateDate :: !(Maybe ISO8601)- , _rilPriceSchedules :: !(Maybe [PriceSchedule])- , _rilStatusMessage :: !(Maybe Text)- , _rilReservedInstancesId :: !(Maybe Text)- , _rilTags :: !(Maybe [Tag])- , _rilInstanceCounts :: !(Maybe [InstanceCount])- , _rilReservedInstancesListingId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ReservedInstancesListing' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rilStatus'------ * 'rilClientToken'------ * 'rilUpdateDate'------ * 'rilCreateDate'------ * 'rilPriceSchedules'------ * 'rilStatusMessage'------ * 'rilReservedInstancesId'------ * 'rilTags'------ * 'rilInstanceCounts'------ * 'rilReservedInstancesListingId'-reservedInstancesListing- :: ReservedInstancesListing-reservedInstancesListing =- ReservedInstancesListing'- { _rilStatus = Nothing- , _rilClientToken = Nothing- , _rilUpdateDate = Nothing- , _rilCreateDate = Nothing- , _rilPriceSchedules = Nothing- , _rilStatusMessage = Nothing- , _rilReservedInstancesId = Nothing- , _rilTags = Nothing- , _rilInstanceCounts = Nothing- , _rilReservedInstancesListingId = Nothing- }---- | The status of the Reserved instance listing.-rilStatus :: Lens' ReservedInstancesListing (Maybe ListingStatus)-rilStatus = lens _rilStatus (\ s a -> s{_rilStatus = a});---- | A unique, case-sensitive key supplied by the client to ensure that the--- request is idempotent. For more information, see--- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.-rilClientToken :: Lens' ReservedInstancesListing (Maybe Text)-rilClientToken = lens _rilClientToken (\ s a -> s{_rilClientToken = a});---- | The last modified timestamp of the listing.-rilUpdateDate :: Lens' ReservedInstancesListing (Maybe UTCTime)-rilUpdateDate = lens _rilUpdateDate (\ s a -> s{_rilUpdateDate = a}) . mapping _Time;---- | The time the listing was created.-rilCreateDate :: Lens' ReservedInstancesListing (Maybe UTCTime)-rilCreateDate = lens _rilCreateDate (\ s a -> s{_rilCreateDate = a}) . mapping _Time;---- | The price of the Reserved instance listing.-rilPriceSchedules :: Lens' ReservedInstancesListing [PriceSchedule]-rilPriceSchedules = lens _rilPriceSchedules (\ s a -> s{_rilPriceSchedules = a}) . _Default . _Coerce;---- | The reason for the current status of the Reserved instance listing. The--- response can be blank.-rilStatusMessage :: Lens' ReservedInstancesListing (Maybe Text)-rilStatusMessage = lens _rilStatusMessage (\ s a -> s{_rilStatusMessage = a});---- | The ID of the Reserved instance.-rilReservedInstancesId :: Lens' ReservedInstancesListing (Maybe Text)-rilReservedInstancesId = lens _rilReservedInstancesId (\ s a -> s{_rilReservedInstancesId = a});---- | Any tags assigned to the resource.-rilTags :: Lens' ReservedInstancesListing [Tag]-rilTags = lens _rilTags (\ s a -> s{_rilTags = a}) . _Default . _Coerce;---- | The number of instances in this state.-rilInstanceCounts :: Lens' ReservedInstancesListing [InstanceCount]-rilInstanceCounts = lens _rilInstanceCounts (\ s a -> s{_rilInstanceCounts = a}) . _Default . _Coerce;---- | The ID of the Reserved instance listing.-rilReservedInstancesListingId :: Lens' ReservedInstancesListing (Maybe Text)-rilReservedInstancesListingId = lens _rilReservedInstancesListingId (\ s a -> s{_rilReservedInstancesListingId = a});--instance FromXML ReservedInstancesListing where- parseXML x- = ReservedInstancesListing' <$>- (x .@? "status") <*> (x .@? "clientToken") <*>- (x .@? "updateDate")- <*> (x .@? "createDate")- <*>- (x .@? "priceSchedules" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "statusMessage")- <*> (x .@? "reservedInstancesId")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "instanceCounts" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "reservedInstancesListingId")---- | Describes a Reserved instance modification.------ /See:/ 'reservedInstancesModification' smart constructor.-data ReservedInstancesModification = ReservedInstancesModification'- { _rimModificationResults :: !(Maybe [ReservedInstancesModificationResult])- , _rimStatus :: !(Maybe Text)- , _rimClientToken :: !(Maybe Text)- , _rimUpdateDate :: !(Maybe ISO8601)- , _rimCreateDate :: !(Maybe ISO8601)- , _rimEffectiveDate :: !(Maybe ISO8601)- , _rimStatusMessage :: !(Maybe Text)- , _rimReservedInstancesModificationId :: !(Maybe Text)- , _rimReservedInstancesIds :: !(Maybe [ReservedInstancesId])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ReservedInstancesModification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rimModificationResults'------ * 'rimStatus'------ * 'rimClientToken'------ * 'rimUpdateDate'------ * 'rimCreateDate'------ * 'rimEffectiveDate'------ * 'rimStatusMessage'------ * 'rimReservedInstancesModificationId'------ * 'rimReservedInstancesIds'-reservedInstancesModification- :: ReservedInstancesModification-reservedInstancesModification =- ReservedInstancesModification'- { _rimModificationResults = Nothing- , _rimStatus = Nothing- , _rimClientToken = Nothing- , _rimUpdateDate = Nothing- , _rimCreateDate = Nothing- , _rimEffectiveDate = Nothing- , _rimStatusMessage = Nothing- , _rimReservedInstancesModificationId = Nothing- , _rimReservedInstancesIds = Nothing- }---- | Contains target configurations along with their corresponding new--- Reserved instance IDs.-rimModificationResults :: Lens' ReservedInstancesModification [ReservedInstancesModificationResult]-rimModificationResults = lens _rimModificationResults (\ s a -> s{_rimModificationResults = a}) . _Default . _Coerce;---- | The status of the Reserved instances modification request.-rimStatus :: Lens' ReservedInstancesModification (Maybe Text)-rimStatus = lens _rimStatus (\ s a -> s{_rimStatus = a});---- | A unique, case-sensitive key supplied by the client to ensure that the--- request is idempotent. For more information, see--- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.-rimClientToken :: Lens' ReservedInstancesModification (Maybe Text)-rimClientToken = lens _rimClientToken (\ s a -> s{_rimClientToken = a});---- | The time when the modification request was last updated.-rimUpdateDate :: Lens' ReservedInstancesModification (Maybe UTCTime)-rimUpdateDate = lens _rimUpdateDate (\ s a -> s{_rimUpdateDate = a}) . mapping _Time;---- | The time when the modification request was created.-rimCreateDate :: Lens' ReservedInstancesModification (Maybe UTCTime)-rimCreateDate = lens _rimCreateDate (\ s a -> s{_rimCreateDate = a}) . mapping _Time;---- | The time for the modification to become effective.-rimEffectiveDate :: Lens' ReservedInstancesModification (Maybe UTCTime)-rimEffectiveDate = lens _rimEffectiveDate (\ s a -> s{_rimEffectiveDate = a}) . mapping _Time;---- | The reason for the status.-rimStatusMessage :: Lens' ReservedInstancesModification (Maybe Text)-rimStatusMessage = lens _rimStatusMessage (\ s a -> s{_rimStatusMessage = a});---- | A unique ID for the Reserved instance modification.-rimReservedInstancesModificationId :: Lens' ReservedInstancesModification (Maybe Text)-rimReservedInstancesModificationId = lens _rimReservedInstancesModificationId (\ s a -> s{_rimReservedInstancesModificationId = a});---- | The IDs of one or more Reserved instances.-rimReservedInstancesIds :: Lens' ReservedInstancesModification [ReservedInstancesId]-rimReservedInstancesIds = lens _rimReservedInstancesIds (\ s a -> s{_rimReservedInstancesIds = a}) . _Default . _Coerce;--instance FromXML ReservedInstancesModification where- parseXML x- = ReservedInstancesModification' <$>- (x .@? "modificationResultSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "status")- <*> (x .@? "clientToken")- <*> (x .@? "updateDate")- <*> (x .@? "createDate")- <*> (x .@? "effectiveDate")- <*> (x .@? "statusMessage")- <*> (x .@? "reservedInstancesModificationId")- <*>- (x .@? "reservedInstancesSet" .!@ mempty >>=- may (parseXMLList "item"))---- | /See:/ 'reservedInstancesModificationResult' smart constructor.-data ReservedInstancesModificationResult = ReservedInstancesModificationResult'- { _rimrReservedInstancesId :: !(Maybe Text)- , _rimrTargetConfiguration :: !(Maybe ReservedInstancesConfiguration)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ReservedInstancesModificationResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rimrReservedInstancesId'------ * 'rimrTargetConfiguration'-reservedInstancesModificationResult- :: ReservedInstancesModificationResult-reservedInstancesModificationResult =- ReservedInstancesModificationResult'- { _rimrReservedInstancesId = Nothing- , _rimrTargetConfiguration = Nothing- }---- | The ID for the Reserved instances that were created as part of the--- modification request. This field is only available when the modification--- is fulfilled.-rimrReservedInstancesId :: Lens' ReservedInstancesModificationResult (Maybe Text)-rimrReservedInstancesId = lens _rimrReservedInstancesId (\ s a -> s{_rimrReservedInstancesId = a});---- | The target Reserved instances configurations supplied as part of the--- modification request.-rimrTargetConfiguration :: Lens' ReservedInstancesModificationResult (Maybe ReservedInstancesConfiguration)-rimrTargetConfiguration = lens _rimrTargetConfiguration (\ s a -> s{_rimrTargetConfiguration = a});--instance FromXML ReservedInstancesModificationResult- where- parseXML x- = ReservedInstancesModificationResult' <$>- (x .@? "reservedInstancesId") <*>- (x .@? "targetConfiguration")---- | Describes a Reserved instance offering.------ /See:/ 'reservedInstancesOffering' smart constructor.-data ReservedInstancesOffering = ReservedInstancesOffering'- { _rioMarketplace :: !(Maybe Bool)- , _rioCurrencyCode :: !(Maybe CurrencyCodeValues)- , _rioProductDescription :: !(Maybe RIProductDescription)- , _rioInstanceType :: !(Maybe InstanceType)- , _rioAvailabilityZone :: !(Maybe Text)- , _rioPricingDetails :: !(Maybe [PricingDetail])- , _rioRecurringCharges :: !(Maybe [RecurringCharge])- , _rioOfferingType :: !(Maybe OfferingTypeValues)- , _rioUsagePrice :: !(Maybe Double)- , _rioFixedPrice :: !(Maybe Double)- , _rioInstanceTenancy :: !(Maybe Tenancy)- , _rioReservedInstancesOfferingId :: !(Maybe Text)- , _rioDuration :: !(Maybe Integer)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ReservedInstancesOffering' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rioMarketplace'------ * 'rioCurrencyCode'------ * 'rioProductDescription'------ * 'rioInstanceType'------ * 'rioAvailabilityZone'------ * 'rioPricingDetails'------ * 'rioRecurringCharges'------ * 'rioOfferingType'------ * 'rioUsagePrice'------ * 'rioFixedPrice'------ * 'rioInstanceTenancy'------ * 'rioReservedInstancesOfferingId'------ * 'rioDuration'-reservedInstancesOffering- :: ReservedInstancesOffering-reservedInstancesOffering =- ReservedInstancesOffering'- { _rioMarketplace = Nothing- , _rioCurrencyCode = Nothing- , _rioProductDescription = Nothing- , _rioInstanceType = Nothing- , _rioAvailabilityZone = Nothing- , _rioPricingDetails = Nothing- , _rioRecurringCharges = Nothing- , _rioOfferingType = Nothing- , _rioUsagePrice = Nothing- , _rioFixedPrice = Nothing- , _rioInstanceTenancy = Nothing- , _rioReservedInstancesOfferingId = Nothing- , _rioDuration = Nothing- }---- | Indicates whether the offering is available through the Reserved--- Instance Marketplace (resale) or AWS. If it\'s a Reserved Instance--- Marketplace offering, this is 'true'.-rioMarketplace :: Lens' ReservedInstancesOffering (Maybe Bool)-rioMarketplace = lens _rioMarketplace (\ s a -> s{_rioMarketplace = a});---- | The currency of the Reserved instance offering you are purchasing. It\'s--- specified using ISO 4217 standard currency codes. At this time, the only--- supported currency is 'USD'.-rioCurrencyCode :: Lens' ReservedInstancesOffering (Maybe CurrencyCodeValues)-rioCurrencyCode = lens _rioCurrencyCode (\ s a -> s{_rioCurrencyCode = a});---- | The Reserved instance product platform description.-rioProductDescription :: Lens' ReservedInstancesOffering (Maybe RIProductDescription)-rioProductDescription = lens _rioProductDescription (\ s a -> s{_rioProductDescription = a});---- | The instance type on which the Reserved instance can be used.-rioInstanceType :: Lens' ReservedInstancesOffering (Maybe InstanceType)-rioInstanceType = lens _rioInstanceType (\ s a -> s{_rioInstanceType = a});---- | The Availability Zone in which the Reserved instance can be used.-rioAvailabilityZone :: Lens' ReservedInstancesOffering (Maybe Text)-rioAvailabilityZone = lens _rioAvailabilityZone (\ s a -> s{_rioAvailabilityZone = a});---- | The pricing details of the Reserved instance offering.-rioPricingDetails :: Lens' ReservedInstancesOffering [PricingDetail]-rioPricingDetails = lens _rioPricingDetails (\ s a -> s{_rioPricingDetails = a}) . _Default . _Coerce;---- | The recurring charge tag assigned to the resource.-rioRecurringCharges :: Lens' ReservedInstancesOffering [RecurringCharge]-rioRecurringCharges = lens _rioRecurringCharges (\ s a -> s{_rioRecurringCharges = a}) . _Default . _Coerce;---- | The Reserved instance offering type.-rioOfferingType :: Lens' ReservedInstancesOffering (Maybe OfferingTypeValues)-rioOfferingType = lens _rioOfferingType (\ s a -> s{_rioOfferingType = a});---- | The usage price of the Reserved instance, per hour.-rioUsagePrice :: Lens' ReservedInstancesOffering (Maybe Double)-rioUsagePrice = lens _rioUsagePrice (\ s a -> s{_rioUsagePrice = a});---- | The purchase price of the Reserved instance.-rioFixedPrice :: Lens' ReservedInstancesOffering (Maybe Double)-rioFixedPrice = lens _rioFixedPrice (\ s a -> s{_rioFixedPrice = a});---- | The tenancy of the reserved instance.-rioInstanceTenancy :: Lens' ReservedInstancesOffering (Maybe Tenancy)-rioInstanceTenancy = lens _rioInstanceTenancy (\ s a -> s{_rioInstanceTenancy = a});---- | The ID of the Reserved instance offering.-rioReservedInstancesOfferingId :: Lens' ReservedInstancesOffering (Maybe Text)-rioReservedInstancesOfferingId = lens _rioReservedInstancesOfferingId (\ s a -> s{_rioReservedInstancesOfferingId = a});---- | The duration of the Reserved instance, in seconds.-rioDuration :: Lens' ReservedInstancesOffering (Maybe Integer)-rioDuration = lens _rioDuration (\ s a -> s{_rioDuration = a});--instance FromXML ReservedInstancesOffering where- parseXML x- = ReservedInstancesOffering' <$>- (x .@? "marketplace") <*> (x .@? "currencyCode") <*>- (x .@? "productDescription")- <*> (x .@? "instanceType")- <*> (x .@? "availabilityZone")- <*>- (x .@? "pricingDetailsSet" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "recurringCharges" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "offeringType")- <*> (x .@? "usagePrice")- <*> (x .@? "fixedPrice")- <*> (x .@? "instanceTenancy")- <*> (x .@? "reservedInstancesOfferingId")- <*> (x .@? "duration")---- | Describes a route in a route table.------ /See:/ 'route' smart constructor.-data Route = Route'- { _rVPCPeeringConnectionId :: !(Maybe Text)- , _rInstanceId :: !(Maybe Text)- , _rOrigin :: !(Maybe RouteOrigin)- , _rState :: !(Maybe RouteState)- , _rNatGatewayId :: !(Maybe Text)- , _rNetworkInterfaceId :: !(Maybe Text)- , _rGatewayId :: !(Maybe Text)- , _rInstanceOwnerId :: !(Maybe Text)- , _rDestinationPrefixListId :: !(Maybe Text)- , _rDestinationCIdRBlock :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Route' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rVPCPeeringConnectionId'------ * 'rInstanceId'------ * 'rOrigin'------ * 'rState'------ * 'rNatGatewayId'------ * 'rNetworkInterfaceId'------ * 'rGatewayId'------ * 'rInstanceOwnerId'------ * 'rDestinationPrefixListId'------ * 'rDestinationCIdRBlock'-route- :: Route-route =- Route'- { _rVPCPeeringConnectionId = Nothing- , _rInstanceId = Nothing- , _rOrigin = Nothing- , _rState = Nothing- , _rNatGatewayId = Nothing- , _rNetworkInterfaceId = Nothing- , _rGatewayId = Nothing- , _rInstanceOwnerId = Nothing- , _rDestinationPrefixListId = Nothing- , _rDestinationCIdRBlock = Nothing- }---- | The ID of the VPC peering connection.-rVPCPeeringConnectionId :: Lens' Route (Maybe Text)-rVPCPeeringConnectionId = lens _rVPCPeeringConnectionId (\ s a -> s{_rVPCPeeringConnectionId = a});---- | The ID of a NAT instance in your VPC.-rInstanceId :: Lens' Route (Maybe Text)-rInstanceId = lens _rInstanceId (\ s a -> s{_rInstanceId = a});---- | Describes how the route was created.------ - 'CreateRouteTable' indicates that route was automatically created--- when the route table was created.--- - 'CreateRoute' indicates that the route was manually added to the--- route table.--- - 'EnableVgwRoutePropagation' indicates that the route was propagated--- by route propagation.-rOrigin :: Lens' Route (Maybe RouteOrigin)-rOrigin = lens _rOrigin (\ s a -> s{_rOrigin = a});---- | The state of the route. The 'blackhole' state indicates that the--- route\'s target isn\'t available (for example, the specified gateway--- isn\'t attached to the VPC, or the specified NAT instance has been--- terminated).-rState :: Lens' Route (Maybe RouteState)-rState = lens _rState (\ s a -> s{_rState = a});---- | The ID of a NAT gateway.-rNatGatewayId :: Lens' Route (Maybe Text)-rNatGatewayId = lens _rNatGatewayId (\ s a -> s{_rNatGatewayId = a});---- | The ID of the network interface.-rNetworkInterfaceId :: Lens' Route (Maybe Text)-rNetworkInterfaceId = lens _rNetworkInterfaceId (\ s a -> s{_rNetworkInterfaceId = a});---- | The ID of a gateway attached to your VPC.-rGatewayId :: Lens' Route (Maybe Text)-rGatewayId = lens _rGatewayId (\ s a -> s{_rGatewayId = a});---- | The AWS account ID of the owner of the instance.-rInstanceOwnerId :: Lens' Route (Maybe Text)-rInstanceOwnerId = lens _rInstanceOwnerId (\ s a -> s{_rInstanceOwnerId = a});---- | The prefix of the AWS service.-rDestinationPrefixListId :: Lens' Route (Maybe Text)-rDestinationPrefixListId = lens _rDestinationPrefixListId (\ s a -> s{_rDestinationPrefixListId = a});---- | The CIDR block used for the destination match.-rDestinationCIdRBlock :: Lens' Route (Maybe Text)-rDestinationCIdRBlock = lens _rDestinationCIdRBlock (\ s a -> s{_rDestinationCIdRBlock = a});--instance FromXML Route where- parseXML x- = Route' <$>- (x .@? "vpcPeeringConnectionId") <*>- (x .@? "instanceId")- <*> (x .@? "origin")- <*> (x .@? "state")- <*> (x .@? "natGatewayId")- <*> (x .@? "networkInterfaceId")- <*> (x .@? "gatewayId")- <*> (x .@? "instanceOwnerId")- <*> (x .@? "destinationPrefixListId")- <*> (x .@? "destinationCidrBlock")---- | Describes a route table.------ /See:/ 'routeTable' smart constructor.-data RouteTable = RouteTable'- { _rtRouteTableId :: !(Maybe Text)- , _rtRoutes :: !(Maybe [Route])- , _rtVPCId :: !(Maybe Text)- , _rtPropagatingVGWs :: !(Maybe [PropagatingVGW])- , _rtAssociations :: !(Maybe [RouteTableAssociation])- , _rtTags :: !(Maybe [Tag])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RouteTable' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rtRouteTableId'------ * 'rtRoutes'------ * 'rtVPCId'------ * 'rtPropagatingVGWs'------ * 'rtAssociations'------ * 'rtTags'-routeTable- :: RouteTable-routeTable =- RouteTable'- { _rtRouteTableId = Nothing- , _rtRoutes = Nothing- , _rtVPCId = Nothing- , _rtPropagatingVGWs = Nothing- , _rtAssociations = Nothing- , _rtTags = Nothing- }---- | The ID of the route table.-rtRouteTableId :: Lens' RouteTable (Maybe Text)-rtRouteTableId = lens _rtRouteTableId (\ s a -> s{_rtRouteTableId = a});---- | The routes in the route table.-rtRoutes :: Lens' RouteTable [Route]-rtRoutes = lens _rtRoutes (\ s a -> s{_rtRoutes = a}) . _Default . _Coerce;---- | The ID of the VPC.-rtVPCId :: Lens' RouteTable (Maybe Text)-rtVPCId = lens _rtVPCId (\ s a -> s{_rtVPCId = a});---- | Any virtual private gateway (VGW) propagating routes.-rtPropagatingVGWs :: Lens' RouteTable [PropagatingVGW]-rtPropagatingVGWs = lens _rtPropagatingVGWs (\ s a -> s{_rtPropagatingVGWs = a}) . _Default . _Coerce;---- | The associations between the route table and one or more subnets.-rtAssociations :: Lens' RouteTable [RouteTableAssociation]-rtAssociations = lens _rtAssociations (\ s a -> s{_rtAssociations = a}) . _Default . _Coerce;---- | Any tags assigned to the route table.-rtTags :: Lens' RouteTable [Tag]-rtTags = lens _rtTags (\ s a -> s{_rtTags = a}) . _Default . _Coerce;--instance FromXML RouteTable where- parseXML x- = RouteTable' <$>- (x .@? "routeTableId") <*>- (x .@? "routeSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "vpcId")- <*>- (x .@? "propagatingVgwSet" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "associationSet" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))---- | Describes an association between a route table and a subnet.------ /See:/ 'routeTableAssociation' smart constructor.-data RouteTableAssociation = RouteTableAssociation'- { _rtaRouteTableId :: !(Maybe Text)- , _rtaRouteTableAssociationId :: !(Maybe Text)- , _rtaMain :: !(Maybe Bool)- , _rtaSubnetId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RouteTableAssociation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rtaRouteTableId'------ * 'rtaRouteTableAssociationId'------ * 'rtaMain'------ * 'rtaSubnetId'-routeTableAssociation- :: RouteTableAssociation-routeTableAssociation =- RouteTableAssociation'- { _rtaRouteTableId = Nothing- , _rtaRouteTableAssociationId = Nothing- , _rtaMain = Nothing- , _rtaSubnetId = Nothing- }---- | The ID of the route table.-rtaRouteTableId :: Lens' RouteTableAssociation (Maybe Text)-rtaRouteTableId = lens _rtaRouteTableId (\ s a -> s{_rtaRouteTableId = a});---- | The ID of the association between a route table and a subnet.-rtaRouteTableAssociationId :: Lens' RouteTableAssociation (Maybe Text)-rtaRouteTableAssociationId = lens _rtaRouteTableAssociationId (\ s a -> s{_rtaRouteTableAssociationId = a});---- | Indicates whether this is the main route table.-rtaMain :: Lens' RouteTableAssociation (Maybe Bool)-rtaMain = lens _rtaMain (\ s a -> s{_rtaMain = a});---- | The ID of the subnet. A subnet ID is not returned for an implicit--- association.-rtaSubnetId :: Lens' RouteTableAssociation (Maybe Text)-rtaSubnetId = lens _rtaSubnetId (\ s a -> s{_rtaSubnetId = a});--instance FromXML RouteTableAssociation where- parseXML x- = RouteTableAssociation' <$>- (x .@? "routeTableId") <*>- (x .@? "routeTableAssociationId")- <*> (x .@? "main")- <*> (x .@? "subnetId")---- | Describes the monitoring for the instance.------ /See:/ 'runInstancesMonitoringEnabled' smart constructor.-newtype RunInstancesMonitoringEnabled = RunInstancesMonitoringEnabled'- { _rimeEnabled :: Bool- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RunInstancesMonitoringEnabled' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rimeEnabled'-runInstancesMonitoringEnabled- :: Bool -- ^ 'rimeEnabled'- -> RunInstancesMonitoringEnabled-runInstancesMonitoringEnabled pEnabled_ =- RunInstancesMonitoringEnabled'- { _rimeEnabled = pEnabled_- }---- | Indicates whether monitoring is enabled for the instance.-rimeEnabled :: Lens' RunInstancesMonitoringEnabled Bool-rimeEnabled = lens _rimeEnabled (\ s a -> s{_rimeEnabled = a});--instance FromXML RunInstancesMonitoringEnabled where- parseXML x- = RunInstancesMonitoringEnabled' <$> (x .@ "enabled")--instance ToQuery RunInstancesMonitoringEnabled where- toQuery RunInstancesMonitoringEnabled'{..}- = mconcat ["Enabled" =: _rimeEnabled]---- | Describes the storage parameters for S3 and S3 buckets for an instance--- store-backed AMI.------ /See:/ 's3Storage' smart constructor.-data S3Storage = S3Storage'- { _ssPrefix :: !(Maybe Text)- , _ssUploadPolicy :: !(Maybe Base64)- , _ssBucket :: !(Maybe Text)- , _ssUploadPolicySignature :: !(Maybe Text)- , _ssAWSAccessKeyId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'S3Storage' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssPrefix'------ * 'ssUploadPolicy'------ * 'ssBucket'------ * 'ssUploadPolicySignature'------ * 'ssAWSAccessKeyId'-s3Storage- :: S3Storage-s3Storage =- S3Storage'- { _ssPrefix = Nothing- , _ssUploadPolicy = Nothing- , _ssBucket = Nothing- , _ssUploadPolicySignature = Nothing- , _ssAWSAccessKeyId = Nothing- }---- | The beginning of the file name of the AMI.-ssPrefix :: Lens' S3Storage (Maybe Text)-ssPrefix = lens _ssPrefix (\ s a -> s{_ssPrefix = a});---- | A Base64-encoded Amazon S3 upload policy that gives Amazon EC2--- permission to upload items into Amazon S3 on your behalf.------ /Note:/ This 'Lens' automatically encodes and decodes Base64 data,--- despite what the AWS documentation might say.--- The underlying isomorphism will encode to Base64 representation during--- serialisation, and decode from Base64 representation during deserialisation.--- This 'Lens' accepts and returns only raw unencoded data.-ssUploadPolicy :: Lens' S3Storage (Maybe ByteString)-ssUploadPolicy = lens _ssUploadPolicy (\ s a -> s{_ssUploadPolicy = a}) . mapping _Base64;---- | The bucket in which to store the AMI. You can specify a bucket that you--- already own or a new bucket that Amazon EC2 creates on your behalf. If--- you specify a bucket that belongs to someone else, Amazon EC2 returns an--- error.-ssBucket :: Lens' S3Storage (Maybe Text)-ssBucket = lens _ssBucket (\ s a -> s{_ssBucket = a});---- | The signature of the Base64 encoded JSON document.-ssUploadPolicySignature :: Lens' S3Storage (Maybe Text)-ssUploadPolicySignature = lens _ssUploadPolicySignature (\ s a -> s{_ssUploadPolicySignature = a});---- | The access key ID of the owner of the bucket. Before you specify a value--- for your access key ID, review and follow the guidance in--- <http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html Best Practices for Managing AWS Access Keys>.-ssAWSAccessKeyId :: Lens' S3Storage (Maybe Text)-ssAWSAccessKeyId = lens _ssAWSAccessKeyId (\ s a -> s{_ssAWSAccessKeyId = a});--instance FromXML S3Storage where- parseXML x- = S3Storage' <$>- (x .@? "prefix") <*> (x .@? "uploadPolicy") <*>- (x .@? "bucket")- <*> (x .@? "uploadPolicySignature")- <*> (x .@? "AWSAccessKeyId")--instance ToQuery S3Storage where- toQuery S3Storage'{..}- = mconcat- ["Prefix" =: _ssPrefix,- "UploadPolicy" =: _ssUploadPolicy,- "Bucket" =: _ssBucket,- "UploadPolicySignature" =: _ssUploadPolicySignature,- "AWSAccessKeyId" =: _ssAWSAccessKeyId]---- | Describes a security group------ /See:/ 'securityGroup' smart constructor.-data SecurityGroup = SecurityGroup'- { _sgVPCId :: !(Maybe Text)- , _sgIPPermissions :: !(Maybe [IPPermission])- , _sgIPPermissionsEgress :: !(Maybe [IPPermission])- , _sgTags :: !(Maybe [Tag])- , _sgOwnerId :: !Text- , _sgGroupId :: !Text- , _sgGroupName :: !Text- , _sgDescription :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SecurityGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sgVPCId'------ * 'sgIPPermissions'------ * 'sgIPPermissionsEgress'------ * 'sgTags'------ * 'sgOwnerId'------ * 'sgGroupId'------ * 'sgGroupName'------ * 'sgDescription'-securityGroup- :: Text -- ^ 'sgOwnerId'- -> Text -- ^ 'sgGroupId'- -> Text -- ^ 'sgGroupName'- -> Text -- ^ 'sgDescription'- -> SecurityGroup-securityGroup pOwnerId_ pGroupId_ pGroupName_ pDescription_ =- SecurityGroup'- { _sgVPCId = Nothing- , _sgIPPermissions = Nothing- , _sgIPPermissionsEgress = Nothing- , _sgTags = Nothing- , _sgOwnerId = pOwnerId_- , _sgGroupId = pGroupId_- , _sgGroupName = pGroupName_- , _sgDescription = pDescription_- }---- | [EC2-VPC] The ID of the VPC for the security group.-sgVPCId :: Lens' SecurityGroup (Maybe Text)-sgVPCId = lens _sgVPCId (\ s a -> s{_sgVPCId = a});---- | One or more inbound rules associated with the security group.-sgIPPermissions :: Lens' SecurityGroup [IPPermission]-sgIPPermissions = lens _sgIPPermissions (\ s a -> s{_sgIPPermissions = a}) . _Default . _Coerce;---- | [EC2-VPC] One or more outbound rules associated with the security group.-sgIPPermissionsEgress :: Lens' SecurityGroup [IPPermission]-sgIPPermissionsEgress = lens _sgIPPermissionsEgress (\ s a -> s{_sgIPPermissionsEgress = a}) . _Default . _Coerce;---- | Any tags assigned to the security group.-sgTags :: Lens' SecurityGroup [Tag]-sgTags = lens _sgTags (\ s a -> s{_sgTags = a}) . _Default . _Coerce;---- | The AWS account ID of the owner of the security group.-sgOwnerId :: Lens' SecurityGroup Text-sgOwnerId = lens _sgOwnerId (\ s a -> s{_sgOwnerId = a});---- | The ID of the security group.-sgGroupId :: Lens' SecurityGroup Text-sgGroupId = lens _sgGroupId (\ s a -> s{_sgGroupId = a});---- | The name of the security group.-sgGroupName :: Lens' SecurityGroup Text-sgGroupName = lens _sgGroupName (\ s a -> s{_sgGroupName = a});---- | A description of the security group.-sgDescription :: Lens' SecurityGroup Text-sgDescription = lens _sgDescription (\ s a -> s{_sgDescription = a});--instance FromXML SecurityGroup where- parseXML x- = SecurityGroup' <$>- (x .@? "vpcId") <*>- (x .@? "ipPermissions" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "ipPermissionsEgress" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "ownerId")- <*> (x .@ "groupId")- <*> (x .@ "groupName")- <*> (x .@ "groupDescription")---- | Describes a snapshot.------ /See:/ 'snapshot' smart constructor.-data Snapshot = Snapshot'- { _sStateMessage :: !(Maybe Text)- , _sOwnerAlias :: !(Maybe Text)- , _sDataEncryptionKeyId :: !(Maybe Text)- , _sKMSKeyId :: !(Maybe Text)- , _sTags :: !(Maybe [Tag])- , _sSnapshotId :: !Text- , _sOwnerId :: !Text- , _sVolumeId :: !Text- , _sVolumeSize :: !Int- , _sDescription :: !Text- , _sStartTime :: !ISO8601- , _sProgress :: !Text- , _sState :: !SnapshotState- , _sEncrypted :: !Bool- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Snapshot' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sStateMessage'------ * 'sOwnerAlias'------ * 'sDataEncryptionKeyId'------ * 'sKMSKeyId'------ * 'sTags'------ * 'sSnapshotId'------ * 'sOwnerId'------ * 'sVolumeId'------ * 'sVolumeSize'------ * 'sDescription'------ * 'sStartTime'------ * 'sProgress'------ * 'sState'------ * 'sEncrypted'-snapshot- :: Text -- ^ 'sSnapshotId'- -> Text -- ^ 'sOwnerId'- -> Text -- ^ 'sVolumeId'- -> Int -- ^ 'sVolumeSize'- -> Text -- ^ 'sDescription'- -> UTCTime -- ^ 'sStartTime'- -> Text -- ^ 'sProgress'- -> SnapshotState -- ^ 'sState'- -> Bool -- ^ 'sEncrypted'- -> Snapshot-snapshot pSnapshotId_ pOwnerId_ pVolumeId_ pVolumeSize_ pDescription_ pStartTime_ pProgress_ pState_ pEncrypted_ =- Snapshot'- { _sStateMessage = Nothing- , _sOwnerAlias = Nothing- , _sDataEncryptionKeyId = Nothing- , _sKMSKeyId = Nothing- , _sTags = Nothing- , _sSnapshotId = pSnapshotId_- , _sOwnerId = pOwnerId_- , _sVolumeId = pVolumeId_- , _sVolumeSize = pVolumeSize_- , _sDescription = pDescription_- , _sStartTime = _Time # pStartTime_- , _sProgress = pProgress_- , _sState = pState_- , _sEncrypted = pEncrypted_- }---- | Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot--- copy operation fails (for example, if the proper AWS Key Management--- Service (AWS KMS) permissions are not obtained) this field displays--- error state details to help you diagnose why the error occurred. This--- parameter is only returned by the DescribeSnapshots API operation.-sStateMessage :: Lens' Snapshot (Maybe Text)-sStateMessage = lens _sStateMessage (\ s a -> s{_sStateMessage = a});---- | The AWS account alias (for example, 'amazon', 'self') or AWS account ID--- that owns the snapshot.-sOwnerAlias :: Lens' Snapshot (Maybe Text)-sOwnerAlias = lens _sOwnerAlias (\ s a -> s{_sOwnerAlias = a});---- | The data encryption key identifier for the snapshot. This value is a--- unique identifier that corresponds to the data encryption key that was--- used to encrypt the original volume or snapshot copy. Because data--- encryption keys are inherited by volumes created from snapshots, and--- vice versa, if snapshots share the same data encryption key identifier,--- then they belong to the same volume\/snapshot lineage. This parameter is--- only returned by the DescribeSnapshots API operation.-sDataEncryptionKeyId :: Lens' Snapshot (Maybe Text)-sDataEncryptionKeyId = lens _sDataEncryptionKeyId (\ s a -> s{_sDataEncryptionKeyId = a});---- | The full ARN of the AWS Key Management Service (AWS KMS) customer master--- key (CMK) that was used to protect the volume encryption key for the--- parent volume.-sKMSKeyId :: Lens' Snapshot (Maybe Text)-sKMSKeyId = lens _sKMSKeyId (\ s a -> s{_sKMSKeyId = a});---- | Any tags assigned to the snapshot.-sTags :: Lens' Snapshot [Tag]-sTags = lens _sTags (\ s a -> s{_sTags = a}) . _Default . _Coerce;---- | The ID of the snapshot. Each snapshot receives a unique identifier when--- it is created.-sSnapshotId :: Lens' Snapshot Text-sSnapshotId = lens _sSnapshotId (\ s a -> s{_sSnapshotId = a});---- | The AWS account ID of the EBS snapshot owner.-sOwnerId :: Lens' Snapshot Text-sOwnerId = lens _sOwnerId (\ s a -> s{_sOwnerId = a});---- | The ID of the volume that was used to create the snapshot.-sVolumeId :: Lens' Snapshot Text-sVolumeId = lens _sVolumeId (\ s a -> s{_sVolumeId = a});---- | The size of the volume, in GiB.-sVolumeSize :: Lens' Snapshot Int-sVolumeSize = lens _sVolumeSize (\ s a -> s{_sVolumeSize = a});---- | The description for the snapshot.-sDescription :: Lens' Snapshot Text-sDescription = lens _sDescription (\ s a -> s{_sDescription = a});---- | The time stamp when the snapshot was initiated.-sStartTime :: Lens' Snapshot UTCTime-sStartTime = lens _sStartTime (\ s a -> s{_sStartTime = a}) . _Time;---- | The progress of the snapshot, as a percentage.-sProgress :: Lens' Snapshot Text-sProgress = lens _sProgress (\ s a -> s{_sProgress = a});---- | The snapshot state.-sState :: Lens' Snapshot SnapshotState-sState = lens _sState (\ s a -> s{_sState = a});---- | Indicates whether the snapshot is encrypted.-sEncrypted :: Lens' Snapshot Bool-sEncrypted = lens _sEncrypted (\ s a -> s{_sEncrypted = a});--instance FromXML Snapshot where- parseXML x- = Snapshot' <$>- (x .@? "statusMessage") <*> (x .@? "ownerAlias") <*>- (x .@? "dataEncryptionKeyId")- <*> (x .@? "kmsKeyId")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "snapshotId")- <*> (x .@ "ownerId")- <*> (x .@ "volumeId")- <*> (x .@ "volumeSize")- <*> (x .@ "description")- <*> (x .@ "startTime")- <*> (x .@ "progress")- <*> (x .@ "status")- <*> (x .@ "encrypted")---- | Describes the snapshot created from the imported disk.------ /See:/ 'snapshotDetail' smart constructor.-data SnapshotDetail = SnapshotDetail'- { _sdStatus :: !(Maybe Text)- , _sdProgress :: !(Maybe Text)- , _sdFormat :: !(Maybe Text)- , _sdURL :: !(Maybe Text)- , _sdDeviceName :: !(Maybe Text)- , _sdStatusMessage :: !(Maybe Text)- , _sdUserBucket :: !(Maybe UserBucketDetails)- , _sdDiskImageSize :: !(Maybe Double)- , _sdDescription :: !(Maybe Text)- , _sdSnapshotId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SnapshotDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sdStatus'------ * 'sdProgress'------ * 'sdFormat'------ * 'sdURL'------ * 'sdDeviceName'------ * 'sdStatusMessage'------ * 'sdUserBucket'------ * 'sdDiskImageSize'------ * 'sdDescription'------ * 'sdSnapshotId'-snapshotDetail- :: SnapshotDetail-snapshotDetail =- SnapshotDetail'- { _sdStatus = Nothing- , _sdProgress = Nothing- , _sdFormat = Nothing- , _sdURL = Nothing- , _sdDeviceName = Nothing- , _sdStatusMessage = Nothing- , _sdUserBucket = Nothing- , _sdDiskImageSize = Nothing- , _sdDescription = Nothing- , _sdSnapshotId = Nothing- }---- | A brief status of the snapshot creation.-sdStatus :: Lens' SnapshotDetail (Maybe Text)-sdStatus = lens _sdStatus (\ s a -> s{_sdStatus = a});---- | The percentage of progress for the task.-sdProgress :: Lens' SnapshotDetail (Maybe Text)-sdProgress = lens _sdProgress (\ s a -> s{_sdProgress = a});---- | The format of the disk image from which the snapshot is created.-sdFormat :: Lens' SnapshotDetail (Maybe Text)-sdFormat = lens _sdFormat (\ s a -> s{_sdFormat = a});---- | The URL used to access the disk image.-sdURL :: Lens' SnapshotDetail (Maybe Text)-sdURL = lens _sdURL (\ s a -> s{_sdURL = a});---- | The block device mapping for the snapshot.-sdDeviceName :: Lens' SnapshotDetail (Maybe Text)-sdDeviceName = lens _sdDeviceName (\ s a -> s{_sdDeviceName = a});---- | A detailed status message for the snapshot creation.-sdStatusMessage :: Lens' SnapshotDetail (Maybe Text)-sdStatusMessage = lens _sdStatusMessage (\ s a -> s{_sdStatusMessage = a});---- | Undocumented member.-sdUserBucket :: Lens' SnapshotDetail (Maybe UserBucketDetails)-sdUserBucket = lens _sdUserBucket (\ s a -> s{_sdUserBucket = a});---- | The size of the disk in the snapshot, in GiB.-sdDiskImageSize :: Lens' SnapshotDetail (Maybe Double)-sdDiskImageSize = lens _sdDiskImageSize (\ s a -> s{_sdDiskImageSize = a});---- | A description for the snapshot.-sdDescription :: Lens' SnapshotDetail (Maybe Text)-sdDescription = lens _sdDescription (\ s a -> s{_sdDescription = a});---- | The snapshot ID of the disk being imported.-sdSnapshotId :: Lens' SnapshotDetail (Maybe Text)-sdSnapshotId = lens _sdSnapshotId (\ s a -> s{_sdSnapshotId = a});--instance FromXML SnapshotDetail where- parseXML x- = SnapshotDetail' <$>- (x .@? "status") <*> (x .@? "progress") <*>- (x .@? "format")- <*> (x .@? "url")- <*> (x .@? "deviceName")- <*> (x .@? "statusMessage")- <*> (x .@? "userBucket")- <*> (x .@? "diskImageSize")- <*> (x .@? "description")- <*> (x .@? "snapshotId")---- | The disk container object for the import snapshot request.------ /See:/ 'snapshotDiskContainer' smart constructor.-data SnapshotDiskContainer = SnapshotDiskContainer'- { _sdcFormat :: !(Maybe Text)- , _sdcURL :: !(Maybe Text)- , _sdcUserBucket :: !(Maybe UserBucket)- , _sdcDescription :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SnapshotDiskContainer' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sdcFormat'------ * 'sdcURL'------ * 'sdcUserBucket'------ * 'sdcDescription'-snapshotDiskContainer- :: SnapshotDiskContainer-snapshotDiskContainer =- SnapshotDiskContainer'- { _sdcFormat = Nothing- , _sdcURL = Nothing- , _sdcUserBucket = Nothing- , _sdcDescription = Nothing- }---- | The format of the disk image being imported.------ Valid values: 'RAW' | 'VHD' | 'VMDK' | 'OVA'-sdcFormat :: Lens' SnapshotDiskContainer (Maybe Text)-sdcFormat = lens _sdcFormat (\ s a -> s{_sdcFormat = a});---- | The URL to the Amazon S3-based disk image being imported. It can either--- be a https URL (https:\/\/..) or an Amazon S3 URL (s3:\/\/..).-sdcURL :: Lens' SnapshotDiskContainer (Maybe Text)-sdcURL = lens _sdcURL (\ s a -> s{_sdcURL = a});---- | Undocumented member.-sdcUserBucket :: Lens' SnapshotDiskContainer (Maybe UserBucket)-sdcUserBucket = lens _sdcUserBucket (\ s a -> s{_sdcUserBucket = a});---- | The description of the disk image being imported.-sdcDescription :: Lens' SnapshotDiskContainer (Maybe Text)-sdcDescription = lens _sdcDescription (\ s a -> s{_sdcDescription = a});--instance ToQuery SnapshotDiskContainer where- toQuery SnapshotDiskContainer'{..}- = mconcat- ["Format" =: _sdcFormat, "Url" =: _sdcURL,- "UserBucket" =: _sdcUserBucket,- "Description" =: _sdcDescription]---- | Details about the import snapshot task.------ /See:/ 'snapshotTaskDetail' smart constructor.-data SnapshotTaskDetail = SnapshotTaskDetail'- { _stdStatus :: !(Maybe Text)- , _stdProgress :: !(Maybe Text)- , _stdFormat :: !(Maybe Text)- , _stdURL :: !(Maybe Text)- , _stdStatusMessage :: !(Maybe Text)- , _stdUserBucket :: !(Maybe UserBucketDetails)- , _stdDiskImageSize :: !(Maybe Double)- , _stdDescription :: !(Maybe Text)- , _stdSnapshotId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SnapshotTaskDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'stdStatus'------ * 'stdProgress'------ * 'stdFormat'------ * 'stdURL'------ * 'stdStatusMessage'------ * 'stdUserBucket'------ * 'stdDiskImageSize'------ * 'stdDescription'------ * 'stdSnapshotId'-snapshotTaskDetail- :: SnapshotTaskDetail-snapshotTaskDetail =- SnapshotTaskDetail'- { _stdStatus = Nothing- , _stdProgress = Nothing- , _stdFormat = Nothing- , _stdURL = Nothing- , _stdStatusMessage = Nothing- , _stdUserBucket = Nothing- , _stdDiskImageSize = Nothing- , _stdDescription = Nothing- , _stdSnapshotId = Nothing- }---- | A brief status for the import snapshot task.-stdStatus :: Lens' SnapshotTaskDetail (Maybe Text)-stdStatus = lens _stdStatus (\ s a -> s{_stdStatus = a});---- | The percentage of completion for the import snapshot task.-stdProgress :: Lens' SnapshotTaskDetail (Maybe Text)-stdProgress = lens _stdProgress (\ s a -> s{_stdProgress = a});---- | The format of the disk image from which the snapshot is created.-stdFormat :: Lens' SnapshotTaskDetail (Maybe Text)-stdFormat = lens _stdFormat (\ s a -> s{_stdFormat = a});---- | The URL of the disk image from which the snapshot is created.-stdURL :: Lens' SnapshotTaskDetail (Maybe Text)-stdURL = lens _stdURL (\ s a -> s{_stdURL = a});---- | A detailed status message for the import snapshot task.-stdStatusMessage :: Lens' SnapshotTaskDetail (Maybe Text)-stdStatusMessage = lens _stdStatusMessage (\ s a -> s{_stdStatusMessage = a});---- | The S3 bucket for the disk image.-stdUserBucket :: Lens' SnapshotTaskDetail (Maybe UserBucketDetails)-stdUserBucket = lens _stdUserBucket (\ s a -> s{_stdUserBucket = a});---- | The size of the disk in the snapshot, in GiB.-stdDiskImageSize :: Lens' SnapshotTaskDetail (Maybe Double)-stdDiskImageSize = lens _stdDiskImageSize (\ s a -> s{_stdDiskImageSize = a});---- | The description of the snapshot.-stdDescription :: Lens' SnapshotTaskDetail (Maybe Text)-stdDescription = lens _stdDescription (\ s a -> s{_stdDescription = a});---- | The snapshot ID of the disk being imported.-stdSnapshotId :: Lens' SnapshotTaskDetail (Maybe Text)-stdSnapshotId = lens _stdSnapshotId (\ s a -> s{_stdSnapshotId = a});--instance FromXML SnapshotTaskDetail where- parseXML x- = SnapshotTaskDetail' <$>- (x .@? "status") <*> (x .@? "progress") <*>- (x .@? "format")- <*> (x .@? "url")- <*> (x .@? "statusMessage")- <*> (x .@? "userBucket")- <*> (x .@? "diskImageSize")- <*> (x .@? "description")- <*> (x .@? "snapshotId")---- | Describes the data feed for a Spot instance.------ /See:/ 'spotDatafeedSubscription' smart constructor.-data SpotDatafeedSubscription = SpotDatafeedSubscription'- { _sdsState :: !(Maybe DatafeedSubscriptionState)- , _sdsPrefix :: !(Maybe Text)- , _sdsBucket :: !(Maybe Text)- , _sdsOwnerId :: !(Maybe Text)- , _sdsFault :: !(Maybe SpotInstanceStateFault)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SpotDatafeedSubscription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sdsState'------ * 'sdsPrefix'------ * 'sdsBucket'------ * 'sdsOwnerId'------ * 'sdsFault'-spotDatafeedSubscription- :: SpotDatafeedSubscription-spotDatafeedSubscription =- SpotDatafeedSubscription'- { _sdsState = Nothing- , _sdsPrefix = Nothing- , _sdsBucket = Nothing- , _sdsOwnerId = Nothing- , _sdsFault = Nothing- }---- | The state of the Spot instance data feed subscription.-sdsState :: Lens' SpotDatafeedSubscription (Maybe DatafeedSubscriptionState)-sdsState = lens _sdsState (\ s a -> s{_sdsState = a});---- | The prefix that is prepended to data feed files.-sdsPrefix :: Lens' SpotDatafeedSubscription (Maybe Text)-sdsPrefix = lens _sdsPrefix (\ s a -> s{_sdsPrefix = a});---- | The Amazon S3 bucket where the Spot instance data feed is located.-sdsBucket :: Lens' SpotDatafeedSubscription (Maybe Text)-sdsBucket = lens _sdsBucket (\ s a -> s{_sdsBucket = a});---- | The AWS account ID of the account.-sdsOwnerId :: Lens' SpotDatafeedSubscription (Maybe Text)-sdsOwnerId = lens _sdsOwnerId (\ s a -> s{_sdsOwnerId = a});---- | The fault codes for the Spot instance request, if any.-sdsFault :: Lens' SpotDatafeedSubscription (Maybe SpotInstanceStateFault)-sdsFault = lens _sdsFault (\ s a -> s{_sdsFault = a});--instance FromXML SpotDatafeedSubscription where- parseXML x- = SpotDatafeedSubscription' <$>- (x .@? "state") <*> (x .@? "prefix") <*>- (x .@? "bucket")- <*> (x .@? "ownerId")- <*> (x .@? "fault")---- | Describes the launch specification for one or more Spot instances.------ /See:/ 'spotFleetLaunchSpecification' smart constructor.-data SpotFleetLaunchSpecification = SpotFleetLaunchSpecification'- { _sflsSecurityGroups :: !(Maybe [GroupIdentifier])- , _sflsSpotPrice :: !(Maybe Text)- , _sflsWeightedCapacity :: !(Maybe Double)- , _sflsKeyName :: !(Maybe Text)- , _sflsNetworkInterfaces :: !(Maybe [InstanceNetworkInterfaceSpecification])- , _sflsRAMDiskId :: !(Maybe Text)- , _sflsSubnetId :: !(Maybe Text)- , _sflsKernelId :: !(Maybe Text)- , _sflsInstanceType :: !(Maybe InstanceType)- , _sflsEBSOptimized :: !(Maybe Bool)- , _sflsUserData :: !(Maybe Text)- , _sflsMonitoring :: !(Maybe SpotFleetMonitoring)- , _sflsIAMInstanceProfile :: !(Maybe IAMInstanceProfileSpecification)- , _sflsImageId :: !(Maybe Text)- , _sflsAddressingType :: !(Maybe Text)- , _sflsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])- , _sflsPlacement :: !(Maybe SpotPlacement)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SpotFleetLaunchSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sflsSecurityGroups'------ * 'sflsSpotPrice'------ * 'sflsWeightedCapacity'------ * 'sflsKeyName'------ * 'sflsNetworkInterfaces'------ * 'sflsRAMDiskId'------ * 'sflsSubnetId'------ * 'sflsKernelId'------ * 'sflsInstanceType'------ * 'sflsEBSOptimized'------ * 'sflsUserData'------ * 'sflsMonitoring'------ * 'sflsIAMInstanceProfile'------ * 'sflsImageId'------ * 'sflsAddressingType'------ * 'sflsBlockDeviceMappings'------ * 'sflsPlacement'-spotFleetLaunchSpecification- :: SpotFleetLaunchSpecification-spotFleetLaunchSpecification =- SpotFleetLaunchSpecification'- { _sflsSecurityGroups = Nothing- , _sflsSpotPrice = Nothing- , _sflsWeightedCapacity = Nothing- , _sflsKeyName = Nothing- , _sflsNetworkInterfaces = Nothing- , _sflsRAMDiskId = Nothing- , _sflsSubnetId = Nothing- , _sflsKernelId = Nothing- , _sflsInstanceType = Nothing- , _sflsEBSOptimized = Nothing- , _sflsUserData = Nothing- , _sflsMonitoring = Nothing- , _sflsIAMInstanceProfile = Nothing- , _sflsImageId = Nothing- , _sflsAddressingType = Nothing- , _sflsBlockDeviceMappings = Nothing- , _sflsPlacement = Nothing- }---- | One or more security groups. When requesting instances in a VPC, you--- must specify the IDs of the security groups. When requesting instances--- in EC2-Classic, you can specify the names or the IDs of the security--- groups.-sflsSecurityGroups :: Lens' SpotFleetLaunchSpecification [GroupIdentifier]-sflsSecurityGroups = lens _sflsSecurityGroups (\ s a -> s{_sflsSecurityGroups = a}) . _Default . _Coerce;---- | The bid price per unit hour for the specified instance type. If this--- value is not specified, the default is the Spot bid price specified for--- the fleet. To determine the bid price per unit hour, divide the Spot bid--- price by the value of 'WeightedCapacity'.-sflsSpotPrice :: Lens' SpotFleetLaunchSpecification (Maybe Text)-sflsSpotPrice = lens _sflsSpotPrice (\ s a -> s{_sflsSpotPrice = a});---- | The number of units provided by the specified instance type. These are--- the same units that you chose to set the target capacity in terms--- (instances or a performance characteristic such as vCPUs, memory, or--- I\/O).------ If the target capacity divided by this value is not a whole number, we--- round the number of instances to the next whole number. If this value is--- not specified, the default is 1.-sflsWeightedCapacity :: Lens' SpotFleetLaunchSpecification (Maybe Double)-sflsWeightedCapacity = lens _sflsWeightedCapacity (\ s a -> s{_sflsWeightedCapacity = a});---- | The name of the key pair.-sflsKeyName :: Lens' SpotFleetLaunchSpecification (Maybe Text)-sflsKeyName = lens _sflsKeyName (\ s a -> s{_sflsKeyName = a});---- | One or more network interfaces.-sflsNetworkInterfaces :: Lens' SpotFleetLaunchSpecification [InstanceNetworkInterfaceSpecification]-sflsNetworkInterfaces = lens _sflsNetworkInterfaces (\ s a -> s{_sflsNetworkInterfaces = a}) . _Default . _Coerce;---- | The ID of the RAM disk.-sflsRAMDiskId :: Lens' SpotFleetLaunchSpecification (Maybe Text)-sflsRAMDiskId = lens _sflsRAMDiskId (\ s a -> s{_sflsRAMDiskId = a});---- | The ID of the subnet in which to launch the instances. To specify--- multiple subnets, separate them using commas; for example,--- \"subnet-a61dafcf, subnet-65ea5f08\".-sflsSubnetId :: Lens' SpotFleetLaunchSpecification (Maybe Text)-sflsSubnetId = lens _sflsSubnetId (\ s a -> s{_sflsSubnetId = a});---- | The ID of the kernel.-sflsKernelId :: Lens' SpotFleetLaunchSpecification (Maybe Text)-sflsKernelId = lens _sflsKernelId (\ s a -> s{_sflsKernelId = a});---- | The instance type.-sflsInstanceType :: Lens' SpotFleetLaunchSpecification (Maybe InstanceType)-sflsInstanceType = lens _sflsInstanceType (\ s a -> s{_sflsInstanceType = a});---- | Indicates whether the instances are optimized for EBS I\/O. This--- optimization provides dedicated throughput to Amazon EBS and an--- optimized configuration stack to provide optimal EBS I\/O performance.--- This optimization isn\'t available with all instance types. Additional--- usage charges apply when using an EBS Optimized instance.------ Default: 'false'-sflsEBSOptimized :: Lens' SpotFleetLaunchSpecification (Maybe Bool)-sflsEBSOptimized = lens _sflsEBSOptimized (\ s a -> s{_sflsEBSOptimized = a});---- | The Base64-encoded MIME user data to make available to the instances.-sflsUserData :: Lens' SpotFleetLaunchSpecification (Maybe Text)-sflsUserData = lens _sflsUserData (\ s a -> s{_sflsUserData = a});---- | Enable or disable monitoring for the instances.-sflsMonitoring :: Lens' SpotFleetLaunchSpecification (Maybe SpotFleetMonitoring)-sflsMonitoring = lens _sflsMonitoring (\ s a -> s{_sflsMonitoring = a});---- | The IAM instance profile.-sflsIAMInstanceProfile :: Lens' SpotFleetLaunchSpecification (Maybe IAMInstanceProfileSpecification)-sflsIAMInstanceProfile = lens _sflsIAMInstanceProfile (\ s a -> s{_sflsIAMInstanceProfile = a});---- | The ID of the AMI.-sflsImageId :: Lens' SpotFleetLaunchSpecification (Maybe Text)-sflsImageId = lens _sflsImageId (\ s a -> s{_sflsImageId = a});---- | Deprecated.-sflsAddressingType :: Lens' SpotFleetLaunchSpecification (Maybe Text)-sflsAddressingType = lens _sflsAddressingType (\ s a -> s{_sflsAddressingType = a});---- | One or more block device mapping entries.-sflsBlockDeviceMappings :: Lens' SpotFleetLaunchSpecification [BlockDeviceMapping]-sflsBlockDeviceMappings = lens _sflsBlockDeviceMappings (\ s a -> s{_sflsBlockDeviceMappings = a}) . _Default . _Coerce;---- | The placement information.-sflsPlacement :: Lens' SpotFleetLaunchSpecification (Maybe SpotPlacement)-sflsPlacement = lens _sflsPlacement (\ s a -> s{_sflsPlacement = a});--instance FromXML SpotFleetLaunchSpecification where- parseXML x- = SpotFleetLaunchSpecification' <$>- (x .@? "groupSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "spotPrice")- <*> (x .@? "weightedCapacity")- <*> (x .@? "keyName")- <*>- (x .@? "networkInterfaceSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "ramdiskId")- <*> (x .@? "subnetId")- <*> (x .@? "kernelId")- <*> (x .@? "instanceType")- <*> (x .@? "ebsOptimized")- <*> (x .@? "userData")- <*> (x .@? "monitoring")- <*> (x .@? "iamInstanceProfile")- <*> (x .@? "imageId")- <*> (x .@? "addressingType")- <*>- (x .@? "blockDeviceMapping" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "placement")--instance ToQuery SpotFleetLaunchSpecification where- toQuery SpotFleetLaunchSpecification'{..}- = mconcat- [toQuery- (toQueryList "GroupSet" <$> _sflsSecurityGroups),- "SpotPrice" =: _sflsSpotPrice,- "WeightedCapacity" =: _sflsWeightedCapacity,- "KeyName" =: _sflsKeyName,- toQuery- (toQueryList "NetworkInterfaceSet" <$>- _sflsNetworkInterfaces),- "RamdiskId" =: _sflsRAMDiskId,- "SubnetId" =: _sflsSubnetId,- "KernelId" =: _sflsKernelId,- "InstanceType" =: _sflsInstanceType,- "EbsOptimized" =: _sflsEBSOptimized,- "UserData" =: _sflsUserData,- "Monitoring" =: _sflsMonitoring,- "IamInstanceProfile" =: _sflsIAMInstanceProfile,- "ImageId" =: _sflsImageId,- "AddressingType" =: _sflsAddressingType,- toQuery- (toQueryList "BlockDeviceMapping" <$>- _sflsBlockDeviceMappings),- "Placement" =: _sflsPlacement]---- | Describes whether monitoring is enabled.------ /See:/ 'spotFleetMonitoring' smart constructor.-newtype SpotFleetMonitoring = SpotFleetMonitoring'- { _sfmEnabled :: Maybe Bool- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SpotFleetMonitoring' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sfmEnabled'-spotFleetMonitoring- :: SpotFleetMonitoring-spotFleetMonitoring =- SpotFleetMonitoring'- { _sfmEnabled = Nothing- }---- | Enables monitoring for the instance.------ Default: 'false'-sfmEnabled :: Lens' SpotFleetMonitoring (Maybe Bool)-sfmEnabled = lens _sfmEnabled (\ s a -> s{_sfmEnabled = a});--instance FromXML SpotFleetMonitoring where- parseXML x- = SpotFleetMonitoring' <$> (x .@? "enabled")--instance ToQuery SpotFleetMonitoring where- toQuery SpotFleetMonitoring'{..}- = mconcat ["Enabled" =: _sfmEnabled]---- | Describes a Spot fleet request.------ /See:/ 'spotFleetRequestConfig' smart constructor.-data SpotFleetRequestConfig = SpotFleetRequestConfig'- { _sfrcSpotFleetRequestId :: !Text- , _sfrcSpotFleetRequestState :: !BatchState- , _sfrcSpotFleetRequestConfig :: !SpotFleetRequestConfigData- , _sfrcCreateTime :: !ISO8601- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SpotFleetRequestConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sfrcSpotFleetRequestId'------ * 'sfrcSpotFleetRequestState'------ * 'sfrcSpotFleetRequestConfig'------ * 'sfrcCreateTime'-spotFleetRequestConfig- :: Text -- ^ 'sfrcSpotFleetRequestId'- -> BatchState -- ^ 'sfrcSpotFleetRequestState'- -> SpotFleetRequestConfigData -- ^ 'sfrcSpotFleetRequestConfig'- -> UTCTime -- ^ 'sfrcCreateTime'- -> SpotFleetRequestConfig-spotFleetRequestConfig pSpotFleetRequestId_ pSpotFleetRequestState_ pSpotFleetRequestConfig_ pCreateTime_ =- SpotFleetRequestConfig'- { _sfrcSpotFleetRequestId = pSpotFleetRequestId_- , _sfrcSpotFleetRequestState = pSpotFleetRequestState_- , _sfrcSpotFleetRequestConfig = pSpotFleetRequestConfig_- , _sfrcCreateTime = _Time # pCreateTime_- }---- | The ID of the Spot fleet request.-sfrcSpotFleetRequestId :: Lens' SpotFleetRequestConfig Text-sfrcSpotFleetRequestId = lens _sfrcSpotFleetRequestId (\ s a -> s{_sfrcSpotFleetRequestId = a});---- | The state of the Spot fleet request.-sfrcSpotFleetRequestState :: Lens' SpotFleetRequestConfig BatchState-sfrcSpotFleetRequestState = lens _sfrcSpotFleetRequestState (\ s a -> s{_sfrcSpotFleetRequestState = a});---- | Information about the configuration of the Spot fleet request.-sfrcSpotFleetRequestConfig :: Lens' SpotFleetRequestConfig SpotFleetRequestConfigData-sfrcSpotFleetRequestConfig = lens _sfrcSpotFleetRequestConfig (\ s a -> s{_sfrcSpotFleetRequestConfig = a});---- | The creation date and time of the request.-sfrcCreateTime :: Lens' SpotFleetRequestConfig UTCTime-sfrcCreateTime = lens _sfrcCreateTime (\ s a -> s{_sfrcCreateTime = a}) . _Time;--instance FromXML SpotFleetRequestConfig where- parseXML x- = SpotFleetRequestConfig' <$>- (x .@ "spotFleetRequestId") <*>- (x .@ "spotFleetRequestState")- <*> (x .@ "spotFleetRequestConfig")- <*> (x .@ "createTime")---- | Describes the configuration of a Spot fleet request.------ /See:/ 'spotFleetRequestConfigData' smart constructor.-data SpotFleetRequestConfigData = SpotFleetRequestConfigData'- { _sfrcdClientToken :: !(Maybe Text)- , _sfrcdExcessCapacityTerminationPolicy :: !(Maybe ExcessCapacityTerminationPolicy)- , _sfrcdValidUntil :: !(Maybe ISO8601)- , _sfrcdTerminateInstancesWithExpiration :: !(Maybe Bool)- , _sfrcdValidFrom :: !(Maybe ISO8601)- , _sfrcdAllocationStrategy :: !(Maybe AllocationStrategy)- , _sfrcdSpotPrice :: !Text- , _sfrcdTargetCapacity :: !Int- , _sfrcdIAMFleetRole :: !Text- , _sfrcdLaunchSpecifications :: !(List1 SpotFleetLaunchSpecification)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SpotFleetRequestConfigData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sfrcdClientToken'------ * 'sfrcdExcessCapacityTerminationPolicy'------ * 'sfrcdValidUntil'------ * 'sfrcdTerminateInstancesWithExpiration'------ * 'sfrcdValidFrom'------ * 'sfrcdAllocationStrategy'------ * 'sfrcdSpotPrice'------ * 'sfrcdTargetCapacity'------ * 'sfrcdIAMFleetRole'------ * 'sfrcdLaunchSpecifications'-spotFleetRequestConfigData- :: Text -- ^ 'sfrcdSpotPrice'- -> Int -- ^ 'sfrcdTargetCapacity'- -> Text -- ^ 'sfrcdIAMFleetRole'- -> NonEmpty SpotFleetLaunchSpecification -- ^ 'sfrcdLaunchSpecifications'- -> SpotFleetRequestConfigData-spotFleetRequestConfigData pSpotPrice_ pTargetCapacity_ pIAMFleetRole_ pLaunchSpecifications_ =- SpotFleetRequestConfigData'- { _sfrcdClientToken = Nothing- , _sfrcdExcessCapacityTerminationPolicy = Nothing- , _sfrcdValidUntil = Nothing- , _sfrcdTerminateInstancesWithExpiration = Nothing- , _sfrcdValidFrom = Nothing- , _sfrcdAllocationStrategy = Nothing- , _sfrcdSpotPrice = pSpotPrice_- , _sfrcdTargetCapacity = pTargetCapacity_- , _sfrcdIAMFleetRole = pIAMFleetRole_- , _sfrcdLaunchSpecifications = _List1 # pLaunchSpecifications_- }---- | A unique, case-sensitive identifier you provide to ensure idempotency of--- your listings. This helps avoid duplicate listings. For more--- information, see--- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.-sfrcdClientToken :: Lens' SpotFleetRequestConfigData (Maybe Text)-sfrcdClientToken = lens _sfrcdClientToken (\ s a -> s{_sfrcdClientToken = a});---- | Indicates whether running Spot instances should be terminated if the--- target capacity of the Spot fleet request is decreased below the current--- size of the Spot fleet.-sfrcdExcessCapacityTerminationPolicy :: Lens' SpotFleetRequestConfigData (Maybe ExcessCapacityTerminationPolicy)-sfrcdExcessCapacityTerminationPolicy = lens _sfrcdExcessCapacityTerminationPolicy (\ s a -> s{_sfrcdExcessCapacityTerminationPolicy = a});---- | The end date and time of the request, in UTC format (for example,--- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). At this point, no new Spot instance--- requests are placed or enabled to fulfill the request.-sfrcdValidUntil :: Lens' SpotFleetRequestConfigData (Maybe UTCTime)-sfrcdValidUntil = lens _sfrcdValidUntil (\ s a -> s{_sfrcdValidUntil = a}) . mapping _Time;---- | Indicates whether running Spot instances should be terminated when the--- Spot fleet request expires.-sfrcdTerminateInstancesWithExpiration :: Lens' SpotFleetRequestConfigData (Maybe Bool)-sfrcdTerminateInstancesWithExpiration = lens _sfrcdTerminateInstancesWithExpiration (\ s a -> s{_sfrcdTerminateInstancesWithExpiration = a});---- | The start date and time of the request, in UTC format (for example,--- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). The default is to start fulfilling--- the request immediately.-sfrcdValidFrom :: Lens' SpotFleetRequestConfigData (Maybe UTCTime)-sfrcdValidFrom = lens _sfrcdValidFrom (\ s a -> s{_sfrcdValidFrom = a}) . mapping _Time;---- | Indicates how to allocate the target capacity across the Spot pools--- specified by the Spot fleet request. The default is 'lowestPrice'.-sfrcdAllocationStrategy :: Lens' SpotFleetRequestConfigData (Maybe AllocationStrategy)-sfrcdAllocationStrategy = lens _sfrcdAllocationStrategy (\ s a -> s{_sfrcdAllocationStrategy = a});---- | The bid price per unit hour.-sfrcdSpotPrice :: Lens' SpotFleetRequestConfigData Text-sfrcdSpotPrice = lens _sfrcdSpotPrice (\ s a -> s{_sfrcdSpotPrice = a});---- | The number of units to request. You can choose to set the target--- capacity in terms of instances or a performance characteristic that is--- important to your application workload, such as vCPUs, memory, or I\/O.-sfrcdTargetCapacity :: Lens' SpotFleetRequestConfigData Int-sfrcdTargetCapacity = lens _sfrcdTargetCapacity (\ s a -> s{_sfrcdTargetCapacity = a});---- | Grants the Spot fleet permission to terminate Spot instances on your--- behalf when you cancel its Spot fleet request using--- CancelSpotFleetRequests or when the Spot fleet request expires, if you--- set 'terminateInstancesWithExpiration'.-sfrcdIAMFleetRole :: Lens' SpotFleetRequestConfigData Text-sfrcdIAMFleetRole = lens _sfrcdIAMFleetRole (\ s a -> s{_sfrcdIAMFleetRole = a});---- | Information about the launch specifications for the Spot fleet request.-sfrcdLaunchSpecifications :: Lens' SpotFleetRequestConfigData (NonEmpty SpotFleetLaunchSpecification)-sfrcdLaunchSpecifications = lens _sfrcdLaunchSpecifications (\ s a -> s{_sfrcdLaunchSpecifications = a}) . _List1;--instance FromXML SpotFleetRequestConfigData where- parseXML x- = SpotFleetRequestConfigData' <$>- (x .@? "clientToken") <*>- (x .@? "excessCapacityTerminationPolicy")- <*> (x .@? "validUntil")- <*> (x .@? "terminateInstancesWithExpiration")- <*> (x .@? "validFrom")- <*> (x .@? "allocationStrategy")- <*> (x .@ "spotPrice")- <*> (x .@ "targetCapacity")- <*> (x .@ "iamFleetRole")- <*>- (x .@? "launchSpecifications" .!@ mempty >>=- parseXMLList1 "item")--instance ToQuery SpotFleetRequestConfigData where- toQuery SpotFleetRequestConfigData'{..}- = mconcat- ["ClientToken" =: _sfrcdClientToken,- "ExcessCapacityTerminationPolicy" =:- _sfrcdExcessCapacityTerminationPolicy,- "ValidUntil" =: _sfrcdValidUntil,- "TerminateInstancesWithExpiration" =:- _sfrcdTerminateInstancesWithExpiration,- "ValidFrom" =: _sfrcdValidFrom,- "AllocationStrategy" =: _sfrcdAllocationStrategy,- "SpotPrice" =: _sfrcdSpotPrice,- "TargetCapacity" =: _sfrcdTargetCapacity,- "IamFleetRole" =: _sfrcdIAMFleetRole,- toQueryList "LaunchSpecifications"- _sfrcdLaunchSpecifications]---- | Describes a Spot instance request.------ /See:/ 'spotInstanceRequest' smart constructor.-data SpotInstanceRequest = SpotInstanceRequest'- { _sirInstanceId :: !(Maybe Text)- , _sirStatus :: !(Maybe SpotInstanceStatus)- , _sirState :: !(Maybe SpotInstanceState)- , _sirActualBlockHourlyPrice :: !(Maybe Text)- , _sirBlockDurationMinutes :: !(Maybe Int)- , _sirProductDescription :: !(Maybe RIProductDescription)- , _sirSpotPrice :: !(Maybe Text)- , _sirLaunchSpecification :: !(Maybe LaunchSpecification)- , _sirAvailabilityZoneGroup :: !(Maybe Text)- , _sirLaunchedAvailabilityZone :: !(Maybe Text)- , _sirValidUntil :: !(Maybe ISO8601)- , _sirLaunchGroup :: !(Maybe Text)- , _sirFault :: !(Maybe SpotInstanceStateFault)- , _sirSpotInstanceRequestId :: !(Maybe Text)- , _sirType :: !(Maybe SpotInstanceType)- , _sirValidFrom :: !(Maybe ISO8601)- , _sirCreateTime :: !(Maybe ISO8601)- , _sirTags :: !(Maybe [Tag])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SpotInstanceRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sirInstanceId'------ * 'sirStatus'------ * 'sirState'------ * 'sirActualBlockHourlyPrice'------ * 'sirBlockDurationMinutes'------ * 'sirProductDescription'------ * 'sirSpotPrice'------ * 'sirLaunchSpecification'------ * 'sirAvailabilityZoneGroup'------ * 'sirLaunchedAvailabilityZone'------ * 'sirValidUntil'------ * 'sirLaunchGroup'------ * 'sirFault'------ * 'sirSpotInstanceRequestId'------ * 'sirType'------ * 'sirValidFrom'------ * 'sirCreateTime'------ * 'sirTags'-spotInstanceRequest- :: SpotInstanceRequest-spotInstanceRequest =- SpotInstanceRequest'- { _sirInstanceId = Nothing- , _sirStatus = Nothing- , _sirState = Nothing- , _sirActualBlockHourlyPrice = Nothing- , _sirBlockDurationMinutes = Nothing- , _sirProductDescription = Nothing- , _sirSpotPrice = Nothing- , _sirLaunchSpecification = Nothing- , _sirAvailabilityZoneGroup = Nothing- , _sirLaunchedAvailabilityZone = Nothing- , _sirValidUntil = Nothing- , _sirLaunchGroup = Nothing- , _sirFault = Nothing- , _sirSpotInstanceRequestId = Nothing- , _sirType = Nothing- , _sirValidFrom = Nothing- , _sirCreateTime = Nothing- , _sirTags = Nothing- }---- | The instance ID, if an instance has been launched to fulfill the Spot--- instance request.-sirInstanceId :: Lens' SpotInstanceRequest (Maybe Text)-sirInstanceId = lens _sirInstanceId (\ s a -> s{_sirInstanceId = a});---- | The status code and status message describing the Spot instance request.-sirStatus :: Lens' SpotInstanceRequest (Maybe SpotInstanceStatus)-sirStatus = lens _sirStatus (\ s a -> s{_sirStatus = a});---- | The state of the Spot instance request. Spot bid status information can--- help you track your Spot instance requests. For more information, see--- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html Spot Bid Status>--- in the /Amazon Elastic Compute Cloud User Guide/.-sirState :: Lens' SpotInstanceRequest (Maybe SpotInstanceState)-sirState = lens _sirState (\ s a -> s{_sirState = a});---- | If you specified a duration and your Spot instance request was--- fulfilled, this is the fixed hourly price in effect for the Spot--- instance while it runs.-sirActualBlockHourlyPrice :: Lens' SpotInstanceRequest (Maybe Text)-sirActualBlockHourlyPrice = lens _sirActualBlockHourlyPrice (\ s a -> s{_sirActualBlockHourlyPrice = a});---- | The duration for the Spot instance, in minutes.-sirBlockDurationMinutes :: Lens' SpotInstanceRequest (Maybe Int)-sirBlockDurationMinutes = lens _sirBlockDurationMinutes (\ s a -> s{_sirBlockDurationMinutes = a});---- | The product description associated with the Spot instance.-sirProductDescription :: Lens' SpotInstanceRequest (Maybe RIProductDescription)-sirProductDescription = lens _sirProductDescription (\ s a -> s{_sirProductDescription = a});---- | The maximum hourly price (bid) for the Spot instance launched to fulfill--- the request.-sirSpotPrice :: Lens' SpotInstanceRequest (Maybe Text)-sirSpotPrice = lens _sirSpotPrice (\ s a -> s{_sirSpotPrice = a});---- | Additional information for launching instances.-sirLaunchSpecification :: Lens' SpotInstanceRequest (Maybe LaunchSpecification)-sirLaunchSpecification = lens _sirLaunchSpecification (\ s a -> s{_sirLaunchSpecification = a});---- | The Availability Zone group. If you specify the same Availability Zone--- group for all Spot instance requests, all Spot instances are launched in--- the same Availability Zone.-sirAvailabilityZoneGroup :: Lens' SpotInstanceRequest (Maybe Text)-sirAvailabilityZoneGroup = lens _sirAvailabilityZoneGroup (\ s a -> s{_sirAvailabilityZoneGroup = a});---- | The Availability Zone in which the bid is launched.-sirLaunchedAvailabilityZone :: Lens' SpotInstanceRequest (Maybe Text)-sirLaunchedAvailabilityZone = lens _sirLaunchedAvailabilityZone (\ s a -> s{_sirLaunchedAvailabilityZone = a});---- | The end date of the request, in UTC format (for example,--- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). If this is a one-time request, it--- remains active until all instances launch, the request is canceled, or--- this date is reached. If the request is persistent, it remains active--- until it is canceled or this date is reached.-sirValidUntil :: Lens' SpotInstanceRequest (Maybe UTCTime)-sirValidUntil = lens _sirValidUntil (\ s a -> s{_sirValidUntil = a}) . mapping _Time;---- | The instance launch group. Launch groups are Spot instances that launch--- together and terminate together.-sirLaunchGroup :: Lens' SpotInstanceRequest (Maybe Text)-sirLaunchGroup = lens _sirLaunchGroup (\ s a -> s{_sirLaunchGroup = a});---- | The fault codes for the Spot instance request, if any.-sirFault :: Lens' SpotInstanceRequest (Maybe SpotInstanceStateFault)-sirFault = lens _sirFault (\ s a -> s{_sirFault = a});---- | The ID of the Spot instance request.-sirSpotInstanceRequestId :: Lens' SpotInstanceRequest (Maybe Text)-sirSpotInstanceRequestId = lens _sirSpotInstanceRequestId (\ s a -> s{_sirSpotInstanceRequestId = a});---- | The Spot instance request type.-sirType :: Lens' SpotInstanceRequest (Maybe SpotInstanceType)-sirType = lens _sirType (\ s a -> s{_sirType = a});---- | The start date of the request, in UTC format (for example,--- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). The request becomes active at this--- date and time.-sirValidFrom :: Lens' SpotInstanceRequest (Maybe UTCTime)-sirValidFrom = lens _sirValidFrom (\ s a -> s{_sirValidFrom = a}) . mapping _Time;---- | The date and time when the Spot instance request was created, in UTC--- format (for example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).-sirCreateTime :: Lens' SpotInstanceRequest (Maybe UTCTime)-sirCreateTime = lens _sirCreateTime (\ s a -> s{_sirCreateTime = a}) . mapping _Time;---- | Any tags assigned to the resource.-sirTags :: Lens' SpotInstanceRequest [Tag]-sirTags = lens _sirTags (\ s a -> s{_sirTags = a}) . _Default . _Coerce;--instance FromXML SpotInstanceRequest where- parseXML x- = SpotInstanceRequest' <$>- (x .@? "instanceId") <*> (x .@? "status") <*>- (x .@? "state")- <*> (x .@? "actualBlockHourlyPrice")- <*> (x .@? "blockDurationMinutes")- <*> (x .@? "productDescription")- <*> (x .@? "spotPrice")- <*> (x .@? "launchSpecification")- <*> (x .@? "availabilityZoneGroup")- <*> (x .@? "launchedAvailabilityZone")- <*> (x .@? "validUntil")- <*> (x .@? "launchGroup")- <*> (x .@? "fault")- <*> (x .@? "spotInstanceRequestId")- <*> (x .@? "type")- <*> (x .@? "validFrom")- <*> (x .@? "createTime")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))---- | Describes a Spot instance state change.------ /See:/ 'spotInstanceStateFault' smart constructor.-data SpotInstanceStateFault = SpotInstanceStateFault'- { _sisfCode :: !(Maybe Text)- , _sisfMessage :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SpotInstanceStateFault' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sisfCode'------ * 'sisfMessage'-spotInstanceStateFault- :: SpotInstanceStateFault-spotInstanceStateFault =- SpotInstanceStateFault'- { _sisfCode = Nothing- , _sisfMessage = Nothing- }---- | The reason code for the Spot instance state change.-sisfCode :: Lens' SpotInstanceStateFault (Maybe Text)-sisfCode = lens _sisfCode (\ s a -> s{_sisfCode = a});---- | The message for the Spot instance state change.-sisfMessage :: Lens' SpotInstanceStateFault (Maybe Text)-sisfMessage = lens _sisfMessage (\ s a -> s{_sisfMessage = a});--instance FromXML SpotInstanceStateFault where- parseXML x- = SpotInstanceStateFault' <$>- (x .@? "code") <*> (x .@? "message")---- | Describes the status of a Spot instance request.------ /See:/ 'spotInstanceStatus' smart constructor.-data SpotInstanceStatus = SpotInstanceStatus'- { _sisUpdateTime :: !(Maybe ISO8601)- , _sisCode :: !(Maybe Text)- , _sisMessage :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SpotInstanceStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sisUpdateTime'------ * 'sisCode'------ * 'sisMessage'-spotInstanceStatus- :: SpotInstanceStatus-spotInstanceStatus =- SpotInstanceStatus'- { _sisUpdateTime = Nothing- , _sisCode = Nothing- , _sisMessage = Nothing- }---- | The date and time of the most recent status update, in UTC format (for--- example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).-sisUpdateTime :: Lens' SpotInstanceStatus (Maybe UTCTime)-sisUpdateTime = lens _sisUpdateTime (\ s a -> s{_sisUpdateTime = a}) . mapping _Time;---- | The status code. For a list of status codes, see--- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand Spot Bid Status Codes>--- in the /Amazon Elastic Compute Cloud User Guide/.-sisCode :: Lens' SpotInstanceStatus (Maybe Text)-sisCode = lens _sisCode (\ s a -> s{_sisCode = a});---- | The description for the status code.-sisMessage :: Lens' SpotInstanceStatus (Maybe Text)-sisMessage = lens _sisMessage (\ s a -> s{_sisMessage = a});--instance FromXML SpotInstanceStatus where- parseXML x- = SpotInstanceStatus' <$>- (x .@? "updateTime") <*> (x .@? "code") <*>- (x .@? "message")---- | Describes Spot instance placement.------ /See:/ 'spotPlacement' smart constructor.-data SpotPlacement = SpotPlacement'- { _spAvailabilityZone :: !(Maybe Text)- , _spGroupName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SpotPlacement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'spAvailabilityZone'------ * 'spGroupName'-spotPlacement- :: SpotPlacement-spotPlacement =- SpotPlacement'- { _spAvailabilityZone = Nothing- , _spGroupName = Nothing- }---- | The Availability Zones. To specify multiple Availability Zones, separate--- them using commas; for example, \"us-west-2a, us-west-2b\".-spAvailabilityZone :: Lens' SpotPlacement (Maybe Text)-spAvailabilityZone = lens _spAvailabilityZone (\ s a -> s{_spAvailabilityZone = a});---- | The name of the placement group (for cluster instances).-spGroupName :: Lens' SpotPlacement (Maybe Text)-spGroupName = lens _spGroupName (\ s a -> s{_spGroupName = a});--instance FromXML SpotPlacement where- parseXML x- = SpotPlacement' <$>- (x .@? "availabilityZone") <*> (x .@? "groupName")--instance ToQuery SpotPlacement where- toQuery SpotPlacement'{..}- = mconcat- ["AvailabilityZone" =: _spAvailabilityZone,- "GroupName" =: _spGroupName]---- | Describes the maximum hourly price (bid) for any Spot instance launched--- to fulfill the request.------ /See:/ 'spotPrice' smart constructor.-data SpotPrice = SpotPrice'- { _sProductDescription :: !(Maybe RIProductDescription)- , _sSpotPrice :: !(Maybe Text)- , _sInstanceType :: !(Maybe InstanceType)- , _sAvailabilityZone :: !(Maybe Text)- , _sTimestamp :: !(Maybe ISO8601)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SpotPrice' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sProductDescription'------ * 'sSpotPrice'------ * 'sInstanceType'------ * 'sAvailabilityZone'------ * 'sTimestamp'-spotPrice- :: SpotPrice-spotPrice =- SpotPrice'- { _sProductDescription = Nothing- , _sSpotPrice = Nothing- , _sInstanceType = Nothing- , _sAvailabilityZone = Nothing- , _sTimestamp = Nothing- }---- | A general description of the AMI.-sProductDescription :: Lens' SpotPrice (Maybe RIProductDescription)-sProductDescription = lens _sProductDescription (\ s a -> s{_sProductDescription = a});---- | The maximum price (bid) that you are willing to pay for a Spot instance.-sSpotPrice :: Lens' SpotPrice (Maybe Text)-sSpotPrice = lens _sSpotPrice (\ s a -> s{_sSpotPrice = a});---- | The instance type.-sInstanceType :: Lens' SpotPrice (Maybe InstanceType)-sInstanceType = lens _sInstanceType (\ s a -> s{_sInstanceType = a});---- | The Availability Zone.-sAvailabilityZone :: Lens' SpotPrice (Maybe Text)-sAvailabilityZone = lens _sAvailabilityZone (\ s a -> s{_sAvailabilityZone = a});---- | The date and time the request was created, in UTC format (for example,--- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).-sTimestamp :: Lens' SpotPrice (Maybe UTCTime)-sTimestamp = lens _sTimestamp (\ s a -> s{_sTimestamp = a}) . mapping _Time;--instance FromXML SpotPrice where- parseXML x- = SpotPrice' <$>- (x .@? "productDescription") <*> (x .@? "spotPrice")- <*> (x .@? "instanceType")- <*> (x .@? "availabilityZone")- <*> (x .@? "timestamp")---- | Describes a state change.------ /See:/ 'stateReason' smart constructor.-data StateReason = StateReason'- { _srCode :: !(Maybe Text)- , _srMessage :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'StateReason' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'srCode'------ * 'srMessage'-stateReason- :: StateReason-stateReason =- StateReason'- { _srCode = Nothing- , _srMessage = Nothing- }---- | The reason code for the state change.-srCode :: Lens' StateReason (Maybe Text)-srCode = lens _srCode (\ s a -> s{_srCode = a});---- | The message for the state change.------ - 'Server.SpotInstanceTermination': A Spot instance was terminated due--- to an increase in the market price.------ - 'Server.InternalError': An internal error occurred during instance--- launch, resulting in termination.------ - 'Server.InsufficientInstanceCapacity': There was insufficient--- instance capacity to satisfy the launch request.------ - 'Client.InternalError': A client error caused the instance to--- terminate on launch.------ - 'Client.InstanceInitiatedShutdown': The instance was shut down using--- the 'shutdown -h' command from the instance.------ - 'Client.UserInitiatedShutdown': The instance was shut down using the--- Amazon EC2 API.------ - 'Client.VolumeLimitExceeded': The volume limit was exceeded.------ - 'Client.InvalidSnapshot.NotFound': The specified snapshot was not--- found.----srMessage :: Lens' StateReason (Maybe Text)-srMessage = lens _srMessage (\ s a -> s{_srMessage = a});--instance FromXML StateReason where- parseXML x- = StateReason' <$>- (x .@? "code") <*> (x .@? "message")---- | Describes the storage location for an instance store-backed AMI.------ /See:/ 'storage' smart constructor.-newtype Storage = Storage'- { _sS3 :: Maybe S3Storage- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Storage' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sS3'-storage- :: Storage-storage =- Storage'- { _sS3 = Nothing- }---- | An Amazon S3 storage location.-sS3 :: Lens' Storage (Maybe S3Storage)-sS3 = lens _sS3 (\ s a -> s{_sS3 = a});--instance FromXML Storage where- parseXML x = Storage' <$> (x .@? "S3")--instance ToQuery Storage where- toQuery Storage'{..} = mconcat ["S3" =: _sS3]---- | Describes a subnet.------ /See:/ 'subnet' smart constructor.-data Subnet = Subnet'- { _subMapPublicIPOnLaunch :: !(Maybe Bool)- , _subDefaultForAz :: !(Maybe Bool)- , _subTags :: !(Maybe [Tag])- , _subAvailabilityZone :: !Text- , _subAvailableIPAddressCount :: !Int- , _subCIdRBlock :: !Text- , _subState :: !SubnetState- , _subSubnetId :: !Text- , _subVPCId :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Subnet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'subMapPublicIPOnLaunch'------ * 'subDefaultForAz'------ * 'subTags'------ * 'subAvailabilityZone'------ * 'subAvailableIPAddressCount'------ * 'subCIdRBlock'------ * 'subState'------ * 'subSubnetId'------ * 'subVPCId'-subnet- :: Text -- ^ 'subAvailabilityZone'- -> Int -- ^ 'subAvailableIPAddressCount'- -> Text -- ^ 'subCIdRBlock'- -> SubnetState -- ^ 'subState'- -> Text -- ^ 'subSubnetId'- -> Text -- ^ 'subVPCId'- -> Subnet-subnet pAvailabilityZone_ pAvailableIPAddressCount_ pCIdRBlock_ pState_ pSubnetId_ pVPCId_ =- Subnet'- { _subMapPublicIPOnLaunch = Nothing- , _subDefaultForAz = Nothing- , _subTags = Nothing- , _subAvailabilityZone = pAvailabilityZone_- , _subAvailableIPAddressCount = pAvailableIPAddressCount_- , _subCIdRBlock = pCIdRBlock_- , _subState = pState_- , _subSubnetId = pSubnetId_- , _subVPCId = pVPCId_- }---- | Indicates whether instances launched in this subnet receive a public IP--- address.-subMapPublicIPOnLaunch :: Lens' Subnet (Maybe Bool)-subMapPublicIPOnLaunch = lens _subMapPublicIPOnLaunch (\ s a -> s{_subMapPublicIPOnLaunch = a});---- | Indicates whether this is the default subnet for the Availability Zone.-subDefaultForAz :: Lens' Subnet (Maybe Bool)-subDefaultForAz = lens _subDefaultForAz (\ s a -> s{_subDefaultForAz = a});---- | Any tags assigned to the subnet.-subTags :: Lens' Subnet [Tag]-subTags = lens _subTags (\ s a -> s{_subTags = a}) . _Default . _Coerce;---- | The Availability Zone of the subnet.-subAvailabilityZone :: Lens' Subnet Text-subAvailabilityZone = lens _subAvailabilityZone (\ s a -> s{_subAvailabilityZone = a});---- | The number of unused IP addresses in the subnet. Note that the IP--- addresses for any stopped instances are considered unavailable.-subAvailableIPAddressCount :: Lens' Subnet Int-subAvailableIPAddressCount = lens _subAvailableIPAddressCount (\ s a -> s{_subAvailableIPAddressCount = a});---- | The CIDR block assigned to the subnet.-subCIdRBlock :: Lens' Subnet Text-subCIdRBlock = lens _subCIdRBlock (\ s a -> s{_subCIdRBlock = a});---- | The current state of the subnet.-subState :: Lens' Subnet SubnetState-subState = lens _subState (\ s a -> s{_subState = a});---- | The ID of the subnet.-subSubnetId :: Lens' Subnet Text-subSubnetId = lens _subSubnetId (\ s a -> s{_subSubnetId = a});---- | The ID of the VPC the subnet is in.-subVPCId :: Lens' Subnet Text-subVPCId = lens _subVPCId (\ s a -> s{_subVPCId = a});--instance FromXML Subnet where- parseXML x- = Subnet' <$>- (x .@? "mapPublicIpOnLaunch") <*>- (x .@? "defaultForAz")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "availabilityZone")- <*> (x .@ "availableIpAddressCount")- <*> (x .@ "cidrBlock")- <*> (x .@ "state")- <*> (x .@ "subnetId")- <*> (x .@ "vpcId")---- | Describes a tag.------ /See:/ 'tag' smart constructor.-data Tag = Tag'- { _tagKey :: !Text- , _tagValue :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Tag' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tagKey'------ * 'tagValue'-tag- :: Text -- ^ 'tagKey'- -> Text -- ^ 'tagValue'- -> Tag-tag pKey_ pValue_ =- Tag'- { _tagKey = pKey_- , _tagValue = pValue_- }---- | The key of the tag.------ Constraints: Tag keys are case-sensitive and accept a maximum of 127--- Unicode characters. May not begin with 'aws:'-tagKey :: Lens' Tag Text-tagKey = lens _tagKey (\ s a -> s{_tagKey = a});---- | The value of the tag.------ Constraints: Tag values are case-sensitive and accept a maximum of 255--- Unicode characters.-tagValue :: Lens' Tag Text-tagValue = lens _tagValue (\ s a -> s{_tagValue = a});--instance FromXML Tag where- parseXML x = Tag' <$> (x .@ "key") <*> (x .@ "value")--instance ToQuery Tag where- toQuery Tag'{..}- = mconcat ["Key" =: _tagKey, "Value" =: _tagValue]---- | Describes a tag.------ /See:/ 'tagDescription' smart constructor.-data TagDescription = TagDescription'- { _tdResourceId :: !Text- , _tdResourceType :: !ResourceType- , _tdKey :: !Text- , _tdValue :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'TagDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tdResourceId'------ * 'tdResourceType'------ * 'tdKey'------ * 'tdValue'-tagDescription- :: Text -- ^ 'tdResourceId'- -> ResourceType -- ^ 'tdResourceType'- -> Text -- ^ 'tdKey'- -> Text -- ^ 'tdValue'- -> TagDescription-tagDescription pResourceId_ pResourceType_ pKey_ pValue_ =- TagDescription'- { _tdResourceId = pResourceId_- , _tdResourceType = pResourceType_- , _tdKey = pKey_- , _tdValue = pValue_- }---- | The ID of the resource. For example, 'ami-1a2b3c4d'.-tdResourceId :: Lens' TagDescription Text-tdResourceId = lens _tdResourceId (\ s a -> s{_tdResourceId = a});---- | The resource type.-tdResourceType :: Lens' TagDescription ResourceType-tdResourceType = lens _tdResourceType (\ s a -> s{_tdResourceType = a});---- | The tag key.-tdKey :: Lens' TagDescription Text-tdKey = lens _tdKey (\ s a -> s{_tdKey = a});---- | The tag value.-tdValue :: Lens' TagDescription Text-tdValue = lens _tdValue (\ s a -> s{_tdValue = a});--instance FromXML TagDescription where- parseXML x- = TagDescription' <$>- (x .@ "resourceId") <*> (x .@ "resourceType") <*>- (x .@ "key")- <*> (x .@ "value")---- | Information about items that were not successfully processed in a batch--- call.------ /See:/ 'unsuccessfulItem' smart constructor.-data UnsuccessfulItem = UnsuccessfulItem'- { _uiResourceId :: !(Maybe Text)- , _uiError :: !UnsuccessfulItemError- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'UnsuccessfulItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uiResourceId'------ * 'uiError'-unsuccessfulItem- :: UnsuccessfulItemError -- ^ 'uiError'- -> UnsuccessfulItem-unsuccessfulItem pError_ =- UnsuccessfulItem'- { _uiResourceId = Nothing- , _uiError = pError_- }---- | The ID of the resource.-uiResourceId :: Lens' UnsuccessfulItem (Maybe Text)-uiResourceId = lens _uiResourceId (\ s a -> s{_uiResourceId = a});---- | Information about the error.-uiError :: Lens' UnsuccessfulItem UnsuccessfulItemError-uiError = lens _uiError (\ s a -> s{_uiError = a});--instance FromXML UnsuccessfulItem where- parseXML x- = UnsuccessfulItem' <$>- (x .@? "resourceId") <*> (x .@ "error")---- | Information about the error that occurred. For more information about--- errors, see--- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html Error Codes>.------ /See:/ 'unsuccessfulItemError' smart constructor.-data UnsuccessfulItemError = UnsuccessfulItemError'- { _uieCode :: !Text- , _uieMessage :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'UnsuccessfulItemError' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uieCode'------ * 'uieMessage'-unsuccessfulItemError- :: Text -- ^ 'uieCode'- -> Text -- ^ 'uieMessage'- -> UnsuccessfulItemError-unsuccessfulItemError pCode_ pMessage_ =- UnsuccessfulItemError'- { _uieCode = pCode_- , _uieMessage = pMessage_- }---- | The error code.-uieCode :: Lens' UnsuccessfulItemError Text-uieCode = lens _uieCode (\ s a -> s{_uieCode = a});---- | The error message accompanying the error code.-uieMessage :: Lens' UnsuccessfulItemError Text-uieMessage = lens _uieMessage (\ s a -> s{_uieMessage = a});--instance FromXML UnsuccessfulItemError where- parseXML x- = UnsuccessfulItemError' <$>- (x .@ "code") <*> (x .@ "message")---- | Describes the S3 bucket for the disk image.------ /See:/ 'userBucket' smart constructor.-data UserBucket = UserBucket'- { _ubS3Key :: !(Maybe Text)- , _ubS3Bucket :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'UserBucket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ubS3Key'------ * 'ubS3Bucket'-userBucket- :: UserBucket-userBucket =- UserBucket'- { _ubS3Key = Nothing- , _ubS3Bucket = Nothing- }---- | The key for the disk image.-ubS3Key :: Lens' UserBucket (Maybe Text)-ubS3Key = lens _ubS3Key (\ s a -> s{_ubS3Key = a});---- | The name of the S3 bucket where the disk image is located.-ubS3Bucket :: Lens' UserBucket (Maybe Text)-ubS3Bucket = lens _ubS3Bucket (\ s a -> s{_ubS3Bucket = a});--instance ToQuery UserBucket where- toQuery UserBucket'{..}- = mconcat- ["S3Key" =: _ubS3Key, "S3Bucket" =: _ubS3Bucket]---- | Describes the S3 bucket for the disk image.------ /See:/ 'userBucketDetails' smart constructor.-data UserBucketDetails = UserBucketDetails'- { _ubdS3Key :: !(Maybe Text)- , _ubdS3Bucket :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'UserBucketDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ubdS3Key'------ * 'ubdS3Bucket'-userBucketDetails- :: UserBucketDetails-userBucketDetails =- UserBucketDetails'- { _ubdS3Key = Nothing- , _ubdS3Bucket = Nothing- }---- | The key from which the disk image was created.-ubdS3Key :: Lens' UserBucketDetails (Maybe Text)-ubdS3Key = lens _ubdS3Key (\ s a -> s{_ubdS3Key = a});---- | The S3 bucket from which the disk image was created.-ubdS3Bucket :: Lens' UserBucketDetails (Maybe Text)-ubdS3Bucket = lens _ubdS3Bucket (\ s a -> s{_ubdS3Bucket = a});--instance FromXML UserBucketDetails where- parseXML x- = UserBucketDetails' <$>- (x .@? "s3Key") <*> (x .@? "s3Bucket")---- | Describes the user data to be made available to an instance.------ /See:/ 'userData' smart constructor.-newtype UserData = UserData'- { _udData :: Maybe Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'UserData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'udData'-userData- :: UserData-userData =- UserData'- { _udData = Nothing- }---- | The Base64-encoded MIME user data for the instance.-udData :: Lens' UserData (Maybe Text)-udData = lens _udData (\ s a -> s{_udData = a});--instance ToQuery UserData where- toQuery UserData'{..} = mconcat ["Data" =: _udData]---- | Describes a security group and AWS account ID pair.------ /See:/ 'userIdGroupPair' smart constructor.-data UserIdGroupPair = UserIdGroupPair'- { _uigpUserId :: !(Maybe Text)- , _uigpGroupId :: !(Maybe Text)- , _uigpGroupName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'UserIdGroupPair' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uigpUserId'------ * 'uigpGroupId'------ * 'uigpGroupName'-userIdGroupPair- :: UserIdGroupPair-userIdGroupPair =- UserIdGroupPair'- { _uigpUserId = Nothing- , _uigpGroupId = Nothing- , _uigpGroupName = Nothing- }---- | The ID of an AWS account. EC2-Classic only.-uigpUserId :: Lens' UserIdGroupPair (Maybe Text)-uigpUserId = lens _uigpUserId (\ s a -> s{_uigpUserId = a});---- | The ID of the security group.-uigpGroupId :: Lens' UserIdGroupPair (Maybe Text)-uigpGroupId = lens _uigpGroupId (\ s a -> s{_uigpGroupId = a});---- | The name of the security group. In a request, use this parameter for a--- security group in EC2-Classic or a default VPC only. For a security--- group in a nondefault VPC, use 'GroupId'.-uigpGroupName :: Lens' UserIdGroupPair (Maybe Text)-uigpGroupName = lens _uigpGroupName (\ s a -> s{_uigpGroupName = a});--instance FromXML UserIdGroupPair where- parseXML x- = UserIdGroupPair' <$>- (x .@? "userId") <*> (x .@? "groupId") <*>- (x .@? "groupName")--instance ToQuery UserIdGroupPair where- toQuery UserIdGroupPair'{..}- = mconcat- ["UserId" =: _uigpUserId, "GroupId" =: _uigpGroupId,- "GroupName" =: _uigpGroupName]---- | Describes telemetry for a VPN tunnel.------ /See:/ 'vgwTelemetry' smart constructor.-data VGWTelemetry = VGWTelemetry'- { _vtStatus :: !(Maybe TelemetryStatus)- , _vtOutsideIPAddress :: !(Maybe Text)- , _vtLastStatusChange :: !(Maybe ISO8601)- , _vtAcceptedRouteCount :: !(Maybe Int)- , _vtStatusMessage :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VGWTelemetry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vtStatus'------ * 'vtOutsideIPAddress'------ * 'vtLastStatusChange'------ * 'vtAcceptedRouteCount'------ * 'vtStatusMessage'-vgwTelemetry- :: VGWTelemetry-vgwTelemetry =- VGWTelemetry'- { _vtStatus = Nothing- , _vtOutsideIPAddress = Nothing- , _vtLastStatusChange = Nothing- , _vtAcceptedRouteCount = Nothing- , _vtStatusMessage = Nothing- }---- | The status of the VPN tunnel.-vtStatus :: Lens' VGWTelemetry (Maybe TelemetryStatus)-vtStatus = lens _vtStatus (\ s a -> s{_vtStatus = a});---- | The Internet-routable IP address of the virtual private gateway\'s--- outside interface.-vtOutsideIPAddress :: Lens' VGWTelemetry (Maybe Text)-vtOutsideIPAddress = lens _vtOutsideIPAddress (\ s a -> s{_vtOutsideIPAddress = a});---- | The date and time of the last change in status.-vtLastStatusChange :: Lens' VGWTelemetry (Maybe UTCTime)-vtLastStatusChange = lens _vtLastStatusChange (\ s a -> s{_vtLastStatusChange = a}) . mapping _Time;---- | The number of accepted routes.-vtAcceptedRouteCount :: Lens' VGWTelemetry (Maybe Int)-vtAcceptedRouteCount = lens _vtAcceptedRouteCount (\ s a -> s{_vtAcceptedRouteCount = a});---- | If an error occurs, a description of the error.-vtStatusMessage :: Lens' VGWTelemetry (Maybe Text)-vtStatusMessage = lens _vtStatusMessage (\ s a -> s{_vtStatusMessage = a});--instance FromXML VGWTelemetry where- parseXML x- = VGWTelemetry' <$>- (x .@? "status") <*> (x .@? "outsideIpAddress") <*>- (x .@? "lastStatusChange")- <*> (x .@? "acceptedRouteCount")- <*> (x .@? "statusMessage")---- | Describes a VPC.------ /See:/ 'vpc' smart constructor.-data VPC = VPC'- { _vpcTags :: !(Maybe [Tag])- , _vpcIsDefault :: !(Maybe Bool)- , _vpcCIdRBlock :: !Text- , _vpcDHCPOptionsId :: !Text- , _vpcInstanceTenancy :: !Tenancy- , _vpcState :: !VPCState- , _vpcVPCId :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPC' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vpcTags'------ * 'vpcIsDefault'------ * 'vpcCIdRBlock'------ * 'vpcDHCPOptionsId'------ * 'vpcInstanceTenancy'------ * 'vpcState'------ * 'vpcVPCId'-vpc- :: Text -- ^ 'vpcCIdRBlock'- -> Text -- ^ 'vpcDHCPOptionsId'- -> Tenancy -- ^ 'vpcInstanceTenancy'- -> VPCState -- ^ 'vpcState'- -> Text -- ^ 'vpcVPCId'- -> VPC-vpc pCIdRBlock_ pDHCPOptionsId_ pInstanceTenancy_ pState_ pVPCId_ =- VPC'- { _vpcTags = Nothing- , _vpcIsDefault = Nothing- , _vpcCIdRBlock = pCIdRBlock_- , _vpcDHCPOptionsId = pDHCPOptionsId_- , _vpcInstanceTenancy = pInstanceTenancy_- , _vpcState = pState_- , _vpcVPCId = pVPCId_- }---- | Any tags assigned to the VPC.-vpcTags :: Lens' VPC [Tag]-vpcTags = lens _vpcTags (\ s a -> s{_vpcTags = a}) . _Default . _Coerce;---- | Indicates whether the VPC is the default VPC.-vpcIsDefault :: Lens' VPC (Maybe Bool)-vpcIsDefault = lens _vpcIsDefault (\ s a -> s{_vpcIsDefault = a});---- | The CIDR block for the VPC.-vpcCIdRBlock :: Lens' VPC Text-vpcCIdRBlock = lens _vpcCIdRBlock (\ s a -> s{_vpcCIdRBlock = a});---- | The ID of the set of DHCP options you\'ve associated with the VPC (or--- 'default' if the default options are associated with the VPC).-vpcDHCPOptionsId :: Lens' VPC Text-vpcDHCPOptionsId = lens _vpcDHCPOptionsId (\ s a -> s{_vpcDHCPOptionsId = a});---- | The allowed tenancy of instances launched into the VPC.-vpcInstanceTenancy :: Lens' VPC Tenancy-vpcInstanceTenancy = lens _vpcInstanceTenancy (\ s a -> s{_vpcInstanceTenancy = a});---- | The current state of the VPC.-vpcState :: Lens' VPC VPCState-vpcState = lens _vpcState (\ s a -> s{_vpcState = a});---- | The ID of the VPC.-vpcVPCId :: Lens' VPC Text-vpcVPCId = lens _vpcVPCId (\ s a -> s{_vpcVPCId = a});--instance FromXML VPC where- parseXML x- = VPC' <$>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "isDefault")- <*> (x .@ "cidrBlock")- <*> (x .@ "dhcpOptionsId")- <*> (x .@ "instanceTenancy")- <*> (x .@ "state")- <*> (x .@ "vpcId")---- | Describes an attachment between a virtual private gateway and a VPC.------ /See:/ 'vpcAttachment' smart constructor.-data VPCAttachment = VPCAttachment'- { _vaState :: !(Maybe AttachmentStatus)- , _vaVPCId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPCAttachment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vaState'------ * 'vaVPCId'-vpcAttachment- :: VPCAttachment-vpcAttachment =- VPCAttachment'- { _vaState = Nothing- , _vaVPCId = Nothing- }---- | The current state of the attachment.-vaState :: Lens' VPCAttachment (Maybe AttachmentStatus)-vaState = lens _vaState (\ s a -> s{_vaState = a});---- | The ID of the VPC.-vaVPCId :: Lens' VPCAttachment (Maybe Text)-vaVPCId = lens _vaVPCId (\ s a -> s{_vaVPCId = a});--instance FromXML VPCAttachment where- parseXML x- = VPCAttachment' <$>- (x .@? "state") <*> (x .@? "vpcId")---- | Describes whether a VPC is enabled for ClassicLink.------ /See:/ 'vpcClassicLink' smart constructor.-data VPCClassicLink = VPCClassicLink'- { _vclVPCId :: !(Maybe Text)- , _vclTags :: !(Maybe [Tag])- , _vclClassicLinkEnabled :: !(Maybe Bool)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPCClassicLink' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vclVPCId'------ * 'vclTags'------ * 'vclClassicLinkEnabled'-vpcClassicLink- :: VPCClassicLink-vpcClassicLink =- VPCClassicLink'- { _vclVPCId = Nothing- , _vclTags = Nothing- , _vclClassicLinkEnabled = Nothing- }---- | The ID of the VPC.-vclVPCId :: Lens' VPCClassicLink (Maybe Text)-vclVPCId = lens _vclVPCId (\ s a -> s{_vclVPCId = a});---- | Any tags assigned to the VPC.-vclTags :: Lens' VPCClassicLink [Tag]-vclTags = lens _vclTags (\ s a -> s{_vclTags = a}) . _Default . _Coerce;---- | Indicates whether the VPC is enabled for ClassicLink.-vclClassicLinkEnabled :: Lens' VPCClassicLink (Maybe Bool)-vclClassicLinkEnabled = lens _vclClassicLinkEnabled (\ s a -> s{_vclClassicLinkEnabled = a});--instance FromXML VPCClassicLink where- parseXML x- = VPCClassicLink' <$>- (x .@? "vpcId") <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "classicLinkEnabled")---- | Describes a VPC endpoint.------ /See:/ 'vpcEndpoint' smart constructor.-data VPCEndpoint = VPCEndpoint'- { _veState :: !(Maybe State)- , _vePolicyDocument :: !(Maybe Text)- , _veVPCId :: !(Maybe Text)- , _veCreationTimestamp :: !(Maybe ISO8601)- , _veServiceName :: !(Maybe Text)- , _veVPCEndpointId :: !(Maybe Text)- , _veRouteTableIds :: !(Maybe [Text])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPCEndpoint' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'veState'------ * 'vePolicyDocument'------ * 'veVPCId'------ * 'veCreationTimestamp'------ * 'veServiceName'------ * 'veVPCEndpointId'------ * 'veRouteTableIds'-vpcEndpoint- :: VPCEndpoint-vpcEndpoint =- VPCEndpoint'- { _veState = Nothing- , _vePolicyDocument = Nothing- , _veVPCId = Nothing- , _veCreationTimestamp = Nothing- , _veServiceName = Nothing- , _veVPCEndpointId = Nothing- , _veRouteTableIds = Nothing- }---- | The state of the VPC endpoint.-veState :: Lens' VPCEndpoint (Maybe State)-veState = lens _veState (\ s a -> s{_veState = a});---- | The policy document associated with the endpoint.-vePolicyDocument :: Lens' VPCEndpoint (Maybe Text)-vePolicyDocument = lens _vePolicyDocument (\ s a -> s{_vePolicyDocument = a});---- | The ID of the VPC to which the endpoint is associated.-veVPCId :: Lens' VPCEndpoint (Maybe Text)-veVPCId = lens _veVPCId (\ s a -> s{_veVPCId = a});---- | The date and time the VPC endpoint was created.-veCreationTimestamp :: Lens' VPCEndpoint (Maybe UTCTime)-veCreationTimestamp = lens _veCreationTimestamp (\ s a -> s{_veCreationTimestamp = a}) . mapping _Time;---- | The name of the AWS service to which the endpoint is associated.-veServiceName :: Lens' VPCEndpoint (Maybe Text)-veServiceName = lens _veServiceName (\ s a -> s{_veServiceName = a});---- | The ID of the VPC endpoint.-veVPCEndpointId :: Lens' VPCEndpoint (Maybe Text)-veVPCEndpointId = lens _veVPCEndpointId (\ s a -> s{_veVPCEndpointId = a});---- | One or more route tables associated with the endpoint.-veRouteTableIds :: Lens' VPCEndpoint [Text]-veRouteTableIds = lens _veRouteTableIds (\ s a -> s{_veRouteTableIds = a}) . _Default . _Coerce;--instance FromXML VPCEndpoint where- parseXML x- = VPCEndpoint' <$>- (x .@? "state") <*> (x .@? "policyDocument") <*>- (x .@? "vpcId")- <*> (x .@? "creationTimestamp")- <*> (x .@? "serviceName")- <*> (x .@? "vpcEndpointId")- <*>- (x .@? "routeTableIdSet" .!@ mempty >>=- may (parseXMLList "item"))---- | Describes a VPC peering connection.------ /See:/ 'vpcPeeringConnection' smart constructor.-data VPCPeeringConnection = VPCPeeringConnection'- { _vpcpcVPCPeeringConnectionId :: !(Maybe Text)- , _vpcpcStatus :: !(Maybe VPCPeeringConnectionStateReason)- , _vpcpcAccepterVPCInfo :: !(Maybe VPCPeeringConnectionVPCInfo)- , _vpcpcRequesterVPCInfo :: !(Maybe VPCPeeringConnectionVPCInfo)- , _vpcpcExpirationTime :: !(Maybe ISO8601)- , _vpcpcTags :: !(Maybe [Tag])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPCPeeringConnection' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vpcpcVPCPeeringConnectionId'------ * 'vpcpcStatus'------ * 'vpcpcAccepterVPCInfo'------ * 'vpcpcRequesterVPCInfo'------ * 'vpcpcExpirationTime'------ * 'vpcpcTags'-vpcPeeringConnection- :: VPCPeeringConnection-vpcPeeringConnection =- VPCPeeringConnection'- { _vpcpcVPCPeeringConnectionId = Nothing- , _vpcpcStatus = Nothing- , _vpcpcAccepterVPCInfo = Nothing- , _vpcpcRequesterVPCInfo = Nothing- , _vpcpcExpirationTime = Nothing- , _vpcpcTags = Nothing- }---- | The ID of the VPC peering connection.-vpcpcVPCPeeringConnectionId :: Lens' VPCPeeringConnection (Maybe Text)-vpcpcVPCPeeringConnectionId = lens _vpcpcVPCPeeringConnectionId (\ s a -> s{_vpcpcVPCPeeringConnectionId = a});---- | The status of the VPC peering connection.-vpcpcStatus :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionStateReason)-vpcpcStatus = lens _vpcpcStatus (\ s a -> s{_vpcpcStatus = a});---- | The information of the peer VPC.-vpcpcAccepterVPCInfo :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionVPCInfo)-vpcpcAccepterVPCInfo = lens _vpcpcAccepterVPCInfo (\ s a -> s{_vpcpcAccepterVPCInfo = a});---- | The information of the requester VPC.-vpcpcRequesterVPCInfo :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionVPCInfo)-vpcpcRequesterVPCInfo = lens _vpcpcRequesterVPCInfo (\ s a -> s{_vpcpcRequesterVPCInfo = a});---- | The time that an unaccepted VPC peering connection will expire.-vpcpcExpirationTime :: Lens' VPCPeeringConnection (Maybe UTCTime)-vpcpcExpirationTime = lens _vpcpcExpirationTime (\ s a -> s{_vpcpcExpirationTime = a}) . mapping _Time;---- | Any tags assigned to the resource.-vpcpcTags :: Lens' VPCPeeringConnection [Tag]-vpcpcTags = lens _vpcpcTags (\ s a -> s{_vpcpcTags = a}) . _Default . _Coerce;--instance FromXML VPCPeeringConnection where- parseXML x- = VPCPeeringConnection' <$>- (x .@? "vpcPeeringConnectionId") <*> (x .@? "status")- <*> (x .@? "accepterVpcInfo")- <*> (x .@? "requesterVpcInfo")- <*> (x .@? "expirationTime")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))---- | Describes the status of a VPC peering connection.------ /See:/ 'vpcPeeringConnectionStateReason' smart constructor.-data VPCPeeringConnectionStateReason = VPCPeeringConnectionStateReason'- { _vpcsrCode :: !(Maybe VPCPeeringConnectionStateReasonCode)- , _vpcsrMessage :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPCPeeringConnectionStateReason' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vpcsrCode'------ * 'vpcsrMessage'-vpcPeeringConnectionStateReason- :: VPCPeeringConnectionStateReason-vpcPeeringConnectionStateReason =- VPCPeeringConnectionStateReason'- { _vpcsrCode = Nothing- , _vpcsrMessage = Nothing- }---- | The status of the VPC peering connection.-vpcsrCode :: Lens' VPCPeeringConnectionStateReason (Maybe VPCPeeringConnectionStateReasonCode)-vpcsrCode = lens _vpcsrCode (\ s a -> s{_vpcsrCode = a});---- | A message that provides more information about the status, if--- applicable.-vpcsrMessage :: Lens' VPCPeeringConnectionStateReason (Maybe Text)-vpcsrMessage = lens _vpcsrMessage (\ s a -> s{_vpcsrMessage = a});--instance FromXML VPCPeeringConnectionStateReason- where- parseXML x- = VPCPeeringConnectionStateReason' <$>- (x .@? "code") <*> (x .@? "message")---- | Describes a VPC in a VPC peering connection.------ /See:/ 'vpcPeeringConnectionVPCInfo' smart constructor.-data VPCPeeringConnectionVPCInfo = VPCPeeringConnectionVPCInfo'- { _vpcviVPCId :: !(Maybe Text)- , _vpcviOwnerId :: !(Maybe Text)- , _vpcviCIdRBlock :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPCPeeringConnectionVPCInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vpcviVPCId'------ * 'vpcviOwnerId'------ * 'vpcviCIdRBlock'-vpcPeeringConnectionVPCInfo- :: VPCPeeringConnectionVPCInfo-vpcPeeringConnectionVPCInfo =- VPCPeeringConnectionVPCInfo'- { _vpcviVPCId = Nothing- , _vpcviOwnerId = Nothing- , _vpcviCIdRBlock = Nothing- }---- | The ID of the VPC.-vpcviVPCId :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)-vpcviVPCId = lens _vpcviVPCId (\ s a -> s{_vpcviVPCId = a});---- | The AWS account ID of the VPC owner.-vpcviOwnerId :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)-vpcviOwnerId = lens _vpcviOwnerId (\ s a -> s{_vpcviOwnerId = a});---- | The CIDR block for the VPC.-vpcviCIdRBlock :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)-vpcviCIdRBlock = lens _vpcviCIdRBlock (\ s a -> s{_vpcviCIdRBlock = a});--instance FromXML VPCPeeringConnectionVPCInfo where- parseXML x- = VPCPeeringConnectionVPCInfo' <$>- (x .@? "vpcId") <*> (x .@? "ownerId") <*>- (x .@? "cidrBlock")---- | Describes a VPN connection.------ /See:/ 'vpnConnection' smart constructor.-data VPNConnection = VPNConnection'- { _vcCustomerGatewayConfiguration :: !(Maybe Text)- , _vcRoutes :: !(Maybe [VPNStaticRoute])- , _vcVPNGatewayId :: !(Maybe Text)- , _vcOptions :: !(Maybe VPNConnectionOptions)- , _vcTags :: !(Maybe [Tag])- , _vcVGWTelemetry :: !(Maybe [VGWTelemetry])- , _vcVPNConnectionId :: !Text- , _vcCustomerGatewayId :: !Text- , _vcState :: !VPNState- , _vcType :: !GatewayType- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNConnection' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vcCustomerGatewayConfiguration'------ * 'vcRoutes'------ * 'vcVPNGatewayId'------ * 'vcOptions'------ * 'vcTags'------ * 'vcVGWTelemetry'------ * 'vcVPNConnectionId'------ * 'vcCustomerGatewayId'------ * 'vcState'------ * 'vcType'-vpnConnection- :: Text -- ^ 'vcVPNConnectionId'- -> Text -- ^ 'vcCustomerGatewayId'- -> VPNState -- ^ 'vcState'- -> GatewayType -- ^ 'vcType'- -> VPNConnection-vpnConnection pVPNConnectionId_ pCustomerGatewayId_ pState_ pType_ =- VPNConnection'- { _vcCustomerGatewayConfiguration = Nothing- , _vcRoutes = Nothing- , _vcVPNGatewayId = Nothing- , _vcOptions = Nothing- , _vcTags = Nothing- , _vcVGWTelemetry = Nothing- , _vcVPNConnectionId = pVPNConnectionId_- , _vcCustomerGatewayId = pCustomerGatewayId_- , _vcState = pState_- , _vcType = pType_- }---- | The configuration information for the VPN connection\'s customer gateway--- (in the native XML format). This element is always present in the--- CreateVpnConnection response; however, it\'s present in the--- DescribeVpnConnections response only if the VPN connection is in the--- 'pending' or 'available' state.-vcCustomerGatewayConfiguration :: Lens' VPNConnection (Maybe Text)-vcCustomerGatewayConfiguration = lens _vcCustomerGatewayConfiguration (\ s a -> s{_vcCustomerGatewayConfiguration = a});---- | The static routes associated with the VPN connection.-vcRoutes :: Lens' VPNConnection [VPNStaticRoute]-vcRoutes = lens _vcRoutes (\ s a -> s{_vcRoutes = a}) . _Default . _Coerce;---- | The ID of the virtual private gateway at the AWS side of the VPN--- connection.-vcVPNGatewayId :: Lens' VPNConnection (Maybe Text)-vcVPNGatewayId = lens _vcVPNGatewayId (\ s a -> s{_vcVPNGatewayId = a});---- | The VPN connection options.-vcOptions :: Lens' VPNConnection (Maybe VPNConnectionOptions)-vcOptions = lens _vcOptions (\ s a -> s{_vcOptions = a});---- | Any tags assigned to the VPN connection.-vcTags :: Lens' VPNConnection [Tag]-vcTags = lens _vcTags (\ s a -> s{_vcTags = a}) . _Default . _Coerce;---- | Information about the VPN tunnel.-vcVGWTelemetry :: Lens' VPNConnection [VGWTelemetry]-vcVGWTelemetry = lens _vcVGWTelemetry (\ s a -> s{_vcVGWTelemetry = a}) . _Default . _Coerce;---- | The ID of the VPN connection.-vcVPNConnectionId :: Lens' VPNConnection Text-vcVPNConnectionId = lens _vcVPNConnectionId (\ s a -> s{_vcVPNConnectionId = a});---- | The ID of the customer gateway at your end of the VPN connection.-vcCustomerGatewayId :: Lens' VPNConnection Text-vcCustomerGatewayId = lens _vcCustomerGatewayId (\ s a -> s{_vcCustomerGatewayId = a});---- | The current state of the VPN connection.-vcState :: Lens' VPNConnection VPNState-vcState = lens _vcState (\ s a -> s{_vcState = a});---- | The type of VPN connection.-vcType :: Lens' VPNConnection GatewayType-vcType = lens _vcType (\ s a -> s{_vcType = a});--instance FromXML VPNConnection where- parseXML x- = VPNConnection' <$>- (x .@? "customerGatewayConfiguration") <*>- (x .@? "routes" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "vpnGatewayId")- <*> (x .@? "options")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "vgwTelemetry" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "vpnConnectionId")- <*> (x .@ "customerGatewayId")- <*> (x .@ "state")- <*> (x .@ "type")---- | Describes VPN connection options.------ /See:/ 'vpnConnectionOptions' smart constructor.-newtype VPNConnectionOptions = VPNConnectionOptions'- { _vcoStaticRoutesOnly :: Maybe Bool- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNConnectionOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vcoStaticRoutesOnly'-vpnConnectionOptions- :: VPNConnectionOptions-vpnConnectionOptions =- VPNConnectionOptions'- { _vcoStaticRoutesOnly = Nothing- }---- | Indicates whether the VPN connection uses static routes only. Static--- routes must be used for devices that don\'t support BGP.-vcoStaticRoutesOnly :: Lens' VPNConnectionOptions (Maybe Bool)-vcoStaticRoutesOnly = lens _vcoStaticRoutesOnly (\ s a -> s{_vcoStaticRoutesOnly = a});--instance FromXML VPNConnectionOptions where- parseXML x- = VPNConnectionOptions' <$>- (x .@? "staticRoutesOnly")---- | Describes VPN connection options.------ /See:/ 'vpnConnectionOptionsSpecification' smart constructor.-newtype VPNConnectionOptionsSpecification = VPNConnectionOptionsSpecification'- { _vcosStaticRoutesOnly :: Maybe Bool- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNConnectionOptionsSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vcosStaticRoutesOnly'-vpnConnectionOptionsSpecification- :: VPNConnectionOptionsSpecification-vpnConnectionOptionsSpecification =- VPNConnectionOptionsSpecification'- { _vcosStaticRoutesOnly = Nothing- }---- | Indicates whether the VPN connection uses static routes only. Static--- routes must be used for devices that don\'t support BGP.-vcosStaticRoutesOnly :: Lens' VPNConnectionOptionsSpecification (Maybe Bool)-vcosStaticRoutesOnly = lens _vcosStaticRoutesOnly (\ s a -> s{_vcosStaticRoutesOnly = a});--instance ToQuery VPNConnectionOptionsSpecification- where- toQuery VPNConnectionOptionsSpecification'{..}- = mconcat- ["StaticRoutesOnly" =: _vcosStaticRoutesOnly]---- | Describes a virtual private gateway.------ /See:/ 'vpnGateway' smart constructor.-data VPNGateway = VPNGateway'- { _vgState :: !(Maybe VPNState)- , _vgVPCAttachments :: !(Maybe [VPCAttachment])- , _vgVPNGatewayId :: !(Maybe Text)- , _vgAvailabilityZone :: !(Maybe Text)- , _vgType :: !(Maybe GatewayType)- , _vgTags :: !(Maybe [Tag])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNGateway' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vgState'------ * 'vgVPCAttachments'------ * 'vgVPNGatewayId'------ * 'vgAvailabilityZone'------ * 'vgType'------ * 'vgTags'-vpnGateway- :: VPNGateway-vpnGateway =- VPNGateway'- { _vgState = Nothing- , _vgVPCAttachments = Nothing- , _vgVPNGatewayId = Nothing- , _vgAvailabilityZone = Nothing- , _vgType = Nothing- , _vgTags = Nothing- }---- | The current state of the virtual private gateway.-vgState :: Lens' VPNGateway (Maybe VPNState)-vgState = lens _vgState (\ s a -> s{_vgState = a});---- | Any VPCs attached to the virtual private gateway.-vgVPCAttachments :: Lens' VPNGateway [VPCAttachment]-vgVPCAttachments = lens _vgVPCAttachments (\ s a -> s{_vgVPCAttachments = a}) . _Default . _Coerce;---- | The ID of the virtual private gateway.-vgVPNGatewayId :: Lens' VPNGateway (Maybe Text)-vgVPNGatewayId = lens _vgVPNGatewayId (\ s a -> s{_vgVPNGatewayId = a});---- | The Availability Zone where the virtual private gateway was created.-vgAvailabilityZone :: Lens' VPNGateway (Maybe Text)-vgAvailabilityZone = lens _vgAvailabilityZone (\ s a -> s{_vgAvailabilityZone = a});---- | The type of VPN connection the virtual private gateway supports.-vgType :: Lens' VPNGateway (Maybe GatewayType)-vgType = lens _vgType (\ s a -> s{_vgType = a});---- | Any tags assigned to the virtual private gateway.-vgTags :: Lens' VPNGateway [Tag]-vgTags = lens _vgTags (\ s a -> s{_vgTags = a}) . _Default . _Coerce;--instance FromXML VPNGateway where- parseXML x- = VPNGateway' <$>- (x .@? "state") <*>- (x .@? "attachments" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "vpnGatewayId")- <*> (x .@? "availabilityZone")- <*> (x .@? "type")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))---- | Describes a static route for a VPN connection.------ /See:/ 'vpnStaticRoute' smart constructor.-data VPNStaticRoute = VPNStaticRoute'- { _vsrState :: !(Maybe VPNState)- , _vsrSource :: !(Maybe VPNStaticRouteSource)- , _vsrDestinationCIdRBlock :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNStaticRoute' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vsrState'------ * 'vsrSource'------ * 'vsrDestinationCIdRBlock'-vpnStaticRoute- :: VPNStaticRoute-vpnStaticRoute =- VPNStaticRoute'- { _vsrState = Nothing- , _vsrSource = Nothing- , _vsrDestinationCIdRBlock = Nothing- }---- | The current state of the static route.-vsrState :: Lens' VPNStaticRoute (Maybe VPNState)-vsrState = lens _vsrState (\ s a -> s{_vsrState = a});---- | Indicates how the routes were provided.-vsrSource :: Lens' VPNStaticRoute (Maybe VPNStaticRouteSource)-vsrSource = lens _vsrSource (\ s a -> s{_vsrSource = a});---- | The CIDR block associated with the local subnet of the customer data--- center.-vsrDestinationCIdRBlock :: Lens' VPNStaticRoute (Maybe Text)-vsrDestinationCIdRBlock = lens _vsrDestinationCIdRBlock (\ s a -> s{_vsrDestinationCIdRBlock = a});--instance FromXML VPNStaticRoute where- parseXML x- = VPNStaticRoute' <$>- (x .@? "state") <*> (x .@? "source") <*>- (x .@? "destinationCidrBlock")---- | Describes a volume.------ /See:/ 'volume' smart constructor.-data Volume = Volume'- { _vAttachments :: !(Maybe [VolumeAttachment])- , _vIOPS :: !(Maybe Int)- , _vKMSKeyId :: !(Maybe Text)- , _vTags :: !(Maybe [Tag])- , _vAvailabilityZone :: !Text- , _vCreateTime :: !ISO8601- , _vEncrypted :: !Bool- , _vSize :: !Int- , _vSnapshotId :: !Text- , _vState :: !VolumeState- , _vVolumeId :: !Text- , _vVolumeType :: !VolumeType- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Volume' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vAttachments'------ * 'vIOPS'------ * 'vKMSKeyId'------ * 'vTags'------ * 'vAvailabilityZone'------ * 'vCreateTime'------ * 'vEncrypted'------ * 'vSize'------ * 'vSnapshotId'------ * 'vState'------ * 'vVolumeId'------ * 'vVolumeType'-volume- :: Text -- ^ 'vAvailabilityZone'- -> UTCTime -- ^ 'vCreateTime'- -> Bool -- ^ 'vEncrypted'- -> Int -- ^ 'vSize'- -> Text -- ^ 'vSnapshotId'- -> VolumeState -- ^ 'vState'- -> Text -- ^ 'vVolumeId'- -> VolumeType -- ^ 'vVolumeType'- -> Volume-volume pAvailabilityZone_ pCreateTime_ pEncrypted_ pSize_ pSnapshotId_ pState_ pVolumeId_ pVolumeType_ =- Volume'- { _vAttachments = Nothing- , _vIOPS = Nothing- , _vKMSKeyId = Nothing- , _vTags = Nothing- , _vAvailabilityZone = pAvailabilityZone_- , _vCreateTime = _Time # pCreateTime_- , _vEncrypted = pEncrypted_- , _vSize = pSize_- , _vSnapshotId = pSnapshotId_- , _vState = pState_- , _vVolumeId = pVolumeId_- , _vVolumeType = pVolumeType_- }---- | Information about the volume attachments.-vAttachments :: Lens' Volume [VolumeAttachment]-vAttachments = lens _vAttachments (\ s a -> s{_vAttachments = a}) . _Default . _Coerce;---- | The number of I\/O operations per second (IOPS) that the volume--- supports. For Provisioned IOPS (SSD) volumes, this represents the number--- of IOPS that are provisioned for the volume. For General Purpose (SSD)--- volumes, this represents the baseline performance of the volume and the--- rate at which the volume accumulates I\/O credits for bursting. For more--- information on General Purpose (SSD) baseline performance, I\/O credits,--- and bursting, see--- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html Amazon EBS Volume Types>--- in the /Amazon Elastic Compute Cloud User Guide/.------ Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and--- 3 to 10000 for General Purpose (SSD) volumes.------ Condition: This parameter is required for requests to create 'io1'--- volumes; it is not used in requests to create 'standard' or 'gp2'--- volumes.-vIOPS :: Lens' Volume (Maybe Int)-vIOPS = lens _vIOPS (\ s a -> s{_vIOPS = a});---- | The full ARN of the AWS Key Management Service (AWS KMS) customer master--- key (CMK) that was used to protect the volume encryption key for the--- volume.-vKMSKeyId :: Lens' Volume (Maybe Text)-vKMSKeyId = lens _vKMSKeyId (\ s a -> s{_vKMSKeyId = a});---- | Any tags assigned to the volume.-vTags :: Lens' Volume [Tag]-vTags = lens _vTags (\ s a -> s{_vTags = a}) . _Default . _Coerce;---- | The Availability Zone for the volume.-vAvailabilityZone :: Lens' Volume Text-vAvailabilityZone = lens _vAvailabilityZone (\ s a -> s{_vAvailabilityZone = a});---- | The time stamp when volume creation was initiated.-vCreateTime :: Lens' Volume UTCTime-vCreateTime = lens _vCreateTime (\ s a -> s{_vCreateTime = a}) . _Time;---- | Indicates whether the volume will be encrypted.-vEncrypted :: Lens' Volume Bool-vEncrypted = lens _vEncrypted (\ s a -> s{_vEncrypted = a});---- | The size of the volume, in GiBs.-vSize :: Lens' Volume Int-vSize = lens _vSize (\ s a -> s{_vSize = a});---- | The snapshot from which the volume was created, if applicable.-vSnapshotId :: Lens' Volume Text-vSnapshotId = lens _vSnapshotId (\ s a -> s{_vSnapshotId = a});---- | The volume state.-vState :: Lens' Volume VolumeState-vState = lens _vState (\ s a -> s{_vState = a});---- | The ID of the volume.-vVolumeId :: Lens' Volume Text-vVolumeId = lens _vVolumeId (\ s a -> s{_vVolumeId = a});---- | The volume type. This can be 'gp2' for General Purpose (SSD) volumes,--- 'io1' for Provisioned IOPS (SSD) volumes, or 'standard' for Magnetic--- volumes.-vVolumeType :: Lens' Volume VolumeType-vVolumeType = lens _vVolumeType (\ s a -> s{_vVolumeType = a});--instance FromXML Volume where- parseXML x- = Volume' <$>- (x .@? "attachmentSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "iops")- <*> (x .@? "kmsKeyId")- <*>- (x .@? "tagSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@ "availabilityZone")- <*> (x .@ "createTime")- <*> (x .@ "encrypted")- <*> (x .@ "size")- <*> (x .@ "snapshotId")- <*> (x .@ "status")- <*> (x .@ "volumeId")- <*> (x .@ "volumeType")---- | Describes volume attachment details.------ /See:/ 'volumeAttachment' smart constructor.-data VolumeAttachment = VolumeAttachment'- { _volInstanceId :: !(Maybe Text)- , _volDeleteOnTermination :: !(Maybe Bool)- , _volState :: !(Maybe VolumeAttachmentState)- , _volDevice :: !(Maybe Text)- , _volVolumeId :: !(Maybe Text)- , _volAttachTime :: !(Maybe ISO8601)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VolumeAttachment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'volInstanceId'------ * 'volDeleteOnTermination'------ * 'volState'------ * 'volDevice'------ * 'volVolumeId'------ * 'volAttachTime'-volumeAttachment- :: VolumeAttachment-volumeAttachment =- VolumeAttachment'- { _volInstanceId = Nothing- , _volDeleteOnTermination = Nothing- , _volState = Nothing- , _volDevice = Nothing- , _volVolumeId = Nothing- , _volAttachTime = Nothing- }---- | The ID of the instance.-volInstanceId :: Lens' VolumeAttachment (Maybe Text)-volInstanceId = lens _volInstanceId (\ s a -> s{_volInstanceId = a});---- | Indicates whether the EBS volume is deleted on instance termination.-volDeleteOnTermination :: Lens' VolumeAttachment (Maybe Bool)-volDeleteOnTermination = lens _volDeleteOnTermination (\ s a -> s{_volDeleteOnTermination = a});---- | The attachment state of the volume.-volState :: Lens' VolumeAttachment (Maybe VolumeAttachmentState)-volState = lens _volState (\ s a -> s{_volState = a});---- | The device name.-volDevice :: Lens' VolumeAttachment (Maybe Text)-volDevice = lens _volDevice (\ s a -> s{_volDevice = a});---- | The ID of the volume.-volVolumeId :: Lens' VolumeAttachment (Maybe Text)-volVolumeId = lens _volVolumeId (\ s a -> s{_volVolumeId = a});---- | The time stamp when the attachment initiated.-volAttachTime :: Lens' VolumeAttachment (Maybe UTCTime)-volAttachTime = lens _volAttachTime (\ s a -> s{_volAttachTime = a}) . mapping _Time;--instance FromXML VolumeAttachment where- parseXML x- = VolumeAttachment' <$>- (x .@? "instanceId") <*>- (x .@? "deleteOnTermination")- <*> (x .@? "status")- <*> (x .@? "device")- <*> (x .@? "volumeId")- <*> (x .@? "attachTime")---- | Describes an EBS volume.------ /See:/ 'volumeDetail' smart constructor.-newtype VolumeDetail = VolumeDetail'- { _vdSize :: Integer- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VolumeDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vdSize'-volumeDetail- :: Integer -- ^ 'vdSize'- -> VolumeDetail-volumeDetail pSize_ =- VolumeDetail'- { _vdSize = pSize_- }---- | The size of the volume, in GiB.-vdSize :: Lens' VolumeDetail Integer-vdSize = lens _vdSize (\ s a -> s{_vdSize = a});--instance ToQuery VolumeDetail where- toQuery VolumeDetail'{..}- = mconcat ["Size" =: _vdSize]---- | Describes a volume status operation code.------ /See:/ 'volumeStatusAction' smart constructor.-data VolumeStatusAction = VolumeStatusAction'- { _vsaEventType :: !(Maybe Text)- , _vsaCode :: !(Maybe Text)- , _vsaDescription :: !(Maybe Text)- , _vsaEventId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VolumeStatusAction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vsaEventType'------ * 'vsaCode'------ * 'vsaDescription'------ * 'vsaEventId'-volumeStatusAction- :: VolumeStatusAction-volumeStatusAction =- VolumeStatusAction'- { _vsaEventType = Nothing- , _vsaCode = Nothing- , _vsaDescription = Nothing- , _vsaEventId = Nothing- }---- | The event type associated with this operation.-vsaEventType :: Lens' VolumeStatusAction (Maybe Text)-vsaEventType = lens _vsaEventType (\ s a -> s{_vsaEventType = a});---- | The code identifying the operation, for example, 'enable-volume-io'.-vsaCode :: Lens' VolumeStatusAction (Maybe Text)-vsaCode = lens _vsaCode (\ s a -> s{_vsaCode = a});---- | A description of the operation.-vsaDescription :: Lens' VolumeStatusAction (Maybe Text)-vsaDescription = lens _vsaDescription (\ s a -> s{_vsaDescription = a});---- | The ID of the event associated with this operation.-vsaEventId :: Lens' VolumeStatusAction (Maybe Text)-vsaEventId = lens _vsaEventId (\ s a -> s{_vsaEventId = a});--instance FromXML VolumeStatusAction where- parseXML x- = VolumeStatusAction' <$>- (x .@? "eventType") <*> (x .@? "code") <*>- (x .@? "description")- <*> (x .@? "eventId")---- | Describes a volume status.------ /See:/ 'volumeStatusDetails' smart constructor.-data VolumeStatusDetails = VolumeStatusDetails'- { _vsdStatus :: !(Maybe Text)- , _vsdName :: !(Maybe VolumeStatusName)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VolumeStatusDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vsdStatus'------ * 'vsdName'-volumeStatusDetails- :: VolumeStatusDetails-volumeStatusDetails =- VolumeStatusDetails'- { _vsdStatus = Nothing- , _vsdName = Nothing- }---- | The intended status of the volume status.-vsdStatus :: Lens' VolumeStatusDetails (Maybe Text)-vsdStatus = lens _vsdStatus (\ s a -> s{_vsdStatus = a});---- | The name of the volume status.-vsdName :: Lens' VolumeStatusDetails (Maybe VolumeStatusName)-vsdName = lens _vsdName (\ s a -> s{_vsdName = a});--instance FromXML VolumeStatusDetails where- parseXML x- = VolumeStatusDetails' <$>- (x .@? "status") <*> (x .@? "name")---- | Describes a volume status event.------ /See:/ 'volumeStatusEvent' smart constructor.-data VolumeStatusEvent = VolumeStatusEvent'- { _vseNotBefore :: !(Maybe ISO8601)- , _vseEventType :: !(Maybe Text)- , _vseDescription :: !(Maybe Text)- , _vseNotAfter :: !(Maybe ISO8601)- , _vseEventId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VolumeStatusEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vseNotBefore'------ * 'vseEventType'------ * 'vseDescription'------ * 'vseNotAfter'------ * 'vseEventId'-volumeStatusEvent- :: VolumeStatusEvent-volumeStatusEvent =- VolumeStatusEvent'- { _vseNotBefore = Nothing- , _vseEventType = Nothing- , _vseDescription = Nothing- , _vseNotAfter = Nothing- , _vseEventId = Nothing- }---- | The earliest start time of the event.-vseNotBefore :: Lens' VolumeStatusEvent (Maybe UTCTime)-vseNotBefore = lens _vseNotBefore (\ s a -> s{_vseNotBefore = a}) . mapping _Time;---- | The type of this event.-vseEventType :: Lens' VolumeStatusEvent (Maybe Text)-vseEventType = lens _vseEventType (\ s a -> s{_vseEventType = a});---- | A description of the event.-vseDescription :: Lens' VolumeStatusEvent (Maybe Text)-vseDescription = lens _vseDescription (\ s a -> s{_vseDescription = a});---- | The latest end time of the event.-vseNotAfter :: Lens' VolumeStatusEvent (Maybe UTCTime)-vseNotAfter = lens _vseNotAfter (\ s a -> s{_vseNotAfter = a}) . mapping _Time;---- | The ID of this event.-vseEventId :: Lens' VolumeStatusEvent (Maybe Text)-vseEventId = lens _vseEventId (\ s a -> s{_vseEventId = a});--instance FromXML VolumeStatusEvent where- parseXML x- = VolumeStatusEvent' <$>- (x .@? "notBefore") <*> (x .@? "eventType") <*>- (x .@? "description")- <*> (x .@? "notAfter")- <*> (x .@? "eventId")---- | Describes the status of a volume.------ /See:/ 'volumeStatusInfo' smart constructor.-data VolumeStatusInfo = VolumeStatusInfo'- { _vsiStatus :: !(Maybe VolumeStatusInfoStatus)- , _vsiDetails :: !(Maybe [VolumeStatusDetails])- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VolumeStatusInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vsiStatus'------ * 'vsiDetails'-volumeStatusInfo- :: VolumeStatusInfo-volumeStatusInfo =- VolumeStatusInfo'- { _vsiStatus = Nothing- , _vsiDetails = Nothing- }---- | The status of the volume.-vsiStatus :: Lens' VolumeStatusInfo (Maybe VolumeStatusInfoStatus)-vsiStatus = lens _vsiStatus (\ s a -> s{_vsiStatus = a});---- | The details of the volume status.-vsiDetails :: Lens' VolumeStatusInfo [VolumeStatusDetails]-vsiDetails = lens _vsiDetails (\ s a -> s{_vsiDetails = a}) . _Default . _Coerce;--instance FromXML VolumeStatusInfo where- parseXML x- = VolumeStatusInfo' <$>- (x .@? "status") <*>- (x .@? "details" .!@ mempty >>=- may (parseXMLList "item"))---- | Describes the volume status.------ /See:/ 'volumeStatusItem' smart constructor.-data VolumeStatusItem = VolumeStatusItem'- { _vsiVolumeStatus :: !(Maybe VolumeStatusInfo)- , _vsiActions :: !(Maybe [VolumeStatusAction])- , _vsiEvents :: !(Maybe [VolumeStatusEvent])- , _vsiAvailabilityZone :: !(Maybe Text)- , _vsiVolumeId :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'VolumeStatusItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vsiVolumeStatus'------ * 'vsiActions'------ * 'vsiEvents'------ * 'vsiAvailabilityZone'------ * 'vsiVolumeId'-volumeStatusItem- :: VolumeStatusItem-volumeStatusItem =- VolumeStatusItem'- { _vsiVolumeStatus = Nothing- , _vsiActions = Nothing- , _vsiEvents = Nothing- , _vsiAvailabilityZone = Nothing- , _vsiVolumeId = Nothing- }---- | The volume status.-vsiVolumeStatus :: Lens' VolumeStatusItem (Maybe VolumeStatusInfo)-vsiVolumeStatus = lens _vsiVolumeStatus (\ s a -> s{_vsiVolumeStatus = a});---- | The details of the operation.-vsiActions :: Lens' VolumeStatusItem [VolumeStatusAction]-vsiActions = lens _vsiActions (\ s a -> s{_vsiActions = a}) . _Default . _Coerce;---- | A list of events associated with the volume.-vsiEvents :: Lens' VolumeStatusItem [VolumeStatusEvent]-vsiEvents = lens _vsiEvents (\ s a -> s{_vsiEvents = a}) . _Default . _Coerce;---- | The Availability Zone of the volume.-vsiAvailabilityZone :: Lens' VolumeStatusItem (Maybe Text)-vsiAvailabilityZone = lens _vsiAvailabilityZone (\ s a -> s{_vsiAvailabilityZone = a});---- | The volume ID.-vsiVolumeId :: Lens' VolumeStatusItem (Maybe Text)-vsiVolumeId = lens _vsiVolumeId (\ s a -> s{_vsiVolumeId = a});--instance FromXML VolumeStatusItem where- parseXML x- = VolumeStatusItem' <$>- (x .@? "volumeStatus") <*>- (x .@? "actionsSet" .!@ mempty >>=- may (parseXMLList "item"))- <*>- (x .@? "eventsSet" .!@ mempty >>=- may (parseXMLList "item"))- <*> (x .@? "availabilityZone")- <*> (x .@? "volumeId")+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.EC2.Types.Product where++import Network.AWS.EC2.Internal+import Network.AWS.EC2.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | Describes an account attribute.+--+-- /See:/ 'accountAttribute' smart constructor.+data AccountAttribute = AccountAttribute'+ { _aaAttributeValues :: !(Maybe [AccountAttributeValue])+ , _aaAttributeName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountAttribute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aaAttributeValues'+--+-- * 'aaAttributeName'+accountAttribute+ :: AccountAttribute+accountAttribute =+ AccountAttribute'+ { _aaAttributeValues = Nothing+ , _aaAttributeName = Nothing+ }++-- | One or more values for the account attribute.+aaAttributeValues :: Lens' AccountAttribute [AccountAttributeValue]+aaAttributeValues = lens _aaAttributeValues (\ s a -> s{_aaAttributeValues = a}) . _Default . _Coerce;++-- | The name of the account attribute.+aaAttributeName :: Lens' AccountAttribute (Maybe Text)+aaAttributeName = lens _aaAttributeName (\ s a -> s{_aaAttributeName = a});++instance FromXML AccountAttribute where+ parseXML x+ = AccountAttribute' <$>+ (x .@? "attributeValueSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "attributeName")++instance Hashable AccountAttribute++-- | Describes a value of an account attribute.+--+-- /See:/ 'accountAttributeValue' smart constructor.+newtype AccountAttributeValue = AccountAttributeValue'+ { _aavAttributeValue :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountAttributeValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aavAttributeValue'+accountAttributeValue+ :: AccountAttributeValue+accountAttributeValue =+ AccountAttributeValue'+ { _aavAttributeValue = Nothing+ }++-- | The value of the attribute.+aavAttributeValue :: Lens' AccountAttributeValue (Maybe Text)+aavAttributeValue = lens _aavAttributeValue (\ s a -> s{_aavAttributeValue = a});++instance FromXML AccountAttributeValue where+ parseXML x+ = AccountAttributeValue' <$> (x .@? "attributeValue")++instance Hashable AccountAttributeValue++-- | Describes a running instance in a Spot fleet.+--+-- /See:/ 'activeInstance' smart constructor.+data ActiveInstance = ActiveInstance'+ { _aiInstanceId :: !(Maybe Text)+ , _aiInstanceType :: !(Maybe Text)+ , _aiSpotInstanceRequestId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActiveInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aiInstanceId'+--+-- * 'aiInstanceType'+--+-- * 'aiSpotInstanceRequestId'+activeInstance+ :: ActiveInstance+activeInstance =+ ActiveInstance'+ { _aiInstanceId = Nothing+ , _aiInstanceType = Nothing+ , _aiSpotInstanceRequestId = Nothing+ }++-- | The ID of the instance.+aiInstanceId :: Lens' ActiveInstance (Maybe Text)+aiInstanceId = lens _aiInstanceId (\ s a -> s{_aiInstanceId = a});++-- | The instance type.+aiInstanceType :: Lens' ActiveInstance (Maybe Text)+aiInstanceType = lens _aiInstanceType (\ s a -> s{_aiInstanceType = a});++-- | The ID of the Spot instance request.+aiSpotInstanceRequestId :: Lens' ActiveInstance (Maybe Text)+aiSpotInstanceRequestId = lens _aiSpotInstanceRequestId (\ s a -> s{_aiSpotInstanceRequestId = a});++instance FromXML ActiveInstance where+ parseXML x+ = ActiveInstance' <$>+ (x .@? "instanceId") <*> (x .@? "instanceType") <*>+ (x .@? "spotInstanceRequestId")++instance Hashable ActiveInstance++-- | Describes an Elastic IP address.+--+-- /See:/ 'address' smart constructor.+data Address = Address'+ { _aAssociationId :: !(Maybe Text)+ , _aInstanceId :: !(Maybe Text)+ , _aNetworkInterfaceOwnerId :: !(Maybe Text)+ , _aAllocationId :: !(Maybe Text)+ , _aDomain :: !(Maybe DomainType)+ , _aNetworkInterfaceId :: !(Maybe Text)+ , _aPrivateIPAddress :: !(Maybe Text)+ , _aPublicIP :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Address' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aAssociationId'+--+-- * 'aInstanceId'+--+-- * 'aNetworkInterfaceOwnerId'+--+-- * 'aAllocationId'+--+-- * 'aDomain'+--+-- * 'aNetworkInterfaceId'+--+-- * 'aPrivateIPAddress'+--+-- * 'aPublicIP'+address+ :: Address+address =+ Address'+ { _aAssociationId = Nothing+ , _aInstanceId = Nothing+ , _aNetworkInterfaceOwnerId = Nothing+ , _aAllocationId = Nothing+ , _aDomain = Nothing+ , _aNetworkInterfaceId = Nothing+ , _aPrivateIPAddress = Nothing+ , _aPublicIP = Nothing+ }++-- | The ID representing the association of the address with an instance in a+-- VPC.+aAssociationId :: Lens' Address (Maybe Text)+aAssociationId = lens _aAssociationId (\ s a -> s{_aAssociationId = a});++-- | The ID of the instance that the address is associated with (if any).+aInstanceId :: Lens' Address (Maybe Text)+aInstanceId = lens _aInstanceId (\ s a -> s{_aInstanceId = a});++-- | The ID of the AWS account that owns the network interface.+aNetworkInterfaceOwnerId :: Lens' Address (Maybe Text)+aNetworkInterfaceOwnerId = lens _aNetworkInterfaceOwnerId (\ s a -> s{_aNetworkInterfaceOwnerId = a});++-- | The ID representing the allocation of the address for use with EC2-VPC.+aAllocationId :: Lens' Address (Maybe Text)+aAllocationId = lens _aAllocationId (\ s a -> s{_aAllocationId = a});++-- | Indicates whether this Elastic IP address is for use with instances in+-- EC2-Classic ('standard') or instances in a VPC ('vpc').+aDomain :: Lens' Address (Maybe DomainType)+aDomain = lens _aDomain (\ s a -> s{_aDomain = a});++-- | The ID of the network interface.+aNetworkInterfaceId :: Lens' Address (Maybe Text)+aNetworkInterfaceId = lens _aNetworkInterfaceId (\ s a -> s{_aNetworkInterfaceId = a});++-- | The private IP address associated with the Elastic IP address.+aPrivateIPAddress :: Lens' Address (Maybe Text)+aPrivateIPAddress = lens _aPrivateIPAddress (\ s a -> s{_aPrivateIPAddress = a});++-- | The Elastic IP address.+aPublicIP :: Lens' Address (Maybe Text)+aPublicIP = lens _aPublicIP (\ s a -> s{_aPublicIP = a});++instance FromXML Address where+ parseXML x+ = Address' <$>+ (x .@? "associationId") <*> (x .@? "instanceId") <*>+ (x .@? "networkInterfaceOwnerId")+ <*> (x .@? "allocationId")+ <*> (x .@? "domain")+ <*> (x .@? "networkInterfaceId")+ <*> (x .@? "privateIpAddress")+ <*> (x .@? "publicIp")++instance Hashable Address++-- | The value to use when a resource attribute accepts a Boolean value.+--+-- /See:/ 'attributeBooleanValue' smart constructor.+newtype AttributeBooleanValue = AttributeBooleanValue'+ { _abvValue :: Maybe Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttributeBooleanValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'abvValue'+attributeBooleanValue+ :: AttributeBooleanValue+attributeBooleanValue =+ AttributeBooleanValue'+ { _abvValue = Nothing+ }++-- | Valid values are 'true' or 'false'.+abvValue :: Lens' AttributeBooleanValue (Maybe Bool)+abvValue = lens _abvValue (\ s a -> s{_abvValue = a});++instance FromXML AttributeBooleanValue where+ parseXML x+ = AttributeBooleanValue' <$> (x .@? "value")++instance Hashable AttributeBooleanValue++instance ToQuery AttributeBooleanValue where+ toQuery AttributeBooleanValue'{..}+ = mconcat ["Value" =: _abvValue]++-- | The value to use for a resource attribute.+--+-- /See:/ 'attributeValue' smart constructor.+newtype AttributeValue = AttributeValue'+ { _avValue :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttributeValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avValue'+attributeValue+ :: AttributeValue+attributeValue =+ AttributeValue'+ { _avValue = Nothing+ }++-- | Valid values are case-sensitive and vary by action.+avValue :: Lens' AttributeValue (Maybe Text)+avValue = lens _avValue (\ s a -> s{_avValue = a});++instance FromXML AttributeValue where+ parseXML x = AttributeValue' <$> (x .@? "value")++instance Hashable AttributeValue++instance ToQuery AttributeValue where+ toQuery AttributeValue'{..}+ = mconcat ["Value" =: _avValue]++-- | Describes an Availability Zone.+--+-- /See:/ 'availabilityZone' smart constructor.+data AvailabilityZone = AvailabilityZone'+ { _azState :: !(Maybe AvailabilityZoneState)+ , _azRegionName :: !(Maybe Text)+ , _azZoneName :: !(Maybe Text)+ , _azMessages :: !(Maybe [AvailabilityZoneMessage])+ } 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'+--+-- * 'azRegionName'+--+-- * 'azZoneName'+--+-- * 'azMessages'+availabilityZone+ :: AvailabilityZone+availabilityZone =+ AvailabilityZone'+ { _azState = Nothing+ , _azRegionName = Nothing+ , _azZoneName = Nothing+ , _azMessages = Nothing+ }++-- | The state of the Availability Zone.+azState :: Lens' AvailabilityZone (Maybe AvailabilityZoneState)+azState = lens _azState (\ s a -> s{_azState = a});++-- | The name of the region.+azRegionName :: Lens' AvailabilityZone (Maybe Text)+azRegionName = lens _azRegionName (\ s a -> s{_azRegionName = a});++-- | The name of the Availability Zone.+azZoneName :: Lens' AvailabilityZone (Maybe Text)+azZoneName = lens _azZoneName (\ s a -> s{_azZoneName = a});++-- | Any messages about the Availability Zone.+azMessages :: Lens' AvailabilityZone [AvailabilityZoneMessage]+azMessages = lens _azMessages (\ s a -> s{_azMessages = a}) . _Default . _Coerce;++instance FromXML AvailabilityZone where+ parseXML x+ = AvailabilityZone' <$>+ (x .@? "zoneState") <*> (x .@? "regionName") <*>+ (x .@? "zoneName")+ <*>+ (x .@? "messageSet" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable AvailabilityZone++-- | Describes a message about an Availability Zone.+--+-- /See:/ 'availabilityZoneMessage' smart constructor.+newtype AvailabilityZoneMessage = AvailabilityZoneMessage'+ { _azmMessage :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AvailabilityZoneMessage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'azmMessage'+availabilityZoneMessage+ :: AvailabilityZoneMessage+availabilityZoneMessage =+ AvailabilityZoneMessage'+ { _azmMessage = Nothing+ }++-- | The message about the Availability Zone.+azmMessage :: Lens' AvailabilityZoneMessage (Maybe Text)+azmMessage = lens _azmMessage (\ s a -> s{_azmMessage = a});++instance FromXML AvailabilityZoneMessage where+ parseXML x+ = AvailabilityZoneMessage' <$> (x .@? "message")++instance Hashable AvailabilityZoneMessage++-- | The capacity information for instances launched onto the Dedicated host.+--+-- /See:/ 'availableCapacity' smart constructor.+data AvailableCapacity = AvailableCapacity'+ { _acAvailableInstanceCapacity :: !(Maybe [InstanceCapacity])+ , _acAvailableVCPUs :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AvailableCapacity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acAvailableInstanceCapacity'+--+-- * 'acAvailableVCPUs'+availableCapacity+ :: AvailableCapacity+availableCapacity =+ AvailableCapacity'+ { _acAvailableInstanceCapacity = Nothing+ , _acAvailableVCPUs = Nothing+ }++-- | The total number of instances that the Dedicated host supports.+acAvailableInstanceCapacity :: Lens' AvailableCapacity [InstanceCapacity]+acAvailableInstanceCapacity = lens _acAvailableInstanceCapacity (\ s a -> s{_acAvailableInstanceCapacity = a}) . _Default . _Coerce;++-- | The number of vCPUs available on the Dedicated host.+acAvailableVCPUs :: Lens' AvailableCapacity (Maybe Int)+acAvailableVCPUs = lens _acAvailableVCPUs (\ s a -> s{_acAvailableVCPUs = a});++instance FromXML AvailableCapacity where+ parseXML x+ = AvailableCapacity' <$>+ (x .@? "availableInstanceCapacity" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "availableVCpus")++instance Hashable AvailableCapacity++-- | /See:/ 'blobAttributeValue' smart constructor.+newtype BlobAttributeValue = BlobAttributeValue'+ { _bavValue :: Maybe Base64+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlobAttributeValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bavValue'+blobAttributeValue+ :: BlobAttributeValue+blobAttributeValue =+ BlobAttributeValue'+ { _bavValue = Nothing+ }++-- | Undocumented member.+--+-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data,+-- despite what the AWS documentation might say.+-- The underlying isomorphism will encode to Base64 representation during+-- serialisation, and decode from Base64 representation during deserialisation.+-- This 'Lens' accepts and returns only raw unencoded data.+bavValue :: Lens' BlobAttributeValue (Maybe ByteString)+bavValue = lens _bavValue (\ s a -> s{_bavValue = a}) . mapping _Base64;++instance Hashable BlobAttributeValue++instance ToQuery BlobAttributeValue where+ toQuery BlobAttributeValue'{..}+ = mconcat ["Value" =: _bavValue]++-- | Describes a block device mapping.+--+-- /See:/ 'blockDeviceMapping' smart constructor.+data BlockDeviceMapping = BlockDeviceMapping'+ { _bdmVirtualName :: !(Maybe Text)+ , _bdmNoDevice :: !(Maybe Text)+ , _bdmEBS :: !(Maybe EBSBlockDevice)+ , _bdmDeviceName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlockDeviceMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdmVirtualName'+--+-- * 'bdmNoDevice'+--+-- * 'bdmEBS'+--+-- * 'bdmDeviceName'+blockDeviceMapping+ :: Text -- ^ 'bdmDeviceName'+ -> BlockDeviceMapping+blockDeviceMapping pDeviceName_ =+ BlockDeviceMapping'+ { _bdmVirtualName = Nothing+ , _bdmNoDevice = Nothing+ , _bdmEBS = Nothing+ , _bdmDeviceName = pDeviceName_+ }++-- | The virtual device name ('ephemeral'N). Instance store volumes are+-- numbered starting from 0. An instance type with 2 available instance+-- store volumes can specify mappings for 'ephemeral0' and 'ephemeral1'.The+-- number of available instance store volumes depends on the instance type.+-- After you connect to the instance, you must mount the volume.+--+-- Constraints: For M3 instances, you must specify instance store volumes+-- in the block device mapping for the instance. When you launch an M3+-- instance, we ignore any instance store volumes specified in the block+-- device mapping for the AMI.+bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)+bdmVirtualName = lens _bdmVirtualName (\ s a -> s{_bdmVirtualName = a});++-- | Suppresses the specified device included in the block device mapping of+-- the AMI.+bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Text)+bdmNoDevice = lens _bdmNoDevice (\ s a -> s{_bdmNoDevice = a});++-- | Parameters used to automatically set up EBS volumes when the instance is+-- launched.+bdmEBS :: Lens' BlockDeviceMapping (Maybe EBSBlockDevice)+bdmEBS = lens _bdmEBS (\ s a -> s{_bdmEBS = a});++-- | The device name exposed to the instance (for example, '\/dev\/sdh' or+-- 'xvdh').+bdmDeviceName :: Lens' BlockDeviceMapping Text+bdmDeviceName = lens _bdmDeviceName (\ s a -> s{_bdmDeviceName = a});++instance FromXML BlockDeviceMapping where+ parseXML x+ = BlockDeviceMapping' <$>+ (x .@? "virtualName") <*> (x .@? "noDevice") <*>+ (x .@? "ebs")+ <*> (x .@ "deviceName")++instance Hashable BlockDeviceMapping++instance ToQuery BlockDeviceMapping where+ toQuery BlockDeviceMapping'{..}+ = mconcat+ ["VirtualName" =: _bdmVirtualName,+ "NoDevice" =: _bdmNoDevice, "Ebs" =: _bdmEBS,+ "DeviceName" =: _bdmDeviceName]++-- | Describes a bundle task.+--+-- /See:/ 'bundleTask' smart constructor.+data BundleTask = BundleTask'+ { _btBundleTaskError :: !(Maybe BundleTaskError)+ , _btBundleId :: !Text+ , _btInstanceId :: !Text+ , _btProgress :: !Text+ , _btStartTime :: !ISO8601+ , _btState :: !BundleTaskState+ , _btStorage :: !Storage+ , _btUpdateTime :: !ISO8601+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BundleTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'btBundleTaskError'+--+-- * 'btBundleId'+--+-- * 'btInstanceId'+--+-- * 'btProgress'+--+-- * 'btStartTime'+--+-- * 'btState'+--+-- * 'btStorage'+--+-- * 'btUpdateTime'+bundleTask+ :: Text -- ^ 'btBundleId'+ -> Text -- ^ 'btInstanceId'+ -> Text -- ^ 'btProgress'+ -> UTCTime -- ^ 'btStartTime'+ -> BundleTaskState -- ^ 'btState'+ -> Storage -- ^ 'btStorage'+ -> UTCTime -- ^ 'btUpdateTime'+ -> BundleTask+bundleTask pBundleId_ pInstanceId_ pProgress_ pStartTime_ pState_ pStorage_ pUpdateTime_ =+ BundleTask'+ { _btBundleTaskError = Nothing+ , _btBundleId = pBundleId_+ , _btInstanceId = pInstanceId_+ , _btProgress = pProgress_+ , _btStartTime = _Time # pStartTime_+ , _btState = pState_+ , _btStorage = pStorage_+ , _btUpdateTime = _Time # pUpdateTime_+ }++-- | If the task fails, a description of the error.+btBundleTaskError :: Lens' BundleTask (Maybe BundleTaskError)+btBundleTaskError = lens _btBundleTaskError (\ s a -> s{_btBundleTaskError = a});++-- | The ID of the bundle task.+btBundleId :: Lens' BundleTask Text+btBundleId = lens _btBundleId (\ s a -> s{_btBundleId = a});++-- | The ID of the instance associated with this bundle task.+btInstanceId :: Lens' BundleTask Text+btInstanceId = lens _btInstanceId (\ s a -> s{_btInstanceId = a});++-- | The level of task completion, as a percent (for example, 20%).+btProgress :: Lens' BundleTask Text+btProgress = lens _btProgress (\ s a -> s{_btProgress = a});++-- | The time this task started.+btStartTime :: Lens' BundleTask UTCTime+btStartTime = lens _btStartTime (\ s a -> s{_btStartTime = a}) . _Time;++-- | The state of the task.+btState :: Lens' BundleTask BundleTaskState+btState = lens _btState (\ s a -> s{_btState = a});++-- | The Amazon S3 storage locations.+btStorage :: Lens' BundleTask Storage+btStorage = lens _btStorage (\ s a -> s{_btStorage = a});++-- | The time of the most recent update for the task.+btUpdateTime :: Lens' BundleTask UTCTime+btUpdateTime = lens _btUpdateTime (\ s a -> s{_btUpdateTime = a}) . _Time;++instance FromXML BundleTask where+ parseXML x+ = BundleTask' <$>+ (x .@? "error") <*> (x .@ "bundleId") <*>+ (x .@ "instanceId")+ <*> (x .@ "progress")+ <*> (x .@ "startTime")+ <*> (x .@ "state")+ <*> (x .@ "storage")+ <*> (x .@ "updateTime")++instance Hashable BundleTask++-- | Describes an error for < BundleInstance>.+--+-- /See:/ 'bundleTaskError' smart constructor.+data BundleTaskError = BundleTaskError'+ { _bteCode :: !(Maybe Text)+ , _bteMessage :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BundleTaskError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bteCode'+--+-- * 'bteMessage'+bundleTaskError+ :: BundleTaskError+bundleTaskError =+ BundleTaskError'+ { _bteCode = Nothing+ , _bteMessage = Nothing+ }++-- | The error code.+bteCode :: Lens' BundleTaskError (Maybe Text)+bteCode = lens _bteCode (\ s a -> s{_bteCode = a});++-- | The error message.+bteMessage :: Lens' BundleTaskError (Maybe Text)+bteMessage = lens _bteMessage (\ s a -> s{_bteMessage = a});++instance FromXML BundleTaskError where+ parseXML x+ = BundleTaskError' <$>+ (x .@? "code") <*> (x .@? "message")++instance Hashable BundleTaskError++-- | Describes a Spot fleet error.+--+-- /See:/ 'cancelSpotFleetRequestsError' smart constructor.+data CancelSpotFleetRequestsError = CancelSpotFleetRequestsError'+ { _csfreCode :: !CancelBatchErrorCode+ , _csfreMessage :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelSpotFleetRequestsError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csfreCode'+--+-- * 'csfreMessage'+cancelSpotFleetRequestsError+ :: CancelBatchErrorCode -- ^ 'csfreCode'+ -> Text -- ^ 'csfreMessage'+ -> CancelSpotFleetRequestsError+cancelSpotFleetRequestsError pCode_ pMessage_ =+ CancelSpotFleetRequestsError'+ { _csfreCode = pCode_+ , _csfreMessage = pMessage_+ }++-- | The error code.+csfreCode :: Lens' CancelSpotFleetRequestsError CancelBatchErrorCode+csfreCode = lens _csfreCode (\ s a -> s{_csfreCode = a});++-- | The description for the error code.+csfreMessage :: Lens' CancelSpotFleetRequestsError Text+csfreMessage = lens _csfreMessage (\ s a -> s{_csfreMessage = a});++instance FromXML CancelSpotFleetRequestsError where+ parseXML x+ = CancelSpotFleetRequestsError' <$>+ (x .@ "code") <*> (x .@ "message")++instance Hashable CancelSpotFleetRequestsError++-- | Describes a Spot fleet request that was not successfully canceled.+--+-- /See:/ 'cancelSpotFleetRequestsErrorItem' smart constructor.+data CancelSpotFleetRequestsErrorItem = CancelSpotFleetRequestsErrorItem'+ { _csfreiSpotFleetRequestId :: !Text+ , _csfreiError :: !CancelSpotFleetRequestsError+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelSpotFleetRequestsErrorItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csfreiSpotFleetRequestId'+--+-- * 'csfreiError'+cancelSpotFleetRequestsErrorItem+ :: Text -- ^ 'csfreiSpotFleetRequestId'+ -> CancelSpotFleetRequestsError -- ^ 'csfreiError'+ -> CancelSpotFleetRequestsErrorItem+cancelSpotFleetRequestsErrorItem pSpotFleetRequestId_ pError_ =+ CancelSpotFleetRequestsErrorItem'+ { _csfreiSpotFleetRequestId = pSpotFleetRequestId_+ , _csfreiError = pError_+ }++-- | The ID of the Spot fleet request.+csfreiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsErrorItem Text+csfreiSpotFleetRequestId = lens _csfreiSpotFleetRequestId (\ s a -> s{_csfreiSpotFleetRequestId = a});++-- | The error.+csfreiError :: Lens' CancelSpotFleetRequestsErrorItem CancelSpotFleetRequestsError+csfreiError = lens _csfreiError (\ s a -> s{_csfreiError = a});++instance FromXML CancelSpotFleetRequestsErrorItem+ where+ parseXML x+ = CancelSpotFleetRequestsErrorItem' <$>+ (x .@ "spotFleetRequestId") <*> (x .@ "error")++instance Hashable CancelSpotFleetRequestsErrorItem++-- | Describes a Spot fleet request that was successfully canceled.+--+-- /See:/ 'cancelSpotFleetRequestsSuccessItem' smart constructor.+data CancelSpotFleetRequestsSuccessItem = CancelSpotFleetRequestsSuccessItem'+ { _csfrsiSpotFleetRequestId :: !Text+ , _csfrsiCurrentSpotFleetRequestState :: !BatchState+ , _csfrsiPreviousSpotFleetRequestState :: !BatchState+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelSpotFleetRequestsSuccessItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csfrsiSpotFleetRequestId'+--+-- * 'csfrsiCurrentSpotFleetRequestState'+--+-- * 'csfrsiPreviousSpotFleetRequestState'+cancelSpotFleetRequestsSuccessItem+ :: Text -- ^ 'csfrsiSpotFleetRequestId'+ -> BatchState -- ^ 'csfrsiCurrentSpotFleetRequestState'+ -> BatchState -- ^ 'csfrsiPreviousSpotFleetRequestState'+ -> CancelSpotFleetRequestsSuccessItem+cancelSpotFleetRequestsSuccessItem pSpotFleetRequestId_ pCurrentSpotFleetRequestState_ pPreviousSpotFleetRequestState_ =+ CancelSpotFleetRequestsSuccessItem'+ { _csfrsiSpotFleetRequestId = pSpotFleetRequestId_+ , _csfrsiCurrentSpotFleetRequestState = pCurrentSpotFleetRequestState_+ , _csfrsiPreviousSpotFleetRequestState = pPreviousSpotFleetRequestState_+ }++-- | The ID of the Spot fleet request.+csfrsiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsSuccessItem Text+csfrsiSpotFleetRequestId = lens _csfrsiSpotFleetRequestId (\ s a -> s{_csfrsiSpotFleetRequestId = a});++-- | The current state of the Spot fleet request.+csfrsiCurrentSpotFleetRequestState :: Lens' CancelSpotFleetRequestsSuccessItem BatchState+csfrsiCurrentSpotFleetRequestState = lens _csfrsiCurrentSpotFleetRequestState (\ s a -> s{_csfrsiCurrentSpotFleetRequestState = a});++-- | The previous state of the Spot fleet request.+csfrsiPreviousSpotFleetRequestState :: Lens' CancelSpotFleetRequestsSuccessItem BatchState+csfrsiPreviousSpotFleetRequestState = lens _csfrsiPreviousSpotFleetRequestState (\ s a -> s{_csfrsiPreviousSpotFleetRequestState = a});++instance FromXML CancelSpotFleetRequestsSuccessItem+ where+ parseXML x+ = CancelSpotFleetRequestsSuccessItem' <$>+ (x .@ "spotFleetRequestId") <*>+ (x .@ "currentSpotFleetRequestState")+ <*> (x .@ "previousSpotFleetRequestState")++instance Hashable CancelSpotFleetRequestsSuccessItem++-- | Describes a request to cancel a Spot instance.+--+-- /See:/ 'cancelledSpotInstanceRequest' smart constructor.+data CancelledSpotInstanceRequest = CancelledSpotInstanceRequest'+ { _csirState :: !(Maybe CancelSpotInstanceRequestState)+ , _csirSpotInstanceRequestId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelledSpotInstanceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csirState'+--+-- * 'csirSpotInstanceRequestId'+cancelledSpotInstanceRequest+ :: CancelledSpotInstanceRequest+cancelledSpotInstanceRequest =+ CancelledSpotInstanceRequest'+ { _csirState = Nothing+ , _csirSpotInstanceRequestId = Nothing+ }++-- | The state of the Spot instance request.+csirState :: Lens' CancelledSpotInstanceRequest (Maybe CancelSpotInstanceRequestState)+csirState = lens _csirState (\ s a -> s{_csirState = a});++-- | The ID of the Spot instance request.+csirSpotInstanceRequestId :: Lens' CancelledSpotInstanceRequest (Maybe Text)+csirSpotInstanceRequestId = lens _csirSpotInstanceRequestId (\ s a -> s{_csirSpotInstanceRequestId = a});++instance FromXML CancelledSpotInstanceRequest where+ parseXML x+ = CancelledSpotInstanceRequest' <$>+ (x .@? "state") <*> (x .@? "spotInstanceRequestId")++instance Hashable CancelledSpotInstanceRequest++-- | Describes the ClassicLink DNS support status of a VPC.+--+-- /See:/ 'classicLinkDNSSupport' smart constructor.+data ClassicLinkDNSSupport = ClassicLinkDNSSupport'+ { _cldsVPCId :: !(Maybe Text)+ , _cldsClassicLinkDNSSupported :: !(Maybe Bool)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClassicLinkDNSSupport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cldsVPCId'+--+-- * 'cldsClassicLinkDNSSupported'+classicLinkDNSSupport+ :: ClassicLinkDNSSupport+classicLinkDNSSupport =+ ClassicLinkDNSSupport'+ { _cldsVPCId = Nothing+ , _cldsClassicLinkDNSSupported = Nothing+ }++-- | The ID of the VPC.+cldsVPCId :: Lens' ClassicLinkDNSSupport (Maybe Text)+cldsVPCId = lens _cldsVPCId (\ s a -> s{_cldsVPCId = a});++-- | Indicates whether ClassicLink DNS support is enabled for the VPC.+cldsClassicLinkDNSSupported :: Lens' ClassicLinkDNSSupport (Maybe Bool)+cldsClassicLinkDNSSupported = lens _cldsClassicLinkDNSSupported (\ s a -> s{_cldsClassicLinkDNSSupported = a});++instance FromXML ClassicLinkDNSSupport where+ parseXML x+ = ClassicLinkDNSSupport' <$>+ (x .@? "vpcId") <*> (x .@? "classicLinkDnsSupported")++instance Hashable ClassicLinkDNSSupport++-- | Describes a linked EC2-Classic instance.+--+-- /See:/ 'classicLinkInstance' smart constructor.+data ClassicLinkInstance = ClassicLinkInstance'+ { _cliInstanceId :: !(Maybe Text)+ , _cliGroups :: !(Maybe [GroupIdentifier])+ , _cliVPCId :: !(Maybe Text)+ , _cliTags :: !(Maybe [Tag])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClassicLinkInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cliInstanceId'+--+-- * 'cliGroups'+--+-- * 'cliVPCId'+--+-- * 'cliTags'+classicLinkInstance+ :: ClassicLinkInstance+classicLinkInstance =+ ClassicLinkInstance'+ { _cliInstanceId = Nothing+ , _cliGroups = Nothing+ , _cliVPCId = Nothing+ , _cliTags = Nothing+ }++-- | The ID of the instance.+cliInstanceId :: Lens' ClassicLinkInstance (Maybe Text)+cliInstanceId = lens _cliInstanceId (\ s a -> s{_cliInstanceId = a});++-- | A list of security groups.+cliGroups :: Lens' ClassicLinkInstance [GroupIdentifier]+cliGroups = lens _cliGroups (\ s a -> s{_cliGroups = a}) . _Default . _Coerce;++-- | The ID of the VPC.+cliVPCId :: Lens' ClassicLinkInstance (Maybe Text)+cliVPCId = lens _cliVPCId (\ s a -> s{_cliVPCId = a});++-- | Any tags assigned to the instance.+cliTags :: Lens' ClassicLinkInstance [Tag]+cliTags = lens _cliTags (\ s a -> s{_cliTags = a}) . _Default . _Coerce;++instance FromXML ClassicLinkInstance where+ parseXML x+ = ClassicLinkInstance' <$>+ (x .@? "instanceId") <*>+ (x .@? "groupSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "vpcId")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable ClassicLinkInstance++-- | Describes the client-specific data.+--+-- /See:/ 'clientData' smart constructor.+data ClientData = ClientData'+ { _cdUploadStart :: !(Maybe ISO8601)+ , _cdUploadSize :: !(Maybe Double)+ , _cdUploadEnd :: !(Maybe ISO8601)+ , _cdComment :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClientData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdUploadStart'+--+-- * 'cdUploadSize'+--+-- * 'cdUploadEnd'+--+-- * 'cdComment'+clientData+ :: ClientData+clientData =+ ClientData'+ { _cdUploadStart = Nothing+ , _cdUploadSize = Nothing+ , _cdUploadEnd = Nothing+ , _cdComment = Nothing+ }++-- | The time that the disk upload starts.+cdUploadStart :: Lens' ClientData (Maybe UTCTime)+cdUploadStart = lens _cdUploadStart (\ s a -> s{_cdUploadStart = a}) . mapping _Time;++-- | The size of the uploaded disk image, in GiB.+cdUploadSize :: Lens' ClientData (Maybe Double)+cdUploadSize = lens _cdUploadSize (\ s a -> s{_cdUploadSize = a});++-- | The time that the disk upload ends.+cdUploadEnd :: Lens' ClientData (Maybe UTCTime)+cdUploadEnd = lens _cdUploadEnd (\ s a -> s{_cdUploadEnd = a}) . mapping _Time;++-- | A user-defined comment about the disk upload.+cdComment :: Lens' ClientData (Maybe Text)+cdComment = lens _cdComment (\ s a -> s{_cdComment = a});++instance Hashable ClientData++instance ToQuery ClientData where+ toQuery ClientData'{..}+ = mconcat+ ["UploadStart" =: _cdUploadStart,+ "UploadSize" =: _cdUploadSize,+ "UploadEnd" =: _cdUploadEnd, "Comment" =: _cdComment]++-- | Describes a conversion task.+--+-- /See:/ 'conversionTask' smart constructor.+data ConversionTask = ConversionTask'+ { _ctImportInstance :: !(Maybe ImportInstanceTaskDetails)+ , _ctStatusMessage :: !(Maybe Text)+ , _ctImportVolume :: !(Maybe ImportVolumeTaskDetails)+ , _ctExpirationTime :: !(Maybe Text)+ , _ctTags :: !(Maybe [Tag])+ , _ctConversionTaskId :: !Text+ , _ctState :: !ConversionTaskState+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConversionTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctImportInstance'+--+-- * 'ctStatusMessage'+--+-- * 'ctImportVolume'+--+-- * 'ctExpirationTime'+--+-- * 'ctTags'+--+-- * 'ctConversionTaskId'+--+-- * 'ctState'+conversionTask+ :: Text -- ^ 'ctConversionTaskId'+ -> ConversionTaskState -- ^ 'ctState'+ -> ConversionTask+conversionTask pConversionTaskId_ pState_ =+ ConversionTask'+ { _ctImportInstance = Nothing+ , _ctStatusMessage = Nothing+ , _ctImportVolume = Nothing+ , _ctExpirationTime = Nothing+ , _ctTags = Nothing+ , _ctConversionTaskId = pConversionTaskId_+ , _ctState = pState_+ }++-- | If the task is for importing an instance, this contains information+-- about the import instance task.+ctImportInstance :: Lens' ConversionTask (Maybe ImportInstanceTaskDetails)+ctImportInstance = lens _ctImportInstance (\ s a -> s{_ctImportInstance = a});++-- | The status message related to the conversion task.+ctStatusMessage :: Lens' ConversionTask (Maybe Text)+ctStatusMessage = lens _ctStatusMessage (\ s a -> s{_ctStatusMessage = a});++-- | If the task is for importing a volume, this contains information about+-- the import volume task.+ctImportVolume :: Lens' ConversionTask (Maybe ImportVolumeTaskDetails)+ctImportVolume = lens _ctImportVolume (\ s a -> s{_ctImportVolume = a});++-- | The time when the task expires. If the upload isn\'t complete before the+-- expiration time, we automatically cancel the task.+ctExpirationTime :: Lens' ConversionTask (Maybe Text)+ctExpirationTime = lens _ctExpirationTime (\ s a -> s{_ctExpirationTime = a});++-- | Any tags assigned to the task.+ctTags :: Lens' ConversionTask [Tag]+ctTags = lens _ctTags (\ s a -> s{_ctTags = a}) . _Default . _Coerce;++-- | The ID of the conversion task.+ctConversionTaskId :: Lens' ConversionTask Text+ctConversionTaskId = lens _ctConversionTaskId (\ s a -> s{_ctConversionTaskId = a});++-- | The state of the conversion task.+ctState :: Lens' ConversionTask ConversionTaskState+ctState = lens _ctState (\ s a -> s{_ctState = a});++instance FromXML ConversionTask where+ parseXML x+ = ConversionTask' <$>+ (x .@? "importInstance") <*> (x .@? "statusMessage")+ <*> (x .@? "importVolume")+ <*> (x .@? "expirationTime")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "conversionTaskId")+ <*> (x .@ "state")++instance Hashable ConversionTask++-- | Describes the user or group to be added or removed from the permissions+-- for a volume.+--+-- /See:/ 'createVolumePermission' smart constructor.+data CreateVolumePermission = CreateVolumePermission'+ { _cvpGroup :: !(Maybe PermissionGroup)+ , _cvpUserId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVolumePermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvpGroup'+--+-- * 'cvpUserId'+createVolumePermission+ :: CreateVolumePermission+createVolumePermission =+ CreateVolumePermission'+ { _cvpGroup = Nothing+ , _cvpUserId = Nothing+ }++-- | The specific group that is to be added or removed from a volume\'s list+-- of create volume permissions.+cvpGroup :: Lens' CreateVolumePermission (Maybe PermissionGroup)+cvpGroup = lens _cvpGroup (\ s a -> s{_cvpGroup = a});++-- | The specific AWS account ID that is to be added or removed from a+-- volume\'s list of create volume permissions.+cvpUserId :: Lens' CreateVolumePermission (Maybe Text)+cvpUserId = lens _cvpUserId (\ s a -> s{_cvpUserId = a});++instance FromXML CreateVolumePermission where+ parseXML x+ = CreateVolumePermission' <$>+ (x .@? "group") <*> (x .@? "userId")++instance Hashable CreateVolumePermission++instance ToQuery CreateVolumePermission where+ toQuery CreateVolumePermission'{..}+ = mconcat+ ["Group" =: _cvpGroup, "UserId" =: _cvpUserId]++-- | Describes modifications to the permissions for a volume.+--+-- /See:/ 'createVolumePermissionModifications' smart constructor.+data CreateVolumePermissionModifications = CreateVolumePermissionModifications'+ { _cvpmRemove :: !(Maybe [CreateVolumePermission])+ , _cvpmAdd :: !(Maybe [CreateVolumePermission])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVolumePermissionModifications' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvpmRemove'+--+-- * 'cvpmAdd'+createVolumePermissionModifications+ :: CreateVolumePermissionModifications+createVolumePermissionModifications =+ CreateVolumePermissionModifications'+ { _cvpmRemove = Nothing+ , _cvpmAdd = Nothing+ }++-- | Removes a specific AWS account ID or group from a volume\'s list of+-- create volume permissions.+cvpmRemove :: Lens' CreateVolumePermissionModifications [CreateVolumePermission]+cvpmRemove = lens _cvpmRemove (\ s a -> s{_cvpmRemove = a}) . _Default . _Coerce;++-- | Adds a specific AWS account ID or group to a volume\'s list of create+-- volume permissions.+cvpmAdd :: Lens' CreateVolumePermissionModifications [CreateVolumePermission]+cvpmAdd = lens _cvpmAdd (\ s a -> s{_cvpmAdd = a}) . _Default . _Coerce;++instance Hashable CreateVolumePermissionModifications++instance ToQuery CreateVolumePermissionModifications+ where+ toQuery CreateVolumePermissionModifications'{..}+ = mconcat+ [toQuery (toQueryList "Remove" <$> _cvpmRemove),+ toQuery (toQueryList "Add" <$> _cvpmAdd)]++-- | Describes a customer gateway.+--+-- /See:/ 'customerGateway' smart constructor.+data CustomerGateway = CustomerGateway'+ { _cgTags :: !(Maybe [Tag])+ , _cgBGPASN :: !Text+ , _cgCustomerGatewayId :: !Text+ , _cgIPAddress :: !Text+ , _cgState :: !Text+ , _cgType :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgTags'+--+-- * 'cgBGPASN'+--+-- * 'cgCustomerGatewayId'+--+-- * 'cgIPAddress'+--+-- * 'cgState'+--+-- * 'cgType'+customerGateway+ :: Text -- ^ 'cgBGPASN'+ -> Text -- ^ 'cgCustomerGatewayId'+ -> Text -- ^ 'cgIPAddress'+ -> Text -- ^ 'cgState'+ -> Text -- ^ 'cgType'+ -> CustomerGateway+customerGateway pBGPASN_ pCustomerGatewayId_ pIPAddress_ pState_ pType_ =+ CustomerGateway'+ { _cgTags = Nothing+ , _cgBGPASN = pBGPASN_+ , _cgCustomerGatewayId = pCustomerGatewayId_+ , _cgIPAddress = pIPAddress_+ , _cgState = pState_+ , _cgType = pType_+ }++-- | Any tags assigned to the customer gateway.+cgTags :: Lens' CustomerGateway [Tag]+cgTags = lens _cgTags (\ s a -> s{_cgTags = a}) . _Default . _Coerce;++-- | The customer gateway\'s Border Gateway Protocol (BGP) Autonomous System+-- Number (ASN).+cgBGPASN :: Lens' CustomerGateway Text+cgBGPASN = lens _cgBGPASN (\ s a -> s{_cgBGPASN = a});++-- | The ID of the customer gateway.+cgCustomerGatewayId :: Lens' CustomerGateway Text+cgCustomerGatewayId = lens _cgCustomerGatewayId (\ s a -> s{_cgCustomerGatewayId = a});++-- | The Internet-routable IP address of the customer gateway\'s outside+-- interface.+cgIPAddress :: Lens' CustomerGateway Text+cgIPAddress = lens _cgIPAddress (\ s a -> s{_cgIPAddress = a});++-- | The current state of the customer gateway+-- ('pending | available | deleting | deleted').+cgState :: Lens' CustomerGateway Text+cgState = lens _cgState (\ s a -> s{_cgState = a});++-- | The type of VPN connection the customer gateway supports ('ipsec.1').+cgType :: Lens' CustomerGateway Text+cgType = lens _cgType (\ s a -> s{_cgType = a});++instance FromXML CustomerGateway where+ parseXML x+ = CustomerGateway' <$>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "bgpAsn")+ <*> (x .@ "customerGatewayId")+ <*> (x .@ "ipAddress")+ <*> (x .@ "state")+ <*> (x .@ "type")++instance Hashable CustomerGateway++-- | Describes a DHCP configuration option.+--+-- /See:/ 'dhcpConfiguration' smart constructor.+data DHCPConfiguration = DHCPConfiguration'+ { _dcValues :: !(Maybe [AttributeValue])+ , _dcKey :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DHCPConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcValues'+--+-- * 'dcKey'+dhcpConfiguration+ :: DHCPConfiguration+dhcpConfiguration =+ DHCPConfiguration'+ { _dcValues = Nothing+ , _dcKey = Nothing+ }++-- | One or more values for the DHCP option.+dcValues :: Lens' DHCPConfiguration [AttributeValue]+dcValues = lens _dcValues (\ s a -> s{_dcValues = a}) . _Default . _Coerce;++-- | The name of a DHCP option.+dcKey :: Lens' DHCPConfiguration (Maybe Text)+dcKey = lens _dcKey (\ s a -> s{_dcKey = a});++instance FromXML DHCPConfiguration where+ parseXML x+ = DHCPConfiguration' <$>+ (x .@? "valueSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "key")++instance Hashable DHCPConfiguration++-- | Describes a set of DHCP options.+--+-- /See:/ 'dhcpOptions' smart constructor.+data DHCPOptions = DHCPOptions'+ { _doDHCPConfigurations :: !(Maybe [DHCPConfiguration])+ , _doDHCPOptionsId :: !(Maybe Text)+ , _doTags :: !(Maybe [Tag])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DHCPOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'doDHCPConfigurations'+--+-- * 'doDHCPOptionsId'+--+-- * 'doTags'+dhcpOptions+ :: DHCPOptions+dhcpOptions =+ DHCPOptions'+ { _doDHCPConfigurations = Nothing+ , _doDHCPOptionsId = Nothing+ , _doTags = Nothing+ }++-- | One or more DHCP options in the set.+doDHCPConfigurations :: Lens' DHCPOptions [DHCPConfiguration]+doDHCPConfigurations = lens _doDHCPConfigurations (\ s a -> s{_doDHCPConfigurations = a}) . _Default . _Coerce;++-- | The ID of the set of DHCP options.+doDHCPOptionsId :: Lens' DHCPOptions (Maybe Text)+doDHCPOptionsId = lens _doDHCPOptionsId (\ s a -> s{_doDHCPOptionsId = a});++-- | Any tags assigned to the DHCP options set.+doTags :: Lens' DHCPOptions [Tag]+doTags = lens _doTags (\ s a -> s{_doTags = a}) . _Default . _Coerce;++instance FromXML DHCPOptions where+ parseXML x+ = DHCPOptions' <$>+ (x .@? "dhcpConfigurationSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "dhcpOptionsId")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable DHCPOptions++-- | Describes a disk image.+--+-- /See:/ 'diskImage' smart constructor.+data DiskImage = DiskImage'+ { _diImage :: !(Maybe DiskImageDetail)+ , _diVolume :: !(Maybe VolumeDetail)+ , _diDescription :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskImage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diImage'+--+-- * 'diVolume'+--+-- * 'diDescription'+diskImage+ :: DiskImage+diskImage =+ DiskImage'+ { _diImage = Nothing+ , _diVolume = Nothing+ , _diDescription = Nothing+ }++-- | Information about the disk image.+diImage :: Lens' DiskImage (Maybe DiskImageDetail)+diImage = lens _diImage (\ s a -> s{_diImage = a});++-- | Information about the volume.+diVolume :: Lens' DiskImage (Maybe VolumeDetail)+diVolume = lens _diVolume (\ s a -> s{_diVolume = a});++-- | A description of the disk image.+diDescription :: Lens' DiskImage (Maybe Text)+diDescription = lens _diDescription (\ s a -> s{_diDescription = a});++instance Hashable DiskImage++instance ToQuery DiskImage where+ toQuery DiskImage'{..}+ = mconcat+ ["Image" =: _diImage, "Volume" =: _diVolume,+ "Description" =: _diDescription]++-- | Describes a disk image.+--+-- /See:/ 'diskImageDescription' smart constructor.+data DiskImageDescription = DiskImageDescription'+ { _dChecksum :: !(Maybe Text)+ , _dFormat :: !DiskImageFormat+ , _dSize :: !Integer+ , _dImportManifestURL :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskImageDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dChecksum'+--+-- * 'dFormat'+--+-- * 'dSize'+--+-- * 'dImportManifestURL'+diskImageDescription+ :: DiskImageFormat -- ^ 'dFormat'+ -> Integer -- ^ 'dSize'+ -> Text -- ^ 'dImportManifestURL'+ -> DiskImageDescription+diskImageDescription pFormat_ pSize_ pImportManifestURL_ =+ DiskImageDescription'+ { _dChecksum = Nothing+ , _dFormat = pFormat_+ , _dSize = pSize_+ , _dImportManifestURL = pImportManifestURL_+ }++-- | The checksum computed for the disk image.+dChecksum :: Lens' DiskImageDescription (Maybe Text)+dChecksum = lens _dChecksum (\ s a -> s{_dChecksum = a});++-- | The disk image format.+dFormat :: Lens' DiskImageDescription DiskImageFormat+dFormat = lens _dFormat (\ s a -> s{_dFormat = a});++-- | The size of the disk image, in GiB.+dSize :: Lens' DiskImageDescription Integer+dSize = lens _dSize (\ s a -> s{_dSize = a});++-- | A presigned URL for the import manifest stored in Amazon S3. For+-- information about creating a presigned URL for an Amazon S3 object, read+-- the \"Query String Request Authentication Alternative\" section of the+-- <http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html Authenticating REST Requests>+-- topic in the /Amazon Simple Storage Service Developer Guide/.+--+-- For information about the import manifest referenced by this API action,+-- see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html VM Import Manifest>.+dImportManifestURL :: Lens' DiskImageDescription Text+dImportManifestURL = lens _dImportManifestURL (\ s a -> s{_dImportManifestURL = a});++instance FromXML DiskImageDescription where+ parseXML x+ = DiskImageDescription' <$>+ (x .@? "checksum") <*> (x .@ "format") <*>+ (x .@ "size")+ <*> (x .@ "importManifestUrl")++instance Hashable DiskImageDescription++-- | Describes a disk image.+--+-- /See:/ 'diskImageDetail' smart constructor.+data DiskImageDetail = DiskImageDetail'+ { _didFormat :: !DiskImageFormat+ , _didBytes :: !Integer+ , _didImportManifestURL :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskImageDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'didFormat'+--+-- * 'didBytes'+--+-- * 'didImportManifestURL'+diskImageDetail+ :: DiskImageFormat -- ^ 'didFormat'+ -> Integer -- ^ 'didBytes'+ -> Text -- ^ 'didImportManifestURL'+ -> DiskImageDetail+diskImageDetail pFormat_ pBytes_ pImportManifestURL_ =+ DiskImageDetail'+ { _didFormat = pFormat_+ , _didBytes = pBytes_+ , _didImportManifestURL = pImportManifestURL_+ }++-- | The disk image format.+didFormat :: Lens' DiskImageDetail DiskImageFormat+didFormat = lens _didFormat (\ s a -> s{_didFormat = a});++-- | The size of the disk image, in GiB.+didBytes :: Lens' DiskImageDetail Integer+didBytes = lens _didBytes (\ s a -> s{_didBytes = a});++-- | A presigned URL for the import manifest stored in Amazon S3 and+-- presented here as an Amazon S3 presigned URL. For information about+-- creating a presigned URL for an Amazon S3 object, read the \"Query+-- String Request Authentication Alternative\" section of the+-- <http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html Authenticating REST Requests>+-- topic in the /Amazon Simple Storage Service Developer Guide/.+--+-- For information about the import manifest referenced by this API action,+-- see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html VM Import Manifest>.+didImportManifestURL :: Lens' DiskImageDetail Text+didImportManifestURL = lens _didImportManifestURL (\ s a -> s{_didImportManifestURL = a});++instance Hashable DiskImageDetail++instance ToQuery DiskImageDetail where+ toQuery DiskImageDetail'{..}+ = mconcat+ ["Format" =: _didFormat, "Bytes" =: _didBytes,+ "ImportManifestUrl" =: _didImportManifestURL]++-- | Describes a disk image volume.+--+-- /See:/ 'diskImageVolumeDescription' smart constructor.+data DiskImageVolumeDescription = DiskImageVolumeDescription'+ { _divdSize :: !(Maybe Integer)+ , _divdId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskImageVolumeDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'divdSize'+--+-- * 'divdId'+diskImageVolumeDescription+ :: Text -- ^ 'divdId'+ -> DiskImageVolumeDescription+diskImageVolumeDescription pId_ =+ DiskImageVolumeDescription'+ { _divdSize = Nothing+ , _divdId = pId_+ }++-- | The size of the volume, in GiB.+divdSize :: Lens' DiskImageVolumeDescription (Maybe Integer)+divdSize = lens _divdSize (\ s a -> s{_divdSize = a});++-- | The volume identifier.+divdId :: Lens' DiskImageVolumeDescription Text+divdId = lens _divdId (\ s a -> s{_divdId = a});++instance FromXML DiskImageVolumeDescription where+ parseXML x+ = DiskImageVolumeDescription' <$>+ (x .@? "size") <*> (x .@ "id")++instance Hashable DiskImageVolumeDescription++-- | Describes a block device for an EBS volume.+--+-- /See:/ 'ebsBlockDevice' smart constructor.+data EBSBlockDevice = EBSBlockDevice'+ { _ebdDeleteOnTermination :: !(Maybe Bool)+ , _ebdVolumeSize :: !(Maybe Int)+ , _ebdIOPS :: !(Maybe Int)+ , _ebdEncrypted :: !(Maybe Bool)+ , _ebdVolumeType :: !(Maybe VolumeType)+ , _ebdSnapshotId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EBSBlockDevice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ebdDeleteOnTermination'+--+-- * 'ebdVolumeSize'+--+-- * 'ebdIOPS'+--+-- * 'ebdEncrypted'+--+-- * 'ebdVolumeType'+--+-- * 'ebdSnapshotId'+ebsBlockDevice+ :: EBSBlockDevice+ebsBlockDevice =+ EBSBlockDevice'+ { _ebdDeleteOnTermination = Nothing+ , _ebdVolumeSize = Nothing+ , _ebdIOPS = Nothing+ , _ebdEncrypted = Nothing+ , _ebdVolumeType = Nothing+ , _ebdSnapshotId = Nothing+ }++-- | Indicates whether the EBS volume is deleted on instance termination.+ebdDeleteOnTermination :: Lens' EBSBlockDevice (Maybe Bool)+ebdDeleteOnTermination = lens _ebdDeleteOnTermination (\ s a -> s{_ebdDeleteOnTermination = a});++-- | The size of the volume, in GiB.+--+-- Constraints: '1-1024' for 'standard' volumes, '1-16384' for 'gp2'+-- volumes, and '4-16384' for 'io1' volumes. If you specify a snapshot, the+-- volume size must be equal to or larger than the snapshot size.+--+-- Default: If you\'re creating the volume from a snapshot and don\'t+-- specify a volume size, the default is the snapshot size.+ebdVolumeSize :: Lens' EBSBlockDevice (Maybe Int)+ebdVolumeSize = lens _ebdVolumeSize (\ s a -> s{_ebdVolumeSize = a});++-- | The number of I\/O operations per second (IOPS) that the volume+-- supports. For Provisioned IOPS (SSD) volumes, this represents the number+-- of IOPS that are provisioned for the volume. For General Purpose (SSD)+-- volumes, this represents the baseline performance of the volume and the+-- rate at which the volume accumulates I\/O credits for bursting. For more+-- information on General Purpose (SSD) baseline performance, I\/O credits,+-- and bursting, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html Amazon EBS Volume Types>+-- in the /Amazon Elastic Compute Cloud User Guide/.+--+-- Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and+-- 3 to 10000 for General Purpose (SSD) volumes.+--+-- Condition: This parameter is required for requests to create 'io1'+-- volumes; it is not used in requests to create 'standard' or 'gp2'+-- volumes.+ebdIOPS :: Lens' EBSBlockDevice (Maybe Int)+ebdIOPS = lens _ebdIOPS (\ s a -> s{_ebdIOPS = a});++-- | Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS+-- volumes may only be attached to instances that support Amazon EBS+-- encryption.+ebdEncrypted :: Lens' EBSBlockDevice (Maybe Bool)+ebdEncrypted = lens _ebdEncrypted (\ s a -> s{_ebdEncrypted = a});++-- | The volume type. 'gp2' for General Purpose (SSD) volumes, 'io1' for+-- Provisioned IOPS (SSD) volumes, and 'standard' for Magnetic volumes.+--+-- Default: 'standard'+ebdVolumeType :: Lens' EBSBlockDevice (Maybe VolumeType)+ebdVolumeType = lens _ebdVolumeType (\ s a -> s{_ebdVolumeType = a});++-- | The ID of the snapshot.+ebdSnapshotId :: Lens' EBSBlockDevice (Maybe Text)+ebdSnapshotId = lens _ebdSnapshotId (\ s a -> s{_ebdSnapshotId = a});++instance FromXML EBSBlockDevice where+ parseXML x+ = EBSBlockDevice' <$>+ (x .@? "deleteOnTermination") <*>+ (x .@? "volumeSize")+ <*> (x .@? "iops")+ <*> (x .@? "encrypted")+ <*> (x .@? "volumeType")+ <*> (x .@? "snapshotId")++instance Hashable EBSBlockDevice++instance ToQuery EBSBlockDevice where+ toQuery EBSBlockDevice'{..}+ = mconcat+ ["DeleteOnTermination" =: _ebdDeleteOnTermination,+ "VolumeSize" =: _ebdVolumeSize, "Iops" =: _ebdIOPS,+ "Encrypted" =: _ebdEncrypted,+ "VolumeType" =: _ebdVolumeType,+ "SnapshotId" =: _ebdSnapshotId]++-- | Describes a parameter used to set up an EBS volume in a block device+-- mapping.+--+-- /See:/ 'ebsInstanceBlockDevice' smart constructor.+data EBSInstanceBlockDevice = EBSInstanceBlockDevice'+ { _eibdStatus :: !(Maybe AttachmentStatus)+ , _eibdDeleteOnTermination :: !(Maybe Bool)+ , _eibdVolumeId :: !(Maybe Text)+ , _eibdAttachTime :: !(Maybe ISO8601)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EBSInstanceBlockDevice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eibdStatus'+--+-- * 'eibdDeleteOnTermination'+--+-- * 'eibdVolumeId'+--+-- * 'eibdAttachTime'+ebsInstanceBlockDevice+ :: EBSInstanceBlockDevice+ebsInstanceBlockDevice =+ EBSInstanceBlockDevice'+ { _eibdStatus = Nothing+ , _eibdDeleteOnTermination = Nothing+ , _eibdVolumeId = Nothing+ , _eibdAttachTime = Nothing+ }++-- | The attachment state.+eibdStatus :: Lens' EBSInstanceBlockDevice (Maybe AttachmentStatus)+eibdStatus = lens _eibdStatus (\ s a -> s{_eibdStatus = a});++-- | Indicates whether the volume is deleted on instance termination.+eibdDeleteOnTermination :: Lens' EBSInstanceBlockDevice (Maybe Bool)+eibdDeleteOnTermination = lens _eibdDeleteOnTermination (\ s a -> s{_eibdDeleteOnTermination = a});++-- | The ID of the EBS volume.+eibdVolumeId :: Lens' EBSInstanceBlockDevice (Maybe Text)+eibdVolumeId = lens _eibdVolumeId (\ s a -> s{_eibdVolumeId = a});++-- | The time stamp when the attachment initiated.+eibdAttachTime :: Lens' EBSInstanceBlockDevice (Maybe UTCTime)+eibdAttachTime = lens _eibdAttachTime (\ s a -> s{_eibdAttachTime = a}) . mapping _Time;++instance FromXML EBSInstanceBlockDevice where+ parseXML x+ = EBSInstanceBlockDevice' <$>+ (x .@? "status") <*> (x .@? "deleteOnTermination")+ <*> (x .@? "volumeId")+ <*> (x .@? "attachTime")++instance Hashable EBSInstanceBlockDevice++-- | /See:/ 'ebsInstanceBlockDeviceSpecification' smart constructor.+data EBSInstanceBlockDeviceSpecification = EBSInstanceBlockDeviceSpecification'+ { _eibdsDeleteOnTermination :: !(Maybe Bool)+ , _eibdsVolumeId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EBSInstanceBlockDeviceSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eibdsDeleteOnTermination'+--+-- * 'eibdsVolumeId'+ebsInstanceBlockDeviceSpecification+ :: EBSInstanceBlockDeviceSpecification+ebsInstanceBlockDeviceSpecification =+ EBSInstanceBlockDeviceSpecification'+ { _eibdsDeleteOnTermination = Nothing+ , _eibdsVolumeId = Nothing+ }++-- | Indicates whether the volume is deleted on instance termination.+eibdsDeleteOnTermination :: Lens' EBSInstanceBlockDeviceSpecification (Maybe Bool)+eibdsDeleteOnTermination = lens _eibdsDeleteOnTermination (\ s a -> s{_eibdsDeleteOnTermination = a});++-- | The ID of the EBS volume.+eibdsVolumeId :: Lens' EBSInstanceBlockDeviceSpecification (Maybe Text)+eibdsVolumeId = lens _eibdsVolumeId (\ s a -> s{_eibdsVolumeId = a});++instance Hashable EBSInstanceBlockDeviceSpecification++instance ToQuery EBSInstanceBlockDeviceSpecification+ where+ toQuery EBSInstanceBlockDeviceSpecification'{..}+ = mconcat+ ["DeleteOnTermination" =: _eibdsDeleteOnTermination,+ "VolumeId" =: _eibdsVolumeId]++-- | Describes a Spot fleet event.+--+-- /See:/ 'eventInformation' smart constructor.+data EventInformation = EventInformation'+ { _eiInstanceId :: !(Maybe Text)+ , _eiEventDescription :: !(Maybe Text)+ , _eiEventSubType :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventInformation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eiInstanceId'+--+-- * 'eiEventDescription'+--+-- * 'eiEventSubType'+eventInformation+ :: EventInformation+eventInformation =+ EventInformation'+ { _eiInstanceId = Nothing+ , _eiEventDescription = Nothing+ , _eiEventSubType = Nothing+ }++-- | The ID of the instance. This information is available only for+-- 'instanceChange' events.+eiInstanceId :: Lens' EventInformation (Maybe Text)+eiInstanceId = lens _eiInstanceId (\ s a -> s{_eiInstanceId = a});++-- | The description of the event.+eiEventDescription :: Lens' EventInformation (Maybe Text)+eiEventDescription = lens _eiEventDescription (\ s a -> s{_eiEventDescription = a});++-- | The event.+--+-- The following are the 'error' events.+--+-- - 'iamFleetRoleInvalid' - The Spot fleet did not have the required+-- permissions either to launch or terminate an instance.+--+-- - 'launchSpecTemporarilyBlacklisted' - The configuration is not valid+-- and several attempts to launch instances have failed. For more+-- information, see the description of the event.+--+-- - 'spotFleetRequestConfigurationInvalid' - The configuration is not+-- valid. For more information, see the description of the event.+--+-- - 'spotInstanceCountLimitExceeded' - You\'ve reached the limit on the+-- number of Spot instances that you can launch.+--+-- The following are the 'fleetRequestChange' events.+--+-- - 'active' - The Spot fleet has been validated and Amazon EC2 is+-- attempting to maintain the target number of running Spot instances.+--+-- - 'cancelled' - The Spot fleet is canceled and has no running Spot+-- instances. The Spot fleet will be deleted two days after its+-- instances were terminated.+--+-- - 'cancelled_running' - The Spot fleet is canceled and will not launch+-- additional Spot instances, but its existing Spot instances continue+-- to run until they are interrupted or terminated.+--+-- - 'cancelled_terminating' - The Spot fleet is canceled and its Spot+-- instances are terminating.+--+-- - 'expired' - The Spot fleet request has expired. A subsequent event+-- indicates that the instances were terminated, if the request was+-- created with 'TerminateInstancesWithExpiration' set.+--+-- - 'modify_in_progress' - A request to modify the Spot fleet request+-- was accepted and is in progress.+--+-- - 'modify_successful' - The Spot fleet request was modified.+--+-- - 'price_update' - The bid price for a launch configuration was+-- adjusted because it was too high. This change is permanent.+--+-- - 'submitted' - The Spot fleet request is being evaluated and Amazon+-- EC2 is preparing to launch the target number of Spot instances.+--+-- The following are the 'instanceChange' events.+--+-- - 'launched' - A bid was fulfilled and a new instance was launched.+--+-- - 'terminated' - An instance was terminated by the user.+--+eiEventSubType :: Lens' EventInformation (Maybe Text)+eiEventSubType = lens _eiEventSubType (\ s a -> s{_eiEventSubType = a});++instance FromXML EventInformation where+ parseXML x+ = EventInformation' <$>+ (x .@? "instanceId") <*> (x .@? "eventDescription")+ <*> (x .@? "eventSubType")++instance Hashable EventInformation++-- | Describes an instance export task.+--+-- /See:/ 'exportTask' smart constructor.+data ExportTask = ExportTask'+ { _etDescription :: !Text+ , _etExportTaskId :: !Text+ , _etExportToS3Task :: !ExportToS3Task+ , _etInstanceExportDetails :: !InstanceExportDetails+ , _etState :: !ExportTaskState+ , _etStatusMessage :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExportTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etDescription'+--+-- * 'etExportTaskId'+--+-- * 'etExportToS3Task'+--+-- * 'etInstanceExportDetails'+--+-- * 'etState'+--+-- * 'etStatusMessage'+exportTask+ :: Text -- ^ 'etDescription'+ -> Text -- ^ 'etExportTaskId'+ -> ExportToS3Task -- ^ 'etExportToS3Task'+ -> InstanceExportDetails -- ^ 'etInstanceExportDetails'+ -> ExportTaskState -- ^ 'etState'+ -> Text -- ^ 'etStatusMessage'+ -> ExportTask+exportTask pDescription_ pExportTaskId_ pExportToS3Task_ pInstanceExportDetails_ pState_ pStatusMessage_ =+ ExportTask'+ { _etDescription = pDescription_+ , _etExportTaskId = pExportTaskId_+ , _etExportToS3Task = pExportToS3Task_+ , _etInstanceExportDetails = pInstanceExportDetails_+ , _etState = pState_+ , _etStatusMessage = pStatusMessage_+ }++-- | A description of the resource being exported.+etDescription :: Lens' ExportTask Text+etDescription = lens _etDescription (\ s a -> s{_etDescription = a});++-- | The ID of the export task.+etExportTaskId :: Lens' ExportTask Text+etExportTaskId = lens _etExportTaskId (\ s a -> s{_etExportTaskId = a});++-- | Information about the export task.+etExportToS3Task :: Lens' ExportTask ExportToS3Task+etExportToS3Task = lens _etExportToS3Task (\ s a -> s{_etExportToS3Task = a});++-- | Information about the instance to export.+etInstanceExportDetails :: Lens' ExportTask InstanceExportDetails+etInstanceExportDetails = lens _etInstanceExportDetails (\ s a -> s{_etInstanceExportDetails = a});++-- | The state of the export task.+etState :: Lens' ExportTask ExportTaskState+etState = lens _etState (\ s a -> s{_etState = a});++-- | The status message related to the export task.+etStatusMessage :: Lens' ExportTask Text+etStatusMessage = lens _etStatusMessage (\ s a -> s{_etStatusMessage = a});++instance FromXML ExportTask where+ parseXML x+ = ExportTask' <$>+ (x .@ "description") <*> (x .@ "exportTaskId") <*>+ (x .@ "exportToS3")+ <*> (x .@ "instanceExport")+ <*> (x .@ "state")+ <*> (x .@ "statusMessage")++instance Hashable ExportTask++-- | Describes the format and location for an instance export task.+--+-- /See:/ 'exportToS3Task' smart constructor.+data ExportToS3Task = ExportToS3Task'+ { _etstS3Key :: !(Maybe Text)+ , _etstContainerFormat :: !(Maybe ContainerFormat)+ , _etstS3Bucket :: !(Maybe Text)+ , _etstDiskImageFormat :: !(Maybe DiskImageFormat)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExportToS3Task' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etstS3Key'+--+-- * 'etstContainerFormat'+--+-- * 'etstS3Bucket'+--+-- * 'etstDiskImageFormat'+exportToS3Task+ :: ExportToS3Task+exportToS3Task =+ ExportToS3Task'+ { _etstS3Key = Nothing+ , _etstContainerFormat = Nothing+ , _etstS3Bucket = Nothing+ , _etstDiskImageFormat = Nothing+ }++-- | The encryption key for your S3 bucket.+etstS3Key :: Lens' ExportToS3Task (Maybe Text)+etstS3Key = lens _etstS3Key (\ s a -> s{_etstS3Key = a});++-- | The container format used to combine disk images with metadata (such as+-- OVF). If absent, only the disk image is exported.+etstContainerFormat :: Lens' ExportToS3Task (Maybe ContainerFormat)+etstContainerFormat = lens _etstContainerFormat (\ s a -> s{_etstContainerFormat = a});++-- | The S3 bucket for the destination image. The destination bucket must+-- exist and grant WRITE and READ_ACP permissions to the AWS account+-- 'vm-import-export\'amazon.com'.+etstS3Bucket :: Lens' ExportToS3Task (Maybe Text)+etstS3Bucket = lens _etstS3Bucket (\ s a -> s{_etstS3Bucket = a});++-- | The format for the exported image.+etstDiskImageFormat :: Lens' ExportToS3Task (Maybe DiskImageFormat)+etstDiskImageFormat = lens _etstDiskImageFormat (\ s a -> s{_etstDiskImageFormat = a});++instance FromXML ExportToS3Task where+ parseXML x+ = ExportToS3Task' <$>+ (x .@? "s3Key") <*> (x .@? "containerFormat") <*>+ (x .@? "s3Bucket")+ <*> (x .@? "diskImageFormat")++instance Hashable ExportToS3Task++-- | Describes an instance export task.+--+-- /See:/ 'exportToS3TaskSpecification' smart constructor.+data ExportToS3TaskSpecification = ExportToS3TaskSpecification'+ { _etstsContainerFormat :: !(Maybe ContainerFormat)+ , _etstsS3Prefix :: !(Maybe Text)+ , _etstsS3Bucket :: !(Maybe Text)+ , _etstsDiskImageFormat :: !(Maybe DiskImageFormat)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExportToS3TaskSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etstsContainerFormat'+--+-- * 'etstsS3Prefix'+--+-- * 'etstsS3Bucket'+--+-- * 'etstsDiskImageFormat'+exportToS3TaskSpecification+ :: ExportToS3TaskSpecification+exportToS3TaskSpecification =+ ExportToS3TaskSpecification'+ { _etstsContainerFormat = Nothing+ , _etstsS3Prefix = Nothing+ , _etstsS3Bucket = Nothing+ , _etstsDiskImageFormat = Nothing+ }++-- | The container format used to combine disk images with metadata (such as+-- OVF). If absent, only the disk image is exported.+etstsContainerFormat :: Lens' ExportToS3TaskSpecification (Maybe ContainerFormat)+etstsContainerFormat = lens _etstsContainerFormat (\ s a -> s{_etstsContainerFormat = a});++-- | The image is written to a single object in the S3 bucket at the S3 key+-- s3prefix + exportTaskId + \'.\' + diskImageFormat.+etstsS3Prefix :: Lens' ExportToS3TaskSpecification (Maybe Text)+etstsS3Prefix = lens _etstsS3Prefix (\ s a -> s{_etstsS3Prefix = a});++-- | The S3 bucket for the destination image. The destination bucket must+-- exist and grant WRITE and READ_ACP permissions to the AWS account+-- 'vm-import-export\'amazon.com'.+etstsS3Bucket :: Lens' ExportToS3TaskSpecification (Maybe Text)+etstsS3Bucket = lens _etstsS3Bucket (\ s a -> s{_etstsS3Bucket = a});++-- | The format for the exported image.+etstsDiskImageFormat :: Lens' ExportToS3TaskSpecification (Maybe DiskImageFormat)+etstsDiskImageFormat = lens _etstsDiskImageFormat (\ s a -> s{_etstsDiskImageFormat = a});++instance Hashable ExportToS3TaskSpecification++instance ToQuery ExportToS3TaskSpecification where+ toQuery ExportToS3TaskSpecification'{..}+ = mconcat+ ["ContainerFormat" =: _etstsContainerFormat,+ "S3Prefix" =: _etstsS3Prefix,+ "S3Bucket" =: _etstsS3Bucket,+ "DiskImageFormat" =: _etstsDiskImageFormat]++-- | A filter name and value pair that is used to return a more specific list+-- of results. Filters can be used to match a set of resources by various+-- criteria, such as tags, attributes, or IDs.+--+-- /See:/ 'filter'' smart constructor.+data Filter = Filter'+ { _fValues :: !(Maybe [Text])+ , _fName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Filter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fValues'+--+-- * 'fName'+filter'+ :: Text -- ^ 'fName'+ -> Filter+filter' pName_ =+ Filter'+ { _fValues = Nothing+ , _fName = pName_+ }++-- | One or more filter values. Filter values are case-sensitive.+fValues :: Lens' Filter [Text]+fValues = lens _fValues (\ s a -> s{_fValues = a}) . _Default . _Coerce;++-- | The name of the filter. Filter names are case-sensitive.+fName :: Lens' Filter Text+fName = lens _fName (\ s a -> s{_fName = a});++instance Hashable Filter++instance ToQuery Filter where+ toQuery Filter'{..}+ = mconcat+ [toQuery (toQueryList "Value" <$> _fValues),+ "Name" =: _fName]++-- | Describes a flow log.+--+-- /See:/ 'flowLog' smart constructor.+data FlowLog = FlowLog'+ { _flCreationTime :: !(Maybe ISO8601)+ , _flResourceId :: !(Maybe Text)+ , _flFlowLogStatus :: !(Maybe Text)+ , _flTrafficType :: !(Maybe TrafficType)+ , _flDeliverLogsStatus :: !(Maybe Text)+ , _flDeliverLogsErrorMessage :: !(Maybe Text)+ , _flLogGroupName :: !(Maybe Text)+ , _flDeliverLogsPermissionARN :: !(Maybe Text)+ , _flFlowLogId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'FlowLog' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flCreationTime'+--+-- * 'flResourceId'+--+-- * 'flFlowLogStatus'+--+-- * 'flTrafficType'+--+-- * 'flDeliverLogsStatus'+--+-- * 'flDeliverLogsErrorMessage'+--+-- * 'flLogGroupName'+--+-- * 'flDeliverLogsPermissionARN'+--+-- * 'flFlowLogId'+flowLog+ :: FlowLog+flowLog =+ FlowLog'+ { _flCreationTime = Nothing+ , _flResourceId = Nothing+ , _flFlowLogStatus = Nothing+ , _flTrafficType = Nothing+ , _flDeliverLogsStatus = Nothing+ , _flDeliverLogsErrorMessage = Nothing+ , _flLogGroupName = Nothing+ , _flDeliverLogsPermissionARN = Nothing+ , _flFlowLogId = Nothing+ }++-- | The date and time the flow log was created.+flCreationTime :: Lens' FlowLog (Maybe UTCTime)+flCreationTime = lens _flCreationTime (\ s a -> s{_flCreationTime = a}) . mapping _Time;++-- | The ID of the resource on which the flow log was created.+flResourceId :: Lens' FlowLog (Maybe Text)+flResourceId = lens _flResourceId (\ s a -> s{_flResourceId = a});++-- | The status of the flow log ('ACTIVE').+flFlowLogStatus :: Lens' FlowLog (Maybe Text)+flFlowLogStatus = lens _flFlowLogStatus (\ s a -> s{_flFlowLogStatus = a});++-- | The type of traffic captured for the flow log.+flTrafficType :: Lens' FlowLog (Maybe TrafficType)+flTrafficType = lens _flTrafficType (\ s a -> s{_flTrafficType = a});++-- | The status of the logs delivery ('SUCCESS' | 'FAILED').+flDeliverLogsStatus :: Lens' FlowLog (Maybe Text)+flDeliverLogsStatus = lens _flDeliverLogsStatus (\ s a -> s{_flDeliverLogsStatus = a});++-- | Information about the error that occurred. 'Rate limited' indicates that+-- CloudWatch logs throttling has been applied for one or more network+-- interfaces, or that you\'ve reached the limit on the number of+-- CloudWatch Logs log groups that you can create. 'Access error' indicates+-- that the IAM role associated with the flow log does not have sufficient+-- permissions to publish to CloudWatch Logs. 'Unknown error' indicates an+-- internal error.+flDeliverLogsErrorMessage :: Lens' FlowLog (Maybe Text)+flDeliverLogsErrorMessage = lens _flDeliverLogsErrorMessage (\ s a -> s{_flDeliverLogsErrorMessage = a});++-- | The name of the flow log group.+flLogGroupName :: Lens' FlowLog (Maybe Text)+flLogGroupName = lens _flLogGroupName (\ s a -> s{_flLogGroupName = a});++-- | The ARN of the IAM role that posts logs to CloudWatch Logs.+flDeliverLogsPermissionARN :: Lens' FlowLog (Maybe Text)+flDeliverLogsPermissionARN = lens _flDeliverLogsPermissionARN (\ s a -> s{_flDeliverLogsPermissionARN = a});++-- | The flow log ID.+flFlowLogId :: Lens' FlowLog (Maybe Text)+flFlowLogId = lens _flFlowLogId (\ s a -> s{_flFlowLogId = a});++instance FromXML FlowLog where+ parseXML x+ = FlowLog' <$>+ (x .@? "creationTime") <*> (x .@? "resourceId") <*>+ (x .@? "flowLogStatus")+ <*> (x .@? "trafficType")+ <*> (x .@? "deliverLogsStatus")+ <*> (x .@? "deliverLogsErrorMessage")+ <*> (x .@? "logGroupName")+ <*> (x .@? "deliverLogsPermissionArn")+ <*> (x .@? "flowLogId")++instance Hashable FlowLog++-- | Describes a security group.+--+-- /See:/ 'groupIdentifier' smart constructor.+data GroupIdentifier = GroupIdentifier'+ { _giGroupId :: !(Maybe Text)+ , _giGroupName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupIdentifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giGroupId'+--+-- * 'giGroupName'+groupIdentifier+ :: GroupIdentifier+groupIdentifier =+ GroupIdentifier'+ { _giGroupId = Nothing+ , _giGroupName = Nothing+ }++-- | The ID of the security group.+giGroupId :: Lens' GroupIdentifier (Maybe Text)+giGroupId = lens _giGroupId (\ s a -> s{_giGroupId = a});++-- | The name of the security group.+giGroupName :: Lens' GroupIdentifier (Maybe Text)+giGroupName = lens _giGroupName (\ s a -> s{_giGroupName = a});++instance FromXML GroupIdentifier where+ parseXML x+ = GroupIdentifier' <$>+ (x .@? "groupId") <*> (x .@? "groupName")++instance Hashable GroupIdentifier++instance ToQuery GroupIdentifier where+ toQuery GroupIdentifier'{..}+ = mconcat+ ["GroupId" =: _giGroupId,+ "GroupName" =: _giGroupName]++-- | Describes an event in the history of the Spot fleet request.+--+-- /See:/ 'historyRecord' smart constructor.+data HistoryRecord = HistoryRecord'+ { _hrTimestamp :: !ISO8601+ , _hrEventType :: !EventType+ , _hrEventInformation :: !EventInformation+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'HistoryRecord' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hrTimestamp'+--+-- * 'hrEventType'+--+-- * 'hrEventInformation'+historyRecord+ :: UTCTime -- ^ 'hrTimestamp'+ -> EventType -- ^ 'hrEventType'+ -> EventInformation -- ^ 'hrEventInformation'+ -> HistoryRecord+historyRecord pTimestamp_ pEventType_ pEventInformation_ =+ HistoryRecord'+ { _hrTimestamp = _Time # pTimestamp_+ , _hrEventType = pEventType_+ , _hrEventInformation = pEventInformation_+ }++-- | The date and time of the event, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).+hrTimestamp :: Lens' HistoryRecord UTCTime+hrTimestamp = lens _hrTimestamp (\ s a -> s{_hrTimestamp = a}) . _Time;++-- | The event type.+--+-- - 'error' - Indicates an error with the Spot fleet request.+--+-- - 'fleetRequestChange' - Indicates a change in the status or+-- configuration of the Spot fleet request.+--+-- - 'instanceChange' - Indicates that an instance was launched or+-- terminated.+--+hrEventType :: Lens' HistoryRecord EventType+hrEventType = lens _hrEventType (\ s a -> s{_hrEventType = a});++-- | Information about the event.+hrEventInformation :: Lens' HistoryRecord EventInformation+hrEventInformation = lens _hrEventInformation (\ s a -> s{_hrEventInformation = a});++instance FromXML HistoryRecord where+ parseXML x+ = HistoryRecord' <$>+ (x .@ "timestamp") <*> (x .@ "eventType") <*>+ (x .@ "eventInformation")++instance Hashable HistoryRecord++-- | Describes the properties of the Dedicated host.+--+-- /See:/ 'host' smart constructor.+data Host = Host'+ { _hState :: !(Maybe AllocationState)+ , _hClientToken :: !(Maybe Text)+ , _hHostId :: !(Maybe Text)+ , _hAvailableCapacity :: !(Maybe AvailableCapacity)+ , _hHostReservationId :: !(Maybe Text)+ , _hHostProperties :: !(Maybe HostProperties)+ , _hAvailabilityZone :: !(Maybe Text)+ , _hInstances :: !(Maybe [HostInstance])+ , _hAutoPlacement :: !(Maybe AutoPlacement)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Host' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hState'+--+-- * 'hClientToken'+--+-- * 'hHostId'+--+-- * 'hAvailableCapacity'+--+-- * 'hHostReservationId'+--+-- * 'hHostProperties'+--+-- * 'hAvailabilityZone'+--+-- * 'hInstances'+--+-- * 'hAutoPlacement'+host+ :: Host+host =+ Host'+ { _hState = Nothing+ , _hClientToken = Nothing+ , _hHostId = Nothing+ , _hAvailableCapacity = Nothing+ , _hHostReservationId = Nothing+ , _hHostProperties = Nothing+ , _hAvailabilityZone = Nothing+ , _hInstances = Nothing+ , _hAutoPlacement = Nothing+ }++-- | The Dedicated host\'s state.+hState :: Lens' Host (Maybe AllocationState)+hState = lens _hState (\ s a -> s{_hState = a});++-- | Unique, case-sensitive identifier you provide to ensure idempotency of+-- the request. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to Ensure Idempotency>+-- in the /Amazon Elastic Compute Cloud User Guide/.+hClientToken :: Lens' Host (Maybe Text)+hClientToken = lens _hClientToken (\ s a -> s{_hClientToken = a});++-- | The ID of the Dedicated host.+hHostId :: Lens' Host (Maybe Text)+hHostId = lens _hHostId (\ s a -> s{_hHostId = a});++-- | The number of new instances that can be launched onto the Dedicated+-- host.+hAvailableCapacity :: Lens' Host (Maybe AvailableCapacity)+hAvailableCapacity = lens _hAvailableCapacity (\ s a -> s{_hAvailableCapacity = a});++-- | The reservation ID of the Dedicated host. This returns a 'null' response+-- if the Dedicated host doesn\'t have an associated reservation.+hHostReservationId :: Lens' Host (Maybe Text)+hHostReservationId = lens _hHostReservationId (\ s a -> s{_hHostReservationId = a});++-- | The hardware specifications of the Dedicated host.+hHostProperties :: Lens' Host (Maybe HostProperties)+hHostProperties = lens _hHostProperties (\ s a -> s{_hHostProperties = a});++-- | The Availability Zone of the Dedicated host.+hAvailabilityZone :: Lens' Host (Maybe Text)+hAvailabilityZone = lens _hAvailabilityZone (\ s a -> s{_hAvailabilityZone = a});++-- | The IDs and instance type that are currently running on the Dedicated+-- host.+hInstances :: Lens' Host [HostInstance]+hInstances = lens _hInstances (\ s a -> s{_hInstances = a}) . _Default . _Coerce;++-- | Whether auto-placement is on or off.+hAutoPlacement :: Lens' Host (Maybe AutoPlacement)+hAutoPlacement = lens _hAutoPlacement (\ s a -> s{_hAutoPlacement = a});++instance FromXML Host where+ parseXML x+ = Host' <$>+ (x .@? "state") <*> (x .@? "clientToken") <*>+ (x .@? "hostId")+ <*> (x .@? "availableCapacity")+ <*> (x .@? "hostReservationId")+ <*> (x .@? "hostProperties")+ <*> (x .@? "availabilityZone")+ <*>+ (x .@? "instances" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "autoPlacement")++instance Hashable Host++-- | /See:/ 'hostInstance' smart constructor.+data HostInstance = HostInstance'+ { _hiInstanceId :: !(Maybe Text)+ , _hiInstanceType :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'HostInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hiInstanceId'+--+-- * 'hiInstanceType'+hostInstance+ :: HostInstance+hostInstance =+ HostInstance'+ { _hiInstanceId = Nothing+ , _hiInstanceType = Nothing+ }++-- | the IDs of instances that are running on the Dedicated host.+hiInstanceId :: Lens' HostInstance (Maybe Text)+hiInstanceId = lens _hiInstanceId (\ s a -> s{_hiInstanceId = a});++-- | The instance type size (e.g., m3.medium) of the running instance.+hiInstanceType :: Lens' HostInstance (Maybe Text)+hiInstanceType = lens _hiInstanceType (\ s a -> s{_hiInstanceType = a});++instance FromXML HostInstance where+ parseXML x+ = HostInstance' <$>+ (x .@? "instanceId") <*> (x .@? "instanceType")++instance Hashable HostInstance++-- | /See:/ 'hostProperties' smart constructor.+data HostProperties = HostProperties'+ { _hpInstanceType :: !(Maybe Text)+ , _hpTotalVCPUs :: !(Maybe Int)+ , _hpCores :: !(Maybe Int)+ , _hpSockets :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'HostProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hpInstanceType'+--+-- * 'hpTotalVCPUs'+--+-- * 'hpCores'+--+-- * 'hpSockets'+hostProperties+ :: HostProperties+hostProperties =+ HostProperties'+ { _hpInstanceType = Nothing+ , _hpTotalVCPUs = Nothing+ , _hpCores = Nothing+ , _hpSockets = Nothing+ }++-- | The instance type size that the Dedicated host supports (e.g.,+-- m3.medium).+hpInstanceType :: Lens' HostProperties (Maybe Text)+hpInstanceType = lens _hpInstanceType (\ s a -> s{_hpInstanceType = a});++-- | The number of vCPUs on the Dedicated host.+hpTotalVCPUs :: Lens' HostProperties (Maybe Int)+hpTotalVCPUs = lens _hpTotalVCPUs (\ s a -> s{_hpTotalVCPUs = a});++-- | The number of cores on the Dedicated host.+hpCores :: Lens' HostProperties (Maybe Int)+hpCores = lens _hpCores (\ s a -> s{_hpCores = a});++-- | The number of sockets on the Dedicated host.+hpSockets :: Lens' HostProperties (Maybe Int)+hpSockets = lens _hpSockets (\ s a -> s{_hpSockets = a});++instance FromXML HostProperties where+ parseXML x+ = HostProperties' <$>+ (x .@? "instanceType") <*> (x .@? "totalVCpus") <*>+ (x .@? "cores")+ <*> (x .@? "sockets")++instance Hashable HostProperties++-- | Describes an IAM instance profile.+--+-- /See:/ 'iamInstanceProfile' smart constructor.+data IAMInstanceProfile = IAMInstanceProfile'+ { _iapARN :: !(Maybe Text)+ , _iapId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IAMInstanceProfile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iapARN'+--+-- * 'iapId'+iamInstanceProfile+ :: IAMInstanceProfile+iamInstanceProfile =+ IAMInstanceProfile'+ { _iapARN = Nothing+ , _iapId = Nothing+ }++-- | The Amazon Resource Name (ARN) of the instance profile.+iapARN :: Lens' IAMInstanceProfile (Maybe Text)+iapARN = lens _iapARN (\ s a -> s{_iapARN = a});++-- | The ID of the instance profile.+iapId :: Lens' IAMInstanceProfile (Maybe Text)+iapId = lens _iapId (\ s a -> s{_iapId = a});++instance FromXML IAMInstanceProfile where+ parseXML x+ = IAMInstanceProfile' <$>+ (x .@? "arn") <*> (x .@? "id")++instance Hashable IAMInstanceProfile++-- | Describes an IAM instance profile.+--+-- /See:/ 'iamInstanceProfileSpecification' smart constructor.+data IAMInstanceProfileSpecification = IAMInstanceProfileSpecification'+ { _iapsARN :: !(Maybe Text)+ , _iapsName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IAMInstanceProfileSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iapsARN'+--+-- * 'iapsName'+iamInstanceProfileSpecification+ :: IAMInstanceProfileSpecification+iamInstanceProfileSpecification =+ IAMInstanceProfileSpecification'+ { _iapsARN = Nothing+ , _iapsName = Nothing+ }++-- | The Amazon Resource Name (ARN) of the instance profile.+iapsARN :: Lens' IAMInstanceProfileSpecification (Maybe Text)+iapsARN = lens _iapsARN (\ s a -> s{_iapsARN = a});++-- | The name of the instance profile.+iapsName :: Lens' IAMInstanceProfileSpecification (Maybe Text)+iapsName = lens _iapsName (\ s a -> s{_iapsName = a});++instance FromXML IAMInstanceProfileSpecification+ where+ parseXML x+ = IAMInstanceProfileSpecification' <$>+ (x .@? "arn") <*> (x .@? "name")++instance Hashable IAMInstanceProfileSpecification++instance ToQuery IAMInstanceProfileSpecification+ where+ toQuery IAMInstanceProfileSpecification'{..}+ = mconcat ["Arn" =: _iapsARN, "Name" =: _iapsName]++-- | Describes the ICMP type and code.+--+-- /See:/ 'icmpTypeCode' smart constructor.+data ICMPTypeCode = ICMPTypeCode'+ { _itcCode :: !(Maybe Int)+ , _itcType :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ICMPTypeCode' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'itcCode'+--+-- * 'itcType'+icmpTypeCode+ :: ICMPTypeCode+icmpTypeCode =+ ICMPTypeCode'+ { _itcCode = Nothing+ , _itcType = Nothing+ }++-- | The ICMP type. A value of -1 means all types.+itcCode :: Lens' ICMPTypeCode (Maybe Int)+itcCode = lens _itcCode (\ s a -> s{_itcCode = a});++-- | The ICMP code. A value of -1 means all codes for the specified ICMP+-- type.+itcType :: Lens' ICMPTypeCode (Maybe Int)+itcType = lens _itcType (\ s a -> s{_itcType = a});++instance FromXML ICMPTypeCode where+ parseXML x+ = ICMPTypeCode' <$> (x .@? "code") <*> (x .@? "type")++instance Hashable ICMPTypeCode++instance ToQuery ICMPTypeCode where+ toQuery ICMPTypeCode'{..}+ = mconcat ["Code" =: _itcCode, "Type" =: _itcType]++-- | Describes a security group rule.+--+-- /See:/ 'ipPermission' smart constructor.+data IPPermission = IPPermission'+ { _ipFromPort :: !(Maybe Int)+ , _ipUserIdGroupPairs :: !(Maybe [UserIdGroupPair])+ , _ipPrefixListIds :: !(Maybe [PrefixListId])+ , _ipToPort :: !(Maybe Int)+ , _ipIPRanges :: !(Maybe [IPRange])+ , _ipIPProtocol :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IPPermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipFromPort'+--+-- * 'ipUserIdGroupPairs'+--+-- * 'ipPrefixListIds'+--+-- * 'ipToPort'+--+-- * 'ipIPRanges'+--+-- * 'ipIPProtocol'+ipPermission+ :: Text -- ^ 'ipIPProtocol'+ -> IPPermission+ipPermission pIPProtocol_ =+ IPPermission'+ { _ipFromPort = Nothing+ , _ipUserIdGroupPairs = Nothing+ , _ipPrefixListIds = Nothing+ , _ipToPort = Nothing+ , _ipIPRanges = Nothing+ , _ipIPProtocol = pIPProtocol_+ }++-- | The start of port range for the TCP and UDP protocols, or an ICMP type+-- number. A value of '-1' indicates all ICMP types.+ipFromPort :: Lens' IPPermission (Maybe Int)+ipFromPort = lens _ipFromPort (\ s a -> s{_ipFromPort = a});++-- | One or more security group and AWS account ID pairs.+ipUserIdGroupPairs :: Lens' IPPermission [UserIdGroupPair]+ipUserIdGroupPairs = lens _ipUserIdGroupPairs (\ s a -> s{_ipUserIdGroupPairs = a}) . _Default . _Coerce;++-- | (Valid for < AuthorizeSecurityGroupEgress>, < RevokeSecurityGroupEgress>+-- and < DescribeSecurityGroups> only) One or more prefix list IDs for an+-- AWS service. In an < AuthorizeSecurityGroupEgress> request, this is the+-- AWS service that you want to access through a VPC endpoint from+-- instances associated with the security group.+ipPrefixListIds :: Lens' IPPermission [PrefixListId]+ipPrefixListIds = lens _ipPrefixListIds (\ s a -> s{_ipPrefixListIds = a}) . _Default . _Coerce;++-- | The end of port range for the TCP and UDP protocols, or an ICMP code. A+-- value of '-1' indicates all ICMP codes for the specified ICMP type.+ipToPort :: Lens' IPPermission (Maybe Int)+ipToPort = lens _ipToPort (\ s a -> s{_ipToPort = a});++-- | One or more IP ranges.+ipIPRanges :: Lens' IPPermission [IPRange]+ipIPRanges = lens _ipIPRanges (\ s a -> s{_ipIPRanges = a}) . _Default . _Coerce;++-- | The IP protocol name (for 'tcp', 'udp', and 'icmp') or number (see+-- <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>).+--+-- [EC2-VPC only] When you authorize or revoke security group rules, you+-- can use '-1' to specify all.+ipIPProtocol :: Lens' IPPermission Text+ipIPProtocol = lens _ipIPProtocol (\ s a -> s{_ipIPProtocol = a});++instance FromXML IPPermission where+ parseXML x+ = IPPermission' <$>+ (x .@? "fromPort") <*>+ (x .@? "groups" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "prefixListIds" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "toPort")+ <*>+ (x .@? "ipRanges" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "ipProtocol")++instance Hashable IPPermission++instance ToQuery IPPermission where+ toQuery IPPermission'{..}+ = mconcat+ ["FromPort" =: _ipFromPort,+ toQuery+ (toQueryList "Groups" <$> _ipUserIdGroupPairs),+ toQuery+ (toQueryList "PrefixListIds" <$> _ipPrefixListIds),+ "ToPort" =: _ipToPort,+ toQuery (toQueryList "IpRanges" <$> _ipIPRanges),+ "IpProtocol" =: _ipIPProtocol]++-- | Describes an IP range.+--+-- /See:/ 'ipRange' smart constructor.+newtype IPRange = IPRange'+ { _irCIdRIP :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IPRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'irCIdRIP'+ipRange+ :: Text -- ^ 'irCIdRIP'+ -> IPRange+ipRange pCIdRIP_ =+ IPRange'+ { _irCIdRIP = pCIdRIP_+ }++-- | The CIDR range. You can either specify a CIDR range or a source security+-- group, not both.+irCIdRIP :: Lens' IPRange Text+irCIdRIP = lens _irCIdRIP (\ s a -> s{_irCIdRIP = a});++instance FromXML IPRange where+ parseXML x = IPRange' <$> (x .@ "cidrIp")++instance Hashable IPRange++instance ToQuery IPRange where+ toQuery IPRange'{..}+ = mconcat ["CidrIp" =: _irCIdRIP]++-- | Describes the ID format for a resource.+--+-- /See:/ 'idFormat' smart constructor.+data IdFormat = IdFormat'+ { _ifUseLongIds :: !(Maybe Bool)+ , _ifDeadline :: !(Maybe ISO8601)+ , _ifResource :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IdFormat' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ifUseLongIds'+--+-- * 'ifDeadline'+--+-- * 'ifResource'+idFormat+ :: IdFormat+idFormat =+ IdFormat'+ { _ifUseLongIds = Nothing+ , _ifDeadline = Nothing+ , _ifResource = Nothing+ }++-- | Indicates whether longer IDs (17-character IDs) are enabled for the+-- resource.+ifUseLongIds :: Lens' IdFormat (Maybe Bool)+ifUseLongIds = lens _ifUseLongIds (\ s a -> s{_ifUseLongIds = a});++-- | The date in UTC at which you are permanently switched over to using+-- longer IDs. If a deadline is not yet available for this resource type,+-- this field is not returned.+ifDeadline :: Lens' IdFormat (Maybe UTCTime)+ifDeadline = lens _ifDeadline (\ s a -> s{_ifDeadline = a}) . mapping _Time;++-- | The type of resource.+ifResource :: Lens' IdFormat (Maybe Text)+ifResource = lens _ifResource (\ s a -> s{_ifResource = a});++instance FromXML IdFormat where+ parseXML x+ = IdFormat' <$>+ (x .@? "useLongIds") <*> (x .@? "deadline") <*>+ (x .@? "resource")++instance Hashable IdFormat++-- | Describes an image.+--+-- /See:/ 'image' smart constructor.+data Image = Image'+ { _iPlatform :: !(Maybe PlatformValues)+ , _iImageOwnerAlias :: !(Maybe Text)+ , _iRAMDiskId :: !(Maybe Text)+ , _iKernelId :: !(Maybe Text)+ , _iRootDeviceName :: !(Maybe Text)+ , _iSRIOVNetSupport :: !(Maybe Text)+ , _iName :: !(Maybe Text)+ , _iCreationDate :: !(Maybe Text)+ , _iProductCodes :: !(Maybe [ProductCode])+ , _iStateReason :: !(Maybe StateReason)+ , _iDescription :: !(Maybe Text)+ , _iBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+ , _iTags :: !(Maybe [Tag])+ , _iImageId :: !Text+ , _iImageLocation :: !Text+ , _iState :: !ImageState+ , _iOwnerId :: !Text+ , _iPublic :: !Bool+ , _iArchitecture :: !ArchitectureValues+ , _iImageType :: !ImageTypeValues+ , _iRootDeviceType :: !DeviceType+ , _iVirtualizationType :: !VirtualizationType+ , _iHypervisor :: !HypervisorType+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Image' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iPlatform'+--+-- * 'iImageOwnerAlias'+--+-- * 'iRAMDiskId'+--+-- * 'iKernelId'+--+-- * 'iRootDeviceName'+--+-- * 'iSRIOVNetSupport'+--+-- * 'iName'+--+-- * 'iCreationDate'+--+-- * 'iProductCodes'+--+-- * 'iStateReason'+--+-- * 'iDescription'+--+-- * 'iBlockDeviceMappings'+--+-- * 'iTags'+--+-- * 'iImageId'+--+-- * 'iImageLocation'+--+-- * 'iState'+--+-- * 'iOwnerId'+--+-- * 'iPublic'+--+-- * 'iArchitecture'+--+-- * 'iImageType'+--+-- * 'iRootDeviceType'+--+-- * 'iVirtualizationType'+--+-- * 'iHypervisor'+image+ :: Text -- ^ 'iImageId'+ -> Text -- ^ 'iImageLocation'+ -> ImageState -- ^ 'iState'+ -> Text -- ^ 'iOwnerId'+ -> Bool -- ^ 'iPublic'+ -> ArchitectureValues -- ^ 'iArchitecture'+ -> ImageTypeValues -- ^ 'iImageType'+ -> DeviceType -- ^ 'iRootDeviceType'+ -> VirtualizationType -- ^ 'iVirtualizationType'+ -> HypervisorType -- ^ 'iHypervisor'+ -> Image+image pImageId_ pImageLocation_ pState_ pOwnerId_ pPublic_ pArchitecture_ pImageType_ pRootDeviceType_ pVirtualizationType_ pHypervisor_ =+ Image'+ { _iPlatform = Nothing+ , _iImageOwnerAlias = Nothing+ , _iRAMDiskId = Nothing+ , _iKernelId = Nothing+ , _iRootDeviceName = Nothing+ , _iSRIOVNetSupport = Nothing+ , _iName = Nothing+ , _iCreationDate = Nothing+ , _iProductCodes = Nothing+ , _iStateReason = Nothing+ , _iDescription = Nothing+ , _iBlockDeviceMappings = Nothing+ , _iTags = Nothing+ , _iImageId = pImageId_+ , _iImageLocation = pImageLocation_+ , _iState = pState_+ , _iOwnerId = pOwnerId_+ , _iPublic = pPublic_+ , _iArchitecture = pArchitecture_+ , _iImageType = pImageType_+ , _iRootDeviceType = pRootDeviceType_+ , _iVirtualizationType = pVirtualizationType_+ , _iHypervisor = pHypervisor_+ }++-- | The value is 'Windows' for Windows AMIs; otherwise blank.+iPlatform :: Lens' Image (Maybe PlatformValues)+iPlatform = lens _iPlatform (\ s a -> s{_iPlatform = a});++-- | The AWS account alias (for example, 'amazon', 'self') or the AWS account+-- ID of the AMI owner.+iImageOwnerAlias :: Lens' Image (Maybe Text)+iImageOwnerAlias = lens _iImageOwnerAlias (\ s a -> s{_iImageOwnerAlias = a});++-- | The RAM disk associated with the image, if any. Only applicable for+-- machine images.+iRAMDiskId :: Lens' Image (Maybe Text)+iRAMDiskId = lens _iRAMDiskId (\ s a -> s{_iRAMDiskId = a});++-- | The kernel associated with the image, if any. Only applicable for+-- machine images.+iKernelId :: Lens' Image (Maybe Text)+iKernelId = lens _iKernelId (\ s a -> s{_iKernelId = a});++-- | The device name of the root device (for example, '\/dev\/sda1' or+-- '\/dev\/xvda').+iRootDeviceName :: Lens' Image (Maybe Text)+iRootDeviceName = lens _iRootDeviceName (\ s a -> s{_iRootDeviceName = a});++-- | Specifies whether enhanced networking is enabled.+iSRIOVNetSupport :: Lens' Image (Maybe Text)+iSRIOVNetSupport = lens _iSRIOVNetSupport (\ s a -> s{_iSRIOVNetSupport = a});++-- | The name of the AMI that was provided during image creation.+iName :: Lens' Image (Maybe Text)+iName = lens _iName (\ s a -> s{_iName = a});++-- | The date and time the image was created.+iCreationDate :: Lens' Image (Maybe Text)+iCreationDate = lens _iCreationDate (\ s a -> s{_iCreationDate = a});++-- | Any product codes associated with the AMI.+iProductCodes :: Lens' Image [ProductCode]+iProductCodes = lens _iProductCodes (\ s a -> s{_iProductCodes = a}) . _Default . _Coerce;++-- | The reason for the state change.+iStateReason :: Lens' Image (Maybe StateReason)+iStateReason = lens _iStateReason (\ s a -> s{_iStateReason = a});++-- | The description of the AMI that was provided during image creation.+iDescription :: Lens' Image (Maybe Text)+iDescription = lens _iDescription (\ s a -> s{_iDescription = a});++-- | Any block device mapping entries.+iBlockDeviceMappings :: Lens' Image [BlockDeviceMapping]+iBlockDeviceMappings = lens _iBlockDeviceMappings (\ s a -> s{_iBlockDeviceMappings = a}) . _Default . _Coerce;++-- | Any tags assigned to the image.+iTags :: Lens' Image [Tag]+iTags = lens _iTags (\ s a -> s{_iTags = a}) . _Default . _Coerce;++-- | The ID of the AMI.+iImageId :: Lens' Image Text+iImageId = lens _iImageId (\ s a -> s{_iImageId = a});++-- | The location of the AMI.+iImageLocation :: Lens' Image Text+iImageLocation = lens _iImageLocation (\ s a -> s{_iImageLocation = a});++-- | The current state of the AMI. If the state is 'available', the image is+-- successfully registered and can be used to launch an instance.+iState :: Lens' Image ImageState+iState = lens _iState (\ s a -> s{_iState = a});++-- | The AWS account ID of the image owner.+iOwnerId :: Lens' Image Text+iOwnerId = lens _iOwnerId (\ s a -> s{_iOwnerId = a});++-- | Indicates whether the image has public launch permissions. The value is+-- 'true' if this image has public launch permissions or 'false' if it has+-- only implicit and explicit launch permissions.+iPublic :: Lens' Image Bool+iPublic = lens _iPublic (\ s a -> s{_iPublic = a});++-- | The architecture of the image.+iArchitecture :: Lens' Image ArchitectureValues+iArchitecture = lens _iArchitecture (\ s a -> s{_iArchitecture = a});++-- | The type of image.+iImageType :: Lens' Image ImageTypeValues+iImageType = lens _iImageType (\ s a -> s{_iImageType = a});++-- | The type of root device used by the AMI. The AMI can use an EBS volume+-- or an instance store volume.+iRootDeviceType :: Lens' Image DeviceType+iRootDeviceType = lens _iRootDeviceType (\ s a -> s{_iRootDeviceType = a});++-- | The type of virtualization of the AMI.+iVirtualizationType :: Lens' Image VirtualizationType+iVirtualizationType = lens _iVirtualizationType (\ s a -> s{_iVirtualizationType = a});++-- | The hypervisor type of the image.+iHypervisor :: Lens' Image HypervisorType+iHypervisor = lens _iHypervisor (\ s a -> s{_iHypervisor = a});++instance FromXML Image where+ parseXML x+ = Image' <$>+ (x .@? "platform") <*> (x .@? "imageOwnerAlias") <*>+ (x .@? "ramdiskId")+ <*> (x .@? "kernelId")+ <*> (x .@? "rootDeviceName")+ <*> (x .@? "sriovNetSupport")+ <*> (x .@? "name")+ <*> (x .@? "creationDate")+ <*>+ (x .@? "productCodes" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "stateReason")+ <*> (x .@? "description")+ <*>+ (x .@? "blockDeviceMapping" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "imageId")+ <*> (x .@ "imageLocation")+ <*> (x .@ "imageState")+ <*> (x .@ "imageOwnerId")+ <*> (x .@ "isPublic")+ <*> (x .@ "architecture")+ <*> (x .@ "imageType")+ <*> (x .@ "rootDeviceType")+ <*> (x .@ "virtualizationType")+ <*> (x .@ "hypervisor")++instance Hashable Image++-- | Describes the disk container object for an import image task.+--+-- /See:/ 'imageDiskContainer' smart constructor.+data ImageDiskContainer = ImageDiskContainer'+ { _idcFormat :: !(Maybe Text)+ , _idcURL :: !(Maybe Text)+ , _idcDeviceName :: !(Maybe Text)+ , _idcUserBucket :: !(Maybe UserBucket)+ , _idcDescription :: !(Maybe Text)+ , _idcSnapshotId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImageDiskContainer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idcFormat'+--+-- * 'idcURL'+--+-- * 'idcDeviceName'+--+-- * 'idcUserBucket'+--+-- * 'idcDescription'+--+-- * 'idcSnapshotId'+imageDiskContainer+ :: ImageDiskContainer+imageDiskContainer =+ ImageDiskContainer'+ { _idcFormat = Nothing+ , _idcURL = Nothing+ , _idcDeviceName = Nothing+ , _idcUserBucket = Nothing+ , _idcDescription = Nothing+ , _idcSnapshotId = Nothing+ }++-- | The format of the disk image being imported.+--+-- Valid values: 'RAW' | 'VHD' | 'VMDK' | 'OVA'+idcFormat :: Lens' ImageDiskContainer (Maybe Text)+idcFormat = lens _idcFormat (\ s a -> s{_idcFormat = a});++-- | The URL to the Amazon S3-based disk image being imported. The URL can+-- either be a https URL (https:\/\/..) or an Amazon S3 URL (s3:\/\/..)+idcURL :: Lens' ImageDiskContainer (Maybe Text)+idcURL = lens _idcURL (\ s a -> s{_idcURL = a});++-- | The block device mapping for the disk.+idcDeviceName :: Lens' ImageDiskContainer (Maybe Text)+idcDeviceName = lens _idcDeviceName (\ s a -> s{_idcDeviceName = a});++-- | The S3 bucket for the disk image.+idcUserBucket :: Lens' ImageDiskContainer (Maybe UserBucket)+idcUserBucket = lens _idcUserBucket (\ s a -> s{_idcUserBucket = a});++-- | The description of the disk image.+idcDescription :: Lens' ImageDiskContainer (Maybe Text)+idcDescription = lens _idcDescription (\ s a -> s{_idcDescription = a});++-- | The ID of the EBS snapshot to be used for importing the snapshot.+idcSnapshotId :: Lens' ImageDiskContainer (Maybe Text)+idcSnapshotId = lens _idcSnapshotId (\ s a -> s{_idcSnapshotId = a});++instance Hashable ImageDiskContainer++instance ToQuery ImageDiskContainer where+ toQuery ImageDiskContainer'{..}+ = mconcat+ ["Format" =: _idcFormat, "Url" =: _idcURL,+ "DeviceName" =: _idcDeviceName,+ "UserBucket" =: _idcUserBucket,+ "Description" =: _idcDescription,+ "SnapshotId" =: _idcSnapshotId]++-- | Describes an import image task.+--+-- /See:/ 'importImageTask' smart constructor.+data ImportImageTask = ImportImageTask'+ { _iitStatus :: !(Maybe Text)+ , _iitHypervisor :: !(Maybe Text)+ , _iitPlatform :: !(Maybe Text)+ , _iitProgress :: !(Maybe Text)+ , _iitLicenseType :: !(Maybe Text)+ , _iitSnapshotDetails :: !(Maybe [SnapshotDetail])+ , _iitStatusMessage :: !(Maybe Text)+ , _iitImageId :: !(Maybe Text)+ , _iitImportTaskId :: !(Maybe Text)+ , _iitArchitecture :: !(Maybe Text)+ , _iitDescription :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportImageTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iitStatus'+--+-- * 'iitHypervisor'+--+-- * 'iitPlatform'+--+-- * 'iitProgress'+--+-- * 'iitLicenseType'+--+-- * 'iitSnapshotDetails'+--+-- * 'iitStatusMessage'+--+-- * 'iitImageId'+--+-- * 'iitImportTaskId'+--+-- * 'iitArchitecture'+--+-- * 'iitDescription'+importImageTask+ :: ImportImageTask+importImageTask =+ ImportImageTask'+ { _iitStatus = Nothing+ , _iitHypervisor = Nothing+ , _iitPlatform = Nothing+ , _iitProgress = Nothing+ , _iitLicenseType = Nothing+ , _iitSnapshotDetails = Nothing+ , _iitStatusMessage = Nothing+ , _iitImageId = Nothing+ , _iitImportTaskId = Nothing+ , _iitArchitecture = Nothing+ , _iitDescription = Nothing+ }++-- | A brief status for the import image task.+iitStatus :: Lens' ImportImageTask (Maybe Text)+iitStatus = lens _iitStatus (\ s a -> s{_iitStatus = a});++-- | The target hypervisor for the import task.+--+-- Valid values: 'xen'+iitHypervisor :: Lens' ImportImageTask (Maybe Text)+iitHypervisor = lens _iitHypervisor (\ s a -> s{_iitHypervisor = a});++-- | The description string for the import image task.+iitPlatform :: Lens' ImportImageTask (Maybe Text)+iitPlatform = lens _iitPlatform (\ s a -> s{_iitPlatform = a});++-- | The percentage of progress of the import image task.+iitProgress :: Lens' ImportImageTask (Maybe Text)+iitProgress = lens _iitProgress (\ s a -> s{_iitProgress = a});++-- | The license type of the virtual machine.+iitLicenseType :: Lens' ImportImageTask (Maybe Text)+iitLicenseType = lens _iitLicenseType (\ s a -> s{_iitLicenseType = a});++-- | Information about the snapshots.+iitSnapshotDetails :: Lens' ImportImageTask [SnapshotDetail]+iitSnapshotDetails = lens _iitSnapshotDetails (\ s a -> s{_iitSnapshotDetails = a}) . _Default . _Coerce;++-- | A descriptive status message for the import image task.+iitStatusMessage :: Lens' ImportImageTask (Maybe Text)+iitStatusMessage = lens _iitStatusMessage (\ s a -> s{_iitStatusMessage = a});++-- | The ID of the Amazon Machine Image (AMI) of the imported virtual+-- machine.+iitImageId :: Lens' ImportImageTask (Maybe Text)+iitImageId = lens _iitImageId (\ s a -> s{_iitImageId = a});++-- | The ID of the import image task.+iitImportTaskId :: Lens' ImportImageTask (Maybe Text)+iitImportTaskId = lens _iitImportTaskId (\ s a -> s{_iitImportTaskId = a});++-- | The architecture of the virtual machine.+--+-- Valid values: 'i386' | 'x86_64'+iitArchitecture :: Lens' ImportImageTask (Maybe Text)+iitArchitecture = lens _iitArchitecture (\ s a -> s{_iitArchitecture = a});++-- | A description of the import task.+iitDescription :: Lens' ImportImageTask (Maybe Text)+iitDescription = lens _iitDescription (\ s a -> s{_iitDescription = a});++instance FromXML ImportImageTask where+ parseXML x+ = ImportImageTask' <$>+ (x .@? "status") <*> (x .@? "hypervisor") <*>+ (x .@? "platform")+ <*> (x .@? "progress")+ <*> (x .@? "licenseType")+ <*>+ (x .@? "snapshotDetailSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "statusMessage")+ <*> (x .@? "imageId")+ <*> (x .@? "importTaskId")+ <*> (x .@? "architecture")+ <*> (x .@? "description")++instance Hashable ImportImageTask++-- | Describes the launch specification for VM import.+--+-- /See:/ 'importInstanceLaunchSpecification' smart constructor.+data ImportInstanceLaunchSpecification = ImportInstanceLaunchSpecification'+ { _iilsAdditionalInfo :: !(Maybe Text)+ , _iilsGroupNames :: !(Maybe [Text])+ , _iilsSubnetId :: !(Maybe Text)+ , _iilsInstanceType :: !(Maybe InstanceType)+ , _iilsGroupIds :: !(Maybe [Text])+ , _iilsUserData :: !(Maybe UserData)+ , _iilsMonitoring :: !(Maybe Bool)+ , _iilsPrivateIPAddress :: !(Maybe Text)+ , _iilsInstanceInitiatedShutdownBehavior :: !(Maybe ShutdownBehavior)+ , _iilsArchitecture :: !(Maybe ArchitectureValues)+ , _iilsPlacement :: !(Maybe Placement)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportInstanceLaunchSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iilsAdditionalInfo'+--+-- * 'iilsGroupNames'+--+-- * 'iilsSubnetId'+--+-- * 'iilsInstanceType'+--+-- * 'iilsGroupIds'+--+-- * 'iilsUserData'+--+-- * 'iilsMonitoring'+--+-- * 'iilsPrivateIPAddress'+--+-- * 'iilsInstanceInitiatedShutdownBehavior'+--+-- * 'iilsArchitecture'+--+-- * 'iilsPlacement'+importInstanceLaunchSpecification+ :: ImportInstanceLaunchSpecification+importInstanceLaunchSpecification =+ ImportInstanceLaunchSpecification'+ { _iilsAdditionalInfo = Nothing+ , _iilsGroupNames = Nothing+ , _iilsSubnetId = Nothing+ , _iilsInstanceType = Nothing+ , _iilsGroupIds = Nothing+ , _iilsUserData = Nothing+ , _iilsMonitoring = Nothing+ , _iilsPrivateIPAddress = Nothing+ , _iilsInstanceInitiatedShutdownBehavior = Nothing+ , _iilsArchitecture = Nothing+ , _iilsPlacement = Nothing+ }++-- | Reserved.+iilsAdditionalInfo :: Lens' ImportInstanceLaunchSpecification (Maybe Text)+iilsAdditionalInfo = lens _iilsAdditionalInfo (\ s a -> s{_iilsAdditionalInfo = a});++-- | One or more security group names.+iilsGroupNames :: Lens' ImportInstanceLaunchSpecification [Text]+iilsGroupNames = lens _iilsGroupNames (\ s a -> s{_iilsGroupNames = a}) . _Default . _Coerce;++-- | [EC2-VPC] The ID of the subnet in which to launch the instance.+iilsSubnetId :: Lens' ImportInstanceLaunchSpecification (Maybe Text)+iilsSubnetId = lens _iilsSubnetId (\ s a -> s{_iilsSubnetId = a});++-- | The instance type. For more information about the instance types that+-- you can import, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/VMImportPrerequisites.html Before You Get Started>+-- in the Amazon Elastic Compute Cloud User Guide.+iilsInstanceType :: Lens' ImportInstanceLaunchSpecification (Maybe InstanceType)+iilsInstanceType = lens _iilsInstanceType (\ s a -> s{_iilsInstanceType = a});++-- | One or more security group IDs.+iilsGroupIds :: Lens' ImportInstanceLaunchSpecification [Text]+iilsGroupIds = lens _iilsGroupIds (\ s a -> s{_iilsGroupIds = a}) . _Default . _Coerce;++-- | The Base64-encoded MIME user data to be made available to the instance.+iilsUserData :: Lens' ImportInstanceLaunchSpecification (Maybe UserData)+iilsUserData = lens _iilsUserData (\ s a -> s{_iilsUserData = a});++-- | Indicates whether monitoring is enabled.+iilsMonitoring :: Lens' ImportInstanceLaunchSpecification (Maybe Bool)+iilsMonitoring = lens _iilsMonitoring (\ s a -> s{_iilsMonitoring = a});++-- | [EC2-VPC] An available IP address from the IP address range of the+-- subnet.+iilsPrivateIPAddress :: Lens' ImportInstanceLaunchSpecification (Maybe Text)+iilsPrivateIPAddress = lens _iilsPrivateIPAddress (\ s a -> s{_iilsPrivateIPAddress = a});++-- | Indicates whether an instance stops or terminates when you initiate+-- shutdown from the instance (using the operating system command for+-- system shutdown).+iilsInstanceInitiatedShutdownBehavior :: Lens' ImportInstanceLaunchSpecification (Maybe ShutdownBehavior)+iilsInstanceInitiatedShutdownBehavior = lens _iilsInstanceInitiatedShutdownBehavior (\ s a -> s{_iilsInstanceInitiatedShutdownBehavior = a});++-- | The architecture of the instance.+iilsArchitecture :: Lens' ImportInstanceLaunchSpecification (Maybe ArchitectureValues)+iilsArchitecture = lens _iilsArchitecture (\ s a -> s{_iilsArchitecture = a});++-- | The placement information for the instance.+iilsPlacement :: Lens' ImportInstanceLaunchSpecification (Maybe Placement)+iilsPlacement = lens _iilsPlacement (\ s a -> s{_iilsPlacement = a});++instance Hashable ImportInstanceLaunchSpecification++instance ToQuery ImportInstanceLaunchSpecification+ where+ toQuery ImportInstanceLaunchSpecification'{..}+ = mconcat+ ["AdditionalInfo" =: _iilsAdditionalInfo,+ toQuery+ (toQueryList "GroupName" <$> _iilsGroupNames),+ "SubnetId" =: _iilsSubnetId,+ "InstanceType" =: _iilsInstanceType,+ toQuery (toQueryList "GroupId" <$> _iilsGroupIds),+ "UserData" =: _iilsUserData,+ "Monitoring" =: _iilsMonitoring,+ "PrivateIpAddress" =: _iilsPrivateIPAddress,+ "InstanceInitiatedShutdownBehavior" =:+ _iilsInstanceInitiatedShutdownBehavior,+ "Architecture" =: _iilsArchitecture,+ "Placement" =: _iilsPlacement]++-- | Describes an import instance task.+--+-- /See:/ 'importInstanceTaskDetails' smart constructor.+data ImportInstanceTaskDetails = ImportInstanceTaskDetails'+ { _iitdInstanceId :: !(Maybe Text)+ , _iitdPlatform :: !(Maybe PlatformValues)+ , _iitdDescription :: !(Maybe Text)+ , _iitdVolumes :: ![ImportInstanceVolumeDetailItem]+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportInstanceTaskDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iitdInstanceId'+--+-- * 'iitdPlatform'+--+-- * 'iitdDescription'+--+-- * 'iitdVolumes'+importInstanceTaskDetails+ :: ImportInstanceTaskDetails+importInstanceTaskDetails =+ ImportInstanceTaskDetails'+ { _iitdInstanceId = Nothing+ , _iitdPlatform = Nothing+ , _iitdDescription = Nothing+ , _iitdVolumes = mempty+ }++-- | The ID of the instance.+iitdInstanceId :: Lens' ImportInstanceTaskDetails (Maybe Text)+iitdInstanceId = lens _iitdInstanceId (\ s a -> s{_iitdInstanceId = a});++-- | The instance operating system.+iitdPlatform :: Lens' ImportInstanceTaskDetails (Maybe PlatformValues)+iitdPlatform = lens _iitdPlatform (\ s a -> s{_iitdPlatform = a});++-- | A description of the task.+iitdDescription :: Lens' ImportInstanceTaskDetails (Maybe Text)+iitdDescription = lens _iitdDescription (\ s a -> s{_iitdDescription = a});++-- | One or more volumes.+iitdVolumes :: Lens' ImportInstanceTaskDetails [ImportInstanceVolumeDetailItem]+iitdVolumes = lens _iitdVolumes (\ s a -> s{_iitdVolumes = a}) . _Coerce;++instance FromXML ImportInstanceTaskDetails where+ parseXML x+ = ImportInstanceTaskDetails' <$>+ (x .@? "instanceId") <*> (x .@? "platform") <*>+ (x .@? "description")+ <*>+ (x .@? "volumes" .!@ mempty >>= parseXMLList "item")++instance Hashable ImportInstanceTaskDetails++-- | Describes an import volume task.+--+-- /See:/ 'importInstanceVolumeDetailItem' smart constructor.+data ImportInstanceVolumeDetailItem = ImportInstanceVolumeDetailItem'+ { _iivdiStatusMessage :: !(Maybe Text)+ , _iivdiDescription :: !(Maybe Text)+ , _iivdiBytesConverted :: !Integer+ , _iivdiAvailabilityZone :: !Text+ , _iivdiImage :: !DiskImageDescription+ , _iivdiVolume :: !DiskImageVolumeDescription+ , _iivdiStatus :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportInstanceVolumeDetailItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iivdiStatusMessage'+--+-- * 'iivdiDescription'+--+-- * 'iivdiBytesConverted'+--+-- * 'iivdiAvailabilityZone'+--+-- * 'iivdiImage'+--+-- * 'iivdiVolume'+--+-- * 'iivdiStatus'+importInstanceVolumeDetailItem+ :: Integer -- ^ 'iivdiBytesConverted'+ -> Text -- ^ 'iivdiAvailabilityZone'+ -> DiskImageDescription -- ^ 'iivdiImage'+ -> DiskImageVolumeDescription -- ^ 'iivdiVolume'+ -> Text -- ^ 'iivdiStatus'+ -> ImportInstanceVolumeDetailItem+importInstanceVolumeDetailItem pBytesConverted_ pAvailabilityZone_ pImage_ pVolume_ pStatus_ =+ ImportInstanceVolumeDetailItem'+ { _iivdiStatusMessage = Nothing+ , _iivdiDescription = Nothing+ , _iivdiBytesConverted = pBytesConverted_+ , _iivdiAvailabilityZone = pAvailabilityZone_+ , _iivdiImage = pImage_+ , _iivdiVolume = pVolume_+ , _iivdiStatus = pStatus_+ }++-- | The status information or errors related to the disk image.+iivdiStatusMessage :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)+iivdiStatusMessage = lens _iivdiStatusMessage (\ s a -> s{_iivdiStatusMessage = a});++-- | A description of the task.+iivdiDescription :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)+iivdiDescription = lens _iivdiDescription (\ s a -> s{_iivdiDescription = a});++-- | The number of bytes converted so far.+iivdiBytesConverted :: Lens' ImportInstanceVolumeDetailItem Integer+iivdiBytesConverted = lens _iivdiBytesConverted (\ s a -> s{_iivdiBytesConverted = a});++-- | The Availability Zone where the resulting instance will reside.+iivdiAvailabilityZone :: Lens' ImportInstanceVolumeDetailItem Text+iivdiAvailabilityZone = lens _iivdiAvailabilityZone (\ s a -> s{_iivdiAvailabilityZone = a});++-- | The image.+iivdiImage :: Lens' ImportInstanceVolumeDetailItem DiskImageDescription+iivdiImage = lens _iivdiImage (\ s a -> s{_iivdiImage = a});++-- | The volume.+iivdiVolume :: Lens' ImportInstanceVolumeDetailItem DiskImageVolumeDescription+iivdiVolume = lens _iivdiVolume (\ s a -> s{_iivdiVolume = a});++-- | The status of the import of this particular disk image.+iivdiStatus :: Lens' ImportInstanceVolumeDetailItem Text+iivdiStatus = lens _iivdiStatus (\ s a -> s{_iivdiStatus = a});++instance FromXML ImportInstanceVolumeDetailItem where+ parseXML x+ = ImportInstanceVolumeDetailItem' <$>+ (x .@? "statusMessage") <*> (x .@? "description") <*>+ (x .@ "bytesConverted")+ <*> (x .@ "availabilityZone")+ <*> (x .@ "image")+ <*> (x .@ "volume")+ <*> (x .@ "status")++instance Hashable ImportInstanceVolumeDetailItem++-- | Describes an import snapshot task.+--+-- /See:/ 'importSnapshotTask' smart constructor.+data ImportSnapshotTask = ImportSnapshotTask'+ { _istSnapshotTaskDetail :: !(Maybe SnapshotTaskDetail)+ , _istImportTaskId :: !(Maybe Text)+ , _istDescription :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportSnapshotTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'istSnapshotTaskDetail'+--+-- * 'istImportTaskId'+--+-- * 'istDescription'+importSnapshotTask+ :: ImportSnapshotTask+importSnapshotTask =+ ImportSnapshotTask'+ { _istSnapshotTaskDetail = Nothing+ , _istImportTaskId = Nothing+ , _istDescription = Nothing+ }++-- | Describes an import snapshot task.+istSnapshotTaskDetail :: Lens' ImportSnapshotTask (Maybe SnapshotTaskDetail)+istSnapshotTaskDetail = lens _istSnapshotTaskDetail (\ s a -> s{_istSnapshotTaskDetail = a});++-- | The ID of the import snapshot task.+istImportTaskId :: Lens' ImportSnapshotTask (Maybe Text)+istImportTaskId = lens _istImportTaskId (\ s a -> s{_istImportTaskId = a});++-- | A description of the import snapshot task.+istDescription :: Lens' ImportSnapshotTask (Maybe Text)+istDescription = lens _istDescription (\ s a -> s{_istDescription = a});++instance FromXML ImportSnapshotTask where+ parseXML x+ = ImportSnapshotTask' <$>+ (x .@? "snapshotTaskDetail") <*>+ (x .@? "importTaskId")+ <*> (x .@? "description")++instance Hashable ImportSnapshotTask++-- | Describes an import volume task.+--+-- /See:/ 'importVolumeTaskDetails' smart constructor.+data ImportVolumeTaskDetails = ImportVolumeTaskDetails'+ { _ivtdDescription :: !(Maybe Text)+ , _ivtdBytesConverted :: !Integer+ , _ivtdAvailabilityZone :: !Text+ , _ivtdImage :: !DiskImageDescription+ , _ivtdVolume :: !DiskImageVolumeDescription+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportVolumeTaskDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ivtdDescription'+--+-- * 'ivtdBytesConverted'+--+-- * 'ivtdAvailabilityZone'+--+-- * 'ivtdImage'+--+-- * 'ivtdVolume'+importVolumeTaskDetails+ :: Integer -- ^ 'ivtdBytesConverted'+ -> Text -- ^ 'ivtdAvailabilityZone'+ -> DiskImageDescription -- ^ 'ivtdImage'+ -> DiskImageVolumeDescription -- ^ 'ivtdVolume'+ -> ImportVolumeTaskDetails+importVolumeTaskDetails pBytesConverted_ pAvailabilityZone_ pImage_ pVolume_ =+ ImportVolumeTaskDetails'+ { _ivtdDescription = Nothing+ , _ivtdBytesConverted = pBytesConverted_+ , _ivtdAvailabilityZone = pAvailabilityZone_+ , _ivtdImage = pImage_+ , _ivtdVolume = pVolume_+ }++-- | The description you provided when starting the import volume task.+ivtdDescription :: Lens' ImportVolumeTaskDetails (Maybe Text)+ivtdDescription = lens _ivtdDescription (\ s a -> s{_ivtdDescription = a});++-- | The number of bytes converted so far.+ivtdBytesConverted :: Lens' ImportVolumeTaskDetails Integer+ivtdBytesConverted = lens _ivtdBytesConverted (\ s a -> s{_ivtdBytesConverted = a});++-- | The Availability Zone where the resulting volume will reside.+ivtdAvailabilityZone :: Lens' ImportVolumeTaskDetails Text+ivtdAvailabilityZone = lens _ivtdAvailabilityZone (\ s a -> s{_ivtdAvailabilityZone = a});++-- | The image.+ivtdImage :: Lens' ImportVolumeTaskDetails DiskImageDescription+ivtdImage = lens _ivtdImage (\ s a -> s{_ivtdImage = a});++-- | The volume.+ivtdVolume :: Lens' ImportVolumeTaskDetails DiskImageVolumeDescription+ivtdVolume = lens _ivtdVolume (\ s a -> s{_ivtdVolume = a});++instance FromXML ImportVolumeTaskDetails where+ parseXML x+ = ImportVolumeTaskDetails' <$>+ (x .@? "description") <*> (x .@ "bytesConverted") <*>+ (x .@ "availabilityZone")+ <*> (x .@ "image")+ <*> (x .@ "volume")++instance Hashable ImportVolumeTaskDetails++-- | Describes an instance.+--+-- /See:/ 'instance'' smart constructor.+data Instance = Instance'+ { _insPublicDNSName :: !(Maybe Text)+ , _insPlatform :: !(Maybe PlatformValues)+ , _insSecurityGroups :: !(Maybe [GroupIdentifier])+ , _insClientToken :: !(Maybe Text)+ , _insSourceDestCheck :: !(Maybe Bool)+ , _insVPCId :: !(Maybe Text)+ , _insKeyName :: !(Maybe Text)+ , _insNetworkInterfaces :: !(Maybe [InstanceNetworkInterface])+ , _insRAMDiskId :: !(Maybe Text)+ , _insSubnetId :: !(Maybe Text)+ , _insKernelId :: !(Maybe Text)+ , _insRootDeviceName :: !(Maybe Text)+ , _insSRIOVNetSupport :: !(Maybe Text)+ , _insEBSOptimized :: !(Maybe Bool)+ , _insStateTransitionReason :: !(Maybe Text)+ , _insInstanceLifecycle :: !(Maybe InstanceLifecycleType)+ , _insIAMInstanceProfile :: !(Maybe IAMInstanceProfile)+ , _insPrivateIPAddress :: !(Maybe Text)+ , _insProductCodes :: !(Maybe [ProductCode])+ , _insSpotInstanceRequestId :: !(Maybe Text)+ , _insPrivateDNSName :: !(Maybe Text)+ , _insStateReason :: !(Maybe StateReason)+ , _insBlockDeviceMappings :: !(Maybe [InstanceBlockDeviceMapping])+ , _insPublicIPAddress :: !(Maybe Text)+ , _insTags :: !(Maybe [Tag])+ , _insInstanceId :: !Text+ , _insImageId :: !Text+ , _insAMILaunchIndex :: !Int+ , _insInstanceType :: !InstanceType+ , _insLaunchTime :: !ISO8601+ , _insPlacement :: !Placement+ , _insMonitoring :: !Monitoring+ , _insArchitecture :: !ArchitectureValues+ , _insRootDeviceType :: !DeviceType+ , _insVirtualizationType :: !VirtualizationType+ , _insHypervisor :: !HypervisorType+ , _insState :: !InstanceState+ } 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:+--+-- * 'insPublicDNSName'+--+-- * 'insPlatform'+--+-- * 'insSecurityGroups'+--+-- * 'insClientToken'+--+-- * 'insSourceDestCheck'+--+-- * 'insVPCId'+--+-- * 'insKeyName'+--+-- * 'insNetworkInterfaces'+--+-- * 'insRAMDiskId'+--+-- * 'insSubnetId'+--+-- * 'insKernelId'+--+-- * 'insRootDeviceName'+--+-- * 'insSRIOVNetSupport'+--+-- * 'insEBSOptimized'+--+-- * 'insStateTransitionReason'+--+-- * 'insInstanceLifecycle'+--+-- * 'insIAMInstanceProfile'+--+-- * 'insPrivateIPAddress'+--+-- * 'insProductCodes'+--+-- * 'insSpotInstanceRequestId'+--+-- * 'insPrivateDNSName'+--+-- * 'insStateReason'+--+-- * 'insBlockDeviceMappings'+--+-- * 'insPublicIPAddress'+--+-- * 'insTags'+--+-- * 'insInstanceId'+--+-- * 'insImageId'+--+-- * 'insAMILaunchIndex'+--+-- * 'insInstanceType'+--+-- * 'insLaunchTime'+--+-- * 'insPlacement'+--+-- * 'insMonitoring'+--+-- * 'insArchitecture'+--+-- * 'insRootDeviceType'+--+-- * 'insVirtualizationType'+--+-- * 'insHypervisor'+--+-- * 'insState'+instance'+ :: Text -- ^ 'insInstanceId'+ -> Text -- ^ 'insImageId'+ -> Int -- ^ 'insAMILaunchIndex'+ -> InstanceType -- ^ 'insInstanceType'+ -> UTCTime -- ^ 'insLaunchTime'+ -> Placement -- ^ 'insPlacement'+ -> Monitoring -- ^ 'insMonitoring'+ -> ArchitectureValues -- ^ 'insArchitecture'+ -> DeviceType -- ^ 'insRootDeviceType'+ -> VirtualizationType -- ^ 'insVirtualizationType'+ -> HypervisorType -- ^ 'insHypervisor'+ -> InstanceState -- ^ 'insState'+ -> Instance+instance' pInstanceId_ pImageId_ pAMILaunchIndex_ pInstanceType_ pLaunchTime_ pPlacement_ pMonitoring_ pArchitecture_ pRootDeviceType_ pVirtualizationType_ pHypervisor_ pState_ =+ Instance'+ { _insPublicDNSName = Nothing+ , _insPlatform = Nothing+ , _insSecurityGroups = Nothing+ , _insClientToken = Nothing+ , _insSourceDestCheck = Nothing+ , _insVPCId = Nothing+ , _insKeyName = Nothing+ , _insNetworkInterfaces = Nothing+ , _insRAMDiskId = Nothing+ , _insSubnetId = Nothing+ , _insKernelId = Nothing+ , _insRootDeviceName = Nothing+ , _insSRIOVNetSupport = Nothing+ , _insEBSOptimized = Nothing+ , _insStateTransitionReason = Nothing+ , _insInstanceLifecycle = Nothing+ , _insIAMInstanceProfile = Nothing+ , _insPrivateIPAddress = Nothing+ , _insProductCodes = Nothing+ , _insSpotInstanceRequestId = Nothing+ , _insPrivateDNSName = Nothing+ , _insStateReason = Nothing+ , _insBlockDeviceMappings = Nothing+ , _insPublicIPAddress = Nothing+ , _insTags = Nothing+ , _insInstanceId = pInstanceId_+ , _insImageId = pImageId_+ , _insAMILaunchIndex = pAMILaunchIndex_+ , _insInstanceType = pInstanceType_+ , _insLaunchTime = _Time # pLaunchTime_+ , _insPlacement = pPlacement_+ , _insMonitoring = pMonitoring_+ , _insArchitecture = pArchitecture_+ , _insRootDeviceType = pRootDeviceType_+ , _insVirtualizationType = pVirtualizationType_+ , _insHypervisor = pHypervisor_+ , _insState = pState_+ }++-- | The public DNS name assigned to the instance. This name is not available+-- until the instance enters the 'running' state. For EC2-VPC, this name is+-- only available if you\'ve enabled DNS hostnames for your VPC.+insPublicDNSName :: Lens' Instance (Maybe Text)+insPublicDNSName = lens _insPublicDNSName (\ s a -> s{_insPublicDNSName = a});++-- | The value is 'Windows' for Windows instances; otherwise blank.+insPlatform :: Lens' Instance (Maybe PlatformValues)+insPlatform = lens _insPlatform (\ s a -> s{_insPlatform = a});++-- | One or more security groups for the instance.+insSecurityGroups :: Lens' Instance [GroupIdentifier]+insSecurityGroups = lens _insSecurityGroups (\ s a -> s{_insSecurityGroups = a}) . _Default . _Coerce;++-- | The idempotency token you provided when you launched the instance, if+-- applicable.+insClientToken :: Lens' Instance (Maybe Text)+insClientToken = lens _insClientToken (\ s a -> s{_insClientToken = a});++-- | Specifies whether to enable an instance launched in a VPC to perform+-- NAT. This controls whether source\/destination checking is enabled on+-- the instance. A value of 'true' means checking is enabled, and 'false'+-- means checking is disabled. The value must be 'false' for the instance+-- to perform NAT. For more information, see+-- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html NAT Instances>+-- in the /Amazon Virtual Private Cloud User Guide/.+insSourceDestCheck :: Lens' Instance (Maybe Bool)+insSourceDestCheck = lens _insSourceDestCheck (\ s a -> s{_insSourceDestCheck = a});++-- | [EC2-VPC] The ID of the VPC in which the instance is running.+insVPCId :: Lens' Instance (Maybe Text)+insVPCId = lens _insVPCId (\ s a -> s{_insVPCId = a});++-- | The name of the key pair, if this instance was launched with an+-- associated key pair.+insKeyName :: Lens' Instance (Maybe Text)+insKeyName = lens _insKeyName (\ s a -> s{_insKeyName = a});++-- | [EC2-VPC] One or more network interfaces for the instance.+insNetworkInterfaces :: Lens' Instance [InstanceNetworkInterface]+insNetworkInterfaces = lens _insNetworkInterfaces (\ s a -> s{_insNetworkInterfaces = a}) . _Default . _Coerce;++-- | The RAM disk associated with this instance, if applicable.+insRAMDiskId :: Lens' Instance (Maybe Text)+insRAMDiskId = lens _insRAMDiskId (\ s a -> s{_insRAMDiskId = a});++-- | [EC2-VPC] The ID of the subnet in which the instance is running.+insSubnetId :: Lens' Instance (Maybe Text)+insSubnetId = lens _insSubnetId (\ s a -> s{_insSubnetId = a});++-- | The kernel associated with this instance, if applicable.+insKernelId :: Lens' Instance (Maybe Text)+insKernelId = lens _insKernelId (\ s a -> s{_insKernelId = a});++-- | The root device name (for example, '\/dev\/sda1' or '\/dev\/xvda').+insRootDeviceName :: Lens' Instance (Maybe Text)+insRootDeviceName = lens _insRootDeviceName (\ s a -> s{_insRootDeviceName = a});++-- | Specifies whether enhanced networking is enabled.+insSRIOVNetSupport :: Lens' Instance (Maybe Text)+insSRIOVNetSupport = lens _insSRIOVNetSupport (\ s a -> s{_insSRIOVNetSupport = a});++-- | Indicates whether the instance is optimized for EBS I\/O. This+-- optimization provides dedicated throughput to Amazon EBS and an+-- optimized configuration stack to provide optimal I\/O performance. This+-- optimization isn\'t available with all instance types. Additional usage+-- charges apply when using an EBS Optimized instance.+insEBSOptimized :: Lens' Instance (Maybe Bool)+insEBSOptimized = lens _insEBSOptimized (\ s a -> s{_insEBSOptimized = a});++-- | The reason for the most recent state transition. This might be an empty+-- string.+insStateTransitionReason :: Lens' Instance (Maybe Text)+insStateTransitionReason = lens _insStateTransitionReason (\ s a -> s{_insStateTransitionReason = a});++-- | Indicates whether this is a Spot instance or a Scheduled Instance.+insInstanceLifecycle :: Lens' Instance (Maybe InstanceLifecycleType)+insInstanceLifecycle = lens _insInstanceLifecycle (\ s a -> s{_insInstanceLifecycle = a});++-- | The IAM instance profile associated with the instance, if applicable.+insIAMInstanceProfile :: Lens' Instance (Maybe IAMInstanceProfile)+insIAMInstanceProfile = lens _insIAMInstanceProfile (\ s a -> s{_insIAMInstanceProfile = a});++-- | The private IP address assigned to the instance.+insPrivateIPAddress :: Lens' Instance (Maybe Text)+insPrivateIPAddress = lens _insPrivateIPAddress (\ s a -> s{_insPrivateIPAddress = a});++-- | The product codes attached to this instance, if applicable.+insProductCodes :: Lens' Instance [ProductCode]+insProductCodes = lens _insProductCodes (\ s a -> s{_insProductCodes = a}) . _Default . _Coerce;++-- | If the request is a Spot instance request, the ID of the request.+insSpotInstanceRequestId :: Lens' Instance (Maybe Text)+insSpotInstanceRequestId = lens _insSpotInstanceRequestId (\ s a -> s{_insSpotInstanceRequestId = a});++-- | The private DNS name assigned to the instance. This DNS name can only be+-- used inside the Amazon EC2 network. This name is not available until the+-- instance enters the 'running' state. For EC2-VPC, this name is only+-- available if you\'ve enabled DNS hostnames for your VPC.+insPrivateDNSName :: Lens' Instance (Maybe Text)+insPrivateDNSName = lens _insPrivateDNSName (\ s a -> s{_insPrivateDNSName = a});++-- | The reason for the most recent state transition.+insStateReason :: Lens' Instance (Maybe StateReason)+insStateReason = lens _insStateReason (\ s a -> s{_insStateReason = a});++-- | Any block device mapping entries for the instance.+insBlockDeviceMappings :: Lens' Instance [InstanceBlockDeviceMapping]+insBlockDeviceMappings = lens _insBlockDeviceMappings (\ s a -> s{_insBlockDeviceMappings = a}) . _Default . _Coerce;++-- | The public IP address assigned to the instance, if applicable.+insPublicIPAddress :: Lens' Instance (Maybe Text)+insPublicIPAddress = lens _insPublicIPAddress (\ s a -> s{_insPublicIPAddress = a});++-- | Any tags assigned to the instance.+insTags :: Lens' Instance [Tag]+insTags = lens _insTags (\ s a -> s{_insTags = a}) . _Default . _Coerce;++-- | The ID of the instance.+insInstanceId :: Lens' Instance Text+insInstanceId = lens _insInstanceId (\ s a -> s{_insInstanceId = a});++-- | The ID of the AMI used to launch the instance.+insImageId :: Lens' Instance Text+insImageId = lens _insImageId (\ s a -> s{_insImageId = a});++-- | The AMI launch index, which can be used to find this instance in the+-- launch group.+insAMILaunchIndex :: Lens' Instance Int+insAMILaunchIndex = lens _insAMILaunchIndex (\ s a -> s{_insAMILaunchIndex = a});++-- | The instance type.+insInstanceType :: Lens' Instance InstanceType+insInstanceType = lens _insInstanceType (\ s a -> s{_insInstanceType = a});++-- | The time the instance was launched.+insLaunchTime :: Lens' Instance UTCTime+insLaunchTime = lens _insLaunchTime (\ s a -> s{_insLaunchTime = a}) . _Time;++-- | The location where the instance launched, if applicable.+insPlacement :: Lens' Instance Placement+insPlacement = lens _insPlacement (\ s a -> s{_insPlacement = a});++-- | The monitoring information for the instance.+insMonitoring :: Lens' Instance Monitoring+insMonitoring = lens _insMonitoring (\ s a -> s{_insMonitoring = a});++-- | The architecture of the image.+insArchitecture :: Lens' Instance ArchitectureValues+insArchitecture = lens _insArchitecture (\ s a -> s{_insArchitecture = a});++-- | The root device type used by the AMI. The AMI can use an EBS volume or+-- an instance store volume.+insRootDeviceType :: Lens' Instance DeviceType+insRootDeviceType = lens _insRootDeviceType (\ s a -> s{_insRootDeviceType = a});++-- | The virtualization type of the instance.+insVirtualizationType :: Lens' Instance VirtualizationType+insVirtualizationType = lens _insVirtualizationType (\ s a -> s{_insVirtualizationType = a});++-- | The hypervisor type of the instance.+insHypervisor :: Lens' Instance HypervisorType+insHypervisor = lens _insHypervisor (\ s a -> s{_insHypervisor = a});++-- | The current state of the instance.+insState :: Lens' Instance InstanceState+insState = lens _insState (\ s a -> s{_insState = a});++instance FromXML Instance where+ parseXML x+ = Instance' <$>+ (x .@? "dnsName") <*> (x .@? "platform") <*>+ (x .@? "groupSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "clientToken")+ <*> (x .@? "sourceDestCheck")+ <*> (x .@? "vpcId")+ <*> (x .@? "keyName")+ <*>+ (x .@? "networkInterfaceSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "ramdiskId")+ <*> (x .@? "subnetId")+ <*> (x .@? "kernelId")+ <*> (x .@? "rootDeviceName")+ <*> (x .@? "sriovNetSupport")+ <*> (x .@? "ebsOptimized")+ <*> (x .@? "reason")+ <*> (x .@? "instanceLifecycle")+ <*> (x .@? "iamInstanceProfile")+ <*> (x .@? "privateIpAddress")+ <*>+ (x .@? "productCodes" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "spotInstanceRequestId")+ <*> (x .@? "privateDnsName")+ <*> (x .@? "stateReason")+ <*>+ (x .@? "blockDeviceMapping" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "ipAddress")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "instanceId")+ <*> (x .@ "imageId")+ <*> (x .@ "amiLaunchIndex")+ <*> (x .@ "instanceType")+ <*> (x .@ "launchTime")+ <*> (x .@ "placement")+ <*> (x .@ "monitoring")+ <*> (x .@ "architecture")+ <*> (x .@ "rootDeviceType")+ <*> (x .@ "virtualizationType")+ <*> (x .@ "hypervisor")+ <*> (x .@ "instanceState")++instance Hashable Instance++-- | Describes a block device mapping.+--+-- /See:/ 'instanceBlockDeviceMapping' smart constructor.+data InstanceBlockDeviceMapping = InstanceBlockDeviceMapping'+ { _ibdmEBS :: !(Maybe EBSInstanceBlockDevice)+ , _ibdmDeviceName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceBlockDeviceMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ibdmEBS'+--+-- * 'ibdmDeviceName'+instanceBlockDeviceMapping+ :: InstanceBlockDeviceMapping+instanceBlockDeviceMapping =+ InstanceBlockDeviceMapping'+ { _ibdmEBS = Nothing+ , _ibdmDeviceName = Nothing+ }++-- | Parameters used to automatically set up EBS volumes when the instance is+-- launched.+ibdmEBS :: Lens' InstanceBlockDeviceMapping (Maybe EBSInstanceBlockDevice)+ibdmEBS = lens _ibdmEBS (\ s a -> s{_ibdmEBS = a});++-- | The device name exposed to the instance (for example, '\/dev\/sdh' or+-- 'xvdh').+ibdmDeviceName :: Lens' InstanceBlockDeviceMapping (Maybe Text)+ibdmDeviceName = lens _ibdmDeviceName (\ s a -> s{_ibdmDeviceName = a});++instance FromXML InstanceBlockDeviceMapping where+ parseXML x+ = InstanceBlockDeviceMapping' <$>+ (x .@? "ebs") <*> (x .@? "deviceName")++instance Hashable InstanceBlockDeviceMapping++-- | Describes a block device mapping entry.+--+-- /See:/ 'instanceBlockDeviceMappingSpecification' smart constructor.+data InstanceBlockDeviceMappingSpecification = InstanceBlockDeviceMappingSpecification'+ { _ibdmsVirtualName :: !(Maybe Text)+ , _ibdmsNoDevice :: !(Maybe Text)+ , _ibdmsEBS :: !(Maybe EBSInstanceBlockDeviceSpecification)+ , _ibdmsDeviceName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceBlockDeviceMappingSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ibdmsVirtualName'+--+-- * 'ibdmsNoDevice'+--+-- * 'ibdmsEBS'+--+-- * 'ibdmsDeviceName'+instanceBlockDeviceMappingSpecification+ :: InstanceBlockDeviceMappingSpecification+instanceBlockDeviceMappingSpecification =+ InstanceBlockDeviceMappingSpecification'+ { _ibdmsVirtualName = Nothing+ , _ibdmsNoDevice = Nothing+ , _ibdmsEBS = Nothing+ , _ibdmsDeviceName = Nothing+ }++-- | The virtual device name.+ibdmsVirtualName :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)+ibdmsVirtualName = lens _ibdmsVirtualName (\ s a -> s{_ibdmsVirtualName = a});++-- | suppress the specified device included in the block device mapping.+ibdmsNoDevice :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)+ibdmsNoDevice = lens _ibdmsNoDevice (\ s a -> s{_ibdmsNoDevice = a});++-- | Parameters used to automatically set up EBS volumes when the instance is+-- launched.+ibdmsEBS :: Lens' InstanceBlockDeviceMappingSpecification (Maybe EBSInstanceBlockDeviceSpecification)+ibdmsEBS = lens _ibdmsEBS (\ s a -> s{_ibdmsEBS = a});++-- | The device name exposed to the instance (for example, '\/dev\/sdh' or+-- 'xvdh').+ibdmsDeviceName :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)+ibdmsDeviceName = lens _ibdmsDeviceName (\ s a -> s{_ibdmsDeviceName = a});++instance Hashable+ InstanceBlockDeviceMappingSpecification++instance ToQuery+ InstanceBlockDeviceMappingSpecification where+ toQuery InstanceBlockDeviceMappingSpecification'{..}+ = mconcat+ ["VirtualName" =: _ibdmsVirtualName,+ "NoDevice" =: _ibdmsNoDevice, "Ebs" =: _ibdmsEBS,+ "DeviceName" =: _ibdmsDeviceName]++-- | Information about the instance type that the Dedicated host supports.+--+-- /See:/ 'instanceCapacity' smart constructor.+data InstanceCapacity = InstanceCapacity'+ { _icAvailableCapacity :: !(Maybe Int)+ , _icInstanceType :: !(Maybe Text)+ , _icTotalCapacity :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceCapacity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'icAvailableCapacity'+--+-- * 'icInstanceType'+--+-- * 'icTotalCapacity'+instanceCapacity+ :: InstanceCapacity+instanceCapacity =+ InstanceCapacity'+ { _icAvailableCapacity = Nothing+ , _icInstanceType = Nothing+ , _icTotalCapacity = Nothing+ }++-- | The number of instances that can still be launched onto the Dedicated+-- host.+icAvailableCapacity :: Lens' InstanceCapacity (Maybe Int)+icAvailableCapacity = lens _icAvailableCapacity (\ s a -> s{_icAvailableCapacity = a});++-- | The instance type size supported by the Dedicated host.+icInstanceType :: Lens' InstanceCapacity (Maybe Text)+icInstanceType = lens _icInstanceType (\ s a -> s{_icInstanceType = a});++-- | The total number of instances that can be launched onto the Dedicated+-- host.+icTotalCapacity :: Lens' InstanceCapacity (Maybe Int)+icTotalCapacity = lens _icTotalCapacity (\ s a -> s{_icTotalCapacity = a});++instance FromXML InstanceCapacity where+ parseXML x+ = InstanceCapacity' <$>+ (x .@? "availableCapacity") <*>+ (x .@? "instanceType")+ <*> (x .@? "totalCapacity")++instance Hashable InstanceCapacity++-- | Describes a Reserved Instance listing state.+--+-- /See:/ 'instanceCount' smart constructor.+data InstanceCount = InstanceCount'+ { _icState :: !(Maybe ListingState)+ , _icInstanceCount :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceCount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'icState'+--+-- * 'icInstanceCount'+instanceCount+ :: InstanceCount+instanceCount =+ InstanceCount'+ { _icState = Nothing+ , _icInstanceCount = Nothing+ }++-- | The states of the listed Reserved Instances.+icState :: Lens' InstanceCount (Maybe ListingState)+icState = lens _icState (\ s a -> s{_icState = a});++-- | The number of listed Reserved Instances in the state specified by the+-- 'state'.+icInstanceCount :: Lens' InstanceCount (Maybe Int)+icInstanceCount = lens _icInstanceCount (\ s a -> s{_icInstanceCount = a});++instance FromXML InstanceCount where+ parseXML x+ = InstanceCount' <$>+ (x .@? "state") <*> (x .@? "instanceCount")++instance Hashable InstanceCount++-- | Describes an instance to export.+--+-- /See:/ 'instanceExportDetails' smart constructor.+data InstanceExportDetails = InstanceExportDetails'+ { _iedTargetEnvironment :: !(Maybe ExportEnvironment)+ , _iedInstanceId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceExportDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iedTargetEnvironment'+--+-- * 'iedInstanceId'+instanceExportDetails+ :: InstanceExportDetails+instanceExportDetails =+ InstanceExportDetails'+ { _iedTargetEnvironment = Nothing+ , _iedInstanceId = Nothing+ }++-- | The target virtualization environment.+iedTargetEnvironment :: Lens' InstanceExportDetails (Maybe ExportEnvironment)+iedTargetEnvironment = lens _iedTargetEnvironment (\ s a -> s{_iedTargetEnvironment = a});++-- | The ID of the resource being exported.+iedInstanceId :: Lens' InstanceExportDetails (Maybe Text)+iedInstanceId = lens _iedInstanceId (\ s a -> s{_iedInstanceId = a});++instance FromXML InstanceExportDetails where+ parseXML x+ = InstanceExportDetails' <$>+ (x .@? "targetEnvironment") <*> (x .@? "instanceId")++instance Hashable InstanceExportDetails++-- | Describes the monitoring information of the instance.+--+-- /See:/ 'instanceMonitoring' smart constructor.+data InstanceMonitoring = InstanceMonitoring'+ { _imInstanceId :: !(Maybe Text)+ , _imMonitoring :: !(Maybe Monitoring)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceMonitoring' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'imInstanceId'+--+-- * 'imMonitoring'+instanceMonitoring+ :: InstanceMonitoring+instanceMonitoring =+ InstanceMonitoring'+ { _imInstanceId = Nothing+ , _imMonitoring = Nothing+ }++-- | The ID of the instance.+imInstanceId :: Lens' InstanceMonitoring (Maybe Text)+imInstanceId = lens _imInstanceId (\ s a -> s{_imInstanceId = a});++-- | The monitoring information.+imMonitoring :: Lens' InstanceMonitoring (Maybe Monitoring)+imMonitoring = lens _imMonitoring (\ s a -> s{_imMonitoring = a});++instance FromXML InstanceMonitoring where+ parseXML x+ = InstanceMonitoring' <$>+ (x .@? "instanceId") <*> (x .@? "monitoring")++instance Hashable InstanceMonitoring++-- | Describes a network interface.+--+-- /See:/ 'instanceNetworkInterface' smart constructor.+data InstanceNetworkInterface = InstanceNetworkInterface'+ { _iniGroups :: !(Maybe [GroupIdentifier])+ , _iniStatus :: !(Maybe NetworkInterfaceStatus)+ , _iniPrivateIPAddresses :: !(Maybe [InstancePrivateIPAddress])+ , _iniSourceDestCheck :: !(Maybe Bool)+ , _iniVPCId :: !(Maybe Text)+ , _iniNetworkInterfaceId :: !(Maybe Text)+ , _iniSubnetId :: !(Maybe Text)+ , _iniMACAddress :: !(Maybe Text)+ , _iniAttachment :: !(Maybe InstanceNetworkInterfaceAttachment)+ , _iniOwnerId :: !(Maybe Text)+ , _iniPrivateIPAddress :: !(Maybe Text)+ , _iniPrivateDNSName :: !(Maybe Text)+ , _iniDescription :: !(Maybe Text)+ , _iniAssociation :: !(Maybe InstanceNetworkInterfaceAssociation)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceNetworkInterface' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iniGroups'+--+-- * 'iniStatus'+--+-- * 'iniPrivateIPAddresses'+--+-- * 'iniSourceDestCheck'+--+-- * 'iniVPCId'+--+-- * 'iniNetworkInterfaceId'+--+-- * 'iniSubnetId'+--+-- * 'iniMACAddress'+--+-- * 'iniAttachment'+--+-- * 'iniOwnerId'+--+-- * 'iniPrivateIPAddress'+--+-- * 'iniPrivateDNSName'+--+-- * 'iniDescription'+--+-- * 'iniAssociation'+instanceNetworkInterface+ :: InstanceNetworkInterface+instanceNetworkInterface =+ InstanceNetworkInterface'+ { _iniGroups = Nothing+ , _iniStatus = Nothing+ , _iniPrivateIPAddresses = Nothing+ , _iniSourceDestCheck = Nothing+ , _iniVPCId = Nothing+ , _iniNetworkInterfaceId = Nothing+ , _iniSubnetId = Nothing+ , _iniMACAddress = Nothing+ , _iniAttachment = Nothing+ , _iniOwnerId = Nothing+ , _iniPrivateIPAddress = Nothing+ , _iniPrivateDNSName = Nothing+ , _iniDescription = Nothing+ , _iniAssociation = Nothing+ }++-- | One or more security groups.+iniGroups :: Lens' InstanceNetworkInterface [GroupIdentifier]+iniGroups = lens _iniGroups (\ s a -> s{_iniGroups = a}) . _Default . _Coerce;++-- | The status of the network interface.+iniStatus :: Lens' InstanceNetworkInterface (Maybe NetworkInterfaceStatus)+iniStatus = lens _iniStatus (\ s a -> s{_iniStatus = a});++-- | The private IP addresses associated with the network interface.+iniPrivateIPAddresses :: Lens' InstanceNetworkInterface [InstancePrivateIPAddress]+iniPrivateIPAddresses = lens _iniPrivateIPAddresses (\ s a -> s{_iniPrivateIPAddresses = a}) . _Default . _Coerce;++-- | Indicates whether to validate network traffic to or from this network+-- interface.+iniSourceDestCheck :: Lens' InstanceNetworkInterface (Maybe Bool)+iniSourceDestCheck = lens _iniSourceDestCheck (\ s a -> s{_iniSourceDestCheck = a});++-- | The ID of the VPC.+iniVPCId :: Lens' InstanceNetworkInterface (Maybe Text)+iniVPCId = lens _iniVPCId (\ s a -> s{_iniVPCId = a});++-- | The ID of the network interface.+iniNetworkInterfaceId :: Lens' InstanceNetworkInterface (Maybe Text)+iniNetworkInterfaceId = lens _iniNetworkInterfaceId (\ s a -> s{_iniNetworkInterfaceId = a});++-- | The ID of the subnet.+iniSubnetId :: Lens' InstanceNetworkInterface (Maybe Text)+iniSubnetId = lens _iniSubnetId (\ s a -> s{_iniSubnetId = a});++-- | The MAC address.+iniMACAddress :: Lens' InstanceNetworkInterface (Maybe Text)+iniMACAddress = lens _iniMACAddress (\ s a -> s{_iniMACAddress = a});++-- | The network interface attachment.+iniAttachment :: Lens' InstanceNetworkInterface (Maybe InstanceNetworkInterfaceAttachment)+iniAttachment = lens _iniAttachment (\ s a -> s{_iniAttachment = a});++-- | The ID of the AWS account that created the network interface.+iniOwnerId :: Lens' InstanceNetworkInterface (Maybe Text)+iniOwnerId = lens _iniOwnerId (\ s a -> s{_iniOwnerId = a});++-- | The IP address of the network interface within the subnet.+iniPrivateIPAddress :: Lens' InstanceNetworkInterface (Maybe Text)+iniPrivateIPAddress = lens _iniPrivateIPAddress (\ s a -> s{_iniPrivateIPAddress = a});++-- | The private DNS name.+iniPrivateDNSName :: Lens' InstanceNetworkInterface (Maybe Text)+iniPrivateDNSName = lens _iniPrivateDNSName (\ s a -> s{_iniPrivateDNSName = a});++-- | The description.+iniDescription :: Lens' InstanceNetworkInterface (Maybe Text)+iniDescription = lens _iniDescription (\ s a -> s{_iniDescription = a});++-- | The association information for an Elastic IP associated with the+-- network interface.+iniAssociation :: Lens' InstanceNetworkInterface (Maybe InstanceNetworkInterfaceAssociation)+iniAssociation = lens _iniAssociation (\ s a -> s{_iniAssociation = a});++instance FromXML InstanceNetworkInterface where+ parseXML x+ = InstanceNetworkInterface' <$>+ (x .@? "groupSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "status")+ <*>+ (x .@? "privateIpAddressesSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "sourceDestCheck")+ <*> (x .@? "vpcId")+ <*> (x .@? "networkInterfaceId")+ <*> (x .@? "subnetId")+ <*> (x .@? "macAddress")+ <*> (x .@? "attachment")+ <*> (x .@? "ownerId")+ <*> (x .@? "privateIpAddress")+ <*> (x .@? "privateDnsName")+ <*> (x .@? "description")+ <*> (x .@? "association")++instance Hashable InstanceNetworkInterface++-- | Describes association information for an Elastic IP address.+--+-- /See:/ 'instanceNetworkInterfaceAssociation' smart constructor.+data InstanceNetworkInterfaceAssociation = InstanceNetworkInterfaceAssociation'+ { _iniaPublicDNSName :: !(Maybe Text)+ , _iniaIPOwnerId :: !(Maybe Text)+ , _iniaPublicIP :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceNetworkInterfaceAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iniaPublicDNSName'+--+-- * 'iniaIPOwnerId'+--+-- * 'iniaPublicIP'+instanceNetworkInterfaceAssociation+ :: InstanceNetworkInterfaceAssociation+instanceNetworkInterfaceAssociation =+ InstanceNetworkInterfaceAssociation'+ { _iniaPublicDNSName = Nothing+ , _iniaIPOwnerId = Nothing+ , _iniaPublicIP = Nothing+ }++-- | The public DNS name.+iniaPublicDNSName :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)+iniaPublicDNSName = lens _iniaPublicDNSName (\ s a -> s{_iniaPublicDNSName = a});++-- | The ID of the owner of the Elastic IP address.+iniaIPOwnerId :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)+iniaIPOwnerId = lens _iniaIPOwnerId (\ s a -> s{_iniaIPOwnerId = a});++-- | The public IP address or Elastic IP address bound to the network+-- interface.+iniaPublicIP :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)+iniaPublicIP = lens _iniaPublicIP (\ s a -> s{_iniaPublicIP = a});++instance FromXML InstanceNetworkInterfaceAssociation+ where+ parseXML x+ = InstanceNetworkInterfaceAssociation' <$>+ (x .@? "publicDnsName") <*> (x .@? "ipOwnerId") <*>+ (x .@? "publicIp")++instance Hashable InstanceNetworkInterfaceAssociation++-- | Describes a network interface attachment.+--+-- /See:/ 'instanceNetworkInterfaceAttachment' smart constructor.+data InstanceNetworkInterfaceAttachment = InstanceNetworkInterfaceAttachment'+ { _iniaStatus :: !(Maybe AttachmentStatus)+ , _iniaDeleteOnTermination :: !(Maybe Bool)+ , _iniaAttachmentId :: !(Maybe Text)+ , _iniaAttachTime :: !(Maybe ISO8601)+ , _iniaDeviceIndex :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceNetworkInterfaceAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iniaStatus'+--+-- * 'iniaDeleteOnTermination'+--+-- * 'iniaAttachmentId'+--+-- * 'iniaAttachTime'+--+-- * 'iniaDeviceIndex'+instanceNetworkInterfaceAttachment+ :: InstanceNetworkInterfaceAttachment+instanceNetworkInterfaceAttachment =+ InstanceNetworkInterfaceAttachment'+ { _iniaStatus = Nothing+ , _iniaDeleteOnTermination = Nothing+ , _iniaAttachmentId = Nothing+ , _iniaAttachTime = Nothing+ , _iniaDeviceIndex = Nothing+ }++-- | The attachment state.+iniaStatus :: Lens' InstanceNetworkInterfaceAttachment (Maybe AttachmentStatus)+iniaStatus = lens _iniaStatus (\ s a -> s{_iniaStatus = a});++-- | Indicates whether the network interface is deleted when the instance is+-- terminated.+iniaDeleteOnTermination :: Lens' InstanceNetworkInterfaceAttachment (Maybe Bool)+iniaDeleteOnTermination = lens _iniaDeleteOnTermination (\ s a -> s{_iniaDeleteOnTermination = a});++-- | The ID of the network interface attachment.+iniaAttachmentId :: Lens' InstanceNetworkInterfaceAttachment (Maybe Text)+iniaAttachmentId = lens _iniaAttachmentId (\ s a -> s{_iniaAttachmentId = a});++-- | The time stamp when the attachment initiated.+iniaAttachTime :: Lens' InstanceNetworkInterfaceAttachment (Maybe UTCTime)+iniaAttachTime = lens _iniaAttachTime (\ s a -> s{_iniaAttachTime = a}) . mapping _Time;++-- | The index of the device on the instance for the network interface+-- attachment.+iniaDeviceIndex :: Lens' InstanceNetworkInterfaceAttachment (Maybe Int)+iniaDeviceIndex = lens _iniaDeviceIndex (\ s a -> s{_iniaDeviceIndex = a});++instance FromXML InstanceNetworkInterfaceAttachment+ where+ parseXML x+ = InstanceNetworkInterfaceAttachment' <$>+ (x .@? "status") <*> (x .@? "deleteOnTermination")+ <*> (x .@? "attachmentId")+ <*> (x .@? "attachTime")+ <*> (x .@? "deviceIndex")++instance Hashable InstanceNetworkInterfaceAttachment++-- | Describes a network interface.+--+-- /See:/ 'instanceNetworkInterfaceSpecification' smart constructor.+data InstanceNetworkInterfaceSpecification = InstanceNetworkInterfaceSpecification'+ { _inisGroups :: !(Maybe [Text])+ , _inisPrivateIPAddresses :: !(Maybe [PrivateIPAddressSpecification])+ , _inisDeleteOnTermination :: !(Maybe Bool)+ , _inisAssociatePublicIPAddress :: !(Maybe Bool)+ , _inisNetworkInterfaceId :: !(Maybe Text)+ , _inisSubnetId :: !(Maybe Text)+ , _inisPrivateIPAddress :: !(Maybe Text)+ , _inisSecondaryPrivateIPAddressCount :: !(Maybe Int)+ , _inisDescription :: !(Maybe Text)+ , _inisDeviceIndex :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceNetworkInterfaceSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'inisGroups'+--+-- * 'inisPrivateIPAddresses'+--+-- * 'inisDeleteOnTermination'+--+-- * 'inisAssociatePublicIPAddress'+--+-- * 'inisNetworkInterfaceId'+--+-- * 'inisSubnetId'+--+-- * 'inisPrivateIPAddress'+--+-- * 'inisSecondaryPrivateIPAddressCount'+--+-- * 'inisDescription'+--+-- * 'inisDeviceIndex'+instanceNetworkInterfaceSpecification+ :: InstanceNetworkInterfaceSpecification+instanceNetworkInterfaceSpecification =+ InstanceNetworkInterfaceSpecification'+ { _inisGroups = Nothing+ , _inisPrivateIPAddresses = Nothing+ , _inisDeleteOnTermination = Nothing+ , _inisAssociatePublicIPAddress = Nothing+ , _inisNetworkInterfaceId = Nothing+ , _inisSubnetId = Nothing+ , _inisPrivateIPAddress = Nothing+ , _inisSecondaryPrivateIPAddressCount = Nothing+ , _inisDescription = Nothing+ , _inisDeviceIndex = Nothing+ }++-- | The IDs of the security groups for the network interface. Applies only+-- if creating a network interface when launching an instance.+inisGroups :: Lens' InstanceNetworkInterfaceSpecification [Text]+inisGroups = lens _inisGroups (\ s a -> s{_inisGroups = a}) . _Default . _Coerce;++-- | One or more private IP addresses to assign to the network interface.+-- Only one private IP address can be designated as primary.+inisPrivateIPAddresses :: Lens' InstanceNetworkInterfaceSpecification [PrivateIPAddressSpecification]+inisPrivateIPAddresses = lens _inisPrivateIPAddresses (\ s a -> s{_inisPrivateIPAddresses = a}) . _Default . _Coerce;++-- | If set to 'true', the interface is deleted when the instance is+-- terminated. You can specify 'true' only if creating a new network+-- interface when launching an instance.+inisDeleteOnTermination :: Lens' InstanceNetworkInterfaceSpecification (Maybe Bool)+inisDeleteOnTermination = lens _inisDeleteOnTermination (\ s a -> s{_inisDeleteOnTermination = a});++-- | Indicates whether to assign a public IP address to an instance you+-- launch in a VPC. The public IP address can only be assigned to a network+-- interface for eth0, and can only be assigned to a new network interface,+-- not an existing one. You cannot specify more than one network interface+-- in the request. If launching into a default subnet, the default value is+-- 'true'.+inisAssociatePublicIPAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Bool)+inisAssociatePublicIPAddress = lens _inisAssociatePublicIPAddress (\ s a -> s{_inisAssociatePublicIPAddress = a});++-- | The ID of the network interface.+inisNetworkInterfaceId :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)+inisNetworkInterfaceId = lens _inisNetworkInterfaceId (\ s a -> s{_inisNetworkInterfaceId = a});++-- | The ID of the subnet associated with the network string. Applies only if+-- creating a network interface when launching an instance.+inisSubnetId :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)+inisSubnetId = lens _inisSubnetId (\ s a -> s{_inisSubnetId = a});++-- | The private IP address of the network interface. Applies only if+-- creating a network interface when launching an instance.+inisPrivateIPAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)+inisPrivateIPAddress = lens _inisPrivateIPAddress (\ s a -> s{_inisPrivateIPAddress = a});++-- | The number of secondary private IP addresses. You can\'t specify this+-- option and specify more than one private IP address using the private IP+-- addresses option.+inisSecondaryPrivateIPAddressCount :: Lens' InstanceNetworkInterfaceSpecification (Maybe Int)+inisSecondaryPrivateIPAddressCount = lens _inisSecondaryPrivateIPAddressCount (\ s a -> s{_inisSecondaryPrivateIPAddressCount = a});++-- | The description of the network interface. Applies only if creating a+-- network interface when launching an instance.+inisDescription :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)+inisDescription = lens _inisDescription (\ s a -> s{_inisDescription = a});++-- | The index of the device on the instance for the network interface+-- attachment. If you are specifying a network interface in a+-- < RunInstances> request, you must provide the device index.+inisDeviceIndex :: Lens' InstanceNetworkInterfaceSpecification (Maybe Int)+inisDeviceIndex = lens _inisDeviceIndex (\ s a -> s{_inisDeviceIndex = a});++instance FromXML+ InstanceNetworkInterfaceSpecification where+ parseXML x+ = InstanceNetworkInterfaceSpecification' <$>+ (x .@? "SecurityGroupId" .!@ mempty >>=+ may (parseXMLList "SecurityGroupId"))+ <*>+ (x .@? "privateIpAddressesSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "deleteOnTermination")+ <*> (x .@? "associatePublicIpAddress")+ <*> (x .@? "networkInterfaceId")+ <*> (x .@? "subnetId")+ <*> (x .@? "privateIpAddress")+ <*> (x .@? "secondaryPrivateIpAddressCount")+ <*> (x .@? "description")+ <*> (x .@? "deviceIndex")++instance Hashable+ InstanceNetworkInterfaceSpecification++instance ToQuery+ InstanceNetworkInterfaceSpecification where+ toQuery InstanceNetworkInterfaceSpecification'{..}+ = mconcat+ [toQuery+ (toQueryList "SecurityGroupId" <$> _inisGroups),+ toQuery+ (toQueryList "PrivateIpAddresses" <$>+ _inisPrivateIPAddresses),+ "DeleteOnTermination" =: _inisDeleteOnTermination,+ "AssociatePublicIpAddress" =:+ _inisAssociatePublicIPAddress,+ "NetworkInterfaceId" =: _inisNetworkInterfaceId,+ "SubnetId" =: _inisSubnetId,+ "PrivateIpAddress" =: _inisPrivateIPAddress,+ "SecondaryPrivateIpAddressCount" =:+ _inisSecondaryPrivateIPAddressCount,+ "Description" =: _inisDescription,+ "DeviceIndex" =: _inisDeviceIndex]++-- | Describes a private IP address.+--+-- /See:/ 'instancePrivateIPAddress' smart constructor.+data InstancePrivateIPAddress = InstancePrivateIPAddress'+ { _ipiaPrimary :: !(Maybe Bool)+ , _ipiaPrivateIPAddress :: !(Maybe Text)+ , _ipiaPrivateDNSName :: !(Maybe Text)+ , _ipiaAssociation :: !(Maybe InstanceNetworkInterfaceAssociation)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancePrivateIPAddress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipiaPrimary'+--+-- * 'ipiaPrivateIPAddress'+--+-- * 'ipiaPrivateDNSName'+--+-- * 'ipiaAssociation'+instancePrivateIPAddress+ :: InstancePrivateIPAddress+instancePrivateIPAddress =+ InstancePrivateIPAddress'+ { _ipiaPrimary = Nothing+ , _ipiaPrivateIPAddress = Nothing+ , _ipiaPrivateDNSName = Nothing+ , _ipiaAssociation = Nothing+ }++-- | Indicates whether this IP address is the primary private IP address of+-- the network interface.+ipiaPrimary :: Lens' InstancePrivateIPAddress (Maybe Bool)+ipiaPrimary = lens _ipiaPrimary (\ s a -> s{_ipiaPrimary = a});++-- | The private IP address of the network interface.+ipiaPrivateIPAddress :: Lens' InstancePrivateIPAddress (Maybe Text)+ipiaPrivateIPAddress = lens _ipiaPrivateIPAddress (\ s a -> s{_ipiaPrivateIPAddress = a});++-- | The private DNS name.+ipiaPrivateDNSName :: Lens' InstancePrivateIPAddress (Maybe Text)+ipiaPrivateDNSName = lens _ipiaPrivateDNSName (\ s a -> s{_ipiaPrivateDNSName = a});++-- | The association information for an Elastic IP address for the network+-- interface.+ipiaAssociation :: Lens' InstancePrivateIPAddress (Maybe InstanceNetworkInterfaceAssociation)+ipiaAssociation = lens _ipiaAssociation (\ s a -> s{_ipiaAssociation = a});++instance FromXML InstancePrivateIPAddress where+ parseXML x+ = InstancePrivateIPAddress' <$>+ (x .@? "primary") <*> (x .@? "privateIpAddress") <*>+ (x .@? "privateDnsName")+ <*> (x .@? "association")++instance Hashable InstancePrivateIPAddress++-- | Describes the current state of the instance.+--+-- /See:/ 'instanceState' smart constructor.+data InstanceState = InstanceState'+ { _isName :: !InstanceStateName+ , _isCode :: !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'+--+-- * 'isCode'+instanceState+ :: InstanceStateName -- ^ 'isName'+ -> Int -- ^ 'isCode'+ -> InstanceState+instanceState pName_ pCode_ =+ InstanceState'+ { _isName = pName_+ , _isCode = pCode_+ }++-- | The current state of the instance.+isName :: Lens' InstanceState InstanceStateName+isName = lens _isName (\ s a -> s{_isName = a});++-- | The low byte represents the state. The high byte is an opaque internal+-- value and should be ignored.+--+-- - '0' : 'pending'+--+-- - '16' : 'running'+--+-- - '32' : 'shutting-down'+--+-- - '48' : 'terminated'+--+-- - '64' : 'stopping'+--+-- - '80' : 'stopped'+--+isCode :: Lens' InstanceState Int+isCode = lens _isCode (\ s a -> s{_isCode = a});++instance FromXML InstanceState where+ parseXML x+ = InstanceState' <$> (x .@ "name") <*> (x .@ "code")++instance Hashable InstanceState++-- | Describes an instance state change.+--+-- /See:/ 'instanceStateChange' smart constructor.+data InstanceStateChange = InstanceStateChange'+ { _iscInstanceId :: !(Maybe Text)+ , _iscCurrentState :: !(Maybe InstanceState)+ , _iscPreviousState :: !(Maybe InstanceState)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceStateChange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iscInstanceId'+--+-- * 'iscCurrentState'+--+-- * 'iscPreviousState'+instanceStateChange+ :: InstanceStateChange+instanceStateChange =+ InstanceStateChange'+ { _iscInstanceId = Nothing+ , _iscCurrentState = Nothing+ , _iscPreviousState = Nothing+ }++-- | The ID of the instance.+iscInstanceId :: Lens' InstanceStateChange (Maybe Text)+iscInstanceId = lens _iscInstanceId (\ s a -> s{_iscInstanceId = a});++-- | The current state of the instance.+iscCurrentState :: Lens' InstanceStateChange (Maybe InstanceState)+iscCurrentState = lens _iscCurrentState (\ s a -> s{_iscCurrentState = a});++-- | The previous state of the instance.+iscPreviousState :: Lens' InstanceStateChange (Maybe InstanceState)+iscPreviousState = lens _iscPreviousState (\ s a -> s{_iscPreviousState = a});++instance FromXML InstanceStateChange where+ parseXML x+ = InstanceStateChange' <$>+ (x .@? "instanceId") <*> (x .@? "currentState") <*>+ (x .@? "previousState")++instance Hashable InstanceStateChange++-- | Describes the status of an instance.+--+-- /See:/ 'instanceStatus' smart constructor.+data InstanceStatus = InstanceStatus'+ { _isInstanceId :: !(Maybe Text)+ , _isSystemStatus :: !(Maybe InstanceStatusSummary)+ , _isEvents :: !(Maybe [InstanceStatusEvent])+ , _isAvailabilityZone :: !(Maybe Text)+ , _isInstanceStatus :: !(Maybe InstanceStatusSummary)+ , _isInstanceState :: !(Maybe InstanceState)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isInstanceId'+--+-- * 'isSystemStatus'+--+-- * 'isEvents'+--+-- * 'isAvailabilityZone'+--+-- * 'isInstanceStatus'+--+-- * 'isInstanceState'+instanceStatus+ :: InstanceStatus+instanceStatus =+ InstanceStatus'+ { _isInstanceId = Nothing+ , _isSystemStatus = Nothing+ , _isEvents = Nothing+ , _isAvailabilityZone = Nothing+ , _isInstanceStatus = Nothing+ , _isInstanceState = Nothing+ }++-- | The ID of the instance.+isInstanceId :: Lens' InstanceStatus (Maybe Text)+isInstanceId = lens _isInstanceId (\ s a -> s{_isInstanceId = a});++-- | Reports impaired functionality that stems from issues related to the+-- systems that support an instance, such as hardware failures and network+-- connectivity problems.+isSystemStatus :: Lens' InstanceStatus (Maybe InstanceStatusSummary)+isSystemStatus = lens _isSystemStatus (\ s a -> s{_isSystemStatus = a});++-- | Any scheduled events associated with the instance.+isEvents :: Lens' InstanceStatus [InstanceStatusEvent]+isEvents = lens _isEvents (\ s a -> s{_isEvents = a}) . _Default . _Coerce;++-- | The Availability Zone of the instance.+isAvailabilityZone :: Lens' InstanceStatus (Maybe Text)+isAvailabilityZone = lens _isAvailabilityZone (\ s a -> s{_isAvailabilityZone = a});++-- | Reports impaired functionality that stems from issues internal to the+-- instance, such as impaired reachability.+isInstanceStatus :: Lens' InstanceStatus (Maybe InstanceStatusSummary)+isInstanceStatus = lens _isInstanceStatus (\ s a -> s{_isInstanceStatus = a});++-- | The intended state of the instance. < DescribeInstanceStatus> requires+-- that an instance be in the 'running' state.+isInstanceState :: Lens' InstanceStatus (Maybe InstanceState)+isInstanceState = lens _isInstanceState (\ s a -> s{_isInstanceState = a});++instance FromXML InstanceStatus where+ parseXML x+ = InstanceStatus' <$>+ (x .@? "instanceId") <*> (x .@? "systemStatus") <*>+ (x .@? "eventsSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "availabilityZone")+ <*> (x .@? "instanceStatus")+ <*> (x .@? "instanceState")++instance Hashable InstanceStatus++-- | Describes the instance status.+--+-- /See:/ 'instanceStatusDetails' smart constructor.+data InstanceStatusDetails = InstanceStatusDetails'+ { _isdStatus :: !(Maybe StatusType)+ , _isdImpairedSince :: !(Maybe ISO8601)+ , _isdName :: !(Maybe StatusName)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceStatusDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isdStatus'+--+-- * 'isdImpairedSince'+--+-- * 'isdName'+instanceStatusDetails+ :: InstanceStatusDetails+instanceStatusDetails =+ InstanceStatusDetails'+ { _isdStatus = Nothing+ , _isdImpairedSince = Nothing+ , _isdName = Nothing+ }++-- | The status.+isdStatus :: Lens' InstanceStatusDetails (Maybe StatusType)+isdStatus = lens _isdStatus (\ s a -> s{_isdStatus = a});++-- | The time when a status check failed. For an instance that was launched+-- and impaired, this is the time when the instance was launched.+isdImpairedSince :: Lens' InstanceStatusDetails (Maybe UTCTime)+isdImpairedSince = lens _isdImpairedSince (\ s a -> s{_isdImpairedSince = a}) . mapping _Time;++-- | The type of instance status.+isdName :: Lens' InstanceStatusDetails (Maybe StatusName)+isdName = lens _isdName (\ s a -> s{_isdName = a});++instance FromXML InstanceStatusDetails where+ parseXML x+ = InstanceStatusDetails' <$>+ (x .@? "status") <*> (x .@? "impairedSince") <*>+ (x .@? "name")++instance Hashable InstanceStatusDetails++-- | Describes a scheduled event for an instance.+--+-- /See:/ 'instanceStatusEvent' smart constructor.+data InstanceStatusEvent = InstanceStatusEvent'+ { _iseNotBefore :: !(Maybe ISO8601)+ , _iseCode :: !(Maybe EventCode)+ , _iseDescription :: !(Maybe Text)+ , _iseNotAfter :: !(Maybe ISO8601)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceStatusEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iseNotBefore'+--+-- * 'iseCode'+--+-- * 'iseDescription'+--+-- * 'iseNotAfter'+instanceStatusEvent+ :: InstanceStatusEvent+instanceStatusEvent =+ InstanceStatusEvent'+ { _iseNotBefore = Nothing+ , _iseCode = Nothing+ , _iseDescription = Nothing+ , _iseNotAfter = Nothing+ }++-- | The earliest scheduled start time for the event.+iseNotBefore :: Lens' InstanceStatusEvent (Maybe UTCTime)+iseNotBefore = lens _iseNotBefore (\ s a -> s{_iseNotBefore = a}) . mapping _Time;++-- | The event code.+iseCode :: Lens' InstanceStatusEvent (Maybe EventCode)+iseCode = lens _iseCode (\ s a -> s{_iseCode = a});++-- | A description of the event.+--+-- After a scheduled event is completed, it can still be described for up+-- to a week. If the event has been completed, this description starts with+-- the following text: [Completed].+iseDescription :: Lens' InstanceStatusEvent (Maybe Text)+iseDescription = lens _iseDescription (\ s a -> s{_iseDescription = a});++-- | The latest scheduled end time for the event.+iseNotAfter :: Lens' InstanceStatusEvent (Maybe UTCTime)+iseNotAfter = lens _iseNotAfter (\ s a -> s{_iseNotAfter = a}) . mapping _Time;++instance FromXML InstanceStatusEvent where+ parseXML x+ = InstanceStatusEvent' <$>+ (x .@? "notBefore") <*> (x .@? "code") <*>+ (x .@? "description")+ <*> (x .@? "notAfter")++instance Hashable InstanceStatusEvent++-- | Describes the status of an instance.+--+-- /See:/ 'instanceStatusSummary' smart constructor.+data InstanceStatusSummary = InstanceStatusSummary'+ { _issDetails :: !(Maybe [InstanceStatusDetails])+ , _issStatus :: !SummaryStatus+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceStatusSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'issDetails'+--+-- * 'issStatus'+instanceStatusSummary+ :: SummaryStatus -- ^ 'issStatus'+ -> InstanceStatusSummary+instanceStatusSummary pStatus_ =+ InstanceStatusSummary'+ { _issDetails = Nothing+ , _issStatus = pStatus_+ }++-- | The system instance health or application instance health.+issDetails :: Lens' InstanceStatusSummary [InstanceStatusDetails]+issDetails = lens _issDetails (\ s a -> s{_issDetails = a}) . _Default . _Coerce;++-- | The status.+issStatus :: Lens' InstanceStatusSummary SummaryStatus+issStatus = lens _issStatus (\ s a -> s{_issStatus = a});++instance FromXML InstanceStatusSummary where+ parseXML x+ = InstanceStatusSummary' <$>+ (x .@? "details" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "status")++instance Hashable InstanceStatusSummary++-- | Describes an Internet gateway.+--+-- /See:/ 'internetGateway' smart constructor.+data InternetGateway = InternetGateway'+ { _igAttachments :: !(Maybe [InternetGatewayAttachment])+ , _igTags :: !(Maybe [Tag])+ , _igInternetGatewayId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InternetGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igAttachments'+--+-- * 'igTags'+--+-- * 'igInternetGatewayId'+internetGateway+ :: Text -- ^ 'igInternetGatewayId'+ -> InternetGateway+internetGateway pInternetGatewayId_ =+ InternetGateway'+ { _igAttachments = Nothing+ , _igTags = Nothing+ , _igInternetGatewayId = pInternetGatewayId_+ }++-- | Any VPCs attached to the Internet gateway.+igAttachments :: Lens' InternetGateway [InternetGatewayAttachment]+igAttachments = lens _igAttachments (\ s a -> s{_igAttachments = a}) . _Default . _Coerce;++-- | Any tags assigned to the Internet gateway.+igTags :: Lens' InternetGateway [Tag]+igTags = lens _igTags (\ s a -> s{_igTags = a}) . _Default . _Coerce;++-- | The ID of the Internet gateway.+igInternetGatewayId :: Lens' InternetGateway Text+igInternetGatewayId = lens _igInternetGatewayId (\ s a -> s{_igInternetGatewayId = a});++instance FromXML InternetGateway where+ parseXML x+ = InternetGateway' <$>+ (x .@? "attachmentSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "internetGatewayId")++instance Hashable InternetGateway++-- | Describes the attachment of a VPC to an Internet gateway.+--+-- /See:/ 'internetGatewayAttachment' smart constructor.+data InternetGatewayAttachment = InternetGatewayAttachment'+ { _igaState :: !AttachmentStatus+ , _igaVPCId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InternetGatewayAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igaState'+--+-- * 'igaVPCId'+internetGatewayAttachment+ :: AttachmentStatus -- ^ 'igaState'+ -> Text -- ^ 'igaVPCId'+ -> InternetGatewayAttachment+internetGatewayAttachment pState_ pVPCId_ =+ InternetGatewayAttachment'+ { _igaState = pState_+ , _igaVPCId = pVPCId_+ }++-- | The current state of the attachment.+igaState :: Lens' InternetGatewayAttachment AttachmentStatus+igaState = lens _igaState (\ s a -> s{_igaState = a});++-- | The ID of the VPC.+igaVPCId :: Lens' InternetGatewayAttachment Text+igaVPCId = lens _igaVPCId (\ s a -> s{_igaVPCId = a});++instance FromXML InternetGatewayAttachment where+ parseXML x+ = InternetGatewayAttachment' <$>+ (x .@ "state") <*> (x .@ "vpcId")++instance Hashable InternetGatewayAttachment++-- | Describes a key pair.+--+-- /See:/ 'keyPairInfo' smart constructor.+data KeyPairInfo = KeyPairInfo'+ { _kpiKeyFingerprint :: !(Maybe Text)+ , _kpiKeyName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'KeyPairInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kpiKeyFingerprint'+--+-- * 'kpiKeyName'+keyPairInfo+ :: KeyPairInfo+keyPairInfo =+ KeyPairInfo'+ { _kpiKeyFingerprint = Nothing+ , _kpiKeyName = Nothing+ }++-- | If you used < CreateKeyPair> to create the key pair, this is the SHA-1+-- digest of the DER encoded private key. If you used < ImportKeyPair> to+-- provide AWS the public key, this is the MD5 public key fingerprint as+-- specified in section 4 of RFC4716.+kpiKeyFingerprint :: Lens' KeyPairInfo (Maybe Text)+kpiKeyFingerprint = lens _kpiKeyFingerprint (\ s a -> s{_kpiKeyFingerprint = a});++-- | The name of the key pair.+kpiKeyName :: Lens' KeyPairInfo (Maybe Text)+kpiKeyName = lens _kpiKeyName (\ s a -> s{_kpiKeyName = a});++instance FromXML KeyPairInfo where+ parseXML x+ = KeyPairInfo' <$>+ (x .@? "keyFingerprint") <*> (x .@? "keyName")++instance Hashable KeyPairInfo++-- | Describes a launch permission.+--+-- /See:/ 'launchPermission' smart constructor.+data LaunchPermission = LaunchPermission'+ { _lpGroup :: !(Maybe PermissionGroup)+ , _lpUserId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LaunchPermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpGroup'+--+-- * 'lpUserId'+launchPermission+ :: LaunchPermission+launchPermission =+ LaunchPermission'+ { _lpGroup = Nothing+ , _lpUserId = Nothing+ }++-- | The name of the group.+lpGroup :: Lens' LaunchPermission (Maybe PermissionGroup)+lpGroup = lens _lpGroup (\ s a -> s{_lpGroup = a});++-- | The AWS account ID.+lpUserId :: Lens' LaunchPermission (Maybe Text)+lpUserId = lens _lpUserId (\ s a -> s{_lpUserId = a});++instance FromXML LaunchPermission where+ parseXML x+ = LaunchPermission' <$>+ (x .@? "group") <*> (x .@? "userId")++instance Hashable LaunchPermission++instance ToQuery LaunchPermission where+ toQuery LaunchPermission'{..}+ = mconcat+ ["Group" =: _lpGroup, "UserId" =: _lpUserId]++-- | Describes a launch permission modification.+--+-- /See:/ 'launchPermissionModifications' smart constructor.+data LaunchPermissionModifications = LaunchPermissionModifications'+ { _lpmRemove :: !(Maybe [LaunchPermission])+ , _lpmAdd :: !(Maybe [LaunchPermission])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LaunchPermissionModifications' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpmRemove'+--+-- * 'lpmAdd'+launchPermissionModifications+ :: LaunchPermissionModifications+launchPermissionModifications =+ LaunchPermissionModifications'+ { _lpmRemove = Nothing+ , _lpmAdd = Nothing+ }++-- | The AWS account ID to remove from the list of launch permissions for the+-- AMI.+lpmRemove :: Lens' LaunchPermissionModifications [LaunchPermission]+lpmRemove = lens _lpmRemove (\ s a -> s{_lpmRemove = a}) . _Default . _Coerce;++-- | The AWS account ID to add to the list of launch permissions for the AMI.+lpmAdd :: Lens' LaunchPermissionModifications [LaunchPermission]+lpmAdd = lens _lpmAdd (\ s a -> s{_lpmAdd = a}) . _Default . _Coerce;++instance Hashable LaunchPermissionModifications++instance ToQuery LaunchPermissionModifications where+ toQuery LaunchPermissionModifications'{..}+ = mconcat+ [toQuery (toQueryList "Remove" <$> _lpmRemove),+ toQuery (toQueryList "Add" <$> _lpmAdd)]++-- | Describes the launch specification for an instance.+--+-- /See:/ 'launchSpecification' smart constructor.+data LaunchSpecification = LaunchSpecification'+ { _lsSecurityGroups :: !(Maybe [GroupIdentifier])+ , _lsKeyName :: !(Maybe Text)+ , _lsNetworkInterfaces :: !(Maybe [InstanceNetworkInterfaceSpecification])+ , _lsRAMDiskId :: !(Maybe Text)+ , _lsSubnetId :: !(Maybe Text)+ , _lsKernelId :: !(Maybe Text)+ , _lsInstanceType :: !(Maybe InstanceType)+ , _lsEBSOptimized :: !(Maybe Bool)+ , _lsUserData :: !(Maybe Text)+ , _lsMonitoring :: !(Maybe RunInstancesMonitoringEnabled)+ , _lsIAMInstanceProfile :: !(Maybe IAMInstanceProfileSpecification)+ , _lsImageId :: !(Maybe Text)+ , _lsAddressingType :: !(Maybe Text)+ , _lsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+ , _lsPlacement :: !(Maybe SpotPlacement)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LaunchSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsSecurityGroups'+--+-- * 'lsKeyName'+--+-- * 'lsNetworkInterfaces'+--+-- * 'lsRAMDiskId'+--+-- * 'lsSubnetId'+--+-- * 'lsKernelId'+--+-- * 'lsInstanceType'+--+-- * 'lsEBSOptimized'+--+-- * 'lsUserData'+--+-- * 'lsMonitoring'+--+-- * 'lsIAMInstanceProfile'+--+-- * 'lsImageId'+--+-- * 'lsAddressingType'+--+-- * 'lsBlockDeviceMappings'+--+-- * 'lsPlacement'+launchSpecification+ :: LaunchSpecification+launchSpecification =+ LaunchSpecification'+ { _lsSecurityGroups = Nothing+ , _lsKeyName = Nothing+ , _lsNetworkInterfaces = Nothing+ , _lsRAMDiskId = Nothing+ , _lsSubnetId = Nothing+ , _lsKernelId = Nothing+ , _lsInstanceType = Nothing+ , _lsEBSOptimized = Nothing+ , _lsUserData = Nothing+ , _lsMonitoring = Nothing+ , _lsIAMInstanceProfile = Nothing+ , _lsImageId = Nothing+ , _lsAddressingType = Nothing+ , _lsBlockDeviceMappings = Nothing+ , _lsPlacement = Nothing+ }++-- | One or more security groups. When requesting instances in a VPC, you+-- must specify the IDs of the security groups. When requesting instances+-- in EC2-Classic, you can specify the names or the IDs of the security+-- groups.+lsSecurityGroups :: Lens' LaunchSpecification [GroupIdentifier]+lsSecurityGroups = lens _lsSecurityGroups (\ s a -> s{_lsSecurityGroups = a}) . _Default . _Coerce;++-- | The name of the key pair.+lsKeyName :: Lens' LaunchSpecification (Maybe Text)+lsKeyName = lens _lsKeyName (\ s a -> s{_lsKeyName = a});++-- | One or more network interfaces.+lsNetworkInterfaces :: Lens' LaunchSpecification [InstanceNetworkInterfaceSpecification]+lsNetworkInterfaces = lens _lsNetworkInterfaces (\ s a -> s{_lsNetworkInterfaces = a}) . _Default . _Coerce;++-- | The ID of the RAM disk.+lsRAMDiskId :: Lens' LaunchSpecification (Maybe Text)+lsRAMDiskId = lens _lsRAMDiskId (\ s a -> s{_lsRAMDiskId = a});++-- | The ID of the subnet in which to launch the instance.+lsSubnetId :: Lens' LaunchSpecification (Maybe Text)+lsSubnetId = lens _lsSubnetId (\ s a -> s{_lsSubnetId = a});++-- | The ID of the kernel.+lsKernelId :: Lens' LaunchSpecification (Maybe Text)+lsKernelId = lens _lsKernelId (\ s a -> s{_lsKernelId = a});++-- | The instance type.+lsInstanceType :: Lens' LaunchSpecification (Maybe InstanceType)+lsInstanceType = lens _lsInstanceType (\ s a -> s{_lsInstanceType = a});++-- | Indicates whether the instance is optimized for EBS I\/O. This+-- optimization provides dedicated throughput to Amazon EBS and an+-- optimized configuration stack to provide optimal EBS I\/O performance.+-- This optimization isn\'t available with all instance types. Additional+-- usage charges apply when using an EBS Optimized instance.+--+-- Default: 'false'+lsEBSOptimized :: Lens' LaunchSpecification (Maybe Bool)+lsEBSOptimized = lens _lsEBSOptimized (\ s a -> s{_lsEBSOptimized = a});++-- | The Base64-encoded MIME user data to make available to the instances.+lsUserData :: Lens' LaunchSpecification (Maybe Text)+lsUserData = lens _lsUserData (\ s a -> s{_lsUserData = a});++-- | Undocumented member.+lsMonitoring :: Lens' LaunchSpecification (Maybe RunInstancesMonitoringEnabled)+lsMonitoring = lens _lsMonitoring (\ s a -> s{_lsMonitoring = a});++-- | The IAM instance profile.+lsIAMInstanceProfile :: Lens' LaunchSpecification (Maybe IAMInstanceProfileSpecification)+lsIAMInstanceProfile = lens _lsIAMInstanceProfile (\ s a -> s{_lsIAMInstanceProfile = a});++-- | The ID of the AMI.+lsImageId :: Lens' LaunchSpecification (Maybe Text)+lsImageId = lens _lsImageId (\ s a -> s{_lsImageId = a});++-- | Deprecated.+lsAddressingType :: Lens' LaunchSpecification (Maybe Text)+lsAddressingType = lens _lsAddressingType (\ s a -> s{_lsAddressingType = a});++-- | One or more block device mapping entries.+lsBlockDeviceMappings :: Lens' LaunchSpecification [BlockDeviceMapping]+lsBlockDeviceMappings = lens _lsBlockDeviceMappings (\ s a -> s{_lsBlockDeviceMappings = a}) . _Default . _Coerce;++-- | The placement information for the instance.+lsPlacement :: Lens' LaunchSpecification (Maybe SpotPlacement)+lsPlacement = lens _lsPlacement (\ s a -> s{_lsPlacement = a});++instance FromXML LaunchSpecification where+ parseXML x+ = LaunchSpecification' <$>+ (x .@? "groupSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "keyName")+ <*>+ (x .@? "networkInterfaceSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "ramdiskId")+ <*> (x .@? "subnetId")+ <*> (x .@? "kernelId")+ <*> (x .@? "instanceType")+ <*> (x .@? "ebsOptimized")+ <*> (x .@? "userData")+ <*> (x .@? "monitoring")+ <*> (x .@? "iamInstanceProfile")+ <*> (x .@? "imageId")+ <*> (x .@? "addressingType")+ <*>+ (x .@? "blockDeviceMapping" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "placement")++instance Hashable LaunchSpecification++-- | Describes the monitoring for the instance.+--+-- /See:/ 'monitoring' smart constructor.+newtype Monitoring = Monitoring'+ { _mState :: Maybe MonitoringState+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Monitoring' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mState'+monitoring+ :: Monitoring+monitoring =+ Monitoring'+ { _mState = Nothing+ }++-- | Indicates whether monitoring is enabled for the instance.+mState :: Lens' Monitoring (Maybe MonitoringState)+mState = lens _mState (\ s a -> s{_mState = a});++instance FromXML Monitoring where+ parseXML x = Monitoring' <$> (x .@? "state")++instance Hashable Monitoring++-- | Describes the status of a moving Elastic IP address.+--+-- /See:/ 'movingAddressStatus' smart constructor.+data MovingAddressStatus = MovingAddressStatus'+ { _masMoveStatus :: !(Maybe MoveStatus)+ , _masPublicIP :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MovingAddressStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'masMoveStatus'+--+-- * 'masPublicIP'+movingAddressStatus+ :: MovingAddressStatus+movingAddressStatus =+ MovingAddressStatus'+ { _masMoveStatus = Nothing+ , _masPublicIP = Nothing+ }++-- | The status of the Elastic IP address that\'s being moved to the EC2-VPC+-- platform, or restored to the EC2-Classic platform.+masMoveStatus :: Lens' MovingAddressStatus (Maybe MoveStatus)+masMoveStatus = lens _masMoveStatus (\ s a -> s{_masMoveStatus = a});++-- | The Elastic IP address.+masPublicIP :: Lens' MovingAddressStatus (Maybe Text)+masPublicIP = lens _masPublicIP (\ s a -> s{_masPublicIP = a});++instance FromXML MovingAddressStatus where+ parseXML x+ = MovingAddressStatus' <$>+ (x .@? "moveStatus") <*> (x .@? "publicIp")++instance Hashable MovingAddressStatus++-- | Describes a NAT gateway.+--+-- /See:/ 'natGateway' smart constructor.+data NatGateway = NatGateway'+ { _ngState :: !(Maybe NatGatewayState)+ , _ngFailureCode :: !(Maybe Text)+ , _ngVPCId :: !(Maybe Text)+ , _ngFailureMessage :: !(Maybe Text)+ , _ngNatGatewayId :: !(Maybe Text)+ , _ngSubnetId :: !(Maybe Text)+ , _ngDeleteTime :: !(Maybe ISO8601)+ , _ngNatGatewayAddresses :: !(Maybe [NatGatewayAddress])+ , _ngCreateTime :: !(Maybe ISO8601)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NatGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ngState'+--+-- * 'ngFailureCode'+--+-- * 'ngVPCId'+--+-- * 'ngFailureMessage'+--+-- * 'ngNatGatewayId'+--+-- * 'ngSubnetId'+--+-- * 'ngDeleteTime'+--+-- * 'ngNatGatewayAddresses'+--+-- * 'ngCreateTime'+natGateway+ :: NatGateway+natGateway =+ NatGateway'+ { _ngState = Nothing+ , _ngFailureCode = Nothing+ , _ngVPCId = Nothing+ , _ngFailureMessage = Nothing+ , _ngNatGatewayId = Nothing+ , _ngSubnetId = Nothing+ , _ngDeleteTime = Nothing+ , _ngNatGatewayAddresses = Nothing+ , _ngCreateTime = Nothing+ }++-- | The state of the NAT gateway.+ngState :: Lens' NatGateway (Maybe NatGatewayState)+ngState = lens _ngState (\ s a -> s{_ngState = a});++-- | If the NAT gateway could not be created, specifies the error code for+-- the failure. ('InsufficientFreeAddressesInSubnet' |+-- 'Gateway.NotAttached' | 'InvalidAllocationID.NotFound' |+-- 'Resource.AlreadyAssociated' | 'InternalError' |+-- 'InvalidSubnetID.NotFound')+ngFailureCode :: Lens' NatGateway (Maybe Text)+ngFailureCode = lens _ngFailureCode (\ s a -> s{_ngFailureCode = a});++-- | The ID of the VPC in which the NAT gateway is located.+ngVPCId :: Lens' NatGateway (Maybe Text)+ngVPCId = lens _ngVPCId (\ s a -> s{_ngVPCId = a});++-- | If the NAT gateway could not be created, specifies the error message for+-- the failure, that corresponds to the error code.+--+-- - For InsufficientFreeAddressesInSubnet:+-- 'Subnet has insufficient free addresses to create this NAT gateway'+-- - For Gateway.NotAttached:+-- 'Network vpc-xxxxxxxx has no Internet gateway attached'+-- - For InvalidAllocationID.NotFound:+-- 'Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway'+-- - For Resource.AlreadyAssociated:+-- 'Elastic IP address eipalloc-xxxxxxxx is already associated'+-- - For InternalError:+-- 'Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again.'+-- - For InvalidSubnetID.NotFound:+-- 'The specified subnet subnet-xxxxxxxx does not exist or could not be found.'+ngFailureMessage :: Lens' NatGateway (Maybe Text)+ngFailureMessage = lens _ngFailureMessage (\ s a -> s{_ngFailureMessage = a});++-- | The ID of the NAT gateway.+ngNatGatewayId :: Lens' NatGateway (Maybe Text)+ngNatGatewayId = lens _ngNatGatewayId (\ s a -> s{_ngNatGatewayId = a});++-- | The ID of the subnet in which the NAT gateway is located.+ngSubnetId :: Lens' NatGateway (Maybe Text)+ngSubnetId = lens _ngSubnetId (\ s a -> s{_ngSubnetId = a});++-- | The date and time the NAT gateway was deleted, if applicable.+ngDeleteTime :: Lens' NatGateway (Maybe UTCTime)+ngDeleteTime = lens _ngDeleteTime (\ s a -> s{_ngDeleteTime = a}) . mapping _Time;++-- | Information about the IP addresses and network interface associated with+-- the NAT gateway.+ngNatGatewayAddresses :: Lens' NatGateway [NatGatewayAddress]+ngNatGatewayAddresses = lens _ngNatGatewayAddresses (\ s a -> s{_ngNatGatewayAddresses = a}) . _Default . _Coerce;++-- | The date and time the NAT gateway was created.+ngCreateTime :: Lens' NatGateway (Maybe UTCTime)+ngCreateTime = lens _ngCreateTime (\ s a -> s{_ngCreateTime = a}) . mapping _Time;++instance FromXML NatGateway where+ parseXML x+ = NatGateway' <$>+ (x .@? "state") <*> (x .@? "failureCode") <*>+ (x .@? "vpcId")+ <*> (x .@? "failureMessage")+ <*> (x .@? "natGatewayId")+ <*> (x .@? "subnetId")+ <*> (x .@? "deleteTime")+ <*>+ (x .@? "natGatewayAddressSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "createTime")++instance Hashable NatGateway++-- | Describes the IP addresses and network interface associated with a NAT+-- gateway.+--+-- /See:/ 'natGatewayAddress' smart constructor.+data NatGatewayAddress = NatGatewayAddress'+ { _ngaPrivateIP :: !(Maybe Text)+ , _ngaAllocationId :: !(Maybe Text)+ , _ngaNetworkInterfaceId :: !(Maybe Text)+ , _ngaPublicIP :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NatGatewayAddress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ngaPrivateIP'+--+-- * 'ngaAllocationId'+--+-- * 'ngaNetworkInterfaceId'+--+-- * 'ngaPublicIP'+natGatewayAddress+ :: NatGatewayAddress+natGatewayAddress =+ NatGatewayAddress'+ { _ngaPrivateIP = Nothing+ , _ngaAllocationId = Nothing+ , _ngaNetworkInterfaceId = Nothing+ , _ngaPublicIP = Nothing+ }++-- | The private IP address associated with the Elastic IP address.+ngaPrivateIP :: Lens' NatGatewayAddress (Maybe Text)+ngaPrivateIP = lens _ngaPrivateIP (\ s a -> s{_ngaPrivateIP = a});++-- | The allocation ID of the Elastic IP address that\'s associated with the+-- NAT gateway.+ngaAllocationId :: Lens' NatGatewayAddress (Maybe Text)+ngaAllocationId = lens _ngaAllocationId (\ s a -> s{_ngaAllocationId = a});++-- | The ID of the network interface associated with the NAT gateway.+ngaNetworkInterfaceId :: Lens' NatGatewayAddress (Maybe Text)+ngaNetworkInterfaceId = lens _ngaNetworkInterfaceId (\ s a -> s{_ngaNetworkInterfaceId = a});++-- | The Elastic IP address associated with the NAT gateway.+ngaPublicIP :: Lens' NatGatewayAddress (Maybe Text)+ngaPublicIP = lens _ngaPublicIP (\ s a -> s{_ngaPublicIP = a});++instance FromXML NatGatewayAddress where+ parseXML x+ = NatGatewayAddress' <$>+ (x .@? "privateIp") <*> (x .@? "allocationId") <*>+ (x .@? "networkInterfaceId")+ <*> (x .@? "publicIp")++instance Hashable NatGatewayAddress++-- | Describes a network ACL.+--+-- /See:/ 'networkACL' smart constructor.+data NetworkACL = NetworkACL'+ { _naEntries :: !(Maybe [NetworkACLEntry])+ , _naNetworkACLId :: !(Maybe Text)+ , _naVPCId :: !(Maybe Text)+ , _naAssociations :: !(Maybe [NetworkACLAssociation])+ , _naTags :: !(Maybe [Tag])+ , _naIsDefault :: !(Maybe Bool)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkACL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'naEntries'+--+-- * 'naNetworkACLId'+--+-- * 'naVPCId'+--+-- * 'naAssociations'+--+-- * 'naTags'+--+-- * 'naIsDefault'+networkACL+ :: NetworkACL+networkACL =+ NetworkACL'+ { _naEntries = Nothing+ , _naNetworkACLId = Nothing+ , _naVPCId = Nothing+ , _naAssociations = Nothing+ , _naTags = Nothing+ , _naIsDefault = Nothing+ }++-- | One or more entries (rules) in the network ACL.+naEntries :: Lens' NetworkACL [NetworkACLEntry]+naEntries = lens _naEntries (\ s a -> s{_naEntries = a}) . _Default . _Coerce;++-- | The ID of the network ACL.+naNetworkACLId :: Lens' NetworkACL (Maybe Text)+naNetworkACLId = lens _naNetworkACLId (\ s a -> s{_naNetworkACLId = a});++-- | The ID of the VPC for the network ACL.+naVPCId :: Lens' NetworkACL (Maybe Text)+naVPCId = lens _naVPCId (\ s a -> s{_naVPCId = a});++-- | Any associations between the network ACL and one or more subnets+naAssociations :: Lens' NetworkACL [NetworkACLAssociation]+naAssociations = lens _naAssociations (\ s a -> s{_naAssociations = a}) . _Default . _Coerce;++-- | Any tags assigned to the network ACL.+naTags :: Lens' NetworkACL [Tag]+naTags = lens _naTags (\ s a -> s{_naTags = a}) . _Default . _Coerce;++-- | Indicates whether this is the default network ACL for the VPC.+naIsDefault :: Lens' NetworkACL (Maybe Bool)+naIsDefault = lens _naIsDefault (\ s a -> s{_naIsDefault = a});++instance FromXML NetworkACL where+ parseXML x+ = NetworkACL' <$>+ (x .@? "entrySet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "networkAclId")+ <*> (x .@? "vpcId")+ <*>+ (x .@? "associationSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "default")++instance Hashable NetworkACL++-- | Describes an association between a network ACL and a subnet.+--+-- /See:/ 'networkACLAssociation' smart constructor.+data NetworkACLAssociation = NetworkACLAssociation'+ { _naaNetworkACLId :: !(Maybe Text)+ , _naaSubnetId :: !(Maybe Text)+ , _naaNetworkACLAssociationId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkACLAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'naaNetworkACLId'+--+-- * 'naaSubnetId'+--+-- * 'naaNetworkACLAssociationId'+networkACLAssociation+ :: NetworkACLAssociation+networkACLAssociation =+ NetworkACLAssociation'+ { _naaNetworkACLId = Nothing+ , _naaSubnetId = Nothing+ , _naaNetworkACLAssociationId = Nothing+ }++-- | The ID of the network ACL.+naaNetworkACLId :: Lens' NetworkACLAssociation (Maybe Text)+naaNetworkACLId = lens _naaNetworkACLId (\ s a -> s{_naaNetworkACLId = a});++-- | The ID of the subnet.+naaSubnetId :: Lens' NetworkACLAssociation (Maybe Text)+naaSubnetId = lens _naaSubnetId (\ s a -> s{_naaSubnetId = a});++-- | The ID of the association between a network ACL and a subnet.+naaNetworkACLAssociationId :: Lens' NetworkACLAssociation (Maybe Text)+naaNetworkACLAssociationId = lens _naaNetworkACLAssociationId (\ s a -> s{_naaNetworkACLAssociationId = a});++instance FromXML NetworkACLAssociation where+ parseXML x+ = NetworkACLAssociation' <$>+ (x .@? "networkAclId") <*> (x .@? "subnetId") <*>+ (x .@? "networkAclAssociationId")++instance Hashable NetworkACLAssociation++-- | Describes an entry in a network ACL.+--+-- /See:/ 'networkACLEntry' smart constructor.+data NetworkACLEntry = NetworkACLEntry'+ { _naeICMPTypeCode :: !(Maybe ICMPTypeCode)+ , _naeRuleNumber :: !(Maybe Int)+ , _naeRuleAction :: !(Maybe RuleAction)+ , _naeProtocol :: !(Maybe Text)+ , _naePortRange :: !(Maybe PortRange)+ , _naeCIdRBlock :: !(Maybe Text)+ , _naeEgress :: !(Maybe Bool)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkACLEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'naeICMPTypeCode'+--+-- * 'naeRuleNumber'+--+-- * 'naeRuleAction'+--+-- * 'naeProtocol'+--+-- * 'naePortRange'+--+-- * 'naeCIdRBlock'+--+-- * 'naeEgress'+networkACLEntry+ :: NetworkACLEntry+networkACLEntry =+ NetworkACLEntry'+ { _naeICMPTypeCode = Nothing+ , _naeRuleNumber = Nothing+ , _naeRuleAction = Nothing+ , _naeProtocol = Nothing+ , _naePortRange = Nothing+ , _naeCIdRBlock = Nothing+ , _naeEgress = Nothing+ }++-- | ICMP protocol: The ICMP type and code.+naeICMPTypeCode :: Lens' NetworkACLEntry (Maybe ICMPTypeCode)+naeICMPTypeCode = lens _naeICMPTypeCode (\ s a -> s{_naeICMPTypeCode = a});++-- | The rule number for the entry. ACL entries are processed in ascending+-- order by rule number.+naeRuleNumber :: Lens' NetworkACLEntry (Maybe Int)+naeRuleNumber = lens _naeRuleNumber (\ s a -> s{_naeRuleNumber = a});++-- | Indicates whether to allow or deny the traffic that matches the rule.+naeRuleAction :: Lens' NetworkACLEntry (Maybe RuleAction)+naeRuleAction = lens _naeRuleAction (\ s a -> s{_naeRuleAction = a});++-- | The protocol. A value of '-1' means all protocols.+naeProtocol :: Lens' NetworkACLEntry (Maybe Text)+naeProtocol = lens _naeProtocol (\ s a -> s{_naeProtocol = a});++-- | TCP or UDP protocols: The range of ports the rule applies to.+naePortRange :: Lens' NetworkACLEntry (Maybe PortRange)+naePortRange = lens _naePortRange (\ s a -> s{_naePortRange = a});++-- | The network range to allow or deny, in CIDR notation.+naeCIdRBlock :: Lens' NetworkACLEntry (Maybe Text)+naeCIdRBlock = lens _naeCIdRBlock (\ s a -> s{_naeCIdRBlock = a});++-- | Indicates whether the rule is an egress rule (applied to traffic leaving+-- the subnet).+naeEgress :: Lens' NetworkACLEntry (Maybe Bool)+naeEgress = lens _naeEgress (\ s a -> s{_naeEgress = a});++instance FromXML NetworkACLEntry where+ parseXML x+ = NetworkACLEntry' <$>+ (x .@? "icmpTypeCode") <*> (x .@? "ruleNumber") <*>+ (x .@? "ruleAction")+ <*> (x .@? "protocol")+ <*> (x .@? "portRange")+ <*> (x .@? "cidrBlock")+ <*> (x .@? "egress")++instance Hashable NetworkACLEntry++-- | Describes a network interface.+--+-- /See:/ 'networkInterface' smart constructor.+data NetworkInterface = NetworkInterface'+ { _niGroups :: !(Maybe [GroupIdentifier])+ , _niStatus :: !(Maybe NetworkInterfaceStatus)+ , _niPrivateIPAddresses :: !(Maybe [NetworkInterfacePrivateIPAddress])+ , _niSourceDestCheck :: !(Maybe Bool)+ , _niInterfaceType :: !(Maybe NetworkInterfaceType)+ , _niVPCId :: !(Maybe Text)+ , _niTagSet :: !(Maybe [Tag])+ , _niRequesterManaged :: !(Maybe Bool)+ , _niNetworkInterfaceId :: !(Maybe Text)+ , _niSubnetId :: !(Maybe Text)+ , _niMACAddress :: !(Maybe Text)+ , _niAttachment :: !(Maybe NetworkInterfaceAttachment)+ , _niOwnerId :: !(Maybe Text)+ , _niAvailabilityZone :: !(Maybe Text)+ , _niPrivateIPAddress :: !(Maybe Text)+ , _niPrivateDNSName :: !(Maybe Text)+ , _niRequesterId :: !(Maybe Text)+ , _niDescription :: !(Maybe Text)+ , _niAssociation :: !(Maybe NetworkInterfaceAssociation)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInterface' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niGroups'+--+-- * 'niStatus'+--+-- * 'niPrivateIPAddresses'+--+-- * 'niSourceDestCheck'+--+-- * 'niInterfaceType'+--+-- * 'niVPCId'+--+-- * 'niTagSet'+--+-- * 'niRequesterManaged'+--+-- * 'niNetworkInterfaceId'+--+-- * 'niSubnetId'+--+-- * 'niMACAddress'+--+-- * 'niAttachment'+--+-- * 'niOwnerId'+--+-- * 'niAvailabilityZone'+--+-- * 'niPrivateIPAddress'+--+-- * 'niPrivateDNSName'+--+-- * 'niRequesterId'+--+-- * 'niDescription'+--+-- * 'niAssociation'+networkInterface+ :: NetworkInterface+networkInterface =+ NetworkInterface'+ { _niGroups = Nothing+ , _niStatus = Nothing+ , _niPrivateIPAddresses = Nothing+ , _niSourceDestCheck = Nothing+ , _niInterfaceType = Nothing+ , _niVPCId = Nothing+ , _niTagSet = Nothing+ , _niRequesterManaged = Nothing+ , _niNetworkInterfaceId = Nothing+ , _niSubnetId = Nothing+ , _niMACAddress = Nothing+ , _niAttachment = Nothing+ , _niOwnerId = Nothing+ , _niAvailabilityZone = Nothing+ , _niPrivateIPAddress = Nothing+ , _niPrivateDNSName = Nothing+ , _niRequesterId = Nothing+ , _niDescription = Nothing+ , _niAssociation = Nothing+ }++-- | Any security groups for the network interface.+niGroups :: Lens' NetworkInterface [GroupIdentifier]+niGroups = lens _niGroups (\ s a -> s{_niGroups = a}) . _Default . _Coerce;++-- | The status of the network interface.+niStatus :: Lens' NetworkInterface (Maybe NetworkInterfaceStatus)+niStatus = lens _niStatus (\ s a -> s{_niStatus = a});++-- | The private IP addresses associated with the network interface.+niPrivateIPAddresses :: Lens' NetworkInterface [NetworkInterfacePrivateIPAddress]+niPrivateIPAddresses = lens _niPrivateIPAddresses (\ s a -> s{_niPrivateIPAddresses = a}) . _Default . _Coerce;++-- | Indicates whether traffic to or from the instance is validated.+niSourceDestCheck :: Lens' NetworkInterface (Maybe Bool)+niSourceDestCheck = lens _niSourceDestCheck (\ s a -> s{_niSourceDestCheck = a});++-- | The type of interface.+niInterfaceType :: Lens' NetworkInterface (Maybe NetworkInterfaceType)+niInterfaceType = lens _niInterfaceType (\ s a -> s{_niInterfaceType = a});++-- | The ID of the VPC.+niVPCId :: Lens' NetworkInterface (Maybe Text)+niVPCId = lens _niVPCId (\ s a -> s{_niVPCId = a});++-- | Any tags assigned to the network interface.+niTagSet :: Lens' NetworkInterface [Tag]+niTagSet = lens _niTagSet (\ s a -> s{_niTagSet = a}) . _Default . _Coerce;++-- | Indicates whether the network interface is being managed by AWS.+niRequesterManaged :: Lens' NetworkInterface (Maybe Bool)+niRequesterManaged = lens _niRequesterManaged (\ s a -> s{_niRequesterManaged = a});++-- | The ID of the network interface.+niNetworkInterfaceId :: Lens' NetworkInterface (Maybe Text)+niNetworkInterfaceId = lens _niNetworkInterfaceId (\ s a -> s{_niNetworkInterfaceId = a});++-- | The ID of the subnet.+niSubnetId :: Lens' NetworkInterface (Maybe Text)+niSubnetId = lens _niSubnetId (\ s a -> s{_niSubnetId = a});++-- | The MAC address.+niMACAddress :: Lens' NetworkInterface (Maybe Text)+niMACAddress = lens _niMACAddress (\ s a -> s{_niMACAddress = a});++-- | The network interface attachment.+niAttachment :: Lens' NetworkInterface (Maybe NetworkInterfaceAttachment)+niAttachment = lens _niAttachment (\ s a -> s{_niAttachment = a});++-- | The AWS account ID of the owner of the network interface.+niOwnerId :: Lens' NetworkInterface (Maybe Text)+niOwnerId = lens _niOwnerId (\ s a -> s{_niOwnerId = a});++-- | The Availability Zone.+niAvailabilityZone :: Lens' NetworkInterface (Maybe Text)+niAvailabilityZone = lens _niAvailabilityZone (\ s a -> s{_niAvailabilityZone = a});++-- | The IP address of the network interface within the subnet.+niPrivateIPAddress :: Lens' NetworkInterface (Maybe Text)+niPrivateIPAddress = lens _niPrivateIPAddress (\ s a -> s{_niPrivateIPAddress = a});++-- | The private DNS name.+niPrivateDNSName :: Lens' NetworkInterface (Maybe Text)+niPrivateDNSName = lens _niPrivateDNSName (\ s a -> s{_niPrivateDNSName = a});++-- | The ID of the entity that launched the instance on your behalf (for+-- example, AWS Management Console or Auto Scaling).+niRequesterId :: Lens' NetworkInterface (Maybe Text)+niRequesterId = lens _niRequesterId (\ s a -> s{_niRequesterId = a});++-- | A description.+niDescription :: Lens' NetworkInterface (Maybe Text)+niDescription = lens _niDescription (\ s a -> s{_niDescription = a});++-- | The association information for an Elastic IP associated with the+-- network interface.+niAssociation :: Lens' NetworkInterface (Maybe NetworkInterfaceAssociation)+niAssociation = lens _niAssociation (\ s a -> s{_niAssociation = a});++instance FromXML NetworkInterface where+ parseXML x+ = NetworkInterface' <$>+ (x .@? "groupSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "status")+ <*>+ (x .@? "privateIpAddressesSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "sourceDestCheck")+ <*> (x .@? "interfaceType")+ <*> (x .@? "vpcId")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "requesterManaged")+ <*> (x .@? "networkInterfaceId")+ <*> (x .@? "subnetId")+ <*> (x .@? "macAddress")+ <*> (x .@? "attachment")+ <*> (x .@? "ownerId")+ <*> (x .@? "availabilityZone")+ <*> (x .@? "privateIpAddress")+ <*> (x .@? "privateDnsName")+ <*> (x .@? "requesterId")+ <*> (x .@? "description")+ <*> (x .@? "association")++instance Hashable NetworkInterface++-- | Describes association information for an Elastic IP address.+--+-- /See:/ 'networkInterfaceAssociation' smart constructor.+data NetworkInterfaceAssociation = NetworkInterfaceAssociation'+ { _niaAssociationId :: !(Maybe Text)+ , _niaPublicDNSName :: !(Maybe Text)+ , _niaAllocationId :: !(Maybe Text)+ , _niaIPOwnerId :: !(Maybe Text)+ , _niaPublicIP :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInterfaceAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niaAssociationId'+--+-- * 'niaPublicDNSName'+--+-- * 'niaAllocationId'+--+-- * 'niaIPOwnerId'+--+-- * 'niaPublicIP'+networkInterfaceAssociation+ :: NetworkInterfaceAssociation+networkInterfaceAssociation =+ NetworkInterfaceAssociation'+ { _niaAssociationId = Nothing+ , _niaPublicDNSName = Nothing+ , _niaAllocationId = Nothing+ , _niaIPOwnerId = Nothing+ , _niaPublicIP = Nothing+ }++-- | The association ID.+niaAssociationId :: Lens' NetworkInterfaceAssociation (Maybe Text)+niaAssociationId = lens _niaAssociationId (\ s a -> s{_niaAssociationId = a});++-- | The public DNS name.+niaPublicDNSName :: Lens' NetworkInterfaceAssociation (Maybe Text)+niaPublicDNSName = lens _niaPublicDNSName (\ s a -> s{_niaPublicDNSName = a});++-- | The allocation ID.+niaAllocationId :: Lens' NetworkInterfaceAssociation (Maybe Text)+niaAllocationId = lens _niaAllocationId (\ s a -> s{_niaAllocationId = a});++-- | The ID of the Elastic IP address owner.+niaIPOwnerId :: Lens' NetworkInterfaceAssociation (Maybe Text)+niaIPOwnerId = lens _niaIPOwnerId (\ s a -> s{_niaIPOwnerId = a});++-- | The address of the Elastic IP address bound to the network interface.+niaPublicIP :: Lens' NetworkInterfaceAssociation (Maybe Text)+niaPublicIP = lens _niaPublicIP (\ s a -> s{_niaPublicIP = a});++instance FromXML NetworkInterfaceAssociation where+ parseXML x+ = NetworkInterfaceAssociation' <$>+ (x .@? "associationId") <*> (x .@? "publicDnsName")+ <*> (x .@? "allocationId")+ <*> (x .@? "ipOwnerId")+ <*> (x .@? "publicIp")++instance Hashable NetworkInterfaceAssociation++-- | Describes a network interface attachment.+--+-- /See:/ 'networkInterfaceAttachment' smart constructor.+data NetworkInterfaceAttachment = NetworkInterfaceAttachment'+ { _niaInstanceId :: !(Maybe Text)+ , _niaStatus :: !(Maybe AttachmentStatus)+ , _niaDeleteOnTermination :: !(Maybe Bool)+ , _niaAttachmentId :: !(Maybe Text)+ , _niaInstanceOwnerId :: !(Maybe Text)+ , _niaAttachTime :: !(Maybe ISO8601)+ , _niaDeviceIndex :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInterfaceAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niaInstanceId'+--+-- * 'niaStatus'+--+-- * 'niaDeleteOnTermination'+--+-- * 'niaAttachmentId'+--+-- * 'niaInstanceOwnerId'+--+-- * 'niaAttachTime'+--+-- * 'niaDeviceIndex'+networkInterfaceAttachment+ :: NetworkInterfaceAttachment+networkInterfaceAttachment =+ NetworkInterfaceAttachment'+ { _niaInstanceId = Nothing+ , _niaStatus = Nothing+ , _niaDeleteOnTermination = Nothing+ , _niaAttachmentId = Nothing+ , _niaInstanceOwnerId = Nothing+ , _niaAttachTime = Nothing+ , _niaDeviceIndex = Nothing+ }++-- | The ID of the instance.+niaInstanceId :: Lens' NetworkInterfaceAttachment (Maybe Text)+niaInstanceId = lens _niaInstanceId (\ s a -> s{_niaInstanceId = a});++-- | The attachment state.+niaStatus :: Lens' NetworkInterfaceAttachment (Maybe AttachmentStatus)+niaStatus = lens _niaStatus (\ s a -> s{_niaStatus = a});++-- | Indicates whether the network interface is deleted when the instance is+-- terminated.+niaDeleteOnTermination :: Lens' NetworkInterfaceAttachment (Maybe Bool)+niaDeleteOnTermination = lens _niaDeleteOnTermination (\ s a -> s{_niaDeleteOnTermination = a});++-- | The ID of the network interface attachment.+niaAttachmentId :: Lens' NetworkInterfaceAttachment (Maybe Text)+niaAttachmentId = lens _niaAttachmentId (\ s a -> s{_niaAttachmentId = a});++-- | The AWS account ID of the owner of the instance.+niaInstanceOwnerId :: Lens' NetworkInterfaceAttachment (Maybe Text)+niaInstanceOwnerId = lens _niaInstanceOwnerId (\ s a -> s{_niaInstanceOwnerId = a});++-- | The timestamp indicating when the attachment initiated.+niaAttachTime :: Lens' NetworkInterfaceAttachment (Maybe UTCTime)+niaAttachTime = lens _niaAttachTime (\ s a -> s{_niaAttachTime = a}) . mapping _Time;++-- | The device index of the network interface attachment on the instance.+niaDeviceIndex :: Lens' NetworkInterfaceAttachment (Maybe Int)+niaDeviceIndex = lens _niaDeviceIndex (\ s a -> s{_niaDeviceIndex = a});++instance FromXML NetworkInterfaceAttachment where+ parseXML x+ = NetworkInterfaceAttachment' <$>+ (x .@? "instanceId") <*> (x .@? "status") <*>+ (x .@? "deleteOnTermination")+ <*> (x .@? "attachmentId")+ <*> (x .@? "instanceOwnerId")+ <*> (x .@? "attachTime")+ <*> (x .@? "deviceIndex")++instance Hashable NetworkInterfaceAttachment++-- | Describes an attachment change.+--+-- /See:/ 'networkInterfaceAttachmentChanges' smart constructor.+data NetworkInterfaceAttachmentChanges = NetworkInterfaceAttachmentChanges'+ { _niacDeleteOnTermination :: !(Maybe Bool)+ , _niacAttachmentId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInterfaceAttachmentChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niacDeleteOnTermination'+--+-- * 'niacAttachmentId'+networkInterfaceAttachmentChanges+ :: NetworkInterfaceAttachmentChanges+networkInterfaceAttachmentChanges =+ NetworkInterfaceAttachmentChanges'+ { _niacDeleteOnTermination = Nothing+ , _niacAttachmentId = Nothing+ }++-- | Indicates whether the network interface is deleted when the instance is+-- terminated.+niacDeleteOnTermination :: Lens' NetworkInterfaceAttachmentChanges (Maybe Bool)+niacDeleteOnTermination = lens _niacDeleteOnTermination (\ s a -> s{_niacDeleteOnTermination = a});++-- | The ID of the network interface attachment.+niacAttachmentId :: Lens' NetworkInterfaceAttachmentChanges (Maybe Text)+niacAttachmentId = lens _niacAttachmentId (\ s a -> s{_niacAttachmentId = a});++instance Hashable NetworkInterfaceAttachmentChanges++instance ToQuery NetworkInterfaceAttachmentChanges+ where+ toQuery NetworkInterfaceAttachmentChanges'{..}+ = mconcat+ ["DeleteOnTermination" =: _niacDeleteOnTermination,+ "AttachmentId" =: _niacAttachmentId]++-- | Describes the private IP address of a network interface.+--+-- /See:/ 'networkInterfacePrivateIPAddress' smart constructor.+data NetworkInterfacePrivateIPAddress = NetworkInterfacePrivateIPAddress'+ { _nipiaPrimary :: !(Maybe Bool)+ , _nipiaPrivateIPAddress :: !(Maybe Text)+ , _nipiaPrivateDNSName :: !(Maybe Text)+ , _nipiaAssociation :: !(Maybe NetworkInterfaceAssociation)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInterfacePrivateIPAddress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nipiaPrimary'+--+-- * 'nipiaPrivateIPAddress'+--+-- * 'nipiaPrivateDNSName'+--+-- * 'nipiaAssociation'+networkInterfacePrivateIPAddress+ :: NetworkInterfacePrivateIPAddress+networkInterfacePrivateIPAddress =+ NetworkInterfacePrivateIPAddress'+ { _nipiaPrimary = Nothing+ , _nipiaPrivateIPAddress = Nothing+ , _nipiaPrivateDNSName = Nothing+ , _nipiaAssociation = Nothing+ }++-- | Indicates whether this IP address is the primary private IP address of+-- the network interface.+nipiaPrimary :: Lens' NetworkInterfacePrivateIPAddress (Maybe Bool)+nipiaPrimary = lens _nipiaPrimary (\ s a -> s{_nipiaPrimary = a});++-- | The private IP address.+nipiaPrivateIPAddress :: Lens' NetworkInterfacePrivateIPAddress (Maybe Text)+nipiaPrivateIPAddress = lens _nipiaPrivateIPAddress (\ s a -> s{_nipiaPrivateIPAddress = a});++-- | The private DNS name.+nipiaPrivateDNSName :: Lens' NetworkInterfacePrivateIPAddress (Maybe Text)+nipiaPrivateDNSName = lens _nipiaPrivateDNSName (\ s a -> s{_nipiaPrivateDNSName = a});++-- | The association information for an Elastic IP address associated with+-- the network interface.+nipiaAssociation :: Lens' NetworkInterfacePrivateIPAddress (Maybe NetworkInterfaceAssociation)+nipiaAssociation = lens _nipiaAssociation (\ s a -> s{_nipiaAssociation = a});++instance FromXML NetworkInterfacePrivateIPAddress+ where+ parseXML x+ = NetworkInterfacePrivateIPAddress' <$>+ (x .@? "primary") <*> (x .@? "privateIpAddress") <*>+ (x .@? "privateDnsName")+ <*> (x .@? "association")++instance Hashable NetworkInterfacePrivateIPAddress++-- | /See:/ 'newDHCPConfiguration' smart constructor.+data NewDHCPConfiguration = NewDHCPConfiguration'+ { _ndcValues :: !(Maybe [Text])+ , _ndcKey :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NewDHCPConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ndcValues'+--+-- * 'ndcKey'+newDHCPConfiguration+ :: NewDHCPConfiguration+newDHCPConfiguration =+ NewDHCPConfiguration'+ { _ndcValues = Nothing+ , _ndcKey = Nothing+ }++-- | Undocumented member.+ndcValues :: Lens' NewDHCPConfiguration [Text]+ndcValues = lens _ndcValues (\ s a -> s{_ndcValues = a}) . _Default . _Coerce;++-- | Undocumented member.+ndcKey :: Lens' NewDHCPConfiguration (Maybe Text)+ndcKey = lens _ndcKey (\ s a -> s{_ndcKey = a});++instance Hashable NewDHCPConfiguration++instance ToQuery NewDHCPConfiguration where+ toQuery NewDHCPConfiguration'{..}+ = mconcat+ [toQuery (toQueryList "Value" <$> _ndcValues),+ "Key" =: _ndcKey]++-- | Describes the placement for the instance.+--+-- /See:/ 'placement' smart constructor.+data Placement = Placement'+ { _pAffinity :: !(Maybe Text)+ , _pHostId :: !(Maybe Text)+ , _pAvailabilityZone :: !(Maybe Text)+ , _pTenancy :: !(Maybe Tenancy)+ , _pGroupName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Placement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pAffinity'+--+-- * 'pHostId'+--+-- * 'pAvailabilityZone'+--+-- * 'pTenancy'+--+-- * 'pGroupName'+placement+ :: Placement+placement =+ Placement'+ { _pAffinity = Nothing+ , _pHostId = Nothing+ , _pAvailabilityZone = Nothing+ , _pTenancy = Nothing+ , _pGroupName = Nothing+ }++-- | The affinity setting for the instance on the Dedicated host. This+-- parameter is not supported for the < ImportInstance> command.+pAffinity :: Lens' Placement (Maybe Text)+pAffinity = lens _pAffinity (\ s a -> s{_pAffinity = a});++-- | The ID of the Dedicted host on which the instance resides. This+-- parameter is not support for the < ImportInstance> command.+pHostId :: Lens' Placement (Maybe Text)+pHostId = lens _pHostId (\ s a -> s{_pHostId = a});++-- | The Availability Zone of the instance.+pAvailabilityZone :: Lens' Placement (Maybe Text)+pAvailabilityZone = lens _pAvailabilityZone (\ s a -> s{_pAvailabilityZone = a});++-- | The tenancy of the instance (if the instance is running in a VPC). An+-- instance with a tenancy of 'dedicated' runs on single-tenant hardware.+-- The 'host' tenancy is not supported for the < ImportInstance> command.+pTenancy :: Lens' Placement (Maybe Tenancy)+pTenancy = lens _pTenancy (\ s a -> s{_pTenancy = a});++-- | The name of the placement group the instance is in (for cluster compute+-- instances).+pGroupName :: Lens' Placement (Maybe Text)+pGroupName = lens _pGroupName (\ s a -> s{_pGroupName = a});++instance FromXML Placement where+ parseXML x+ = Placement' <$>+ (x .@? "affinity") <*> (x .@? "hostId") <*>+ (x .@? "availabilityZone")+ <*> (x .@? "tenancy")+ <*> (x .@? "groupName")++instance Hashable Placement++instance ToQuery Placement where+ toQuery Placement'{..}+ = mconcat+ ["Affinity" =: _pAffinity, "HostId" =: _pHostId,+ "AvailabilityZone" =: _pAvailabilityZone,+ "Tenancy" =: _pTenancy, "GroupName" =: _pGroupName]++-- | Describes a placement group.+--+-- /See:/ 'placementGroup' smart constructor.+data PlacementGroup = PlacementGroup'+ { _pgState :: !(Maybe PlacementGroupState)+ , _pgStrategy :: !(Maybe PlacementStrategy)+ , _pgGroupName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgState'+--+-- * 'pgStrategy'+--+-- * 'pgGroupName'+placementGroup+ :: PlacementGroup+placementGroup =+ PlacementGroup'+ { _pgState = Nothing+ , _pgStrategy = Nothing+ , _pgGroupName = Nothing+ }++-- | The state of the placement group.+pgState :: Lens' PlacementGroup (Maybe PlacementGroupState)+pgState = lens _pgState (\ s a -> s{_pgState = a});++-- | The placement strategy.+pgStrategy :: Lens' PlacementGroup (Maybe PlacementStrategy)+pgStrategy = lens _pgStrategy (\ s a -> s{_pgStrategy = a});++-- | The name of the placement group.+pgGroupName :: Lens' PlacementGroup (Maybe Text)+pgGroupName = lens _pgGroupName (\ s a -> s{_pgGroupName = a});++instance FromXML PlacementGroup where+ parseXML x+ = PlacementGroup' <$>+ (x .@? "state") <*> (x .@? "strategy") <*>+ (x .@? "groupName")++instance Hashable PlacementGroup++-- | Describes a range of ports.+--+-- /See:/ 'portRange' smart constructor.+data PortRange = PortRange'+ { _prTo :: !(Maybe Int)+ , _prFrom :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PortRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prTo'+--+-- * 'prFrom'+portRange+ :: PortRange+portRange =+ PortRange'+ { _prTo = Nothing+ , _prFrom = Nothing+ }++-- | The last port in the range.+prTo :: Lens' PortRange (Maybe Int)+prTo = lens _prTo (\ s a -> s{_prTo = a});++-- | The first port in the range.+prFrom :: Lens' PortRange (Maybe Int)+prFrom = lens _prFrom (\ s a -> s{_prFrom = a});++instance FromXML PortRange where+ parseXML x+ = PortRange' <$> (x .@? "to") <*> (x .@? "from")++instance Hashable PortRange++instance ToQuery PortRange where+ toQuery PortRange'{..}+ = mconcat ["To" =: _prTo, "From" =: _prFrom]++-- | Describes prefixes for AWS services.+--+-- /See:/ 'prefixList' smart constructor.+data PrefixList = PrefixList'+ { _plCIdRs :: !(Maybe [Text])+ , _plPrefixListId :: !(Maybe Text)+ , _plPrefixListName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PrefixList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plCIdRs'+--+-- * 'plPrefixListId'+--+-- * 'plPrefixListName'+prefixList+ :: PrefixList+prefixList =+ PrefixList'+ { _plCIdRs = Nothing+ , _plPrefixListId = Nothing+ , _plPrefixListName = Nothing+ }++-- | The IP address range of the AWS service.+plCIdRs :: Lens' PrefixList [Text]+plCIdRs = lens _plCIdRs (\ s a -> s{_plCIdRs = a}) . _Default . _Coerce;++-- | The ID of the prefix.+plPrefixListId :: Lens' PrefixList (Maybe Text)+plPrefixListId = lens _plPrefixListId (\ s a -> s{_plPrefixListId = a});++-- | The name of the prefix.+plPrefixListName :: Lens' PrefixList (Maybe Text)+plPrefixListName = lens _plPrefixListName (\ s a -> s{_plPrefixListName = a});++instance FromXML PrefixList where+ parseXML x+ = PrefixList' <$>+ (x .@? "cidrSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "prefixListId")+ <*> (x .@? "prefixListName")++instance Hashable PrefixList++-- | The ID of the prefix.+--+-- /See:/ 'prefixListId' smart constructor.+newtype PrefixListId = PrefixListId'+ { _pliPrefixListId :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PrefixListId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pliPrefixListId'+prefixListId+ :: PrefixListId+prefixListId =+ PrefixListId'+ { _pliPrefixListId = Nothing+ }++-- | The ID of the prefix.+pliPrefixListId :: Lens' PrefixListId (Maybe Text)+pliPrefixListId = lens _pliPrefixListId (\ s a -> s{_pliPrefixListId = a});++instance FromXML PrefixListId where+ parseXML x = PrefixListId' <$> (x .@? "prefixListId")++instance Hashable PrefixListId++instance ToQuery PrefixListId where+ toQuery PrefixListId'{..}+ = mconcat ["PrefixListId" =: _pliPrefixListId]++-- | Describes the price for a Reserved Instance.+--+-- /See:/ 'priceSchedule' smart constructor.+data PriceSchedule = PriceSchedule'+ { _psCurrencyCode :: !(Maybe CurrencyCodeValues)+ , _psTerm :: !(Maybe Integer)+ , _psActive :: !(Maybe Bool)+ , _psPrice :: !(Maybe Double)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PriceSchedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psCurrencyCode'+--+-- * 'psTerm'+--+-- * 'psActive'+--+-- * 'psPrice'+priceSchedule+ :: PriceSchedule+priceSchedule =+ PriceSchedule'+ { _psCurrencyCode = Nothing+ , _psTerm = Nothing+ , _psActive = Nothing+ , _psPrice = Nothing+ }++-- | The currency for transacting the Reserved Instance resale. At this time,+-- the only supported currency is 'USD'.+psCurrencyCode :: Lens' PriceSchedule (Maybe CurrencyCodeValues)+psCurrencyCode = lens _psCurrencyCode (\ s a -> s{_psCurrencyCode = a});++-- | The number of months remaining in the reservation. For example, 2 is the+-- second to the last month before the capacity reservation expires.+psTerm :: Lens' PriceSchedule (Maybe Integer)+psTerm = lens _psTerm (\ s a -> s{_psTerm = a});++-- | The current price schedule, as determined by the term remaining for the+-- Reserved Instance in the listing.+--+-- A specific price schedule is always in effect, but only one price+-- schedule can be active at any time. Take, for example, a Reserved+-- Instance listing that has five months remaining in its term. When you+-- specify price schedules for five months and two months, this means that+-- schedule 1, covering the first three months of the remaining term, will+-- be active during months 5, 4, and 3. Then schedule 2, covering the last+-- two months of the term, will be active for months 2 and 1.+psActive :: Lens' PriceSchedule (Maybe Bool)+psActive = lens _psActive (\ s a -> s{_psActive = a});++-- | The fixed price for the term.+psPrice :: Lens' PriceSchedule (Maybe Double)+psPrice = lens _psPrice (\ s a -> s{_psPrice = a});++instance FromXML PriceSchedule where+ parseXML x+ = PriceSchedule' <$>+ (x .@? "currencyCode") <*> (x .@? "term") <*>+ (x .@? "active")+ <*> (x .@? "price")++instance Hashable PriceSchedule++-- | Describes the price for a Reserved Instance.+--+-- /See:/ 'priceScheduleSpecification' smart constructor.+data PriceScheduleSpecification = PriceScheduleSpecification'+ { _pssCurrencyCode :: !(Maybe CurrencyCodeValues)+ , _pssTerm :: !(Maybe Integer)+ , _pssPrice :: !(Maybe Double)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PriceScheduleSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pssCurrencyCode'+--+-- * 'pssTerm'+--+-- * 'pssPrice'+priceScheduleSpecification+ :: PriceScheduleSpecification+priceScheduleSpecification =+ PriceScheduleSpecification'+ { _pssCurrencyCode = Nothing+ , _pssTerm = Nothing+ , _pssPrice = Nothing+ }++-- | The currency for transacting the Reserved Instance resale. At this time,+-- the only supported currency is 'USD'.+pssCurrencyCode :: Lens' PriceScheduleSpecification (Maybe CurrencyCodeValues)+pssCurrencyCode = lens _pssCurrencyCode (\ s a -> s{_pssCurrencyCode = a});++-- | The number of months remaining in the reservation. For example, 2 is the+-- second to the last month before the capacity reservation expires.+pssTerm :: Lens' PriceScheduleSpecification (Maybe Integer)+pssTerm = lens _pssTerm (\ s a -> s{_pssTerm = a});++-- | The fixed price for the term.+pssPrice :: Lens' PriceScheduleSpecification (Maybe Double)+pssPrice = lens _pssPrice (\ s a -> s{_pssPrice = a});++instance Hashable PriceScheduleSpecification++instance ToQuery PriceScheduleSpecification where+ toQuery PriceScheduleSpecification'{..}+ = mconcat+ ["CurrencyCode" =: _pssCurrencyCode,+ "Term" =: _pssTerm, "Price" =: _pssPrice]++-- | Describes a Reserved Instance offering.+--+-- /See:/ 'pricingDetail' smart constructor.+data PricingDetail = PricingDetail'+ { _pdCount :: !(Maybe Int)+ , _pdPrice :: !(Maybe Double)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PricingDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdCount'+--+-- * 'pdPrice'+pricingDetail+ :: PricingDetail+pricingDetail =+ PricingDetail'+ { _pdCount = Nothing+ , _pdPrice = Nothing+ }++-- | The number of reservations available for the price.+pdCount :: Lens' PricingDetail (Maybe Int)+pdCount = lens _pdCount (\ s a -> s{_pdCount = a});++-- | The price per instance.+pdPrice :: Lens' PricingDetail (Maybe Double)+pdPrice = lens _pdPrice (\ s a -> s{_pdPrice = a});++instance FromXML PricingDetail where+ parseXML x+ = PricingDetail' <$>+ (x .@? "count") <*> (x .@? "price")++instance Hashable PricingDetail++-- | Describes a secondary private IP address for a network interface.+--+-- /See:/ 'privateIPAddressSpecification' smart constructor.+data PrivateIPAddressSpecification = PrivateIPAddressSpecification'+ { _piasPrimary :: !(Maybe Bool)+ , _piasPrivateIPAddress :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PrivateIPAddressSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piasPrimary'+--+-- * 'piasPrivateIPAddress'+privateIPAddressSpecification+ :: Text -- ^ 'piasPrivateIPAddress'+ -> PrivateIPAddressSpecification+privateIPAddressSpecification pPrivateIPAddress_ =+ PrivateIPAddressSpecification'+ { _piasPrimary = Nothing+ , _piasPrivateIPAddress = pPrivateIPAddress_+ }++-- | Indicates whether the private IP address is the primary private IP+-- address. Only one IP address can be designated as primary.+piasPrimary :: Lens' PrivateIPAddressSpecification (Maybe Bool)+piasPrimary = lens _piasPrimary (\ s a -> s{_piasPrimary = a});++-- | The private IP addresses.+piasPrivateIPAddress :: Lens' PrivateIPAddressSpecification Text+piasPrivateIPAddress = lens _piasPrivateIPAddress (\ s a -> s{_piasPrivateIPAddress = a});++instance FromXML PrivateIPAddressSpecification where+ parseXML x+ = PrivateIPAddressSpecification' <$>+ (x .@? "primary") <*> (x .@ "privateIpAddress")++instance Hashable PrivateIPAddressSpecification++instance ToQuery PrivateIPAddressSpecification where+ toQuery PrivateIPAddressSpecification'{..}+ = mconcat+ ["Primary" =: _piasPrimary,+ "PrivateIpAddress" =: _piasPrivateIPAddress]++-- | Describes a product code.+--+-- /See:/ 'productCode' smart constructor.+data ProductCode = ProductCode'+ { _pcProductCodeType :: !(Maybe ProductCodeValues)+ , _pcProductCodeId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductCode' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcProductCodeType'+--+-- * 'pcProductCodeId'+productCode+ :: ProductCode+productCode =+ ProductCode'+ { _pcProductCodeType = Nothing+ , _pcProductCodeId = Nothing+ }++-- | The type of product code.+pcProductCodeType :: Lens' ProductCode (Maybe ProductCodeValues)+pcProductCodeType = lens _pcProductCodeType (\ s a -> s{_pcProductCodeType = a});++-- | The product code.+pcProductCodeId :: Lens' ProductCode (Maybe Text)+pcProductCodeId = lens _pcProductCodeId (\ s a -> s{_pcProductCodeId = a});++instance FromXML ProductCode where+ parseXML x+ = ProductCode' <$>+ (x .@? "type") <*> (x .@? "productCode")++instance Hashable ProductCode++-- | Describes a virtual private gateway propagating route.+--+-- /See:/ 'propagatingVGW' smart constructor.+newtype PropagatingVGW = PropagatingVGW'+ { _pvGatewayId :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PropagatingVGW' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvGatewayId'+propagatingVGW+ :: PropagatingVGW+propagatingVGW =+ PropagatingVGW'+ { _pvGatewayId = Nothing+ }++-- | The ID of the virtual private gateway (VGW).+pvGatewayId :: Lens' PropagatingVGW (Maybe Text)+pvGatewayId = lens _pvGatewayId (\ s a -> s{_pvGatewayId = a});++instance FromXML PropagatingVGW where+ parseXML x = PropagatingVGW' <$> (x .@? "gatewayId")++instance Hashable PropagatingVGW++-- | Describes a request to purchase Scheduled Instances.+--+-- /See:/ 'purchaseRequest' smart constructor.+data PurchaseRequest = PurchaseRequest'+ { _prPurchaseToken :: !Text+ , _prInstanceCount :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PurchaseRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prPurchaseToken'+--+-- * 'prInstanceCount'+purchaseRequest+ :: Text -- ^ 'prPurchaseToken'+ -> Int -- ^ 'prInstanceCount'+ -> PurchaseRequest+purchaseRequest pPurchaseToken_ pInstanceCount_ =+ PurchaseRequest'+ { _prPurchaseToken = pPurchaseToken_+ , _prInstanceCount = pInstanceCount_+ }++-- | The purchase token.+prPurchaseToken :: Lens' PurchaseRequest Text+prPurchaseToken = lens _prPurchaseToken (\ s a -> s{_prPurchaseToken = a});++-- | The number of instances.+prInstanceCount :: Lens' PurchaseRequest Int+prInstanceCount = lens _prInstanceCount (\ s a -> s{_prInstanceCount = a});++instance Hashable PurchaseRequest++instance ToQuery PurchaseRequest where+ toQuery PurchaseRequest'{..}+ = mconcat+ ["PurchaseToken" =: _prPurchaseToken,+ "InstanceCount" =: _prInstanceCount]++-- | Describes a recurring charge.+--+-- /See:/ 'recurringCharge' smart constructor.+data RecurringCharge = RecurringCharge'+ { _rcAmount :: !(Maybe Double)+ , _rcFrequency :: !(Maybe RecurringChargeFrequency)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RecurringCharge' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcAmount'+--+-- * 'rcFrequency'+recurringCharge+ :: RecurringCharge+recurringCharge =+ RecurringCharge'+ { _rcAmount = Nothing+ , _rcFrequency = Nothing+ }++-- | The amount of the recurring charge.+rcAmount :: Lens' RecurringCharge (Maybe Double)+rcAmount = lens _rcAmount (\ s a -> s{_rcAmount = a});++-- | The frequency of the recurring charge.+rcFrequency :: Lens' RecurringCharge (Maybe RecurringChargeFrequency)+rcFrequency = lens _rcFrequency (\ s a -> s{_rcFrequency = a});++instance FromXML RecurringCharge where+ parseXML x+ = RecurringCharge' <$>+ (x .@? "amount") <*> (x .@? "frequency")++instance Hashable RecurringCharge++-- | Describes a region.+--+-- /See:/ 'regionInfo' smart constructor.+data RegionInfo = RegionInfo'+ { _riRegionName :: !(Maybe Text)+ , _riEndpoint :: !(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:+--+-- * 'riRegionName'+--+-- * 'riEndpoint'+regionInfo+ :: RegionInfo+regionInfo =+ RegionInfo'+ { _riRegionName = Nothing+ , _riEndpoint = Nothing+ }++-- | The name of the region.+riRegionName :: Lens' RegionInfo (Maybe Text)+riRegionName = lens _riRegionName (\ s a -> s{_riRegionName = a});++-- | The region service endpoint.+riEndpoint :: Lens' RegionInfo (Maybe Text)+riEndpoint = lens _riEndpoint (\ s a -> s{_riEndpoint = a});++instance FromXML RegionInfo where+ parseXML x+ = RegionInfo' <$>+ (x .@? "regionName") <*> (x .@? "regionEndpoint")++instance Hashable RegionInfo++-- | Describes the launch specification for an instance.+--+-- /See:/ 'requestSpotLaunchSpecification' smart constructor.+data RequestSpotLaunchSpecification = RequestSpotLaunchSpecification'+ { _rslsSecurityGroupIds :: !(Maybe [Text])+ , _rslsSecurityGroups :: !(Maybe [Text])+ , _rslsKeyName :: !(Maybe Text)+ , _rslsNetworkInterfaces :: !(Maybe [InstanceNetworkInterfaceSpecification])+ , _rslsRAMDiskId :: !(Maybe Text)+ , _rslsSubnetId :: !(Maybe Text)+ , _rslsKernelId :: !(Maybe Text)+ , _rslsInstanceType :: !(Maybe InstanceType)+ , _rslsEBSOptimized :: !(Maybe Bool)+ , _rslsUserData :: !(Maybe Text)+ , _rslsMonitoring :: !(Maybe RunInstancesMonitoringEnabled)+ , _rslsIAMInstanceProfile :: !(Maybe IAMInstanceProfileSpecification)+ , _rslsImageId :: !(Maybe Text)+ , _rslsAddressingType :: !(Maybe Text)+ , _rslsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+ , _rslsPlacement :: !(Maybe SpotPlacement)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RequestSpotLaunchSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rslsSecurityGroupIds'+--+-- * 'rslsSecurityGroups'+--+-- * 'rslsKeyName'+--+-- * 'rslsNetworkInterfaces'+--+-- * 'rslsRAMDiskId'+--+-- * 'rslsSubnetId'+--+-- * 'rslsKernelId'+--+-- * 'rslsInstanceType'+--+-- * 'rslsEBSOptimized'+--+-- * 'rslsUserData'+--+-- * 'rslsMonitoring'+--+-- * 'rslsIAMInstanceProfile'+--+-- * 'rslsImageId'+--+-- * 'rslsAddressingType'+--+-- * 'rslsBlockDeviceMappings'+--+-- * 'rslsPlacement'+requestSpotLaunchSpecification+ :: RequestSpotLaunchSpecification+requestSpotLaunchSpecification =+ RequestSpotLaunchSpecification'+ { _rslsSecurityGroupIds = Nothing+ , _rslsSecurityGroups = Nothing+ , _rslsKeyName = Nothing+ , _rslsNetworkInterfaces = Nothing+ , _rslsRAMDiskId = Nothing+ , _rslsSubnetId = Nothing+ , _rslsKernelId = Nothing+ , _rslsInstanceType = Nothing+ , _rslsEBSOptimized = Nothing+ , _rslsUserData = Nothing+ , _rslsMonitoring = Nothing+ , _rslsIAMInstanceProfile = Nothing+ , _rslsImageId = Nothing+ , _rslsAddressingType = Nothing+ , _rslsBlockDeviceMappings = Nothing+ , _rslsPlacement = Nothing+ }++-- | Undocumented member.+rslsSecurityGroupIds :: Lens' RequestSpotLaunchSpecification [Text]+rslsSecurityGroupIds = lens _rslsSecurityGroupIds (\ s a -> s{_rslsSecurityGroupIds = a}) . _Default . _Coerce;++-- | Undocumented member.+rslsSecurityGroups :: Lens' RequestSpotLaunchSpecification [Text]+rslsSecurityGroups = lens _rslsSecurityGroups (\ s a -> s{_rslsSecurityGroups = a}) . _Default . _Coerce;++-- | The name of the key pair.+rslsKeyName :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsKeyName = lens _rslsKeyName (\ s a -> s{_rslsKeyName = a});++-- | One or more network interfaces.+rslsNetworkInterfaces :: Lens' RequestSpotLaunchSpecification [InstanceNetworkInterfaceSpecification]+rslsNetworkInterfaces = lens _rslsNetworkInterfaces (\ s a -> s{_rslsNetworkInterfaces = a}) . _Default . _Coerce;++-- | The ID of the RAM disk.+rslsRAMDiskId :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsRAMDiskId = lens _rslsRAMDiskId (\ s a -> s{_rslsRAMDiskId = a});++-- | The ID of the subnet in which to launch the instance.+rslsSubnetId :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsSubnetId = lens _rslsSubnetId (\ s a -> s{_rslsSubnetId = a});++-- | The ID of the kernel.+rslsKernelId :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsKernelId = lens _rslsKernelId (\ s a -> s{_rslsKernelId = a});++-- | The instance type.+rslsInstanceType :: Lens' RequestSpotLaunchSpecification (Maybe InstanceType)+rslsInstanceType = lens _rslsInstanceType (\ s a -> s{_rslsInstanceType = a});++-- | Indicates whether the instance is optimized for EBS I\/O. This+-- optimization provides dedicated throughput to Amazon EBS and an+-- optimized configuration stack to provide optimal EBS I\/O performance.+-- This optimization isn\'t available with all instance types. Additional+-- usage charges apply when using an EBS Optimized instance.+--+-- Default: 'false'+rslsEBSOptimized :: Lens' RequestSpotLaunchSpecification (Maybe Bool)+rslsEBSOptimized = lens _rslsEBSOptimized (\ s a -> s{_rslsEBSOptimized = a});++-- | The Base64-encoded MIME user data to make available to the instances.+rslsUserData :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsUserData = lens _rslsUserData (\ s a -> s{_rslsUserData = a});++-- | Undocumented member.+rslsMonitoring :: Lens' RequestSpotLaunchSpecification (Maybe RunInstancesMonitoringEnabled)+rslsMonitoring = lens _rslsMonitoring (\ s a -> s{_rslsMonitoring = a});++-- | The IAM instance profile.+rslsIAMInstanceProfile :: Lens' RequestSpotLaunchSpecification (Maybe IAMInstanceProfileSpecification)+rslsIAMInstanceProfile = lens _rslsIAMInstanceProfile (\ s a -> s{_rslsIAMInstanceProfile = a});++-- | The ID of the AMI.+rslsImageId :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsImageId = lens _rslsImageId (\ s a -> s{_rslsImageId = a});++-- | Deprecated.+rslsAddressingType :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsAddressingType = lens _rslsAddressingType (\ s a -> s{_rslsAddressingType = a});++-- | One or more block device mapping entries.+rslsBlockDeviceMappings :: Lens' RequestSpotLaunchSpecification [BlockDeviceMapping]+rslsBlockDeviceMappings = lens _rslsBlockDeviceMappings (\ s a -> s{_rslsBlockDeviceMappings = a}) . _Default . _Coerce;++-- | The placement information for the instance.+rslsPlacement :: Lens' RequestSpotLaunchSpecification (Maybe SpotPlacement)+rslsPlacement = lens _rslsPlacement (\ s a -> s{_rslsPlacement = a});++instance Hashable RequestSpotLaunchSpecification++instance ToQuery RequestSpotLaunchSpecification where+ toQuery RequestSpotLaunchSpecification'{..}+ = mconcat+ [toQuery+ (toQueryList "SecurityGroupId" <$>+ _rslsSecurityGroupIds),+ toQuery+ (toQueryList "SecurityGroup" <$>+ _rslsSecurityGroups),+ "KeyName" =: _rslsKeyName,+ toQuery+ (toQueryList "NetworkInterface" <$>+ _rslsNetworkInterfaces),+ "RamdiskId" =: _rslsRAMDiskId,+ "SubnetId" =: _rslsSubnetId,+ "KernelId" =: _rslsKernelId,+ "InstanceType" =: _rslsInstanceType,+ "EbsOptimized" =: _rslsEBSOptimized,+ "UserData" =: _rslsUserData,+ "Monitoring" =: _rslsMonitoring,+ "IamInstanceProfile" =: _rslsIAMInstanceProfile,+ "ImageId" =: _rslsImageId,+ "AddressingType" =: _rslsAddressingType,+ toQuery+ (toQueryList "BlockDeviceMapping" <$>+ _rslsBlockDeviceMappings),+ "Placement" =: _rslsPlacement]++-- | Describes a reservation.+--+-- /See:/ 'reservation' smart constructor.+data Reservation = Reservation'+ { _rGroups :: !(Maybe [GroupIdentifier])+ , _rInstances :: !(Maybe [Instance])+ , _rRequesterId :: !(Maybe Text)+ , _rReservationId :: !Text+ , _rOwnerId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Reservation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rGroups'+--+-- * 'rInstances'+--+-- * 'rRequesterId'+--+-- * 'rReservationId'+--+-- * 'rOwnerId'+reservation+ :: Text -- ^ 'rReservationId'+ -> Text -- ^ 'rOwnerId'+ -> Reservation+reservation pReservationId_ pOwnerId_ =+ Reservation'+ { _rGroups = Nothing+ , _rInstances = Nothing+ , _rRequesterId = Nothing+ , _rReservationId = pReservationId_+ , _rOwnerId = pOwnerId_+ }++-- | [EC2-Classic only] One or more security groups.+rGroups :: Lens' Reservation [GroupIdentifier]+rGroups = lens _rGroups (\ s a -> s{_rGroups = a}) . _Default . _Coerce;++-- | One or more instances.+rInstances :: Lens' Reservation [Instance]+rInstances = lens _rInstances (\ s a -> s{_rInstances = a}) . _Default . _Coerce;++-- | The ID of the requester that launched the instances on your behalf (for+-- example, AWS Management Console or Auto Scaling).+rRequesterId :: Lens' Reservation (Maybe Text)+rRequesterId = lens _rRequesterId (\ s a -> s{_rRequesterId = a});++-- | The ID of the reservation.+rReservationId :: Lens' Reservation Text+rReservationId = lens _rReservationId (\ s a -> s{_rReservationId = a});++-- | The ID of the AWS account that owns the reservation.+rOwnerId :: Lens' Reservation Text+rOwnerId = lens _rOwnerId (\ s a -> s{_rOwnerId = a});++instance FromXML Reservation where+ parseXML x+ = Reservation' <$>+ (x .@? "groupSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "instancesSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "requesterId")+ <*> (x .@ "reservationId")+ <*> (x .@ "ownerId")++instance Hashable Reservation++-- | Describes the limit price of a Reserved Instance offering.+--+-- /See:/ 'reservedInstanceLimitPrice' smart constructor.+data ReservedInstanceLimitPrice = ReservedInstanceLimitPrice'+ { _rilpAmount :: !(Maybe Double)+ , _rilpCurrencyCode :: !(Maybe CurrencyCodeValues)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstanceLimitPrice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rilpAmount'+--+-- * 'rilpCurrencyCode'+reservedInstanceLimitPrice+ :: ReservedInstanceLimitPrice+reservedInstanceLimitPrice =+ ReservedInstanceLimitPrice'+ { _rilpAmount = Nothing+ , _rilpCurrencyCode = Nothing+ }++-- | Used for Reserved Instance Marketplace offerings. Specifies the limit+-- price on the total order (instanceCount * price).+rilpAmount :: Lens' ReservedInstanceLimitPrice (Maybe Double)+rilpAmount = lens _rilpAmount (\ s a -> s{_rilpAmount = a});++-- | The currency in which the 'limitPrice' amount is specified. At this+-- time, the only supported currency is 'USD'.+rilpCurrencyCode :: Lens' ReservedInstanceLimitPrice (Maybe CurrencyCodeValues)+rilpCurrencyCode = lens _rilpCurrencyCode (\ s a -> s{_rilpCurrencyCode = a});++instance Hashable ReservedInstanceLimitPrice++instance ToQuery ReservedInstanceLimitPrice where+ toQuery ReservedInstanceLimitPrice'{..}+ = mconcat+ ["Amount" =: _rilpAmount,+ "CurrencyCode" =: _rilpCurrencyCode]++-- | Describes a Reserved Instance.+--+-- /See:/ 'reservedInstances' smart constructor.+data ReservedInstances = ReservedInstances'+ { _riState :: !(Maybe ReservedInstanceState)+ , _riCurrencyCode :: !(Maybe CurrencyCodeValues)+ , _riInstanceCount :: !(Maybe Int)+ , _riProductDescription :: !(Maybe RIProductDescription)+ , _riStart :: !(Maybe ISO8601)+ , _riInstanceType :: !(Maybe InstanceType)+ , _riEnd :: !(Maybe ISO8601)+ , _riAvailabilityZone :: !(Maybe Text)+ , _riRecurringCharges :: !(Maybe [RecurringCharge])+ , _riOfferingType :: !(Maybe OfferingTypeValues)+ , _riUsagePrice :: !(Maybe Double)+ , _riFixedPrice :: !(Maybe Double)+ , _riReservedInstancesId :: !(Maybe Text)+ , _riInstanceTenancy :: !(Maybe Tenancy)+ , _riDuration :: !(Maybe Integer)+ , _riTags :: !(Maybe [Tag])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riState'+--+-- * 'riCurrencyCode'+--+-- * 'riInstanceCount'+--+-- * 'riProductDescription'+--+-- * 'riStart'+--+-- * 'riInstanceType'+--+-- * 'riEnd'+--+-- * 'riAvailabilityZone'+--+-- * 'riRecurringCharges'+--+-- * 'riOfferingType'+--+-- * 'riUsagePrice'+--+-- * 'riFixedPrice'+--+-- * 'riReservedInstancesId'+--+-- * 'riInstanceTenancy'+--+-- * 'riDuration'+--+-- * 'riTags'+reservedInstances+ :: ReservedInstances+reservedInstances =+ ReservedInstances'+ { _riState = Nothing+ , _riCurrencyCode = Nothing+ , _riInstanceCount = Nothing+ , _riProductDescription = Nothing+ , _riStart = Nothing+ , _riInstanceType = Nothing+ , _riEnd = Nothing+ , _riAvailabilityZone = Nothing+ , _riRecurringCharges = Nothing+ , _riOfferingType = Nothing+ , _riUsagePrice = Nothing+ , _riFixedPrice = Nothing+ , _riReservedInstancesId = Nothing+ , _riInstanceTenancy = Nothing+ , _riDuration = Nothing+ , _riTags = Nothing+ }++-- | The state of the Reserved Instance purchase.+riState :: Lens' ReservedInstances (Maybe ReservedInstanceState)+riState = lens _riState (\ s a -> s{_riState = a});++-- | The currency of the Reserved Instance. It\'s specified using ISO 4217+-- standard currency codes. At this time, the only supported currency is+-- 'USD'.+riCurrencyCode :: Lens' ReservedInstances (Maybe CurrencyCodeValues)+riCurrencyCode = lens _riCurrencyCode (\ s a -> s{_riCurrencyCode = a});++-- | The number of reservations purchased.+riInstanceCount :: Lens' ReservedInstances (Maybe Int)+riInstanceCount = lens _riInstanceCount (\ s a -> s{_riInstanceCount = a});++-- | The Reserved Instance product platform description.+riProductDescription :: Lens' ReservedInstances (Maybe RIProductDescription)+riProductDescription = lens _riProductDescription (\ s a -> s{_riProductDescription = a});++-- | The date and time the Reserved Instance started.+riStart :: Lens' ReservedInstances (Maybe UTCTime)+riStart = lens _riStart (\ s a -> s{_riStart = a}) . mapping _Time;++-- | The instance type on which the Reserved Instance can be used.+riInstanceType :: Lens' ReservedInstances (Maybe InstanceType)+riInstanceType = lens _riInstanceType (\ s a -> s{_riInstanceType = a});++-- | The time when the Reserved Instance expires.+riEnd :: Lens' ReservedInstances (Maybe UTCTime)+riEnd = lens _riEnd (\ s a -> s{_riEnd = a}) . mapping _Time;++-- | The Availability Zone in which the Reserved Instance can be used.+riAvailabilityZone :: Lens' ReservedInstances (Maybe Text)+riAvailabilityZone = lens _riAvailabilityZone (\ s a -> s{_riAvailabilityZone = a});++-- | The recurring charge tag assigned to the resource.+riRecurringCharges :: Lens' ReservedInstances [RecurringCharge]+riRecurringCharges = lens _riRecurringCharges (\ s a -> s{_riRecurringCharges = a}) . _Default . _Coerce;++-- | The Reserved Instance offering type.+riOfferingType :: Lens' ReservedInstances (Maybe OfferingTypeValues)+riOfferingType = lens _riOfferingType (\ s a -> s{_riOfferingType = a});++-- | The usage price of the Reserved Instance, per hour.+riUsagePrice :: Lens' ReservedInstances (Maybe Double)+riUsagePrice = lens _riUsagePrice (\ s a -> s{_riUsagePrice = a});++-- | The purchase price of the Reserved Instance.+riFixedPrice :: Lens' ReservedInstances (Maybe Double)+riFixedPrice = lens _riFixedPrice (\ s a -> s{_riFixedPrice = a});++-- | The ID of the Reserved Instance.+riReservedInstancesId :: Lens' ReservedInstances (Maybe Text)+riReservedInstancesId = lens _riReservedInstancesId (\ s a -> s{_riReservedInstancesId = a});++-- | The tenancy of the instance.+riInstanceTenancy :: Lens' ReservedInstances (Maybe Tenancy)+riInstanceTenancy = lens _riInstanceTenancy (\ s a -> s{_riInstanceTenancy = a});++-- | The duration of the Reserved Instance, in seconds.+riDuration :: Lens' ReservedInstances (Maybe Integer)+riDuration = lens _riDuration (\ s a -> s{_riDuration = a});++-- | Any tags assigned to the resource.+riTags :: Lens' ReservedInstances [Tag]+riTags = lens _riTags (\ s a -> s{_riTags = a}) . _Default . _Coerce;++instance FromXML ReservedInstances where+ parseXML x+ = ReservedInstances' <$>+ (x .@? "state") <*> (x .@? "currencyCode") <*>+ (x .@? "instanceCount")+ <*> (x .@? "productDescription")+ <*> (x .@? "start")+ <*> (x .@? "instanceType")+ <*> (x .@? "end")+ <*> (x .@? "availabilityZone")+ <*>+ (x .@? "recurringCharges" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "offeringType")+ <*> (x .@? "usagePrice")+ <*> (x .@? "fixedPrice")+ <*> (x .@? "reservedInstancesId")+ <*> (x .@? "instanceTenancy")+ <*> (x .@? "duration")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable ReservedInstances++-- | Describes the configuration settings for the modified Reserved+-- Instances.+--+-- /See:/ 'reservedInstancesConfiguration' smart constructor.+data ReservedInstancesConfiguration = ReservedInstancesConfiguration'+ { _ricPlatform :: !(Maybe Text)+ , _ricInstanceCount :: !(Maybe Int)+ , _ricInstanceType :: !(Maybe InstanceType)+ , _ricAvailabilityZone :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ricPlatform'+--+-- * 'ricInstanceCount'+--+-- * 'ricInstanceType'+--+-- * 'ricAvailabilityZone'+reservedInstancesConfiguration+ :: ReservedInstancesConfiguration+reservedInstancesConfiguration =+ ReservedInstancesConfiguration'+ { _ricPlatform = Nothing+ , _ricInstanceCount = Nothing+ , _ricInstanceType = Nothing+ , _ricAvailabilityZone = Nothing+ }++-- | The network platform of the modified Reserved Instances, which is either+-- EC2-Classic or EC2-VPC.+ricPlatform :: Lens' ReservedInstancesConfiguration (Maybe Text)+ricPlatform = lens _ricPlatform (\ s a -> s{_ricPlatform = a});++-- | The number of modified Reserved Instances.+ricInstanceCount :: Lens' ReservedInstancesConfiguration (Maybe Int)+ricInstanceCount = lens _ricInstanceCount (\ s a -> s{_ricInstanceCount = a});++-- | The instance type for the modified Reserved Instances.+ricInstanceType :: Lens' ReservedInstancesConfiguration (Maybe InstanceType)+ricInstanceType = lens _ricInstanceType (\ s a -> s{_ricInstanceType = a});++-- | The Availability Zone for the modified Reserved Instances.+ricAvailabilityZone :: Lens' ReservedInstancesConfiguration (Maybe Text)+ricAvailabilityZone = lens _ricAvailabilityZone (\ s a -> s{_ricAvailabilityZone = a});++instance FromXML ReservedInstancesConfiguration where+ parseXML x+ = ReservedInstancesConfiguration' <$>+ (x .@? "platform") <*> (x .@? "instanceCount") <*>+ (x .@? "instanceType")+ <*> (x .@? "availabilityZone")++instance Hashable ReservedInstancesConfiguration++instance ToQuery ReservedInstancesConfiguration where+ toQuery ReservedInstancesConfiguration'{..}+ = mconcat+ ["Platform" =: _ricPlatform,+ "InstanceCount" =: _ricInstanceCount,+ "InstanceType" =: _ricInstanceType,+ "AvailabilityZone" =: _ricAvailabilityZone]++-- | Describes the ID of a Reserved Instance.+--+-- /See:/ 'reservedInstancesId' smart constructor.+newtype ReservedInstancesId = ReservedInstancesId'+ { _riiReservedInstancesId :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riiReservedInstancesId'+reservedInstancesId+ :: ReservedInstancesId+reservedInstancesId =+ ReservedInstancesId'+ { _riiReservedInstancesId = Nothing+ }++-- | The ID of the Reserved Instance.+riiReservedInstancesId :: Lens' ReservedInstancesId (Maybe Text)+riiReservedInstancesId = lens _riiReservedInstancesId (\ s a -> s{_riiReservedInstancesId = a});++instance FromXML ReservedInstancesId where+ parseXML x+ = ReservedInstancesId' <$>+ (x .@? "reservedInstancesId")++instance Hashable ReservedInstancesId++-- | Describes a Reserved Instance listing.+--+-- /See:/ 'reservedInstancesListing' smart constructor.+data ReservedInstancesListing = ReservedInstancesListing'+ { _rilStatus :: !(Maybe ListingStatus)+ , _rilClientToken :: !(Maybe Text)+ , _rilUpdateDate :: !(Maybe ISO8601)+ , _rilCreateDate :: !(Maybe ISO8601)+ , _rilPriceSchedules :: !(Maybe [PriceSchedule])+ , _rilStatusMessage :: !(Maybe Text)+ , _rilReservedInstancesId :: !(Maybe Text)+ , _rilTags :: !(Maybe [Tag])+ , _rilInstanceCounts :: !(Maybe [InstanceCount])+ , _rilReservedInstancesListingId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesListing' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rilStatus'+--+-- * 'rilClientToken'+--+-- * 'rilUpdateDate'+--+-- * 'rilCreateDate'+--+-- * 'rilPriceSchedules'+--+-- * 'rilStatusMessage'+--+-- * 'rilReservedInstancesId'+--+-- * 'rilTags'+--+-- * 'rilInstanceCounts'+--+-- * 'rilReservedInstancesListingId'+reservedInstancesListing+ :: ReservedInstancesListing+reservedInstancesListing =+ ReservedInstancesListing'+ { _rilStatus = Nothing+ , _rilClientToken = Nothing+ , _rilUpdateDate = Nothing+ , _rilCreateDate = Nothing+ , _rilPriceSchedules = Nothing+ , _rilStatusMessage = Nothing+ , _rilReservedInstancesId = Nothing+ , _rilTags = Nothing+ , _rilInstanceCounts = Nothing+ , _rilReservedInstancesListingId = Nothing+ }++-- | The status of the Reserved Instance listing.+rilStatus :: Lens' ReservedInstancesListing (Maybe ListingStatus)+rilStatus = lens _rilStatus (\ s a -> s{_rilStatus = a});++-- | A unique, case-sensitive key supplied by the client to ensure that the+-- request is idempotent. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.+rilClientToken :: Lens' ReservedInstancesListing (Maybe Text)+rilClientToken = lens _rilClientToken (\ s a -> s{_rilClientToken = a});++-- | The last modified timestamp of the listing.+rilUpdateDate :: Lens' ReservedInstancesListing (Maybe UTCTime)+rilUpdateDate = lens _rilUpdateDate (\ s a -> s{_rilUpdateDate = a}) . mapping _Time;++-- | The time the listing was created.+rilCreateDate :: Lens' ReservedInstancesListing (Maybe UTCTime)+rilCreateDate = lens _rilCreateDate (\ s a -> s{_rilCreateDate = a}) . mapping _Time;++-- | The price of the Reserved Instance listing.+rilPriceSchedules :: Lens' ReservedInstancesListing [PriceSchedule]+rilPriceSchedules = lens _rilPriceSchedules (\ s a -> s{_rilPriceSchedules = a}) . _Default . _Coerce;++-- | The reason for the current status of the Reserved Instance listing. The+-- response can be blank.+rilStatusMessage :: Lens' ReservedInstancesListing (Maybe Text)+rilStatusMessage = lens _rilStatusMessage (\ s a -> s{_rilStatusMessage = a});++-- | The ID of the Reserved Instance.+rilReservedInstancesId :: Lens' ReservedInstancesListing (Maybe Text)+rilReservedInstancesId = lens _rilReservedInstancesId (\ s a -> s{_rilReservedInstancesId = a});++-- | Any tags assigned to the resource.+rilTags :: Lens' ReservedInstancesListing [Tag]+rilTags = lens _rilTags (\ s a -> s{_rilTags = a}) . _Default . _Coerce;++-- | The number of instances in this state.+rilInstanceCounts :: Lens' ReservedInstancesListing [InstanceCount]+rilInstanceCounts = lens _rilInstanceCounts (\ s a -> s{_rilInstanceCounts = a}) . _Default . _Coerce;++-- | The ID of the Reserved Instance listing.+rilReservedInstancesListingId :: Lens' ReservedInstancesListing (Maybe Text)+rilReservedInstancesListingId = lens _rilReservedInstancesListingId (\ s a -> s{_rilReservedInstancesListingId = a});++instance FromXML ReservedInstancesListing where+ parseXML x+ = ReservedInstancesListing' <$>+ (x .@? "status") <*> (x .@? "clientToken") <*>+ (x .@? "updateDate")+ <*> (x .@? "createDate")+ <*>+ (x .@? "priceSchedules" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "statusMessage")+ <*> (x .@? "reservedInstancesId")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "instanceCounts" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "reservedInstancesListingId")++instance Hashable ReservedInstancesListing++-- | Describes a Reserved Instance modification.+--+-- /See:/ 'reservedInstancesModification' smart constructor.+data ReservedInstancesModification = ReservedInstancesModification'+ { _rimModificationResults :: !(Maybe [ReservedInstancesModificationResult])+ , _rimStatus :: !(Maybe Text)+ , _rimClientToken :: !(Maybe Text)+ , _rimUpdateDate :: !(Maybe ISO8601)+ , _rimCreateDate :: !(Maybe ISO8601)+ , _rimEffectiveDate :: !(Maybe ISO8601)+ , _rimStatusMessage :: !(Maybe Text)+ , _rimReservedInstancesModificationId :: !(Maybe Text)+ , _rimReservedInstancesIds :: !(Maybe [ReservedInstancesId])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesModification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rimModificationResults'+--+-- * 'rimStatus'+--+-- * 'rimClientToken'+--+-- * 'rimUpdateDate'+--+-- * 'rimCreateDate'+--+-- * 'rimEffectiveDate'+--+-- * 'rimStatusMessage'+--+-- * 'rimReservedInstancesModificationId'+--+-- * 'rimReservedInstancesIds'+reservedInstancesModification+ :: ReservedInstancesModification+reservedInstancesModification =+ ReservedInstancesModification'+ { _rimModificationResults = Nothing+ , _rimStatus = Nothing+ , _rimClientToken = Nothing+ , _rimUpdateDate = Nothing+ , _rimCreateDate = Nothing+ , _rimEffectiveDate = Nothing+ , _rimStatusMessage = Nothing+ , _rimReservedInstancesModificationId = Nothing+ , _rimReservedInstancesIds = Nothing+ }++-- | Contains target configurations along with their corresponding new+-- Reserved Instance IDs.+rimModificationResults :: Lens' ReservedInstancesModification [ReservedInstancesModificationResult]+rimModificationResults = lens _rimModificationResults (\ s a -> s{_rimModificationResults = a}) . _Default . _Coerce;++-- | The status of the Reserved Instances modification request.+rimStatus :: Lens' ReservedInstancesModification (Maybe Text)+rimStatus = lens _rimStatus (\ s a -> s{_rimStatus = a});++-- | A unique, case-sensitive key supplied by the client to ensure that the+-- request is idempotent. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.+rimClientToken :: Lens' ReservedInstancesModification (Maybe Text)+rimClientToken = lens _rimClientToken (\ s a -> s{_rimClientToken = a});++-- | The time when the modification request was last updated.+rimUpdateDate :: Lens' ReservedInstancesModification (Maybe UTCTime)+rimUpdateDate = lens _rimUpdateDate (\ s a -> s{_rimUpdateDate = a}) . mapping _Time;++-- | The time when the modification request was created.+rimCreateDate :: Lens' ReservedInstancesModification (Maybe UTCTime)+rimCreateDate = lens _rimCreateDate (\ s a -> s{_rimCreateDate = a}) . mapping _Time;++-- | The time for the modification to become effective.+rimEffectiveDate :: Lens' ReservedInstancesModification (Maybe UTCTime)+rimEffectiveDate = lens _rimEffectiveDate (\ s a -> s{_rimEffectiveDate = a}) . mapping _Time;++-- | The reason for the status.+rimStatusMessage :: Lens' ReservedInstancesModification (Maybe Text)+rimStatusMessage = lens _rimStatusMessage (\ s a -> s{_rimStatusMessage = a});++-- | A unique ID for the Reserved Instance modification.+rimReservedInstancesModificationId :: Lens' ReservedInstancesModification (Maybe Text)+rimReservedInstancesModificationId = lens _rimReservedInstancesModificationId (\ s a -> s{_rimReservedInstancesModificationId = a});++-- | The IDs of one or more Reserved Instances.+rimReservedInstancesIds :: Lens' ReservedInstancesModification [ReservedInstancesId]+rimReservedInstancesIds = lens _rimReservedInstancesIds (\ s a -> s{_rimReservedInstancesIds = a}) . _Default . _Coerce;++instance FromXML ReservedInstancesModification where+ parseXML x+ = ReservedInstancesModification' <$>+ (x .@? "modificationResultSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "status")+ <*> (x .@? "clientToken")+ <*> (x .@? "updateDate")+ <*> (x .@? "createDate")+ <*> (x .@? "effectiveDate")+ <*> (x .@? "statusMessage")+ <*> (x .@? "reservedInstancesModificationId")+ <*>+ (x .@? "reservedInstancesSet" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable ReservedInstancesModification++-- | /See:/ 'reservedInstancesModificationResult' smart constructor.+data ReservedInstancesModificationResult = ReservedInstancesModificationResult'+ { _rimrReservedInstancesId :: !(Maybe Text)+ , _rimrTargetConfiguration :: !(Maybe ReservedInstancesConfiguration)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesModificationResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rimrReservedInstancesId'+--+-- * 'rimrTargetConfiguration'+reservedInstancesModificationResult+ :: ReservedInstancesModificationResult+reservedInstancesModificationResult =+ ReservedInstancesModificationResult'+ { _rimrReservedInstancesId = Nothing+ , _rimrTargetConfiguration = Nothing+ }++-- | The ID for the Reserved Instances that were created as part of the+-- modification request. This field is only available when the modification+-- is fulfilled.+rimrReservedInstancesId :: Lens' ReservedInstancesModificationResult (Maybe Text)+rimrReservedInstancesId = lens _rimrReservedInstancesId (\ s a -> s{_rimrReservedInstancesId = a});++-- | The target Reserved Instances configurations supplied as part of the+-- modification request.+rimrTargetConfiguration :: Lens' ReservedInstancesModificationResult (Maybe ReservedInstancesConfiguration)+rimrTargetConfiguration = lens _rimrTargetConfiguration (\ s a -> s{_rimrTargetConfiguration = a});++instance FromXML ReservedInstancesModificationResult+ where+ parseXML x+ = ReservedInstancesModificationResult' <$>+ (x .@? "reservedInstancesId") <*>+ (x .@? "targetConfiguration")++instance Hashable ReservedInstancesModificationResult++-- | Describes a Reserved Instance offering.+--+-- /See:/ 'reservedInstancesOffering' smart constructor.+data ReservedInstancesOffering = ReservedInstancesOffering'+ { _rioMarketplace :: !(Maybe Bool)+ , _rioCurrencyCode :: !(Maybe CurrencyCodeValues)+ , _rioProductDescription :: !(Maybe RIProductDescription)+ , _rioInstanceType :: !(Maybe InstanceType)+ , _rioAvailabilityZone :: !(Maybe Text)+ , _rioPricingDetails :: !(Maybe [PricingDetail])+ , _rioRecurringCharges :: !(Maybe [RecurringCharge])+ , _rioOfferingType :: !(Maybe OfferingTypeValues)+ , _rioUsagePrice :: !(Maybe Double)+ , _rioFixedPrice :: !(Maybe Double)+ , _rioInstanceTenancy :: !(Maybe Tenancy)+ , _rioReservedInstancesOfferingId :: !(Maybe Text)+ , _rioDuration :: !(Maybe Integer)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesOffering' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rioMarketplace'+--+-- * 'rioCurrencyCode'+--+-- * 'rioProductDescription'+--+-- * 'rioInstanceType'+--+-- * 'rioAvailabilityZone'+--+-- * 'rioPricingDetails'+--+-- * 'rioRecurringCharges'+--+-- * 'rioOfferingType'+--+-- * 'rioUsagePrice'+--+-- * 'rioFixedPrice'+--+-- * 'rioInstanceTenancy'+--+-- * 'rioReservedInstancesOfferingId'+--+-- * 'rioDuration'+reservedInstancesOffering+ :: ReservedInstancesOffering+reservedInstancesOffering =+ ReservedInstancesOffering'+ { _rioMarketplace = Nothing+ , _rioCurrencyCode = Nothing+ , _rioProductDescription = Nothing+ , _rioInstanceType = Nothing+ , _rioAvailabilityZone = Nothing+ , _rioPricingDetails = Nothing+ , _rioRecurringCharges = Nothing+ , _rioOfferingType = Nothing+ , _rioUsagePrice = Nothing+ , _rioFixedPrice = Nothing+ , _rioInstanceTenancy = Nothing+ , _rioReservedInstancesOfferingId = Nothing+ , _rioDuration = Nothing+ }++-- | Indicates whether the offering is available through the Reserved+-- Instance Marketplace (resale) or AWS. If it\'s a Reserved Instance+-- Marketplace offering, this is 'true'.+rioMarketplace :: Lens' ReservedInstancesOffering (Maybe Bool)+rioMarketplace = lens _rioMarketplace (\ s a -> s{_rioMarketplace = a});++-- | The currency of the Reserved Instance offering you are purchasing. It\'s+-- specified using ISO 4217 standard currency codes. At this time, the only+-- supported currency is 'USD'.+rioCurrencyCode :: Lens' ReservedInstancesOffering (Maybe CurrencyCodeValues)+rioCurrencyCode = lens _rioCurrencyCode (\ s a -> s{_rioCurrencyCode = a});++-- | The Reserved Instance product platform description.+rioProductDescription :: Lens' ReservedInstancesOffering (Maybe RIProductDescription)+rioProductDescription = lens _rioProductDescription (\ s a -> s{_rioProductDescription = a});++-- | The instance type on which the Reserved Instance can be used.+rioInstanceType :: Lens' ReservedInstancesOffering (Maybe InstanceType)+rioInstanceType = lens _rioInstanceType (\ s a -> s{_rioInstanceType = a});++-- | The Availability Zone in which the Reserved Instance can be used.+rioAvailabilityZone :: Lens' ReservedInstancesOffering (Maybe Text)+rioAvailabilityZone = lens _rioAvailabilityZone (\ s a -> s{_rioAvailabilityZone = a});++-- | The pricing details of the Reserved Instance offering.+rioPricingDetails :: Lens' ReservedInstancesOffering [PricingDetail]+rioPricingDetails = lens _rioPricingDetails (\ s a -> s{_rioPricingDetails = a}) . _Default . _Coerce;++-- | The recurring charge tag assigned to the resource.+rioRecurringCharges :: Lens' ReservedInstancesOffering [RecurringCharge]+rioRecurringCharges = lens _rioRecurringCharges (\ s a -> s{_rioRecurringCharges = a}) . _Default . _Coerce;++-- | The Reserved Instance offering type.+rioOfferingType :: Lens' ReservedInstancesOffering (Maybe OfferingTypeValues)+rioOfferingType = lens _rioOfferingType (\ s a -> s{_rioOfferingType = a});++-- | The usage price of the Reserved Instance, per hour.+rioUsagePrice :: Lens' ReservedInstancesOffering (Maybe Double)+rioUsagePrice = lens _rioUsagePrice (\ s a -> s{_rioUsagePrice = a});++-- | The purchase price of the Reserved Instance.+rioFixedPrice :: Lens' ReservedInstancesOffering (Maybe Double)+rioFixedPrice = lens _rioFixedPrice (\ s a -> s{_rioFixedPrice = a});++-- | The tenancy of the instance.+rioInstanceTenancy :: Lens' ReservedInstancesOffering (Maybe Tenancy)+rioInstanceTenancy = lens _rioInstanceTenancy (\ s a -> s{_rioInstanceTenancy = a});++-- | The ID of the Reserved Instance offering.+rioReservedInstancesOfferingId :: Lens' ReservedInstancesOffering (Maybe Text)+rioReservedInstancesOfferingId = lens _rioReservedInstancesOfferingId (\ s a -> s{_rioReservedInstancesOfferingId = a});++-- | The duration of the Reserved Instance, in seconds.+rioDuration :: Lens' ReservedInstancesOffering (Maybe Integer)+rioDuration = lens _rioDuration (\ s a -> s{_rioDuration = a});++instance FromXML ReservedInstancesOffering where+ parseXML x+ = ReservedInstancesOffering' <$>+ (x .@? "marketplace") <*> (x .@? "currencyCode") <*>+ (x .@? "productDescription")+ <*> (x .@? "instanceType")+ <*> (x .@? "availabilityZone")+ <*>+ (x .@? "pricingDetailsSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "recurringCharges" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "offeringType")+ <*> (x .@? "usagePrice")+ <*> (x .@? "fixedPrice")+ <*> (x .@? "instanceTenancy")+ <*> (x .@? "reservedInstancesOfferingId")+ <*> (x .@? "duration")++instance Hashable ReservedInstancesOffering++-- | Describes a route in a route table.+--+-- /See:/ 'route' smart constructor.+data Route = Route'+ { _rVPCPeeringConnectionId :: !(Maybe Text)+ , _rInstanceId :: !(Maybe Text)+ , _rOrigin :: !(Maybe RouteOrigin)+ , _rState :: !(Maybe RouteState)+ , _rNatGatewayId :: !(Maybe Text)+ , _rNetworkInterfaceId :: !(Maybe Text)+ , _rGatewayId :: !(Maybe Text)+ , _rInstanceOwnerId :: !(Maybe Text)+ , _rDestinationPrefixListId :: !(Maybe Text)+ , _rDestinationCIdRBlock :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Route' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rVPCPeeringConnectionId'+--+-- * 'rInstanceId'+--+-- * 'rOrigin'+--+-- * 'rState'+--+-- * 'rNatGatewayId'+--+-- * 'rNetworkInterfaceId'+--+-- * 'rGatewayId'+--+-- * 'rInstanceOwnerId'+--+-- * 'rDestinationPrefixListId'+--+-- * 'rDestinationCIdRBlock'+route+ :: Route+route =+ Route'+ { _rVPCPeeringConnectionId = Nothing+ , _rInstanceId = Nothing+ , _rOrigin = Nothing+ , _rState = Nothing+ , _rNatGatewayId = Nothing+ , _rNetworkInterfaceId = Nothing+ , _rGatewayId = Nothing+ , _rInstanceOwnerId = Nothing+ , _rDestinationPrefixListId = Nothing+ , _rDestinationCIdRBlock = Nothing+ }++-- | The ID of the VPC peering connection.+rVPCPeeringConnectionId :: Lens' Route (Maybe Text)+rVPCPeeringConnectionId = lens _rVPCPeeringConnectionId (\ s a -> s{_rVPCPeeringConnectionId = a});++-- | The ID of a NAT instance in your VPC.+rInstanceId :: Lens' Route (Maybe Text)+rInstanceId = lens _rInstanceId (\ s a -> s{_rInstanceId = a});++-- | Describes how the route was created.+--+-- - 'CreateRouteTable' indicates that route was automatically created+-- when the route table was created.+-- - 'CreateRoute' indicates that the route was manually added to the+-- route table.+-- - 'EnableVgwRoutePropagation' indicates that the route was propagated+-- by route propagation.+rOrigin :: Lens' Route (Maybe RouteOrigin)+rOrigin = lens _rOrigin (\ s a -> s{_rOrigin = a});++-- | The state of the route. The 'blackhole' state indicates that the+-- route\'s target isn\'t available (for example, the specified gateway+-- isn\'t attached to the VPC, or the specified NAT instance has been+-- terminated).+rState :: Lens' Route (Maybe RouteState)+rState = lens _rState (\ s a -> s{_rState = a});++-- | The ID of a NAT gateway.+rNatGatewayId :: Lens' Route (Maybe Text)+rNatGatewayId = lens _rNatGatewayId (\ s a -> s{_rNatGatewayId = a});++-- | The ID of the network interface.+rNetworkInterfaceId :: Lens' Route (Maybe Text)+rNetworkInterfaceId = lens _rNetworkInterfaceId (\ s a -> s{_rNetworkInterfaceId = a});++-- | The ID of a gateway attached to your VPC.+rGatewayId :: Lens' Route (Maybe Text)+rGatewayId = lens _rGatewayId (\ s a -> s{_rGatewayId = a});++-- | The AWS account ID of the owner of the instance.+rInstanceOwnerId :: Lens' Route (Maybe Text)+rInstanceOwnerId = lens _rInstanceOwnerId (\ s a -> s{_rInstanceOwnerId = a});++-- | The prefix of the AWS service.+rDestinationPrefixListId :: Lens' Route (Maybe Text)+rDestinationPrefixListId = lens _rDestinationPrefixListId (\ s a -> s{_rDestinationPrefixListId = a});++-- | The CIDR block used for the destination match.+rDestinationCIdRBlock :: Lens' Route (Maybe Text)+rDestinationCIdRBlock = lens _rDestinationCIdRBlock (\ s a -> s{_rDestinationCIdRBlock = a});++instance FromXML Route where+ parseXML x+ = Route' <$>+ (x .@? "vpcPeeringConnectionId") <*>+ (x .@? "instanceId")+ <*> (x .@? "origin")+ <*> (x .@? "state")+ <*> (x .@? "natGatewayId")+ <*> (x .@? "networkInterfaceId")+ <*> (x .@? "gatewayId")+ <*> (x .@? "instanceOwnerId")+ <*> (x .@? "destinationPrefixListId")+ <*> (x .@? "destinationCidrBlock")++instance Hashable Route++-- | Describes a route table.+--+-- /See:/ 'routeTable' smart constructor.+data RouteTable = RouteTable'+ { _rtRouteTableId :: !(Maybe Text)+ , _rtRoutes :: !(Maybe [Route])+ , _rtVPCId :: !(Maybe Text)+ , _rtPropagatingVGWs :: !(Maybe [PropagatingVGW])+ , _rtAssociations :: !(Maybe [RouteTableAssociation])+ , _rtTags :: !(Maybe [Tag])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouteTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtRouteTableId'+--+-- * 'rtRoutes'+--+-- * 'rtVPCId'+--+-- * 'rtPropagatingVGWs'+--+-- * 'rtAssociations'+--+-- * 'rtTags'+routeTable+ :: RouteTable+routeTable =+ RouteTable'+ { _rtRouteTableId = Nothing+ , _rtRoutes = Nothing+ , _rtVPCId = Nothing+ , _rtPropagatingVGWs = Nothing+ , _rtAssociations = Nothing+ , _rtTags = Nothing+ }++-- | The ID of the route table.+rtRouteTableId :: Lens' RouteTable (Maybe Text)+rtRouteTableId = lens _rtRouteTableId (\ s a -> s{_rtRouteTableId = a});++-- | The routes in the route table.+rtRoutes :: Lens' RouteTable [Route]+rtRoutes = lens _rtRoutes (\ s a -> s{_rtRoutes = a}) . _Default . _Coerce;++-- | The ID of the VPC.+rtVPCId :: Lens' RouteTable (Maybe Text)+rtVPCId = lens _rtVPCId (\ s a -> s{_rtVPCId = a});++-- | Any virtual private gateway (VGW) propagating routes.+rtPropagatingVGWs :: Lens' RouteTable [PropagatingVGW]+rtPropagatingVGWs = lens _rtPropagatingVGWs (\ s a -> s{_rtPropagatingVGWs = a}) . _Default . _Coerce;++-- | The associations between the route table and one or more subnets.+rtAssociations :: Lens' RouteTable [RouteTableAssociation]+rtAssociations = lens _rtAssociations (\ s a -> s{_rtAssociations = a}) . _Default . _Coerce;++-- | Any tags assigned to the route table.+rtTags :: Lens' RouteTable [Tag]+rtTags = lens _rtTags (\ s a -> s{_rtTags = a}) . _Default . _Coerce;++instance FromXML RouteTable where+ parseXML x+ = RouteTable' <$>+ (x .@? "routeTableId") <*>+ (x .@? "routeSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "vpcId")+ <*>+ (x .@? "propagatingVgwSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "associationSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable RouteTable++-- | Describes an association between a route table and a subnet.+--+-- /See:/ 'routeTableAssociation' smart constructor.+data RouteTableAssociation = RouteTableAssociation'+ { _rtaRouteTableId :: !(Maybe Text)+ , _rtaRouteTableAssociationId :: !(Maybe Text)+ , _rtaMain :: !(Maybe Bool)+ , _rtaSubnetId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouteTableAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtaRouteTableId'+--+-- * 'rtaRouteTableAssociationId'+--+-- * 'rtaMain'+--+-- * 'rtaSubnetId'+routeTableAssociation+ :: RouteTableAssociation+routeTableAssociation =+ RouteTableAssociation'+ { _rtaRouteTableId = Nothing+ , _rtaRouteTableAssociationId = Nothing+ , _rtaMain = Nothing+ , _rtaSubnetId = Nothing+ }++-- | The ID of the route table.+rtaRouteTableId :: Lens' RouteTableAssociation (Maybe Text)+rtaRouteTableId = lens _rtaRouteTableId (\ s a -> s{_rtaRouteTableId = a});++-- | The ID of the association between a route table and a subnet.+rtaRouteTableAssociationId :: Lens' RouteTableAssociation (Maybe Text)+rtaRouteTableAssociationId = lens _rtaRouteTableAssociationId (\ s a -> s{_rtaRouteTableAssociationId = a});++-- | Indicates whether this is the main route table.+rtaMain :: Lens' RouteTableAssociation (Maybe Bool)+rtaMain = lens _rtaMain (\ s a -> s{_rtaMain = a});++-- | The ID of the subnet. A subnet ID is not returned for an implicit+-- association.+rtaSubnetId :: Lens' RouteTableAssociation (Maybe Text)+rtaSubnetId = lens _rtaSubnetId (\ s a -> s{_rtaSubnetId = a});++instance FromXML RouteTableAssociation where+ parseXML x+ = RouteTableAssociation' <$>+ (x .@? "routeTableId") <*>+ (x .@? "routeTableAssociationId")+ <*> (x .@? "main")+ <*> (x .@? "subnetId")++instance Hashable RouteTableAssociation++-- | Describes the monitoring for the instance.+--+-- /See:/ 'runInstancesMonitoringEnabled' smart constructor.+newtype RunInstancesMonitoringEnabled = RunInstancesMonitoringEnabled'+ { _rimeEnabled :: Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RunInstancesMonitoringEnabled' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rimeEnabled'+runInstancesMonitoringEnabled+ :: Bool -- ^ 'rimeEnabled'+ -> RunInstancesMonitoringEnabled+runInstancesMonitoringEnabled pEnabled_ =+ RunInstancesMonitoringEnabled'+ { _rimeEnabled = pEnabled_+ }++-- | Indicates whether monitoring is enabled for the instance.+rimeEnabled :: Lens' RunInstancesMonitoringEnabled Bool+rimeEnabled = lens _rimeEnabled (\ s a -> s{_rimeEnabled = a});++instance FromXML RunInstancesMonitoringEnabled where+ parseXML x+ = RunInstancesMonitoringEnabled' <$> (x .@ "enabled")++instance Hashable RunInstancesMonitoringEnabled++instance ToQuery RunInstancesMonitoringEnabled where+ toQuery RunInstancesMonitoringEnabled'{..}+ = mconcat ["Enabled" =: _rimeEnabled]++-- | Describes the storage parameters for S3 and S3 buckets for an instance+-- store-backed AMI.+--+-- /See:/ 's3Storage' smart constructor.+data S3Storage = S3Storage'+ { _ssPrefix :: !(Maybe Text)+ , _ssUploadPolicy :: !(Maybe Base64)+ , _ssBucket :: !(Maybe Text)+ , _ssUploadPolicySignature :: !(Maybe Text)+ , _ssAWSAccessKeyId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'S3Storage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssPrefix'+--+-- * 'ssUploadPolicy'+--+-- * 'ssBucket'+--+-- * 'ssUploadPolicySignature'+--+-- * 'ssAWSAccessKeyId'+s3Storage+ :: S3Storage+s3Storage =+ S3Storage'+ { _ssPrefix = Nothing+ , _ssUploadPolicy = Nothing+ , _ssBucket = Nothing+ , _ssUploadPolicySignature = Nothing+ , _ssAWSAccessKeyId = Nothing+ }++-- | The beginning of the file name of the AMI.+ssPrefix :: Lens' S3Storage (Maybe Text)+ssPrefix = lens _ssPrefix (\ s a -> s{_ssPrefix = a});++-- | A Base64-encoded Amazon S3 upload policy that gives Amazon EC2+-- permission to upload items into Amazon S3 on your behalf.+--+-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data,+-- despite what the AWS documentation might say.+-- The underlying isomorphism will encode to Base64 representation during+-- serialisation, and decode from Base64 representation during deserialisation.+-- This 'Lens' accepts and returns only raw unencoded data.+ssUploadPolicy :: Lens' S3Storage (Maybe ByteString)+ssUploadPolicy = lens _ssUploadPolicy (\ s a -> s{_ssUploadPolicy = a}) . mapping _Base64;++-- | The bucket in which to store the AMI. You can specify a bucket that you+-- already own or a new bucket that Amazon EC2 creates on your behalf. If+-- you specify a bucket that belongs to someone else, Amazon EC2 returns an+-- error.+ssBucket :: Lens' S3Storage (Maybe Text)+ssBucket = lens _ssBucket (\ s a -> s{_ssBucket = a});++-- | The signature of the Base64 encoded JSON document.+ssUploadPolicySignature :: Lens' S3Storage (Maybe Text)+ssUploadPolicySignature = lens _ssUploadPolicySignature (\ s a -> s{_ssUploadPolicySignature = a});++-- | The access key ID of the owner of the bucket. Before you specify a value+-- for your access key ID, review and follow the guidance in+-- <http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html Best Practices for Managing AWS Access Keys>.+ssAWSAccessKeyId :: Lens' S3Storage (Maybe Text)+ssAWSAccessKeyId = lens _ssAWSAccessKeyId (\ s a -> s{_ssAWSAccessKeyId = a});++instance FromXML S3Storage where+ parseXML x+ = S3Storage' <$>+ (x .@? "prefix") <*> (x .@? "uploadPolicy") <*>+ (x .@? "bucket")+ <*> (x .@? "uploadPolicySignature")+ <*> (x .@? "AWSAccessKeyId")++instance Hashable S3Storage++instance ToQuery S3Storage where+ toQuery S3Storage'{..}+ = mconcat+ ["Prefix" =: _ssPrefix,+ "UploadPolicy" =: _ssUploadPolicy,+ "Bucket" =: _ssBucket,+ "UploadPolicySignature" =: _ssUploadPolicySignature,+ "AWSAccessKeyId" =: _ssAWSAccessKeyId]++-- | Describes a Scheduled Instance.+--+-- /See:/ 'scheduledInstance' smart constructor.+data ScheduledInstance = ScheduledInstance'+ { _siPreviousSlotEndTime :: !(Maybe ISO8601)+ , _siPlatform :: !(Maybe Text)+ , _siTermStartDate :: !(Maybe ISO8601)+ , _siInstanceCount :: !(Maybe Int)+ , _siScheduledInstanceId :: !(Maybe Text)+ , _siHourlyPrice :: !(Maybe Text)+ , _siCreateDate :: !(Maybe ISO8601)+ , _siSlotDurationInHours :: !(Maybe Int)+ , _siTotalScheduledInstanceHours :: !(Maybe Int)+ , _siInstanceType :: !(Maybe Text)+ , _siRecurrence :: !(Maybe ScheduledInstanceRecurrence)+ , _siAvailabilityZone :: !(Maybe Text)+ , _siTermEndDate :: !(Maybe ISO8601)+ , _siNextSlotStartTime :: !(Maybe ISO8601)+ , _siNetworkPlatform :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siPreviousSlotEndTime'+--+-- * 'siPlatform'+--+-- * 'siTermStartDate'+--+-- * 'siInstanceCount'+--+-- * 'siScheduledInstanceId'+--+-- * 'siHourlyPrice'+--+-- * 'siCreateDate'+--+-- * 'siSlotDurationInHours'+--+-- * 'siTotalScheduledInstanceHours'+--+-- * 'siInstanceType'+--+-- * 'siRecurrence'+--+-- * 'siAvailabilityZone'+--+-- * 'siTermEndDate'+--+-- * 'siNextSlotStartTime'+--+-- * 'siNetworkPlatform'+scheduledInstance+ :: ScheduledInstance+scheduledInstance =+ ScheduledInstance'+ { _siPreviousSlotEndTime = Nothing+ , _siPlatform = Nothing+ , _siTermStartDate = Nothing+ , _siInstanceCount = Nothing+ , _siScheduledInstanceId = Nothing+ , _siHourlyPrice = Nothing+ , _siCreateDate = Nothing+ , _siSlotDurationInHours = Nothing+ , _siTotalScheduledInstanceHours = Nothing+ , _siInstanceType = Nothing+ , _siRecurrence = Nothing+ , _siAvailabilityZone = Nothing+ , _siTermEndDate = Nothing+ , _siNextSlotStartTime = Nothing+ , _siNetworkPlatform = Nothing+ }++-- | The time that the previous schedule ended or will end.+siPreviousSlotEndTime :: Lens' ScheduledInstance (Maybe UTCTime)+siPreviousSlotEndTime = lens _siPreviousSlotEndTime (\ s a -> s{_siPreviousSlotEndTime = a}) . mapping _Time;++-- | The platform ('Linux\/UNIX' or 'Windows').+siPlatform :: Lens' ScheduledInstance (Maybe Text)+siPlatform = lens _siPlatform (\ s a -> s{_siPlatform = a});++-- | The start date for the Scheduled Instance.+siTermStartDate :: Lens' ScheduledInstance (Maybe UTCTime)+siTermStartDate = lens _siTermStartDate (\ s a -> s{_siTermStartDate = a}) . mapping _Time;++-- | The number of instances.+siInstanceCount :: Lens' ScheduledInstance (Maybe Int)+siInstanceCount = lens _siInstanceCount (\ s a -> s{_siInstanceCount = a});++-- | The Scheduled Instance ID.+siScheduledInstanceId :: Lens' ScheduledInstance (Maybe Text)+siScheduledInstanceId = lens _siScheduledInstanceId (\ s a -> s{_siScheduledInstanceId = a});++-- | The hourly price for a single instance.+siHourlyPrice :: Lens' ScheduledInstance (Maybe Text)+siHourlyPrice = lens _siHourlyPrice (\ s a -> s{_siHourlyPrice = a});++-- | The date when the Scheduled Instance was purchased.+siCreateDate :: Lens' ScheduledInstance (Maybe UTCTime)+siCreateDate = lens _siCreateDate (\ s a -> s{_siCreateDate = a}) . mapping _Time;++-- | The number of hours in the schedule.+siSlotDurationInHours :: Lens' ScheduledInstance (Maybe Int)+siSlotDurationInHours = lens _siSlotDurationInHours (\ s a -> s{_siSlotDurationInHours = a});++-- | The total number of hours for a single instance for the entire term.+siTotalScheduledInstanceHours :: Lens' ScheduledInstance (Maybe Int)+siTotalScheduledInstanceHours = lens _siTotalScheduledInstanceHours (\ s a -> s{_siTotalScheduledInstanceHours = a});++-- | The instance type.+siInstanceType :: Lens' ScheduledInstance (Maybe Text)+siInstanceType = lens _siInstanceType (\ s a -> s{_siInstanceType = a});++-- | The schedule recurrence.+siRecurrence :: Lens' ScheduledInstance (Maybe ScheduledInstanceRecurrence)+siRecurrence = lens _siRecurrence (\ s a -> s{_siRecurrence = a});++-- | The Availability Zone.+siAvailabilityZone :: Lens' ScheduledInstance (Maybe Text)+siAvailabilityZone = lens _siAvailabilityZone (\ s a -> s{_siAvailabilityZone = a});++-- | The end date for the Scheduled Instance.+siTermEndDate :: Lens' ScheduledInstance (Maybe UTCTime)+siTermEndDate = lens _siTermEndDate (\ s a -> s{_siTermEndDate = a}) . mapping _Time;++-- | The time for the next schedule to start.+siNextSlotStartTime :: Lens' ScheduledInstance (Maybe UTCTime)+siNextSlotStartTime = lens _siNextSlotStartTime (\ s a -> s{_siNextSlotStartTime = a}) . mapping _Time;++-- | The network platform ('EC2-Classic' or 'EC2-VPC').+siNetworkPlatform :: Lens' ScheduledInstance (Maybe Text)+siNetworkPlatform = lens _siNetworkPlatform (\ s a -> s{_siNetworkPlatform = a});++instance FromXML ScheduledInstance where+ parseXML x+ = ScheduledInstance' <$>+ (x .@? "previousSlotEndTime") <*> (x .@? "platform")+ <*> (x .@? "termStartDate")+ <*> (x .@? "instanceCount")+ <*> (x .@? "scheduledInstanceId")+ <*> (x .@? "hourlyPrice")+ <*> (x .@? "createDate")+ <*> (x .@? "slotDurationInHours")+ <*> (x .@? "totalScheduledInstanceHours")+ <*> (x .@? "instanceType")+ <*> (x .@? "recurrence")+ <*> (x .@? "availabilityZone")+ <*> (x .@? "termEndDate")+ <*> (x .@? "nextSlotStartTime")+ <*> (x .@? "networkPlatform")++instance Hashable ScheduledInstance++-- | Describes a schedule that is available for your Scheduled Instances.+--+-- /See:/ 'scheduledInstanceAvailability' smart constructor.+data ScheduledInstanceAvailability = ScheduledInstanceAvailability'+ { _siaMaxTermDurationInDays :: !(Maybe Int)+ , _siaPlatform :: !(Maybe Text)+ , _siaPurchaseToken :: !(Maybe Text)+ , _siaHourlyPrice :: !(Maybe Text)+ , _siaAvailableInstanceCount :: !(Maybe Int)+ , _siaSlotDurationInHours :: !(Maybe Int)+ , _siaTotalScheduledInstanceHours :: !(Maybe Int)+ , _siaInstanceType :: !(Maybe Text)+ , _siaRecurrence :: !(Maybe ScheduledInstanceRecurrence)+ , _siaAvailabilityZone :: !(Maybe Text)+ , _siaMinTermDurationInDays :: !(Maybe Int)+ , _siaFirstSlotStartTime :: !(Maybe ISO8601)+ , _siaNetworkPlatform :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstanceAvailability' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siaMaxTermDurationInDays'+--+-- * 'siaPlatform'+--+-- * 'siaPurchaseToken'+--+-- * 'siaHourlyPrice'+--+-- * 'siaAvailableInstanceCount'+--+-- * 'siaSlotDurationInHours'+--+-- * 'siaTotalScheduledInstanceHours'+--+-- * 'siaInstanceType'+--+-- * 'siaRecurrence'+--+-- * 'siaAvailabilityZone'+--+-- * 'siaMinTermDurationInDays'+--+-- * 'siaFirstSlotStartTime'+--+-- * 'siaNetworkPlatform'+scheduledInstanceAvailability+ :: ScheduledInstanceAvailability+scheduledInstanceAvailability =+ ScheduledInstanceAvailability'+ { _siaMaxTermDurationInDays = Nothing+ , _siaPlatform = Nothing+ , _siaPurchaseToken = Nothing+ , _siaHourlyPrice = Nothing+ , _siaAvailableInstanceCount = Nothing+ , _siaSlotDurationInHours = Nothing+ , _siaTotalScheduledInstanceHours = Nothing+ , _siaInstanceType = Nothing+ , _siaRecurrence = Nothing+ , _siaAvailabilityZone = Nothing+ , _siaMinTermDurationInDays = Nothing+ , _siaFirstSlotStartTime = Nothing+ , _siaNetworkPlatform = Nothing+ }++-- | The maximum term. The only possible value is 365 days.+siaMaxTermDurationInDays :: Lens' ScheduledInstanceAvailability (Maybe Int)+siaMaxTermDurationInDays = lens _siaMaxTermDurationInDays (\ s a -> s{_siaMaxTermDurationInDays = a});++-- | The platform ('Linux\/UNIX' or 'Windows').+siaPlatform :: Lens' ScheduledInstanceAvailability (Maybe Text)+siaPlatform = lens _siaPlatform (\ s a -> s{_siaPlatform = a});++-- | The purchase token. This token expires in two hours.+siaPurchaseToken :: Lens' ScheduledInstanceAvailability (Maybe Text)+siaPurchaseToken = lens _siaPurchaseToken (\ s a -> s{_siaPurchaseToken = a});++-- | The hourly price for a single instance.+siaHourlyPrice :: Lens' ScheduledInstanceAvailability (Maybe Text)+siaHourlyPrice = lens _siaHourlyPrice (\ s a -> s{_siaHourlyPrice = a});++-- | The number of available instances.+siaAvailableInstanceCount :: Lens' ScheduledInstanceAvailability (Maybe Int)+siaAvailableInstanceCount = lens _siaAvailableInstanceCount (\ s a -> s{_siaAvailableInstanceCount = a});++-- | The number of hours in the schedule.+siaSlotDurationInHours :: Lens' ScheduledInstanceAvailability (Maybe Int)+siaSlotDurationInHours = lens _siaSlotDurationInHours (\ s a -> s{_siaSlotDurationInHours = a});++-- | The total number of hours for a single instance for the entire term.+siaTotalScheduledInstanceHours :: Lens' ScheduledInstanceAvailability (Maybe Int)+siaTotalScheduledInstanceHours = lens _siaTotalScheduledInstanceHours (\ s a -> s{_siaTotalScheduledInstanceHours = a});++-- | The instance type. You can specify one of the C3, C4, M4, or R3 instance+-- types.+siaInstanceType :: Lens' ScheduledInstanceAvailability (Maybe Text)+siaInstanceType = lens _siaInstanceType (\ s a -> s{_siaInstanceType = a});++-- | The schedule recurrence.+siaRecurrence :: Lens' ScheduledInstanceAvailability (Maybe ScheduledInstanceRecurrence)+siaRecurrence = lens _siaRecurrence (\ s a -> s{_siaRecurrence = a});++-- | The Availability Zone.+siaAvailabilityZone :: Lens' ScheduledInstanceAvailability (Maybe Text)+siaAvailabilityZone = lens _siaAvailabilityZone (\ s a -> s{_siaAvailabilityZone = a});++-- | The minimum term. The only possible value is 365 days.+siaMinTermDurationInDays :: Lens' ScheduledInstanceAvailability (Maybe Int)+siaMinTermDurationInDays = lens _siaMinTermDurationInDays (\ s a -> s{_siaMinTermDurationInDays = a});++-- | The time period for the first schedule to start.+siaFirstSlotStartTime :: Lens' ScheduledInstanceAvailability (Maybe UTCTime)+siaFirstSlotStartTime = lens _siaFirstSlotStartTime (\ s a -> s{_siaFirstSlotStartTime = a}) . mapping _Time;++-- | The network platform ('EC2-Classic' or 'EC2-VPC').+siaNetworkPlatform :: Lens' ScheduledInstanceAvailability (Maybe Text)+siaNetworkPlatform = lens _siaNetworkPlatform (\ s a -> s{_siaNetworkPlatform = a});++instance FromXML ScheduledInstanceAvailability where+ parseXML x+ = ScheduledInstanceAvailability' <$>+ (x .@? "maxTermDurationInDays") <*>+ (x .@? "platform")+ <*> (x .@? "purchaseToken")+ <*> (x .@? "hourlyPrice")+ <*> (x .@? "availableInstanceCount")+ <*> (x .@? "slotDurationInHours")+ <*> (x .@? "totalScheduledInstanceHours")+ <*> (x .@? "instanceType")+ <*> (x .@? "recurrence")+ <*> (x .@? "availabilityZone")+ <*> (x .@? "minTermDurationInDays")+ <*> (x .@? "firstSlotStartTime")+ <*> (x .@? "networkPlatform")++instance Hashable ScheduledInstanceAvailability++-- | Describes the recurring schedule for a Scheduled Instance.+--+-- /See:/ 'scheduledInstanceRecurrence' smart constructor.+data ScheduledInstanceRecurrence = ScheduledInstanceRecurrence'+ { _sirFrequency :: !(Maybe Text)+ , _sirOccurrenceRelativeToEnd :: !(Maybe Bool)+ , _sirOccurrenceUnit :: !(Maybe Text)+ , _sirInterval :: !(Maybe Int)+ , _sirOccurrenceDaySet :: !(Maybe [Int])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstanceRecurrence' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sirFrequency'+--+-- * 'sirOccurrenceRelativeToEnd'+--+-- * 'sirOccurrenceUnit'+--+-- * 'sirInterval'+--+-- * 'sirOccurrenceDaySet'+scheduledInstanceRecurrence+ :: ScheduledInstanceRecurrence+scheduledInstanceRecurrence =+ ScheduledInstanceRecurrence'+ { _sirFrequency = Nothing+ , _sirOccurrenceRelativeToEnd = Nothing+ , _sirOccurrenceUnit = Nothing+ , _sirInterval = Nothing+ , _sirOccurrenceDaySet = Nothing+ }++-- | The frequency ('Daily', 'Weekly', or 'Monthly').+sirFrequency :: Lens' ScheduledInstanceRecurrence (Maybe Text)+sirFrequency = lens _sirFrequency (\ s a -> s{_sirFrequency = a});++-- | Indicates whether the occurrence is relative to the end of the specified+-- week or month.+sirOccurrenceRelativeToEnd :: Lens' ScheduledInstanceRecurrence (Maybe Bool)+sirOccurrenceRelativeToEnd = lens _sirOccurrenceRelativeToEnd (\ s a -> s{_sirOccurrenceRelativeToEnd = a});++-- | The unit for 'occurrenceDaySet' ('DayOfWeek' or 'DayOfMonth').+sirOccurrenceUnit :: Lens' ScheduledInstanceRecurrence (Maybe Text)+sirOccurrenceUnit = lens _sirOccurrenceUnit (\ s a -> s{_sirOccurrenceUnit = a});++-- | The interval quantity. The interval unit depends on the value of+-- 'frequency'. For example, every 2 weeks or every 2 months.+sirInterval :: Lens' ScheduledInstanceRecurrence (Maybe Int)+sirInterval = lens _sirInterval (\ s a -> s{_sirInterval = a});++-- | The days. For a monthly schedule, this is one or more days of the month+-- (1-31). For a weekly schedule, this is one or more days of the week+-- (1-7, where 1 is Sunday).+sirOccurrenceDaySet :: Lens' ScheduledInstanceRecurrence [Int]+sirOccurrenceDaySet = lens _sirOccurrenceDaySet (\ s a -> s{_sirOccurrenceDaySet = a}) . _Default . _Coerce;++instance FromXML ScheduledInstanceRecurrence where+ parseXML x+ = ScheduledInstanceRecurrence' <$>+ (x .@? "frequency") <*>+ (x .@? "occurrenceRelativeToEnd")+ <*> (x .@? "occurrenceUnit")+ <*> (x .@? "interval")+ <*>+ (x .@? "occurrenceDaySet" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable ScheduledInstanceRecurrence++-- | Describes the recurring schedule for a Scheduled Instance.+--+-- /See:/ 'scheduledInstanceRecurrenceRequest' smart constructor.+data ScheduledInstanceRecurrenceRequest = ScheduledInstanceRecurrenceRequest'+ { _sirrFrequency :: !(Maybe Text)+ , _sirrOccurrenceRelativeToEnd :: !(Maybe Bool)+ , _sirrOccurrenceDays :: !(Maybe [Int])+ , _sirrOccurrenceUnit :: !(Maybe Text)+ , _sirrInterval :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstanceRecurrenceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sirrFrequency'+--+-- * 'sirrOccurrenceRelativeToEnd'+--+-- * 'sirrOccurrenceDays'+--+-- * 'sirrOccurrenceUnit'+--+-- * 'sirrInterval'+scheduledInstanceRecurrenceRequest+ :: ScheduledInstanceRecurrenceRequest+scheduledInstanceRecurrenceRequest =+ ScheduledInstanceRecurrenceRequest'+ { _sirrFrequency = Nothing+ , _sirrOccurrenceRelativeToEnd = Nothing+ , _sirrOccurrenceDays = Nothing+ , _sirrOccurrenceUnit = Nothing+ , _sirrInterval = Nothing+ }++-- | The frequency ('Daily', 'Weekly', or 'Monthly').+sirrFrequency :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Text)+sirrFrequency = lens _sirrFrequency (\ s a -> s{_sirrFrequency = a});++-- | Indicates whether the occurrence is relative to the end of the specified+-- week or month. You can\'t specify this value with a daily schedule.+sirrOccurrenceRelativeToEnd :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Bool)+sirrOccurrenceRelativeToEnd = lens _sirrOccurrenceRelativeToEnd (\ s a -> s{_sirrOccurrenceRelativeToEnd = a});++-- | The days. For a monthly schedule, this is one or more days of the month+-- (1-31). For a weekly schedule, this is one or more days of the week+-- (1-7, where 1 is Sunday). You can\'t specify this value with a daily+-- schedule. If the occurrence is relative to the end of the month, you can+-- specify only a single day.+sirrOccurrenceDays :: Lens' ScheduledInstanceRecurrenceRequest [Int]+sirrOccurrenceDays = lens _sirrOccurrenceDays (\ s a -> s{_sirrOccurrenceDays = a}) . _Default . _Coerce;++-- | The unit for 'OccurrenceDays' ('DayOfWeek' or 'DayOfMonth'). This value+-- is required for a monthly schedule. You can\'t specify 'DayOfWeek' with+-- a weekly schedule. You can\'t specify this value with a daily schedule.+sirrOccurrenceUnit :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Text)+sirrOccurrenceUnit = lens _sirrOccurrenceUnit (\ s a -> s{_sirrOccurrenceUnit = a});++-- | The interval quantity. The interval unit depends on the value of+-- 'Frequency'. For example, every 2 weeks or every 2 months.+sirrInterval :: Lens' ScheduledInstanceRecurrenceRequest (Maybe Int)+sirrInterval = lens _sirrInterval (\ s a -> s{_sirrInterval = a});++instance Hashable ScheduledInstanceRecurrenceRequest++instance ToQuery ScheduledInstanceRecurrenceRequest+ where+ toQuery ScheduledInstanceRecurrenceRequest'{..}+ = mconcat+ ["Frequency" =: _sirrFrequency,+ "OccurrenceRelativeToEnd" =:+ _sirrOccurrenceRelativeToEnd,+ toQuery+ (toQueryList "OccurrenceDay" <$>+ _sirrOccurrenceDays),+ "OccurrenceUnit" =: _sirrOccurrenceUnit,+ "Interval" =: _sirrInterval]++-- | Describes a block device mapping for a Scheduled Instance.+--+-- /See:/ 'scheduledInstancesBlockDeviceMapping' smart constructor.+data ScheduledInstancesBlockDeviceMapping = ScheduledInstancesBlockDeviceMapping'+ { _sibdmVirtualName :: !(Maybe Text)+ , _sibdmNoDevice :: !(Maybe Text)+ , _sibdmEBS :: !(Maybe ScheduledInstancesEBS)+ , _sibdmDeviceName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstancesBlockDeviceMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sibdmVirtualName'+--+-- * 'sibdmNoDevice'+--+-- * 'sibdmEBS'+--+-- * 'sibdmDeviceName'+scheduledInstancesBlockDeviceMapping+ :: ScheduledInstancesBlockDeviceMapping+scheduledInstancesBlockDeviceMapping =+ ScheduledInstancesBlockDeviceMapping'+ { _sibdmVirtualName = Nothing+ , _sibdmNoDevice = Nothing+ , _sibdmEBS = Nothing+ , _sibdmDeviceName = Nothing+ }++-- | The virtual device name ('ephemeral'N). Instance store volumes are+-- numbered starting from 0. An instance type with two available instance+-- store volumes can specify mappings for 'ephemeral0' and 'ephemeral1'.The+-- number of available instance store volumes depends on the instance type.+-- After you connect to the instance, you must mount the volume.+--+-- Constraints: For M3 instances, you must specify instance store volumes+-- in the block device mapping for the instance. When you launch an M3+-- instance, we ignore any instance store volumes specified in the block+-- device mapping for the AMI.+sibdmVirtualName :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe Text)+sibdmVirtualName = lens _sibdmVirtualName (\ s a -> s{_sibdmVirtualName = a});++-- | Suppresses the specified device included in the block device mapping of+-- the AMI.+sibdmNoDevice :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe Text)+sibdmNoDevice = lens _sibdmNoDevice (\ s a -> s{_sibdmNoDevice = a});++-- | Parameters used to set up EBS volumes automatically when the instance is+-- launched.+sibdmEBS :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe ScheduledInstancesEBS)+sibdmEBS = lens _sibdmEBS (\ s a -> s{_sibdmEBS = a});++-- | The device name exposed to the instance (for example, '\/dev\/sdh' or+-- 'xvdh').+sibdmDeviceName :: Lens' ScheduledInstancesBlockDeviceMapping (Maybe Text)+sibdmDeviceName = lens _sibdmDeviceName (\ s a -> s{_sibdmDeviceName = a});++instance Hashable+ ScheduledInstancesBlockDeviceMapping++instance ToQuery ScheduledInstancesBlockDeviceMapping+ where+ toQuery ScheduledInstancesBlockDeviceMapping'{..}+ = mconcat+ ["VirtualName" =: _sibdmVirtualName,+ "NoDevice" =: _sibdmNoDevice, "Ebs" =: _sibdmEBS,+ "DeviceName" =: _sibdmDeviceName]++-- | Describes an EBS volume for a Scheduled Instance.+--+-- /See:/ 'scheduledInstancesEBS' smart constructor.+data ScheduledInstancesEBS = ScheduledInstancesEBS'+ { _sieDeleteOnTermination :: !(Maybe Bool)+ , _sieVolumeSize :: !(Maybe Int)+ , _sieIOPS :: !(Maybe Int)+ , _sieEncrypted :: !(Maybe Bool)+ , _sieVolumeType :: !(Maybe Text)+ , _sieSnapshotId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstancesEBS' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sieDeleteOnTermination'+--+-- * 'sieVolumeSize'+--+-- * 'sieIOPS'+--+-- * 'sieEncrypted'+--+-- * 'sieVolumeType'+--+-- * 'sieSnapshotId'+scheduledInstancesEBS+ :: ScheduledInstancesEBS+scheduledInstancesEBS =+ ScheduledInstancesEBS'+ { _sieDeleteOnTermination = Nothing+ , _sieVolumeSize = Nothing+ , _sieIOPS = Nothing+ , _sieEncrypted = Nothing+ , _sieVolumeType = Nothing+ , _sieSnapshotId = Nothing+ }++-- | Indicates whether the volume is deleted on instance termination.+sieDeleteOnTermination :: Lens' ScheduledInstancesEBS (Maybe Bool)+sieDeleteOnTermination = lens _sieDeleteOnTermination (\ s a -> s{_sieDeleteOnTermination = a});++-- | The size of the volume, in GiB.+--+-- Default: If you\'re creating the volume from a snapshot and don\'t+-- specify a volume size, the default is the snapshot size.+sieVolumeSize :: Lens' ScheduledInstancesEBS (Maybe Int)+sieVolumeSize = lens _sieVolumeSize (\ s a -> s{_sieVolumeSize = a});++-- | The number of I\/O operations per second (IOPS) that the volume+-- supports. For Provisioned IOPS (SSD) volumes, this represents the number+-- of IOPS that are provisioned for the volume. For General Purpose (SSD)+-- volumes, this represents the baseline performance of the volume and the+-- rate at which the volume accumulates I\/O credits for bursting. For more+-- information about General Purpose (SSD) baseline performance, I\/O+-- credits, and bursting, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html Amazon EBS Volume Types>+-- in the /Amazon Elastic Compute Cloud User Guide/.+--+-- Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and+-- 3 to 10000 for General Purpose (SSD) volumes.+--+-- Condition: This parameter is required for requests to create 'io1'+-- volumes; it is not used in requests to create 'standard' or 'gp2'+-- volumes.+sieIOPS :: Lens' ScheduledInstancesEBS (Maybe Int)+sieIOPS = lens _sieIOPS (\ s a -> s{_sieIOPS = a});++-- | Indicates whether the volume is encrypted. You can attached encrypted+-- volumes only to instances that support them.+sieEncrypted :: Lens' ScheduledInstancesEBS (Maybe Bool)+sieEncrypted = lens _sieEncrypted (\ s a -> s{_sieEncrypted = a});++-- | The volume type. 'gp2' for General Purpose (SSD) volumes, 'io1' for+-- Provisioned IOPS (SSD) volumes, and 'standard' for Magnetic volumes.+--+-- Default: 'standard'+sieVolumeType :: Lens' ScheduledInstancesEBS (Maybe Text)+sieVolumeType = lens _sieVolumeType (\ s a -> s{_sieVolumeType = a});++-- | The ID of the snapshot.+sieSnapshotId :: Lens' ScheduledInstancesEBS (Maybe Text)+sieSnapshotId = lens _sieSnapshotId (\ s a -> s{_sieSnapshotId = a});++instance Hashable ScheduledInstancesEBS++instance ToQuery ScheduledInstancesEBS where+ toQuery ScheduledInstancesEBS'{..}+ = mconcat+ ["DeleteOnTermination" =: _sieDeleteOnTermination,+ "VolumeSize" =: _sieVolumeSize, "Iops" =: _sieIOPS,+ "Encrypted" =: _sieEncrypted,+ "VolumeType" =: _sieVolumeType,+ "SnapshotId" =: _sieSnapshotId]++-- | Describes an IAM instance profile for a Scheduled Instance.+--+-- /See:/ 'scheduledInstancesIAMInstanceProfile' smart constructor.+data ScheduledInstancesIAMInstanceProfile = ScheduledInstancesIAMInstanceProfile'+ { _siiapARN :: !(Maybe Text)+ , _siiapName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstancesIAMInstanceProfile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siiapARN'+--+-- * 'siiapName'+scheduledInstancesIAMInstanceProfile+ :: ScheduledInstancesIAMInstanceProfile+scheduledInstancesIAMInstanceProfile =+ ScheduledInstancesIAMInstanceProfile'+ { _siiapARN = Nothing+ , _siiapName = Nothing+ }++-- | The Amazon Resource Name (ARN).+siiapARN :: Lens' ScheduledInstancesIAMInstanceProfile (Maybe Text)+siiapARN = lens _siiapARN (\ s a -> s{_siiapARN = a});++-- | The name.+siiapName :: Lens' ScheduledInstancesIAMInstanceProfile (Maybe Text)+siiapName = lens _siiapName (\ s a -> s{_siiapName = a});++instance Hashable+ ScheduledInstancesIAMInstanceProfile++instance ToQuery ScheduledInstancesIAMInstanceProfile+ where+ toQuery ScheduledInstancesIAMInstanceProfile'{..}+ = mconcat ["Arn" =: _siiapARN, "Name" =: _siiapName]++-- | Describes the launch specification for a Scheduled Instance.+--+-- If you are launching the Scheduled Instance in EC2-VPC, you must specify+-- the ID of the subnet. You can specify the subnet using either 'SubnetId'+-- or 'NetworkInterface'.+--+-- /See:/ 'scheduledInstancesLaunchSpecification' smart constructor.+data ScheduledInstancesLaunchSpecification = ScheduledInstancesLaunchSpecification'+ { _silsSecurityGroupIds :: !(Maybe [Text])+ , _silsKeyName :: !(Maybe Text)+ , _silsNetworkInterfaces :: !(Maybe [ScheduledInstancesNetworkInterface])+ , _silsRAMDiskId :: !(Maybe Text)+ , _silsSubnetId :: !(Maybe Text)+ , _silsKernelId :: !(Maybe Text)+ , _silsInstanceType :: !(Maybe Text)+ , _silsEBSOptimized :: !(Maybe Bool)+ , _silsUserData :: !(Maybe Text)+ , _silsMonitoring :: !(Maybe ScheduledInstancesMonitoring)+ , _silsIAMInstanceProfile :: !(Maybe ScheduledInstancesIAMInstanceProfile)+ , _silsBlockDeviceMappings :: !(Maybe [ScheduledInstancesBlockDeviceMapping])+ , _silsPlacement :: !(Maybe ScheduledInstancesPlacement)+ , _silsImageId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstancesLaunchSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'silsSecurityGroupIds'+--+-- * 'silsKeyName'+--+-- * 'silsNetworkInterfaces'+--+-- * 'silsRAMDiskId'+--+-- * 'silsSubnetId'+--+-- * 'silsKernelId'+--+-- * 'silsInstanceType'+--+-- * 'silsEBSOptimized'+--+-- * 'silsUserData'+--+-- * 'silsMonitoring'+--+-- * 'silsIAMInstanceProfile'+--+-- * 'silsBlockDeviceMappings'+--+-- * 'silsPlacement'+--+-- * 'silsImageId'+scheduledInstancesLaunchSpecification+ :: Text -- ^ 'silsImageId'+ -> ScheduledInstancesLaunchSpecification+scheduledInstancesLaunchSpecification pImageId_ =+ ScheduledInstancesLaunchSpecification'+ { _silsSecurityGroupIds = Nothing+ , _silsKeyName = Nothing+ , _silsNetworkInterfaces = Nothing+ , _silsRAMDiskId = Nothing+ , _silsSubnetId = Nothing+ , _silsKernelId = Nothing+ , _silsInstanceType = Nothing+ , _silsEBSOptimized = Nothing+ , _silsUserData = Nothing+ , _silsMonitoring = Nothing+ , _silsIAMInstanceProfile = Nothing+ , _silsBlockDeviceMappings = Nothing+ , _silsPlacement = Nothing+ , _silsImageId = pImageId_+ }++-- | The IDs of one or more security groups.+silsSecurityGroupIds :: Lens' ScheduledInstancesLaunchSpecification [Text]+silsSecurityGroupIds = lens _silsSecurityGroupIds (\ s a -> s{_silsSecurityGroupIds = a}) . _Default . _Coerce;++-- | The name of the key pair.+silsKeyName :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)+silsKeyName = lens _silsKeyName (\ s a -> s{_silsKeyName = a});++-- | One or more network interfaces.+silsNetworkInterfaces :: Lens' ScheduledInstancesLaunchSpecification [ScheduledInstancesNetworkInterface]+silsNetworkInterfaces = lens _silsNetworkInterfaces (\ s a -> s{_silsNetworkInterfaces = a}) . _Default . _Coerce;++-- | The ID of the RAM disk.+silsRAMDiskId :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)+silsRAMDiskId = lens _silsRAMDiskId (\ s a -> s{_silsRAMDiskId = a});++-- | The ID of the subnet in which to launch the instances.+silsSubnetId :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)+silsSubnetId = lens _silsSubnetId (\ s a -> s{_silsSubnetId = a});++-- | The ID of the kernel.+silsKernelId :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)+silsKernelId = lens _silsKernelId (\ s a -> s{_silsKernelId = a});++-- | The instance type.+silsInstanceType :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)+silsInstanceType = lens _silsInstanceType (\ s a -> s{_silsInstanceType = a});++-- | Indicates whether the instances are optimized for EBS I\/O. This+-- optimization provides dedicated throughput to Amazon EBS and an+-- optimized configuration stack to provide optimal EBS I\/O performance.+-- This optimization isn\'t available with all instance types. Additional+-- usage charges apply when using an EBS-optimized instance.+--+-- Default: 'false'+silsEBSOptimized :: Lens' ScheduledInstancesLaunchSpecification (Maybe Bool)+silsEBSOptimized = lens _silsEBSOptimized (\ s a -> s{_silsEBSOptimized = a});++-- | The base64-encoded MIME user data.+silsUserData :: Lens' ScheduledInstancesLaunchSpecification (Maybe Text)+silsUserData = lens _silsUserData (\ s a -> s{_silsUserData = a});++-- | Enable or disable monitoring for the instances.+silsMonitoring :: Lens' ScheduledInstancesLaunchSpecification (Maybe ScheduledInstancesMonitoring)+silsMonitoring = lens _silsMonitoring (\ s a -> s{_silsMonitoring = a});++-- | The IAM instance profile.+silsIAMInstanceProfile :: Lens' ScheduledInstancesLaunchSpecification (Maybe ScheduledInstancesIAMInstanceProfile)+silsIAMInstanceProfile = lens _silsIAMInstanceProfile (\ s a -> s{_silsIAMInstanceProfile = a});++-- | One or more block device mapping entries.+silsBlockDeviceMappings :: Lens' ScheduledInstancesLaunchSpecification [ScheduledInstancesBlockDeviceMapping]+silsBlockDeviceMappings = lens _silsBlockDeviceMappings (\ s a -> s{_silsBlockDeviceMappings = a}) . _Default . _Coerce;++-- | The placement information.+silsPlacement :: Lens' ScheduledInstancesLaunchSpecification (Maybe ScheduledInstancesPlacement)+silsPlacement = lens _silsPlacement (\ s a -> s{_silsPlacement = a});++-- | The ID of the Amazon Machine Image (AMI).+silsImageId :: Lens' ScheduledInstancesLaunchSpecification Text+silsImageId = lens _silsImageId (\ s a -> s{_silsImageId = a});++instance Hashable+ ScheduledInstancesLaunchSpecification++instance ToQuery+ ScheduledInstancesLaunchSpecification where+ toQuery ScheduledInstancesLaunchSpecification'{..}+ = mconcat+ [toQuery+ (toQueryList "SecurityGroupId" <$>+ _silsSecurityGroupIds),+ "KeyName" =: _silsKeyName,+ toQuery+ (toQueryList "NetworkInterface" <$>+ _silsNetworkInterfaces),+ "RamdiskId" =: _silsRAMDiskId,+ "SubnetId" =: _silsSubnetId,+ "KernelId" =: _silsKernelId,+ "InstanceType" =: _silsInstanceType,+ "EbsOptimized" =: _silsEBSOptimized,+ "UserData" =: _silsUserData,+ "Monitoring" =: _silsMonitoring,+ "IamInstanceProfile" =: _silsIAMInstanceProfile,+ toQuery+ (toQueryList "BlockDeviceMapping" <$>+ _silsBlockDeviceMappings),+ "Placement" =: _silsPlacement,+ "ImageId" =: _silsImageId]++-- | Describes whether monitoring is enabled for a Scheduled Instance.+--+-- /See:/ 'scheduledInstancesMonitoring' smart constructor.+newtype ScheduledInstancesMonitoring = ScheduledInstancesMonitoring'+ { _simEnabled :: Maybe Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstancesMonitoring' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'simEnabled'+scheduledInstancesMonitoring+ :: ScheduledInstancesMonitoring+scheduledInstancesMonitoring =+ ScheduledInstancesMonitoring'+ { _simEnabled = Nothing+ }++-- | Indicates whether monitoring is enabled.+simEnabled :: Lens' ScheduledInstancesMonitoring (Maybe Bool)+simEnabled = lens _simEnabled (\ s a -> s{_simEnabled = a});++instance Hashable ScheduledInstancesMonitoring++instance ToQuery ScheduledInstancesMonitoring where+ toQuery ScheduledInstancesMonitoring'{..}+ = mconcat ["Enabled" =: _simEnabled]++-- | Describes a network interface for a Scheduled Instance.+--+-- /See:/ 'scheduledInstancesNetworkInterface' smart constructor.+data ScheduledInstancesNetworkInterface = ScheduledInstancesNetworkInterface'+ { _siniGroups :: !(Maybe [Text])+ , _siniDeleteOnTermination :: !(Maybe Bool)+ , _siniAssociatePublicIPAddress :: !(Maybe Bool)+ , _siniPrivateIPAddressConfigs :: !(Maybe [ScheduledInstancesPrivateIPAddressConfig])+ , _siniNetworkInterfaceId :: !(Maybe Text)+ , _siniSubnetId :: !(Maybe Text)+ , _siniPrivateIPAddress :: !(Maybe Text)+ , _siniSecondaryPrivateIPAddressCount :: !(Maybe Int)+ , _siniDescription :: !(Maybe Text)+ , _siniDeviceIndex :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstancesNetworkInterface' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siniGroups'+--+-- * 'siniDeleteOnTermination'+--+-- * 'siniAssociatePublicIPAddress'+--+-- * 'siniPrivateIPAddressConfigs'+--+-- * 'siniNetworkInterfaceId'+--+-- * 'siniSubnetId'+--+-- * 'siniPrivateIPAddress'+--+-- * 'siniSecondaryPrivateIPAddressCount'+--+-- * 'siniDescription'+--+-- * 'siniDeviceIndex'+scheduledInstancesNetworkInterface+ :: ScheduledInstancesNetworkInterface+scheduledInstancesNetworkInterface =+ ScheduledInstancesNetworkInterface'+ { _siniGroups = Nothing+ , _siniDeleteOnTermination = Nothing+ , _siniAssociatePublicIPAddress = Nothing+ , _siniPrivateIPAddressConfigs = Nothing+ , _siniNetworkInterfaceId = Nothing+ , _siniSubnetId = Nothing+ , _siniPrivateIPAddress = Nothing+ , _siniSecondaryPrivateIPAddressCount = Nothing+ , _siniDescription = Nothing+ , _siniDeviceIndex = Nothing+ }++-- | The IDs of one or more security groups.+siniGroups :: Lens' ScheduledInstancesNetworkInterface [Text]+siniGroups = lens _siniGroups (\ s a -> s{_siniGroups = a}) . _Default . _Coerce;++-- | Indicates whether to delete the interface when the instance is+-- terminated.+siniDeleteOnTermination :: Lens' ScheduledInstancesNetworkInterface (Maybe Bool)+siniDeleteOnTermination = lens _siniDeleteOnTermination (\ s a -> s{_siniDeleteOnTermination = a});++-- | Indicates whether to assign a public IP address to instances launched in+-- a VPC. The public IP address can only be assigned to a network interface+-- for eth0, and can only be assigned to a new network interface, not an+-- existing one. You cannot specify more than one network interface in the+-- request. If launching into a default subnet, the default value is+-- 'true'.+siniAssociatePublicIPAddress :: Lens' ScheduledInstancesNetworkInterface (Maybe Bool)+siniAssociatePublicIPAddress = lens _siniAssociatePublicIPAddress (\ s a -> s{_siniAssociatePublicIPAddress = a});++-- | The private IP addresses.+siniPrivateIPAddressConfigs :: Lens' ScheduledInstancesNetworkInterface [ScheduledInstancesPrivateIPAddressConfig]+siniPrivateIPAddressConfigs = lens _siniPrivateIPAddressConfigs (\ s a -> s{_siniPrivateIPAddressConfigs = a}) . _Default . _Coerce;++-- | The ID of the network interface.+siniNetworkInterfaceId :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)+siniNetworkInterfaceId = lens _siniNetworkInterfaceId (\ s a -> s{_siniNetworkInterfaceId = a});++-- | The ID of the subnet.+siniSubnetId :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)+siniSubnetId = lens _siniSubnetId (\ s a -> s{_siniSubnetId = a});++-- | The IP address of the network interface within the subnet.+siniPrivateIPAddress :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)+siniPrivateIPAddress = lens _siniPrivateIPAddress (\ s a -> s{_siniPrivateIPAddress = a});++-- | The number of secondary private IP addresses.+siniSecondaryPrivateIPAddressCount :: Lens' ScheduledInstancesNetworkInterface (Maybe Int)+siniSecondaryPrivateIPAddressCount = lens _siniSecondaryPrivateIPAddressCount (\ s a -> s{_siniSecondaryPrivateIPAddressCount = a});++-- | The description.+siniDescription :: Lens' ScheduledInstancesNetworkInterface (Maybe Text)+siniDescription = lens _siniDescription (\ s a -> s{_siniDescription = a});++-- | The index of the device for the network interface attachment.+siniDeviceIndex :: Lens' ScheduledInstancesNetworkInterface (Maybe Int)+siniDeviceIndex = lens _siniDeviceIndex (\ s a -> s{_siniDeviceIndex = a});++instance Hashable ScheduledInstancesNetworkInterface++instance ToQuery ScheduledInstancesNetworkInterface+ where+ toQuery ScheduledInstancesNetworkInterface'{..}+ = mconcat+ [toQuery (toQueryList "Group" <$> _siniGroups),+ "DeleteOnTermination" =: _siniDeleteOnTermination,+ "AssociatePublicIpAddress" =:+ _siniAssociatePublicIPAddress,+ toQuery+ (toQueryList "PrivateIpAddressConfig" <$>+ _siniPrivateIPAddressConfigs),+ "NetworkInterfaceId" =: _siniNetworkInterfaceId,+ "SubnetId" =: _siniSubnetId,+ "PrivateIpAddress" =: _siniPrivateIPAddress,+ "SecondaryPrivateIpAddressCount" =:+ _siniSecondaryPrivateIPAddressCount,+ "Description" =: _siniDescription,+ "DeviceIndex" =: _siniDeviceIndex]++-- | Describes the placement for a Scheduled Instance.+--+-- /See:/ 'scheduledInstancesPlacement' smart constructor.+data ScheduledInstancesPlacement = ScheduledInstancesPlacement'+ { _sipAvailabilityZone :: !(Maybe Text)+ , _sipGroupName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstancesPlacement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sipAvailabilityZone'+--+-- * 'sipGroupName'+scheduledInstancesPlacement+ :: ScheduledInstancesPlacement+scheduledInstancesPlacement =+ ScheduledInstancesPlacement'+ { _sipAvailabilityZone = Nothing+ , _sipGroupName = Nothing+ }++-- | The Availability Zone.+sipAvailabilityZone :: Lens' ScheduledInstancesPlacement (Maybe Text)+sipAvailabilityZone = lens _sipAvailabilityZone (\ s a -> s{_sipAvailabilityZone = a});++-- | The name of the placement group.+sipGroupName :: Lens' ScheduledInstancesPlacement (Maybe Text)+sipGroupName = lens _sipGroupName (\ s a -> s{_sipGroupName = a});++instance Hashable ScheduledInstancesPlacement++instance ToQuery ScheduledInstancesPlacement where+ toQuery ScheduledInstancesPlacement'{..}+ = mconcat+ ["AvailabilityZone" =: _sipAvailabilityZone,+ "GroupName" =: _sipGroupName]++-- | Describes a private IP address for a Scheduled Instance.+--+-- /See:/ 'scheduledInstancesPrivateIPAddressConfig' smart constructor.+data ScheduledInstancesPrivateIPAddressConfig = ScheduledInstancesPrivateIPAddressConfig'+ { _sipiacPrimary :: !(Maybe Bool)+ , _sipiacPrivateIPAddress :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledInstancesPrivateIPAddressConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sipiacPrimary'+--+-- * 'sipiacPrivateIPAddress'+scheduledInstancesPrivateIPAddressConfig+ :: ScheduledInstancesPrivateIPAddressConfig+scheduledInstancesPrivateIPAddressConfig =+ ScheduledInstancesPrivateIPAddressConfig'+ { _sipiacPrimary = Nothing+ , _sipiacPrivateIPAddress = Nothing+ }++-- | Indicates whether this is a primary IP address. Otherwise, this is a+-- secondary IP address.+sipiacPrimary :: Lens' ScheduledInstancesPrivateIPAddressConfig (Maybe Bool)+sipiacPrimary = lens _sipiacPrimary (\ s a -> s{_sipiacPrimary = a});++-- | The IP address.+sipiacPrivateIPAddress :: Lens' ScheduledInstancesPrivateIPAddressConfig (Maybe Text)+sipiacPrivateIPAddress = lens _sipiacPrivateIPAddress (\ s a -> s{_sipiacPrivateIPAddress = a});++instance Hashable+ ScheduledInstancesPrivateIPAddressConfig++instance ToQuery+ ScheduledInstancesPrivateIPAddressConfig where+ toQuery ScheduledInstancesPrivateIPAddressConfig'{..}+ = mconcat+ ["Primary" =: _sipiacPrimary,+ "PrivateIpAddress" =: _sipiacPrivateIPAddress]++-- | Describes a security group+--+-- /See:/ 'securityGroup' smart constructor.+data SecurityGroup = SecurityGroup'+ { _sgVPCId :: !(Maybe Text)+ , _sgIPPermissions :: !(Maybe [IPPermission])+ , _sgIPPermissionsEgress :: !(Maybe [IPPermission])+ , _sgTags :: !(Maybe [Tag])+ , _sgOwnerId :: !Text+ , _sgGroupId :: !Text+ , _sgGroupName :: !Text+ , _sgDescription :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SecurityGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sgVPCId'+--+-- * 'sgIPPermissions'+--+-- * 'sgIPPermissionsEgress'+--+-- * 'sgTags'+--+-- * 'sgOwnerId'+--+-- * 'sgGroupId'+--+-- * 'sgGroupName'+--+-- * 'sgDescription'+securityGroup+ :: Text -- ^ 'sgOwnerId'+ -> Text -- ^ 'sgGroupId'+ -> Text -- ^ 'sgGroupName'+ -> Text -- ^ 'sgDescription'+ -> SecurityGroup+securityGroup pOwnerId_ pGroupId_ pGroupName_ pDescription_ =+ SecurityGroup'+ { _sgVPCId = Nothing+ , _sgIPPermissions = Nothing+ , _sgIPPermissionsEgress = Nothing+ , _sgTags = Nothing+ , _sgOwnerId = pOwnerId_+ , _sgGroupId = pGroupId_+ , _sgGroupName = pGroupName_+ , _sgDescription = pDescription_+ }++-- | [EC2-VPC] The ID of the VPC for the security group.+sgVPCId :: Lens' SecurityGroup (Maybe Text)+sgVPCId = lens _sgVPCId (\ s a -> s{_sgVPCId = a});++-- | One or more inbound rules associated with the security group.+sgIPPermissions :: Lens' SecurityGroup [IPPermission]+sgIPPermissions = lens _sgIPPermissions (\ s a -> s{_sgIPPermissions = a}) . _Default . _Coerce;++-- | [EC2-VPC] One or more outbound rules associated with the security group.+sgIPPermissionsEgress :: Lens' SecurityGroup [IPPermission]+sgIPPermissionsEgress = lens _sgIPPermissionsEgress (\ s a -> s{_sgIPPermissionsEgress = a}) . _Default . _Coerce;++-- | Any tags assigned to the security group.+sgTags :: Lens' SecurityGroup [Tag]+sgTags = lens _sgTags (\ s a -> s{_sgTags = a}) . _Default . _Coerce;++-- | The AWS account ID of the owner of the security group.+sgOwnerId :: Lens' SecurityGroup Text+sgOwnerId = lens _sgOwnerId (\ s a -> s{_sgOwnerId = a});++-- | The ID of the security group.+sgGroupId :: Lens' SecurityGroup Text+sgGroupId = lens _sgGroupId (\ s a -> s{_sgGroupId = a});++-- | The name of the security group.+sgGroupName :: Lens' SecurityGroup Text+sgGroupName = lens _sgGroupName (\ s a -> s{_sgGroupName = a});++-- | A description of the security group.+sgDescription :: Lens' SecurityGroup Text+sgDescription = lens _sgDescription (\ s a -> s{_sgDescription = a});++instance FromXML SecurityGroup where+ parseXML x+ = SecurityGroup' <$>+ (x .@? "vpcId") <*>+ (x .@? "ipPermissions" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "ipPermissionsEgress" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "ownerId")+ <*> (x .@ "groupId")+ <*> (x .@ "groupName")+ <*> (x .@ "groupDescription")++instance Hashable SecurityGroup++-- | Describes the time period for a Scheduled Instance to start its first+-- schedule. The time period must span less than one day.+--+-- /See:/ 'slotDateTimeRangeRequest' smart constructor.+data SlotDateTimeRangeRequest = SlotDateTimeRangeRequest'+ { _sdtrrEarliestTime :: !ISO8601+ , _sdtrrLatestTime :: !ISO8601+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SlotDateTimeRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdtrrEarliestTime'+--+-- * 'sdtrrLatestTime'+slotDateTimeRangeRequest+ :: UTCTime -- ^ 'sdtrrEarliestTime'+ -> UTCTime -- ^ 'sdtrrLatestTime'+ -> SlotDateTimeRangeRequest+slotDateTimeRangeRequest pEarliestTime_ pLatestTime_ =+ SlotDateTimeRangeRequest'+ { _sdtrrEarliestTime = _Time # pEarliestTime_+ , _sdtrrLatestTime = _Time # pLatestTime_+ }++-- | The earliest date and time, in UTC, for the Scheduled Instance to start.+sdtrrEarliestTime :: Lens' SlotDateTimeRangeRequest UTCTime+sdtrrEarliestTime = lens _sdtrrEarliestTime (\ s a -> s{_sdtrrEarliestTime = a}) . _Time;++-- | The latest date and time, in UTC, for the Scheduled Instance to start.+-- This value must be later than or equal to the earliest date and at most+-- three months in the future.+sdtrrLatestTime :: Lens' SlotDateTimeRangeRequest UTCTime+sdtrrLatestTime = lens _sdtrrLatestTime (\ s a -> s{_sdtrrLatestTime = a}) . _Time;++instance Hashable SlotDateTimeRangeRequest++instance ToQuery SlotDateTimeRangeRequest where+ toQuery SlotDateTimeRangeRequest'{..}+ = mconcat+ ["EarliestTime" =: _sdtrrEarliestTime,+ "LatestTime" =: _sdtrrLatestTime]++-- | Describes the time period for a Scheduled Instance to start its first+-- schedule.+--+-- /See:/ 'slotStartTimeRangeRequest' smart constructor.+data SlotStartTimeRangeRequest = SlotStartTimeRangeRequest'+ { _sstrrLatestTime :: !(Maybe ISO8601)+ , _sstrrEarliestTime :: !(Maybe ISO8601)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SlotStartTimeRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sstrrLatestTime'+--+-- * 'sstrrEarliestTime'+slotStartTimeRangeRequest+ :: SlotStartTimeRangeRequest+slotStartTimeRangeRequest =+ SlotStartTimeRangeRequest'+ { _sstrrLatestTime = Nothing+ , _sstrrEarliestTime = Nothing+ }++-- | The latest date and time, in UTC, for the Scheduled Instance to start.+sstrrLatestTime :: Lens' SlotStartTimeRangeRequest (Maybe UTCTime)+sstrrLatestTime = lens _sstrrLatestTime (\ s a -> s{_sstrrLatestTime = a}) . mapping _Time;++-- | The earliest date and time, in UTC, for the Scheduled Instance to start.+sstrrEarliestTime :: Lens' SlotStartTimeRangeRequest (Maybe UTCTime)+sstrrEarliestTime = lens _sstrrEarliestTime (\ s a -> s{_sstrrEarliestTime = a}) . mapping _Time;++instance Hashable SlotStartTimeRangeRequest++instance ToQuery SlotStartTimeRangeRequest where+ toQuery SlotStartTimeRangeRequest'{..}+ = mconcat+ ["LatestTime" =: _sstrrLatestTime,+ "EarliestTime" =: _sstrrEarliestTime]++-- | Describes a snapshot.+--+-- /See:/ 'snapshot' smart constructor.+data Snapshot = Snapshot'+ { _sStateMessage :: !(Maybe Text)+ , _sOwnerAlias :: !(Maybe Text)+ , _sDataEncryptionKeyId :: !(Maybe Text)+ , _sKMSKeyId :: !(Maybe Text)+ , _sTags :: !(Maybe [Tag])+ , _sSnapshotId :: !Text+ , _sOwnerId :: !Text+ , _sVolumeId :: !Text+ , _sVolumeSize :: !Int+ , _sDescription :: !Text+ , _sStartTime :: !ISO8601+ , _sProgress :: !Text+ , _sState :: !SnapshotState+ , _sEncrypted :: !Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Snapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sStateMessage'+--+-- * 'sOwnerAlias'+--+-- * 'sDataEncryptionKeyId'+--+-- * 'sKMSKeyId'+--+-- * 'sTags'+--+-- * 'sSnapshotId'+--+-- * 'sOwnerId'+--+-- * 'sVolumeId'+--+-- * 'sVolumeSize'+--+-- * 'sDescription'+--+-- * 'sStartTime'+--+-- * 'sProgress'+--+-- * 'sState'+--+-- * 'sEncrypted'+snapshot+ :: Text -- ^ 'sSnapshotId'+ -> Text -- ^ 'sOwnerId'+ -> Text -- ^ 'sVolumeId'+ -> Int -- ^ 'sVolumeSize'+ -> Text -- ^ 'sDescription'+ -> UTCTime -- ^ 'sStartTime'+ -> Text -- ^ 'sProgress'+ -> SnapshotState -- ^ 'sState'+ -> Bool -- ^ 'sEncrypted'+ -> Snapshot+snapshot pSnapshotId_ pOwnerId_ pVolumeId_ pVolumeSize_ pDescription_ pStartTime_ pProgress_ pState_ pEncrypted_ =+ Snapshot'+ { _sStateMessage = Nothing+ , _sOwnerAlias = Nothing+ , _sDataEncryptionKeyId = Nothing+ , _sKMSKeyId = Nothing+ , _sTags = Nothing+ , _sSnapshotId = pSnapshotId_+ , _sOwnerId = pOwnerId_+ , _sVolumeId = pVolumeId_+ , _sVolumeSize = pVolumeSize_+ , _sDescription = pDescription_+ , _sStartTime = _Time # pStartTime_+ , _sProgress = pProgress_+ , _sState = pState_+ , _sEncrypted = pEncrypted_+ }++-- | Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot+-- copy operation fails (for example, if the proper AWS Key Management+-- Service (AWS KMS) permissions are not obtained) this field displays+-- error state details to help you diagnose why the error occurred. This+-- parameter is only returned by the < DescribeSnapshots> API operation.+sStateMessage :: Lens' Snapshot (Maybe Text)+sStateMessage = lens _sStateMessage (\ s a -> s{_sStateMessage = a});++-- | The AWS account alias (for example, 'amazon', 'self') or AWS account ID+-- that owns the snapshot.+sOwnerAlias :: Lens' Snapshot (Maybe Text)+sOwnerAlias = lens _sOwnerAlias (\ s a -> s{_sOwnerAlias = a});++-- | The data encryption key identifier for the snapshot. This value is a+-- unique identifier that corresponds to the data encryption key that was+-- used to encrypt the original volume or snapshot copy. Because data+-- encryption keys are inherited by volumes created from snapshots, and+-- vice versa, if snapshots share the same data encryption key identifier,+-- then they belong to the same volume\/snapshot lineage. This parameter is+-- only returned by the < DescribeSnapshots> API operation.+sDataEncryptionKeyId :: Lens' Snapshot (Maybe Text)+sDataEncryptionKeyId = lens _sDataEncryptionKeyId (\ s a -> s{_sDataEncryptionKeyId = a});++-- | The full ARN of the AWS Key Management Service (AWS KMS) customer master+-- key (CMK) that was used to protect the volume encryption key for the+-- parent volume.+sKMSKeyId :: Lens' Snapshot (Maybe Text)+sKMSKeyId = lens _sKMSKeyId (\ s a -> s{_sKMSKeyId = a});++-- | Any tags assigned to the snapshot.+sTags :: Lens' Snapshot [Tag]+sTags = lens _sTags (\ s a -> s{_sTags = a}) . _Default . _Coerce;++-- | The ID of the snapshot. Each snapshot receives a unique identifier when+-- it is created.+sSnapshotId :: Lens' Snapshot Text+sSnapshotId = lens _sSnapshotId (\ s a -> s{_sSnapshotId = a});++-- | The AWS account ID of the EBS snapshot owner.+sOwnerId :: Lens' Snapshot Text+sOwnerId = lens _sOwnerId (\ s a -> s{_sOwnerId = a});++-- | The ID of the volume that was used to create the snapshot.+sVolumeId :: Lens' Snapshot Text+sVolumeId = lens _sVolumeId (\ s a -> s{_sVolumeId = a});++-- | The size of the volume, in GiB.+sVolumeSize :: Lens' Snapshot Int+sVolumeSize = lens _sVolumeSize (\ s a -> s{_sVolumeSize = a});++-- | The description for the snapshot.+sDescription :: Lens' Snapshot Text+sDescription = lens _sDescription (\ s a -> s{_sDescription = a});++-- | The time stamp when the snapshot was initiated.+sStartTime :: Lens' Snapshot UTCTime+sStartTime = lens _sStartTime (\ s a -> s{_sStartTime = a}) . _Time;++-- | The progress of the snapshot, as a percentage.+sProgress :: Lens' Snapshot Text+sProgress = lens _sProgress (\ s a -> s{_sProgress = a});++-- | The snapshot state.+sState :: Lens' Snapshot SnapshotState+sState = lens _sState (\ s a -> s{_sState = a});++-- | Indicates whether the snapshot is encrypted.+sEncrypted :: Lens' Snapshot Bool+sEncrypted = lens _sEncrypted (\ s a -> s{_sEncrypted = a});++instance FromXML Snapshot where+ parseXML x+ = Snapshot' <$>+ (x .@? "statusMessage") <*> (x .@? "ownerAlias") <*>+ (x .@? "dataEncryptionKeyId")+ <*> (x .@? "kmsKeyId")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "snapshotId")+ <*> (x .@ "ownerId")+ <*> (x .@ "volumeId")+ <*> (x .@ "volumeSize")+ <*> (x .@ "description")+ <*> (x .@ "startTime")+ <*> (x .@ "progress")+ <*> (x .@ "status")+ <*> (x .@ "encrypted")++instance Hashable Snapshot++-- | Describes the snapshot created from the imported disk.+--+-- /See:/ 'snapshotDetail' smart constructor.+data SnapshotDetail = SnapshotDetail'+ { _sdStatus :: !(Maybe Text)+ , _sdProgress :: !(Maybe Text)+ , _sdFormat :: !(Maybe Text)+ , _sdURL :: !(Maybe Text)+ , _sdDeviceName :: !(Maybe Text)+ , _sdStatusMessage :: !(Maybe Text)+ , _sdUserBucket :: !(Maybe UserBucketDetails)+ , _sdDiskImageSize :: !(Maybe Double)+ , _sdDescription :: !(Maybe Text)+ , _sdSnapshotId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SnapshotDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdStatus'+--+-- * 'sdProgress'+--+-- * 'sdFormat'+--+-- * 'sdURL'+--+-- * 'sdDeviceName'+--+-- * 'sdStatusMessage'+--+-- * 'sdUserBucket'+--+-- * 'sdDiskImageSize'+--+-- * 'sdDescription'+--+-- * 'sdSnapshotId'+snapshotDetail+ :: SnapshotDetail+snapshotDetail =+ SnapshotDetail'+ { _sdStatus = Nothing+ , _sdProgress = Nothing+ , _sdFormat = Nothing+ , _sdURL = Nothing+ , _sdDeviceName = Nothing+ , _sdStatusMessage = Nothing+ , _sdUserBucket = Nothing+ , _sdDiskImageSize = Nothing+ , _sdDescription = Nothing+ , _sdSnapshotId = Nothing+ }++-- | A brief status of the snapshot creation.+sdStatus :: Lens' SnapshotDetail (Maybe Text)+sdStatus = lens _sdStatus (\ s a -> s{_sdStatus = a});++-- | The percentage of progress for the task.+sdProgress :: Lens' SnapshotDetail (Maybe Text)+sdProgress = lens _sdProgress (\ s a -> s{_sdProgress = a});++-- | The format of the disk image from which the snapshot is created.+sdFormat :: Lens' SnapshotDetail (Maybe Text)+sdFormat = lens _sdFormat (\ s a -> s{_sdFormat = a});++-- | The URL used to access the disk image.+sdURL :: Lens' SnapshotDetail (Maybe Text)+sdURL = lens _sdURL (\ s a -> s{_sdURL = a});++-- | The block device mapping for the snapshot.+sdDeviceName :: Lens' SnapshotDetail (Maybe Text)+sdDeviceName = lens _sdDeviceName (\ s a -> s{_sdDeviceName = a});++-- | A detailed status message for the snapshot creation.+sdStatusMessage :: Lens' SnapshotDetail (Maybe Text)+sdStatusMessage = lens _sdStatusMessage (\ s a -> s{_sdStatusMessage = a});++-- | Undocumented member.+sdUserBucket :: Lens' SnapshotDetail (Maybe UserBucketDetails)+sdUserBucket = lens _sdUserBucket (\ s a -> s{_sdUserBucket = a});++-- | The size of the disk in the snapshot, in GiB.+sdDiskImageSize :: Lens' SnapshotDetail (Maybe Double)+sdDiskImageSize = lens _sdDiskImageSize (\ s a -> s{_sdDiskImageSize = a});++-- | A description for the snapshot.+sdDescription :: Lens' SnapshotDetail (Maybe Text)+sdDescription = lens _sdDescription (\ s a -> s{_sdDescription = a});++-- | The snapshot ID of the disk being imported.+sdSnapshotId :: Lens' SnapshotDetail (Maybe Text)+sdSnapshotId = lens _sdSnapshotId (\ s a -> s{_sdSnapshotId = a});++instance FromXML SnapshotDetail where+ parseXML x+ = SnapshotDetail' <$>+ (x .@? "status") <*> (x .@? "progress") <*>+ (x .@? "format")+ <*> (x .@? "url")+ <*> (x .@? "deviceName")+ <*> (x .@? "statusMessage")+ <*> (x .@? "userBucket")+ <*> (x .@? "diskImageSize")+ <*> (x .@? "description")+ <*> (x .@? "snapshotId")++instance Hashable SnapshotDetail++-- | The disk container object for the import snapshot request.+--+-- /See:/ 'snapshotDiskContainer' smart constructor.+data SnapshotDiskContainer = SnapshotDiskContainer'+ { _sdcFormat :: !(Maybe Text)+ , _sdcURL :: !(Maybe Text)+ , _sdcUserBucket :: !(Maybe UserBucket)+ , _sdcDescription :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SnapshotDiskContainer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdcFormat'+--+-- * 'sdcURL'+--+-- * 'sdcUserBucket'+--+-- * 'sdcDescription'+snapshotDiskContainer+ :: SnapshotDiskContainer+snapshotDiskContainer =+ SnapshotDiskContainer'+ { _sdcFormat = Nothing+ , _sdcURL = Nothing+ , _sdcUserBucket = Nothing+ , _sdcDescription = Nothing+ }++-- | The format of the disk image being imported.+--+-- Valid values: 'RAW' | 'VHD' | 'VMDK' | 'OVA'+sdcFormat :: Lens' SnapshotDiskContainer (Maybe Text)+sdcFormat = lens _sdcFormat (\ s a -> s{_sdcFormat = a});++-- | The URL to the Amazon S3-based disk image being imported. It can either+-- be a https URL (https:\/\/..) or an Amazon S3 URL (s3:\/\/..).+sdcURL :: Lens' SnapshotDiskContainer (Maybe Text)+sdcURL = lens _sdcURL (\ s a -> s{_sdcURL = a});++-- | Undocumented member.+sdcUserBucket :: Lens' SnapshotDiskContainer (Maybe UserBucket)+sdcUserBucket = lens _sdcUserBucket (\ s a -> s{_sdcUserBucket = a});++-- | The description of the disk image being imported.+sdcDescription :: Lens' SnapshotDiskContainer (Maybe Text)+sdcDescription = lens _sdcDescription (\ s a -> s{_sdcDescription = a});++instance Hashable SnapshotDiskContainer++instance ToQuery SnapshotDiskContainer where+ toQuery SnapshotDiskContainer'{..}+ = mconcat+ ["Format" =: _sdcFormat, "Url" =: _sdcURL,+ "UserBucket" =: _sdcUserBucket,+ "Description" =: _sdcDescription]++-- | Details about the import snapshot task.+--+-- /See:/ 'snapshotTaskDetail' smart constructor.+data SnapshotTaskDetail = SnapshotTaskDetail'+ { _stdStatus :: !(Maybe Text)+ , _stdProgress :: !(Maybe Text)+ , _stdFormat :: !(Maybe Text)+ , _stdURL :: !(Maybe Text)+ , _stdStatusMessage :: !(Maybe Text)+ , _stdUserBucket :: !(Maybe UserBucketDetails)+ , _stdDiskImageSize :: !(Maybe Double)+ , _stdDescription :: !(Maybe Text)+ , _stdSnapshotId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SnapshotTaskDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'stdStatus'+--+-- * 'stdProgress'+--+-- * 'stdFormat'+--+-- * 'stdURL'+--+-- * 'stdStatusMessage'+--+-- * 'stdUserBucket'+--+-- * 'stdDiskImageSize'+--+-- * 'stdDescription'+--+-- * 'stdSnapshotId'+snapshotTaskDetail+ :: SnapshotTaskDetail+snapshotTaskDetail =+ SnapshotTaskDetail'+ { _stdStatus = Nothing+ , _stdProgress = Nothing+ , _stdFormat = Nothing+ , _stdURL = Nothing+ , _stdStatusMessage = Nothing+ , _stdUserBucket = Nothing+ , _stdDiskImageSize = Nothing+ , _stdDescription = Nothing+ , _stdSnapshotId = Nothing+ }++-- | A brief status for the import snapshot task.+stdStatus :: Lens' SnapshotTaskDetail (Maybe Text)+stdStatus = lens _stdStatus (\ s a -> s{_stdStatus = a});++-- | The percentage of completion for the import snapshot task.+stdProgress :: Lens' SnapshotTaskDetail (Maybe Text)+stdProgress = lens _stdProgress (\ s a -> s{_stdProgress = a});++-- | The format of the disk image from which the snapshot is created.+stdFormat :: Lens' SnapshotTaskDetail (Maybe Text)+stdFormat = lens _stdFormat (\ s a -> s{_stdFormat = a});++-- | The URL of the disk image from which the snapshot is created.+stdURL :: Lens' SnapshotTaskDetail (Maybe Text)+stdURL = lens _stdURL (\ s a -> s{_stdURL = a});++-- | A detailed status message for the import snapshot task.+stdStatusMessage :: Lens' SnapshotTaskDetail (Maybe Text)+stdStatusMessage = lens _stdStatusMessage (\ s a -> s{_stdStatusMessage = a});++-- | The S3 bucket for the disk image.+stdUserBucket :: Lens' SnapshotTaskDetail (Maybe UserBucketDetails)+stdUserBucket = lens _stdUserBucket (\ s a -> s{_stdUserBucket = a});++-- | The size of the disk in the snapshot, in GiB.+stdDiskImageSize :: Lens' SnapshotTaskDetail (Maybe Double)+stdDiskImageSize = lens _stdDiskImageSize (\ s a -> s{_stdDiskImageSize = a});++-- | The description of the snapshot.+stdDescription :: Lens' SnapshotTaskDetail (Maybe Text)+stdDescription = lens _stdDescription (\ s a -> s{_stdDescription = a});++-- | The snapshot ID of the disk being imported.+stdSnapshotId :: Lens' SnapshotTaskDetail (Maybe Text)+stdSnapshotId = lens _stdSnapshotId (\ s a -> s{_stdSnapshotId = a});++instance FromXML SnapshotTaskDetail where+ parseXML x+ = SnapshotTaskDetail' <$>+ (x .@? "status") <*> (x .@? "progress") <*>+ (x .@? "format")+ <*> (x .@? "url")+ <*> (x .@? "statusMessage")+ <*> (x .@? "userBucket")+ <*> (x .@? "diskImageSize")+ <*> (x .@? "description")+ <*> (x .@? "snapshotId")++instance Hashable SnapshotTaskDetail++-- | Describes the data feed for a Spot instance.+--+-- /See:/ 'spotDatafeedSubscription' smart constructor.+data SpotDatafeedSubscription = SpotDatafeedSubscription'+ { _sdsState :: !(Maybe DatafeedSubscriptionState)+ , _sdsPrefix :: !(Maybe Text)+ , _sdsBucket :: !(Maybe Text)+ , _sdsOwnerId :: !(Maybe Text)+ , _sdsFault :: !(Maybe SpotInstanceStateFault)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotDatafeedSubscription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdsState'+--+-- * 'sdsPrefix'+--+-- * 'sdsBucket'+--+-- * 'sdsOwnerId'+--+-- * 'sdsFault'+spotDatafeedSubscription+ :: SpotDatafeedSubscription+spotDatafeedSubscription =+ SpotDatafeedSubscription'+ { _sdsState = Nothing+ , _sdsPrefix = Nothing+ , _sdsBucket = Nothing+ , _sdsOwnerId = Nothing+ , _sdsFault = Nothing+ }++-- | The state of the Spot instance data feed subscription.+sdsState :: Lens' SpotDatafeedSubscription (Maybe DatafeedSubscriptionState)+sdsState = lens _sdsState (\ s a -> s{_sdsState = a});++-- | The prefix that is prepended to data feed files.+sdsPrefix :: Lens' SpotDatafeedSubscription (Maybe Text)+sdsPrefix = lens _sdsPrefix (\ s a -> s{_sdsPrefix = a});++-- | The Amazon S3 bucket where the Spot instance data feed is located.+sdsBucket :: Lens' SpotDatafeedSubscription (Maybe Text)+sdsBucket = lens _sdsBucket (\ s a -> s{_sdsBucket = a});++-- | The AWS account ID of the account.+sdsOwnerId :: Lens' SpotDatafeedSubscription (Maybe Text)+sdsOwnerId = lens _sdsOwnerId (\ s a -> s{_sdsOwnerId = a});++-- | The fault codes for the Spot instance request, if any.+sdsFault :: Lens' SpotDatafeedSubscription (Maybe SpotInstanceStateFault)+sdsFault = lens _sdsFault (\ s a -> s{_sdsFault = a});++instance FromXML SpotDatafeedSubscription where+ parseXML x+ = SpotDatafeedSubscription' <$>+ (x .@? "state") <*> (x .@? "prefix") <*>+ (x .@? "bucket")+ <*> (x .@? "ownerId")+ <*> (x .@? "fault")++instance Hashable SpotDatafeedSubscription++-- | Describes the launch specification for one or more Spot instances.+--+-- /See:/ 'spotFleetLaunchSpecification' smart constructor.+data SpotFleetLaunchSpecification = SpotFleetLaunchSpecification'+ { _sflsSecurityGroups :: !(Maybe [GroupIdentifier])+ , _sflsSpotPrice :: !(Maybe Text)+ , _sflsWeightedCapacity :: !(Maybe Double)+ , _sflsKeyName :: !(Maybe Text)+ , _sflsNetworkInterfaces :: !(Maybe [InstanceNetworkInterfaceSpecification])+ , _sflsRAMDiskId :: !(Maybe Text)+ , _sflsSubnetId :: !(Maybe Text)+ , _sflsKernelId :: !(Maybe Text)+ , _sflsInstanceType :: !(Maybe InstanceType)+ , _sflsEBSOptimized :: !(Maybe Bool)+ , _sflsUserData :: !(Maybe Text)+ , _sflsMonitoring :: !(Maybe SpotFleetMonitoring)+ , _sflsIAMInstanceProfile :: !(Maybe IAMInstanceProfileSpecification)+ , _sflsImageId :: !(Maybe Text)+ , _sflsAddressingType :: !(Maybe Text)+ , _sflsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+ , _sflsPlacement :: !(Maybe SpotPlacement)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotFleetLaunchSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sflsSecurityGroups'+--+-- * 'sflsSpotPrice'+--+-- * 'sflsWeightedCapacity'+--+-- * 'sflsKeyName'+--+-- * 'sflsNetworkInterfaces'+--+-- * 'sflsRAMDiskId'+--+-- * 'sflsSubnetId'+--+-- * 'sflsKernelId'+--+-- * 'sflsInstanceType'+--+-- * 'sflsEBSOptimized'+--+-- * 'sflsUserData'+--+-- * 'sflsMonitoring'+--+-- * 'sflsIAMInstanceProfile'+--+-- * 'sflsImageId'+--+-- * 'sflsAddressingType'+--+-- * 'sflsBlockDeviceMappings'+--+-- * 'sflsPlacement'+spotFleetLaunchSpecification+ :: SpotFleetLaunchSpecification+spotFleetLaunchSpecification =+ SpotFleetLaunchSpecification'+ { _sflsSecurityGroups = Nothing+ , _sflsSpotPrice = Nothing+ , _sflsWeightedCapacity = Nothing+ , _sflsKeyName = Nothing+ , _sflsNetworkInterfaces = Nothing+ , _sflsRAMDiskId = Nothing+ , _sflsSubnetId = Nothing+ , _sflsKernelId = Nothing+ , _sflsInstanceType = Nothing+ , _sflsEBSOptimized = Nothing+ , _sflsUserData = Nothing+ , _sflsMonitoring = Nothing+ , _sflsIAMInstanceProfile = Nothing+ , _sflsImageId = Nothing+ , _sflsAddressingType = Nothing+ , _sflsBlockDeviceMappings = Nothing+ , _sflsPlacement = Nothing+ }++-- | One or more security groups. When requesting instances in a VPC, you+-- must specify the IDs of the security groups. When requesting instances+-- in EC2-Classic, you can specify the names or the IDs of the security+-- groups.+sflsSecurityGroups :: Lens' SpotFleetLaunchSpecification [GroupIdentifier]+sflsSecurityGroups = lens _sflsSecurityGroups (\ s a -> s{_sflsSecurityGroups = a}) . _Default . _Coerce;++-- | The bid price per unit hour for the specified instance type. If this+-- value is not specified, the default is the Spot bid price specified for+-- the fleet. To determine the bid price per unit hour, divide the Spot bid+-- price by the value of 'WeightedCapacity'.+sflsSpotPrice :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsSpotPrice = lens _sflsSpotPrice (\ s a -> s{_sflsSpotPrice = a});++-- | The number of units provided by the specified instance type. These are+-- the same units that you chose to set the target capacity in terms+-- (instances or a performance characteristic such as vCPUs, memory, or+-- I\/O).+--+-- If the target capacity divided by this value is not a whole number, we+-- round the number of instances to the next whole number. If this value is+-- not specified, the default is 1.+sflsWeightedCapacity :: Lens' SpotFleetLaunchSpecification (Maybe Double)+sflsWeightedCapacity = lens _sflsWeightedCapacity (\ s a -> s{_sflsWeightedCapacity = a});++-- | The name of the key pair.+sflsKeyName :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsKeyName = lens _sflsKeyName (\ s a -> s{_sflsKeyName = a});++-- | One or more network interfaces.+sflsNetworkInterfaces :: Lens' SpotFleetLaunchSpecification [InstanceNetworkInterfaceSpecification]+sflsNetworkInterfaces = lens _sflsNetworkInterfaces (\ s a -> s{_sflsNetworkInterfaces = a}) . _Default . _Coerce;++-- | The ID of the RAM disk.+sflsRAMDiskId :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsRAMDiskId = lens _sflsRAMDiskId (\ s a -> s{_sflsRAMDiskId = a});++-- | The ID of the subnet in which to launch the instances. To specify+-- multiple subnets, separate them using commas; for example,+-- \"subnet-a61dafcf, subnet-65ea5f08\".+sflsSubnetId :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsSubnetId = lens _sflsSubnetId (\ s a -> s{_sflsSubnetId = a});++-- | The ID of the kernel.+sflsKernelId :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsKernelId = lens _sflsKernelId (\ s a -> s{_sflsKernelId = a});++-- | The instance type.+sflsInstanceType :: Lens' SpotFleetLaunchSpecification (Maybe InstanceType)+sflsInstanceType = lens _sflsInstanceType (\ s a -> s{_sflsInstanceType = a});++-- | Indicates whether the instances are optimized for EBS I\/O. This+-- optimization provides dedicated throughput to Amazon EBS and an+-- optimized configuration stack to provide optimal EBS I\/O performance.+-- This optimization isn\'t available with all instance types. Additional+-- usage charges apply when using an EBS Optimized instance.+--+-- Default: 'false'+sflsEBSOptimized :: Lens' SpotFleetLaunchSpecification (Maybe Bool)+sflsEBSOptimized = lens _sflsEBSOptimized (\ s a -> s{_sflsEBSOptimized = a});++-- | The Base64-encoded MIME user data to make available to the instances.+sflsUserData :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsUserData = lens _sflsUserData (\ s a -> s{_sflsUserData = a});++-- | Enable or disable monitoring for the instances.+sflsMonitoring :: Lens' SpotFleetLaunchSpecification (Maybe SpotFleetMonitoring)+sflsMonitoring = lens _sflsMonitoring (\ s a -> s{_sflsMonitoring = a});++-- | The IAM instance profile.+sflsIAMInstanceProfile :: Lens' SpotFleetLaunchSpecification (Maybe IAMInstanceProfileSpecification)+sflsIAMInstanceProfile = lens _sflsIAMInstanceProfile (\ s a -> s{_sflsIAMInstanceProfile = a});++-- | The ID of the AMI.+sflsImageId :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsImageId = lens _sflsImageId (\ s a -> s{_sflsImageId = a});++-- | Deprecated.+sflsAddressingType :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsAddressingType = lens _sflsAddressingType (\ s a -> s{_sflsAddressingType = a});++-- | One or more block device mapping entries.+sflsBlockDeviceMappings :: Lens' SpotFleetLaunchSpecification [BlockDeviceMapping]+sflsBlockDeviceMappings = lens _sflsBlockDeviceMappings (\ s a -> s{_sflsBlockDeviceMappings = a}) . _Default . _Coerce;++-- | The placement information.+sflsPlacement :: Lens' SpotFleetLaunchSpecification (Maybe SpotPlacement)+sflsPlacement = lens _sflsPlacement (\ s a -> s{_sflsPlacement = a});++instance FromXML SpotFleetLaunchSpecification where+ parseXML x+ = SpotFleetLaunchSpecification' <$>+ (x .@? "groupSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "spotPrice")+ <*> (x .@? "weightedCapacity")+ <*> (x .@? "keyName")+ <*>+ (x .@? "networkInterfaceSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "ramdiskId")+ <*> (x .@? "subnetId")+ <*> (x .@? "kernelId")+ <*> (x .@? "instanceType")+ <*> (x .@? "ebsOptimized")+ <*> (x .@? "userData")+ <*> (x .@? "monitoring")+ <*> (x .@? "iamInstanceProfile")+ <*> (x .@? "imageId")+ <*> (x .@? "addressingType")+ <*>+ (x .@? "blockDeviceMapping" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "placement")++instance Hashable SpotFleetLaunchSpecification++instance ToQuery SpotFleetLaunchSpecification where+ toQuery SpotFleetLaunchSpecification'{..}+ = mconcat+ [toQuery+ (toQueryList "GroupSet" <$> _sflsSecurityGroups),+ "SpotPrice" =: _sflsSpotPrice,+ "WeightedCapacity" =: _sflsWeightedCapacity,+ "KeyName" =: _sflsKeyName,+ toQuery+ (toQueryList "NetworkInterfaceSet" <$>+ _sflsNetworkInterfaces),+ "RamdiskId" =: _sflsRAMDiskId,+ "SubnetId" =: _sflsSubnetId,+ "KernelId" =: _sflsKernelId,+ "InstanceType" =: _sflsInstanceType,+ "EbsOptimized" =: _sflsEBSOptimized,+ "UserData" =: _sflsUserData,+ "Monitoring" =: _sflsMonitoring,+ "IamInstanceProfile" =: _sflsIAMInstanceProfile,+ "ImageId" =: _sflsImageId,+ "AddressingType" =: _sflsAddressingType,+ toQuery+ (toQueryList "BlockDeviceMapping" <$>+ _sflsBlockDeviceMappings),+ "Placement" =: _sflsPlacement]++-- | Describes whether monitoring is enabled.+--+-- /See:/ 'spotFleetMonitoring' smart constructor.+newtype SpotFleetMonitoring = SpotFleetMonitoring'+ { _sfmEnabled :: Maybe Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotFleetMonitoring' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfmEnabled'+spotFleetMonitoring+ :: SpotFleetMonitoring+spotFleetMonitoring =+ SpotFleetMonitoring'+ { _sfmEnabled = Nothing+ }++-- | Enables monitoring for the instance.+--+-- Default: 'false'+sfmEnabled :: Lens' SpotFleetMonitoring (Maybe Bool)+sfmEnabled = lens _sfmEnabled (\ s a -> s{_sfmEnabled = a});++instance FromXML SpotFleetMonitoring where+ parseXML x+ = SpotFleetMonitoring' <$> (x .@? "enabled")++instance Hashable SpotFleetMonitoring++instance ToQuery SpotFleetMonitoring where+ toQuery SpotFleetMonitoring'{..}+ = mconcat ["Enabled" =: _sfmEnabled]++-- | Describes a Spot fleet request.+--+-- /See:/ 'spotFleetRequestConfig' smart constructor.+data SpotFleetRequestConfig = SpotFleetRequestConfig'+ { _sfrcSpotFleetRequestId :: !Text+ , _sfrcSpotFleetRequestState :: !BatchState+ , _sfrcSpotFleetRequestConfig :: !SpotFleetRequestConfigData+ , _sfrcCreateTime :: !ISO8601+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotFleetRequestConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfrcSpotFleetRequestId'+--+-- * 'sfrcSpotFleetRequestState'+--+-- * 'sfrcSpotFleetRequestConfig'+--+-- * 'sfrcCreateTime'+spotFleetRequestConfig+ :: Text -- ^ 'sfrcSpotFleetRequestId'+ -> BatchState -- ^ 'sfrcSpotFleetRequestState'+ -> SpotFleetRequestConfigData -- ^ 'sfrcSpotFleetRequestConfig'+ -> UTCTime -- ^ 'sfrcCreateTime'+ -> SpotFleetRequestConfig+spotFleetRequestConfig pSpotFleetRequestId_ pSpotFleetRequestState_ pSpotFleetRequestConfig_ pCreateTime_ =+ SpotFleetRequestConfig'+ { _sfrcSpotFleetRequestId = pSpotFleetRequestId_+ , _sfrcSpotFleetRequestState = pSpotFleetRequestState_+ , _sfrcSpotFleetRequestConfig = pSpotFleetRequestConfig_+ , _sfrcCreateTime = _Time # pCreateTime_+ }++-- | The ID of the Spot fleet request.+sfrcSpotFleetRequestId :: Lens' SpotFleetRequestConfig Text+sfrcSpotFleetRequestId = lens _sfrcSpotFleetRequestId (\ s a -> s{_sfrcSpotFleetRequestId = a});++-- | The state of the Spot fleet request.+sfrcSpotFleetRequestState :: Lens' SpotFleetRequestConfig BatchState+sfrcSpotFleetRequestState = lens _sfrcSpotFleetRequestState (\ s a -> s{_sfrcSpotFleetRequestState = a});++-- | Information about the configuration of the Spot fleet request.+sfrcSpotFleetRequestConfig :: Lens' SpotFleetRequestConfig SpotFleetRequestConfigData+sfrcSpotFleetRequestConfig = lens _sfrcSpotFleetRequestConfig (\ s a -> s{_sfrcSpotFleetRequestConfig = a});++-- | The creation date and time of the request.+sfrcCreateTime :: Lens' SpotFleetRequestConfig UTCTime+sfrcCreateTime = lens _sfrcCreateTime (\ s a -> s{_sfrcCreateTime = a}) . _Time;++instance FromXML SpotFleetRequestConfig where+ parseXML x+ = SpotFleetRequestConfig' <$>+ (x .@ "spotFleetRequestId") <*>+ (x .@ "spotFleetRequestState")+ <*> (x .@ "spotFleetRequestConfig")+ <*> (x .@ "createTime")++instance Hashable SpotFleetRequestConfig++-- | Describes the configuration of a Spot fleet request.+--+-- /See:/ 'spotFleetRequestConfigData' smart constructor.+data SpotFleetRequestConfigData = SpotFleetRequestConfigData'+ { _sfrcdClientToken :: !(Maybe Text)+ , _sfrcdExcessCapacityTerminationPolicy :: !(Maybe ExcessCapacityTerminationPolicy)+ , _sfrcdValidUntil :: !(Maybe ISO8601)+ , _sfrcdTerminateInstancesWithExpiration :: !(Maybe Bool)+ , _sfrcdValidFrom :: !(Maybe ISO8601)+ , _sfrcdAllocationStrategy :: !(Maybe AllocationStrategy)+ , _sfrcdSpotPrice :: !Text+ , _sfrcdTargetCapacity :: !Int+ , _sfrcdIAMFleetRole :: !Text+ , _sfrcdLaunchSpecifications :: !(List1 SpotFleetLaunchSpecification)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotFleetRequestConfigData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfrcdClientToken'+--+-- * 'sfrcdExcessCapacityTerminationPolicy'+--+-- * 'sfrcdValidUntil'+--+-- * 'sfrcdTerminateInstancesWithExpiration'+--+-- * 'sfrcdValidFrom'+--+-- * 'sfrcdAllocationStrategy'+--+-- * 'sfrcdSpotPrice'+--+-- * 'sfrcdTargetCapacity'+--+-- * 'sfrcdIAMFleetRole'+--+-- * 'sfrcdLaunchSpecifications'+spotFleetRequestConfigData+ :: Text -- ^ 'sfrcdSpotPrice'+ -> Int -- ^ 'sfrcdTargetCapacity'+ -> Text -- ^ 'sfrcdIAMFleetRole'+ -> NonEmpty SpotFleetLaunchSpecification -- ^ 'sfrcdLaunchSpecifications'+ -> SpotFleetRequestConfigData+spotFleetRequestConfigData pSpotPrice_ pTargetCapacity_ pIAMFleetRole_ pLaunchSpecifications_ =+ SpotFleetRequestConfigData'+ { _sfrcdClientToken = Nothing+ , _sfrcdExcessCapacityTerminationPolicy = Nothing+ , _sfrcdValidUntil = Nothing+ , _sfrcdTerminateInstancesWithExpiration = Nothing+ , _sfrcdValidFrom = Nothing+ , _sfrcdAllocationStrategy = Nothing+ , _sfrcdSpotPrice = pSpotPrice_+ , _sfrcdTargetCapacity = pTargetCapacity_+ , _sfrcdIAMFleetRole = pIAMFleetRole_+ , _sfrcdLaunchSpecifications = _List1 # pLaunchSpecifications_+ }++-- | A unique, case-sensitive identifier you provide to ensure idempotency of+-- your listings. This helps avoid duplicate listings. For more+-- information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.+sfrcdClientToken :: Lens' SpotFleetRequestConfigData (Maybe Text)+sfrcdClientToken = lens _sfrcdClientToken (\ s a -> s{_sfrcdClientToken = a});++-- | Indicates whether running Spot instances should be terminated if the+-- target capacity of the Spot fleet request is decreased below the current+-- size of the Spot fleet.+sfrcdExcessCapacityTerminationPolicy :: Lens' SpotFleetRequestConfigData (Maybe ExcessCapacityTerminationPolicy)+sfrcdExcessCapacityTerminationPolicy = lens _sfrcdExcessCapacityTerminationPolicy (\ s a -> s{_sfrcdExcessCapacityTerminationPolicy = a});++-- | The end date and time of the request, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). At this point, no new Spot instance+-- requests are placed or enabled to fulfill the request.+sfrcdValidUntil :: Lens' SpotFleetRequestConfigData (Maybe UTCTime)+sfrcdValidUntil = lens _sfrcdValidUntil (\ s a -> s{_sfrcdValidUntil = a}) . mapping _Time;++-- | Indicates whether running Spot instances should be terminated when the+-- Spot fleet request expires.+sfrcdTerminateInstancesWithExpiration :: Lens' SpotFleetRequestConfigData (Maybe Bool)+sfrcdTerminateInstancesWithExpiration = lens _sfrcdTerminateInstancesWithExpiration (\ s a -> s{_sfrcdTerminateInstancesWithExpiration = a});++-- | The start date and time of the request, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). The default is to start fulfilling+-- the request immediately.+sfrcdValidFrom :: Lens' SpotFleetRequestConfigData (Maybe UTCTime)+sfrcdValidFrom = lens _sfrcdValidFrom (\ s a -> s{_sfrcdValidFrom = a}) . mapping _Time;++-- | Indicates how to allocate the target capacity across the Spot pools+-- specified by the Spot fleet request. The default is 'lowestPrice'.+sfrcdAllocationStrategy :: Lens' SpotFleetRequestConfigData (Maybe AllocationStrategy)+sfrcdAllocationStrategy = lens _sfrcdAllocationStrategy (\ s a -> s{_sfrcdAllocationStrategy = a});++-- | The bid price per unit hour.+sfrcdSpotPrice :: Lens' SpotFleetRequestConfigData Text+sfrcdSpotPrice = lens _sfrcdSpotPrice (\ s a -> s{_sfrcdSpotPrice = a});++-- | The number of units to request. You can choose to set the target+-- capacity in terms of instances or a performance characteristic that is+-- important to your application workload, such as vCPUs, memory, or I\/O.+sfrcdTargetCapacity :: Lens' SpotFleetRequestConfigData Int+sfrcdTargetCapacity = lens _sfrcdTargetCapacity (\ s a -> s{_sfrcdTargetCapacity = a});++-- | Grants the Spot fleet permission to terminate Spot instances on your+-- behalf when you cancel its Spot fleet request using+-- < CancelSpotFleetRequests> or when the Spot fleet request expires, if+-- you set 'terminateInstancesWithExpiration'.+sfrcdIAMFleetRole :: Lens' SpotFleetRequestConfigData Text+sfrcdIAMFleetRole = lens _sfrcdIAMFleetRole (\ s a -> s{_sfrcdIAMFleetRole = a});++-- | Information about the launch specifications for the Spot fleet request.+sfrcdLaunchSpecifications :: Lens' SpotFleetRequestConfigData (NonEmpty SpotFleetLaunchSpecification)+sfrcdLaunchSpecifications = lens _sfrcdLaunchSpecifications (\ s a -> s{_sfrcdLaunchSpecifications = a}) . _List1;++instance FromXML SpotFleetRequestConfigData where+ parseXML x+ = SpotFleetRequestConfigData' <$>+ (x .@? "clientToken") <*>+ (x .@? "excessCapacityTerminationPolicy")+ <*> (x .@? "validUntil")+ <*> (x .@? "terminateInstancesWithExpiration")+ <*> (x .@? "validFrom")+ <*> (x .@? "allocationStrategy")+ <*> (x .@ "spotPrice")+ <*> (x .@ "targetCapacity")+ <*> (x .@ "iamFleetRole")+ <*>+ (x .@? "launchSpecifications" .!@ mempty >>=+ parseXMLList1 "item")++instance Hashable SpotFleetRequestConfigData++instance ToQuery SpotFleetRequestConfigData where+ toQuery SpotFleetRequestConfigData'{..}+ = mconcat+ ["ClientToken" =: _sfrcdClientToken,+ "ExcessCapacityTerminationPolicy" =:+ _sfrcdExcessCapacityTerminationPolicy,+ "ValidUntil" =: _sfrcdValidUntil,+ "TerminateInstancesWithExpiration" =:+ _sfrcdTerminateInstancesWithExpiration,+ "ValidFrom" =: _sfrcdValidFrom,+ "AllocationStrategy" =: _sfrcdAllocationStrategy,+ "SpotPrice" =: _sfrcdSpotPrice,+ "TargetCapacity" =: _sfrcdTargetCapacity,+ "IamFleetRole" =: _sfrcdIAMFleetRole,+ toQueryList "LaunchSpecifications"+ _sfrcdLaunchSpecifications]++-- | Describes a Spot instance request.+--+-- /See:/ 'spotInstanceRequest' smart constructor.+data SpotInstanceRequest = SpotInstanceRequest'+ { _sirInstanceId :: !(Maybe Text)+ , _sirStatus :: !(Maybe SpotInstanceStatus)+ , _sirState :: !(Maybe SpotInstanceState)+ , _sirActualBlockHourlyPrice :: !(Maybe Text)+ , _sirBlockDurationMinutes :: !(Maybe Int)+ , _sirProductDescription :: !(Maybe RIProductDescription)+ , _sirSpotPrice :: !(Maybe Text)+ , _sirLaunchSpecification :: !(Maybe LaunchSpecification)+ , _sirAvailabilityZoneGroup :: !(Maybe Text)+ , _sirLaunchedAvailabilityZone :: !(Maybe Text)+ , _sirValidUntil :: !(Maybe ISO8601)+ , _sirLaunchGroup :: !(Maybe Text)+ , _sirFault :: !(Maybe SpotInstanceStateFault)+ , _sirSpotInstanceRequestId :: !(Maybe Text)+ , _sirType :: !(Maybe SpotInstanceType)+ , _sirValidFrom :: !(Maybe ISO8601)+ , _sirCreateTime :: !(Maybe ISO8601)+ , _sirTags :: !(Maybe [Tag])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotInstanceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sirInstanceId'+--+-- * 'sirStatus'+--+-- * 'sirState'+--+-- * 'sirActualBlockHourlyPrice'+--+-- * 'sirBlockDurationMinutes'+--+-- * 'sirProductDescription'+--+-- * 'sirSpotPrice'+--+-- * 'sirLaunchSpecification'+--+-- * 'sirAvailabilityZoneGroup'+--+-- * 'sirLaunchedAvailabilityZone'+--+-- * 'sirValidUntil'+--+-- * 'sirLaunchGroup'+--+-- * 'sirFault'+--+-- * 'sirSpotInstanceRequestId'+--+-- * 'sirType'+--+-- * 'sirValidFrom'+--+-- * 'sirCreateTime'+--+-- * 'sirTags'+spotInstanceRequest+ :: SpotInstanceRequest+spotInstanceRequest =+ SpotInstanceRequest'+ { _sirInstanceId = Nothing+ , _sirStatus = Nothing+ , _sirState = Nothing+ , _sirActualBlockHourlyPrice = Nothing+ , _sirBlockDurationMinutes = Nothing+ , _sirProductDescription = Nothing+ , _sirSpotPrice = Nothing+ , _sirLaunchSpecification = Nothing+ , _sirAvailabilityZoneGroup = Nothing+ , _sirLaunchedAvailabilityZone = Nothing+ , _sirValidUntil = Nothing+ , _sirLaunchGroup = Nothing+ , _sirFault = Nothing+ , _sirSpotInstanceRequestId = Nothing+ , _sirType = Nothing+ , _sirValidFrom = Nothing+ , _sirCreateTime = Nothing+ , _sirTags = Nothing+ }++-- | The instance ID, if an instance has been launched to fulfill the Spot+-- instance request.+sirInstanceId :: Lens' SpotInstanceRequest (Maybe Text)+sirInstanceId = lens _sirInstanceId (\ s a -> s{_sirInstanceId = a});++-- | The status code and status message describing the Spot instance request.+sirStatus :: Lens' SpotInstanceRequest (Maybe SpotInstanceStatus)+sirStatus = lens _sirStatus (\ s a -> s{_sirStatus = a});++-- | The state of the Spot instance request. Spot bid status information can+-- help you track your Spot instance requests. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html Spot Bid Status>+-- in the /Amazon Elastic Compute Cloud User Guide/.+sirState :: Lens' SpotInstanceRequest (Maybe SpotInstanceState)+sirState = lens _sirState (\ s a -> s{_sirState = a});++-- | If you specified a duration and your Spot instance request was+-- fulfilled, this is the fixed hourly price in effect for the Spot+-- instance while it runs.+sirActualBlockHourlyPrice :: Lens' SpotInstanceRequest (Maybe Text)+sirActualBlockHourlyPrice = lens _sirActualBlockHourlyPrice (\ s a -> s{_sirActualBlockHourlyPrice = a});++-- | The duration for the Spot instance, in minutes.+sirBlockDurationMinutes :: Lens' SpotInstanceRequest (Maybe Int)+sirBlockDurationMinutes = lens _sirBlockDurationMinutes (\ s a -> s{_sirBlockDurationMinutes = a});++-- | The product description associated with the Spot instance.+sirProductDescription :: Lens' SpotInstanceRequest (Maybe RIProductDescription)+sirProductDescription = lens _sirProductDescription (\ s a -> s{_sirProductDescription = a});++-- | The maximum hourly price (bid) for the Spot instance launched to fulfill+-- the request.+sirSpotPrice :: Lens' SpotInstanceRequest (Maybe Text)+sirSpotPrice = lens _sirSpotPrice (\ s a -> s{_sirSpotPrice = a});++-- | Additional information for launching instances.+sirLaunchSpecification :: Lens' SpotInstanceRequest (Maybe LaunchSpecification)+sirLaunchSpecification = lens _sirLaunchSpecification (\ s a -> s{_sirLaunchSpecification = a});++-- | The Availability Zone group. If you specify the same Availability Zone+-- group for all Spot instance requests, all Spot instances are launched in+-- the same Availability Zone.+sirAvailabilityZoneGroup :: Lens' SpotInstanceRequest (Maybe Text)+sirAvailabilityZoneGroup = lens _sirAvailabilityZoneGroup (\ s a -> s{_sirAvailabilityZoneGroup = a});++-- | The Availability Zone in which the bid is launched.+sirLaunchedAvailabilityZone :: Lens' SpotInstanceRequest (Maybe Text)+sirLaunchedAvailabilityZone = lens _sirLaunchedAvailabilityZone (\ s a -> s{_sirLaunchedAvailabilityZone = a});++-- | The end date of the request, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). If this is a one-time request, it+-- remains active until all instances launch, the request is canceled, or+-- this date is reached. If the request is persistent, it remains active+-- until it is canceled or this date is reached.+sirValidUntil :: Lens' SpotInstanceRequest (Maybe UTCTime)+sirValidUntil = lens _sirValidUntil (\ s a -> s{_sirValidUntil = a}) . mapping _Time;++-- | The instance launch group. Launch groups are Spot instances that launch+-- together and terminate together.+sirLaunchGroup :: Lens' SpotInstanceRequest (Maybe Text)+sirLaunchGroup = lens _sirLaunchGroup (\ s a -> s{_sirLaunchGroup = a});++-- | The fault codes for the Spot instance request, if any.+sirFault :: Lens' SpotInstanceRequest (Maybe SpotInstanceStateFault)+sirFault = lens _sirFault (\ s a -> s{_sirFault = a});++-- | The ID of the Spot instance request.+sirSpotInstanceRequestId :: Lens' SpotInstanceRequest (Maybe Text)+sirSpotInstanceRequestId = lens _sirSpotInstanceRequestId (\ s a -> s{_sirSpotInstanceRequestId = a});++-- | The Spot instance request type.+sirType :: Lens' SpotInstanceRequest (Maybe SpotInstanceType)+sirType = lens _sirType (\ s a -> s{_sirType = a});++-- | The start date of the request, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). The request becomes active at this+-- date and time.+sirValidFrom :: Lens' SpotInstanceRequest (Maybe UTCTime)+sirValidFrom = lens _sirValidFrom (\ s a -> s{_sirValidFrom = a}) . mapping _Time;++-- | The date and time when the Spot instance request was created, in UTC+-- format (for example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).+sirCreateTime :: Lens' SpotInstanceRequest (Maybe UTCTime)+sirCreateTime = lens _sirCreateTime (\ s a -> s{_sirCreateTime = a}) . mapping _Time;++-- | Any tags assigned to the resource.+sirTags :: Lens' SpotInstanceRequest [Tag]+sirTags = lens _sirTags (\ s a -> s{_sirTags = a}) . _Default . _Coerce;++instance FromXML SpotInstanceRequest where+ parseXML x+ = SpotInstanceRequest' <$>+ (x .@? "instanceId") <*> (x .@? "status") <*>+ (x .@? "state")+ <*> (x .@? "actualBlockHourlyPrice")+ <*> (x .@? "blockDurationMinutes")+ <*> (x .@? "productDescription")+ <*> (x .@? "spotPrice")+ <*> (x .@? "launchSpecification")+ <*> (x .@? "availabilityZoneGroup")+ <*> (x .@? "launchedAvailabilityZone")+ <*> (x .@? "validUntil")+ <*> (x .@? "launchGroup")+ <*> (x .@? "fault")+ <*> (x .@? "spotInstanceRequestId")+ <*> (x .@? "type")+ <*> (x .@? "validFrom")+ <*> (x .@? "createTime")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable SpotInstanceRequest++-- | Describes a Spot instance state change.+--+-- /See:/ 'spotInstanceStateFault' smart constructor.+data SpotInstanceStateFault = SpotInstanceStateFault'+ { _sisfCode :: !(Maybe Text)+ , _sisfMessage :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotInstanceStateFault' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sisfCode'+--+-- * 'sisfMessage'+spotInstanceStateFault+ :: SpotInstanceStateFault+spotInstanceStateFault =+ SpotInstanceStateFault'+ { _sisfCode = Nothing+ , _sisfMessage = Nothing+ }++-- | The reason code for the Spot instance state change.+sisfCode :: Lens' SpotInstanceStateFault (Maybe Text)+sisfCode = lens _sisfCode (\ s a -> s{_sisfCode = a});++-- | The message for the Spot instance state change.+sisfMessage :: Lens' SpotInstanceStateFault (Maybe Text)+sisfMessage = lens _sisfMessage (\ s a -> s{_sisfMessage = a});++instance FromXML SpotInstanceStateFault where+ parseXML x+ = SpotInstanceStateFault' <$>+ (x .@? "code") <*> (x .@? "message")++instance Hashable SpotInstanceStateFault++-- | Describes the status of a Spot instance request.+--+-- /See:/ 'spotInstanceStatus' smart constructor.+data SpotInstanceStatus = SpotInstanceStatus'+ { _sisUpdateTime :: !(Maybe ISO8601)+ , _sisCode :: !(Maybe Text)+ , _sisMessage :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotInstanceStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sisUpdateTime'+--+-- * 'sisCode'+--+-- * 'sisMessage'+spotInstanceStatus+ :: SpotInstanceStatus+spotInstanceStatus =+ SpotInstanceStatus'+ { _sisUpdateTime = Nothing+ , _sisCode = Nothing+ , _sisMessage = Nothing+ }++-- | The date and time of the most recent status update, in UTC format (for+-- example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).+sisUpdateTime :: Lens' SpotInstanceStatus (Maybe UTCTime)+sisUpdateTime = lens _sisUpdateTime (\ s a -> s{_sisUpdateTime = a}) . mapping _Time;++-- | The status code. For a list of status codes, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand Spot Bid Status Codes>+-- in the /Amazon Elastic Compute Cloud User Guide/.+sisCode :: Lens' SpotInstanceStatus (Maybe Text)+sisCode = lens _sisCode (\ s a -> s{_sisCode = a});++-- | The description for the status code.+sisMessage :: Lens' SpotInstanceStatus (Maybe Text)+sisMessage = lens _sisMessage (\ s a -> s{_sisMessage = a});++instance FromXML SpotInstanceStatus where+ parseXML x+ = SpotInstanceStatus' <$>+ (x .@? "updateTime") <*> (x .@? "code") <*>+ (x .@? "message")++instance Hashable SpotInstanceStatus++-- | Describes Spot instance placement.+--+-- /See:/ 'spotPlacement' smart constructor.+data SpotPlacement = SpotPlacement'+ { _spAvailabilityZone :: !(Maybe Text)+ , _spGroupName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotPlacement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spAvailabilityZone'+--+-- * 'spGroupName'+spotPlacement+ :: SpotPlacement+spotPlacement =+ SpotPlacement'+ { _spAvailabilityZone = Nothing+ , _spGroupName = Nothing+ }++-- | The Availability Zone.+--+-- [Spot fleet only] To specify multiple Availability Zones, separate them+-- using commas; for example, \"us-west-2a, us-west-2b\".+spAvailabilityZone :: Lens' SpotPlacement (Maybe Text)+spAvailabilityZone = lens _spAvailabilityZone (\ s a -> s{_spAvailabilityZone = a});++-- | The name of the placement group (for cluster instances).+spGroupName :: Lens' SpotPlacement (Maybe Text)+spGroupName = lens _spGroupName (\ s a -> s{_spGroupName = a});++instance FromXML SpotPlacement where+ parseXML x+ = SpotPlacement' <$>+ (x .@? "availabilityZone") <*> (x .@? "groupName")++instance Hashable SpotPlacement++instance ToQuery SpotPlacement where+ toQuery SpotPlacement'{..}+ = mconcat+ ["AvailabilityZone" =: _spAvailabilityZone,+ "GroupName" =: _spGroupName]++-- | Describes the maximum hourly price (bid) for any Spot instance launched+-- to fulfill the request.+--+-- /See:/ 'spotPrice' smart constructor.+data SpotPrice = SpotPrice'+ { _sProductDescription :: !(Maybe RIProductDescription)+ , _sSpotPrice :: !(Maybe Text)+ , _sInstanceType :: !(Maybe InstanceType)+ , _sAvailabilityZone :: !(Maybe Text)+ , _sTimestamp :: !(Maybe ISO8601)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotPrice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sProductDescription'+--+-- * 'sSpotPrice'+--+-- * 'sInstanceType'+--+-- * 'sAvailabilityZone'+--+-- * 'sTimestamp'+spotPrice+ :: SpotPrice+spotPrice =+ SpotPrice'+ { _sProductDescription = Nothing+ , _sSpotPrice = Nothing+ , _sInstanceType = Nothing+ , _sAvailabilityZone = Nothing+ , _sTimestamp = Nothing+ }++-- | A general description of the AMI.+sProductDescription :: Lens' SpotPrice (Maybe RIProductDescription)+sProductDescription = lens _sProductDescription (\ s a -> s{_sProductDescription = a});++-- | The maximum price (bid) that you are willing to pay for a Spot instance.+sSpotPrice :: Lens' SpotPrice (Maybe Text)+sSpotPrice = lens _sSpotPrice (\ s a -> s{_sSpotPrice = a});++-- | The instance type.+sInstanceType :: Lens' SpotPrice (Maybe InstanceType)+sInstanceType = lens _sInstanceType (\ s a -> s{_sInstanceType = a});++-- | The Availability Zone.+sAvailabilityZone :: Lens' SpotPrice (Maybe Text)+sAvailabilityZone = lens _sAvailabilityZone (\ s a -> s{_sAvailabilityZone = a});++-- | The date and time the request was created, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).+sTimestamp :: Lens' SpotPrice (Maybe UTCTime)+sTimestamp = lens _sTimestamp (\ s a -> s{_sTimestamp = a}) . mapping _Time;++instance FromXML SpotPrice where+ parseXML x+ = SpotPrice' <$>+ (x .@? "productDescription") <*> (x .@? "spotPrice")+ <*> (x .@? "instanceType")+ <*> (x .@? "availabilityZone")+ <*> (x .@? "timestamp")++instance Hashable SpotPrice++-- | Describes a state change.+--+-- /See:/ 'stateReason' smart constructor.+data StateReason = StateReason'+ { _srCode :: !(Maybe Text)+ , _srMessage :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StateReason' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srCode'+--+-- * 'srMessage'+stateReason+ :: StateReason+stateReason =+ StateReason'+ { _srCode = Nothing+ , _srMessage = Nothing+ }++-- | The reason code for the state change.+srCode :: Lens' StateReason (Maybe Text)+srCode = lens _srCode (\ s a -> s{_srCode = a});++-- | The message for the state change.+--+-- - 'Server.SpotInstanceTermination': A Spot instance was terminated due+-- to an increase in the market price.+--+-- - 'Server.InternalError': An internal error occurred during instance+-- launch, resulting in termination.+--+-- - 'Server.InsufficientInstanceCapacity': There was insufficient+-- instance capacity to satisfy the launch request.+--+-- - 'Client.InternalError': A client error caused the instance to+-- terminate on launch.+--+-- - 'Client.InstanceInitiatedShutdown': The instance was shut down using+-- the 'shutdown -h' command from the instance.+--+-- - 'Client.UserInitiatedShutdown': The instance was shut down using the+-- Amazon EC2 API.+--+-- - 'Client.VolumeLimitExceeded': The limit on the number of EBS volumes+-- or total storage was exceeded. Decrease usage or request an increase+-- in your limits.+--+-- - 'Client.InvalidSnapshot.NotFound': The specified snapshot was not+-- found.+--+srMessage :: Lens' StateReason (Maybe Text)+srMessage = lens _srMessage (\ s a -> s{_srMessage = a});++instance FromXML StateReason where+ parseXML x+ = StateReason' <$>+ (x .@? "code") <*> (x .@? "message")++instance Hashable StateReason++-- | Describes the storage location for an instance store-backed AMI.+--+-- /See:/ 'storage' smart constructor.+newtype Storage = Storage'+ { _sS3 :: Maybe S3Storage+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Storage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sS3'+storage+ :: Storage+storage =+ Storage'+ { _sS3 = Nothing+ }++-- | An Amazon S3 storage location.+sS3 :: Lens' Storage (Maybe S3Storage)+sS3 = lens _sS3 (\ s a -> s{_sS3 = a});++instance FromXML Storage where+ parseXML x = Storage' <$> (x .@? "S3")++instance Hashable Storage++instance ToQuery Storage where+ toQuery Storage'{..} = mconcat ["S3" =: _sS3]++-- | Describes a subnet.+--+-- /See:/ 'subnet' smart constructor.+data Subnet = Subnet'+ { _subMapPublicIPOnLaunch :: !(Maybe Bool)+ , _subDefaultForAz :: !(Maybe Bool)+ , _subTags :: !(Maybe [Tag])+ , _subAvailabilityZone :: !Text+ , _subAvailableIPAddressCount :: !Int+ , _subCIdRBlock :: !Text+ , _subState :: !SubnetState+ , _subSubnetId :: !Text+ , _subVPCId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Subnet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'subMapPublicIPOnLaunch'+--+-- * 'subDefaultForAz'+--+-- * 'subTags'+--+-- * 'subAvailabilityZone'+--+-- * 'subAvailableIPAddressCount'+--+-- * 'subCIdRBlock'+--+-- * 'subState'+--+-- * 'subSubnetId'+--+-- * 'subVPCId'+subnet+ :: Text -- ^ 'subAvailabilityZone'+ -> Int -- ^ 'subAvailableIPAddressCount'+ -> Text -- ^ 'subCIdRBlock'+ -> SubnetState -- ^ 'subState'+ -> Text -- ^ 'subSubnetId'+ -> Text -- ^ 'subVPCId'+ -> Subnet+subnet pAvailabilityZone_ pAvailableIPAddressCount_ pCIdRBlock_ pState_ pSubnetId_ pVPCId_ =+ Subnet'+ { _subMapPublicIPOnLaunch = Nothing+ , _subDefaultForAz = Nothing+ , _subTags = Nothing+ , _subAvailabilityZone = pAvailabilityZone_+ , _subAvailableIPAddressCount = pAvailableIPAddressCount_+ , _subCIdRBlock = pCIdRBlock_+ , _subState = pState_+ , _subSubnetId = pSubnetId_+ , _subVPCId = pVPCId_+ }++-- | Indicates whether instances launched in this subnet receive a public IP+-- address.+subMapPublicIPOnLaunch :: Lens' Subnet (Maybe Bool)+subMapPublicIPOnLaunch = lens _subMapPublicIPOnLaunch (\ s a -> s{_subMapPublicIPOnLaunch = a});++-- | Indicates whether this is the default subnet for the Availability Zone.+subDefaultForAz :: Lens' Subnet (Maybe Bool)+subDefaultForAz = lens _subDefaultForAz (\ s a -> s{_subDefaultForAz = a});++-- | Any tags assigned to the subnet.+subTags :: Lens' Subnet [Tag]+subTags = lens _subTags (\ s a -> s{_subTags = a}) . _Default . _Coerce;++-- | The Availability Zone of the subnet.+subAvailabilityZone :: Lens' Subnet Text+subAvailabilityZone = lens _subAvailabilityZone (\ s a -> s{_subAvailabilityZone = a});++-- | The number of unused IP addresses in the subnet. Note that the IP+-- addresses for any stopped instances are considered unavailable.+subAvailableIPAddressCount :: Lens' Subnet Int+subAvailableIPAddressCount = lens _subAvailableIPAddressCount (\ s a -> s{_subAvailableIPAddressCount = a});++-- | The CIDR block assigned to the subnet.+subCIdRBlock :: Lens' Subnet Text+subCIdRBlock = lens _subCIdRBlock (\ s a -> s{_subCIdRBlock = a});++-- | The current state of the subnet.+subState :: Lens' Subnet SubnetState+subState = lens _subState (\ s a -> s{_subState = a});++-- | The ID of the subnet.+subSubnetId :: Lens' Subnet Text+subSubnetId = lens _subSubnetId (\ s a -> s{_subSubnetId = a});++-- | The ID of the VPC the subnet is in.+subVPCId :: Lens' Subnet Text+subVPCId = lens _subVPCId (\ s a -> s{_subVPCId = a});++instance FromXML Subnet where+ parseXML x+ = Subnet' <$>+ (x .@? "mapPublicIpOnLaunch") <*>+ (x .@? "defaultForAz")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "availabilityZone")+ <*> (x .@ "availableIpAddressCount")+ <*> (x .@ "cidrBlock")+ <*> (x .@ "state")+ <*> (x .@ "subnetId")+ <*> (x .@ "vpcId")++instance Hashable Subnet++-- | Describes a tag.+--+-- /See:/ 'tag' smart constructor.+data Tag = Tag'+ { _tagKey :: !Text+ , _tagValue :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Tag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tagKey'+--+-- * 'tagValue'+tag+ :: Text -- ^ 'tagKey'+ -> Text -- ^ 'tagValue'+ -> Tag+tag pKey_ pValue_ =+ Tag'+ { _tagKey = pKey_+ , _tagValue = pValue_+ }++-- | The key of the tag.+--+-- Constraints: Tag keys are case-sensitive and accept a maximum of 127+-- Unicode characters. May not begin with 'aws:'+tagKey :: Lens' Tag Text+tagKey = lens _tagKey (\ s a -> s{_tagKey = a});++-- | The value of the tag.+--+-- Constraints: Tag values are case-sensitive and accept a maximum of 255+-- Unicode characters.+tagValue :: Lens' Tag Text+tagValue = lens _tagValue (\ s a -> s{_tagValue = a});++instance FromXML Tag where+ parseXML x = Tag' <$> (x .@ "key") <*> (x .@ "value")++instance Hashable Tag++instance ToQuery Tag where+ toQuery Tag'{..}+ = mconcat ["Key" =: _tagKey, "Value" =: _tagValue]++-- | Describes a tag.+--+-- /See:/ 'tagDescription' smart constructor.+data TagDescription = TagDescription'+ { _tdResourceId :: !Text+ , _tdResourceType :: !ResourceType+ , _tdKey :: !Text+ , _tdValue :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TagDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdResourceId'+--+-- * 'tdResourceType'+--+-- * 'tdKey'+--+-- * 'tdValue'+tagDescription+ :: Text -- ^ 'tdResourceId'+ -> ResourceType -- ^ 'tdResourceType'+ -> Text -- ^ 'tdKey'+ -> Text -- ^ 'tdValue'+ -> TagDescription+tagDescription pResourceId_ pResourceType_ pKey_ pValue_ =+ TagDescription'+ { _tdResourceId = pResourceId_+ , _tdResourceType = pResourceType_+ , _tdKey = pKey_+ , _tdValue = pValue_+ }++-- | The ID of the resource. For example, 'ami-1a2b3c4d'.+tdResourceId :: Lens' TagDescription Text+tdResourceId = lens _tdResourceId (\ s a -> s{_tdResourceId = a});++-- | The resource type.+tdResourceType :: Lens' TagDescription ResourceType+tdResourceType = lens _tdResourceType (\ s a -> s{_tdResourceType = a});++-- | The tag key.+tdKey :: Lens' TagDescription Text+tdKey = lens _tdKey (\ s a -> s{_tdKey = a});++-- | The tag value.+tdValue :: Lens' TagDescription Text+tdValue = lens _tdValue (\ s a -> s{_tdValue = a});++instance FromXML TagDescription where+ parseXML x+ = TagDescription' <$>+ (x .@ "resourceId") <*> (x .@ "resourceType") <*>+ (x .@ "key")+ <*> (x .@ "value")++instance Hashable TagDescription++-- | Information about items that were not successfully processed in a batch+-- call.+--+-- /See:/ 'unsuccessfulItem' smart constructor.+data UnsuccessfulItem = UnsuccessfulItem'+ { _uiResourceId :: !(Maybe Text)+ , _uiError :: !UnsuccessfulItemError+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnsuccessfulItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uiResourceId'+--+-- * 'uiError'+unsuccessfulItem+ :: UnsuccessfulItemError -- ^ 'uiError'+ -> UnsuccessfulItem+unsuccessfulItem pError_ =+ UnsuccessfulItem'+ { _uiResourceId = Nothing+ , _uiError = pError_+ }++-- | The ID of the resource.+uiResourceId :: Lens' UnsuccessfulItem (Maybe Text)+uiResourceId = lens _uiResourceId (\ s a -> s{_uiResourceId = a});++-- | Information about the error.+uiError :: Lens' UnsuccessfulItem UnsuccessfulItemError+uiError = lens _uiError (\ s a -> s{_uiError = a});++instance FromXML UnsuccessfulItem where+ parseXML x+ = UnsuccessfulItem' <$>+ (x .@? "resourceId") <*> (x .@ "error")++instance Hashable UnsuccessfulItem++-- | Information about the error that occurred. For more information about+-- errors, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html Error Codes>.+--+-- /See:/ 'unsuccessfulItemError' smart constructor.+data UnsuccessfulItemError = UnsuccessfulItemError'+ { _uieCode :: !Text+ , _uieMessage :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnsuccessfulItemError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uieCode'+--+-- * 'uieMessage'+unsuccessfulItemError+ :: Text -- ^ 'uieCode'+ -> Text -- ^ 'uieMessage'+ -> UnsuccessfulItemError+unsuccessfulItemError pCode_ pMessage_ =+ UnsuccessfulItemError'+ { _uieCode = pCode_+ , _uieMessage = pMessage_+ }++-- | The error code.+uieCode :: Lens' UnsuccessfulItemError Text+uieCode = lens _uieCode (\ s a -> s{_uieCode = a});++-- | The error message accompanying the error code.+uieMessage :: Lens' UnsuccessfulItemError Text+uieMessage = lens _uieMessage (\ s a -> s{_uieMessage = a});++instance FromXML UnsuccessfulItemError where+ parseXML x+ = UnsuccessfulItemError' <$>+ (x .@ "code") <*> (x .@ "message")++instance Hashable UnsuccessfulItemError++-- | Describes the S3 bucket for the disk image.+--+-- /See:/ 'userBucket' smart constructor.+data UserBucket = UserBucket'+ { _ubS3Key :: !(Maybe Text)+ , _ubS3Bucket :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ubS3Key'+--+-- * 'ubS3Bucket'+userBucket+ :: UserBucket+userBucket =+ UserBucket'+ { _ubS3Key = Nothing+ , _ubS3Bucket = Nothing+ }++-- | The file name of the disk image.+ubS3Key :: Lens' UserBucket (Maybe Text)+ubS3Key = lens _ubS3Key (\ s a -> s{_ubS3Key = a});++-- | The name of the S3 bucket where the disk image is located.+ubS3Bucket :: Lens' UserBucket (Maybe Text)+ubS3Bucket = lens _ubS3Bucket (\ s a -> s{_ubS3Bucket = a});++instance Hashable UserBucket++instance ToQuery UserBucket where+ toQuery UserBucket'{..}+ = mconcat+ ["S3Key" =: _ubS3Key, "S3Bucket" =: _ubS3Bucket]++-- | Describes the S3 bucket for the disk image.+--+-- /See:/ 'userBucketDetails' smart constructor.+data UserBucketDetails = UserBucketDetails'+ { _ubdS3Key :: !(Maybe Text)+ , _ubdS3Bucket :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserBucketDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ubdS3Key'+--+-- * 'ubdS3Bucket'+userBucketDetails+ :: UserBucketDetails+userBucketDetails =+ UserBucketDetails'+ { _ubdS3Key = Nothing+ , _ubdS3Bucket = Nothing+ }++-- | The file name of the disk image.+ubdS3Key :: Lens' UserBucketDetails (Maybe Text)+ubdS3Key = lens _ubdS3Key (\ s a -> s{_ubdS3Key = a});++-- | The S3 bucket from which the disk image was created.+ubdS3Bucket :: Lens' UserBucketDetails (Maybe Text)+ubdS3Bucket = lens _ubdS3Bucket (\ s a -> s{_ubdS3Bucket = a});++instance FromXML UserBucketDetails where+ parseXML x+ = UserBucketDetails' <$>+ (x .@? "s3Key") <*> (x .@? "s3Bucket")++instance Hashable UserBucketDetails++-- | Describes the user data to be made available to an instance.+--+-- /See:/ 'userData' smart constructor.+newtype UserData = UserData'+ { _udData :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udData'+userData+ :: UserData+userData =+ UserData'+ { _udData = Nothing+ }++-- | The Base64-encoded MIME user data for the instance.+udData :: Lens' UserData (Maybe Text)+udData = lens _udData (\ s a -> s{_udData = a});++instance Hashable UserData++instance ToQuery UserData where+ toQuery UserData'{..} = mconcat ["Data" =: _udData]++-- | Describes a security group and AWS account ID pair.+--+-- /See:/ 'userIdGroupPair' smart constructor.+data UserIdGroupPair = UserIdGroupPair'+ { _uigpVPCPeeringConnectionId :: !(Maybe Text)+ , _uigpVPCId :: !(Maybe Text)+ , _uigpUserId :: !(Maybe Text)+ , _uigpGroupId :: !(Maybe Text)+ , _uigpGroupName :: !(Maybe Text)+ , _uigpPeeringStatus :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserIdGroupPair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uigpVPCPeeringConnectionId'+--+-- * 'uigpVPCId'+--+-- * 'uigpUserId'+--+-- * 'uigpGroupId'+--+-- * 'uigpGroupName'+--+-- * 'uigpPeeringStatus'+userIdGroupPair+ :: UserIdGroupPair+userIdGroupPair =+ UserIdGroupPair'+ { _uigpVPCPeeringConnectionId = Nothing+ , _uigpVPCId = Nothing+ , _uigpUserId = Nothing+ , _uigpGroupId = Nothing+ , _uigpGroupName = Nothing+ , _uigpPeeringStatus = Nothing+ }++-- | The ID of the VPC peering connection, if applicable.+uigpVPCPeeringConnectionId :: Lens' UserIdGroupPair (Maybe Text)+uigpVPCPeeringConnectionId = lens _uigpVPCPeeringConnectionId (\ s a -> s{_uigpVPCPeeringConnectionId = a});++-- | The ID of the VPC for the referenced security group, if applicable.+uigpVPCId :: Lens' UserIdGroupPair (Maybe Text)+uigpVPCId = lens _uigpVPCId (\ s a -> s{_uigpVPCId = a});++-- | The ID of an AWS account.+uigpUserId :: Lens' UserIdGroupPair (Maybe Text)+uigpUserId = lens _uigpUserId (\ s a -> s{_uigpUserId = a});++-- | The ID of the security group.+uigpGroupId :: Lens' UserIdGroupPair (Maybe Text)+uigpGroupId = lens _uigpGroupId (\ s a -> s{_uigpGroupId = a});++-- | The name of the security group. In a request, use this parameter for a+-- security group in EC2-Classic or a default VPC only. For a security+-- group in a nondefault VPC, use 'GroupId'.+uigpGroupName :: Lens' UserIdGroupPair (Maybe Text)+uigpGroupName = lens _uigpGroupName (\ s a -> s{_uigpGroupName = a});++-- | The status of a VPC peering connection, if applicable.+uigpPeeringStatus :: Lens' UserIdGroupPair (Maybe Text)+uigpPeeringStatus = lens _uigpPeeringStatus (\ s a -> s{_uigpPeeringStatus = a});++instance FromXML UserIdGroupPair where+ parseXML x+ = UserIdGroupPair' <$>+ (x .@? "vpcPeeringConnectionId") <*> (x .@? "vpcId")+ <*> (x .@? "userId")+ <*> (x .@? "groupId")+ <*> (x .@? "groupName")+ <*> (x .@? "peeringStatus")++instance Hashable UserIdGroupPair++instance ToQuery UserIdGroupPair where+ toQuery UserIdGroupPair'{..}+ = mconcat+ ["VpcPeeringConnectionId" =:+ _uigpVPCPeeringConnectionId,+ "VpcId" =: _uigpVPCId, "UserId" =: _uigpUserId,+ "GroupId" =: _uigpGroupId,+ "GroupName" =: _uigpGroupName,+ "PeeringStatus" =: _uigpPeeringStatus]++-- | Describes telemetry for a VPN tunnel.+--+-- /See:/ 'vgwTelemetry' smart constructor.+data VGWTelemetry = VGWTelemetry'+ { _vtStatus :: !(Maybe TelemetryStatus)+ , _vtOutsideIPAddress :: !(Maybe Text)+ , _vtLastStatusChange :: !(Maybe ISO8601)+ , _vtAcceptedRouteCount :: !(Maybe Int)+ , _vtStatusMessage :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VGWTelemetry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtStatus'+--+-- * 'vtOutsideIPAddress'+--+-- * 'vtLastStatusChange'+--+-- * 'vtAcceptedRouteCount'+--+-- * 'vtStatusMessage'+vgwTelemetry+ :: VGWTelemetry+vgwTelemetry =+ VGWTelemetry'+ { _vtStatus = Nothing+ , _vtOutsideIPAddress = Nothing+ , _vtLastStatusChange = Nothing+ , _vtAcceptedRouteCount = Nothing+ , _vtStatusMessage = Nothing+ }++-- | The status of the VPN tunnel.+vtStatus :: Lens' VGWTelemetry (Maybe TelemetryStatus)+vtStatus = lens _vtStatus (\ s a -> s{_vtStatus = a});++-- | The Internet-routable IP address of the virtual private gateway\'s+-- outside interface.+vtOutsideIPAddress :: Lens' VGWTelemetry (Maybe Text)+vtOutsideIPAddress = lens _vtOutsideIPAddress (\ s a -> s{_vtOutsideIPAddress = a});++-- | The date and time of the last change in status.+vtLastStatusChange :: Lens' VGWTelemetry (Maybe UTCTime)+vtLastStatusChange = lens _vtLastStatusChange (\ s a -> s{_vtLastStatusChange = a}) . mapping _Time;++-- | The number of accepted routes.+vtAcceptedRouteCount :: Lens' VGWTelemetry (Maybe Int)+vtAcceptedRouteCount = lens _vtAcceptedRouteCount (\ s a -> s{_vtAcceptedRouteCount = a});++-- | If an error occurs, a description of the error.+vtStatusMessage :: Lens' VGWTelemetry (Maybe Text)+vtStatusMessage = lens _vtStatusMessage (\ s a -> s{_vtStatusMessage = a});++instance FromXML VGWTelemetry where+ parseXML x+ = VGWTelemetry' <$>+ (x .@? "status") <*> (x .@? "outsideIpAddress") <*>+ (x .@? "lastStatusChange")+ <*> (x .@? "acceptedRouteCount")+ <*> (x .@? "statusMessage")++instance Hashable VGWTelemetry++-- | Describes a VPC.+--+-- /See:/ 'vpc' smart constructor.+data VPC = VPC'+ { _vpcTags :: !(Maybe [Tag])+ , _vpcIsDefault :: !(Maybe Bool)+ , _vpcCIdRBlock :: !Text+ , _vpcDHCPOptionsId :: !Text+ , _vpcInstanceTenancy :: !Tenancy+ , _vpcState :: !VPCState+ , _vpcVPCId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPC' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vpcTags'+--+-- * 'vpcIsDefault'+--+-- * 'vpcCIdRBlock'+--+-- * 'vpcDHCPOptionsId'+--+-- * 'vpcInstanceTenancy'+--+-- * 'vpcState'+--+-- * 'vpcVPCId'+vpc+ :: Text -- ^ 'vpcCIdRBlock'+ -> Text -- ^ 'vpcDHCPOptionsId'+ -> Tenancy -- ^ 'vpcInstanceTenancy'+ -> VPCState -- ^ 'vpcState'+ -> Text -- ^ 'vpcVPCId'+ -> VPC+vpc pCIdRBlock_ pDHCPOptionsId_ pInstanceTenancy_ pState_ pVPCId_ =+ VPC'+ { _vpcTags = Nothing+ , _vpcIsDefault = Nothing+ , _vpcCIdRBlock = pCIdRBlock_+ , _vpcDHCPOptionsId = pDHCPOptionsId_+ , _vpcInstanceTenancy = pInstanceTenancy_+ , _vpcState = pState_+ , _vpcVPCId = pVPCId_+ }++-- | Any tags assigned to the VPC.+vpcTags :: Lens' VPC [Tag]+vpcTags = lens _vpcTags (\ s a -> s{_vpcTags = a}) . _Default . _Coerce;++-- | Indicates whether the VPC is the default VPC.+vpcIsDefault :: Lens' VPC (Maybe Bool)+vpcIsDefault = lens _vpcIsDefault (\ s a -> s{_vpcIsDefault = a});++-- | The CIDR block for the VPC.+vpcCIdRBlock :: Lens' VPC Text+vpcCIdRBlock = lens _vpcCIdRBlock (\ s a -> s{_vpcCIdRBlock = a});++-- | The ID of the set of DHCP options you\'ve associated with the VPC (or+-- 'default' if the default options are associated with the VPC).+vpcDHCPOptionsId :: Lens' VPC Text+vpcDHCPOptionsId = lens _vpcDHCPOptionsId (\ s a -> s{_vpcDHCPOptionsId = a});++-- | The allowed tenancy of instances launched into the VPC.+vpcInstanceTenancy :: Lens' VPC Tenancy+vpcInstanceTenancy = lens _vpcInstanceTenancy (\ s a -> s{_vpcInstanceTenancy = a});++-- | The current state of the VPC.+vpcState :: Lens' VPC VPCState+vpcState = lens _vpcState (\ s a -> s{_vpcState = a});++-- | The ID of the VPC.+vpcVPCId :: Lens' VPC Text+vpcVPCId = lens _vpcVPCId (\ s a -> s{_vpcVPCId = a});++instance FromXML VPC where+ parseXML x+ = VPC' <$>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "isDefault")+ <*> (x .@ "cidrBlock")+ <*> (x .@ "dhcpOptionsId")+ <*> (x .@ "instanceTenancy")+ <*> (x .@ "state")+ <*> (x .@ "vpcId")++instance Hashable VPC++-- | Describes an attachment between a virtual private gateway and a VPC.+--+-- /See:/ 'vpcAttachment' smart constructor.+data VPCAttachment = VPCAttachment'+ { _vaState :: !(Maybe AttachmentStatus)+ , _vaVPCId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPCAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vaState'+--+-- * 'vaVPCId'+vpcAttachment+ :: VPCAttachment+vpcAttachment =+ VPCAttachment'+ { _vaState = Nothing+ , _vaVPCId = Nothing+ }++-- | The current state of the attachment.+vaState :: Lens' VPCAttachment (Maybe AttachmentStatus)+vaState = lens _vaState (\ s a -> s{_vaState = a});++-- | The ID of the VPC.+vaVPCId :: Lens' VPCAttachment (Maybe Text)+vaVPCId = lens _vaVPCId (\ s a -> s{_vaVPCId = a});++instance FromXML VPCAttachment where+ parseXML x+ = VPCAttachment' <$>+ (x .@? "state") <*> (x .@? "vpcId")++instance Hashable VPCAttachment++-- | Describes whether a VPC is enabled for ClassicLink.+--+-- /See:/ 'vpcClassicLink' smart constructor.+data VPCClassicLink = VPCClassicLink'+ { _vclVPCId :: !(Maybe Text)+ , _vclTags :: !(Maybe [Tag])+ , _vclClassicLinkEnabled :: !(Maybe Bool)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPCClassicLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vclVPCId'+--+-- * 'vclTags'+--+-- * 'vclClassicLinkEnabled'+vpcClassicLink+ :: VPCClassicLink+vpcClassicLink =+ VPCClassicLink'+ { _vclVPCId = Nothing+ , _vclTags = Nothing+ , _vclClassicLinkEnabled = Nothing+ }++-- | The ID of the VPC.+vclVPCId :: Lens' VPCClassicLink (Maybe Text)+vclVPCId = lens _vclVPCId (\ s a -> s{_vclVPCId = a});++-- | Any tags assigned to the VPC.+vclTags :: Lens' VPCClassicLink [Tag]+vclTags = lens _vclTags (\ s a -> s{_vclTags = a}) . _Default . _Coerce;++-- | Indicates whether the VPC is enabled for ClassicLink.+vclClassicLinkEnabled :: Lens' VPCClassicLink (Maybe Bool)+vclClassicLinkEnabled = lens _vclClassicLinkEnabled (\ s a -> s{_vclClassicLinkEnabled = a});++instance FromXML VPCClassicLink where+ parseXML x+ = VPCClassicLink' <$>+ (x .@? "vpcId") <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "classicLinkEnabled")++instance Hashable VPCClassicLink++-- | Describes a VPC endpoint.+--+-- /See:/ 'vpcEndpoint' smart constructor.+data VPCEndpoint = VPCEndpoint'+ { _veState :: !(Maybe State)+ , _vePolicyDocument :: !(Maybe Text)+ , _veVPCId :: !(Maybe Text)+ , _veCreationTimestamp :: !(Maybe ISO8601)+ , _veServiceName :: !(Maybe Text)+ , _veVPCEndpointId :: !(Maybe Text)+ , _veRouteTableIds :: !(Maybe [Text])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPCEndpoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'veState'+--+-- * 'vePolicyDocument'+--+-- * 'veVPCId'+--+-- * 'veCreationTimestamp'+--+-- * 'veServiceName'+--+-- * 'veVPCEndpointId'+--+-- * 'veRouteTableIds'+vpcEndpoint+ :: VPCEndpoint+vpcEndpoint =+ VPCEndpoint'+ { _veState = Nothing+ , _vePolicyDocument = Nothing+ , _veVPCId = Nothing+ , _veCreationTimestamp = Nothing+ , _veServiceName = Nothing+ , _veVPCEndpointId = Nothing+ , _veRouteTableIds = Nothing+ }++-- | The state of the VPC endpoint.+veState :: Lens' VPCEndpoint (Maybe State)+veState = lens _veState (\ s a -> s{_veState = a});++-- | The policy document associated with the endpoint.+vePolicyDocument :: Lens' VPCEndpoint (Maybe Text)+vePolicyDocument = lens _vePolicyDocument (\ s a -> s{_vePolicyDocument = a});++-- | The ID of the VPC to which the endpoint is associated.+veVPCId :: Lens' VPCEndpoint (Maybe Text)+veVPCId = lens _veVPCId (\ s a -> s{_veVPCId = a});++-- | The date and time the VPC endpoint was created.+veCreationTimestamp :: Lens' VPCEndpoint (Maybe UTCTime)+veCreationTimestamp = lens _veCreationTimestamp (\ s a -> s{_veCreationTimestamp = a}) . mapping _Time;++-- | The name of the AWS service to which the endpoint is associated.+veServiceName :: Lens' VPCEndpoint (Maybe Text)+veServiceName = lens _veServiceName (\ s a -> s{_veServiceName = a});++-- | The ID of the VPC endpoint.+veVPCEndpointId :: Lens' VPCEndpoint (Maybe Text)+veVPCEndpointId = lens _veVPCEndpointId (\ s a -> s{_veVPCEndpointId = a});++-- | One or more route tables associated with the endpoint.+veRouteTableIds :: Lens' VPCEndpoint [Text]+veRouteTableIds = lens _veRouteTableIds (\ s a -> s{_veRouteTableIds = a}) . _Default . _Coerce;++instance FromXML VPCEndpoint where+ parseXML x+ = VPCEndpoint' <$>+ (x .@? "state") <*> (x .@? "policyDocument") <*>+ (x .@? "vpcId")+ <*> (x .@? "creationTimestamp")+ <*> (x .@? "serviceName")+ <*> (x .@? "vpcEndpointId")+ <*>+ (x .@? "routeTableIdSet" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable VPCEndpoint++-- | Describes a VPC peering connection.+--+-- /See:/ 'vpcPeeringConnection' smart constructor.+data VPCPeeringConnection = VPCPeeringConnection'+ { _vpcpcVPCPeeringConnectionId :: !(Maybe Text)+ , _vpcpcStatus :: !(Maybe VPCPeeringConnectionStateReason)+ , _vpcpcAccepterVPCInfo :: !(Maybe VPCPeeringConnectionVPCInfo)+ , _vpcpcRequesterVPCInfo :: !(Maybe VPCPeeringConnectionVPCInfo)+ , _vpcpcExpirationTime :: !(Maybe ISO8601)+ , _vpcpcTags :: !(Maybe [Tag])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPCPeeringConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vpcpcVPCPeeringConnectionId'+--+-- * 'vpcpcStatus'+--+-- * 'vpcpcAccepterVPCInfo'+--+-- * 'vpcpcRequesterVPCInfo'+--+-- * 'vpcpcExpirationTime'+--+-- * 'vpcpcTags'+vpcPeeringConnection+ :: VPCPeeringConnection+vpcPeeringConnection =+ VPCPeeringConnection'+ { _vpcpcVPCPeeringConnectionId = Nothing+ , _vpcpcStatus = Nothing+ , _vpcpcAccepterVPCInfo = Nothing+ , _vpcpcRequesterVPCInfo = Nothing+ , _vpcpcExpirationTime = Nothing+ , _vpcpcTags = Nothing+ }++-- | The ID of the VPC peering connection.+vpcpcVPCPeeringConnectionId :: Lens' VPCPeeringConnection (Maybe Text)+vpcpcVPCPeeringConnectionId = lens _vpcpcVPCPeeringConnectionId (\ s a -> s{_vpcpcVPCPeeringConnectionId = a});++-- | The status of the VPC peering connection.+vpcpcStatus :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionStateReason)+vpcpcStatus = lens _vpcpcStatus (\ s a -> s{_vpcpcStatus = a});++-- | The information of the peer VPC.+vpcpcAccepterVPCInfo :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionVPCInfo)+vpcpcAccepterVPCInfo = lens _vpcpcAccepterVPCInfo (\ s a -> s{_vpcpcAccepterVPCInfo = a});++-- | The information of the requester VPC.+vpcpcRequesterVPCInfo :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionVPCInfo)+vpcpcRequesterVPCInfo = lens _vpcpcRequesterVPCInfo (\ s a -> s{_vpcpcRequesterVPCInfo = a});++-- | The time that an unaccepted VPC peering connection will expire.+vpcpcExpirationTime :: Lens' VPCPeeringConnection (Maybe UTCTime)+vpcpcExpirationTime = lens _vpcpcExpirationTime (\ s a -> s{_vpcpcExpirationTime = a}) . mapping _Time;++-- | Any tags assigned to the resource.+vpcpcTags :: Lens' VPCPeeringConnection [Tag]+vpcpcTags = lens _vpcpcTags (\ s a -> s{_vpcpcTags = a}) . _Default . _Coerce;++instance FromXML VPCPeeringConnection where+ parseXML x+ = VPCPeeringConnection' <$>+ (x .@? "vpcPeeringConnectionId") <*> (x .@? "status")+ <*> (x .@? "accepterVpcInfo")+ <*> (x .@? "requesterVpcInfo")+ <*> (x .@? "expirationTime")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable VPCPeeringConnection++-- | Describes the status of a VPC peering connection.+--+-- /See:/ 'vpcPeeringConnectionStateReason' smart constructor.+data VPCPeeringConnectionStateReason = VPCPeeringConnectionStateReason'+ { _vpcsrCode :: !(Maybe VPCPeeringConnectionStateReasonCode)+ , _vpcsrMessage :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPCPeeringConnectionStateReason' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vpcsrCode'+--+-- * 'vpcsrMessage'+vpcPeeringConnectionStateReason+ :: VPCPeeringConnectionStateReason+vpcPeeringConnectionStateReason =+ VPCPeeringConnectionStateReason'+ { _vpcsrCode = Nothing+ , _vpcsrMessage = Nothing+ }++-- | The status of the VPC peering connection.+vpcsrCode :: Lens' VPCPeeringConnectionStateReason (Maybe VPCPeeringConnectionStateReasonCode)+vpcsrCode = lens _vpcsrCode (\ s a -> s{_vpcsrCode = a});++-- | A message that provides more information about the status, if+-- applicable.+vpcsrMessage :: Lens' VPCPeeringConnectionStateReason (Maybe Text)+vpcsrMessage = lens _vpcsrMessage (\ s a -> s{_vpcsrMessage = a});++instance FromXML VPCPeeringConnectionStateReason+ where+ parseXML x+ = VPCPeeringConnectionStateReason' <$>+ (x .@? "code") <*> (x .@? "message")++instance Hashable VPCPeeringConnectionStateReason++-- | Describes a VPC in a VPC peering connection.+--+-- /See:/ 'vpcPeeringConnectionVPCInfo' smart constructor.+data VPCPeeringConnectionVPCInfo = VPCPeeringConnectionVPCInfo'+ { _vpcviVPCId :: !(Maybe Text)+ , _vpcviOwnerId :: !(Maybe Text)+ , _vpcviCIdRBlock :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPCPeeringConnectionVPCInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vpcviVPCId'+--+-- * 'vpcviOwnerId'+--+-- * 'vpcviCIdRBlock'+vpcPeeringConnectionVPCInfo+ :: VPCPeeringConnectionVPCInfo+vpcPeeringConnectionVPCInfo =+ VPCPeeringConnectionVPCInfo'+ { _vpcviVPCId = Nothing+ , _vpcviOwnerId = Nothing+ , _vpcviCIdRBlock = Nothing+ }++-- | The ID of the VPC.+vpcviVPCId :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)+vpcviVPCId = lens _vpcviVPCId (\ s a -> s{_vpcviVPCId = a});++-- | The AWS account ID of the VPC owner.+vpcviOwnerId :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)+vpcviOwnerId = lens _vpcviOwnerId (\ s a -> s{_vpcviOwnerId = a});++-- | The CIDR block for the VPC.+vpcviCIdRBlock :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)+vpcviCIdRBlock = lens _vpcviCIdRBlock (\ s a -> s{_vpcviCIdRBlock = a});++instance FromXML VPCPeeringConnectionVPCInfo where+ parseXML x+ = VPCPeeringConnectionVPCInfo' <$>+ (x .@? "vpcId") <*> (x .@? "ownerId") <*>+ (x .@? "cidrBlock")++instance Hashable VPCPeeringConnectionVPCInfo++-- | Describes a VPN connection.+--+-- /See:/ 'vpnConnection' smart constructor.+data VPNConnection = VPNConnection'+ { _vcCustomerGatewayConfiguration :: !(Maybe Text)+ , _vcRoutes :: !(Maybe [VPNStaticRoute])+ , _vcVPNGatewayId :: !(Maybe Text)+ , _vcOptions :: !(Maybe VPNConnectionOptions)+ , _vcTags :: !(Maybe [Tag])+ , _vcVGWTelemetry :: !(Maybe [VGWTelemetry])+ , _vcVPNConnectionId :: !Text+ , _vcCustomerGatewayId :: !Text+ , _vcState :: !VPNState+ , _vcType :: !GatewayType+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vcCustomerGatewayConfiguration'+--+-- * 'vcRoutes'+--+-- * 'vcVPNGatewayId'+--+-- * 'vcOptions'+--+-- * 'vcTags'+--+-- * 'vcVGWTelemetry'+--+-- * 'vcVPNConnectionId'+--+-- * 'vcCustomerGatewayId'+--+-- * 'vcState'+--+-- * 'vcType'+vpnConnection+ :: Text -- ^ 'vcVPNConnectionId'+ -> Text -- ^ 'vcCustomerGatewayId'+ -> VPNState -- ^ 'vcState'+ -> GatewayType -- ^ 'vcType'+ -> VPNConnection+vpnConnection pVPNConnectionId_ pCustomerGatewayId_ pState_ pType_ =+ VPNConnection'+ { _vcCustomerGatewayConfiguration = Nothing+ , _vcRoutes = Nothing+ , _vcVPNGatewayId = Nothing+ , _vcOptions = Nothing+ , _vcTags = Nothing+ , _vcVGWTelemetry = Nothing+ , _vcVPNConnectionId = pVPNConnectionId_+ , _vcCustomerGatewayId = pCustomerGatewayId_+ , _vcState = pState_+ , _vcType = pType_+ }++-- | The configuration information for the VPN connection\'s customer gateway+-- (in the native XML format). This element is always present in the+-- < CreateVpnConnection> response; however, it\'s present in the+-- < DescribeVpnConnections> response only if the VPN connection is in the+-- 'pending' or 'available' state.+vcCustomerGatewayConfiguration :: Lens' VPNConnection (Maybe Text)+vcCustomerGatewayConfiguration = lens _vcCustomerGatewayConfiguration (\ s a -> s{_vcCustomerGatewayConfiguration = a});++-- | The static routes associated with the VPN connection.+vcRoutes :: Lens' VPNConnection [VPNStaticRoute]+vcRoutes = lens _vcRoutes (\ s a -> s{_vcRoutes = a}) . _Default . _Coerce;++-- | The ID of the virtual private gateway at the AWS side of the VPN+-- connection.+vcVPNGatewayId :: Lens' VPNConnection (Maybe Text)+vcVPNGatewayId = lens _vcVPNGatewayId (\ s a -> s{_vcVPNGatewayId = a});++-- | The VPN connection options.+vcOptions :: Lens' VPNConnection (Maybe VPNConnectionOptions)+vcOptions = lens _vcOptions (\ s a -> s{_vcOptions = a});++-- | Any tags assigned to the VPN connection.+vcTags :: Lens' VPNConnection [Tag]+vcTags = lens _vcTags (\ s a -> s{_vcTags = a}) . _Default . _Coerce;++-- | Information about the VPN tunnel.+vcVGWTelemetry :: Lens' VPNConnection [VGWTelemetry]+vcVGWTelemetry = lens _vcVGWTelemetry (\ s a -> s{_vcVGWTelemetry = a}) . _Default . _Coerce;++-- | The ID of the VPN connection.+vcVPNConnectionId :: Lens' VPNConnection Text+vcVPNConnectionId = lens _vcVPNConnectionId (\ s a -> s{_vcVPNConnectionId = a});++-- | The ID of the customer gateway at your end of the VPN connection.+vcCustomerGatewayId :: Lens' VPNConnection Text+vcCustomerGatewayId = lens _vcCustomerGatewayId (\ s a -> s{_vcCustomerGatewayId = a});++-- | The current state of the VPN connection.+vcState :: Lens' VPNConnection VPNState+vcState = lens _vcState (\ s a -> s{_vcState = a});++-- | The type of VPN connection.+vcType :: Lens' VPNConnection GatewayType+vcType = lens _vcType (\ s a -> s{_vcType = a});++instance FromXML VPNConnection where+ parseXML x+ = VPNConnection' <$>+ (x .@? "customerGatewayConfiguration") <*>+ (x .@? "routes" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "vpnGatewayId")+ <*> (x .@? "options")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "vgwTelemetry" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "vpnConnectionId")+ <*> (x .@ "customerGatewayId")+ <*> (x .@ "state")+ <*> (x .@ "type")++instance Hashable VPNConnection++-- | Describes VPN connection options.+--+-- /See:/ 'vpnConnectionOptions' smart constructor.+newtype VPNConnectionOptions = VPNConnectionOptions'+ { _vcoStaticRoutesOnly :: Maybe Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNConnectionOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vcoStaticRoutesOnly'+vpnConnectionOptions+ :: VPNConnectionOptions+vpnConnectionOptions =+ VPNConnectionOptions'+ { _vcoStaticRoutesOnly = Nothing+ }++-- | Indicates whether the VPN connection uses static routes only. Static+-- routes must be used for devices that don\'t support BGP.+vcoStaticRoutesOnly :: Lens' VPNConnectionOptions (Maybe Bool)+vcoStaticRoutesOnly = lens _vcoStaticRoutesOnly (\ s a -> s{_vcoStaticRoutesOnly = a});++instance FromXML VPNConnectionOptions where+ parseXML x+ = VPNConnectionOptions' <$>+ (x .@? "staticRoutesOnly")++instance Hashable VPNConnectionOptions++-- | Describes VPN connection options.+--+-- /See:/ 'vpnConnectionOptionsSpecification' smart constructor.+newtype VPNConnectionOptionsSpecification = VPNConnectionOptionsSpecification'+ { _vcosStaticRoutesOnly :: Maybe Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNConnectionOptionsSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vcosStaticRoutesOnly'+vpnConnectionOptionsSpecification+ :: VPNConnectionOptionsSpecification+vpnConnectionOptionsSpecification =+ VPNConnectionOptionsSpecification'+ { _vcosStaticRoutesOnly = Nothing+ }++-- | Indicates whether the VPN connection uses static routes only. Static+-- routes must be used for devices that don\'t support BGP.+vcosStaticRoutesOnly :: Lens' VPNConnectionOptionsSpecification (Maybe Bool)+vcosStaticRoutesOnly = lens _vcosStaticRoutesOnly (\ s a -> s{_vcosStaticRoutesOnly = a});++instance Hashable VPNConnectionOptionsSpecification++instance ToQuery VPNConnectionOptionsSpecification+ where+ toQuery VPNConnectionOptionsSpecification'{..}+ = mconcat+ ["StaticRoutesOnly" =: _vcosStaticRoutesOnly]++-- | Describes a virtual private gateway.+--+-- /See:/ 'vpnGateway' smart constructor.+data VPNGateway = VPNGateway'+ { _vgState :: !(Maybe VPNState)+ , _vgVPCAttachments :: !(Maybe [VPCAttachment])+ , _vgVPNGatewayId :: !(Maybe Text)+ , _vgAvailabilityZone :: !(Maybe Text)+ , _vgType :: !(Maybe GatewayType)+ , _vgTags :: !(Maybe [Tag])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vgState'+--+-- * 'vgVPCAttachments'+--+-- * 'vgVPNGatewayId'+--+-- * 'vgAvailabilityZone'+--+-- * 'vgType'+--+-- * 'vgTags'+vpnGateway+ :: VPNGateway+vpnGateway =+ VPNGateway'+ { _vgState = Nothing+ , _vgVPCAttachments = Nothing+ , _vgVPNGatewayId = Nothing+ , _vgAvailabilityZone = Nothing+ , _vgType = Nothing+ , _vgTags = Nothing+ }++-- | The current state of the virtual private gateway.+vgState :: Lens' VPNGateway (Maybe VPNState)+vgState = lens _vgState (\ s a -> s{_vgState = a});++-- | Any VPCs attached to the virtual private gateway.+vgVPCAttachments :: Lens' VPNGateway [VPCAttachment]+vgVPCAttachments = lens _vgVPCAttachments (\ s a -> s{_vgVPCAttachments = a}) . _Default . _Coerce;++-- | The ID of the virtual private gateway.+vgVPNGatewayId :: Lens' VPNGateway (Maybe Text)+vgVPNGatewayId = lens _vgVPNGatewayId (\ s a -> s{_vgVPNGatewayId = a});++-- | The Availability Zone where the virtual private gateway was created, if+-- applicable. This field may be empty or not returned.+vgAvailabilityZone :: Lens' VPNGateway (Maybe Text)+vgAvailabilityZone = lens _vgAvailabilityZone (\ s a -> s{_vgAvailabilityZone = a});++-- | The type of VPN connection the virtual private gateway supports.+vgType :: Lens' VPNGateway (Maybe GatewayType)+vgType = lens _vgType (\ s a -> s{_vgType = a});++-- | Any tags assigned to the virtual private gateway.+vgTags :: Lens' VPNGateway [Tag]+vgTags = lens _vgTags (\ s a -> s{_vgTags = a}) . _Default . _Coerce;++instance FromXML VPNGateway where+ parseXML x+ = VPNGateway' <$>+ (x .@? "state") <*>+ (x .@? "attachments" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "vpnGatewayId")+ <*> (x .@? "availabilityZone")+ <*> (x .@? "type")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable VPNGateway++-- | Describes a static route for a VPN connection.+--+-- /See:/ 'vpnStaticRoute' smart constructor.+data VPNStaticRoute = VPNStaticRoute'+ { _vsrState :: !(Maybe VPNState)+ , _vsrSource :: !(Maybe VPNStaticRouteSource)+ , _vsrDestinationCIdRBlock :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNStaticRoute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsrState'+--+-- * 'vsrSource'+--+-- * 'vsrDestinationCIdRBlock'+vpnStaticRoute+ :: VPNStaticRoute+vpnStaticRoute =+ VPNStaticRoute'+ { _vsrState = Nothing+ , _vsrSource = Nothing+ , _vsrDestinationCIdRBlock = Nothing+ }++-- | The current state of the static route.+vsrState :: Lens' VPNStaticRoute (Maybe VPNState)+vsrState = lens _vsrState (\ s a -> s{_vsrState = a});++-- | Indicates how the routes were provided.+vsrSource :: Lens' VPNStaticRoute (Maybe VPNStaticRouteSource)+vsrSource = lens _vsrSource (\ s a -> s{_vsrSource = a});++-- | The CIDR block associated with the local subnet of the customer data+-- center.+vsrDestinationCIdRBlock :: Lens' VPNStaticRoute (Maybe Text)+vsrDestinationCIdRBlock = lens _vsrDestinationCIdRBlock (\ s a -> s{_vsrDestinationCIdRBlock = a});++instance FromXML VPNStaticRoute where+ parseXML x+ = VPNStaticRoute' <$>+ (x .@? "state") <*> (x .@? "source") <*>+ (x .@? "destinationCidrBlock")++instance Hashable VPNStaticRoute++-- | Describes a volume.+--+-- /See:/ 'volume' smart constructor.+data Volume = Volume'+ { _vAttachments :: !(Maybe [VolumeAttachment])+ , _vIOPS :: !(Maybe Int)+ , _vKMSKeyId :: !(Maybe Text)+ , _vTags :: !(Maybe [Tag])+ , _vAvailabilityZone :: !Text+ , _vCreateTime :: !ISO8601+ , _vEncrypted :: !Bool+ , _vSize :: !Int+ , _vSnapshotId :: !Text+ , _vState :: !VolumeState+ , _vVolumeId :: !Text+ , _vVolumeType :: !VolumeType+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Volume' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vAttachments'+--+-- * 'vIOPS'+--+-- * 'vKMSKeyId'+--+-- * 'vTags'+--+-- * 'vAvailabilityZone'+--+-- * 'vCreateTime'+--+-- * 'vEncrypted'+--+-- * 'vSize'+--+-- * 'vSnapshotId'+--+-- * 'vState'+--+-- * 'vVolumeId'+--+-- * 'vVolumeType'+volume+ :: Text -- ^ 'vAvailabilityZone'+ -> UTCTime -- ^ 'vCreateTime'+ -> Bool -- ^ 'vEncrypted'+ -> Int -- ^ 'vSize'+ -> Text -- ^ 'vSnapshotId'+ -> VolumeState -- ^ 'vState'+ -> Text -- ^ 'vVolumeId'+ -> VolumeType -- ^ 'vVolumeType'+ -> Volume+volume pAvailabilityZone_ pCreateTime_ pEncrypted_ pSize_ pSnapshotId_ pState_ pVolumeId_ pVolumeType_ =+ Volume'+ { _vAttachments = Nothing+ , _vIOPS = Nothing+ , _vKMSKeyId = Nothing+ , _vTags = Nothing+ , _vAvailabilityZone = pAvailabilityZone_+ , _vCreateTime = _Time # pCreateTime_+ , _vEncrypted = pEncrypted_+ , _vSize = pSize_+ , _vSnapshotId = pSnapshotId_+ , _vState = pState_+ , _vVolumeId = pVolumeId_+ , _vVolumeType = pVolumeType_+ }++-- | Information about the volume attachments.+vAttachments :: Lens' Volume [VolumeAttachment]+vAttachments = lens _vAttachments (\ s a -> s{_vAttachments = a}) . _Default . _Coerce;++-- | The number of I\/O operations per second (IOPS) that the volume+-- supports. For Provisioned IOPS (SSD) volumes, this represents the number+-- of IOPS that are provisioned for the volume. For General Purpose (SSD)+-- volumes, this represents the baseline performance of the volume and the+-- rate at which the volume accumulates I\/O credits for bursting. For more+-- information on General Purpose (SSD) baseline performance, I\/O credits,+-- and bursting, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html Amazon EBS Volume Types>+-- in the /Amazon Elastic Compute Cloud User Guide/.+--+-- Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and+-- 3 to 10000 for General Purpose (SSD) volumes.+--+-- Condition: This parameter is required for requests to create 'io1'+-- volumes; it is not used in requests to create 'standard' or 'gp2'+-- volumes.+vIOPS :: Lens' Volume (Maybe Int)+vIOPS = lens _vIOPS (\ s a -> s{_vIOPS = a});++-- | The full ARN of the AWS Key Management Service (AWS KMS) customer master+-- key (CMK) that was used to protect the volume encryption key for the+-- volume.+vKMSKeyId :: Lens' Volume (Maybe Text)+vKMSKeyId = lens _vKMSKeyId (\ s a -> s{_vKMSKeyId = a});++-- | Any tags assigned to the volume.+vTags :: Lens' Volume [Tag]+vTags = lens _vTags (\ s a -> s{_vTags = a}) . _Default . _Coerce;++-- | The Availability Zone for the volume.+vAvailabilityZone :: Lens' Volume Text+vAvailabilityZone = lens _vAvailabilityZone (\ s a -> s{_vAvailabilityZone = a});++-- | The time stamp when volume creation was initiated.+vCreateTime :: Lens' Volume UTCTime+vCreateTime = lens _vCreateTime (\ s a -> s{_vCreateTime = a}) . _Time;++-- | Indicates whether the volume will be encrypted.+vEncrypted :: Lens' Volume Bool+vEncrypted = lens _vEncrypted (\ s a -> s{_vEncrypted = a});++-- | The size of the volume, in GiBs.+vSize :: Lens' Volume Int+vSize = lens _vSize (\ s a -> s{_vSize = a});++-- | The snapshot from which the volume was created, if applicable.+vSnapshotId :: Lens' Volume Text+vSnapshotId = lens _vSnapshotId (\ s a -> s{_vSnapshotId = a});++-- | The volume state.+vState :: Lens' Volume VolumeState+vState = lens _vState (\ s a -> s{_vState = a});++-- | The ID of the volume.+vVolumeId :: Lens' Volume Text+vVolumeId = lens _vVolumeId (\ s a -> s{_vVolumeId = a});++-- | The volume type. This can be 'gp2' for General Purpose (SSD) volumes,+-- 'io1' for Provisioned IOPS (SSD) volumes, or 'standard' for Magnetic+-- volumes.+vVolumeType :: Lens' Volume VolumeType+vVolumeType = lens _vVolumeType (\ s a -> s{_vVolumeType = a});++instance FromXML Volume where+ parseXML x+ = Volume' <$>+ (x .@? "attachmentSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "iops")+ <*> (x .@? "kmsKeyId")+ <*>+ (x .@? "tagSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@ "availabilityZone")+ <*> (x .@ "createTime")+ <*> (x .@ "encrypted")+ <*> (x .@ "size")+ <*> (x .@ "snapshotId")+ <*> (x .@ "status")+ <*> (x .@ "volumeId")+ <*> (x .@ "volumeType")++instance Hashable Volume++-- | Describes volume attachment details.+--+-- /See:/ 'volumeAttachment' smart constructor.+data VolumeAttachment = VolumeAttachment'+ { _volInstanceId :: !(Maybe Text)+ , _volDeleteOnTermination :: !(Maybe Bool)+ , _volState :: !(Maybe VolumeAttachmentState)+ , _volDevice :: !(Maybe Text)+ , _volVolumeId :: !(Maybe Text)+ , _volAttachTime :: !(Maybe ISO8601)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'volInstanceId'+--+-- * 'volDeleteOnTermination'+--+-- * 'volState'+--+-- * 'volDevice'+--+-- * 'volVolumeId'+--+-- * 'volAttachTime'+volumeAttachment+ :: VolumeAttachment+volumeAttachment =+ VolumeAttachment'+ { _volInstanceId = Nothing+ , _volDeleteOnTermination = Nothing+ , _volState = Nothing+ , _volDevice = Nothing+ , _volVolumeId = Nothing+ , _volAttachTime = Nothing+ }++-- | The ID of the instance.+volInstanceId :: Lens' VolumeAttachment (Maybe Text)+volInstanceId = lens _volInstanceId (\ s a -> s{_volInstanceId = a});++-- | Indicates whether the EBS volume is deleted on instance termination.+volDeleteOnTermination :: Lens' VolumeAttachment (Maybe Bool)+volDeleteOnTermination = lens _volDeleteOnTermination (\ s a -> s{_volDeleteOnTermination = a});++-- | The attachment state of the volume.+volState :: Lens' VolumeAttachment (Maybe VolumeAttachmentState)+volState = lens _volState (\ s a -> s{_volState = a});++-- | The device name.+volDevice :: Lens' VolumeAttachment (Maybe Text)+volDevice = lens _volDevice (\ s a -> s{_volDevice = a});++-- | The ID of the volume.+volVolumeId :: Lens' VolumeAttachment (Maybe Text)+volVolumeId = lens _volVolumeId (\ s a -> s{_volVolumeId = a});++-- | The time stamp when the attachment initiated.+volAttachTime :: Lens' VolumeAttachment (Maybe UTCTime)+volAttachTime = lens _volAttachTime (\ s a -> s{_volAttachTime = a}) . mapping _Time;++instance FromXML VolumeAttachment where+ parseXML x+ = VolumeAttachment' <$>+ (x .@? "instanceId") <*>+ (x .@? "deleteOnTermination")+ <*> (x .@? "status")+ <*> (x .@? "device")+ <*> (x .@? "volumeId")+ <*> (x .@? "attachTime")++instance Hashable VolumeAttachment++-- | Describes an EBS volume.+--+-- /See:/ 'volumeDetail' smart constructor.+newtype VolumeDetail = VolumeDetail'+ { _vdSize :: Integer+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vdSize'+volumeDetail+ :: Integer -- ^ 'vdSize'+ -> VolumeDetail+volumeDetail pSize_ =+ VolumeDetail'+ { _vdSize = pSize_+ }++-- | The size of the volume, in GiB.+vdSize :: Lens' VolumeDetail Integer+vdSize = lens _vdSize (\ s a -> s{_vdSize = a});++instance Hashable VolumeDetail++instance ToQuery VolumeDetail where+ toQuery VolumeDetail'{..}+ = mconcat ["Size" =: _vdSize]++-- | Describes a volume status operation code.+--+-- /See:/ 'volumeStatusAction' smart constructor.+data VolumeStatusAction = VolumeStatusAction'+ { _vsaEventType :: !(Maybe Text)+ , _vsaCode :: !(Maybe Text)+ , _vsaDescription :: !(Maybe Text)+ , _vsaEventId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeStatusAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsaEventType'+--+-- * 'vsaCode'+--+-- * 'vsaDescription'+--+-- * 'vsaEventId'+volumeStatusAction+ :: VolumeStatusAction+volumeStatusAction =+ VolumeStatusAction'+ { _vsaEventType = Nothing+ , _vsaCode = Nothing+ , _vsaDescription = Nothing+ , _vsaEventId = Nothing+ }++-- | The event type associated with this operation.+vsaEventType :: Lens' VolumeStatusAction (Maybe Text)+vsaEventType = lens _vsaEventType (\ s a -> s{_vsaEventType = a});++-- | The code identifying the operation, for example, 'enable-volume-io'.+vsaCode :: Lens' VolumeStatusAction (Maybe Text)+vsaCode = lens _vsaCode (\ s a -> s{_vsaCode = a});++-- | A description of the operation.+vsaDescription :: Lens' VolumeStatusAction (Maybe Text)+vsaDescription = lens _vsaDescription (\ s a -> s{_vsaDescription = a});++-- | The ID of the event associated with this operation.+vsaEventId :: Lens' VolumeStatusAction (Maybe Text)+vsaEventId = lens _vsaEventId (\ s a -> s{_vsaEventId = a});++instance FromXML VolumeStatusAction where+ parseXML x+ = VolumeStatusAction' <$>+ (x .@? "eventType") <*> (x .@? "code") <*>+ (x .@? "description")+ <*> (x .@? "eventId")++instance Hashable VolumeStatusAction++-- | Describes a volume status.+--+-- /See:/ 'volumeStatusDetails' smart constructor.+data VolumeStatusDetails = VolumeStatusDetails'+ { _vsdStatus :: !(Maybe Text)+ , _vsdName :: !(Maybe VolumeStatusName)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeStatusDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsdStatus'+--+-- * 'vsdName'+volumeStatusDetails+ :: VolumeStatusDetails+volumeStatusDetails =+ VolumeStatusDetails'+ { _vsdStatus = Nothing+ , _vsdName = Nothing+ }++-- | The intended status of the volume status.+vsdStatus :: Lens' VolumeStatusDetails (Maybe Text)+vsdStatus = lens _vsdStatus (\ s a -> s{_vsdStatus = a});++-- | The name of the volume status.+vsdName :: Lens' VolumeStatusDetails (Maybe VolumeStatusName)+vsdName = lens _vsdName (\ s a -> s{_vsdName = a});++instance FromXML VolumeStatusDetails where+ parseXML x+ = VolumeStatusDetails' <$>+ (x .@? "status") <*> (x .@? "name")++instance Hashable VolumeStatusDetails++-- | Describes a volume status event.+--+-- /See:/ 'volumeStatusEvent' smart constructor.+data VolumeStatusEvent = VolumeStatusEvent'+ { _vseNotBefore :: !(Maybe ISO8601)+ , _vseEventType :: !(Maybe Text)+ , _vseDescription :: !(Maybe Text)+ , _vseNotAfter :: !(Maybe ISO8601)+ , _vseEventId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeStatusEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vseNotBefore'+--+-- * 'vseEventType'+--+-- * 'vseDescription'+--+-- * 'vseNotAfter'+--+-- * 'vseEventId'+volumeStatusEvent+ :: VolumeStatusEvent+volumeStatusEvent =+ VolumeStatusEvent'+ { _vseNotBefore = Nothing+ , _vseEventType = Nothing+ , _vseDescription = Nothing+ , _vseNotAfter = Nothing+ , _vseEventId = Nothing+ }++-- | The earliest start time of the event.+vseNotBefore :: Lens' VolumeStatusEvent (Maybe UTCTime)+vseNotBefore = lens _vseNotBefore (\ s a -> s{_vseNotBefore = a}) . mapping _Time;++-- | The type of this event.+vseEventType :: Lens' VolumeStatusEvent (Maybe Text)+vseEventType = lens _vseEventType (\ s a -> s{_vseEventType = a});++-- | A description of the event.+vseDescription :: Lens' VolumeStatusEvent (Maybe Text)+vseDescription = lens _vseDescription (\ s a -> s{_vseDescription = a});++-- | The latest end time of the event.+vseNotAfter :: Lens' VolumeStatusEvent (Maybe UTCTime)+vseNotAfter = lens _vseNotAfter (\ s a -> s{_vseNotAfter = a}) . mapping _Time;++-- | The ID of this event.+vseEventId :: Lens' VolumeStatusEvent (Maybe Text)+vseEventId = lens _vseEventId (\ s a -> s{_vseEventId = a});++instance FromXML VolumeStatusEvent where+ parseXML x+ = VolumeStatusEvent' <$>+ (x .@? "notBefore") <*> (x .@? "eventType") <*>+ (x .@? "description")+ <*> (x .@? "notAfter")+ <*> (x .@? "eventId")++instance Hashable VolumeStatusEvent++-- | Describes the status of a volume.+--+-- /See:/ 'volumeStatusInfo' smart constructor.+data VolumeStatusInfo = VolumeStatusInfo'+ { _vsiStatus :: !(Maybe VolumeStatusInfoStatus)+ , _vsiDetails :: !(Maybe [VolumeStatusDetails])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeStatusInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsiStatus'+--+-- * 'vsiDetails'+volumeStatusInfo+ :: VolumeStatusInfo+volumeStatusInfo =+ VolumeStatusInfo'+ { _vsiStatus = Nothing+ , _vsiDetails = Nothing+ }++-- | The status of the volume.+vsiStatus :: Lens' VolumeStatusInfo (Maybe VolumeStatusInfoStatus)+vsiStatus = lens _vsiStatus (\ s a -> s{_vsiStatus = a});++-- | The details of the volume status.+vsiDetails :: Lens' VolumeStatusInfo [VolumeStatusDetails]+vsiDetails = lens _vsiDetails (\ s a -> s{_vsiDetails = a}) . _Default . _Coerce;++instance FromXML VolumeStatusInfo where+ parseXML x+ = VolumeStatusInfo' <$>+ (x .@? "status") <*>+ (x .@? "details" .!@ mempty >>=+ may (parseXMLList "item"))++instance Hashable VolumeStatusInfo++-- | Describes the volume status.+--+-- /See:/ 'volumeStatusItem' smart constructor.+data VolumeStatusItem = VolumeStatusItem'+ { _vsiVolumeStatus :: !(Maybe VolumeStatusInfo)+ , _vsiActions :: !(Maybe [VolumeStatusAction])+ , _vsiEvents :: !(Maybe [VolumeStatusEvent])+ , _vsiAvailabilityZone :: !(Maybe Text)+ , _vsiVolumeId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeStatusItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsiVolumeStatus'+--+-- * 'vsiActions'+--+-- * 'vsiEvents'+--+-- * 'vsiAvailabilityZone'+--+-- * 'vsiVolumeId'+volumeStatusItem+ :: VolumeStatusItem+volumeStatusItem =+ VolumeStatusItem'+ { _vsiVolumeStatus = Nothing+ , _vsiActions = Nothing+ , _vsiEvents = Nothing+ , _vsiAvailabilityZone = Nothing+ , _vsiVolumeId = Nothing+ }++-- | The volume status.+vsiVolumeStatus :: Lens' VolumeStatusItem (Maybe VolumeStatusInfo)+vsiVolumeStatus = lens _vsiVolumeStatus (\ s a -> s{_vsiVolumeStatus = a});++-- | The details of the operation.+vsiActions :: Lens' VolumeStatusItem [VolumeStatusAction]+vsiActions = lens _vsiActions (\ s a -> s{_vsiActions = a}) . _Default . _Coerce;++-- | A list of events associated with the volume.+vsiEvents :: Lens' VolumeStatusItem [VolumeStatusEvent]+vsiEvents = lens _vsiEvents (\ s a -> s{_vsiEvents = a}) . _Default . _Coerce;++-- | The Availability Zone of the volume.+vsiAvailabilityZone :: Lens' VolumeStatusItem (Maybe Text)+vsiAvailabilityZone = lens _vsiAvailabilityZone (\ s a -> s{_vsiAvailabilityZone = a});++-- | The volume ID.+vsiVolumeId :: Lens' VolumeStatusItem (Maybe Text)+vsiVolumeId = lens _vsiVolumeId (\ s a -> s{_vsiVolumeId = a});++instance FromXML VolumeStatusItem where+ parseXML x+ = VolumeStatusItem' <$>+ (x .@? "volumeStatus") <*>+ (x .@? "actionsSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*>+ (x .@? "eventsSet" .!@ mempty >>=+ may (parseXMLList "item"))+ <*> (x .@? "availabilityZone")+ <*> (x .@? "volumeId")++instance Hashable VolumeStatusItem
gen/Network/AWS/EC2/Types/Sum.hs view
@@ -9,7 +9,7 @@ -- | -- Module : Network.AWS.EC2.Types.Sum--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -17,6 +17,7 @@ -- module Network.AWS.EC2.Types.Sum where +import Network.AWS.EC2.Internal import Network.AWS.Prelude data AccountAttributeName@@ -176,30 +177,33 @@ parseXML = parseXMLText "ArchitectureValues" data AttachmentStatus- = Attached- | Attaching- | Busy- | Detached- | Detaching+ = AAttached+ | AAttaching+ | AAvailable+ | ABusy+ | ADetached+ | ADetaching deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText AttachmentStatus where parser = takeLowerText >>= \case- "attached" -> pure Attached- "attaching" -> pure Attaching- "busy" -> pure Busy- "detached" -> pure Detached- "detaching" -> pure Detaching+ "attached" -> pure AAttached+ "attaching" -> pure AAttaching+ "available" -> pure AAvailable+ "busy" -> pure ABusy+ "detached" -> pure ADetached+ "detaching" -> pure ADetaching e -> fromTextError $ "Failure parsing AttachmentStatus from value: '" <> e- <> "'. Accepted values: attached, attaching, busy, detached, detaching"+ <> "'. Accepted values: attached, attaching, available, busy, detached, detaching" instance ToText AttachmentStatus where toText = \case- Attached -> "attached"- Attaching -> "attaching"- Busy -> "busy"- Detached -> "detached"- Detaching -> "detaching"+ AAttached -> "attached"+ AAttaching -> "attaching"+ AAvailable -> "available"+ ABusy -> "busy"+ ADetached -> "detached"+ ADetaching -> "detaching" instance Hashable AttachmentStatus instance ToByteString AttachmentStatus@@ -988,18 +992,21 @@ instance ToQuery InstanceAttributeName instance ToHeader InstanceAttributeName -data InstanceLifecycleType =- Spot+data InstanceLifecycleType+ = Scheduled+ | Spot deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText InstanceLifecycleType where parser = takeLowerText >>= \case+ "scheduled" -> pure Scheduled "spot" -> pure Spot e -> fromTextError $ "Failure parsing InstanceLifecycleType from value: '" <> e- <> "'. Accepted values: spot"+ <> "'. Accepted values: scheduled, spot" instance ToText InstanceLifecycleType where toText = \case+ Scheduled -> "scheduled" Spot -> "spot" instance Hashable InstanceLifecycleType@@ -1069,6 +1076,7 @@ | D2_8XLarge | D2_XLarge | G2_2XLarge+ | G2_8XLarge | HI1_4XLarge | HS1_8XLarge | I2_2XLarge@@ -1100,6 +1108,7 @@ | T2_Large | T2_Medium | T2_Micro+ | T2_Nano | T2_Small deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) @@ -1126,6 +1135,7 @@ "d2.8xlarge" -> pure D2_8XLarge "d2.xlarge" -> pure D2_XLarge "g2.2xlarge" -> pure G2_2XLarge+ "g2.8xlarge" -> pure G2_8XLarge "hi1.4xlarge" -> pure HI1_4XLarge "hs1.8xlarge" -> pure HS1_8XLarge "i2.2xlarge" -> pure I2_2XLarge@@ -1157,9 +1167,10 @@ "t2.large" -> pure T2_Large "t2.medium" -> pure T2_Medium "t2.micro" -> pure T2_Micro+ "t2.nano" -> pure T2_Nano "t2.small" -> pure T2_Small e -> fromTextError $ "Failure parsing InstanceType from value: '" <> e- <> "'. Accepted values: c1.medium, c1.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c3.large, c3.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c4.large, c4.xlarge, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge, cr1.8xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, d2.xlarge, g2.2xlarge, hi1.4xlarge, hs1.8xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i2.xlarge, m1.large, m1.medium, m1.small, m1.xlarge, m2.2xlarge, m2.4xlarge, m2.xlarge, m3.2xlarge, m3.large, m3.medium, m3.xlarge, m4.10xlarge, m4.2xlarge, m4.4xlarge, m4.large, m4.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r3.large, r3.xlarge, t1.micro, t2.large, t2.medium, t2.micro, t2.small"+ <> "'. Accepted values: c1.medium, c1.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c3.large, c3.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c4.large, c4.xlarge, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge, cr1.8xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, d2.xlarge, g2.2xlarge, g2.8xlarge, hi1.4xlarge, hs1.8xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i2.xlarge, m1.large, m1.medium, m1.small, m1.xlarge, m2.2xlarge, m2.4xlarge, m2.xlarge, m3.2xlarge, m3.large, m3.medium, m3.xlarge, m4.10xlarge, m4.2xlarge, m4.4xlarge, m4.large, m4.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r3.large, r3.xlarge, t1.micro, t2.large, t2.medium, t2.micro, t2.nano, t2.small" instance ToText InstanceType where toText = \case@@ -1184,6 +1195,7 @@ D2_8XLarge -> "d2.8xlarge" D2_XLarge -> "d2.xlarge" G2_2XLarge -> "g2.2xlarge"+ G2_8XLarge -> "g2.8xlarge" HI1_4XLarge -> "hi1.4xlarge" HS1_8XLarge -> "hs1.8xlarge" I2_2XLarge -> "i2.2xlarge"@@ -1215,6 +1227,7 @@ T2_Large -> "t2.large" T2_Medium -> "t2.medium" T2_Micro -> "t2.micro"+ T2_Nano -> "t2.nano" T2_Small -> "t2.small" instance Hashable InstanceType@@ -2485,30 +2498,30 @@ parseXML = parseXMLText "VirtualizationType" data VolumeAttachmentState- = VASAttached- | VASAttaching- | VASBusy- | VASDetached- | VASDetaching+ = VAttached+ | VAttaching+ | VBusy+ | VDetached+ | VDetaching deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText VolumeAttachmentState where parser = takeLowerText >>= \case- "attached" -> pure VASAttached- "attaching" -> pure VASAttaching- "busy" -> pure VASBusy- "detached" -> pure VASDetached- "detaching" -> pure VASDetaching+ "attached" -> pure VAttached+ "attaching" -> pure VAttaching+ "busy" -> pure VBusy+ "detached" -> pure VDetached+ "detaching" -> pure VDetaching e -> fromTextError $ "Failure parsing VolumeAttachmentState from value: '" <> e <> "'. Accepted values: attached, attaching, busy, detached, detaching" instance ToText VolumeAttachmentState where toText = \case- VASAttached -> "attached"- VASAttaching -> "attaching"- VASBusy -> "busy"- VASDetached -> "detached"- VASDetaching -> "detaching"+ VAttached -> "attached"+ VAttaching -> "attaching"+ VBusy -> "busy"+ VDetached -> "detached"+ VDetaching -> "detaching" instance Hashable VolumeAttachmentState instance ToByteString VolumeAttachmentState
gen/Network/AWS/EC2/UnassignPrivateIPAddresses.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.UnassignPrivateIPAddresses--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -20,8 +20,6 @@ -- -- Unassigns one or more secondary private IP addresses from a network -- interface.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-UnassignPrivateIPAddresses.html AWS API Reference> for UnassignPrivateIPAddresses. module Network.AWS.EC2.UnassignPrivateIPAddresses ( -- * Creating a Request@@ -78,9 +76,11 @@ instance AWSRequest UnassignPrivateIPAddresses where type Rs UnassignPrivateIPAddresses = UnassignPrivateIPAddressesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveNull UnassignPrivateIPAddressesResponse'++instance Hashable UnassignPrivateIPAddresses instance ToHeaders UnassignPrivateIPAddresses where toHeaders = const mempty
gen/Network/AWS/EC2/UnmonitorInstances.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.EC2.UnmonitorInstances--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,8 +22,6 @@ -- monitoring instances, see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html Monitoring Your Instances and Volumes> -- in the /Amazon Elastic Compute Cloud User Guide/.------ /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-UnmonitorInstances.html AWS API Reference> for UnmonitorInstances. module Network.AWS.EC2.UnmonitorInstances ( -- * Creating a Request@@ -83,7 +81,7 @@ instance AWSRequest UnmonitorInstances where type Rs UnmonitorInstances = UnmonitorInstancesResponse- request = postQuery eC2+ request = postQuery ec2 response = receiveXML (\ s h x ->@@ -91,6 +89,8 @@ (x .@? "instancesSet" .!@ mempty >>= may (parseXMLList "item")) <*> (pure (fromEnum s)))++instance Hashable UnmonitorInstances instance ToHeaders UnmonitorInstances where toHeaders = const mempty
gen/Network/AWS/EC2/Waiters.hs view
@@ -7,7 +7,7 @@ -- | -- Module : Network.AWS.EC2.Waiters--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -29,12 +29,15 @@ import Network.AWS.EC2.DescribeInstances import Network.AWS.EC2.DescribeInstanceStatus import Network.AWS.EC2.DescribeInstanceStatus+import Network.AWS.EC2.DescribeNatGateways+import Network.AWS.EC2.DescribeNetworkInterfaces import Network.AWS.EC2.DescribeSnapshots import Network.AWS.EC2.DescribeSpotInstanceRequests import Network.AWS.EC2.DescribeSubnets import Network.AWS.EC2.DescribeVolumes import Network.AWS.EC2.DescribeVolumes import Network.AWS.EC2.DescribeVolumes+import Network.AWS.EC2.DescribeVPCPeeringConnections import Network.AWS.EC2.DescribeVPCs import Network.AWS.EC2.DescribeVPNConnections import Network.AWS.EC2.DescribeVPNConnections@@ -92,6 +95,37 @@ vState . to toTextCI)] } +-- | Polls 'Network.AWS.EC2.DescribeNatGateways' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+natGatewayAvailable :: Wait DescribeNatGateways+natGatewayAvailable =+ Wait+ { _waitName = "NatGatewayAvailable"+ , _waitAttempts = 40+ , _waitDelay = 15+ , _waitAcceptors = [ matchAll+ "available"+ AcceptSuccess+ (folding (concatOf dngrsNatGateways) .+ ngState . _Just . to toTextCI)+ , matchAny+ "failed"+ AcceptFailure+ (folding (concatOf dngrsNatGateways) .+ ngState . _Just . to toTextCI)+ , matchAny+ "deleting"+ AcceptFailure+ (folding (concatOf dngrsNatGateways) .+ ngState . _Just . to toTextCI)+ , matchAny+ "deleted"+ AcceptFailure+ (folding (concatOf dngrsNatGateways) .+ ngState . _Just . to toTextCI)+ , matchError "InvalidNatGatewayIDNotFound" AcceptRetry]+ }+ -- | Polls 'Network.AWS.EC2.DescribeSubnets' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. subnetAvailable :: Wait DescribeSubnets@@ -107,6 +141,24 @@ subState . to toTextCI)] } +-- | Polls 'Network.AWS.EC2.DescribeNetworkInterfaces' every 20 seconds until a+-- successful state is reached. An error is returned after 10 failed checks.+networkInterfaceAvailable :: Wait DescribeNetworkInterfaces+networkInterfaceAvailable =+ Wait+ { _waitName = "NetworkInterfaceAvailable"+ , _waitAttempts = 10+ , _waitDelay = 20+ , _waitAcceptors = [ matchAll+ "available"+ AcceptSuccess+ (folding (concatOf dnirsNetworkInterfaces) .+ niStatus . _Just . to toTextCI)+ , matchError+ "InvalidNetworkInterfaceIDNotFound"+ AcceptFailure]+ }+ -- | Polls 'Network.AWS.EC2.DescribeInstanceStatus' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. systemStatusOK :: Wait DescribeInstanceStatus@@ -260,7 +312,8 @@ AcceptFailure (folding (concatOf dirsReservations) . folding (concatOf rInstances) .- insState . isName . to toTextCI)]+ insState . isName . to toTextCI)+ , matchError "InvalidInstanceIDNotFound" AcceptRetry] } -- | Polls 'Network.AWS.EC2.DescribeSpotInstanceRequests' every 15 seconds until a@@ -459,6 +512,20 @@ iState . to toTextCI)] } +-- | Polls 'Network.AWS.EC2.DescribeVPCPeeringConnections' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+vpcPeeringConnectionExists :: Wait DescribeVPCPeeringConnections+vpcPeeringConnectionExists =+ Wait+ { _waitName = "VpcPeeringConnectionExists"+ , _waitAttempts = 40+ , _waitDelay = 15+ , _waitAcceptors = [ matchStatus 200 AcceptSuccess+ , matchError+ "InvalidVpcPeeringConnectionIDNotFound"+ AcceptRetry]+ }+ -- | Polls 'Network.AWS.EC2.DescribeSnapshots' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. snapshotCompleted :: Wait DescribeSnapshots@@ -499,7 +566,8 @@ AcceptSuccess (folding (concatOf disrsInstanceStatuses) . isInstanceStatus .- _Just . issStatus . to toTextCI)]+ _Just . issStatus . to toTextCI)+ , matchError "InvalidInstanceIDNotFound" AcceptRetry] } -- | Polls 'Network.AWS.EC2.DescribeVolumes' every 15 seconds until a
+ src/Network/AWS/EC2/Internal.hs view
@@ -0,0 +1,52 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++-- |+-- Module : Network.AWS.EC2.Internal+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.EC2.Internal where++import Network.AWS.Lens+import Network.AWS.Prelude++-- | Custom 'Tag' type which has an optional value component.+--+-- /See:/ 'tag' smart constructor.+data DeleteTag = DeleteTag+ { _deleteTagKey :: !Text+ , _deleteTagValue :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)++deleteTag :: Text -- ^ 'deleteTagKey'+ -> DeleteTag+deleteTag k = DeleteTag k Nothing++-- | The key of the tag to delete.+--+-- Constraints: Tag keys are case-sensitive and accept a maximum of 127+-- Unicode characters. May not begin with 'aws:'+deleteTagKey :: Lens' DeleteTag Text+deleteTagKey = lens _deleteTagKey (\s a -> s { _deleteTagKey = a })++-- | The optional value of the tag to delete.+--+-- Constraints: Tag values are case-sensitive and accept a maximum of 255+-- Unicode characters.+deleteTagValue :: Lens' DeleteTag (Maybe Text)+deleteTagValue = lens _deleteTagValue (\ s a -> s{_deleteTagValue = a});++instance FromXML DeleteTag where+ parseXML x = DeleteTag <$> (x .@ "key") <*> (x .@? "value")++instance ToQuery DeleteTag where+ toQuery DeleteTag {..} = mconcat+ [ "Key" =: _deleteTagKey+ , "Value" =: _deleteTagValue+ ]
test/Main.hs view
@@ -2,7 +2,7 @@ -- | -- Module : Main--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated
test/Test/AWS/EC2.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Test.AWS.EC2--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : experimental@@ -97,7 +97,7 @@ & ibdmEBS ?~ (ebsInstanceBlockDevice & eibdDeleteOnTermination ?~ True- & eibdStatus ?~ Attached+ & eibdStatus ?~ AAttached & eibdVolumeId ?~ "vol-1a2b3c4d" & eibdAttachTime ?~ $(mkTime "2014-03-18T21:47:02+0000")) ]@@ -116,7 +116,7 @@ & iniAttachment ?~ (instanceNetworkInterfaceAttachment & iniaDeleteOnTermination ?~ True- & iniaStatus ?~ Attached+ & iniaStatus ?~ AAttached & iniaAttachmentId ?~ "eni-attach-1a2b3c4d" & iniaAttachTime ?~ $(mkTime "2014-03-18T21:47:02+0000") & iniaDeviceIndex ?~ 0)
test/Test/AWS/EC2/Internal.hs view
@@ -2,7 +2,7 @@ {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- Module : Test.AWS.EC2.Internal--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : This Source Code Form is subject to the terms of -- the Mozilla Public License, v. 2.0. -- A copy of the MPL can be found in the LICENSE file or
test/Test/AWS/Gen/EC2.hs view
@@ -5,7 +5,7 @@ -- | -- Module : Test.AWS.Gen.EC2--- Copyright : (c) 2013-2015 Brendan Hay+-- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -97,6 +97,12 @@ -- , testAttachClassicLinkVPC $ -- attachClassicLinkVPC --+-- , testDescribeVPCClassicLinkDNSSupport $+-- describeVPCClassicLinkDNSSupport+--+-- , testRunScheduledInstances $+-- runScheduledInstances+-- -- , testCancelSpotFleetRequests $ -- cancelSpotFleetRequests --@@ -235,6 +241,9 @@ -- , testDescribeConversionTasks $ -- describeConversionTasks --+-- , testDisableVPCClassicLinkDNSSupport $+-- disableVPCClassicLinkDNSSupport+-- -- , testAllocateAddress $ -- allocateAddress --@@ -277,9 +286,15 @@ -- , testRevokeSecurityGroupIngress $ -- revokeSecurityGroupIngress --+-- , testEnableVPCClassicLinkDNSSupport $+-- enableVPCClassicLinkDNSSupport+-- -- , testModifyReservedInstances $ -- modifyReservedInstances --+-- , testDescribeScheduledInstances $+-- describeScheduledInstances+-- -- , testCreateFlowLogs $ -- createFlowLogs --@@ -328,6 +343,9 @@ -- , testCreateVolume $ -- createVolume --+-- , testDescribeScheduledInstanceAvailability $+-- describeScheduledInstanceAvailability+-- -- , testModifyVolumeAttribute $ -- modifyVolumeAttribute --@@ -475,6 +493,9 @@ -- , testDescribePlacementGroups $ -- describePlacementGroups --+-- , testPurchaseScheduledInstances $+-- purchaseScheduledInstances+-- -- , testEnableVGWRoutePropagation $ -- enableVGWRoutePropagation --@@ -679,6 +700,12 @@ -- , testAttachClassicLinkVPCResponse $ -- attachClassicLinkVPCResponse --+-- , testDescribeVPCClassicLinkDNSSupportResponse $+-- describeVPCClassicLinkDNSSupportResponse+--+-- , testRunScheduledInstancesResponse $+-- runScheduledInstancesResponse+-- -- , testCancelSpotFleetRequestsResponse $ -- cancelSpotFleetRequestsResponse --@@ -817,6 +844,9 @@ -- , testDescribeConversionTasksResponse $ -- describeConversionTasksResponse --+-- , testDisableVPCClassicLinkDNSSupportResponse $+-- disableVPCClassicLinkDNSSupportResponse+-- -- , testAllocateAddressResponse $ -- allocateAddressResponse --@@ -859,9 +889,15 @@ -- , testRevokeSecurityGroupIngressResponse $ -- revokeSecurityGroupIngressResponse --+-- , testEnableVPCClassicLinkDNSSupportResponse $+-- enableVPCClassicLinkDNSSupportResponse+-- -- , testModifyReservedInstancesResponse $ -- modifyReservedInstancesResponse --+-- , testDescribeScheduledInstancesResponse $+-- describeScheduledInstancesResponse+-- -- , testCreateFlowLogsResponse $ -- createFlowLogsResponse --@@ -910,6 +946,9 @@ -- , testCreateVolumeResponse $ -- volume --+-- , testDescribeScheduledInstanceAvailabilityResponse $+-- describeScheduledInstanceAvailabilityResponse+-- -- , testModifyVolumeAttributeResponse $ -- modifyVolumeAttributeResponse --@@ -1057,6 +1096,9 @@ -- , testDescribePlacementGroupsResponse $ -- describePlacementGroupsResponse --+-- , testPurchaseScheduledInstancesResponse $+-- purchaseScheduledInstancesResponse+-- -- , testEnableVGWRoutePropagationResponse $ -- enableVGWRoutePropagationResponse --@@ -1309,6 +1351,16 @@ "AttachClassicLinkVPC" "fixture/AttachClassicLinkVPC.yaml" +testDescribeVPCClassicLinkDNSSupport :: DescribeVPCClassicLinkDNSSupport -> TestTree+testDescribeVPCClassicLinkDNSSupport = req+ "DescribeVPCClassicLinkDNSSupport"+ "fixture/DescribeVPCClassicLinkDNSSupport.yaml"++testRunScheduledInstances :: RunScheduledInstances -> TestTree+testRunScheduledInstances = req+ "RunScheduledInstances"+ "fixture/RunScheduledInstances.yaml"+ testCancelSpotFleetRequests :: CancelSpotFleetRequests -> TestTree testCancelSpotFleetRequests = req "CancelSpotFleetRequests"@@ -1539,6 +1591,11 @@ "DescribeConversionTasks" "fixture/DescribeConversionTasks.yaml" +testDisableVPCClassicLinkDNSSupport :: DisableVPCClassicLinkDNSSupport -> TestTree+testDisableVPCClassicLinkDNSSupport = req+ "DisableVPCClassicLinkDNSSupport"+ "fixture/DisableVPCClassicLinkDNSSupport.yaml"+ testAllocateAddress :: AllocateAddress -> TestTree testAllocateAddress = req "AllocateAddress"@@ -1609,11 +1666,21 @@ "RevokeSecurityGroupIngress" "fixture/RevokeSecurityGroupIngress.yaml" +testEnableVPCClassicLinkDNSSupport :: EnableVPCClassicLinkDNSSupport -> TestTree+testEnableVPCClassicLinkDNSSupport = req+ "EnableVPCClassicLinkDNSSupport"+ "fixture/EnableVPCClassicLinkDNSSupport.yaml"+ testModifyReservedInstances :: ModifyReservedInstances -> TestTree testModifyReservedInstances = req "ModifyReservedInstances" "fixture/ModifyReservedInstances.yaml" +testDescribeScheduledInstances :: DescribeScheduledInstances -> TestTree+testDescribeScheduledInstances = req+ "DescribeScheduledInstances"+ "fixture/DescribeScheduledInstances.yaml"+ testCreateFlowLogs :: CreateFlowLogs -> TestTree testCreateFlowLogs = req "CreateFlowLogs"@@ -1694,6 +1761,11 @@ "CreateVolume" "fixture/CreateVolume.yaml" +testDescribeScheduledInstanceAvailability :: DescribeScheduledInstanceAvailability -> TestTree+testDescribeScheduledInstanceAvailability = req+ "DescribeScheduledInstanceAvailability"+ "fixture/DescribeScheduledInstanceAvailability.yaml"+ testModifyVolumeAttribute :: ModifyVolumeAttribute -> TestTree testModifyVolumeAttribute = req "ModifyVolumeAttribute"@@ -1939,6 +2011,11 @@ "DescribePlacementGroups" "fixture/DescribePlacementGroups.yaml" +testPurchaseScheduledInstances :: PurchaseScheduledInstances -> TestTree+testPurchaseScheduledInstances = req+ "PurchaseScheduledInstances"+ "fixture/PurchaseScheduledInstances.yaml"+ testEnableVGWRoutePropagation :: EnableVGWRoutePropagation -> TestTree testEnableVGWRoutePropagation = req "EnableVGWRoutePropagation"@@ -2165,1349 +2242,1398 @@ testImportInstanceResponse = res "ImportInstanceResponse" "fixture/ImportInstanceResponse.proto"- eC2+ ec2 (Proxy :: Proxy ImportInstance) testRevokeSecurityGroupEgressResponse :: RevokeSecurityGroupEgressResponse -> TestTree testRevokeSecurityGroupEgressResponse = res "RevokeSecurityGroupEgressResponse" "fixture/RevokeSecurityGroupEgressResponse.proto"- eC2+ ec2 (Proxy :: Proxy RevokeSecurityGroupEgress) testCreateVPNGatewayResponse :: CreateVPNGatewayResponse -> TestTree testCreateVPNGatewayResponse = res "CreateVPNGatewayResponse" "fixture/CreateVPNGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateVPNGateway) testCreateNetworkACLResponse :: CreateNetworkACLResponse -> TestTree testCreateNetworkACLResponse = res "CreateNetworkACLResponse" "fixture/CreateNetworkACLResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateNetworkACL) testDeleteKeyPairResponse :: DeleteKeyPairResponse -> TestTree testDeleteKeyPairResponse = res "DeleteKeyPairResponse" "fixture/DeleteKeyPairResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteKeyPair) testDescribeTagsResponse :: DescribeTagsResponse -> TestTree testDescribeTagsResponse = res "DescribeTagsResponse" "fixture/DescribeTagsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeTags) testDetachNetworkInterfaceResponse :: DetachNetworkInterfaceResponse -> TestTree testDetachNetworkInterfaceResponse = res "DetachNetworkInterfaceResponse" "fixture/DetachNetworkInterfaceResponse.proto"- eC2+ ec2 (Proxy :: Proxy DetachNetworkInterface) testDetachInternetGatewayResponse :: DetachInternetGatewayResponse -> TestTree testDetachInternetGatewayResponse = res "DetachInternetGatewayResponse" "fixture/DetachInternetGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy DetachInternetGateway) testDeleteVPCEndpointsResponse :: DeleteVPCEndpointsResponse -> TestTree testDeleteVPCEndpointsResponse = res "DeleteVPCEndpointsResponse" "fixture/DeleteVPCEndpointsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteVPCEndpoints) testDeleteFlowLogsResponse :: DeleteFlowLogsResponse -> TestTree testDeleteFlowLogsResponse = res "DeleteFlowLogsResponse" "fixture/DeleteFlowLogsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteFlowLogs) testDescribeVPCClassicLinkResponse :: DescribeVPCClassicLinkResponse -> TestTree testDescribeVPCClassicLinkResponse = res "DescribeVPCClassicLinkResponse" "fixture/DescribeVPCClassicLinkResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeVPCClassicLink) testModifySubnetAttributeResponse :: ModifySubnetAttributeResponse -> TestTree testModifySubnetAttributeResponse = res "ModifySubnetAttributeResponse" "fixture/ModifySubnetAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifySubnetAttribute) testDetachVolumeResponse :: VolumeAttachment -> TestTree testDetachVolumeResponse = res "DetachVolumeResponse" "fixture/DetachVolumeResponse.proto"- eC2+ ec2 (Proxy :: Proxy DetachVolume) testCancelBundleTaskResponse :: CancelBundleTaskResponse -> TestTree testCancelBundleTaskResponse = res "CancelBundleTaskResponse" "fixture/CancelBundleTaskResponse.proto"- eC2+ ec2 (Proxy :: Proxy CancelBundleTask) testReleaseAddressResponse :: ReleaseAddressResponse -> TestTree testReleaseAddressResponse = res "ReleaseAddressResponse" "fixture/ReleaseAddressResponse.proto"- eC2+ ec2 (Proxy :: Proxy ReleaseAddress) testCreateInternetGatewayResponse :: CreateInternetGatewayResponse -> TestTree testCreateInternetGatewayResponse = res "CreateInternetGatewayResponse" "fixture/CreateInternetGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateInternetGateway) testDeleteVPNConnectionResponse :: DeleteVPNConnectionResponse -> TestTree testDeleteVPNConnectionResponse = res "DeleteVPNConnectionResponse" "fixture/DeleteVPNConnectionResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteVPNConnection) testDescribeBundleTasksResponse :: DescribeBundleTasksResponse -> TestTree testDescribeBundleTasksResponse = res "DescribeBundleTasksResponse" "fixture/DescribeBundleTasksResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeBundleTasks) testAuthorizeSecurityGroupEgressResponse :: AuthorizeSecurityGroupEgressResponse -> TestTree testAuthorizeSecurityGroupEgressResponse = res "AuthorizeSecurityGroupEgressResponse" "fixture/AuthorizeSecurityGroupEgressResponse.proto"- eC2+ ec2 (Proxy :: Proxy AuthorizeSecurityGroupEgress) testDeregisterImageResponse :: DeregisterImageResponse -> TestTree testDeregisterImageResponse = res "DeregisterImageResponse" "fixture/DeregisterImageResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeregisterImage) testModifyNetworkInterfaceAttributeResponse :: ModifyNetworkInterfaceAttributeResponse -> TestTree testModifyNetworkInterfaceAttributeResponse = res "ModifyNetworkInterfaceAttributeResponse" "fixture/ModifyNetworkInterfaceAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifyNetworkInterfaceAttribute) testCancelReservedInstancesListingResponse :: CancelReservedInstancesListingResponse -> TestTree testCancelReservedInstancesListingResponse = res "CancelReservedInstancesListingResponse" "fixture/CancelReservedInstancesListingResponse.proto"- eC2+ ec2 (Proxy :: Proxy CancelReservedInstancesListing) testAttachClassicLinkVPCResponse :: AttachClassicLinkVPCResponse -> TestTree testAttachClassicLinkVPCResponse = res "AttachClassicLinkVPCResponse" "fixture/AttachClassicLinkVPCResponse.proto"- eC2+ ec2 (Proxy :: Proxy AttachClassicLinkVPC) +testDescribeVPCClassicLinkDNSSupportResponse :: DescribeVPCClassicLinkDNSSupportResponse -> TestTree+testDescribeVPCClassicLinkDNSSupportResponse = res+ "DescribeVPCClassicLinkDNSSupportResponse"+ "fixture/DescribeVPCClassicLinkDNSSupportResponse.proto"+ ec2+ (Proxy :: Proxy DescribeVPCClassicLinkDNSSupport)++testRunScheduledInstancesResponse :: RunScheduledInstancesResponse -> TestTree+testRunScheduledInstancesResponse = res+ "RunScheduledInstancesResponse"+ "fixture/RunScheduledInstancesResponse.proto"+ ec2+ (Proxy :: Proxy RunScheduledInstances)+ testCancelSpotFleetRequestsResponse :: CancelSpotFleetRequestsResponse -> TestTree testCancelSpotFleetRequestsResponse = res "CancelSpotFleetRequestsResponse" "fixture/CancelSpotFleetRequestsResponse.proto"- eC2+ ec2 (Proxy :: Proxy CancelSpotFleetRequests) testDescribeSpotPriceHistoryResponse :: DescribeSpotPriceHistoryResponse -> TestTree testDescribeSpotPriceHistoryResponse = res "DescribeSpotPriceHistoryResponse" "fixture/DescribeSpotPriceHistoryResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeSpotPriceHistory) testDescribeDHCPOptionsResponse :: DescribeDHCPOptionsResponse -> TestTree testDescribeDHCPOptionsResponse = res "DescribeDHCPOptionsResponse" "fixture/DescribeDHCPOptionsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeDHCPOptions) testImportImageResponse :: ImportImageResponse -> TestTree testImportImageResponse = res "ImportImageResponse" "fixture/ImportImageResponse.proto"- eC2+ ec2 (Proxy :: Proxy ImportImage) testStopInstancesResponse :: StopInstancesResponse -> TestTree testStopInstancesResponse = res "StopInstancesResponse" "fixture/StopInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy StopInstances) testDescribeInternetGatewaysResponse :: DescribeInternetGatewaysResponse -> TestTree testDescribeInternetGatewaysResponse = res "DescribeInternetGatewaysResponse" "fixture/DescribeInternetGatewaysResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeInternetGateways) testDisableVPCClassicLinkResponse :: DisableVPCClassicLinkResponse -> TestTree testDisableVPCClassicLinkResponse = res "DisableVPCClassicLinkResponse" "fixture/DisableVPCClassicLinkResponse.proto"- eC2+ ec2 (Proxy :: Proxy DisableVPCClassicLink) testBundleInstanceResponse :: BundleInstanceResponse -> TestTree testBundleInstanceResponse = res "BundleInstanceResponse" "fixture/BundleInstanceResponse.proto"- eC2+ ec2 (Proxy :: Proxy BundleInstance) testDescribeNetworkInterfacesResponse :: DescribeNetworkInterfacesResponse -> TestTree testDescribeNetworkInterfacesResponse = res "DescribeNetworkInterfacesResponse" "fixture/DescribeNetworkInterfacesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeNetworkInterfaces) testReplaceNetworkACLAssociationResponse :: ReplaceNetworkACLAssociationResponse -> TestTree testReplaceNetworkACLAssociationResponse = res "ReplaceNetworkACLAssociationResponse" "fixture/ReplaceNetworkACLAssociationResponse.proto"- eC2+ ec2 (Proxy :: Proxy ReplaceNetworkACLAssociation) testDescribeNatGatewaysResponse :: DescribeNatGatewaysResponse -> TestTree testDescribeNatGatewaysResponse = res "DescribeNatGatewaysResponse" "fixture/DescribeNatGatewaysResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeNatGateways) testDescribeAddressesResponse :: DescribeAddressesResponse -> TestTree testDescribeAddressesResponse = res "DescribeAddressesResponse" "fixture/DescribeAddressesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeAddresses) testDescribeSnapshotAttributeResponse :: DescribeSnapshotAttributeResponse -> TestTree testDescribeSnapshotAttributeResponse = res "DescribeSnapshotAttributeResponse" "fixture/DescribeSnapshotAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeSnapshotAttribute) testReplaceRouteResponse :: ReplaceRouteResponse -> TestTree testReplaceRouteResponse = res "ReplaceRouteResponse" "fixture/ReplaceRouteResponse.proto"- eC2+ ec2 (Proxy :: Proxy ReplaceRoute) testDescribeVPCEndpointServicesResponse :: DescribeVPCEndpointServicesResponse -> TestTree testDescribeVPCEndpointServicesResponse = res "DescribeVPCEndpointServicesResponse" "fixture/DescribeVPCEndpointServicesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeVPCEndpointServices) testAuthorizeSecurityGroupIngressResponse :: AuthorizeSecurityGroupIngressResponse -> TestTree testAuthorizeSecurityGroupIngressResponse = res "AuthorizeSecurityGroupIngressResponse" "fixture/AuthorizeSecurityGroupIngressResponse.proto"- eC2+ ec2 (Proxy :: Proxy AuthorizeSecurityGroupIngress) testCreateVPCPeeringConnectionResponse :: CreateVPCPeeringConnectionResponse -> TestTree testCreateVPCPeeringConnectionResponse = res "CreateVPCPeeringConnectionResponse" "fixture/CreateVPCPeeringConnectionResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateVPCPeeringConnection) testDescribeSubnetsResponse :: DescribeSubnetsResponse -> TestTree testDescribeSubnetsResponse = res "DescribeSubnetsResponse" "fixture/DescribeSubnetsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeSubnets) testCreateTagsResponse :: CreateTagsResponse -> TestTree testCreateTagsResponse = res "CreateTagsResponse" "fixture/CreateTagsResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateTags) testPurchaseReservedInstancesOfferingResponse :: PurchaseReservedInstancesOfferingResponse -> TestTree testPurchaseReservedInstancesOfferingResponse = res "PurchaseReservedInstancesOfferingResponse" "fixture/PurchaseReservedInstancesOfferingResponse.proto"- eC2+ ec2 (Proxy :: Proxy PurchaseReservedInstancesOffering) testDeleteNetworkACLEntryResponse :: DeleteNetworkACLEntryResponse -> TestTree testDeleteNetworkACLEntryResponse = res "DeleteNetworkACLEntryResponse" "fixture/DeleteNetworkACLEntryResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteNetworkACLEntry) testResetSnapshotAttributeResponse :: ResetSnapshotAttributeResponse -> TestTree testResetSnapshotAttributeResponse = res "ResetSnapshotAttributeResponse" "fixture/ResetSnapshotAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ResetSnapshotAttribute) testDescribeVPNConnectionsResponse :: DescribeVPNConnectionsResponse -> TestTree testDescribeVPNConnectionsResponse = res "DescribeVPNConnectionsResponse" "fixture/DescribeVPNConnectionsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeVPNConnections) testDeleteRouteResponse :: DeleteRouteResponse -> TestTree testDeleteRouteResponse = res "DeleteRouteResponse" "fixture/DeleteRouteResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteRoute) testReplaceNetworkACLEntryResponse :: ReplaceNetworkACLEntryResponse -> TestTree testReplaceNetworkACLEntryResponse = res "ReplaceNetworkACLEntryResponse" "fixture/ReplaceNetworkACLEntryResponse.proto"- eC2+ ec2 (Proxy :: Proxy ReplaceNetworkACLEntry) testDescribeVPCEndpointsResponse :: DescribeVPCEndpointsResponse -> TestTree testDescribeVPCEndpointsResponse = res "DescribeVPCEndpointsResponse" "fixture/DescribeVPCEndpointsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeVPCEndpoints) testResetInstanceAttributeResponse :: ResetInstanceAttributeResponse -> TestTree testResetInstanceAttributeResponse = res "ResetInstanceAttributeResponse" "fixture/ResetInstanceAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ResetInstanceAttribute) testAttachNetworkInterfaceResponse :: AttachNetworkInterfaceResponse -> TestTree testAttachNetworkInterfaceResponse = res "AttachNetworkInterfaceResponse" "fixture/AttachNetworkInterfaceResponse.proto"- eC2+ ec2 (Proxy :: Proxy AttachNetworkInterface) testDescribeInstanceStatusResponse :: DescribeInstanceStatusResponse -> TestTree testDescribeInstanceStatusResponse = res "DescribeInstanceStatusResponse" "fixture/DescribeInstanceStatusResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeInstanceStatus) testImportKeyPairResponse :: ImportKeyPairResponse -> TestTree testImportKeyPairResponse = res "ImportKeyPairResponse" "fixture/ImportKeyPairResponse.proto"- eC2+ ec2 (Proxy :: Proxy ImportKeyPair) testDeleteTagsResponse :: DeleteTagsResponse -> TestTree testDeleteTagsResponse = res "DeleteTagsResponse" "fixture/DeleteTagsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteTags) testConfirmProductInstanceResponse :: ConfirmProductInstanceResponse -> TestTree testConfirmProductInstanceResponse = res "ConfirmProductInstanceResponse" "fixture/ConfirmProductInstanceResponse.proto"- eC2+ ec2 (Proxy :: Proxy ConfirmProductInstance) testDescribeInstanceAttributeResponse :: DescribeInstanceAttributeResponse -> TestTree testDescribeInstanceAttributeResponse = res "DescribeInstanceAttributeResponse" "fixture/DescribeInstanceAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeInstanceAttribute) testDescribeReservedInstancesOfferingsResponse :: DescribeReservedInstancesOfferingsResponse -> TestTree testDescribeReservedInstancesOfferingsResponse = res "DescribeReservedInstancesOfferingsResponse" "fixture/DescribeReservedInstancesOfferingsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeReservedInstancesOfferings) testCreateCustomerGatewayResponse :: CreateCustomerGatewayResponse -> TestTree testCreateCustomerGatewayResponse = res "CreateCustomerGatewayResponse" "fixture/CreateCustomerGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateCustomerGateway) testDeleteSecurityGroupResponse :: DeleteSecurityGroupResponse -> TestTree testDeleteSecurityGroupResponse = res "DeleteSecurityGroupResponse" "fixture/DeleteSecurityGroupResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteSecurityGroup) testDeleteVPCPeeringConnectionResponse :: DeleteVPCPeeringConnectionResponse -> TestTree testDeleteVPCPeeringConnectionResponse = res "DeleteVPCPeeringConnectionResponse" "fixture/DeleteVPCPeeringConnectionResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteVPCPeeringConnection) testAttachInternetGatewayResponse :: AttachInternetGatewayResponse -> TestTree testAttachInternetGatewayResponse = res "AttachInternetGatewayResponse" "fixture/AttachInternetGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy AttachInternetGateway) testModifyInstancePlacementResponse :: ModifyInstancePlacementResponse -> TestTree testModifyInstancePlacementResponse = res "ModifyInstancePlacementResponse" "fixture/ModifyInstancePlacementResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifyInstancePlacement) testDescribeFlowLogsResponse :: DescribeFlowLogsResponse -> TestTree testDescribeFlowLogsResponse = res "DescribeFlowLogsResponse" "fixture/DescribeFlowLogsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeFlowLogs) testRunInstancesResponse :: Reservation -> TestTree testRunInstancesResponse = res "RunInstancesResponse" "fixture/RunInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy RunInstances) testAssociateDHCPOptionsResponse :: AssociateDHCPOptionsResponse -> TestTree testAssociateDHCPOptionsResponse = res "AssociateDHCPOptionsResponse" "fixture/AssociateDHCPOptionsResponse.proto"- eC2+ ec2 (Proxy :: Proxy AssociateDHCPOptions) testDescribeReservedInstancesResponse :: DescribeReservedInstancesResponse -> TestTree testDescribeReservedInstancesResponse = res "DescribeReservedInstancesResponse" "fixture/DescribeReservedInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeReservedInstances) testDescribeIdFormatResponse :: DescribeIdFormatResponse -> TestTree testDescribeIdFormatResponse = res "DescribeIdFormatResponse" "fixture/DescribeIdFormatResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeIdFormat) testDescribeVPCsResponse :: DescribeVPCsResponse -> TestTree testDescribeVPCsResponse = res "DescribeVPCsResponse" "fixture/DescribeVPCsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeVPCs) testDescribeConversionTasksResponse :: DescribeConversionTasksResponse -> TestTree testDescribeConversionTasksResponse = res "DescribeConversionTasksResponse" "fixture/DescribeConversionTasksResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeConversionTasks) +testDisableVPCClassicLinkDNSSupportResponse :: DisableVPCClassicLinkDNSSupportResponse -> TestTree+testDisableVPCClassicLinkDNSSupportResponse = res+ "DisableVPCClassicLinkDNSSupportResponse"+ "fixture/DisableVPCClassicLinkDNSSupportResponse.proto"+ ec2+ (Proxy :: Proxy DisableVPCClassicLinkDNSSupport)+ testAllocateAddressResponse :: AllocateAddressResponse -> TestTree testAllocateAddressResponse = res "AllocateAddressResponse" "fixture/AllocateAddressResponse.proto"- eC2+ ec2 (Proxy :: Proxy AllocateAddress) testCancelConversionTaskResponse :: CancelConversionTaskResponse -> TestTree testCancelConversionTaskResponse = res "CancelConversionTaskResponse" "fixture/CancelConversionTaskResponse.proto"- eC2+ ec2 (Proxy :: Proxy CancelConversionTask) testModifyImageAttributeResponse :: ModifyImageAttributeResponse -> TestTree testModifyImageAttributeResponse = res "ModifyImageAttributeResponse" "fixture/ModifyImageAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifyImageAttribute) testCreateRouteTableResponse :: CreateRouteTableResponse -> TestTree testCreateRouteTableResponse = res "CreateRouteTableResponse" "fixture/CreateRouteTableResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateRouteTable) testReportInstanceStatusResponse :: ReportInstanceStatusResponse -> TestTree testReportInstanceStatusResponse = res "ReportInstanceStatusResponse" "fixture/ReportInstanceStatusResponse.proto"- eC2+ ec2 (Proxy :: Proxy ReportInstanceStatus) testAttachVolumeResponse :: VolumeAttachment -> TestTree testAttachVolumeResponse = res "AttachVolumeResponse" "fixture/AttachVolumeResponse.proto"- eC2+ ec2 (Proxy :: Proxy AttachVolume) testRequestSpotInstancesResponse :: RequestSpotInstancesResponse -> TestTree testRequestSpotInstancesResponse = res "RequestSpotInstancesResponse" "fixture/RequestSpotInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy RequestSpotInstances) testDescribeVolumesResponse :: DescribeVolumesResponse -> TestTree testDescribeVolumesResponse = res "DescribeVolumesResponse" "fixture/DescribeVolumesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeVolumes) testRejectVPCPeeringConnectionResponse :: RejectVPCPeeringConnectionResponse -> TestTree testRejectVPCPeeringConnectionResponse = res "RejectVPCPeeringConnectionResponse" "fixture/RejectVPCPeeringConnectionResponse.proto"- eC2+ ec2 (Proxy :: Proxy RejectVPCPeeringConnection) testDeleteVPNConnectionRouteResponse :: DeleteVPNConnectionRouteResponse -> TestTree testDeleteVPNConnectionRouteResponse = res "DeleteVPNConnectionRouteResponse" "fixture/DeleteVPNConnectionRouteResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteVPNConnectionRoute) testModifyVPCEndpointResponse :: ModifyVPCEndpointResponse -> TestTree testModifyVPCEndpointResponse = res "ModifyVPCEndpointResponse" "fixture/ModifyVPCEndpointResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifyVPCEndpoint) testAllocateHostsResponse :: AllocateHostsResponse -> TestTree testAllocateHostsResponse = res "AllocateHostsResponse" "fixture/AllocateHostsResponse.proto"- eC2+ ec2 (Proxy :: Proxy AllocateHosts) testRegisterImageResponse :: RegisterImageResponse -> TestTree testRegisterImageResponse = res "RegisterImageResponse" "fixture/RegisterImageResponse.proto"- eC2+ ec2 (Proxy :: Proxy RegisterImage) testRevokeSecurityGroupIngressResponse :: RevokeSecurityGroupIngressResponse -> TestTree testRevokeSecurityGroupIngressResponse = res "RevokeSecurityGroupIngressResponse" "fixture/RevokeSecurityGroupIngressResponse.proto"- eC2+ ec2 (Proxy :: Proxy RevokeSecurityGroupIngress) +testEnableVPCClassicLinkDNSSupportResponse :: EnableVPCClassicLinkDNSSupportResponse -> TestTree+testEnableVPCClassicLinkDNSSupportResponse = res+ "EnableVPCClassicLinkDNSSupportResponse"+ "fixture/EnableVPCClassicLinkDNSSupportResponse.proto"+ ec2+ (Proxy :: Proxy EnableVPCClassicLinkDNSSupport)+ testModifyReservedInstancesResponse :: ModifyReservedInstancesResponse -> TestTree testModifyReservedInstancesResponse = res "ModifyReservedInstancesResponse" "fixture/ModifyReservedInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifyReservedInstances) +testDescribeScheduledInstancesResponse :: DescribeScheduledInstancesResponse -> TestTree+testDescribeScheduledInstancesResponse = res+ "DescribeScheduledInstancesResponse"+ "fixture/DescribeScheduledInstancesResponse.proto"+ ec2+ (Proxy :: Proxy DescribeScheduledInstances)+ testCreateFlowLogsResponse :: CreateFlowLogsResponse -> TestTree testCreateFlowLogsResponse = res "CreateFlowLogsResponse" "fixture/CreateFlowLogsResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateFlowLogs) testDescribeSpotFleetRequestsResponse :: DescribeSpotFleetRequestsResponse -> TestTree testDescribeSpotFleetRequestsResponse = res "DescribeSpotFleetRequestsResponse" "fixture/DescribeSpotFleetRequestsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeSpotFleetRequests) testMoveAddressToVPCResponse :: MoveAddressToVPCResponse -> TestTree testMoveAddressToVPCResponse = res "MoveAddressToVPCResponse" "fixture/MoveAddressToVPCResponse.proto"- eC2+ ec2 (Proxy :: Proxy MoveAddressToVPC) testDeleteNetworkACLResponse :: DeleteNetworkACLResponse -> TestTree testDeleteNetworkACLResponse = res "DeleteNetworkACLResponse" "fixture/DeleteNetworkACLResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteNetworkACL) testDeleteVPNGatewayResponse :: DeleteVPNGatewayResponse -> TestTree testDeleteVPNGatewayResponse = res "DeleteVPNGatewayResponse" "fixture/DeleteVPNGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteVPNGateway) testDescribeImportImageTasksResponse :: DescribeImportImageTasksResponse -> TestTree testDescribeImportImageTasksResponse = res "DescribeImportImageTasksResponse" "fixture/DescribeImportImageTasksResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeImportImageTasks) testDescribeVolumeAttributeResponse :: DescribeVolumeAttributeResponse -> TestTree testDescribeVolumeAttributeResponse = res "DescribeVolumeAttributeResponse" "fixture/DescribeVolumeAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeVolumeAttribute) testDescribeMovingAddressesResponse :: DescribeMovingAddressesResponse -> TestTree testDescribeMovingAddressesResponse = res "DescribeMovingAddressesResponse" "fixture/DescribeMovingAddressesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeMovingAddresses) testGetPasswordDataResponse :: GetPasswordDataResponse -> TestTree testGetPasswordDataResponse = res "GetPasswordDataResponse" "fixture/GetPasswordDataResponse.proto"- eC2+ ec2 (Proxy :: Proxy GetPasswordData) testCreateVPCResponse :: CreateVPCResponse -> TestTree testCreateVPCResponse = res "CreateVPCResponse" "fixture/CreateVPCResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateVPC) testCopySnapshotResponse :: CopySnapshotResponse -> TestTree testCopySnapshotResponse = res "CopySnapshotResponse" "fixture/CopySnapshotResponse.proto"- eC2+ ec2 (Proxy :: Proxy CopySnapshot) testDisassociateAddressResponse :: DisassociateAddressResponse -> TestTree testDisassociateAddressResponse = res "DisassociateAddressResponse" "fixture/DisassociateAddressResponse.proto"- eC2+ ec2 (Proxy :: Proxy DisassociateAddress) testDeleteVPCResponse :: DeleteVPCResponse -> TestTree testDeleteVPCResponse = res "DeleteVPCResponse" "fixture/DeleteVPCResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteVPC) testCreateInstanceExportTaskResponse :: CreateInstanceExportTaskResponse -> TestTree testCreateInstanceExportTaskResponse = res "CreateInstanceExportTaskResponse" "fixture/CreateInstanceExportTaskResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateInstanceExportTask) testDescribeVPCAttributeResponse :: DescribeVPCAttributeResponse -> TestTree testDescribeVPCAttributeResponse = res "DescribeVPCAttributeResponse" "fixture/DescribeVPCAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeVPCAttribute) testCreateVolumeResponse :: Volume -> TestTree testCreateVolumeResponse = res "CreateVolumeResponse" "fixture/CreateVolumeResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateVolume) +testDescribeScheduledInstanceAvailabilityResponse :: DescribeScheduledInstanceAvailabilityResponse -> TestTree+testDescribeScheduledInstanceAvailabilityResponse = res+ "DescribeScheduledInstanceAvailabilityResponse"+ "fixture/DescribeScheduledInstanceAvailabilityResponse.proto"+ ec2+ (Proxy :: Proxy DescribeScheduledInstanceAvailability)+ testModifyVolumeAttributeResponse :: ModifyVolumeAttributeResponse -> TestTree testModifyVolumeAttributeResponse = res "ModifyVolumeAttributeResponse" "fixture/ModifyVolumeAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifyVolumeAttribute) testDescribeSpotDatafeedSubscriptionResponse :: DescribeSpotDatafeedSubscriptionResponse -> TestTree testDescribeSpotDatafeedSubscriptionResponse = res "DescribeSpotDatafeedSubscriptionResponse" "fixture/DescribeSpotDatafeedSubscriptionResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeSpotDatafeedSubscription) testDescribePrefixListsResponse :: DescribePrefixListsResponse -> TestTree testDescribePrefixListsResponse = res "DescribePrefixListsResponse" "fixture/DescribePrefixListsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribePrefixLists) testDeletePlacementGroupResponse :: DeletePlacementGroupResponse -> TestTree testDeletePlacementGroupResponse = res "DeletePlacementGroupResponse" "fixture/DeletePlacementGroupResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeletePlacementGroup) testRequestSpotFleetResponse :: RequestSpotFleetResponse -> TestTree testRequestSpotFleetResponse = res "RequestSpotFleetResponse" "fixture/RequestSpotFleetResponse.proto"- eC2+ ec2 (Proxy :: Proxy RequestSpotFleet) testCreateSubnetResponse :: CreateSubnetResponse -> TestTree testCreateSubnetResponse = res "CreateSubnetResponse" "fixture/CreateSubnetResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateSubnet) testCreateNetworkInterfaceResponse :: CreateNetworkInterfaceResponse -> TestTree testCreateNetworkInterfaceResponse = res "CreateNetworkInterfaceResponse" "fixture/CreateNetworkInterfaceResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateNetworkInterface) testDescribeSecurityGroupsResponse :: DescribeSecurityGroupsResponse -> TestTree testDescribeSecurityGroupsResponse = res "DescribeSecurityGroupsResponse" "fixture/DescribeSecurityGroupsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeSecurityGroups) testDescribeExportTasksResponse :: DescribeExportTasksResponse -> TestTree testDescribeExportTasksResponse = res "DescribeExportTasksResponse" "fixture/DescribeExportTasksResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeExportTasks) testModifySpotFleetRequestResponse :: ModifySpotFleetRequestResponse -> TestTree testModifySpotFleetRequestResponse = res "ModifySpotFleetRequestResponse" "fixture/ModifySpotFleetRequestResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifySpotFleetRequest) testDetachVPNGatewayResponse :: DetachVPNGatewayResponse -> TestTree testDetachVPNGatewayResponse = res "DetachVPNGatewayResponse" "fixture/DetachVPNGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy DetachVPNGateway) testEnableVolumeIOResponse :: EnableVolumeIOResponse -> TestTree testEnableVolumeIOResponse = res "EnableVolumeIOResponse" "fixture/EnableVolumeIOResponse.proto"- eC2+ ec2 (Proxy :: Proxy EnableVolumeIO) testDescribeInstancesResponse :: DescribeInstancesResponse -> TestTree testDescribeInstancesResponse = res "DescribeInstancesResponse" "fixture/DescribeInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeInstances) testCreateNatGatewayResponse :: CreateNatGatewayResponse -> TestTree testCreateNatGatewayResponse = res "CreateNatGatewayResponse" "fixture/CreateNatGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateNatGateway) testDescribeVPCPeeringConnectionsResponse :: DescribeVPCPeeringConnectionsResponse -> TestTree testDescribeVPCPeeringConnectionsResponse = res "DescribeVPCPeeringConnectionsResponse" "fixture/DescribeVPCPeeringConnectionsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeVPCPeeringConnections) testCancelExportTaskResponse :: CancelExportTaskResponse -> TestTree testCancelExportTaskResponse = res "CancelExportTaskResponse" "fixture/CancelExportTaskResponse.proto"- eC2+ ec2 (Proxy :: Proxy CancelExportTask) testDeleteNetworkInterfaceResponse :: DeleteNetworkInterfaceResponse -> TestTree testDeleteNetworkInterfaceResponse = res "DeleteNetworkInterfaceResponse" "fixture/DeleteNetworkInterfaceResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteNetworkInterface) testReplaceRouteTableAssociationResponse :: ReplaceRouteTableAssociationResponse -> TestTree testReplaceRouteTableAssociationResponse = res "ReplaceRouteTableAssociationResponse" "fixture/ReplaceRouteTableAssociationResponse.proto"- eC2+ ec2 (Proxy :: Proxy ReplaceRouteTableAssociation) testStartInstancesResponse :: StartInstancesResponse -> TestTree testStartInstancesResponse = res "StartInstancesResponse" "fixture/StartInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy StartInstances) testCreatePlacementGroupResponse :: CreatePlacementGroupResponse -> TestTree testCreatePlacementGroupResponse = res "CreatePlacementGroupResponse" "fixture/CreatePlacementGroupResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreatePlacementGroup) testDescribeSnapshotsResponse :: DescribeSnapshotsResponse -> TestTree testDescribeSnapshotsResponse = res "DescribeSnapshotsResponse" "fixture/DescribeSnapshotsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeSnapshots) testAssociateAddressResponse :: AssociateAddressResponse -> TestTree testAssociateAddressResponse = res "AssociateAddressResponse" "fixture/AssociateAddressResponse.proto"- eC2+ ec2 (Proxy :: Proxy AssociateAddress) testDescribeNetworkInterfaceAttributeResponse :: DescribeNetworkInterfaceAttributeResponse -> TestTree testDescribeNetworkInterfaceAttributeResponse = res "DescribeNetworkInterfaceAttributeResponse" "fixture/DescribeNetworkInterfaceAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeNetworkInterfaceAttribute) testReleaseHostsResponse :: ReleaseHostsResponse -> TestTree testReleaseHostsResponse = res "ReleaseHostsResponse" "fixture/ReleaseHostsResponse.proto"- eC2+ ec2 (Proxy :: Proxy ReleaseHosts) testResetNetworkInterfaceAttributeResponse :: ResetNetworkInterfaceAttributeResponse -> TestTree testResetNetworkInterfaceAttributeResponse = res "ResetNetworkInterfaceAttributeResponse" "fixture/ResetNetworkInterfaceAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ResetNetworkInterfaceAttribute) testDeleteInternetGatewayResponse :: DeleteInternetGatewayResponse -> TestTree testDeleteInternetGatewayResponse = res "DeleteInternetGatewayResponse" "fixture/DeleteInternetGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteInternetGateway) testDescribeReservedInstancesListingsResponse :: DescribeReservedInstancesListingsResponse -> TestTree testDescribeReservedInstancesListingsResponse = res "DescribeReservedInstancesListingsResponse" "fixture/DescribeReservedInstancesListingsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeReservedInstancesListings) testCreateVPNConnectionResponse :: CreateVPNConnectionResponse -> TestTree testCreateVPNConnectionResponse = res "CreateVPNConnectionResponse" "fixture/CreateVPNConnectionResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateVPNConnection) testDeleteNatGatewayResponse :: DeleteNatGatewayResponse -> TestTree testDeleteNatGatewayResponse = res "DeleteNatGatewayResponse" "fixture/DeleteNatGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteNatGateway) testDescribeImportSnapshotTasksResponse :: DescribeImportSnapshotTasksResponse -> TestTree testDescribeImportSnapshotTasksResponse = res "DescribeImportSnapshotTasksResponse" "fixture/DescribeImportSnapshotTasksResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeImportSnapshotTasks) testDescribeCustomerGatewaysResponse :: DescribeCustomerGatewaysResponse -> TestTree testDescribeCustomerGatewaysResponse = res "DescribeCustomerGatewaysResponse" "fixture/DescribeCustomerGatewaysResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeCustomerGateways) testDeleteSubnetResponse :: DeleteSubnetResponse -> TestTree testDeleteSubnetResponse = res "DeleteSubnetResponse" "fixture/DeleteSubnetResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteSubnet) testCopyImageResponse :: CopyImageResponse -> TestTree testCopyImageResponse = res "CopyImageResponse" "fixture/CopyImageResponse.proto"- eC2+ ec2 (Proxy :: Proxy CopyImage) testCreateVPCEndpointResponse :: CreateVPCEndpointResponse -> TestTree testCreateVPCEndpointResponse = res "CreateVPCEndpointResponse" "fixture/CreateVPCEndpointResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateVPCEndpoint) testUnmonitorInstancesResponse :: UnmonitorInstancesResponse -> TestTree testUnmonitorInstancesResponse = res "UnmonitorInstancesResponse" "fixture/UnmonitorInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy UnmonitorInstances) testCreateSecurityGroupResponse :: CreateSecurityGroupResponse -> TestTree testCreateSecurityGroupResponse = res "CreateSecurityGroupResponse" "fixture/CreateSecurityGroupResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateSecurityGroup) testImportVolumeResponse :: ImportVolumeResponse -> TestTree testImportVolumeResponse = res "ImportVolumeResponse" "fixture/ImportVolumeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ImportVolume) testDisableVGWRoutePropagationResponse :: DisableVGWRoutePropagationResponse -> TestTree testDisableVGWRoutePropagationResponse = res "DisableVGWRoutePropagationResponse" "fixture/DisableVGWRoutePropagationResponse.proto"- eC2+ ec2 (Proxy :: Proxy DisableVGWRoutePropagation) testCreateSpotDatafeedSubscriptionResponse :: CreateSpotDatafeedSubscriptionResponse -> TestTree testCreateSpotDatafeedSubscriptionResponse = res "CreateSpotDatafeedSubscriptionResponse" "fixture/CreateSpotDatafeedSubscriptionResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateSpotDatafeedSubscription) testCancelSpotInstanceRequestsResponse :: CancelSpotInstanceRequestsResponse -> TestTree testCancelSpotInstanceRequestsResponse = res "CancelSpotInstanceRequestsResponse" "fixture/CancelSpotInstanceRequestsResponse.proto"- eC2+ ec2 (Proxy :: Proxy CancelSpotInstanceRequests) testCreateRouteResponse :: CreateRouteResponse -> TestTree testCreateRouteResponse = res "CreateRouteResponse" "fixture/CreateRouteResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateRoute) testDeleteSnapshotResponse :: DeleteSnapshotResponse -> TestTree testDeleteSnapshotResponse = res "DeleteSnapshotResponse" "fixture/DeleteSnapshotResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteSnapshot) testAssignPrivateIPAddressesResponse :: AssignPrivateIPAddressesResponse -> TestTree testAssignPrivateIPAddressesResponse = res "AssignPrivateIPAddressesResponse" "fixture/AssignPrivateIPAddressesResponse.proto"- eC2+ ec2 (Proxy :: Proxy AssignPrivateIPAddresses) testModifyInstanceAttributeResponse :: ModifyInstanceAttributeResponse -> TestTree testModifyInstanceAttributeResponse = res "ModifyInstanceAttributeResponse" "fixture/ModifyInstanceAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifyInstanceAttribute) testDeleteCustomerGatewayResponse :: DeleteCustomerGatewayResponse -> TestTree testDeleteCustomerGatewayResponse = res "DeleteCustomerGatewayResponse" "fixture/DeleteCustomerGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteCustomerGateway) testDisassociateRouteTableResponse :: DisassociateRouteTableResponse -> TestTree testDisassociateRouteTableResponse = res "DisassociateRouteTableResponse" "fixture/DisassociateRouteTableResponse.proto"- eC2+ ec2 (Proxy :: Proxy DisassociateRouteTable) testDeleteSpotDatafeedSubscriptionResponse :: DeleteSpotDatafeedSubscriptionResponse -> TestTree testDeleteSpotDatafeedSubscriptionResponse = res "DeleteSpotDatafeedSubscriptionResponse" "fixture/DeleteSpotDatafeedSubscriptionResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteSpotDatafeedSubscription) testEnableVPCClassicLinkResponse :: EnableVPCClassicLinkResponse -> TestTree testEnableVPCClassicLinkResponse = res "EnableVPCClassicLinkResponse" "fixture/EnableVPCClassicLinkResponse.proto"- eC2+ ec2 (Proxy :: Proxy EnableVPCClassicLink) testDescribePlacementGroupsResponse :: DescribePlacementGroupsResponse -> TestTree testDescribePlacementGroupsResponse = res "DescribePlacementGroupsResponse" "fixture/DescribePlacementGroupsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribePlacementGroups) +testPurchaseScheduledInstancesResponse :: PurchaseScheduledInstancesResponse -> TestTree+testPurchaseScheduledInstancesResponse = res+ "PurchaseScheduledInstancesResponse"+ "fixture/PurchaseScheduledInstancesResponse.proto"+ ec2+ (Proxy :: Proxy PurchaseScheduledInstances)+ testEnableVGWRoutePropagationResponse :: EnableVGWRoutePropagationResponse -> TestTree testEnableVGWRoutePropagationResponse = res "EnableVGWRoutePropagationResponse" "fixture/EnableVGWRoutePropagationResponse.proto"- eC2+ ec2 (Proxy :: Proxy EnableVGWRoutePropagation) testDescribeSpotFleetRequestHistoryResponse :: DescribeSpotFleetRequestHistoryResponse -> TestTree testDescribeSpotFleetRequestHistoryResponse = res "DescribeSpotFleetRequestHistoryResponse" "fixture/DescribeSpotFleetRequestHistoryResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeSpotFleetRequestHistory) testModifySnapshotAttributeResponse :: ModifySnapshotAttributeResponse -> TestTree testModifySnapshotAttributeResponse = res "ModifySnapshotAttributeResponse" "fixture/ModifySnapshotAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifySnapshotAttribute) testCreateSnapshotResponse :: Snapshot -> TestTree testCreateSnapshotResponse = res "CreateSnapshotResponse" "fixture/CreateSnapshotResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateSnapshot) testCreateNetworkACLEntryResponse :: CreateNetworkACLEntryResponse -> TestTree testCreateNetworkACLEntryResponse = res "CreateNetworkACLEntryResponse" "fixture/CreateNetworkACLEntryResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateNetworkACLEntry) testCreateReservedInstancesListingResponse :: CreateReservedInstancesListingResponse -> TestTree testCreateReservedInstancesListingResponse = res "CreateReservedInstancesListingResponse" "fixture/CreateReservedInstancesListingResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateReservedInstancesListing) testAttachVPNGatewayResponse :: AttachVPNGatewayResponse -> TestTree testAttachVPNGatewayResponse = res "AttachVPNGatewayResponse" "fixture/AttachVPNGatewayResponse.proto"- eC2+ ec2 (Proxy :: Proxy AttachVPNGateway) testCreateDHCPOptionsResponse :: CreateDHCPOptionsResponse -> TestTree testCreateDHCPOptionsResponse = res "CreateDHCPOptionsResponse" "fixture/CreateDHCPOptionsResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateDHCPOptions) testDescribeAccountAttributesResponse :: DescribeAccountAttributesResponse -> TestTree testDescribeAccountAttributesResponse = res "DescribeAccountAttributesResponse" "fixture/DescribeAccountAttributesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeAccountAttributes) testModifyHostsResponse :: ModifyHostsResponse -> TestTree testModifyHostsResponse = res "ModifyHostsResponse" "fixture/ModifyHostsResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifyHosts) testRebootInstancesResponse :: RebootInstancesResponse -> TestTree testRebootInstancesResponse = res "RebootInstancesResponse" "fixture/RebootInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy RebootInstances) testCreateImageResponse :: CreateImageResponse -> TestTree testCreateImageResponse = res "CreateImageResponse" "fixture/CreateImageResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateImage) testDescribeClassicLinkInstancesResponse :: DescribeClassicLinkInstancesResponse -> TestTree testDescribeClassicLinkInstancesResponse = res "DescribeClassicLinkInstancesResponse" "fixture/DescribeClassicLinkInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeClassicLinkInstances) testTerminateInstancesResponse :: TerminateInstancesResponse -> TestTree testTerminateInstancesResponse = res "TerminateInstancesResponse" "fixture/TerminateInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy TerminateInstances) testDescribeKeyPairsResponse :: DescribeKeyPairsResponse -> TestTree testDescribeKeyPairsResponse = res "DescribeKeyPairsResponse" "fixture/DescribeKeyPairsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeKeyPairs) testCreateVPNConnectionRouteResponse :: CreateVPNConnectionRouteResponse -> TestTree testCreateVPNConnectionRouteResponse = res "CreateVPNConnectionRouteResponse" "fixture/CreateVPNConnectionRouteResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateVPNConnectionRoute) testAssociateRouteTableResponse :: AssociateRouteTableResponse -> TestTree testAssociateRouteTableResponse = res "AssociateRouteTableResponse" "fixture/AssociateRouteTableResponse.proto"- eC2+ ec2 (Proxy :: Proxy AssociateRouteTable) testDescribeVPNGatewaysResponse :: DescribeVPNGatewaysResponse -> TestTree testDescribeVPNGatewaysResponse = res "DescribeVPNGatewaysResponse" "fixture/DescribeVPNGatewaysResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeVPNGateways) testGetConsoleOutputResponse :: GetConsoleOutputResponse -> TestTree testGetConsoleOutputResponse = res "GetConsoleOutputResponse" "fixture/GetConsoleOutputResponse.proto"- eC2+ ec2 (Proxy :: Proxy GetConsoleOutput) testDescribeHostsResponse :: DescribeHostsResponse -> TestTree testDescribeHostsResponse = res "DescribeHostsResponse" "fixture/DescribeHostsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeHosts) testDescribeImageAttributeResponse :: DescribeImageAttributeResponse -> TestTree testDescribeImageAttributeResponse = res "DescribeImageAttributeResponse" "fixture/DescribeImageAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeImageAttribute) testModifyIdFormatResponse :: ModifyIdFormatResponse -> TestTree testModifyIdFormatResponse = res "ModifyIdFormatResponse" "fixture/ModifyIdFormatResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifyIdFormat) testDeleteRouteTableResponse :: DeleteRouteTableResponse -> TestTree testDeleteRouteTableResponse = res "DeleteRouteTableResponse" "fixture/DeleteRouteTableResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteRouteTable) testResetImageAttributeResponse :: ResetImageAttributeResponse -> TestTree testResetImageAttributeResponse = res "ResetImageAttributeResponse" "fixture/ResetImageAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ResetImageAttribute) testDescribeReservedInstancesModificationsResponse :: DescribeReservedInstancesModificationsResponse -> TestTree testDescribeReservedInstancesModificationsResponse = res "DescribeReservedInstancesModificationsResponse" "fixture/DescribeReservedInstancesModificationsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeReservedInstancesModifications) testDescribeSpotInstanceRequestsResponse :: DescribeSpotInstanceRequestsResponse -> TestTree testDescribeSpotInstanceRequestsResponse = res "DescribeSpotInstanceRequestsResponse" "fixture/DescribeSpotInstanceRequestsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeSpotInstanceRequests) testUnassignPrivateIPAddressesResponse :: UnassignPrivateIPAddressesResponse -> TestTree testUnassignPrivateIPAddressesResponse = res "UnassignPrivateIPAddressesResponse" "fixture/UnassignPrivateIPAddressesResponse.proto"- eC2+ ec2 (Proxy :: Proxy UnassignPrivateIPAddresses) testDeleteDHCPOptionsResponse :: DeleteDHCPOptionsResponse -> TestTree testDeleteDHCPOptionsResponse = res "DeleteDHCPOptionsResponse" "fixture/DeleteDHCPOptionsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteDHCPOptions) testDescribeNetworkACLsResponse :: DescribeNetworkACLsResponse -> TestTree testDescribeNetworkACLsResponse = res "DescribeNetworkACLsResponse" "fixture/DescribeNetworkACLsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeNetworkACLs) testCancelImportTaskResponse :: CancelImportTaskResponse -> TestTree testCancelImportTaskResponse = res "CancelImportTaskResponse" "fixture/CancelImportTaskResponse.proto"- eC2+ ec2 (Proxy :: Proxy CancelImportTask) testDetachClassicLinkVPCResponse :: DetachClassicLinkVPCResponse -> TestTree testDetachClassicLinkVPCResponse = res "DetachClassicLinkVPCResponse" "fixture/DetachClassicLinkVPCResponse.proto"- eC2+ ec2 (Proxy :: Proxy DetachClassicLinkVPC) testDescribeRegionsResponse :: DescribeRegionsResponse -> TestTree testDescribeRegionsResponse = res "DescribeRegionsResponse" "fixture/DescribeRegionsResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeRegions) testMonitorInstancesResponse :: MonitorInstancesResponse -> TestTree testMonitorInstancesResponse = res "MonitorInstancesResponse" "fixture/MonitorInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy MonitorInstances) testAcceptVPCPeeringConnectionResponse :: AcceptVPCPeeringConnectionResponse -> TestTree testAcceptVPCPeeringConnectionResponse = res "AcceptVPCPeeringConnectionResponse" "fixture/AcceptVPCPeeringConnectionResponse.proto"- eC2+ ec2 (Proxy :: Proxy AcceptVPCPeeringConnection) testImportSnapshotResponse :: ImportSnapshotResponse -> TestTree testImportSnapshotResponse = res "ImportSnapshotResponse" "fixture/ImportSnapshotResponse.proto"- eC2+ ec2 (Proxy :: Proxy ImportSnapshot) testDescribeVolumeStatusResponse :: DescribeVolumeStatusResponse -> TestTree testDescribeVolumeStatusResponse = res "DescribeVolumeStatusResponse" "fixture/DescribeVolumeStatusResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeVolumeStatus) testDescribeRouteTablesResponse :: DescribeRouteTablesResponse -> TestTree testDescribeRouteTablesResponse = res "DescribeRouteTablesResponse" "fixture/DescribeRouteTablesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeRouteTables) testDescribeAvailabilityZonesResponse :: DescribeAvailabilityZonesResponse -> TestTree testDescribeAvailabilityZonesResponse = res "DescribeAvailabilityZonesResponse" "fixture/DescribeAvailabilityZonesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeAvailabilityZones) testModifyVPCAttributeResponse :: ModifyVPCAttributeResponse -> TestTree testModifyVPCAttributeResponse = res "ModifyVPCAttributeResponse" "fixture/ModifyVPCAttributeResponse.proto"- eC2+ ec2 (Proxy :: Proxy ModifyVPCAttribute) testDescribeImagesResponse :: DescribeImagesResponse -> TestTree testDescribeImagesResponse = res "DescribeImagesResponse" "fixture/DescribeImagesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeImages) testRestoreAddressToClassicResponse :: RestoreAddressToClassicResponse -> TestTree testRestoreAddressToClassicResponse = res "RestoreAddressToClassicResponse" "fixture/RestoreAddressToClassicResponse.proto"- eC2+ ec2 (Proxy :: Proxy RestoreAddressToClassic) testCreateKeyPairResponse :: CreateKeyPairResponse -> TestTree testCreateKeyPairResponse = res "CreateKeyPairResponse" "fixture/CreateKeyPairResponse.proto"- eC2+ ec2 (Proxy :: Proxy CreateKeyPair) testDeleteVolumeResponse :: DeleteVolumeResponse -> TestTree testDeleteVolumeResponse = res "DeleteVolumeResponse" "fixture/DeleteVolumeResponse.proto"- eC2+ ec2 (Proxy :: Proxy DeleteVolume) testDescribeSpotFleetInstancesResponse :: DescribeSpotFleetInstancesResponse -> TestTree testDescribeSpotFleetInstancesResponse = res "DescribeSpotFleetInstancesResponse" "fixture/DescribeSpotFleetInstancesResponse.proto"- eC2+ ec2 (Proxy :: Proxy DescribeSpotFleetInstances)