packages feed

amazonka-ec2 0.3.6.1 → 1.0.0

raw patch · 240 files changed

+45665/−37879 lines, 240 filesdep +amazonka-ec2dep +amazonka-testdep +bytestringdep ~amazonka-coredep ~basePVP ok

version bump matches the API change (PVP)

Dependencies added: amazonka-ec2, amazonka-test, bytestring, lens, tasty, tasty-hunit, text, time, unordered-containers

Dependency ranges changed: amazonka-core, base

API changes (from Hackage documentation)

- Network.AWS.EC2.AcceptVpcPeeringConnection: acceptVpcPeeringConnection :: AcceptVpcPeeringConnection
- Network.AWS.EC2.AcceptVpcPeeringConnection: acceptVpcPeeringConnectionResponse :: AcceptVpcPeeringConnectionResponse
- Network.AWS.EC2.AcceptVpcPeeringConnection: avpcDryRun :: Lens' AcceptVpcPeeringConnection (Maybe Bool)
- Network.AWS.EC2.AcceptVpcPeeringConnection: avpcVpcPeeringConnectionId :: Lens' AcceptVpcPeeringConnection (Maybe Text)
- Network.AWS.EC2.AcceptVpcPeeringConnection: avpcrVpcPeeringConnection :: Lens' AcceptVpcPeeringConnectionResponse (Maybe VpcPeeringConnection)
- Network.AWS.EC2.AcceptVpcPeeringConnection: data AcceptVpcPeeringConnection
- Network.AWS.EC2.AcceptVpcPeeringConnection: data AcceptVpcPeeringConnectionResponse
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance AWSRequest AcceptVpcPeeringConnection
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance Eq AcceptVpcPeeringConnection
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance Eq AcceptVpcPeeringConnectionResponse
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance FromXML AcceptVpcPeeringConnectionResponse
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance Ord AcceptVpcPeeringConnection
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance Read AcceptVpcPeeringConnection
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance Read AcceptVpcPeeringConnectionResponse
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance Show AcceptVpcPeeringConnection
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance Show AcceptVpcPeeringConnectionResponse
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance ToHeaders AcceptVpcPeeringConnection
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance ToPath AcceptVpcPeeringConnection
- Network.AWS.EC2.AcceptVpcPeeringConnection: instance ToQuery AcceptVpcPeeringConnection
- Network.AWS.EC2.AllocateAddress: aarAllocationId :: Lens' AllocateAddressResponse (Maybe Text)
- Network.AWS.EC2.AllocateAddress: aarDomain :: Lens' AllocateAddressResponse (Maybe DomainType)
- Network.AWS.EC2.AllocateAddress: aarPublicIp :: Lens' AllocateAddressResponse (Maybe Text)
- Network.AWS.EC2.AllocateAddress: instance FromXML AllocateAddressResponse
- Network.AWS.EC2.AssignPrivateIpAddresses: apiaAllowReassignment :: Lens' AssignPrivateIpAddresses (Maybe Bool)
- Network.AWS.EC2.AssignPrivateIpAddresses: apiaNetworkInterfaceId :: Lens' AssignPrivateIpAddresses Text
- Network.AWS.EC2.AssignPrivateIpAddresses: apiaPrivateIpAddresses :: Lens' AssignPrivateIpAddresses [Text]
- Network.AWS.EC2.AssignPrivateIpAddresses: apiaSecondaryPrivateIpAddressCount :: Lens' AssignPrivateIpAddresses (Maybe Int)
- Network.AWS.EC2.AssignPrivateIpAddresses: assignPrivateIpAddresses :: Text -> AssignPrivateIpAddresses
- Network.AWS.EC2.AssignPrivateIpAddresses: assignPrivateIpAddressesResponse :: AssignPrivateIpAddressesResponse
- Network.AWS.EC2.AssignPrivateIpAddresses: data AssignPrivateIpAddresses
- Network.AWS.EC2.AssignPrivateIpAddresses: data AssignPrivateIpAddressesResponse
- Network.AWS.EC2.AssignPrivateIpAddresses: instance AWSRequest AssignPrivateIpAddresses
- Network.AWS.EC2.AssignPrivateIpAddresses: instance Constructor C1_0AssignPrivateIpAddressesResponse
- Network.AWS.EC2.AssignPrivateIpAddresses: instance Datatype D1AssignPrivateIpAddressesResponse
- Network.AWS.EC2.AssignPrivateIpAddresses: instance Eq AssignPrivateIpAddresses
- Network.AWS.EC2.AssignPrivateIpAddresses: instance Eq AssignPrivateIpAddressesResponse
- Network.AWS.EC2.AssignPrivateIpAddresses: instance Generic AssignPrivateIpAddressesResponse
- Network.AWS.EC2.AssignPrivateIpAddresses: instance Ord AssignPrivateIpAddresses
- Network.AWS.EC2.AssignPrivateIpAddresses: instance Ord AssignPrivateIpAddressesResponse
- Network.AWS.EC2.AssignPrivateIpAddresses: instance Read AssignPrivateIpAddresses
- Network.AWS.EC2.AssignPrivateIpAddresses: instance Read AssignPrivateIpAddressesResponse
- Network.AWS.EC2.AssignPrivateIpAddresses: instance Show AssignPrivateIpAddresses
- Network.AWS.EC2.AssignPrivateIpAddresses: instance Show AssignPrivateIpAddressesResponse
- Network.AWS.EC2.AssignPrivateIpAddresses: instance ToHeaders AssignPrivateIpAddresses
- Network.AWS.EC2.AssignPrivateIpAddresses: instance ToPath AssignPrivateIpAddresses
- Network.AWS.EC2.AssignPrivateIpAddresses: instance ToQuery AssignPrivateIpAddresses
- Network.AWS.EC2.AssociateAddress: aa1AllocationId :: Lens' AssociateAddress (Maybe Text)
- Network.AWS.EC2.AssociateAddress: aa1AllowReassociation :: Lens' AssociateAddress (Maybe Bool)
- Network.AWS.EC2.AssociateAddress: aa1DryRun :: Lens' AssociateAddress (Maybe Bool)
- Network.AWS.EC2.AssociateAddress: aa1InstanceId :: Lens' AssociateAddress (Maybe Text)
- Network.AWS.EC2.AssociateAddress: aa1NetworkInterfaceId :: Lens' AssociateAddress (Maybe Text)
- Network.AWS.EC2.AssociateAddress: aa1PrivateIpAddress :: Lens' AssociateAddress (Maybe Text)
- Network.AWS.EC2.AssociateAddress: aa1PublicIp :: Lens' AssociateAddress (Maybe Text)
- Network.AWS.EC2.AssociateAddress: aarAssociationId :: Lens' AssociateAddressResponse (Maybe Text)
- Network.AWS.EC2.AssociateAddress: instance FromXML AssociateAddressResponse
- Network.AWS.EC2.AssociateAddress: instance Monoid AssociateAddressResponse
- Network.AWS.EC2.AssociateAddress: instance Ord AssociateAddress
- Network.AWS.EC2.AssociateAddress: instance Ord AssociateAddressResponse
- Network.AWS.EC2.AssociateDhcpOptions: adoDhcpOptionsId :: Lens' AssociateDhcpOptions Text
- Network.AWS.EC2.AssociateDhcpOptions: adoDryRun :: Lens' AssociateDhcpOptions (Maybe Bool)
- Network.AWS.EC2.AssociateDhcpOptions: adoVpcId :: Lens' AssociateDhcpOptions Text
- Network.AWS.EC2.AssociateDhcpOptions: associateDhcpOptions :: Text -> Text -> AssociateDhcpOptions
- Network.AWS.EC2.AssociateDhcpOptions: associateDhcpOptionsResponse :: AssociateDhcpOptionsResponse
- Network.AWS.EC2.AssociateDhcpOptions: data AssociateDhcpOptions
- Network.AWS.EC2.AssociateDhcpOptions: data AssociateDhcpOptionsResponse
- Network.AWS.EC2.AssociateDhcpOptions: instance AWSRequest AssociateDhcpOptions
- Network.AWS.EC2.AssociateDhcpOptions: instance Constructor C1_0AssociateDhcpOptionsResponse
- Network.AWS.EC2.AssociateDhcpOptions: instance Datatype D1AssociateDhcpOptionsResponse
- Network.AWS.EC2.AssociateDhcpOptions: instance Eq AssociateDhcpOptions
- Network.AWS.EC2.AssociateDhcpOptions: instance Eq AssociateDhcpOptionsResponse
- Network.AWS.EC2.AssociateDhcpOptions: instance Generic AssociateDhcpOptionsResponse
- Network.AWS.EC2.AssociateDhcpOptions: instance Ord AssociateDhcpOptions
- Network.AWS.EC2.AssociateDhcpOptions: instance Ord AssociateDhcpOptionsResponse
- Network.AWS.EC2.AssociateDhcpOptions: instance Read AssociateDhcpOptions
- Network.AWS.EC2.AssociateDhcpOptions: instance Read AssociateDhcpOptionsResponse
- Network.AWS.EC2.AssociateDhcpOptions: instance Show AssociateDhcpOptions
- Network.AWS.EC2.AssociateDhcpOptions: instance Show AssociateDhcpOptionsResponse
- Network.AWS.EC2.AssociateDhcpOptions: instance ToHeaders AssociateDhcpOptions
- Network.AWS.EC2.AssociateDhcpOptions: instance ToPath AssociateDhcpOptions
- Network.AWS.EC2.AssociateDhcpOptions: instance ToQuery AssociateDhcpOptions
- Network.AWS.EC2.AssociateRouteTable: artrAssociationId :: Lens' AssociateRouteTableResponse (Maybe Text)
- Network.AWS.EC2.AssociateRouteTable: instance FromXML AssociateRouteTableResponse
- Network.AWS.EC2.AssociateRouteTable: instance Monoid AssociateRouteTableResponse
- Network.AWS.EC2.AssociateRouteTable: instance Ord AssociateRouteTable
- Network.AWS.EC2.AssociateRouteTable: instance Ord AssociateRouteTableResponse
- Network.AWS.EC2.AttachClassicLinkVpc: aclvDryRun :: Lens' AttachClassicLinkVpc (Maybe Bool)
- Network.AWS.EC2.AttachClassicLinkVpc: aclvGroups :: Lens' AttachClassicLinkVpc [Text]
- Network.AWS.EC2.AttachClassicLinkVpc: aclvInstanceId :: Lens' AttachClassicLinkVpc Text
- Network.AWS.EC2.AttachClassicLinkVpc: aclvVpcId :: Lens' AttachClassicLinkVpc Text
- Network.AWS.EC2.AttachClassicLinkVpc: aclvrReturn :: Lens' AttachClassicLinkVpcResponse (Maybe Bool)
- Network.AWS.EC2.AttachClassicLinkVpc: attachClassicLinkVpc :: Text -> Text -> AttachClassicLinkVpc
- Network.AWS.EC2.AttachClassicLinkVpc: attachClassicLinkVpcResponse :: AttachClassicLinkVpcResponse
- Network.AWS.EC2.AttachClassicLinkVpc: data AttachClassicLinkVpc
- Network.AWS.EC2.AttachClassicLinkVpc: data AttachClassicLinkVpcResponse
- Network.AWS.EC2.AttachClassicLinkVpc: instance AWSRequest AttachClassicLinkVpc
- Network.AWS.EC2.AttachClassicLinkVpc: instance Eq AttachClassicLinkVpc
- Network.AWS.EC2.AttachClassicLinkVpc: instance Eq AttachClassicLinkVpcResponse
- Network.AWS.EC2.AttachClassicLinkVpc: instance FromXML AttachClassicLinkVpcResponse
- Network.AWS.EC2.AttachClassicLinkVpc: instance Ord AttachClassicLinkVpc
- Network.AWS.EC2.AttachClassicLinkVpc: instance Ord AttachClassicLinkVpcResponse
- Network.AWS.EC2.AttachClassicLinkVpc: instance Read AttachClassicLinkVpc
- Network.AWS.EC2.AttachClassicLinkVpc: instance Read AttachClassicLinkVpcResponse
- Network.AWS.EC2.AttachClassicLinkVpc: instance Show AttachClassicLinkVpc
- Network.AWS.EC2.AttachClassicLinkVpc: instance Show AttachClassicLinkVpcResponse
- Network.AWS.EC2.AttachClassicLinkVpc: instance ToHeaders AttachClassicLinkVpc
- Network.AWS.EC2.AttachClassicLinkVpc: instance ToPath AttachClassicLinkVpc
- Network.AWS.EC2.AttachClassicLinkVpc: instance ToQuery AttachClassicLinkVpc
- Network.AWS.EC2.AttachInternetGateway: aigVpcId :: Lens' AttachInternetGateway Text
- Network.AWS.EC2.AttachInternetGateway: instance Ord AttachInternetGateway
- Network.AWS.EC2.AttachInternetGateway: instance Ord AttachInternetGatewayResponse
- Network.AWS.EC2.AttachNetworkInterface: anirAttachmentId :: Lens' AttachNetworkInterfaceResponse (Maybe Text)
- Network.AWS.EC2.AttachNetworkInterface: instance FromXML AttachNetworkInterfaceResponse
- Network.AWS.EC2.AttachNetworkInterface: instance Monoid AttachNetworkInterfaceResponse
- Network.AWS.EC2.AttachNetworkInterface: instance Ord AttachNetworkInterface
- Network.AWS.EC2.AttachNetworkInterface: instance Ord AttachNetworkInterfaceResponse
- Network.AWS.EC2.AttachVolume: attachVolumeResponse :: AttachVolumeResponse
- Network.AWS.EC2.AttachVolume: avrAttachTime :: Lens' AttachVolumeResponse (Maybe UTCTime)
- Network.AWS.EC2.AttachVolume: avrDeleteOnTermination :: Lens' AttachVolumeResponse (Maybe Bool)
- Network.AWS.EC2.AttachVolume: avrDevice :: Lens' AttachVolumeResponse (Maybe Text)
- Network.AWS.EC2.AttachVolume: avrInstanceId :: Lens' AttachVolumeResponse (Maybe Text)
- Network.AWS.EC2.AttachVolume: avrState :: Lens' AttachVolumeResponse (Maybe VolumeAttachmentState)
- Network.AWS.EC2.AttachVolume: avrVolumeId :: Lens' AttachVolumeResponse (Maybe Text)
- Network.AWS.EC2.AttachVolume: data AttachVolumeResponse
- Network.AWS.EC2.AttachVolume: instance Eq AttachVolumeResponse
- Network.AWS.EC2.AttachVolume: instance FromXML AttachVolumeResponse
- Network.AWS.EC2.AttachVolume: instance Ord AttachVolume
- Network.AWS.EC2.AttachVolume: instance Read AttachVolumeResponse
- Network.AWS.EC2.AttachVolume: instance Show AttachVolumeResponse
- Network.AWS.EC2.AttachVpnGateway: attachVpnGateway :: Text -> Text -> AttachVpnGateway
- Network.AWS.EC2.AttachVpnGateway: attachVpnGatewayResponse :: AttachVpnGatewayResponse
- Network.AWS.EC2.AttachVpnGateway: avgDryRun :: Lens' AttachVpnGateway (Maybe Bool)
- Network.AWS.EC2.AttachVpnGateway: avgVpcId :: Lens' AttachVpnGateway Text
- Network.AWS.EC2.AttachVpnGateway: avgVpnGatewayId :: Lens' AttachVpnGateway Text
- Network.AWS.EC2.AttachVpnGateway: avgrVpcAttachment :: Lens' AttachVpnGatewayResponse (Maybe VpcAttachment)
- Network.AWS.EC2.AttachVpnGateway: data AttachVpnGateway
- Network.AWS.EC2.AttachVpnGateway: data AttachVpnGatewayResponse
- Network.AWS.EC2.AttachVpnGateway: instance AWSRequest AttachVpnGateway
- Network.AWS.EC2.AttachVpnGateway: instance Eq AttachVpnGateway
- Network.AWS.EC2.AttachVpnGateway: instance Eq AttachVpnGatewayResponse
- Network.AWS.EC2.AttachVpnGateway: instance FromXML AttachVpnGatewayResponse
- Network.AWS.EC2.AttachVpnGateway: instance Ord AttachVpnGateway
- Network.AWS.EC2.AttachVpnGateway: instance Read AttachVpnGateway
- Network.AWS.EC2.AttachVpnGateway: instance Read AttachVpnGatewayResponse
- Network.AWS.EC2.AttachVpnGateway: instance Show AttachVpnGateway
- Network.AWS.EC2.AttachVpnGateway: instance Show AttachVpnGatewayResponse
- Network.AWS.EC2.AttachVpnGateway: instance ToHeaders AttachVpnGateway
- Network.AWS.EC2.AttachVpnGateway: instance ToPath AttachVpnGateway
- Network.AWS.EC2.AttachVpnGateway: instance ToQuery AttachVpnGateway
- Network.AWS.EC2.AuthorizeSecurityGroupEgress: asgeCidrIp :: Lens' AuthorizeSecurityGroupEgress (Maybe Text)
- Network.AWS.EC2.AuthorizeSecurityGroupEgress: asgeIpPermissions :: Lens' AuthorizeSecurityGroupEgress [IpPermission]
- Network.AWS.EC2.AuthorizeSecurityGroupEgress: asgeIpProtocol :: Lens' AuthorizeSecurityGroupEgress (Maybe Text)
- Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Ord AuthorizeSecurityGroupEgressResponse
- Network.AWS.EC2.AuthorizeSecurityGroupIngress: asgiCidrIp :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)
- Network.AWS.EC2.AuthorizeSecurityGroupIngress: asgiIpPermissions :: Lens' AuthorizeSecurityGroupIngress [IpPermission]
- Network.AWS.EC2.AuthorizeSecurityGroupIngress: asgiIpProtocol :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)
- Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Ord AuthorizeSecurityGroupIngressResponse
- Network.AWS.EC2.BundleInstance: birBundleTask :: Lens' BundleInstanceResponse (Maybe BundleTask)
- Network.AWS.EC2.BundleInstance: instance FromXML BundleInstanceResponse
- Network.AWS.EC2.CancelBundleTask: cbtrBundleTask :: Lens' CancelBundleTaskResponse (Maybe BundleTask)
- Network.AWS.EC2.CancelBundleTask: instance FromXML CancelBundleTaskResponse
- Network.AWS.EC2.CancelBundleTask: instance Ord CancelBundleTask
- Network.AWS.EC2.CancelConversionTask: instance Ord CancelConversionTask
- Network.AWS.EC2.CancelConversionTask: instance Ord CancelConversionTaskResponse
- Network.AWS.EC2.CancelExportTask: instance IsString CancelExportTask
- Network.AWS.EC2.CancelExportTask: instance Monoid CancelExportTask
- Network.AWS.EC2.CancelExportTask: instance Ord CancelExportTask
- Network.AWS.EC2.CancelExportTask: instance Ord CancelExportTaskResponse
- Network.AWS.EC2.CancelImportTask: citrImportTaskId :: Lens' CancelImportTaskResponse (Maybe Text)
- Network.AWS.EC2.CancelImportTask: citrPreviousState :: Lens' CancelImportTaskResponse (Maybe Text)
- Network.AWS.EC2.CancelImportTask: citrState :: Lens' CancelImportTaskResponse (Maybe Text)
- Network.AWS.EC2.CancelImportTask: instance FromXML CancelImportTaskResponse
- Network.AWS.EC2.CancelImportTask: instance Ord CancelImportTask
- Network.AWS.EC2.CancelImportTask: instance Ord CancelImportTaskResponse
- Network.AWS.EC2.CancelReservedInstancesListing: crilrReservedInstancesListings :: Lens' CancelReservedInstancesListingResponse [ReservedInstancesListing]
- Network.AWS.EC2.CancelReservedInstancesListing: instance FromXML CancelReservedInstancesListingResponse
- Network.AWS.EC2.CancelReservedInstancesListing: instance IsString CancelReservedInstancesListing
- Network.AWS.EC2.CancelReservedInstancesListing: instance Monoid CancelReservedInstancesListing
- Network.AWS.EC2.CancelReservedInstancesListing: instance Monoid CancelReservedInstancesListingResponse
- Network.AWS.EC2.CancelReservedInstancesListing: instance Ord CancelReservedInstancesListing
- Network.AWS.EC2.CancelReservedInstancesListing: instance Semigroup CancelReservedInstancesListingResponse
- Network.AWS.EC2.CancelSpotFleetRequests: csfrrSuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsSuccessItem]
- Network.AWS.EC2.CancelSpotFleetRequests: csfrrUnsuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsErrorItem]
- Network.AWS.EC2.CancelSpotFleetRequests: instance FromXML CancelSpotFleetRequestsResponse
- Network.AWS.EC2.CancelSpotFleetRequests: instance Ord CancelSpotFleetRequests
- Network.AWS.EC2.CancelSpotInstanceRequests: csirrCancelledSpotInstanceRequests :: Lens' CancelSpotInstanceRequestsResponse [CancelledSpotInstanceRequest]
- Network.AWS.EC2.CancelSpotInstanceRequests: instance FromXML CancelSpotInstanceRequestsResponse
- Network.AWS.EC2.CancelSpotInstanceRequests: instance Monoid CancelSpotInstanceRequestsResponse
- Network.AWS.EC2.CancelSpotInstanceRequests: instance Ord CancelSpotInstanceRequests
- Network.AWS.EC2.CancelSpotInstanceRequests: instance Semigroup CancelSpotInstanceRequestsResponse
- Network.AWS.EC2.ConfirmProductInstance: cpirOwnerId :: Lens' ConfirmProductInstanceResponse (Maybe Text)
- Network.AWS.EC2.ConfirmProductInstance: instance FromXML ConfirmProductInstanceResponse
- Network.AWS.EC2.ConfirmProductInstance: instance Monoid ConfirmProductInstanceResponse
- Network.AWS.EC2.ConfirmProductInstance: instance Ord ConfirmProductInstance
- Network.AWS.EC2.ConfirmProductInstance: instance Ord ConfirmProductInstanceResponse
- Network.AWS.EC2.CopyImage: cir1ImageId :: Lens' CopyImageResponse (Maybe Text)
- Network.AWS.EC2.CopyImage: instance FromXML CopyImageResponse
- Network.AWS.EC2.CopyImage: instance Monoid CopyImageResponse
- Network.AWS.EC2.CopyImage: instance Ord CopyImage
- Network.AWS.EC2.CopyImage: instance Ord CopyImageResponse
- Network.AWS.EC2.CopySnapshot: csPresignedUrl :: Lens' CopySnapshot (Maybe Text)
- Network.AWS.EC2.CopySnapshot: csrSnapshotId :: Lens' CopySnapshotResponse (Maybe Text)
- Network.AWS.EC2.CopySnapshot: instance FromXML CopySnapshotResponse
- Network.AWS.EC2.CopySnapshot: instance Monoid CopySnapshotResponse
- Network.AWS.EC2.CopySnapshot: instance Ord CopySnapshot
- Network.AWS.EC2.CopySnapshot: instance Ord CopySnapshotResponse
- Network.AWS.EC2.CreateCustomerGateway: ccgBgpAsn :: Lens' CreateCustomerGateway Int
- Network.AWS.EC2.CreateCustomerGateway: ccgPublicIp :: Lens' CreateCustomerGateway Text
- Network.AWS.EC2.CreateCustomerGateway: ccgrCustomerGateway :: Lens' CreateCustomerGatewayResponse (Maybe CustomerGateway)
- Network.AWS.EC2.CreateCustomerGateway: instance FromXML CreateCustomerGatewayResponse
- Network.AWS.EC2.CreateDhcpOptions: cdoDhcpConfigurations :: Lens' CreateDhcpOptions [NewDhcpConfiguration]
- Network.AWS.EC2.CreateDhcpOptions: cdoDryRun :: Lens' CreateDhcpOptions (Maybe Bool)
- Network.AWS.EC2.CreateDhcpOptions: cdorDhcpOptions :: Lens' CreateDhcpOptionsResponse (Maybe DhcpOptions)
- Network.AWS.EC2.CreateDhcpOptions: createDhcpOptions :: CreateDhcpOptions
- Network.AWS.EC2.CreateDhcpOptions: createDhcpOptionsResponse :: CreateDhcpOptionsResponse
- Network.AWS.EC2.CreateDhcpOptions: data CreateDhcpOptions
- Network.AWS.EC2.CreateDhcpOptions: data CreateDhcpOptionsResponse
- Network.AWS.EC2.CreateDhcpOptions: instance AWSRequest CreateDhcpOptions
- Network.AWS.EC2.CreateDhcpOptions: instance Eq CreateDhcpOptions
- Network.AWS.EC2.CreateDhcpOptions: instance Eq CreateDhcpOptionsResponse
- Network.AWS.EC2.CreateDhcpOptions: instance FromXML CreateDhcpOptionsResponse
- Network.AWS.EC2.CreateDhcpOptions: instance Read CreateDhcpOptions
- Network.AWS.EC2.CreateDhcpOptions: instance Read CreateDhcpOptionsResponse
- Network.AWS.EC2.CreateDhcpOptions: instance Show CreateDhcpOptions
- Network.AWS.EC2.CreateDhcpOptions: instance Show CreateDhcpOptionsResponse
- Network.AWS.EC2.CreateDhcpOptions: instance ToHeaders CreateDhcpOptions
- Network.AWS.EC2.CreateDhcpOptions: instance ToPath CreateDhcpOptions
- Network.AWS.EC2.CreateDhcpOptions: instance ToQuery CreateDhcpOptions
- Network.AWS.EC2.CreateImage: ci1BlockDeviceMappings :: Lens' CreateImage [BlockDeviceMapping]
- Network.AWS.EC2.CreateImage: ci1Description :: Lens' CreateImage (Maybe Text)
- Network.AWS.EC2.CreateImage: ci1DryRun :: Lens' CreateImage (Maybe Bool)
- Network.AWS.EC2.CreateImage: ci1InstanceId :: Lens' CreateImage Text
- Network.AWS.EC2.CreateImage: ci1Name :: Lens' CreateImage Text
- Network.AWS.EC2.CreateImage: ci1NoReboot :: Lens' CreateImage (Maybe Bool)
- Network.AWS.EC2.CreateImage: cirImageId :: Lens' CreateImageResponse (Maybe Text)
- Network.AWS.EC2.CreateImage: instance FromXML CreateImageResponse
- Network.AWS.EC2.CreateImage: instance Monoid CreateImageResponse
- Network.AWS.EC2.CreateImage: instance Ord CreateImageResponse
- Network.AWS.EC2.CreateInstanceExportTask: cietrExportTask :: Lens' CreateInstanceExportTaskResponse (Maybe ExportTask)
- Network.AWS.EC2.CreateInstanceExportTask: instance FromXML CreateInstanceExportTaskResponse
- Network.AWS.EC2.CreateInternetGateway: cigrInternetGateway :: Lens' CreateInternetGatewayResponse (Maybe InternetGateway)
- Network.AWS.EC2.CreateInternetGateway: instance FromXML CreateInternetGatewayResponse
- Network.AWS.EC2.CreateInternetGateway: instance Ord CreateInternetGateway
- Network.AWS.EC2.CreateKeyPair: ckprKeyFingerprint :: Lens' CreateKeyPairResponse Text
- Network.AWS.EC2.CreateKeyPair: ckprKeyMaterial :: Lens' CreateKeyPairResponse Text
- Network.AWS.EC2.CreateKeyPair: ckprKeyName :: Lens' CreateKeyPairResponse Text
- Network.AWS.EC2.CreateKeyPair: instance FromXML CreateKeyPairResponse
- Network.AWS.EC2.CreateKeyPair: instance Ord CreateKeyPair
- Network.AWS.EC2.CreateKeyPair: instance Ord CreateKeyPairResponse
- Network.AWS.EC2.CreateNetworkAcl: cnaDryRun :: Lens' CreateNetworkAcl (Maybe Bool)
- Network.AWS.EC2.CreateNetworkAcl: cnaVpcId :: Lens' CreateNetworkAcl Text
- Network.AWS.EC2.CreateNetworkAcl: cnarNetworkAcl :: Lens' CreateNetworkAclResponse (Maybe NetworkAcl)
- Network.AWS.EC2.CreateNetworkAcl: createNetworkAcl :: Text -> CreateNetworkAcl
- Network.AWS.EC2.CreateNetworkAcl: createNetworkAclResponse :: CreateNetworkAclResponse
- Network.AWS.EC2.CreateNetworkAcl: data CreateNetworkAcl
- Network.AWS.EC2.CreateNetworkAcl: data CreateNetworkAclResponse
- Network.AWS.EC2.CreateNetworkAcl: instance AWSRequest CreateNetworkAcl
- Network.AWS.EC2.CreateNetworkAcl: instance Eq CreateNetworkAcl
- Network.AWS.EC2.CreateNetworkAcl: instance Eq CreateNetworkAclResponse
- Network.AWS.EC2.CreateNetworkAcl: instance FromXML CreateNetworkAclResponse
- Network.AWS.EC2.CreateNetworkAcl: instance Ord CreateNetworkAcl
- Network.AWS.EC2.CreateNetworkAcl: instance Read CreateNetworkAcl
- Network.AWS.EC2.CreateNetworkAcl: instance Read CreateNetworkAclResponse
- Network.AWS.EC2.CreateNetworkAcl: instance Show CreateNetworkAcl
- Network.AWS.EC2.CreateNetworkAcl: instance Show CreateNetworkAclResponse
- Network.AWS.EC2.CreateNetworkAcl: instance ToHeaders CreateNetworkAcl
- Network.AWS.EC2.CreateNetworkAcl: instance ToPath CreateNetworkAcl
- Network.AWS.EC2.CreateNetworkAcl: instance ToQuery CreateNetworkAcl
- Network.AWS.EC2.CreateNetworkAclEntry: cnaeCidrBlock :: Lens' CreateNetworkAclEntry Text
- Network.AWS.EC2.CreateNetworkAclEntry: cnaeDryRun :: Lens' CreateNetworkAclEntry (Maybe Bool)
- Network.AWS.EC2.CreateNetworkAclEntry: cnaeEgress :: Lens' CreateNetworkAclEntry Bool
- Network.AWS.EC2.CreateNetworkAclEntry: cnaeIcmpTypeCode :: Lens' CreateNetworkAclEntry (Maybe IcmpTypeCode)
- Network.AWS.EC2.CreateNetworkAclEntry: cnaeNetworkAclId :: Lens' CreateNetworkAclEntry Text
- Network.AWS.EC2.CreateNetworkAclEntry: cnaePortRange :: Lens' CreateNetworkAclEntry (Maybe PortRange)
- Network.AWS.EC2.CreateNetworkAclEntry: cnaeProtocol :: Lens' CreateNetworkAclEntry Text
- Network.AWS.EC2.CreateNetworkAclEntry: cnaeRuleAction :: Lens' CreateNetworkAclEntry RuleAction
- Network.AWS.EC2.CreateNetworkAclEntry: cnaeRuleNumber :: Lens' CreateNetworkAclEntry Int
- Network.AWS.EC2.CreateNetworkAclEntry: createNetworkAclEntry :: Text -> Int -> Text -> RuleAction -> Bool -> Text -> CreateNetworkAclEntry
- Network.AWS.EC2.CreateNetworkAclEntry: createNetworkAclEntryResponse :: CreateNetworkAclEntryResponse
- Network.AWS.EC2.CreateNetworkAclEntry: data CreateNetworkAclEntry
- Network.AWS.EC2.CreateNetworkAclEntry: data CreateNetworkAclEntryResponse
- Network.AWS.EC2.CreateNetworkAclEntry: instance AWSRequest CreateNetworkAclEntry
- Network.AWS.EC2.CreateNetworkAclEntry: instance Constructor C1_0CreateNetworkAclEntryResponse
- Network.AWS.EC2.CreateNetworkAclEntry: instance Datatype D1CreateNetworkAclEntryResponse
- Network.AWS.EC2.CreateNetworkAclEntry: instance Eq CreateNetworkAclEntry
- Network.AWS.EC2.CreateNetworkAclEntry: instance Eq CreateNetworkAclEntryResponse
- Network.AWS.EC2.CreateNetworkAclEntry: instance Generic CreateNetworkAclEntryResponse
- Network.AWS.EC2.CreateNetworkAclEntry: instance Ord CreateNetworkAclEntryResponse
- Network.AWS.EC2.CreateNetworkAclEntry: instance Read CreateNetworkAclEntry
- Network.AWS.EC2.CreateNetworkAclEntry: instance Read CreateNetworkAclEntryResponse
- Network.AWS.EC2.CreateNetworkAclEntry: instance Show CreateNetworkAclEntry
- Network.AWS.EC2.CreateNetworkAclEntry: instance Show CreateNetworkAclEntryResponse
- Network.AWS.EC2.CreateNetworkAclEntry: instance ToHeaders CreateNetworkAclEntry
- Network.AWS.EC2.CreateNetworkAclEntry: instance ToPath CreateNetworkAclEntry
- Network.AWS.EC2.CreateNetworkAclEntry: instance ToQuery CreateNetworkAclEntry
- Network.AWS.EC2.CreateNetworkInterface: cniPrivateIpAddress :: Lens' CreateNetworkInterface (Maybe Text)
- Network.AWS.EC2.CreateNetworkInterface: cniPrivateIpAddresses :: Lens' CreateNetworkInterface [PrivateIpAddressSpecification]
- Network.AWS.EC2.CreateNetworkInterface: cniSecondaryPrivateIpAddressCount :: Lens' CreateNetworkInterface (Maybe Int)
- Network.AWS.EC2.CreateNetworkInterface: cnirNetworkInterface :: Lens' CreateNetworkInterfaceResponse (Maybe NetworkInterface)
- Network.AWS.EC2.CreateNetworkInterface: instance FromXML CreateNetworkInterfaceResponse
- Network.AWS.EC2.CreatePlacementGroup: instance Ord CreatePlacementGroupResponse
- Network.AWS.EC2.CreateReservedInstancesListing: crilr1ReservedInstancesListings :: Lens' CreateReservedInstancesListingResponse [ReservedInstancesListing]
- Network.AWS.EC2.CreateReservedInstancesListing: instance FromXML CreateReservedInstancesListingResponse
- Network.AWS.EC2.CreateReservedInstancesListing: instance Monoid CreateReservedInstancesListingResponse
- Network.AWS.EC2.CreateReservedInstancesListing: instance Semigroup CreateReservedInstancesListingResponse
- Network.AWS.EC2.CreateRoute: crClientToken :: Lens' CreateRoute (Maybe Text)
- Network.AWS.EC2.CreateRoute: crDestinationCidrBlock :: Lens' CreateRoute Text
- Network.AWS.EC2.CreateRoute: crVpcPeeringConnectionId :: Lens' CreateRoute (Maybe Text)
- Network.AWS.EC2.CreateRoute: crrClientToken :: Lens' CreateRouteResponse (Maybe Text)
- Network.AWS.EC2.CreateRoute: crrReturn :: Lens' CreateRouteResponse (Maybe Bool)
- Network.AWS.EC2.CreateRoute: instance FromXML CreateRouteResponse
- Network.AWS.EC2.CreateRoute: instance Ord CreateRoute
- Network.AWS.EC2.CreateRoute: instance Ord CreateRouteResponse
- Network.AWS.EC2.CreateRouteTable: crtVpcId :: Lens' CreateRouteTable Text
- Network.AWS.EC2.CreateRouteTable: crtrRouteTable :: Lens' CreateRouteTableResponse (Maybe RouteTable)
- Network.AWS.EC2.CreateRouteTable: instance FromXML CreateRouteTableResponse
- Network.AWS.EC2.CreateRouteTable: instance Ord CreateRouteTable
- Network.AWS.EC2.CreateSecurityGroup: csgVpcId :: Lens' CreateSecurityGroup (Maybe Text)
- Network.AWS.EC2.CreateSecurityGroup: csgrGroupId :: Lens' CreateSecurityGroupResponse Text
- Network.AWS.EC2.CreateSecurityGroup: instance FromXML CreateSecurityGroupResponse
- Network.AWS.EC2.CreateSecurityGroup: instance IsString CreateSecurityGroupResponse
- Network.AWS.EC2.CreateSecurityGroup: instance Monoid CreateSecurityGroupResponse
- Network.AWS.EC2.CreateSecurityGroup: instance Ord CreateSecurityGroup
- Network.AWS.EC2.CreateSecurityGroup: instance Ord CreateSecurityGroupResponse
- Network.AWS.EC2.CreateSnapshot: createSnapshotResponse :: Text -> Text -> SnapshotState -> UTCTime -> Text -> Text -> Text -> Int -> Bool -> CreateSnapshotResponse
- Network.AWS.EC2.CreateSnapshot: cs2Description :: Lens' CreateSnapshot (Maybe Text)
- Network.AWS.EC2.CreateSnapshot: cs2DryRun :: Lens' CreateSnapshot (Maybe Bool)
- Network.AWS.EC2.CreateSnapshot: cs2VolumeId :: Lens' CreateSnapshot Text
- Network.AWS.EC2.CreateSnapshot: csr1Description :: Lens' CreateSnapshotResponse Text
- Network.AWS.EC2.CreateSnapshot: csr1Encrypted :: Lens' CreateSnapshotResponse Bool
- Network.AWS.EC2.CreateSnapshot: csr1KmsKeyId :: Lens' CreateSnapshotResponse (Maybe Text)
- Network.AWS.EC2.CreateSnapshot: csr1OwnerAlias :: Lens' CreateSnapshotResponse (Maybe Text)
- Network.AWS.EC2.CreateSnapshot: csr1OwnerId :: Lens' CreateSnapshotResponse Text
- Network.AWS.EC2.CreateSnapshot: csr1Progress :: Lens' CreateSnapshotResponse Text
- Network.AWS.EC2.CreateSnapshot: csr1SnapshotId :: Lens' CreateSnapshotResponse Text
- Network.AWS.EC2.CreateSnapshot: csr1StartTime :: Lens' CreateSnapshotResponse UTCTime
- Network.AWS.EC2.CreateSnapshot: csr1State :: Lens' CreateSnapshotResponse SnapshotState
- Network.AWS.EC2.CreateSnapshot: csr1Tags :: Lens' CreateSnapshotResponse [Tag]
- Network.AWS.EC2.CreateSnapshot: csr1VolumeId :: Lens' CreateSnapshotResponse Text
- Network.AWS.EC2.CreateSnapshot: csr1VolumeSize :: Lens' CreateSnapshotResponse Int
- Network.AWS.EC2.CreateSnapshot: data CreateSnapshotResponse
- Network.AWS.EC2.CreateSnapshot: instance Eq CreateSnapshotResponse
- Network.AWS.EC2.CreateSnapshot: instance FromXML CreateSnapshotResponse
- Network.AWS.EC2.CreateSnapshot: instance Ord CreateSnapshot
- Network.AWS.EC2.CreateSnapshot: instance Read CreateSnapshotResponse
- Network.AWS.EC2.CreateSnapshot: instance Show CreateSnapshotResponse
- Network.AWS.EC2.CreateSpotDatafeedSubscription: csdsrSpotDatafeedSubscription :: Lens' CreateSpotDatafeedSubscriptionResponse (Maybe SpotDatafeedSubscription)
- Network.AWS.EC2.CreateSpotDatafeedSubscription: instance FromXML CreateSpotDatafeedSubscriptionResponse
- Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Ord CreateSpotDatafeedSubscription
- Network.AWS.EC2.CreateSubnet: cs1AvailabilityZone :: Lens' CreateSubnet (Maybe Text)
- Network.AWS.EC2.CreateSubnet: cs1CidrBlock :: Lens' CreateSubnet Text
- Network.AWS.EC2.CreateSubnet: cs1DryRun :: Lens' CreateSubnet (Maybe Bool)
- Network.AWS.EC2.CreateSubnet: cs1VpcId :: Lens' CreateSubnet Text
- Network.AWS.EC2.CreateSubnet: csrSubnet :: Lens' CreateSubnetResponse (Maybe Subnet)
- Network.AWS.EC2.CreateSubnet: instance FromXML CreateSubnetResponse
- Network.AWS.EC2.CreateSubnet: instance Ord CreateSubnet
- Network.AWS.EC2.CreateTags: ct1DryRun :: Lens' CreateTags (Maybe Bool)
- Network.AWS.EC2.CreateTags: ct1Resources :: Lens' CreateTags [Text]
- Network.AWS.EC2.CreateTags: ct1Tags :: Lens' CreateTags [Tag]
- Network.AWS.EC2.CreateTags: instance Ord CreateTagsResponse
- Network.AWS.EC2.CreateVolume: createVolumeResponse :: Text -> Int -> Text -> Text -> VolumeState -> UTCTime -> VolumeType -> Bool -> CreateVolumeResponse
- Network.AWS.EC2.CreateVolume: cv1AvailabilityZone :: Lens' CreateVolume Text
- Network.AWS.EC2.CreateVolume: cv1DryRun :: Lens' CreateVolume (Maybe Bool)
- Network.AWS.EC2.CreateVolume: cv1Encrypted :: Lens' CreateVolume (Maybe Bool)
- Network.AWS.EC2.CreateVolume: cv1Iops :: Lens' CreateVolume (Maybe Int)
- Network.AWS.EC2.CreateVolume: cv1KmsKeyId :: Lens' CreateVolume (Maybe Text)
- Network.AWS.EC2.CreateVolume: cv1Size :: Lens' CreateVolume (Maybe Int)
- Network.AWS.EC2.CreateVolume: cv1SnapshotId :: Lens' CreateVolume (Maybe Text)
- Network.AWS.EC2.CreateVolume: cv1VolumeType :: Lens' CreateVolume (Maybe VolumeType)
- Network.AWS.EC2.CreateVolume: cvrAttachments :: Lens' CreateVolumeResponse [VolumeAttachment]
- Network.AWS.EC2.CreateVolume: cvrAvailabilityZone :: Lens' CreateVolumeResponse Text
- Network.AWS.EC2.CreateVolume: cvrCreateTime :: Lens' CreateVolumeResponse UTCTime
- Network.AWS.EC2.CreateVolume: cvrEncrypted :: Lens' CreateVolumeResponse Bool
- Network.AWS.EC2.CreateVolume: cvrIops :: Lens' CreateVolumeResponse (Maybe Int)
- Network.AWS.EC2.CreateVolume: cvrKmsKeyId :: Lens' CreateVolumeResponse (Maybe Text)
- Network.AWS.EC2.CreateVolume: cvrSize :: Lens' CreateVolumeResponse Int
- Network.AWS.EC2.CreateVolume: cvrSnapshotId :: Lens' CreateVolumeResponse Text
- Network.AWS.EC2.CreateVolume: cvrState :: Lens' CreateVolumeResponse VolumeState
- Network.AWS.EC2.CreateVolume: cvrTags :: Lens' CreateVolumeResponse [Tag]
- Network.AWS.EC2.CreateVolume: cvrVolumeId :: Lens' CreateVolumeResponse Text
- Network.AWS.EC2.CreateVolume: cvrVolumeType :: Lens' CreateVolumeResponse VolumeType
- Network.AWS.EC2.CreateVolume: data CreateVolumeResponse
- Network.AWS.EC2.CreateVolume: instance Eq CreateVolumeResponse
- Network.AWS.EC2.CreateVolume: instance FromXML CreateVolumeResponse
- Network.AWS.EC2.CreateVolume: instance Read CreateVolumeResponse
- Network.AWS.EC2.CreateVolume: instance Show CreateVolumeResponse
- Network.AWS.EC2.CreateVpc: createVpc :: Text -> CreateVpc
- Network.AWS.EC2.CreateVpc: createVpcResponse :: CreateVpcResponse
- Network.AWS.EC2.CreateVpc: cvCidrBlock :: Lens' CreateVpc Text
- Network.AWS.EC2.CreateVpc: cvDryRun :: Lens' CreateVpc (Maybe Bool)
- Network.AWS.EC2.CreateVpc: cvInstanceTenancy :: Lens' CreateVpc (Maybe Tenancy)
- Network.AWS.EC2.CreateVpc: cvrVpc :: Lens' CreateVpcResponse (Maybe Vpc)
- Network.AWS.EC2.CreateVpc: data CreateVpc
- Network.AWS.EC2.CreateVpc: data CreateVpcResponse
- Network.AWS.EC2.CreateVpc: instance AWSRequest CreateVpc
- Network.AWS.EC2.CreateVpc: instance Eq CreateVpc
- Network.AWS.EC2.CreateVpc: instance Eq CreateVpcResponse
- Network.AWS.EC2.CreateVpc: instance FromXML CreateVpcResponse
- Network.AWS.EC2.CreateVpc: instance Read CreateVpc
- Network.AWS.EC2.CreateVpc: instance Read CreateVpcResponse
- Network.AWS.EC2.CreateVpc: instance Show CreateVpc
- Network.AWS.EC2.CreateVpc: instance Show CreateVpcResponse
- Network.AWS.EC2.CreateVpc: instance ToHeaders CreateVpc
- Network.AWS.EC2.CreateVpc: instance ToPath CreateVpc
- Network.AWS.EC2.CreateVpc: instance ToQuery CreateVpc
- Network.AWS.EC2.CreateVpcEndpoint: createVpcEndpoint :: Text -> Text -> CreateVpcEndpoint
- Network.AWS.EC2.CreateVpcEndpoint: createVpcEndpointResponse :: CreateVpcEndpointResponse
- Network.AWS.EC2.CreateVpcEndpoint: cveClientToken :: Lens' CreateVpcEndpoint (Maybe Text)
- Network.AWS.EC2.CreateVpcEndpoint: cveDryRun :: Lens' CreateVpcEndpoint (Maybe Bool)
- Network.AWS.EC2.CreateVpcEndpoint: cvePolicyDocument :: Lens' CreateVpcEndpoint (Maybe Text)
- Network.AWS.EC2.CreateVpcEndpoint: cveRouteTableIds :: Lens' CreateVpcEndpoint [Text]
- Network.AWS.EC2.CreateVpcEndpoint: cveServiceName :: Lens' CreateVpcEndpoint Text
- Network.AWS.EC2.CreateVpcEndpoint: cveVpcId :: Lens' CreateVpcEndpoint Text
- Network.AWS.EC2.CreateVpcEndpoint: cverClientToken :: Lens' CreateVpcEndpointResponse (Maybe Text)
- Network.AWS.EC2.CreateVpcEndpoint: cverVpcEndpoint :: Lens' CreateVpcEndpointResponse (Maybe VpcEndpoint)
- Network.AWS.EC2.CreateVpcEndpoint: data CreateVpcEndpoint
- Network.AWS.EC2.CreateVpcEndpoint: data CreateVpcEndpointResponse
- Network.AWS.EC2.CreateVpcEndpoint: instance AWSRequest CreateVpcEndpoint
- Network.AWS.EC2.CreateVpcEndpoint: instance Eq CreateVpcEndpoint
- Network.AWS.EC2.CreateVpcEndpoint: instance Eq CreateVpcEndpointResponse
- Network.AWS.EC2.CreateVpcEndpoint: instance FromXML CreateVpcEndpointResponse
- Network.AWS.EC2.CreateVpcEndpoint: instance Ord CreateVpcEndpoint
- Network.AWS.EC2.CreateVpcEndpoint: instance Read CreateVpcEndpoint
- Network.AWS.EC2.CreateVpcEndpoint: instance Read CreateVpcEndpointResponse
- Network.AWS.EC2.CreateVpcEndpoint: instance Show CreateVpcEndpoint
- Network.AWS.EC2.CreateVpcEndpoint: instance Show CreateVpcEndpointResponse
- Network.AWS.EC2.CreateVpcEndpoint: instance ToHeaders CreateVpcEndpoint
- Network.AWS.EC2.CreateVpcEndpoint: instance ToPath CreateVpcEndpoint
- Network.AWS.EC2.CreateVpcEndpoint: instance ToQuery CreateVpcEndpoint
- Network.AWS.EC2.CreateVpcPeeringConnection: createVpcPeeringConnection :: CreateVpcPeeringConnection
- Network.AWS.EC2.CreateVpcPeeringConnection: createVpcPeeringConnectionResponse :: CreateVpcPeeringConnectionResponse
- Network.AWS.EC2.CreateVpcPeeringConnection: cvpcDryRun :: Lens' CreateVpcPeeringConnection (Maybe Bool)
- Network.AWS.EC2.CreateVpcPeeringConnection: cvpcPeerOwnerId :: Lens' CreateVpcPeeringConnection (Maybe Text)
- Network.AWS.EC2.CreateVpcPeeringConnection: cvpcPeerVpcId :: Lens' CreateVpcPeeringConnection (Maybe Text)
- Network.AWS.EC2.CreateVpcPeeringConnection: cvpcVpcId :: Lens' CreateVpcPeeringConnection (Maybe Text)
- Network.AWS.EC2.CreateVpcPeeringConnection: cvpcrVpcPeeringConnection :: Lens' CreateVpcPeeringConnectionResponse (Maybe VpcPeeringConnection)
- Network.AWS.EC2.CreateVpcPeeringConnection: data CreateVpcPeeringConnection
- Network.AWS.EC2.CreateVpcPeeringConnection: data CreateVpcPeeringConnectionResponse
- Network.AWS.EC2.CreateVpcPeeringConnection: instance AWSRequest CreateVpcPeeringConnection
- Network.AWS.EC2.CreateVpcPeeringConnection: instance Eq CreateVpcPeeringConnection
- Network.AWS.EC2.CreateVpcPeeringConnection: instance Eq CreateVpcPeeringConnectionResponse
- Network.AWS.EC2.CreateVpcPeeringConnection: instance FromXML CreateVpcPeeringConnectionResponse
- Network.AWS.EC2.CreateVpcPeeringConnection: instance Ord CreateVpcPeeringConnection
- Network.AWS.EC2.CreateVpcPeeringConnection: instance Read CreateVpcPeeringConnection
- Network.AWS.EC2.CreateVpcPeeringConnection: instance Read CreateVpcPeeringConnectionResponse
- Network.AWS.EC2.CreateVpcPeeringConnection: instance Show CreateVpcPeeringConnection
- Network.AWS.EC2.CreateVpcPeeringConnection: instance Show CreateVpcPeeringConnectionResponse
- Network.AWS.EC2.CreateVpcPeeringConnection: instance ToHeaders CreateVpcPeeringConnection
- Network.AWS.EC2.CreateVpcPeeringConnection: instance ToPath CreateVpcPeeringConnection
- Network.AWS.EC2.CreateVpcPeeringConnection: instance ToQuery CreateVpcPeeringConnection
- Network.AWS.EC2.CreateVpnConnection: createVpnConnection :: Text -> Text -> Text -> CreateVpnConnection
- Network.AWS.EC2.CreateVpnConnection: createVpnConnectionResponse :: CreateVpnConnectionResponse
- Network.AWS.EC2.CreateVpnConnection: cvcCustomerGatewayId :: Lens' CreateVpnConnection Text
- Network.AWS.EC2.CreateVpnConnection: cvcDryRun :: Lens' CreateVpnConnection (Maybe Bool)
- Network.AWS.EC2.CreateVpnConnection: cvcOptions :: Lens' CreateVpnConnection (Maybe VpnConnectionOptionsSpecification)
- Network.AWS.EC2.CreateVpnConnection: cvcType :: Lens' CreateVpnConnection Text
- Network.AWS.EC2.CreateVpnConnection: cvcVpnGatewayId :: Lens' CreateVpnConnection Text
- Network.AWS.EC2.CreateVpnConnection: cvcrVpnConnection :: Lens' CreateVpnConnectionResponse (Maybe VpnConnection)
- Network.AWS.EC2.CreateVpnConnection: data CreateVpnConnection
- Network.AWS.EC2.CreateVpnConnection: data CreateVpnConnectionResponse
- Network.AWS.EC2.CreateVpnConnection: instance AWSRequest CreateVpnConnection
- Network.AWS.EC2.CreateVpnConnection: instance Eq CreateVpnConnection
- Network.AWS.EC2.CreateVpnConnection: instance Eq CreateVpnConnectionResponse
- Network.AWS.EC2.CreateVpnConnection: instance FromXML CreateVpnConnectionResponse
- Network.AWS.EC2.CreateVpnConnection: instance Read CreateVpnConnection
- Network.AWS.EC2.CreateVpnConnection: instance Read CreateVpnConnectionResponse
- Network.AWS.EC2.CreateVpnConnection: instance Show CreateVpnConnection
- Network.AWS.EC2.CreateVpnConnection: instance Show CreateVpnConnectionResponse
- Network.AWS.EC2.CreateVpnConnection: instance ToHeaders CreateVpnConnection
- Network.AWS.EC2.CreateVpnConnection: instance ToPath CreateVpnConnection
- Network.AWS.EC2.CreateVpnConnection: instance ToQuery CreateVpnConnection
- Network.AWS.EC2.CreateVpnConnectionRoute: createVpnConnectionRoute :: Text -> Text -> CreateVpnConnectionRoute
- Network.AWS.EC2.CreateVpnConnectionRoute: createVpnConnectionRouteResponse :: CreateVpnConnectionRouteResponse
- Network.AWS.EC2.CreateVpnConnectionRoute: cvcrDestinationCidrBlock :: Lens' CreateVpnConnectionRoute Text
- Network.AWS.EC2.CreateVpnConnectionRoute: cvcrVpnConnectionId :: Lens' CreateVpnConnectionRoute Text
- Network.AWS.EC2.CreateVpnConnectionRoute: data CreateVpnConnectionRoute
- Network.AWS.EC2.CreateVpnConnectionRoute: data CreateVpnConnectionRouteResponse
- Network.AWS.EC2.CreateVpnConnectionRoute: instance AWSRequest CreateVpnConnectionRoute
- Network.AWS.EC2.CreateVpnConnectionRoute: instance Constructor C1_0CreateVpnConnectionRouteResponse
- Network.AWS.EC2.CreateVpnConnectionRoute: instance Datatype D1CreateVpnConnectionRouteResponse
- Network.AWS.EC2.CreateVpnConnectionRoute: instance Eq CreateVpnConnectionRoute
- Network.AWS.EC2.CreateVpnConnectionRoute: instance Eq CreateVpnConnectionRouteResponse
- Network.AWS.EC2.CreateVpnConnectionRoute: instance Generic CreateVpnConnectionRouteResponse
- Network.AWS.EC2.CreateVpnConnectionRoute: instance Ord CreateVpnConnectionRoute
- Network.AWS.EC2.CreateVpnConnectionRoute: instance Ord CreateVpnConnectionRouteResponse
- Network.AWS.EC2.CreateVpnConnectionRoute: instance Read CreateVpnConnectionRoute
- Network.AWS.EC2.CreateVpnConnectionRoute: instance Read CreateVpnConnectionRouteResponse
- Network.AWS.EC2.CreateVpnConnectionRoute: instance Show CreateVpnConnectionRoute
- Network.AWS.EC2.CreateVpnConnectionRoute: instance Show CreateVpnConnectionRouteResponse
- Network.AWS.EC2.CreateVpnConnectionRoute: instance ToHeaders CreateVpnConnectionRoute
- Network.AWS.EC2.CreateVpnConnectionRoute: instance ToPath CreateVpnConnectionRoute
- Network.AWS.EC2.CreateVpnConnectionRoute: instance ToQuery CreateVpnConnectionRoute
- Network.AWS.EC2.CreateVpnGateway: createVpnGateway :: GatewayType -> CreateVpnGateway
- Network.AWS.EC2.CreateVpnGateway: createVpnGatewayResponse :: CreateVpnGatewayResponse
- Network.AWS.EC2.CreateVpnGateway: cvgAvailabilityZone :: Lens' CreateVpnGateway (Maybe Text)
- Network.AWS.EC2.CreateVpnGateway: cvgDryRun :: Lens' CreateVpnGateway (Maybe Bool)
- Network.AWS.EC2.CreateVpnGateway: cvgType :: Lens' CreateVpnGateway GatewayType
- Network.AWS.EC2.CreateVpnGateway: cvgrVpnGateway :: Lens' CreateVpnGatewayResponse (Maybe VpnGateway)
- Network.AWS.EC2.CreateVpnGateway: data CreateVpnGateway
- Network.AWS.EC2.CreateVpnGateway: data CreateVpnGatewayResponse
- Network.AWS.EC2.CreateVpnGateway: instance AWSRequest CreateVpnGateway
- Network.AWS.EC2.CreateVpnGateway: instance Eq CreateVpnGateway
- Network.AWS.EC2.CreateVpnGateway: instance Eq CreateVpnGatewayResponse
- Network.AWS.EC2.CreateVpnGateway: instance FromXML CreateVpnGatewayResponse
- Network.AWS.EC2.CreateVpnGateway: instance Read CreateVpnGateway
- Network.AWS.EC2.CreateVpnGateway: instance Read CreateVpnGatewayResponse
- Network.AWS.EC2.CreateVpnGateway: instance Show CreateVpnGateway
- Network.AWS.EC2.CreateVpnGateway: instance Show CreateVpnGatewayResponse
- Network.AWS.EC2.CreateVpnGateway: instance ToHeaders CreateVpnGateway
- Network.AWS.EC2.CreateVpnGateway: instance ToPath CreateVpnGateway
- Network.AWS.EC2.CreateVpnGateway: instance ToQuery CreateVpnGateway
- Network.AWS.EC2.DeleteCustomerGateway: dcg1CustomerGatewayId :: Lens' DeleteCustomerGateway Text
- Network.AWS.EC2.DeleteCustomerGateway: dcg1DryRun :: Lens' DeleteCustomerGateway (Maybe Bool)
- Network.AWS.EC2.DeleteCustomerGateway: instance Ord DeleteCustomerGateway
- Network.AWS.EC2.DeleteCustomerGateway: instance Ord DeleteCustomerGatewayResponse
- Network.AWS.EC2.DeleteDhcpOptions: data DeleteDhcpOptions
- Network.AWS.EC2.DeleteDhcpOptions: data DeleteDhcpOptionsResponse
- Network.AWS.EC2.DeleteDhcpOptions: ddo1DhcpOptionsId :: Lens' DeleteDhcpOptions Text
- Network.AWS.EC2.DeleteDhcpOptions: ddo1DryRun :: Lens' DeleteDhcpOptions (Maybe Bool)
- Network.AWS.EC2.DeleteDhcpOptions: deleteDhcpOptions :: Text -> DeleteDhcpOptions
- Network.AWS.EC2.DeleteDhcpOptions: deleteDhcpOptionsResponse :: DeleteDhcpOptionsResponse
- Network.AWS.EC2.DeleteDhcpOptions: instance AWSRequest DeleteDhcpOptions
- Network.AWS.EC2.DeleteDhcpOptions: instance Constructor C1_0DeleteDhcpOptionsResponse
- Network.AWS.EC2.DeleteDhcpOptions: instance Datatype D1DeleteDhcpOptionsResponse
- Network.AWS.EC2.DeleteDhcpOptions: instance Eq DeleteDhcpOptions
- Network.AWS.EC2.DeleteDhcpOptions: instance Eq DeleteDhcpOptionsResponse
- Network.AWS.EC2.DeleteDhcpOptions: instance Generic DeleteDhcpOptionsResponse
- Network.AWS.EC2.DeleteDhcpOptions: instance Ord DeleteDhcpOptions
- Network.AWS.EC2.DeleteDhcpOptions: instance Ord DeleteDhcpOptionsResponse
- Network.AWS.EC2.DeleteDhcpOptions: instance Read DeleteDhcpOptions
- Network.AWS.EC2.DeleteDhcpOptions: instance Read DeleteDhcpOptionsResponse
- Network.AWS.EC2.DeleteDhcpOptions: instance Show DeleteDhcpOptions
- Network.AWS.EC2.DeleteDhcpOptions: instance Show DeleteDhcpOptionsResponse
- Network.AWS.EC2.DeleteDhcpOptions: instance ToHeaders DeleteDhcpOptions
- Network.AWS.EC2.DeleteDhcpOptions: instance ToPath DeleteDhcpOptions
- Network.AWS.EC2.DeleteDhcpOptions: instance ToQuery DeleteDhcpOptions
- Network.AWS.EC2.DeleteInternetGateway: dig2DryRun :: Lens' DeleteInternetGateway (Maybe Bool)
- Network.AWS.EC2.DeleteInternetGateway: dig2InternetGatewayId :: Lens' DeleteInternetGateway Text
- Network.AWS.EC2.DeleteInternetGateway: instance Ord DeleteInternetGateway
- Network.AWS.EC2.DeleteInternetGateway: instance Ord DeleteInternetGatewayResponse
- Network.AWS.EC2.DeleteKeyPair: instance Ord DeleteKeyPair
- Network.AWS.EC2.DeleteKeyPair: instance Ord DeleteKeyPairResponse
- Network.AWS.EC2.DeleteNetworkAcl: data DeleteNetworkAcl
- Network.AWS.EC2.DeleteNetworkAcl: data DeleteNetworkAclResponse
- Network.AWS.EC2.DeleteNetworkAcl: deleteNetworkAcl :: Text -> DeleteNetworkAcl
- Network.AWS.EC2.DeleteNetworkAcl: deleteNetworkAclResponse :: DeleteNetworkAclResponse
- Network.AWS.EC2.DeleteNetworkAcl: dnaDryRun :: Lens' DeleteNetworkAcl (Maybe Bool)
- Network.AWS.EC2.DeleteNetworkAcl: dnaNetworkAclId :: Lens' DeleteNetworkAcl Text
- Network.AWS.EC2.DeleteNetworkAcl: instance AWSRequest DeleteNetworkAcl
- Network.AWS.EC2.DeleteNetworkAcl: instance Constructor C1_0DeleteNetworkAclResponse
- Network.AWS.EC2.DeleteNetworkAcl: instance Datatype D1DeleteNetworkAclResponse
- Network.AWS.EC2.DeleteNetworkAcl: instance Eq DeleteNetworkAcl
- Network.AWS.EC2.DeleteNetworkAcl: instance Eq DeleteNetworkAclResponse
- Network.AWS.EC2.DeleteNetworkAcl: instance Generic DeleteNetworkAclResponse
- Network.AWS.EC2.DeleteNetworkAcl: instance Ord DeleteNetworkAcl
- Network.AWS.EC2.DeleteNetworkAcl: instance Ord DeleteNetworkAclResponse
- Network.AWS.EC2.DeleteNetworkAcl: instance Read DeleteNetworkAcl
- Network.AWS.EC2.DeleteNetworkAcl: instance Read DeleteNetworkAclResponse
- Network.AWS.EC2.DeleteNetworkAcl: instance Show DeleteNetworkAcl
- Network.AWS.EC2.DeleteNetworkAcl: instance Show DeleteNetworkAclResponse
- Network.AWS.EC2.DeleteNetworkAcl: instance ToHeaders DeleteNetworkAcl
- Network.AWS.EC2.DeleteNetworkAcl: instance ToPath DeleteNetworkAcl
- Network.AWS.EC2.DeleteNetworkAcl: instance ToQuery DeleteNetworkAcl
- Network.AWS.EC2.DeleteNetworkAclEntry: data DeleteNetworkAclEntry
- Network.AWS.EC2.DeleteNetworkAclEntry: data DeleteNetworkAclEntryResponse
- Network.AWS.EC2.DeleteNetworkAclEntry: deleteNetworkAclEntry :: Text -> Int -> Bool -> DeleteNetworkAclEntry
- Network.AWS.EC2.DeleteNetworkAclEntry: deleteNetworkAclEntryResponse :: DeleteNetworkAclEntryResponse
- Network.AWS.EC2.DeleteNetworkAclEntry: dnaeDryRun :: Lens' DeleteNetworkAclEntry (Maybe Bool)
- Network.AWS.EC2.DeleteNetworkAclEntry: dnaeEgress :: Lens' DeleteNetworkAclEntry Bool
- Network.AWS.EC2.DeleteNetworkAclEntry: dnaeNetworkAclId :: Lens' DeleteNetworkAclEntry Text
- Network.AWS.EC2.DeleteNetworkAclEntry: dnaeRuleNumber :: Lens' DeleteNetworkAclEntry Int
- Network.AWS.EC2.DeleteNetworkAclEntry: instance AWSRequest DeleteNetworkAclEntry
- Network.AWS.EC2.DeleteNetworkAclEntry: instance Constructor C1_0DeleteNetworkAclEntryResponse
- Network.AWS.EC2.DeleteNetworkAclEntry: instance Datatype D1DeleteNetworkAclEntryResponse
- Network.AWS.EC2.DeleteNetworkAclEntry: instance Eq DeleteNetworkAclEntry
- Network.AWS.EC2.DeleteNetworkAclEntry: instance Eq DeleteNetworkAclEntryResponse
- Network.AWS.EC2.DeleteNetworkAclEntry: instance Generic DeleteNetworkAclEntryResponse
- Network.AWS.EC2.DeleteNetworkAclEntry: instance Ord DeleteNetworkAclEntry
- Network.AWS.EC2.DeleteNetworkAclEntry: instance Ord DeleteNetworkAclEntryResponse
- Network.AWS.EC2.DeleteNetworkAclEntry: instance Read DeleteNetworkAclEntry
- Network.AWS.EC2.DeleteNetworkAclEntry: instance Read DeleteNetworkAclEntryResponse
- Network.AWS.EC2.DeleteNetworkAclEntry: instance Show DeleteNetworkAclEntry
- Network.AWS.EC2.DeleteNetworkAclEntry: instance Show DeleteNetworkAclEntryResponse
- Network.AWS.EC2.DeleteNetworkAclEntry: instance ToHeaders DeleteNetworkAclEntry
- Network.AWS.EC2.DeleteNetworkAclEntry: instance ToPath DeleteNetworkAclEntry
- Network.AWS.EC2.DeleteNetworkAclEntry: instance ToQuery DeleteNetworkAclEntry
- Network.AWS.EC2.DeleteNetworkInterface: dni2DryRun :: Lens' DeleteNetworkInterface (Maybe Bool)
- Network.AWS.EC2.DeleteNetworkInterface: dni2NetworkInterfaceId :: Lens' DeleteNetworkInterface Text
- Network.AWS.EC2.DeleteNetworkInterface: instance Ord DeleteNetworkInterface
- Network.AWS.EC2.DeleteNetworkInterface: instance Ord DeleteNetworkInterfaceResponse
- Network.AWS.EC2.DeletePlacementGroup: instance Ord DeletePlacementGroup
- Network.AWS.EC2.DeletePlacementGroup: instance Ord DeletePlacementGroupResponse
- Network.AWS.EC2.DeleteRoute: drDestinationCidrBlock :: Lens' DeleteRoute Text
- Network.AWS.EC2.DeleteRoute: instance Ord DeleteRoute
- Network.AWS.EC2.DeleteRoute: instance Ord DeleteRouteResponse
- Network.AWS.EC2.DeleteRouteTable: drt1DryRun :: Lens' DeleteRouteTable (Maybe Bool)
- Network.AWS.EC2.DeleteRouteTable: drt1RouteTableId :: Lens' DeleteRouteTable Text
- Network.AWS.EC2.DeleteRouteTable: instance Ord DeleteRouteTable
- Network.AWS.EC2.DeleteRouteTable: instance Ord DeleteRouteTableResponse
- Network.AWS.EC2.DeleteSecurityGroup: instance Ord DeleteSecurityGroup
- Network.AWS.EC2.DeleteSecurityGroup: instance Ord DeleteSecurityGroupResponse
- Network.AWS.EC2.DeleteSnapshot: ds3DryRun :: Lens' DeleteSnapshot (Maybe Bool)
- Network.AWS.EC2.DeleteSnapshot: ds3SnapshotId :: Lens' DeleteSnapshot Text
- Network.AWS.EC2.DeleteSnapshot: instance Ord DeleteSnapshot
- Network.AWS.EC2.DeleteSnapshot: instance Ord DeleteSnapshotResponse
- Network.AWS.EC2.DeleteSpotDatafeedSubscription: dsds1DryRun :: Lens' DeleteSpotDatafeedSubscription (Maybe Bool)
- Network.AWS.EC2.DeleteSpotDatafeedSubscription: instance Ord DeleteSpotDatafeedSubscription
- Network.AWS.EC2.DeleteSpotDatafeedSubscription: instance Ord DeleteSpotDatafeedSubscriptionResponse
- Network.AWS.EC2.DeleteSubnet: ds2DryRun :: Lens' DeleteSubnet (Maybe Bool)
- Network.AWS.EC2.DeleteSubnet: ds2SubnetId :: Lens' DeleteSubnet Text
- Network.AWS.EC2.DeleteSubnet: instance Ord DeleteSubnet
- Network.AWS.EC2.DeleteSubnet: instance Ord DeleteSubnetResponse
- Network.AWS.EC2.DeleteTags: dt1DryRun :: Lens' DeleteTags (Maybe Bool)
- Network.AWS.EC2.DeleteTags: dt1Resources :: Lens' DeleteTags [Text]
- Network.AWS.EC2.DeleteTags: dt1Tags :: Lens' DeleteTags [Tag]
- Network.AWS.EC2.DeleteTags: instance Ord DeleteTagsResponse
- Network.AWS.EC2.DeleteVolume: dv4DryRun :: Lens' DeleteVolume (Maybe Bool)
- Network.AWS.EC2.DeleteVolume: dv4VolumeId :: Lens' DeleteVolume Text
- Network.AWS.EC2.DeleteVolume: instance Ord DeleteVolume
- Network.AWS.EC2.DeleteVolume: instance Ord DeleteVolumeResponse
- Network.AWS.EC2.DeleteVpc: data DeleteVpc
- Network.AWS.EC2.DeleteVpc: data DeleteVpcResponse
- Network.AWS.EC2.DeleteVpc: deleteVpc :: Text -> DeleteVpc
- Network.AWS.EC2.DeleteVpc: deleteVpcResponse :: DeleteVpcResponse
- Network.AWS.EC2.DeleteVpc: dv3DryRun :: Lens' DeleteVpc (Maybe Bool)
- Network.AWS.EC2.DeleteVpc: dv3VpcId :: Lens' DeleteVpc Text
- Network.AWS.EC2.DeleteVpc: instance AWSRequest DeleteVpc
- Network.AWS.EC2.DeleteVpc: instance Constructor C1_0DeleteVpcResponse
- Network.AWS.EC2.DeleteVpc: instance Datatype D1DeleteVpcResponse
- Network.AWS.EC2.DeleteVpc: instance Eq DeleteVpc
- Network.AWS.EC2.DeleteVpc: instance Eq DeleteVpcResponse
- Network.AWS.EC2.DeleteVpc: instance Generic DeleteVpcResponse
- Network.AWS.EC2.DeleteVpc: instance Ord DeleteVpc
- Network.AWS.EC2.DeleteVpc: instance Ord DeleteVpcResponse
- Network.AWS.EC2.DeleteVpc: instance Read DeleteVpc
- Network.AWS.EC2.DeleteVpc: instance Read DeleteVpcResponse
- Network.AWS.EC2.DeleteVpc: instance Show DeleteVpc
- Network.AWS.EC2.DeleteVpc: instance Show DeleteVpcResponse
- Network.AWS.EC2.DeleteVpc: instance ToHeaders DeleteVpc
- Network.AWS.EC2.DeleteVpc: instance ToPath DeleteVpc
- Network.AWS.EC2.DeleteVpc: instance ToQuery DeleteVpc
- Network.AWS.EC2.DeleteVpcEndpoints: data DeleteVpcEndpoints
- Network.AWS.EC2.DeleteVpcEndpoints: data DeleteVpcEndpointsResponse
- Network.AWS.EC2.DeleteVpcEndpoints: deleteVpcEndpoints :: DeleteVpcEndpoints
- Network.AWS.EC2.DeleteVpcEndpoints: deleteVpcEndpointsResponse :: DeleteVpcEndpointsResponse
- Network.AWS.EC2.DeleteVpcEndpoints: dveDryRun :: Lens' DeleteVpcEndpoints (Maybe Bool)
- Network.AWS.EC2.DeleteVpcEndpoints: dveVpcEndpointIds :: Lens' DeleteVpcEndpoints [Text]
- Network.AWS.EC2.DeleteVpcEndpoints: dverUnsuccessful :: Lens' DeleteVpcEndpointsResponse [UnsuccessfulItem]
- Network.AWS.EC2.DeleteVpcEndpoints: instance AWSRequest DeleteVpcEndpoints
- Network.AWS.EC2.DeleteVpcEndpoints: instance Eq DeleteVpcEndpoints
- Network.AWS.EC2.DeleteVpcEndpoints: instance Eq DeleteVpcEndpointsResponse
- Network.AWS.EC2.DeleteVpcEndpoints: instance FromXML DeleteVpcEndpointsResponse
- Network.AWS.EC2.DeleteVpcEndpoints: instance Monoid DeleteVpcEndpointsResponse
- Network.AWS.EC2.DeleteVpcEndpoints: instance Ord DeleteVpcEndpoints
- Network.AWS.EC2.DeleteVpcEndpoints: instance Read DeleteVpcEndpoints
- Network.AWS.EC2.DeleteVpcEndpoints: instance Read DeleteVpcEndpointsResponse
- Network.AWS.EC2.DeleteVpcEndpoints: instance Semigroup DeleteVpcEndpointsResponse
- Network.AWS.EC2.DeleteVpcEndpoints: instance Show DeleteVpcEndpoints
- Network.AWS.EC2.DeleteVpcEndpoints: instance Show DeleteVpcEndpointsResponse
- Network.AWS.EC2.DeleteVpcEndpoints: instance ToHeaders DeleteVpcEndpoints
- Network.AWS.EC2.DeleteVpcEndpoints: instance ToPath DeleteVpcEndpoints
- Network.AWS.EC2.DeleteVpcEndpoints: instance ToQuery DeleteVpcEndpoints
- Network.AWS.EC2.DeleteVpcPeeringConnection: data DeleteVpcPeeringConnection
- Network.AWS.EC2.DeleteVpcPeeringConnection: data DeleteVpcPeeringConnectionResponse
- Network.AWS.EC2.DeleteVpcPeeringConnection: deleteVpcPeeringConnection :: Text -> DeleteVpcPeeringConnection
- Network.AWS.EC2.DeleteVpcPeeringConnection: deleteVpcPeeringConnectionResponse :: DeleteVpcPeeringConnectionResponse
- Network.AWS.EC2.DeleteVpcPeeringConnection: dvpcDryRun :: Lens' DeleteVpcPeeringConnection (Maybe Bool)
- Network.AWS.EC2.DeleteVpcPeeringConnection: dvpcVpcPeeringConnectionId :: Lens' DeleteVpcPeeringConnection Text
- Network.AWS.EC2.DeleteVpcPeeringConnection: dvpcrReturn :: Lens' DeleteVpcPeeringConnectionResponse (Maybe Bool)
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance AWSRequest DeleteVpcPeeringConnection
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance Eq DeleteVpcPeeringConnection
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance Eq DeleteVpcPeeringConnectionResponse
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance FromXML DeleteVpcPeeringConnectionResponse
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance Ord DeleteVpcPeeringConnection
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance Ord DeleteVpcPeeringConnectionResponse
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance Read DeleteVpcPeeringConnection
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance Read DeleteVpcPeeringConnectionResponse
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance Show DeleteVpcPeeringConnection
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance Show DeleteVpcPeeringConnectionResponse
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance ToHeaders DeleteVpcPeeringConnection
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance ToPath DeleteVpcPeeringConnection
- Network.AWS.EC2.DeleteVpcPeeringConnection: instance ToQuery DeleteVpcPeeringConnection
- Network.AWS.EC2.DeleteVpnConnection: data DeleteVpnConnection
- Network.AWS.EC2.DeleteVpnConnection: data DeleteVpnConnectionResponse
- Network.AWS.EC2.DeleteVpnConnection: deleteVpnConnection :: Text -> DeleteVpnConnection
- Network.AWS.EC2.DeleteVpnConnection: deleteVpnConnectionResponse :: DeleteVpnConnectionResponse
- Network.AWS.EC2.DeleteVpnConnection: dvcDryRun :: Lens' DeleteVpnConnection (Maybe Bool)
- Network.AWS.EC2.DeleteVpnConnection: dvcVpnConnectionId :: Lens' DeleteVpnConnection Text
- Network.AWS.EC2.DeleteVpnConnection: instance AWSRequest DeleteVpnConnection
- Network.AWS.EC2.DeleteVpnConnection: instance Constructor C1_0DeleteVpnConnectionResponse
- Network.AWS.EC2.DeleteVpnConnection: instance Datatype D1DeleteVpnConnectionResponse
- Network.AWS.EC2.DeleteVpnConnection: instance Eq DeleteVpnConnection
- Network.AWS.EC2.DeleteVpnConnection: instance Eq DeleteVpnConnectionResponse
- Network.AWS.EC2.DeleteVpnConnection: instance Generic DeleteVpnConnectionResponse
- Network.AWS.EC2.DeleteVpnConnection: instance Ord DeleteVpnConnection
- Network.AWS.EC2.DeleteVpnConnection: instance Ord DeleteVpnConnectionResponse
- Network.AWS.EC2.DeleteVpnConnection: instance Read DeleteVpnConnection
- Network.AWS.EC2.DeleteVpnConnection: instance Read DeleteVpnConnectionResponse
- Network.AWS.EC2.DeleteVpnConnection: instance Show DeleteVpnConnection
- Network.AWS.EC2.DeleteVpnConnection: instance Show DeleteVpnConnectionResponse
- Network.AWS.EC2.DeleteVpnConnection: instance ToHeaders DeleteVpnConnection
- Network.AWS.EC2.DeleteVpnConnection: instance ToPath DeleteVpnConnection
- Network.AWS.EC2.DeleteVpnConnection: instance ToQuery DeleteVpnConnection
- Network.AWS.EC2.DeleteVpnConnectionRoute: data DeleteVpnConnectionRoute
- Network.AWS.EC2.DeleteVpnConnectionRoute: data DeleteVpnConnectionRouteResponse
- Network.AWS.EC2.DeleteVpnConnectionRoute: deleteVpnConnectionRoute :: Text -> Text -> DeleteVpnConnectionRoute
- Network.AWS.EC2.DeleteVpnConnectionRoute: deleteVpnConnectionRouteResponse :: DeleteVpnConnectionRouteResponse
- Network.AWS.EC2.DeleteVpnConnectionRoute: dvcrDestinationCidrBlock :: Lens' DeleteVpnConnectionRoute Text
- Network.AWS.EC2.DeleteVpnConnectionRoute: dvcrVpnConnectionId :: Lens' DeleteVpnConnectionRoute Text
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance AWSRequest DeleteVpnConnectionRoute
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance Constructor C1_0DeleteVpnConnectionRouteResponse
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance Datatype D1DeleteVpnConnectionRouteResponse
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance Eq DeleteVpnConnectionRoute
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance Eq DeleteVpnConnectionRouteResponse
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance Generic DeleteVpnConnectionRouteResponse
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance Ord DeleteVpnConnectionRoute
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance Ord DeleteVpnConnectionRouteResponse
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance Read DeleteVpnConnectionRoute
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance Read DeleteVpnConnectionRouteResponse
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance Show DeleteVpnConnectionRoute
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance Show DeleteVpnConnectionRouteResponse
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance ToHeaders DeleteVpnConnectionRoute
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance ToPath DeleteVpnConnectionRoute
- Network.AWS.EC2.DeleteVpnConnectionRoute: instance ToQuery DeleteVpnConnectionRoute
- Network.AWS.EC2.DeleteVpnGateway: data DeleteVpnGateway
- Network.AWS.EC2.DeleteVpnGateway: data DeleteVpnGatewayResponse
- Network.AWS.EC2.DeleteVpnGateway: deleteVpnGateway :: Text -> DeleteVpnGateway
- Network.AWS.EC2.DeleteVpnGateway: deleteVpnGatewayResponse :: DeleteVpnGatewayResponse
- Network.AWS.EC2.DeleteVpnGateway: dvgDryRun :: Lens' DeleteVpnGateway (Maybe Bool)
- Network.AWS.EC2.DeleteVpnGateway: dvgVpnGatewayId :: Lens' DeleteVpnGateway Text
- Network.AWS.EC2.DeleteVpnGateway: instance AWSRequest DeleteVpnGateway
- Network.AWS.EC2.DeleteVpnGateway: instance Constructor C1_0DeleteVpnGatewayResponse
- Network.AWS.EC2.DeleteVpnGateway: instance Datatype D1DeleteVpnGatewayResponse
- Network.AWS.EC2.DeleteVpnGateway: instance Eq DeleteVpnGateway
- Network.AWS.EC2.DeleteVpnGateway: instance Eq DeleteVpnGatewayResponse
- Network.AWS.EC2.DeleteVpnGateway: instance Generic DeleteVpnGatewayResponse
- Network.AWS.EC2.DeleteVpnGateway: instance Ord DeleteVpnGateway
- Network.AWS.EC2.DeleteVpnGateway: instance Ord DeleteVpnGatewayResponse
- Network.AWS.EC2.DeleteVpnGateway: instance Read DeleteVpnGateway
- Network.AWS.EC2.DeleteVpnGateway: instance Read DeleteVpnGatewayResponse
- Network.AWS.EC2.DeleteVpnGateway: instance Show DeleteVpnGateway
- Network.AWS.EC2.DeleteVpnGateway: instance Show DeleteVpnGatewayResponse
- Network.AWS.EC2.DeleteVpnGateway: instance ToHeaders DeleteVpnGateway
- Network.AWS.EC2.DeleteVpnGateway: instance ToPath DeleteVpnGateway
- Network.AWS.EC2.DeleteVpnGateway: instance ToQuery DeleteVpnGateway
- Network.AWS.EC2.DeregisterImage: instance Ord DeregisterImage
- Network.AWS.EC2.DeregisterImage: instance Ord DeregisterImageResponse
- Network.AWS.EC2.DescribeAccountAttributes: daarAccountAttributes :: Lens' DescribeAccountAttributesResponse [AccountAttribute]
- Network.AWS.EC2.DescribeAccountAttributes: instance FromXML DescribeAccountAttributesResponse
- Network.AWS.EC2.DescribeAccountAttributes: instance Monoid DescribeAccountAttributesResponse
- Network.AWS.EC2.DescribeAccountAttributes: instance Semigroup DescribeAccountAttributesResponse
- Network.AWS.EC2.DescribeAddresses: daPublicIps :: Lens' DescribeAddresses [Text]
- Network.AWS.EC2.DescribeAddresses: darAddresses :: Lens' DescribeAddressesResponse [Address]
- Network.AWS.EC2.DescribeAddresses: instance FromXML DescribeAddressesResponse
- Network.AWS.EC2.DescribeAddresses: instance Monoid DescribeAddressesResponse
- Network.AWS.EC2.DescribeAddresses: instance Semigroup DescribeAddressesResponse
- Network.AWS.EC2.DescribeAvailabilityZones: dazrAvailabilityZones :: Lens' DescribeAvailabilityZonesResponse [AvailabilityZone]
- Network.AWS.EC2.DescribeAvailabilityZones: instance FromXML DescribeAvailabilityZonesResponse
- Network.AWS.EC2.DescribeAvailabilityZones: instance Monoid DescribeAvailabilityZonesResponse
- Network.AWS.EC2.DescribeAvailabilityZones: instance Semigroup DescribeAvailabilityZonesResponse
- Network.AWS.EC2.DescribeBundleTasks: dbtrBundleTasks :: Lens' DescribeBundleTasksResponse [BundleTask]
- Network.AWS.EC2.DescribeBundleTasks: instance FromXML DescribeBundleTasksResponse
- Network.AWS.EC2.DescribeBundleTasks: instance Monoid DescribeBundleTasksResponse
- Network.AWS.EC2.DescribeBundleTasks: instance Semigroup DescribeBundleTasksResponse
- Network.AWS.EC2.DescribeClassicLinkInstances: dclirInstances :: Lens' DescribeClassicLinkInstancesResponse [ClassicLinkInstance]
- Network.AWS.EC2.DescribeClassicLinkInstances: dclirNextToken :: Lens' DescribeClassicLinkInstancesResponse (Maybe Text)
- Network.AWS.EC2.DescribeClassicLinkInstances: instance FromXML DescribeClassicLinkInstancesResponse
- Network.AWS.EC2.DescribeConversionTasks: dctrConversionTasks :: Lens' DescribeConversionTasksResponse [ConversionTask]
- Network.AWS.EC2.DescribeConversionTasks: instance FromXML DescribeConversionTasksResponse
- Network.AWS.EC2.DescribeConversionTasks: instance Monoid DescribeConversionTasksResponse
- Network.AWS.EC2.DescribeConversionTasks: instance Semigroup DescribeConversionTasksResponse
- Network.AWS.EC2.DescribeCustomerGateways: dcgrCustomerGateways :: Lens' DescribeCustomerGatewaysResponse [CustomerGateway]
- Network.AWS.EC2.DescribeCustomerGateways: instance FromXML DescribeCustomerGatewaysResponse
- Network.AWS.EC2.DescribeCustomerGateways: instance Monoid DescribeCustomerGatewaysResponse
- Network.AWS.EC2.DescribeCustomerGateways: instance Semigroup DescribeCustomerGatewaysResponse
- Network.AWS.EC2.DescribeDhcpOptions: data DescribeDhcpOptions
- Network.AWS.EC2.DescribeDhcpOptions: data DescribeDhcpOptionsResponse
- Network.AWS.EC2.DescribeDhcpOptions: ddoDhcpOptionsIds :: Lens' DescribeDhcpOptions [Text]
- Network.AWS.EC2.DescribeDhcpOptions: ddoDryRun :: Lens' DescribeDhcpOptions (Maybe Bool)
- Network.AWS.EC2.DescribeDhcpOptions: ddoFilters :: Lens' DescribeDhcpOptions [Filter]
- Network.AWS.EC2.DescribeDhcpOptions: ddorDhcpOptions :: Lens' DescribeDhcpOptionsResponse [DhcpOptions]
- Network.AWS.EC2.DescribeDhcpOptions: describeDhcpOptions :: DescribeDhcpOptions
- Network.AWS.EC2.DescribeDhcpOptions: describeDhcpOptionsResponse :: DescribeDhcpOptionsResponse
- Network.AWS.EC2.DescribeDhcpOptions: instance AWSRequest DescribeDhcpOptions
- Network.AWS.EC2.DescribeDhcpOptions: instance Eq DescribeDhcpOptions
- Network.AWS.EC2.DescribeDhcpOptions: instance Eq DescribeDhcpOptionsResponse
- Network.AWS.EC2.DescribeDhcpOptions: instance FromXML DescribeDhcpOptionsResponse
- Network.AWS.EC2.DescribeDhcpOptions: instance Monoid DescribeDhcpOptionsResponse
- Network.AWS.EC2.DescribeDhcpOptions: instance Read DescribeDhcpOptions
- Network.AWS.EC2.DescribeDhcpOptions: instance Read DescribeDhcpOptionsResponse
- Network.AWS.EC2.DescribeDhcpOptions: instance Semigroup DescribeDhcpOptionsResponse
- Network.AWS.EC2.DescribeDhcpOptions: instance Show DescribeDhcpOptions
- Network.AWS.EC2.DescribeDhcpOptions: instance Show DescribeDhcpOptionsResponse
- Network.AWS.EC2.DescribeDhcpOptions: instance ToHeaders DescribeDhcpOptions
- Network.AWS.EC2.DescribeDhcpOptions: instance ToPath DescribeDhcpOptions
- Network.AWS.EC2.DescribeDhcpOptions: instance ToQuery DescribeDhcpOptions
- Network.AWS.EC2.DescribeExportTasks: detrExportTasks :: Lens' DescribeExportTasksResponse [ExportTask]
- Network.AWS.EC2.DescribeExportTasks: instance FromXML DescribeExportTasksResponse
- Network.AWS.EC2.DescribeExportTasks: instance Monoid DescribeExportTasks
- Network.AWS.EC2.DescribeExportTasks: instance Monoid DescribeExportTasksResponse
- Network.AWS.EC2.DescribeExportTasks: instance Ord DescribeExportTasks
- Network.AWS.EC2.DescribeExportTasks: instance Semigroup DescribeExportTasks
- Network.AWS.EC2.DescribeExportTasks: instance Semigroup DescribeExportTasksResponse
- Network.AWS.EC2.DescribeImageAttribute: dia1Attribute :: Lens' DescribeImageAttribute ImageAttributeName
- Network.AWS.EC2.DescribeImageAttribute: dia1DryRun :: Lens' DescribeImageAttribute (Maybe Bool)
- Network.AWS.EC2.DescribeImageAttribute: dia1ImageId :: Lens' DescribeImageAttribute Text
- Network.AWS.EC2.DescribeImageAttribute: diarBlockDeviceMappings :: Lens' DescribeImageAttributeResponse [BlockDeviceMapping]
- Network.AWS.EC2.DescribeImageAttribute: diarDescription :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeImageAttribute: diarImageId :: Lens' DescribeImageAttributeResponse (Maybe Text)
- Network.AWS.EC2.DescribeImageAttribute: diarKernelId :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeImageAttribute: diarLaunchPermissions :: Lens' DescribeImageAttributeResponse [LaunchPermission]
- Network.AWS.EC2.DescribeImageAttribute: diarProductCodes :: Lens' DescribeImageAttributeResponse [ProductCode]
- Network.AWS.EC2.DescribeImageAttribute: diarRamdiskId :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeImageAttribute: diarSriovNetSupport :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeImageAttribute: instance FromXML DescribeImageAttributeResponse
- Network.AWS.EC2.DescribeImages: di2DryRun :: Lens' DescribeImages (Maybe Bool)
- Network.AWS.EC2.DescribeImages: di2ExecutableUsers :: Lens' DescribeImages [Text]
- Network.AWS.EC2.DescribeImages: di2Filters :: Lens' DescribeImages [Filter]
- Network.AWS.EC2.DescribeImages: di2ImageIds :: Lens' DescribeImages [Text]
- Network.AWS.EC2.DescribeImages: di2Owners :: Lens' DescribeImages [Text]
- Network.AWS.EC2.DescribeImages: dirImages :: Lens' DescribeImagesResponse [Image]
- Network.AWS.EC2.DescribeImages: instance FromXML DescribeImagesResponse
- Network.AWS.EC2.DescribeImages: instance Monoid DescribeImagesResponse
- Network.AWS.EC2.DescribeImages: instance Semigroup DescribeImagesResponse
- Network.AWS.EC2.DescribeImportImageTasks: diitrImportImageTasks :: Lens' DescribeImportImageTasksResponse [ImportImageTask]
- Network.AWS.EC2.DescribeImportImageTasks: diitrNextToken :: Lens' DescribeImportImageTasksResponse (Maybe Text)
- Network.AWS.EC2.DescribeImportImageTasks: instance FromXML DescribeImportImageTasksResponse
- Network.AWS.EC2.DescribeImportSnapshotTasks: distrImportSnapshotTasks :: Lens' DescribeImportSnapshotTasksResponse [ImportSnapshotTask]
- Network.AWS.EC2.DescribeImportSnapshotTasks: distrNextToken :: Lens' DescribeImportSnapshotTasksResponse (Maybe Text)
- Network.AWS.EC2.DescribeImportSnapshotTasks: instance FromXML DescribeImportSnapshotTasksResponse
- Network.AWS.EC2.DescribeInstanceAttribute: diar1BlockDeviceMappings :: Lens' DescribeInstanceAttributeResponse [InstanceBlockDeviceMapping]
- Network.AWS.EC2.DescribeInstanceAttribute: diar1DisableApiTermination :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)
- Network.AWS.EC2.DescribeInstanceAttribute: diar1EbsOptimized :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)
- Network.AWS.EC2.DescribeInstanceAttribute: diar1Groups :: Lens' DescribeInstanceAttributeResponse [GroupIdentifier]
- Network.AWS.EC2.DescribeInstanceAttribute: diar1InstanceId :: Lens' DescribeInstanceAttributeResponse (Maybe Text)
- Network.AWS.EC2.DescribeInstanceAttribute: diar1InstanceInitiatedShutdownBehavior :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeInstanceAttribute: diar1InstanceType :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeInstanceAttribute: diar1KernelId :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeInstanceAttribute: diar1ProductCodes :: Lens' DescribeInstanceAttributeResponse [ProductCode]
- Network.AWS.EC2.DescribeInstanceAttribute: diar1RamdiskId :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeInstanceAttribute: diar1RootDeviceName :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeInstanceAttribute: diar1SourceDestCheck :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)
- Network.AWS.EC2.DescribeInstanceAttribute: diar1SriovNetSupport :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeInstanceAttribute: diar1UserData :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeInstanceAttribute: instance FromXML DescribeInstanceAttributeResponse
- Network.AWS.EC2.DescribeInstanceStatus: disrInstanceStatuses :: Lens' DescribeInstanceStatusResponse [InstanceStatus]
- Network.AWS.EC2.DescribeInstanceStatus: disrNextToken :: Lens' DescribeInstanceStatusResponse (Maybe Text)
- Network.AWS.EC2.DescribeInstanceStatus: instance FromXML DescribeInstanceStatusResponse
- Network.AWS.EC2.DescribeInstances: di1DryRun :: Lens' DescribeInstances (Maybe Bool)
- Network.AWS.EC2.DescribeInstances: di1Filters :: Lens' DescribeInstances [Filter]
- Network.AWS.EC2.DescribeInstances: di1InstanceIds :: Lens' DescribeInstances [Text]
- Network.AWS.EC2.DescribeInstances: di1MaxResults :: Lens' DescribeInstances (Maybe Int)
- Network.AWS.EC2.DescribeInstances: di1NextToken :: Lens' DescribeInstances (Maybe Text)
- Network.AWS.EC2.DescribeInstances: dirNextToken :: Lens' DescribeInstancesResponse (Maybe Text)
- Network.AWS.EC2.DescribeInstances: dirReservations :: Lens' DescribeInstancesResponse [Reservation]
- Network.AWS.EC2.DescribeInstances: instance FromXML DescribeInstancesResponse
- Network.AWS.EC2.DescribeInternetGateways: dig1DryRun :: Lens' DescribeInternetGateways (Maybe Bool)
- Network.AWS.EC2.DescribeInternetGateways: dig1Filters :: Lens' DescribeInternetGateways [Filter]
- Network.AWS.EC2.DescribeInternetGateways: dig1InternetGatewayIds :: Lens' DescribeInternetGateways [Text]
- Network.AWS.EC2.DescribeInternetGateways: digrInternetGateways :: Lens' DescribeInternetGatewaysResponse [InternetGateway]
- Network.AWS.EC2.DescribeInternetGateways: instance FromXML DescribeInternetGatewaysResponse
- Network.AWS.EC2.DescribeInternetGateways: instance Monoid DescribeInternetGatewaysResponse
- Network.AWS.EC2.DescribeInternetGateways: instance Semigroup DescribeInternetGatewaysResponse
- Network.AWS.EC2.DescribeKeyPairs: dkp1DryRun :: Lens' DescribeKeyPairs (Maybe Bool)
- Network.AWS.EC2.DescribeKeyPairs: dkp1Filters :: Lens' DescribeKeyPairs [Filter]
- Network.AWS.EC2.DescribeKeyPairs: dkp1KeyNames :: Lens' DescribeKeyPairs [Text]
- Network.AWS.EC2.DescribeKeyPairs: dkprKeyPairs :: Lens' DescribeKeyPairsResponse [KeyPairInfo]
- Network.AWS.EC2.DescribeKeyPairs: instance FromXML DescribeKeyPairsResponse
- Network.AWS.EC2.DescribeKeyPairs: instance Monoid DescribeKeyPairsResponse
- Network.AWS.EC2.DescribeKeyPairs: instance Semigroup DescribeKeyPairsResponse
- Network.AWS.EC2.DescribeMovingAddresses: dmaPublicIps :: Lens' DescribeMovingAddresses [Text]
- Network.AWS.EC2.DescribeMovingAddresses: dmarMovingAddressStatuses :: Lens' DescribeMovingAddressesResponse [MovingAddressStatus]
- Network.AWS.EC2.DescribeMovingAddresses: dmarNextToken :: Lens' DescribeMovingAddressesResponse (Maybe Text)
- Network.AWS.EC2.DescribeMovingAddresses: instance FromXML DescribeMovingAddressesResponse
- Network.AWS.EC2.DescribeNetworkAcls: data DescribeNetworkAcls
- Network.AWS.EC2.DescribeNetworkAcls: data DescribeNetworkAclsResponse
- Network.AWS.EC2.DescribeNetworkAcls: describeNetworkAcls :: DescribeNetworkAcls
- Network.AWS.EC2.DescribeNetworkAcls: describeNetworkAclsResponse :: DescribeNetworkAclsResponse
- Network.AWS.EC2.DescribeNetworkAcls: dna1DryRun :: Lens' DescribeNetworkAcls (Maybe Bool)
- Network.AWS.EC2.DescribeNetworkAcls: dna1Filters :: Lens' DescribeNetworkAcls [Filter]
- Network.AWS.EC2.DescribeNetworkAcls: dna1NetworkAclIds :: Lens' DescribeNetworkAcls [Text]
- Network.AWS.EC2.DescribeNetworkAcls: dnarNetworkAcls :: Lens' DescribeNetworkAclsResponse [NetworkAcl]
- Network.AWS.EC2.DescribeNetworkAcls: instance AWSRequest DescribeNetworkAcls
- Network.AWS.EC2.DescribeNetworkAcls: instance Eq DescribeNetworkAcls
- Network.AWS.EC2.DescribeNetworkAcls: instance Eq DescribeNetworkAclsResponse
- Network.AWS.EC2.DescribeNetworkAcls: instance FromXML DescribeNetworkAclsResponse
- Network.AWS.EC2.DescribeNetworkAcls: instance Monoid DescribeNetworkAclsResponse
- Network.AWS.EC2.DescribeNetworkAcls: instance Read DescribeNetworkAcls
- Network.AWS.EC2.DescribeNetworkAcls: instance Read DescribeNetworkAclsResponse
- Network.AWS.EC2.DescribeNetworkAcls: instance Semigroup DescribeNetworkAclsResponse
- Network.AWS.EC2.DescribeNetworkAcls: instance Show DescribeNetworkAcls
- Network.AWS.EC2.DescribeNetworkAcls: instance Show DescribeNetworkAclsResponse
- Network.AWS.EC2.DescribeNetworkAcls: instance ToHeaders DescribeNetworkAcls
- Network.AWS.EC2.DescribeNetworkAcls: instance ToPath DescribeNetworkAcls
- Network.AWS.EC2.DescribeNetworkAcls: instance ToQuery DescribeNetworkAcls
- Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarAttachment :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe NetworkInterfaceAttachment)
- Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarDescription :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe AttributeValue)
- Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarGroups :: Lens' DescribeNetworkInterfaceAttributeResponse [GroupIdentifier]
- Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarNetworkInterfaceId :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe Text)
- Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarSourceDestCheck :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe AttributeBooleanValue)
- Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance FromXML DescribeNetworkInterfaceAttributeResponse
- Network.AWS.EC2.DescribeNetworkInterfaces: dni1DryRun :: Lens' DescribeNetworkInterfaces (Maybe Bool)
- Network.AWS.EC2.DescribeNetworkInterfaces: dni1Filters :: Lens' DescribeNetworkInterfaces [Filter]
- Network.AWS.EC2.DescribeNetworkInterfaces: dni1NetworkInterfaceIds :: Lens' DescribeNetworkInterfaces [Text]
- Network.AWS.EC2.DescribeNetworkInterfaces: dnirNetworkInterfaces :: Lens' DescribeNetworkInterfacesResponse [NetworkInterface]
- Network.AWS.EC2.DescribeNetworkInterfaces: instance FromXML DescribeNetworkInterfacesResponse
- Network.AWS.EC2.DescribeNetworkInterfaces: instance Monoid DescribeNetworkInterfacesResponse
- Network.AWS.EC2.DescribeNetworkInterfaces: instance Semigroup DescribeNetworkInterfacesResponse
- Network.AWS.EC2.DescribePlacementGroups: dpg1DryRun :: Lens' DescribePlacementGroups (Maybe Bool)
- Network.AWS.EC2.DescribePlacementGroups: dpg1Filters :: Lens' DescribePlacementGroups [Filter]
- Network.AWS.EC2.DescribePlacementGroups: dpg1GroupNames :: Lens' DescribePlacementGroups [Text]
- Network.AWS.EC2.DescribePlacementGroups: dpgrPlacementGroups :: Lens' DescribePlacementGroupsResponse [PlacementGroup]
- Network.AWS.EC2.DescribePlacementGroups: instance FromXML DescribePlacementGroupsResponse
- Network.AWS.EC2.DescribePlacementGroups: instance Monoid DescribePlacementGroupsResponse
- Network.AWS.EC2.DescribePlacementGroups: instance Semigroup DescribePlacementGroupsResponse
- Network.AWS.EC2.DescribePrefixLists: dplrNextToken :: Lens' DescribePrefixListsResponse (Maybe Text)
- Network.AWS.EC2.DescribePrefixLists: dplrPrefixLists :: Lens' DescribePrefixListsResponse [PrefixList]
- Network.AWS.EC2.DescribePrefixLists: instance FromXML DescribePrefixListsResponse
- Network.AWS.EC2.DescribeRegions: dr1DryRun :: Lens' DescribeRegions (Maybe Bool)
- Network.AWS.EC2.DescribeRegions: dr1Filters :: Lens' DescribeRegions [Filter]
- Network.AWS.EC2.DescribeRegions: dr1RegionNames :: Lens' DescribeRegions [Text]
- Network.AWS.EC2.DescribeRegions: drrRegions :: Lens' DescribeRegionsResponse [Region]
- Network.AWS.EC2.DescribeRegions: instance FromXML DescribeRegionsResponse
- Network.AWS.EC2.DescribeRegions: instance Monoid DescribeRegionsResponse
- Network.AWS.EC2.DescribeRegions: instance Semigroup DescribeRegionsResponse
- Network.AWS.EC2.DescribeReservedInstances: drirReservedInstances :: Lens' DescribeReservedInstancesResponse [ReservedInstances]
- Network.AWS.EC2.DescribeReservedInstances: instance FromXML DescribeReservedInstancesResponse
- Network.AWS.EC2.DescribeReservedInstances: instance Monoid DescribeReservedInstancesResponse
- Network.AWS.EC2.DescribeReservedInstances: instance Semigroup DescribeReservedInstancesResponse
- Network.AWS.EC2.DescribeReservedInstancesListings: drilrReservedInstancesListings :: Lens' DescribeReservedInstancesListingsResponse [ReservedInstancesListing]
- Network.AWS.EC2.DescribeReservedInstancesListings: instance FromXML DescribeReservedInstancesListingsResponse
- Network.AWS.EC2.DescribeReservedInstancesListings: instance Monoid DescribeReservedInstancesListingsResponse
- Network.AWS.EC2.DescribeReservedInstancesListings: instance Semigroup DescribeReservedInstancesListingsResponse
- Network.AWS.EC2.DescribeReservedInstancesModifications: drimrNextToken :: Lens' DescribeReservedInstancesModificationsResponse (Maybe Text)
- Network.AWS.EC2.DescribeReservedInstancesModifications: drimrReservedInstancesModifications :: Lens' DescribeReservedInstancesModificationsResponse [ReservedInstancesModification]
- Network.AWS.EC2.DescribeReservedInstancesModifications: instance FromXML DescribeReservedInstancesModificationsResponse
- Network.AWS.EC2.DescribeReservedInstancesOfferings: driorNextToken :: Lens' DescribeReservedInstancesOfferingsResponse (Maybe Text)
- Network.AWS.EC2.DescribeReservedInstancesOfferings: driorReservedInstancesOfferings :: Lens' DescribeReservedInstancesOfferingsResponse [ReservedInstancesOffering]
- Network.AWS.EC2.DescribeReservedInstancesOfferings: instance FromXML DescribeReservedInstancesOfferingsResponse
- Network.AWS.EC2.DescribeRouteTables: drt2DryRun :: Lens' DescribeRouteTables (Maybe Bool)
- Network.AWS.EC2.DescribeRouteTables: drt2Filters :: Lens' DescribeRouteTables [Filter]
- Network.AWS.EC2.DescribeRouteTables: drt2RouteTableIds :: Lens' DescribeRouteTables [Text]
- Network.AWS.EC2.DescribeRouteTables: drtrRouteTables :: Lens' DescribeRouteTablesResponse [RouteTable]
- Network.AWS.EC2.DescribeRouteTables: instance FromXML DescribeRouteTablesResponse
- Network.AWS.EC2.DescribeRouteTables: instance Monoid DescribeRouteTablesResponse
- Network.AWS.EC2.DescribeRouteTables: instance Semigroup DescribeRouteTablesResponse
- Network.AWS.EC2.DescribeSecurityGroups: dsg1DryRun :: Lens' DescribeSecurityGroups (Maybe Bool)
- Network.AWS.EC2.DescribeSecurityGroups: dsg1Filters :: Lens' DescribeSecurityGroups [Filter]
- Network.AWS.EC2.DescribeSecurityGroups: dsg1GroupIds :: Lens' DescribeSecurityGroups [Text]
- Network.AWS.EC2.DescribeSecurityGroups: dsg1GroupNames :: Lens' DescribeSecurityGroups [Text]
- Network.AWS.EC2.DescribeSecurityGroups: dsgrSecurityGroups :: Lens' DescribeSecurityGroupsResponse [SecurityGroup]
- Network.AWS.EC2.DescribeSecurityGroups: instance FromXML DescribeSecurityGroupsResponse
- Network.AWS.EC2.DescribeSecurityGroups: instance Monoid DescribeSecurityGroupsResponse
- Network.AWS.EC2.DescribeSecurityGroups: instance Semigroup DescribeSecurityGroupsResponse
- Network.AWS.EC2.DescribeSnapshotAttribute: dsarCreateVolumePermissions :: Lens' DescribeSnapshotAttributeResponse [CreateVolumePermission]
- Network.AWS.EC2.DescribeSnapshotAttribute: dsarProductCodes :: Lens' DescribeSnapshotAttributeResponse [ProductCode]
- Network.AWS.EC2.DescribeSnapshotAttribute: dsarSnapshotId :: Lens' DescribeSnapshotAttributeResponse (Maybe Text)
- Network.AWS.EC2.DescribeSnapshotAttribute: instance FromXML DescribeSnapshotAttributeResponse
- Network.AWS.EC2.DescribeSnapshots: ds1DryRun :: Lens' DescribeSnapshots (Maybe Bool)
- Network.AWS.EC2.DescribeSnapshots: ds1Filters :: Lens' DescribeSnapshots [Filter]
- Network.AWS.EC2.DescribeSnapshots: ds1MaxResults :: Lens' DescribeSnapshots (Maybe Int)
- Network.AWS.EC2.DescribeSnapshots: ds1NextToken :: Lens' DescribeSnapshots (Maybe Text)
- Network.AWS.EC2.DescribeSnapshots: ds1OwnerIds :: Lens' DescribeSnapshots [Text]
- Network.AWS.EC2.DescribeSnapshots: ds1RestorableByUserIds :: Lens' DescribeSnapshots [Text]
- Network.AWS.EC2.DescribeSnapshots: ds1SnapshotIds :: Lens' DescribeSnapshots [Text]
- Network.AWS.EC2.DescribeSnapshots: dsrNextToken :: Lens' DescribeSnapshotsResponse (Maybe Text)
- Network.AWS.EC2.DescribeSnapshots: dsrSnapshots :: Lens' DescribeSnapshotsResponse [Snapshot]
- Network.AWS.EC2.DescribeSnapshots: instance FromXML DescribeSnapshotsResponse
- Network.AWS.EC2.DescribeSpotDatafeedSubscription: dsdsrSpotDatafeedSubscription :: Lens' DescribeSpotDatafeedSubscriptionResponse (Maybe SpotDatafeedSubscription)
- Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance FromXML DescribeSpotDatafeedSubscriptionResponse
- Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Ord DescribeSpotDatafeedSubscription
- Network.AWS.EC2.DescribeSpotFleetInstances: dsfirActiveInstances :: Lens' DescribeSpotFleetInstancesResponse [ActiveInstance]
- Network.AWS.EC2.DescribeSpotFleetInstances: dsfirNextToken :: Lens' DescribeSpotFleetInstancesResponse (Maybe Text)
- Network.AWS.EC2.DescribeSpotFleetInstances: dsfirSpotFleetRequestId :: Lens' DescribeSpotFleetInstancesResponse Text
- Network.AWS.EC2.DescribeSpotFleetInstances: instance FromXML DescribeSpotFleetInstancesResponse
- Network.AWS.EC2.DescribeSpotFleetInstances: instance Ord DescribeSpotFleetInstances
- Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrHistoryRecords :: Lens' DescribeSpotFleetRequestHistoryResponse [HistoryRecord]
- Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrLastEvaluatedTime :: Lens' DescribeSpotFleetRequestHistoryResponse UTCTime
- Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrNextToken :: Lens' DescribeSpotFleetRequestHistoryResponse (Maybe Text)
- Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrSpotFleetRequestId :: Lens' DescribeSpotFleetRequestHistoryResponse Text
- Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrStartTime :: Lens' DescribeSpotFleetRequestHistoryResponse UTCTime
- Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance FromXML DescribeSpotFleetRequestHistoryResponse
- Network.AWS.EC2.DescribeSpotFleetRequests: dsfrrNextToken :: Lens' DescribeSpotFleetRequestsResponse (Maybe Text)
- Network.AWS.EC2.DescribeSpotFleetRequests: dsfrrSpotFleetRequestConfigs :: Lens' DescribeSpotFleetRequestsResponse [SpotFleetRequestConfig]
- Network.AWS.EC2.DescribeSpotFleetRequests: instance FromXML DescribeSpotFleetRequestsResponse
- Network.AWS.EC2.DescribeSpotFleetRequests: instance Ord DescribeSpotFleetRequests
- Network.AWS.EC2.DescribeSpotInstanceRequests: dsirrSpotInstanceRequests :: Lens' DescribeSpotInstanceRequestsResponse [SpotInstanceRequest]
- Network.AWS.EC2.DescribeSpotInstanceRequests: instance FromXML DescribeSpotInstanceRequestsResponse
- Network.AWS.EC2.DescribeSpotInstanceRequests: instance Monoid DescribeSpotInstanceRequestsResponse
- Network.AWS.EC2.DescribeSpotInstanceRequests: instance Semigroup DescribeSpotInstanceRequestsResponse
- Network.AWS.EC2.DescribeSpotPriceHistory: dsphrNextToken :: Lens' DescribeSpotPriceHistoryResponse (Maybe Text)
- Network.AWS.EC2.DescribeSpotPriceHistory: dsphrSpotPriceHistory :: Lens' DescribeSpotPriceHistoryResponse [SpotPrice]
- Network.AWS.EC2.DescribeSpotPriceHistory: instance FromXML DescribeSpotPriceHistoryResponse
- Network.AWS.EC2.DescribeSubnets: dsrSubnets :: Lens' DescribeSubnetsResponse [Subnet]
- Network.AWS.EC2.DescribeSubnets: instance FromXML DescribeSubnetsResponse
- Network.AWS.EC2.DescribeSubnets: instance Monoid DescribeSubnetsResponse
- Network.AWS.EC2.DescribeSubnets: instance Semigroup DescribeSubnetsResponse
- Network.AWS.EC2.DescribeTags: dtrNextToken :: Lens' DescribeTagsResponse (Maybe Text)
- Network.AWS.EC2.DescribeTags: dtrTags :: Lens' DescribeTagsResponse [TagDescription]
- Network.AWS.EC2.DescribeTags: instance FromXML DescribeTagsResponse
- Network.AWS.EC2.DescribeVolumeAttribute: dvarAutoEnableIO :: Lens' DescribeVolumeAttributeResponse (Maybe AttributeBooleanValue)
- Network.AWS.EC2.DescribeVolumeAttribute: dvarProductCodes :: Lens' DescribeVolumeAttributeResponse [ProductCode]
- Network.AWS.EC2.DescribeVolumeAttribute: dvarVolumeId :: Lens' DescribeVolumeAttributeResponse (Maybe Text)
- Network.AWS.EC2.DescribeVolumeAttribute: instance FromXML DescribeVolumeAttributeResponse
- Network.AWS.EC2.DescribeVolumeStatus: dvsDryRun :: Lens' DescribeVolumeStatus (Maybe Bool)
- Network.AWS.EC2.DescribeVolumeStatus: dvsFilters :: Lens' DescribeVolumeStatus [Filter]
- Network.AWS.EC2.DescribeVolumeStatus: dvsMaxResults :: Lens' DescribeVolumeStatus (Maybe Int)
- Network.AWS.EC2.DescribeVolumeStatus: dvsNextToken :: Lens' DescribeVolumeStatus (Maybe Text)
- Network.AWS.EC2.DescribeVolumeStatus: dvsVolumeIds :: Lens' DescribeVolumeStatus [Text]
- Network.AWS.EC2.DescribeVolumeStatus: dvsrNextToken :: Lens' DescribeVolumeStatusResponse (Maybe Text)
- Network.AWS.EC2.DescribeVolumeStatus: dvsrVolumeStatuses :: Lens' DescribeVolumeStatusResponse [VolumeStatusItem]
- Network.AWS.EC2.DescribeVolumeStatus: instance FromXML DescribeVolumeStatusResponse
- Network.AWS.EC2.DescribeVolumes: dv2DryRun :: Lens' DescribeVolumes (Maybe Bool)
- Network.AWS.EC2.DescribeVolumes: dv2Filters :: Lens' DescribeVolumes [Filter]
- Network.AWS.EC2.DescribeVolumes: dv2MaxResults :: Lens' DescribeVolumes (Maybe Int)
- Network.AWS.EC2.DescribeVolumes: dv2NextToken :: Lens' DescribeVolumes (Maybe Text)
- Network.AWS.EC2.DescribeVolumes: dv2VolumeIds :: Lens' DescribeVolumes [Text]
- Network.AWS.EC2.DescribeVolumes: dvrNextToken :: Lens' DescribeVolumesResponse (Maybe Text)
- Network.AWS.EC2.DescribeVolumes: dvrVolumes :: Lens' DescribeVolumesResponse [Volume]
- Network.AWS.EC2.DescribeVolumes: instance FromXML DescribeVolumesResponse
- Network.AWS.EC2.DescribeVpcAttribute: data DescribeVpcAttribute
- Network.AWS.EC2.DescribeVpcAttribute: data DescribeVpcAttributeResponse
- Network.AWS.EC2.DescribeVpcAttribute: describeVpcAttribute :: Text -> DescribeVpcAttribute
- Network.AWS.EC2.DescribeVpcAttribute: describeVpcAttributeResponse :: DescribeVpcAttributeResponse
- Network.AWS.EC2.DescribeVpcAttribute: dva1Attribute :: Lens' DescribeVpcAttribute (Maybe VpcAttributeName)
- Network.AWS.EC2.DescribeVpcAttribute: dva1DryRun :: Lens' DescribeVpcAttribute (Maybe Bool)
- Network.AWS.EC2.DescribeVpcAttribute: dva1VpcId :: Lens' DescribeVpcAttribute Text
- Network.AWS.EC2.DescribeVpcAttribute: dvarEnableDnsHostnames :: Lens' DescribeVpcAttributeResponse (Maybe AttributeBooleanValue)
- Network.AWS.EC2.DescribeVpcAttribute: dvarEnableDnsSupport :: Lens' DescribeVpcAttributeResponse (Maybe AttributeBooleanValue)
- Network.AWS.EC2.DescribeVpcAttribute: dvarVpcId :: Lens' DescribeVpcAttributeResponse (Maybe Text)
- Network.AWS.EC2.DescribeVpcAttribute: instance AWSRequest DescribeVpcAttribute
- Network.AWS.EC2.DescribeVpcAttribute: instance Eq DescribeVpcAttribute
- Network.AWS.EC2.DescribeVpcAttribute: instance Eq DescribeVpcAttributeResponse
- Network.AWS.EC2.DescribeVpcAttribute: instance FromXML DescribeVpcAttributeResponse
- Network.AWS.EC2.DescribeVpcAttribute: instance Read DescribeVpcAttribute
- Network.AWS.EC2.DescribeVpcAttribute: instance Read DescribeVpcAttributeResponse
- Network.AWS.EC2.DescribeVpcAttribute: instance Show DescribeVpcAttribute
- Network.AWS.EC2.DescribeVpcAttribute: instance Show DescribeVpcAttributeResponse
- Network.AWS.EC2.DescribeVpcAttribute: instance ToHeaders DescribeVpcAttribute
- Network.AWS.EC2.DescribeVpcAttribute: instance ToPath DescribeVpcAttribute
- Network.AWS.EC2.DescribeVpcAttribute: instance ToQuery DescribeVpcAttribute
- Network.AWS.EC2.DescribeVpcClassicLink: data DescribeVpcClassicLink
- Network.AWS.EC2.DescribeVpcClassicLink: data DescribeVpcClassicLinkResponse
- Network.AWS.EC2.DescribeVpcClassicLink: describeVpcClassicLink :: DescribeVpcClassicLink
- Network.AWS.EC2.DescribeVpcClassicLink: describeVpcClassicLinkResponse :: DescribeVpcClassicLinkResponse
- Network.AWS.EC2.DescribeVpcClassicLink: dvclDryRun :: Lens' DescribeVpcClassicLink (Maybe Bool)
- Network.AWS.EC2.DescribeVpcClassicLink: dvclFilters :: Lens' DescribeVpcClassicLink [Filter]
- Network.AWS.EC2.DescribeVpcClassicLink: dvclVpcIds :: Lens' DescribeVpcClassicLink [Text]
- Network.AWS.EC2.DescribeVpcClassicLink: dvclrVpcs :: Lens' DescribeVpcClassicLinkResponse [VpcClassicLink]
- Network.AWS.EC2.DescribeVpcClassicLink: instance AWSRequest DescribeVpcClassicLink
- Network.AWS.EC2.DescribeVpcClassicLink: instance Eq DescribeVpcClassicLink
- Network.AWS.EC2.DescribeVpcClassicLink: instance Eq DescribeVpcClassicLinkResponse
- Network.AWS.EC2.DescribeVpcClassicLink: instance FromXML DescribeVpcClassicLinkResponse
- Network.AWS.EC2.DescribeVpcClassicLink: instance Monoid DescribeVpcClassicLinkResponse
- Network.AWS.EC2.DescribeVpcClassicLink: instance Read DescribeVpcClassicLink
- Network.AWS.EC2.DescribeVpcClassicLink: instance Read DescribeVpcClassicLinkResponse
- Network.AWS.EC2.DescribeVpcClassicLink: instance Semigroup DescribeVpcClassicLinkResponse
- Network.AWS.EC2.DescribeVpcClassicLink: instance Show DescribeVpcClassicLink
- Network.AWS.EC2.DescribeVpcClassicLink: instance Show DescribeVpcClassicLinkResponse
- Network.AWS.EC2.DescribeVpcClassicLink: instance ToHeaders DescribeVpcClassicLink
- Network.AWS.EC2.DescribeVpcClassicLink: instance ToPath DescribeVpcClassicLink
- Network.AWS.EC2.DescribeVpcClassicLink: instance ToQuery DescribeVpcClassicLink
- Network.AWS.EC2.DescribeVpcEndpointServices: data DescribeVpcEndpointServices
- Network.AWS.EC2.DescribeVpcEndpointServices: data DescribeVpcEndpointServicesResponse
- Network.AWS.EC2.DescribeVpcEndpointServices: describeVpcEndpointServices :: DescribeVpcEndpointServices
- Network.AWS.EC2.DescribeVpcEndpointServices: describeVpcEndpointServicesResponse :: DescribeVpcEndpointServicesResponse
- Network.AWS.EC2.DescribeVpcEndpointServices: dvesDryRun :: Lens' DescribeVpcEndpointServices (Maybe Bool)
- Network.AWS.EC2.DescribeVpcEndpointServices: dvesMaxResults :: Lens' DescribeVpcEndpointServices (Maybe Int)
- Network.AWS.EC2.DescribeVpcEndpointServices: dvesNextToken :: Lens' DescribeVpcEndpointServices (Maybe Text)
- Network.AWS.EC2.DescribeVpcEndpointServices: dvesrNextToken :: Lens' DescribeVpcEndpointServicesResponse (Maybe Text)
- Network.AWS.EC2.DescribeVpcEndpointServices: dvesrServiceNames :: Lens' DescribeVpcEndpointServicesResponse [Text]
- Network.AWS.EC2.DescribeVpcEndpointServices: instance AWSRequest DescribeVpcEndpointServices
- Network.AWS.EC2.DescribeVpcEndpointServices: instance Eq DescribeVpcEndpointServices
- Network.AWS.EC2.DescribeVpcEndpointServices: instance Eq DescribeVpcEndpointServicesResponse
- Network.AWS.EC2.DescribeVpcEndpointServices: instance FromXML DescribeVpcEndpointServicesResponse
- Network.AWS.EC2.DescribeVpcEndpointServices: instance Ord DescribeVpcEndpointServices
- Network.AWS.EC2.DescribeVpcEndpointServices: instance Ord DescribeVpcEndpointServicesResponse
- Network.AWS.EC2.DescribeVpcEndpointServices: instance Read DescribeVpcEndpointServices
- Network.AWS.EC2.DescribeVpcEndpointServices: instance Read DescribeVpcEndpointServicesResponse
- Network.AWS.EC2.DescribeVpcEndpointServices: instance Show DescribeVpcEndpointServices
- Network.AWS.EC2.DescribeVpcEndpointServices: instance Show DescribeVpcEndpointServicesResponse
- Network.AWS.EC2.DescribeVpcEndpointServices: instance ToHeaders DescribeVpcEndpointServices
- Network.AWS.EC2.DescribeVpcEndpointServices: instance ToPath DescribeVpcEndpointServices
- Network.AWS.EC2.DescribeVpcEndpointServices: instance ToQuery DescribeVpcEndpointServices
- Network.AWS.EC2.DescribeVpcEndpoints: data DescribeVpcEndpoints
- Network.AWS.EC2.DescribeVpcEndpoints: data DescribeVpcEndpointsResponse
- Network.AWS.EC2.DescribeVpcEndpoints: describeVpcEndpoints :: DescribeVpcEndpoints
- Network.AWS.EC2.DescribeVpcEndpoints: describeVpcEndpointsResponse :: DescribeVpcEndpointsResponse
- Network.AWS.EC2.DescribeVpcEndpoints: dve1DryRun :: Lens' DescribeVpcEndpoints (Maybe Bool)
- Network.AWS.EC2.DescribeVpcEndpoints: dve1Filters :: Lens' DescribeVpcEndpoints [Filter]
- Network.AWS.EC2.DescribeVpcEndpoints: dve1MaxResults :: Lens' DescribeVpcEndpoints (Maybe Int)
- Network.AWS.EC2.DescribeVpcEndpoints: dve1NextToken :: Lens' DescribeVpcEndpoints (Maybe Text)
- Network.AWS.EC2.DescribeVpcEndpoints: dve1VpcEndpointIds :: Lens' DescribeVpcEndpoints [Text]
- Network.AWS.EC2.DescribeVpcEndpoints: dverNextToken :: Lens' DescribeVpcEndpointsResponse (Maybe Text)
- Network.AWS.EC2.DescribeVpcEndpoints: dverVpcEndpoints :: Lens' DescribeVpcEndpointsResponse [VpcEndpoint]
- Network.AWS.EC2.DescribeVpcEndpoints: instance AWSRequest DescribeVpcEndpoints
- Network.AWS.EC2.DescribeVpcEndpoints: instance Eq DescribeVpcEndpoints
- Network.AWS.EC2.DescribeVpcEndpoints: instance Eq DescribeVpcEndpointsResponse
- Network.AWS.EC2.DescribeVpcEndpoints: instance FromXML DescribeVpcEndpointsResponse
- Network.AWS.EC2.DescribeVpcEndpoints: instance Read DescribeVpcEndpoints
- Network.AWS.EC2.DescribeVpcEndpoints: instance Read DescribeVpcEndpointsResponse
- Network.AWS.EC2.DescribeVpcEndpoints: instance Show DescribeVpcEndpoints
- Network.AWS.EC2.DescribeVpcEndpoints: instance Show DescribeVpcEndpointsResponse
- Network.AWS.EC2.DescribeVpcEndpoints: instance ToHeaders DescribeVpcEndpoints
- Network.AWS.EC2.DescribeVpcEndpoints: instance ToPath DescribeVpcEndpoints
- Network.AWS.EC2.DescribeVpcEndpoints: instance ToQuery DescribeVpcEndpoints
- Network.AWS.EC2.DescribeVpcPeeringConnections: data DescribeVpcPeeringConnections
- Network.AWS.EC2.DescribeVpcPeeringConnections: data DescribeVpcPeeringConnectionsResponse
- Network.AWS.EC2.DescribeVpcPeeringConnections: describeVpcPeeringConnections :: DescribeVpcPeeringConnections
- Network.AWS.EC2.DescribeVpcPeeringConnections: describeVpcPeeringConnectionsResponse :: DescribeVpcPeeringConnectionsResponse
- Network.AWS.EC2.DescribeVpcPeeringConnections: dvpc1DryRun :: Lens' DescribeVpcPeeringConnections (Maybe Bool)
- Network.AWS.EC2.DescribeVpcPeeringConnections: dvpc1Filters :: Lens' DescribeVpcPeeringConnections [Filter]
- Network.AWS.EC2.DescribeVpcPeeringConnections: dvpc1VpcPeeringConnectionIds :: Lens' DescribeVpcPeeringConnections [Text]
- Network.AWS.EC2.DescribeVpcPeeringConnections: dvpcrVpcPeeringConnections :: Lens' DescribeVpcPeeringConnectionsResponse [VpcPeeringConnection]
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance AWSRequest DescribeVpcPeeringConnections
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance Eq DescribeVpcPeeringConnections
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance Eq DescribeVpcPeeringConnectionsResponse
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance FromXML DescribeVpcPeeringConnectionsResponse
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance Monoid DescribeVpcPeeringConnectionsResponse
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance Read DescribeVpcPeeringConnections
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance Read DescribeVpcPeeringConnectionsResponse
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance Semigroup DescribeVpcPeeringConnectionsResponse
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance Show DescribeVpcPeeringConnections
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance Show DescribeVpcPeeringConnectionsResponse
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance ToHeaders DescribeVpcPeeringConnections
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance ToPath DescribeVpcPeeringConnections
- Network.AWS.EC2.DescribeVpcPeeringConnections: instance ToQuery DescribeVpcPeeringConnections
- Network.AWS.EC2.DescribeVpcs: data DescribeVpcs
- Network.AWS.EC2.DescribeVpcs: data DescribeVpcsResponse
- Network.AWS.EC2.DescribeVpcs: describeVpcs :: DescribeVpcs
- Network.AWS.EC2.DescribeVpcs: describeVpcsResponse :: DescribeVpcsResponse
- Network.AWS.EC2.DescribeVpcs: dv1DryRun :: Lens' DescribeVpcs (Maybe Bool)
- Network.AWS.EC2.DescribeVpcs: dv1Filters :: Lens' DescribeVpcs [Filter]
- Network.AWS.EC2.DescribeVpcs: dv1VpcIds :: Lens' DescribeVpcs [Text]
- Network.AWS.EC2.DescribeVpcs: dvrVpcs :: Lens' DescribeVpcsResponse [Vpc]
- Network.AWS.EC2.DescribeVpcs: instance AWSRequest DescribeVpcs
- Network.AWS.EC2.DescribeVpcs: instance Eq DescribeVpcs
- Network.AWS.EC2.DescribeVpcs: instance Eq DescribeVpcsResponse
- Network.AWS.EC2.DescribeVpcs: instance FromXML DescribeVpcsResponse
- Network.AWS.EC2.DescribeVpcs: instance Monoid DescribeVpcsResponse
- Network.AWS.EC2.DescribeVpcs: instance Read DescribeVpcs
- Network.AWS.EC2.DescribeVpcs: instance Read DescribeVpcsResponse
- Network.AWS.EC2.DescribeVpcs: instance Semigroup DescribeVpcsResponse
- Network.AWS.EC2.DescribeVpcs: instance Show DescribeVpcs
- Network.AWS.EC2.DescribeVpcs: instance Show DescribeVpcsResponse
- Network.AWS.EC2.DescribeVpcs: instance ToHeaders DescribeVpcs
- Network.AWS.EC2.DescribeVpcs: instance ToPath DescribeVpcs
- Network.AWS.EC2.DescribeVpcs: instance ToQuery DescribeVpcs
- Network.AWS.EC2.DescribeVpnConnections: data DescribeVpnConnections
- Network.AWS.EC2.DescribeVpnConnections: data DescribeVpnConnectionsResponse
- Network.AWS.EC2.DescribeVpnConnections: describeVpnConnections :: DescribeVpnConnections
- Network.AWS.EC2.DescribeVpnConnections: describeVpnConnectionsResponse :: DescribeVpnConnectionsResponse
- Network.AWS.EC2.DescribeVpnConnections: dvc1DryRun :: Lens' DescribeVpnConnections (Maybe Bool)
- Network.AWS.EC2.DescribeVpnConnections: dvc1Filters :: Lens' DescribeVpnConnections [Filter]
- Network.AWS.EC2.DescribeVpnConnections: dvc1VpnConnectionIds :: Lens' DescribeVpnConnections [Text]
- Network.AWS.EC2.DescribeVpnConnections: dvcrVpnConnections :: Lens' DescribeVpnConnectionsResponse [VpnConnection]
- Network.AWS.EC2.DescribeVpnConnections: instance AWSRequest DescribeVpnConnections
- Network.AWS.EC2.DescribeVpnConnections: instance Eq DescribeVpnConnections
- Network.AWS.EC2.DescribeVpnConnections: instance Eq DescribeVpnConnectionsResponse
- Network.AWS.EC2.DescribeVpnConnections: instance FromXML DescribeVpnConnectionsResponse
- Network.AWS.EC2.DescribeVpnConnections: instance Monoid DescribeVpnConnectionsResponse
- Network.AWS.EC2.DescribeVpnConnections: instance Read DescribeVpnConnections
- Network.AWS.EC2.DescribeVpnConnections: instance Read DescribeVpnConnectionsResponse
- Network.AWS.EC2.DescribeVpnConnections: instance Semigroup DescribeVpnConnectionsResponse
- Network.AWS.EC2.DescribeVpnConnections: instance Show DescribeVpnConnections
- Network.AWS.EC2.DescribeVpnConnections: instance Show DescribeVpnConnectionsResponse
- Network.AWS.EC2.DescribeVpnConnections: instance ToHeaders DescribeVpnConnections
- Network.AWS.EC2.DescribeVpnConnections: instance ToPath DescribeVpnConnections
- Network.AWS.EC2.DescribeVpnConnections: instance ToQuery DescribeVpnConnections
- Network.AWS.EC2.DescribeVpnGateways: data DescribeVpnGateways
- Network.AWS.EC2.DescribeVpnGateways: data DescribeVpnGatewaysResponse
- Network.AWS.EC2.DescribeVpnGateways: describeVpnGateways :: DescribeVpnGateways
- Network.AWS.EC2.DescribeVpnGateways: describeVpnGatewaysResponse :: DescribeVpnGatewaysResponse
- Network.AWS.EC2.DescribeVpnGateways: dvg2DryRun :: Lens' DescribeVpnGateways (Maybe Bool)
- Network.AWS.EC2.DescribeVpnGateways: dvg2Filters :: Lens' DescribeVpnGateways [Filter]
- Network.AWS.EC2.DescribeVpnGateways: dvg2VpnGatewayIds :: Lens' DescribeVpnGateways [Text]
- Network.AWS.EC2.DescribeVpnGateways: dvgrVpnGateways :: Lens' DescribeVpnGatewaysResponse [VpnGateway]
- Network.AWS.EC2.DescribeVpnGateways: instance AWSRequest DescribeVpnGateways
- Network.AWS.EC2.DescribeVpnGateways: instance Eq DescribeVpnGateways
- Network.AWS.EC2.DescribeVpnGateways: instance Eq DescribeVpnGatewaysResponse
- Network.AWS.EC2.DescribeVpnGateways: instance FromXML DescribeVpnGatewaysResponse
- Network.AWS.EC2.DescribeVpnGateways: instance Monoid DescribeVpnGatewaysResponse
- Network.AWS.EC2.DescribeVpnGateways: instance Read DescribeVpnGateways
- Network.AWS.EC2.DescribeVpnGateways: instance Read DescribeVpnGatewaysResponse
- Network.AWS.EC2.DescribeVpnGateways: instance Semigroup DescribeVpnGatewaysResponse
- Network.AWS.EC2.DescribeVpnGateways: instance Show DescribeVpnGateways
- Network.AWS.EC2.DescribeVpnGateways: instance Show DescribeVpnGatewaysResponse
- Network.AWS.EC2.DescribeVpnGateways: instance ToHeaders DescribeVpnGateways
- Network.AWS.EC2.DescribeVpnGateways: instance ToPath DescribeVpnGateways
- Network.AWS.EC2.DescribeVpnGateways: instance ToQuery DescribeVpnGateways
- Network.AWS.EC2.DetachClassicLinkVpc: data DetachClassicLinkVpc
- Network.AWS.EC2.DetachClassicLinkVpc: data DetachClassicLinkVpcResponse
- Network.AWS.EC2.DetachClassicLinkVpc: dclvDryRun :: Lens' DetachClassicLinkVpc (Maybe Bool)
- Network.AWS.EC2.DetachClassicLinkVpc: dclvInstanceId :: Lens' DetachClassicLinkVpc Text
- Network.AWS.EC2.DetachClassicLinkVpc: dclvVpcId :: Lens' DetachClassicLinkVpc Text
- Network.AWS.EC2.DetachClassicLinkVpc: dclvrReturn :: Lens' DetachClassicLinkVpcResponse (Maybe Bool)
- Network.AWS.EC2.DetachClassicLinkVpc: detachClassicLinkVpc :: Text -> Text -> DetachClassicLinkVpc
- Network.AWS.EC2.DetachClassicLinkVpc: detachClassicLinkVpcResponse :: DetachClassicLinkVpcResponse
- Network.AWS.EC2.DetachClassicLinkVpc: instance AWSRequest DetachClassicLinkVpc
- Network.AWS.EC2.DetachClassicLinkVpc: instance Eq DetachClassicLinkVpc
- Network.AWS.EC2.DetachClassicLinkVpc: instance Eq DetachClassicLinkVpcResponse
- Network.AWS.EC2.DetachClassicLinkVpc: instance FromXML DetachClassicLinkVpcResponse
- Network.AWS.EC2.DetachClassicLinkVpc: instance Ord DetachClassicLinkVpc
- Network.AWS.EC2.DetachClassicLinkVpc: instance Ord DetachClassicLinkVpcResponse
- Network.AWS.EC2.DetachClassicLinkVpc: instance Read DetachClassicLinkVpc
- Network.AWS.EC2.DetachClassicLinkVpc: instance Read DetachClassicLinkVpcResponse
- Network.AWS.EC2.DetachClassicLinkVpc: instance Show DetachClassicLinkVpc
- Network.AWS.EC2.DetachClassicLinkVpc: instance Show DetachClassicLinkVpcResponse
- Network.AWS.EC2.DetachClassicLinkVpc: instance ToHeaders DetachClassicLinkVpc
- Network.AWS.EC2.DetachClassicLinkVpc: instance ToPath DetachClassicLinkVpc
- Network.AWS.EC2.DetachClassicLinkVpc: instance ToQuery DetachClassicLinkVpc
- Network.AWS.EC2.DetachInternetGateway: digVpcId :: Lens' DetachInternetGateway Text
- Network.AWS.EC2.DetachInternetGateway: instance Ord DetachInternetGateway
- Network.AWS.EC2.DetachInternetGateway: instance Ord DetachInternetGatewayResponse
- Network.AWS.EC2.DetachNetworkInterface: instance Ord DetachNetworkInterface
- Network.AWS.EC2.DetachNetworkInterface: instance Ord DetachNetworkInterfaceResponse
- Network.AWS.EC2.DetachVolume: data DetachVolumeResponse
- Network.AWS.EC2.DetachVolume: detachVolumeResponse :: DetachVolumeResponse
- Network.AWS.EC2.DetachVolume: dvrAttachTime :: Lens' DetachVolumeResponse (Maybe UTCTime)
- Network.AWS.EC2.DetachVolume: dvrDeleteOnTermination :: Lens' DetachVolumeResponse (Maybe Bool)
- Network.AWS.EC2.DetachVolume: dvrDevice :: Lens' DetachVolumeResponse (Maybe Text)
- Network.AWS.EC2.DetachVolume: dvrInstanceId :: Lens' DetachVolumeResponse (Maybe Text)
- Network.AWS.EC2.DetachVolume: dvrState :: Lens' DetachVolumeResponse (Maybe VolumeAttachmentState)
- Network.AWS.EC2.DetachVolume: dvrVolumeId :: Lens' DetachVolumeResponse (Maybe Text)
- Network.AWS.EC2.DetachVolume: instance Eq DetachVolumeResponse
- Network.AWS.EC2.DetachVolume: instance FromXML DetachVolumeResponse
- Network.AWS.EC2.DetachVolume: instance Ord DetachVolume
- Network.AWS.EC2.DetachVolume: instance Read DetachVolumeResponse
- Network.AWS.EC2.DetachVolume: instance Show DetachVolumeResponse
- Network.AWS.EC2.DetachVpnGateway: data DetachVpnGateway
- Network.AWS.EC2.DetachVpnGateway: data DetachVpnGatewayResponse
- Network.AWS.EC2.DetachVpnGateway: detachVpnGateway :: Text -> Text -> DetachVpnGateway
- Network.AWS.EC2.DetachVpnGateway: detachVpnGatewayResponse :: DetachVpnGatewayResponse
- Network.AWS.EC2.DetachVpnGateway: dvg1DryRun :: Lens' DetachVpnGateway (Maybe Bool)
- Network.AWS.EC2.DetachVpnGateway: dvg1VpcId :: Lens' DetachVpnGateway Text
- Network.AWS.EC2.DetachVpnGateway: dvg1VpnGatewayId :: Lens' DetachVpnGateway Text
- Network.AWS.EC2.DetachVpnGateway: instance AWSRequest DetachVpnGateway
- Network.AWS.EC2.DetachVpnGateway: instance Constructor C1_0DetachVpnGatewayResponse
- Network.AWS.EC2.DetachVpnGateway: instance Datatype D1DetachVpnGatewayResponse
- Network.AWS.EC2.DetachVpnGateway: instance Eq DetachVpnGateway
- Network.AWS.EC2.DetachVpnGateway: instance Eq DetachVpnGatewayResponse
- Network.AWS.EC2.DetachVpnGateway: instance Generic DetachVpnGatewayResponse
- Network.AWS.EC2.DetachVpnGateway: instance Ord DetachVpnGateway
- Network.AWS.EC2.DetachVpnGateway: instance Ord DetachVpnGatewayResponse
- Network.AWS.EC2.DetachVpnGateway: instance Read DetachVpnGateway
- Network.AWS.EC2.DetachVpnGateway: instance Read DetachVpnGatewayResponse
- Network.AWS.EC2.DetachVpnGateway: instance Show DetachVpnGateway
- Network.AWS.EC2.DetachVpnGateway: instance Show DetachVpnGatewayResponse
- Network.AWS.EC2.DetachVpnGateway: instance ToHeaders DetachVpnGateway
- Network.AWS.EC2.DetachVpnGateway: instance ToPath DetachVpnGateway
- Network.AWS.EC2.DetachVpnGateway: instance ToQuery DetachVpnGateway
- Network.AWS.EC2.DisableVgwRoutePropagation: data DisableVgwRoutePropagation
- Network.AWS.EC2.DisableVgwRoutePropagation: data DisableVgwRoutePropagationResponse
- Network.AWS.EC2.DisableVgwRoutePropagation: disableVgwRoutePropagation :: Text -> Text -> DisableVgwRoutePropagation
- Network.AWS.EC2.DisableVgwRoutePropagation: disableVgwRoutePropagationResponse :: DisableVgwRoutePropagationResponse
- Network.AWS.EC2.DisableVgwRoutePropagation: dvrpGatewayId :: Lens' DisableVgwRoutePropagation Text
- Network.AWS.EC2.DisableVgwRoutePropagation: dvrpRouteTableId :: Lens' DisableVgwRoutePropagation Text
- Network.AWS.EC2.DisableVgwRoutePropagation: instance AWSRequest DisableVgwRoutePropagation
- Network.AWS.EC2.DisableVgwRoutePropagation: instance Constructor C1_0DisableVgwRoutePropagationResponse
- Network.AWS.EC2.DisableVgwRoutePropagation: instance Datatype D1DisableVgwRoutePropagationResponse
- Network.AWS.EC2.DisableVgwRoutePropagation: instance Eq DisableVgwRoutePropagation
- Network.AWS.EC2.DisableVgwRoutePropagation: instance Eq DisableVgwRoutePropagationResponse
- Network.AWS.EC2.DisableVgwRoutePropagation: instance Generic DisableVgwRoutePropagationResponse
- Network.AWS.EC2.DisableVgwRoutePropagation: instance Ord DisableVgwRoutePropagation
- Network.AWS.EC2.DisableVgwRoutePropagation: instance Ord DisableVgwRoutePropagationResponse
- Network.AWS.EC2.DisableVgwRoutePropagation: instance Read DisableVgwRoutePropagation
- Network.AWS.EC2.DisableVgwRoutePropagation: instance Read DisableVgwRoutePropagationResponse
- Network.AWS.EC2.DisableVgwRoutePropagation: instance Show DisableVgwRoutePropagation
- Network.AWS.EC2.DisableVgwRoutePropagation: instance Show DisableVgwRoutePropagationResponse
- Network.AWS.EC2.DisableVgwRoutePropagation: instance ToHeaders DisableVgwRoutePropagation
- Network.AWS.EC2.DisableVgwRoutePropagation: instance ToPath DisableVgwRoutePropagation
- Network.AWS.EC2.DisableVgwRoutePropagation: instance ToQuery DisableVgwRoutePropagation
- Network.AWS.EC2.DisableVpcClassicLink: data DisableVpcClassicLink
- Network.AWS.EC2.DisableVpcClassicLink: data DisableVpcClassicLinkResponse
- Network.AWS.EC2.DisableVpcClassicLink: disableVpcClassicLink :: Text -> DisableVpcClassicLink
- Network.AWS.EC2.DisableVpcClassicLink: disableVpcClassicLinkResponse :: DisableVpcClassicLinkResponse
- Network.AWS.EC2.DisableVpcClassicLink: dvcl1DryRun :: Lens' DisableVpcClassicLink (Maybe Bool)
- Network.AWS.EC2.DisableVpcClassicLink: dvcl1VpcId :: Lens' DisableVpcClassicLink Text
- Network.AWS.EC2.DisableVpcClassicLink: dvclrReturn :: Lens' DisableVpcClassicLinkResponse (Maybe Bool)
- Network.AWS.EC2.DisableVpcClassicLink: instance AWSRequest DisableVpcClassicLink
- Network.AWS.EC2.DisableVpcClassicLink: instance Eq DisableVpcClassicLink
- Network.AWS.EC2.DisableVpcClassicLink: instance Eq DisableVpcClassicLinkResponse
- Network.AWS.EC2.DisableVpcClassicLink: instance FromXML DisableVpcClassicLinkResponse
- Network.AWS.EC2.DisableVpcClassicLink: instance Ord DisableVpcClassicLink
- Network.AWS.EC2.DisableVpcClassicLink: instance Ord DisableVpcClassicLinkResponse
- Network.AWS.EC2.DisableVpcClassicLink: instance Read DisableVpcClassicLink
- Network.AWS.EC2.DisableVpcClassicLink: instance Read DisableVpcClassicLinkResponse
- Network.AWS.EC2.DisableVpcClassicLink: instance Show DisableVpcClassicLink
- Network.AWS.EC2.DisableVpcClassicLink: instance Show DisableVpcClassicLinkResponse
- Network.AWS.EC2.DisableVpcClassicLink: instance ToHeaders DisableVpcClassicLink
- Network.AWS.EC2.DisableVpcClassicLink: instance ToPath DisableVpcClassicLink
- Network.AWS.EC2.DisableVpcClassicLink: instance ToQuery DisableVpcClassicLink
- Network.AWS.EC2.DisassociateAddress: da1AssociationId :: Lens' DisassociateAddress (Maybe Text)
- Network.AWS.EC2.DisassociateAddress: da1DryRun :: Lens' DisassociateAddress (Maybe Bool)
- Network.AWS.EC2.DisassociateAddress: da1PublicIp :: Lens' DisassociateAddress (Maybe Text)
- Network.AWS.EC2.DisassociateAddress: instance Ord DisassociateAddress
- Network.AWS.EC2.DisassociateAddress: instance Ord DisassociateAddressResponse
- Network.AWS.EC2.DisassociateRouteTable: instance Ord DisassociateRouteTable
- Network.AWS.EC2.DisassociateRouteTable: instance Ord DisassociateRouteTableResponse
- Network.AWS.EC2.EnableVgwRoutePropagation: data EnableVgwRoutePropagation
- Network.AWS.EC2.EnableVgwRoutePropagation: data EnableVgwRoutePropagationResponse
- Network.AWS.EC2.EnableVgwRoutePropagation: enableVgwRoutePropagation :: Text -> Text -> EnableVgwRoutePropagation
- Network.AWS.EC2.EnableVgwRoutePropagation: enableVgwRoutePropagationResponse :: EnableVgwRoutePropagationResponse
- Network.AWS.EC2.EnableVgwRoutePropagation: evrpGatewayId :: Lens' EnableVgwRoutePropagation Text
- Network.AWS.EC2.EnableVgwRoutePropagation: evrpRouteTableId :: Lens' EnableVgwRoutePropagation Text
- Network.AWS.EC2.EnableVgwRoutePropagation: instance AWSRequest EnableVgwRoutePropagation
- Network.AWS.EC2.EnableVgwRoutePropagation: instance Constructor C1_0EnableVgwRoutePropagationResponse
- Network.AWS.EC2.EnableVgwRoutePropagation: instance Datatype D1EnableVgwRoutePropagationResponse
- Network.AWS.EC2.EnableVgwRoutePropagation: instance Eq EnableVgwRoutePropagation
- Network.AWS.EC2.EnableVgwRoutePropagation: instance Eq EnableVgwRoutePropagationResponse
- Network.AWS.EC2.EnableVgwRoutePropagation: instance Generic EnableVgwRoutePropagationResponse
- Network.AWS.EC2.EnableVgwRoutePropagation: instance Ord EnableVgwRoutePropagation
- Network.AWS.EC2.EnableVgwRoutePropagation: instance Ord EnableVgwRoutePropagationResponse
- Network.AWS.EC2.EnableVgwRoutePropagation: instance Read EnableVgwRoutePropagation
- Network.AWS.EC2.EnableVgwRoutePropagation: instance Read EnableVgwRoutePropagationResponse
- Network.AWS.EC2.EnableVgwRoutePropagation: instance Show EnableVgwRoutePropagation
- Network.AWS.EC2.EnableVgwRoutePropagation: instance Show EnableVgwRoutePropagationResponse
- Network.AWS.EC2.EnableVgwRoutePropagation: instance ToHeaders EnableVgwRoutePropagation
- Network.AWS.EC2.EnableVgwRoutePropagation: instance ToPath EnableVgwRoutePropagation
- Network.AWS.EC2.EnableVgwRoutePropagation: instance ToQuery EnableVgwRoutePropagation
- Network.AWS.EC2.EnableVolumeIO: instance Ord EnableVolumeIO
- Network.AWS.EC2.EnableVolumeIO: instance Ord EnableVolumeIOResponse
- Network.AWS.EC2.EnableVpcClassicLink: data EnableVpcClassicLink
- Network.AWS.EC2.EnableVpcClassicLink: data EnableVpcClassicLinkResponse
- Network.AWS.EC2.EnableVpcClassicLink: enableVpcClassicLink :: Text -> EnableVpcClassicLink
- Network.AWS.EC2.EnableVpcClassicLink: enableVpcClassicLinkResponse :: EnableVpcClassicLinkResponse
- Network.AWS.EC2.EnableVpcClassicLink: evclDryRun :: Lens' EnableVpcClassicLink (Maybe Bool)
- Network.AWS.EC2.EnableVpcClassicLink: evclVpcId :: Lens' EnableVpcClassicLink Text
- Network.AWS.EC2.EnableVpcClassicLink: evclrReturn :: Lens' EnableVpcClassicLinkResponse (Maybe Bool)
- Network.AWS.EC2.EnableVpcClassicLink: instance AWSRequest EnableVpcClassicLink
- Network.AWS.EC2.EnableVpcClassicLink: instance Eq EnableVpcClassicLink
- Network.AWS.EC2.EnableVpcClassicLink: instance Eq EnableVpcClassicLinkResponse
- Network.AWS.EC2.EnableVpcClassicLink: instance FromXML EnableVpcClassicLinkResponse
- Network.AWS.EC2.EnableVpcClassicLink: instance Ord EnableVpcClassicLink
- Network.AWS.EC2.EnableVpcClassicLink: instance Ord EnableVpcClassicLinkResponse
- Network.AWS.EC2.EnableVpcClassicLink: instance Read EnableVpcClassicLink
- Network.AWS.EC2.EnableVpcClassicLink: instance Read EnableVpcClassicLinkResponse
- Network.AWS.EC2.EnableVpcClassicLink: instance Show EnableVpcClassicLink
- Network.AWS.EC2.EnableVpcClassicLink: instance Show EnableVpcClassicLinkResponse
- Network.AWS.EC2.EnableVpcClassicLink: instance ToHeaders EnableVpcClassicLink
- Network.AWS.EC2.EnableVpcClassicLink: instance ToPath EnableVpcClassicLink
- Network.AWS.EC2.EnableVpcClassicLink: instance ToQuery EnableVpcClassicLink
- Network.AWS.EC2.GetConsoleOutput: gcorInstanceId :: Lens' GetConsoleOutputResponse (Maybe Text)
- Network.AWS.EC2.GetConsoleOutput: gcorOutput :: Lens' GetConsoleOutputResponse (Maybe Text)
- Network.AWS.EC2.GetConsoleOutput: gcorTimestamp :: Lens' GetConsoleOutputResponse (Maybe UTCTime)
- Network.AWS.EC2.GetConsoleOutput: instance FromXML GetConsoleOutputResponse
- Network.AWS.EC2.GetConsoleOutput: instance Ord GetConsoleOutput
- Network.AWS.EC2.GetConsoleOutput: instance Ord GetConsoleOutputResponse
- Network.AWS.EC2.GetPasswordData: gpdrInstanceId :: Lens' GetPasswordDataResponse Text
- Network.AWS.EC2.GetPasswordData: gpdrPasswordData :: Lens' GetPasswordDataResponse Text
- Network.AWS.EC2.GetPasswordData: gpdrTimestamp :: Lens' GetPasswordDataResponse UTCTime
- Network.AWS.EC2.GetPasswordData: instance FromXML GetPasswordDataResponse
- Network.AWS.EC2.GetPasswordData: instance Ord GetPasswordData
- Network.AWS.EC2.GetPasswordData: instance Ord GetPasswordDataResponse
- Network.AWS.EC2.ImportImage: ii1Architecture :: Lens' ImportImage (Maybe Text)
- Network.AWS.EC2.ImportImage: ii1ClientData :: Lens' ImportImage (Maybe ClientData)
- Network.AWS.EC2.ImportImage: ii1ClientToken :: Lens' ImportImage (Maybe Text)
- Network.AWS.EC2.ImportImage: ii1Description :: Lens' ImportImage (Maybe Text)
- Network.AWS.EC2.ImportImage: ii1DiskContainers :: Lens' ImportImage [ImageDiskContainer]
- Network.AWS.EC2.ImportImage: ii1DryRun :: Lens' ImportImage (Maybe Bool)
- Network.AWS.EC2.ImportImage: ii1Hypervisor :: Lens' ImportImage (Maybe Text)
- Network.AWS.EC2.ImportImage: ii1LicenseType :: Lens' ImportImage (Maybe Text)
- Network.AWS.EC2.ImportImage: ii1Platform :: Lens' ImportImage (Maybe Text)
- Network.AWS.EC2.ImportImage: ii1RoleName :: Lens' ImportImage (Maybe Text)
- Network.AWS.EC2.ImportImage: iirArchitecture :: Lens' ImportImageResponse (Maybe Text)
- Network.AWS.EC2.ImportImage: iirDescription :: Lens' ImportImageResponse (Maybe Text)
- Network.AWS.EC2.ImportImage: iirHypervisor :: Lens' ImportImageResponse (Maybe Text)
- Network.AWS.EC2.ImportImage: iirImageId :: Lens' ImportImageResponse (Maybe Text)
- Network.AWS.EC2.ImportImage: iirImportTaskId :: Lens' ImportImageResponse (Maybe Text)
- Network.AWS.EC2.ImportImage: iirLicenseType :: Lens' ImportImageResponse (Maybe Text)
- Network.AWS.EC2.ImportImage: iirPlatform :: Lens' ImportImageResponse (Maybe Text)
- Network.AWS.EC2.ImportImage: iirProgress :: Lens' ImportImageResponse (Maybe Text)
- Network.AWS.EC2.ImportImage: iirSnapshotDetails :: Lens' ImportImageResponse [SnapshotDetail]
- Network.AWS.EC2.ImportImage: iirStatus :: Lens' ImportImageResponse (Maybe Text)
- Network.AWS.EC2.ImportImage: iirStatusMessage :: Lens' ImportImageResponse (Maybe Text)
- Network.AWS.EC2.ImportImage: instance FromXML ImportImageResponse
- Network.AWS.EC2.ImportInstance: iirConversionTask :: Lens' ImportInstanceResponse (Maybe ConversionTask)
- Network.AWS.EC2.ImportInstance: instance FromXML ImportInstanceResponse
- Network.AWS.EC2.ImportKeyPair: ikprKeyFingerprint :: Lens' ImportKeyPairResponse (Maybe Text)
- Network.AWS.EC2.ImportKeyPair: ikprKeyName :: Lens' ImportKeyPairResponse (Maybe Text)
- Network.AWS.EC2.ImportKeyPair: instance FromXML ImportKeyPairResponse
- Network.AWS.EC2.ImportKeyPair: instance Ord ImportKeyPairResponse
- Network.AWS.EC2.ImportSnapshot: instance FromXML ImportSnapshotResponse
- Network.AWS.EC2.ImportSnapshot: isrDescription :: Lens' ImportSnapshotResponse (Maybe Text)
- Network.AWS.EC2.ImportSnapshot: isrImportTaskId :: Lens' ImportSnapshotResponse (Maybe Text)
- Network.AWS.EC2.ImportSnapshot: isrSnapshotTaskDetail :: Lens' ImportSnapshotResponse (Maybe SnapshotTaskDetail)
- Network.AWS.EC2.ImportVolume: instance FromXML ImportVolumeResponse
- Network.AWS.EC2.ImportVolume: ivrConversionTask :: Lens' ImportVolumeResponse (Maybe ConversionTask)
- Network.AWS.EC2.ModifyImageAttribute: instance Ord ModifyImageAttributeResponse
- Network.AWS.EC2.ModifyInstanceAttribute: instance Ord ModifyInstanceAttributeResponse
- Network.AWS.EC2.ModifyInstanceAttribute: mia1Attribute :: Lens' ModifyInstanceAttribute (Maybe InstanceAttributeName)
- Network.AWS.EC2.ModifyInstanceAttribute: mia1BlockDeviceMappings :: Lens' ModifyInstanceAttribute [InstanceBlockDeviceMappingSpecification]
- Network.AWS.EC2.ModifyInstanceAttribute: mia1DisableApiTermination :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)
- Network.AWS.EC2.ModifyInstanceAttribute: mia1DryRun :: Lens' ModifyInstanceAttribute (Maybe Bool)
- Network.AWS.EC2.ModifyInstanceAttribute: mia1EbsOptimized :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)
- Network.AWS.EC2.ModifyInstanceAttribute: mia1Groups :: Lens' ModifyInstanceAttribute [Text]
- Network.AWS.EC2.ModifyInstanceAttribute: mia1InstanceId :: Lens' ModifyInstanceAttribute Text
- Network.AWS.EC2.ModifyInstanceAttribute: mia1InstanceInitiatedShutdownBehavior :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)
- Network.AWS.EC2.ModifyInstanceAttribute: mia1InstanceType :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)
- Network.AWS.EC2.ModifyInstanceAttribute: mia1Kernel :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)
- Network.AWS.EC2.ModifyInstanceAttribute: mia1Ramdisk :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)
- Network.AWS.EC2.ModifyInstanceAttribute: mia1SourceDestCheck :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)
- Network.AWS.EC2.ModifyInstanceAttribute: mia1SriovNetSupport :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)
- Network.AWS.EC2.ModifyInstanceAttribute: mia1UserData :: Lens' ModifyInstanceAttribute (Maybe BlobAttributeValue)
- Network.AWS.EC2.ModifyInstanceAttribute: mia1Value :: Lens' ModifyInstanceAttribute (Maybe Text)
- Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Ord ModifyNetworkInterfaceAttributeResponse
- Network.AWS.EC2.ModifyReservedInstances: instance FromXML ModifyReservedInstancesResponse
- Network.AWS.EC2.ModifyReservedInstances: instance Monoid ModifyReservedInstancesResponse
- Network.AWS.EC2.ModifyReservedInstances: instance Ord ModifyReservedInstancesResponse
- Network.AWS.EC2.ModifyReservedInstances: mrirReservedInstancesModificationId :: Lens' ModifyReservedInstancesResponse (Maybe Text)
- Network.AWS.EC2.ModifySnapshotAttribute: instance Ord ModifySnapshotAttributeResponse
- Network.AWS.EC2.ModifySubnetAttribute: instance Ord ModifySubnetAttributeResponse
- Network.AWS.EC2.ModifySubnetAttribute: msaMapPublicIpOnLaunch :: Lens' ModifySubnetAttribute (Maybe AttributeBooleanValue)
- Network.AWS.EC2.ModifyVolumeAttribute: instance Ord ModifyVolumeAttributeResponse
- Network.AWS.EC2.ModifyVpcAttribute: data ModifyVpcAttribute
- Network.AWS.EC2.ModifyVpcAttribute: data ModifyVpcAttributeResponse
- Network.AWS.EC2.ModifyVpcAttribute: instance AWSRequest ModifyVpcAttribute
- Network.AWS.EC2.ModifyVpcAttribute: instance Constructor C1_0ModifyVpcAttributeResponse
- Network.AWS.EC2.ModifyVpcAttribute: instance Datatype D1ModifyVpcAttributeResponse
- Network.AWS.EC2.ModifyVpcAttribute: instance Eq ModifyVpcAttribute
- Network.AWS.EC2.ModifyVpcAttribute: instance Eq ModifyVpcAttributeResponse
- Network.AWS.EC2.ModifyVpcAttribute: instance Generic ModifyVpcAttributeResponse
- Network.AWS.EC2.ModifyVpcAttribute: instance Ord ModifyVpcAttributeResponse
- Network.AWS.EC2.ModifyVpcAttribute: instance Read ModifyVpcAttribute
- Network.AWS.EC2.ModifyVpcAttribute: instance Read ModifyVpcAttributeResponse
- Network.AWS.EC2.ModifyVpcAttribute: instance Show ModifyVpcAttribute
- Network.AWS.EC2.ModifyVpcAttribute: instance Show ModifyVpcAttributeResponse
- Network.AWS.EC2.ModifyVpcAttribute: instance ToHeaders ModifyVpcAttribute
- Network.AWS.EC2.ModifyVpcAttribute: instance ToPath ModifyVpcAttribute
- Network.AWS.EC2.ModifyVpcAttribute: instance ToQuery ModifyVpcAttribute
- Network.AWS.EC2.ModifyVpcAttribute: modifyVpcAttribute :: Text -> ModifyVpcAttribute
- Network.AWS.EC2.ModifyVpcAttribute: modifyVpcAttributeResponse :: ModifyVpcAttributeResponse
- Network.AWS.EC2.ModifyVpcAttribute: mvaEnableDnsHostnames :: Lens' ModifyVpcAttribute (Maybe AttributeBooleanValue)
- Network.AWS.EC2.ModifyVpcAttribute: mvaEnableDnsSupport :: Lens' ModifyVpcAttribute (Maybe AttributeBooleanValue)
- Network.AWS.EC2.ModifyVpcAttribute: mvaVpcId :: Lens' ModifyVpcAttribute Text
- Network.AWS.EC2.ModifyVpcEndpoint: data ModifyVpcEndpoint
- Network.AWS.EC2.ModifyVpcEndpoint: data ModifyVpcEndpointResponse
- Network.AWS.EC2.ModifyVpcEndpoint: instance AWSRequest ModifyVpcEndpoint
- Network.AWS.EC2.ModifyVpcEndpoint: instance Eq ModifyVpcEndpoint
- Network.AWS.EC2.ModifyVpcEndpoint: instance Eq ModifyVpcEndpointResponse
- Network.AWS.EC2.ModifyVpcEndpoint: instance FromXML ModifyVpcEndpointResponse
- Network.AWS.EC2.ModifyVpcEndpoint: instance Ord ModifyVpcEndpoint
- Network.AWS.EC2.ModifyVpcEndpoint: instance Ord ModifyVpcEndpointResponse
- Network.AWS.EC2.ModifyVpcEndpoint: instance Read ModifyVpcEndpoint
- Network.AWS.EC2.ModifyVpcEndpoint: instance Read ModifyVpcEndpointResponse
- Network.AWS.EC2.ModifyVpcEndpoint: instance Show ModifyVpcEndpoint
- Network.AWS.EC2.ModifyVpcEndpoint: instance Show ModifyVpcEndpointResponse
- Network.AWS.EC2.ModifyVpcEndpoint: instance ToHeaders ModifyVpcEndpoint
- Network.AWS.EC2.ModifyVpcEndpoint: instance ToPath ModifyVpcEndpoint
- Network.AWS.EC2.ModifyVpcEndpoint: instance ToQuery ModifyVpcEndpoint
- Network.AWS.EC2.ModifyVpcEndpoint: modifyVpcEndpoint :: Text -> ModifyVpcEndpoint
- Network.AWS.EC2.ModifyVpcEndpoint: modifyVpcEndpointResponse :: ModifyVpcEndpointResponse
- Network.AWS.EC2.ModifyVpcEndpoint: mveAddRouteTableIds :: Lens' ModifyVpcEndpoint [Text]
- Network.AWS.EC2.ModifyVpcEndpoint: mveDryRun :: Lens' ModifyVpcEndpoint (Maybe Bool)
- Network.AWS.EC2.ModifyVpcEndpoint: mvePolicyDocument :: Lens' ModifyVpcEndpoint (Maybe Text)
- Network.AWS.EC2.ModifyVpcEndpoint: mveRemoveRouteTableIds :: Lens' ModifyVpcEndpoint [Text]
- Network.AWS.EC2.ModifyVpcEndpoint: mveResetPolicy :: Lens' ModifyVpcEndpoint (Maybe Bool)
- Network.AWS.EC2.ModifyVpcEndpoint: mveVpcEndpointId :: Lens' ModifyVpcEndpoint Text
- Network.AWS.EC2.ModifyVpcEndpoint: mverReturn :: Lens' ModifyVpcEndpointResponse (Maybe Bool)
- Network.AWS.EC2.MonitorInstances: instance FromXML MonitorInstancesResponse
- Network.AWS.EC2.MonitorInstances: instance Monoid MonitorInstancesResponse
- Network.AWS.EC2.MonitorInstances: instance Ord MonitorInstances
- Network.AWS.EC2.MonitorInstances: instance Semigroup MonitorInstancesResponse
- Network.AWS.EC2.MonitorInstances: mirInstanceMonitorings :: Lens' MonitorInstancesResponse [InstanceMonitoring]
- Network.AWS.EC2.MoveAddressToVpc: data MoveAddressToVpc
- Network.AWS.EC2.MoveAddressToVpc: data MoveAddressToVpcResponse
- Network.AWS.EC2.MoveAddressToVpc: instance AWSRequest MoveAddressToVpc
- Network.AWS.EC2.MoveAddressToVpc: instance Eq MoveAddressToVpc
- Network.AWS.EC2.MoveAddressToVpc: instance Eq MoveAddressToVpcResponse
- Network.AWS.EC2.MoveAddressToVpc: instance FromXML MoveAddressToVpcResponse
- Network.AWS.EC2.MoveAddressToVpc: instance Ord MoveAddressToVpc
- Network.AWS.EC2.MoveAddressToVpc: instance Read MoveAddressToVpc
- Network.AWS.EC2.MoveAddressToVpc: instance Read MoveAddressToVpcResponse
- Network.AWS.EC2.MoveAddressToVpc: instance Show MoveAddressToVpc
- Network.AWS.EC2.MoveAddressToVpc: instance Show MoveAddressToVpcResponse
- Network.AWS.EC2.MoveAddressToVpc: instance ToHeaders MoveAddressToVpc
- Network.AWS.EC2.MoveAddressToVpc: instance ToPath MoveAddressToVpc
- Network.AWS.EC2.MoveAddressToVpc: instance ToQuery MoveAddressToVpc
- Network.AWS.EC2.MoveAddressToVpc: matvDryRun :: Lens' MoveAddressToVpc (Maybe Bool)
- Network.AWS.EC2.MoveAddressToVpc: matvPublicIp :: Lens' MoveAddressToVpc Text
- Network.AWS.EC2.MoveAddressToVpc: matvrAllocationId :: Lens' MoveAddressToVpcResponse (Maybe Text)
- Network.AWS.EC2.MoveAddressToVpc: matvrStatus :: Lens' MoveAddressToVpcResponse (Maybe AddressStatus)
- Network.AWS.EC2.MoveAddressToVpc: moveAddressToVpc :: Text -> MoveAddressToVpc
- Network.AWS.EC2.MoveAddressToVpc: moveAddressToVpcResponse :: MoveAddressToVpcResponse
- Network.AWS.EC2.PurchaseReservedInstancesOffering: instance FromXML PurchaseReservedInstancesOfferingResponse
- Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Monoid PurchaseReservedInstancesOfferingResponse
- Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Ord PurchaseReservedInstancesOfferingResponse
- Network.AWS.EC2.PurchaseReservedInstancesOffering: priorReservedInstancesId :: Lens' PurchaseReservedInstancesOfferingResponse (Maybe Text)
- Network.AWS.EC2.RebootInstances: instance Ord RebootInstances
- Network.AWS.EC2.RebootInstances: instance Ord RebootInstancesResponse
- Network.AWS.EC2.RebootInstances: ri2DryRun :: Lens' RebootInstances (Maybe Bool)
- Network.AWS.EC2.RebootInstances: ri2InstanceIds :: Lens' RebootInstances [Text]
- Network.AWS.EC2.RegisterImage: instance FromXML RegisterImageResponse
- Network.AWS.EC2.RegisterImage: instance Monoid RegisterImageResponse
- Network.AWS.EC2.RegisterImage: instance Ord RegisterImageResponse
- Network.AWS.EC2.RegisterImage: ri1Architecture :: Lens' RegisterImage (Maybe ArchitectureValues)
- Network.AWS.EC2.RegisterImage: ri1BlockDeviceMappings :: Lens' RegisterImage [BlockDeviceMapping]
- Network.AWS.EC2.RegisterImage: ri1Description :: Lens' RegisterImage (Maybe Text)
- Network.AWS.EC2.RegisterImage: ri1DryRun :: Lens' RegisterImage (Maybe Bool)
- Network.AWS.EC2.RegisterImage: ri1ImageLocation :: Lens' RegisterImage (Maybe Text)
- Network.AWS.EC2.RegisterImage: ri1KernelId :: Lens' RegisterImage (Maybe Text)
- Network.AWS.EC2.RegisterImage: ri1Name :: Lens' RegisterImage Text
- Network.AWS.EC2.RegisterImage: ri1RamdiskId :: Lens' RegisterImage (Maybe Text)
- Network.AWS.EC2.RegisterImage: ri1RootDeviceName :: Lens' RegisterImage (Maybe Text)
- Network.AWS.EC2.RegisterImage: ri1SriovNetSupport :: Lens' RegisterImage (Maybe Text)
- Network.AWS.EC2.RegisterImage: ri1VirtualizationType :: Lens' RegisterImage (Maybe Text)
- Network.AWS.EC2.RegisterImage: rirImageId :: Lens' RegisterImageResponse (Maybe Text)
- Network.AWS.EC2.RejectVpcPeeringConnection: data RejectVpcPeeringConnection
- Network.AWS.EC2.RejectVpcPeeringConnection: data RejectVpcPeeringConnectionResponse
- Network.AWS.EC2.RejectVpcPeeringConnection: instance AWSRequest RejectVpcPeeringConnection
- Network.AWS.EC2.RejectVpcPeeringConnection: instance Eq RejectVpcPeeringConnection
- Network.AWS.EC2.RejectVpcPeeringConnection: instance Eq RejectVpcPeeringConnectionResponse
- Network.AWS.EC2.RejectVpcPeeringConnection: instance FromXML RejectVpcPeeringConnectionResponse
- Network.AWS.EC2.RejectVpcPeeringConnection: instance Ord RejectVpcPeeringConnection
- Network.AWS.EC2.RejectVpcPeeringConnection: instance Ord RejectVpcPeeringConnectionResponse
- Network.AWS.EC2.RejectVpcPeeringConnection: instance Read RejectVpcPeeringConnection
- Network.AWS.EC2.RejectVpcPeeringConnection: instance Read RejectVpcPeeringConnectionResponse
- Network.AWS.EC2.RejectVpcPeeringConnection: instance Show RejectVpcPeeringConnection
- Network.AWS.EC2.RejectVpcPeeringConnection: instance Show RejectVpcPeeringConnectionResponse
- Network.AWS.EC2.RejectVpcPeeringConnection: instance ToHeaders RejectVpcPeeringConnection
- Network.AWS.EC2.RejectVpcPeeringConnection: instance ToPath RejectVpcPeeringConnection
- Network.AWS.EC2.RejectVpcPeeringConnection: instance ToQuery RejectVpcPeeringConnection
- Network.AWS.EC2.RejectVpcPeeringConnection: rejectVpcPeeringConnection :: Text -> RejectVpcPeeringConnection
- Network.AWS.EC2.RejectVpcPeeringConnection: rejectVpcPeeringConnectionResponse :: RejectVpcPeeringConnectionResponse
- Network.AWS.EC2.RejectVpcPeeringConnection: rvpcDryRun :: Lens' RejectVpcPeeringConnection (Maybe Bool)
- Network.AWS.EC2.RejectVpcPeeringConnection: rvpcVpcPeeringConnectionId :: Lens' RejectVpcPeeringConnection Text
- Network.AWS.EC2.RejectVpcPeeringConnection: rvpcrReturn :: Lens' RejectVpcPeeringConnectionResponse (Maybe Bool)
- Network.AWS.EC2.ReleaseAddress: instance Ord ReleaseAddress
- Network.AWS.EC2.ReleaseAddress: instance Ord ReleaseAddressResponse
- Network.AWS.EC2.ReleaseAddress: raPublicIp :: Lens' ReleaseAddress (Maybe Text)
- Network.AWS.EC2.ReplaceNetworkAclAssociation: data ReplaceNetworkAclAssociation
- Network.AWS.EC2.ReplaceNetworkAclAssociation: data ReplaceNetworkAclAssociationResponse
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance AWSRequest ReplaceNetworkAclAssociation
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance Eq ReplaceNetworkAclAssociation
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance Eq ReplaceNetworkAclAssociationResponse
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance FromXML ReplaceNetworkAclAssociationResponse
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance Monoid ReplaceNetworkAclAssociationResponse
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance Ord ReplaceNetworkAclAssociation
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance Ord ReplaceNetworkAclAssociationResponse
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance Read ReplaceNetworkAclAssociation
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance Read ReplaceNetworkAclAssociationResponse
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance Show ReplaceNetworkAclAssociation
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance Show ReplaceNetworkAclAssociationResponse
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance ToHeaders ReplaceNetworkAclAssociation
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance ToPath ReplaceNetworkAclAssociation
- Network.AWS.EC2.ReplaceNetworkAclAssociation: instance ToQuery ReplaceNetworkAclAssociation
- Network.AWS.EC2.ReplaceNetworkAclAssociation: replaceNetworkAclAssociation :: Text -> Text -> ReplaceNetworkAclAssociation
- Network.AWS.EC2.ReplaceNetworkAclAssociation: replaceNetworkAclAssociationResponse :: ReplaceNetworkAclAssociationResponse
- Network.AWS.EC2.ReplaceNetworkAclAssociation: rnaaAssociationId :: Lens' ReplaceNetworkAclAssociation Text
- Network.AWS.EC2.ReplaceNetworkAclAssociation: rnaaDryRun :: Lens' ReplaceNetworkAclAssociation (Maybe Bool)
- Network.AWS.EC2.ReplaceNetworkAclAssociation: rnaaNetworkAclId :: Lens' ReplaceNetworkAclAssociation Text
- Network.AWS.EC2.ReplaceNetworkAclAssociation: rnaarNewAssociationId :: Lens' ReplaceNetworkAclAssociationResponse (Maybe Text)
- Network.AWS.EC2.ReplaceNetworkAclEntry: data ReplaceNetworkAclEntry
- Network.AWS.EC2.ReplaceNetworkAclEntry: data ReplaceNetworkAclEntryResponse
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance AWSRequest ReplaceNetworkAclEntry
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance Constructor C1_0ReplaceNetworkAclEntryResponse
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance Datatype D1ReplaceNetworkAclEntryResponse
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance Eq ReplaceNetworkAclEntry
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance Eq ReplaceNetworkAclEntryResponse
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance Generic ReplaceNetworkAclEntryResponse
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance Ord ReplaceNetworkAclEntryResponse
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance Read ReplaceNetworkAclEntry
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance Read ReplaceNetworkAclEntryResponse
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance Show ReplaceNetworkAclEntry
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance Show ReplaceNetworkAclEntryResponse
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance ToHeaders ReplaceNetworkAclEntry
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance ToPath ReplaceNetworkAclEntry
- Network.AWS.EC2.ReplaceNetworkAclEntry: instance ToQuery ReplaceNetworkAclEntry
- Network.AWS.EC2.ReplaceNetworkAclEntry: replaceNetworkAclEntry :: Text -> Int -> Text -> RuleAction -> Bool -> Text -> ReplaceNetworkAclEntry
- Network.AWS.EC2.ReplaceNetworkAclEntry: replaceNetworkAclEntryResponse :: ReplaceNetworkAclEntryResponse
- Network.AWS.EC2.ReplaceNetworkAclEntry: rnaeCidrBlock :: Lens' ReplaceNetworkAclEntry Text
- Network.AWS.EC2.ReplaceNetworkAclEntry: rnaeDryRun :: Lens' ReplaceNetworkAclEntry (Maybe Bool)
- Network.AWS.EC2.ReplaceNetworkAclEntry: rnaeEgress :: Lens' ReplaceNetworkAclEntry Bool
- Network.AWS.EC2.ReplaceNetworkAclEntry: rnaeIcmpTypeCode :: Lens' ReplaceNetworkAclEntry (Maybe IcmpTypeCode)
- Network.AWS.EC2.ReplaceNetworkAclEntry: rnaeNetworkAclId :: Lens' ReplaceNetworkAclEntry Text
- Network.AWS.EC2.ReplaceNetworkAclEntry: rnaePortRange :: Lens' ReplaceNetworkAclEntry (Maybe PortRange)
- Network.AWS.EC2.ReplaceNetworkAclEntry: rnaeProtocol :: Lens' ReplaceNetworkAclEntry Text
- Network.AWS.EC2.ReplaceNetworkAclEntry: rnaeRuleAction :: Lens' ReplaceNetworkAclEntry RuleAction
- Network.AWS.EC2.ReplaceNetworkAclEntry: rnaeRuleNumber :: Lens' ReplaceNetworkAclEntry Int
- Network.AWS.EC2.ReplaceRoute: instance Ord ReplaceRoute
- Network.AWS.EC2.ReplaceRoute: instance Ord ReplaceRouteResponse
- Network.AWS.EC2.ReplaceRoute: rrDestinationCidrBlock :: Lens' ReplaceRoute Text
- Network.AWS.EC2.ReplaceRoute: rrVpcPeeringConnectionId :: Lens' ReplaceRoute (Maybe Text)
- Network.AWS.EC2.ReplaceRouteTableAssociation: instance FromXML ReplaceRouteTableAssociationResponse
- Network.AWS.EC2.ReplaceRouteTableAssociation: instance Monoid ReplaceRouteTableAssociationResponse
- Network.AWS.EC2.ReplaceRouteTableAssociation: instance Ord ReplaceRouteTableAssociation
- Network.AWS.EC2.ReplaceRouteTableAssociation: instance Ord ReplaceRouteTableAssociationResponse
- Network.AWS.EC2.ReplaceRouteTableAssociation: rrtarNewAssociationId :: Lens' ReplaceRouteTableAssociationResponse (Maybe Text)
- Network.AWS.EC2.ReportInstanceStatus: instance Ord ReportInstanceStatusResponse
- Network.AWS.EC2.RequestSpotFleet: instance FromXML RequestSpotFleetResponse
- Network.AWS.EC2.RequestSpotFleet: instance IsString RequestSpotFleetResponse
- Network.AWS.EC2.RequestSpotFleet: instance Monoid RequestSpotFleetResponse
- Network.AWS.EC2.RequestSpotFleet: instance Ord RequestSpotFleetResponse
- Network.AWS.EC2.RequestSpotFleet: rsfrSpotFleetRequestId :: Lens' RequestSpotFleetResponse Text
- Network.AWS.EC2.RequestSpotInstances: instance FromXML RequestSpotInstancesResponse
- Network.AWS.EC2.RequestSpotInstances: instance Monoid RequestSpotInstancesResponse
- Network.AWS.EC2.RequestSpotInstances: instance Semigroup RequestSpotInstancesResponse
- Network.AWS.EC2.RequestSpotInstances: rsirSpotInstanceRequests :: Lens' RequestSpotInstancesResponse [SpotInstanceRequest]
- Network.AWS.EC2.ResetImageAttribute: instance Ord ResetImageAttributeResponse
- Network.AWS.EC2.ResetImageAttribute: ria1Attribute :: Lens' ResetImageAttribute ResetImageAttributeName
- Network.AWS.EC2.ResetImageAttribute: ria1DryRun :: Lens' ResetImageAttribute (Maybe Bool)
- Network.AWS.EC2.ResetImageAttribute: ria1ImageId :: Lens' ResetImageAttribute Text
- Network.AWS.EC2.ResetInstanceAttribute: instance Ord ResetInstanceAttributeResponse
- Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Ord ResetNetworkInterfaceAttribute
- Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Ord ResetNetworkInterfaceAttributeResponse
- Network.AWS.EC2.ResetSnapshotAttribute: instance Ord ResetSnapshotAttributeResponse
- Network.AWS.EC2.RestoreAddressToClassic: instance FromXML RestoreAddressToClassicResponse
- Network.AWS.EC2.RestoreAddressToClassic: instance Ord RestoreAddressToClassic
- Network.AWS.EC2.RestoreAddressToClassic: ratcPublicIp :: Lens' RestoreAddressToClassic Text
- Network.AWS.EC2.RestoreAddressToClassic: ratcrPublicIp :: Lens' RestoreAddressToClassicResponse (Maybe Text)
- Network.AWS.EC2.RestoreAddressToClassic: ratcrStatus :: Lens' RestoreAddressToClassicResponse (Maybe AddressStatus)
- Network.AWS.EC2.RevokeSecurityGroupEgress: instance Ord RevokeSecurityGroupEgressResponse
- Network.AWS.EC2.RevokeSecurityGroupEgress: rsgeCidrIp :: Lens' RevokeSecurityGroupEgress (Maybe Text)
- Network.AWS.EC2.RevokeSecurityGroupEgress: rsgeIpPermissions :: Lens' RevokeSecurityGroupEgress [IpPermission]
- Network.AWS.EC2.RevokeSecurityGroupEgress: rsgeIpProtocol :: Lens' RevokeSecurityGroupEgress (Maybe Text)
- Network.AWS.EC2.RevokeSecurityGroupIngress: instance Ord RevokeSecurityGroupIngressResponse
- Network.AWS.EC2.RevokeSecurityGroupIngress: rsgiCidrIp :: Lens' RevokeSecurityGroupIngress (Maybe Text)
- Network.AWS.EC2.RevokeSecurityGroupIngress: rsgiIpPermissions :: Lens' RevokeSecurityGroupIngress [IpPermission]
- Network.AWS.EC2.RevokeSecurityGroupIngress: rsgiIpProtocol :: Lens' RevokeSecurityGroupIngress (Maybe Text)
- Network.AWS.EC2.RunInstances: data RunInstancesResponse
- Network.AWS.EC2.RunInstances: instance Eq RunInstancesResponse
- Network.AWS.EC2.RunInstances: instance FromXML RunInstancesResponse
- Network.AWS.EC2.RunInstances: instance Read RunInstancesResponse
- Network.AWS.EC2.RunInstances: instance Show RunInstancesResponse
- Network.AWS.EC2.RunInstances: riAdditionalInfo :: Lens' RunInstances (Maybe Text)
- Network.AWS.EC2.RunInstances: riBlockDeviceMappings :: Lens' RunInstances [BlockDeviceMapping]
- Network.AWS.EC2.RunInstances: riClientToken :: Lens' RunInstances (Maybe Text)
- Network.AWS.EC2.RunInstances: riDisableApiTermination :: Lens' RunInstances (Maybe Bool)
- Network.AWS.EC2.RunInstances: riDryRun :: Lens' RunInstances (Maybe Bool)
- Network.AWS.EC2.RunInstances: riEbsOptimized :: Lens' RunInstances (Maybe Bool)
- Network.AWS.EC2.RunInstances: riIamInstanceProfile :: Lens' RunInstances (Maybe IamInstanceProfileSpecification)
- Network.AWS.EC2.RunInstances: riImageId :: Lens' RunInstances Text
- Network.AWS.EC2.RunInstances: riInstanceInitiatedShutdownBehavior :: Lens' RunInstances (Maybe ShutdownBehavior)
- Network.AWS.EC2.RunInstances: riInstanceType :: Lens' RunInstances (Maybe InstanceType)
- Network.AWS.EC2.RunInstances: riKernelId :: Lens' RunInstances (Maybe Text)
- Network.AWS.EC2.RunInstances: riKeyName :: Lens' RunInstances (Maybe Text)
- Network.AWS.EC2.RunInstances: riMaxCount :: Lens' RunInstances Int
- Network.AWS.EC2.RunInstances: riMinCount :: Lens' RunInstances Int
- Network.AWS.EC2.RunInstances: riMonitoring :: Lens' RunInstances (Maybe RunInstancesMonitoringEnabled)
- Network.AWS.EC2.RunInstances: riNetworkInterfaces :: Lens' RunInstances [InstanceNetworkInterfaceSpecification]
- Network.AWS.EC2.RunInstances: riPlacement :: Lens' RunInstances (Maybe Placement)
- Network.AWS.EC2.RunInstances: riPrivateIpAddress :: Lens' RunInstances (Maybe Text)
- Network.AWS.EC2.RunInstances: riRamdiskId :: Lens' RunInstances (Maybe Text)
- Network.AWS.EC2.RunInstances: riSecurityGroupIds :: Lens' RunInstances [Text]
- Network.AWS.EC2.RunInstances: riSecurityGroups :: Lens' RunInstances [Text]
- Network.AWS.EC2.RunInstances: riSubnetId :: Lens' RunInstances (Maybe Text)
- Network.AWS.EC2.RunInstances: riUserData :: Lens' RunInstances (Maybe Text)
- Network.AWS.EC2.RunInstances: rirGroups :: Lens' RunInstancesResponse [GroupIdentifier]
- Network.AWS.EC2.RunInstances: rirInstances :: Lens' RunInstancesResponse [Instance]
- Network.AWS.EC2.RunInstances: rirOwnerId :: Lens' RunInstancesResponse Text
- Network.AWS.EC2.RunInstances: rirRequesterId :: Lens' RunInstancesResponse (Maybe Text)
- Network.AWS.EC2.RunInstances: rirReservationId :: Lens' RunInstancesResponse Text
- Network.AWS.EC2.RunInstances: runInstancesResponse :: Text -> Text -> RunInstancesResponse
- Network.AWS.EC2.StartInstances: instance FromXML StartInstancesResponse
- Network.AWS.EC2.StartInstances: instance Monoid StartInstancesResponse
- Network.AWS.EC2.StartInstances: instance Ord StartInstances
- Network.AWS.EC2.StartInstances: instance Semigroup StartInstancesResponse
- Network.AWS.EC2.StartInstances: si1AdditionalInfo :: Lens' StartInstances (Maybe Text)
- Network.AWS.EC2.StartInstances: si1DryRun :: Lens' StartInstances (Maybe Bool)
- Network.AWS.EC2.StartInstances: si1InstanceIds :: Lens' StartInstances [Text]
- Network.AWS.EC2.StartInstances: sirStartingInstances :: Lens' StartInstancesResponse [InstanceStateChange]
- Network.AWS.EC2.StopInstances: instance FromXML StopInstancesResponse
- Network.AWS.EC2.StopInstances: instance Monoid StopInstancesResponse
- Network.AWS.EC2.StopInstances: instance Ord StopInstances
- Network.AWS.EC2.StopInstances: instance Semigroup StopInstancesResponse
- Network.AWS.EC2.StopInstances: sirStoppingInstances :: Lens' StopInstancesResponse [InstanceStateChange]
- Network.AWS.EC2.TerminateInstances: instance FromXML TerminateInstancesResponse
- Network.AWS.EC2.TerminateInstances: instance Monoid TerminateInstancesResponse
- Network.AWS.EC2.TerminateInstances: instance Ord TerminateInstances
- Network.AWS.EC2.TerminateInstances: instance Semigroup TerminateInstancesResponse
- Network.AWS.EC2.TerminateInstances: tirTerminatingInstances :: Lens' TerminateInstancesResponse [InstanceStateChange]
- Network.AWS.EC2.Types: Attachment :: NetworkInterfaceAttribute
- Network.AWS.EC2.Types: AutoEnableIO :: VolumeAttributeName
- Network.AWS.EC2.Types: Cancelled :: BatchState
- Network.AWS.EC2.Types: CancelledRunning :: BatchState
- Network.AWS.EC2.Types: CancelledTerminating :: BatchState
- Network.AWS.EC2.Types: DTVpc :: DomainType
- Network.AWS.EC2.Types: Default' :: Tenancy
- Network.AWS.EC2.Types: DefaultVpc :: AccountAttributeName
- Network.AWS.EC2.Types: EC2Error :: Text -> List1 "Error" Message -> EC2Error
- Network.AWS.EC2.Types: Ebs :: DeviceType
- Network.AWS.EC2.Types: EnableDnsHostnames :: VpcAttributeName
- Network.AWS.EC2.Types: EnableDnsSupport :: VpcAttributeName
- Network.AWS.EC2.Types: Error :: EventType
- Network.AWS.EC2.Types: Gp2 :: VolumeType
- Network.AWS.EC2.Types: GroupSet :: NetworkInterfaceAttribute
- Network.AWS.EC2.Types: Hvm :: VirtualizationType
- Network.AWS.EC2.Types: IANInstanceBlockDeviceMapping :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceDisableApiTermination :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceEbsOptimized :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceGroupSet :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceInstanceInitiatedShutdownBehavior :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceInstanceType :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceKernel :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceProductCodes :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceRamdisk :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceRootDeviceName :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceSourceDestCheck :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceSriovNetSupport :: InstanceAttributeName
- Network.AWS.EC2.Types: IANInstanceUserData :: InstanceAttributeName
- Network.AWS.EC2.Types: ISError :: ImageState
- Network.AWS.EC2.Types: ImageBlockDeviceMapping :: ImageAttributeName
- Network.AWS.EC2.Types: ImageDescription :: ImageAttributeName
- Network.AWS.EC2.Types: ImageKernel :: ImageAttributeName
- Network.AWS.EC2.Types: ImageLaunchPermission :: ImageAttributeName
- Network.AWS.EC2.Types: ImageProductCodes :: ImageAttributeName
- Network.AWS.EC2.Types: ImageRamdisk :: ImageAttributeName
- Network.AWS.EC2.Types: ImageSriovNetSupport :: ImageAttributeName
- Network.AWS.EC2.Types: InVpc :: AddressStatus
- Network.AWS.EC2.Types: Io1 :: VolumeType
- Network.AWS.EC2.Types: IoEnabled :: VolumeStatusName
- Network.AWS.EC2.Types: IoPerformance :: VolumeStatusName
- Network.AWS.EC2.Types: Ipsec1 :: GatewayType
- Network.AWS.EC2.Types: LSAvailable :: ListingState
- Network.AWS.EC2.Types: LSSold :: ListingState
- Network.AWS.EC2.Types: ListingStatusActive :: ListingStatus
- Network.AWS.EC2.Types: ListingStatusCancelled :: ListingStatus
- Network.AWS.EC2.Types: ListingStatusClosed :: ListingStatus
- Network.AWS.EC2.Types: ListingStatusPending :: ListingStatus
- Network.AWS.EC2.Types: Machine :: ImageTypeValues
- Network.AWS.EC2.Types: Message :: Maybe ErrorCode -> Text -> Message
- Network.AWS.EC2.Types: MovingToVpc :: MoveStatus
- Network.AWS.EC2.Types: Ok :: ReportStatusType
- Network.AWS.EC2.Types: OriginCreateRoute :: RouteOrigin
- Network.AWS.EC2.Types: OriginCreateRouteTable :: RouteOrigin
- Network.AWS.EC2.Types: OriginEnableVgwRoutePropagation :: RouteOrigin
- Network.AWS.EC2.Types: PerformanceEbsVolume :: ReportInstanceReasonCodes
- Network.AWS.EC2.Types: RIPDLinuxUNIX :: RIProductDescription
- Network.AWS.EC2.Types: RIPDLinuxUNIXAmazonVPC :: RIProductDescription
- Network.AWS.EC2.Types: RIPDWindows :: RIProductDescription
- Network.AWS.EC2.Types: RIPDWindowsAmazonVPC :: RIProductDescription
- Network.AWS.EC2.Types: RISActive :: ReservedInstanceState
- Network.AWS.EC2.Types: RISPaymentFailed :: ReservedInstanceState
- Network.AWS.EC2.Types: RISPaymentPending :: ReservedInstanceState
- Network.AWS.EC2.Types: RISRetired :: ReservedInstanceState
- Network.AWS.EC2.Types: RTCustomerGateway :: ResourceType
- Network.AWS.EC2.Types: RTDhcpOptions :: ResourceType
- Network.AWS.EC2.Types: RTImage :: ResourceType
- Network.AWS.EC2.Types: RTInstance' :: ResourceType
- Network.AWS.EC2.Types: RTInternetGateway :: ResourceType
- Network.AWS.EC2.Types: RTNetworkAcl :: ResourceType
- Network.AWS.EC2.Types: RTNetworkInterface :: ResourceType
- Network.AWS.EC2.Types: RTReservedInstances :: ResourceType
- Network.AWS.EC2.Types: RTRouteTable :: ResourceType
- Network.AWS.EC2.Types: RTSecurityGroup :: ResourceType
- Network.AWS.EC2.Types: RTSnapshot :: ResourceType
- Network.AWS.EC2.Types: RTSpotInstancesRequest :: ResourceType
- Network.AWS.EC2.Types: RTSubnet :: ResourceType
- Network.AWS.EC2.Types: RTVolume :: ResourceType
- Network.AWS.EC2.Types: RTVpc :: ResourceType
- Network.AWS.EC2.Types: RTVpnConnection :: ResourceType
- Network.AWS.EC2.Types: RTVpnGateway :: ResourceType
- Network.AWS.EC2.Types: Ramdisk :: ImageTypeValues
- Network.AWS.EC2.Types: SSError :: SnapshotState
- Network.AWS.EC2.Types: SSOk :: SummaryStatus
- Network.AWS.EC2.Types: STFailed :: StatusType
- Network.AWS.EC2.Types: STInsufficientData :: StatusType
- Network.AWS.EC2.Types: STPassed :: StatusType
- Network.AWS.EC2.Types: SourceDestCheck :: NetworkInterfaceAttribute
- Network.AWS.EC2.Types: Submitted :: BatchState
- Network.AWS.EC2.Types: SubnetStateAvailable :: SubnetState
- Network.AWS.EC2.Types: SubnetStatePending :: SubnetState
- Network.AWS.EC2.Types: Up :: TelemetryStatus
- Network.AWS.EC2.Types: VSCreating :: VolumeState
- Network.AWS.EC2.Types: VSError :: VolumeState
- Network.AWS.EC2.Types: VSISOk :: VolumeStatusInfoStatus
- Network.AWS.EC2.Types: VSInUse :: VolumeState
- Network.AWS.EC2.Types: Vhd :: DiskImageFormat
- Network.AWS.EC2.Types: Vmdk :: DiskImageFormat
- Network.AWS.EC2.Types: Vmware :: ExportEnvironment
- Network.AWS.EC2.Types: VpcStateAvailable :: VpcState
- Network.AWS.EC2.Types: VpcStatePending :: VpcState
- Network.AWS.EC2.Types: VpnStateAvailable :: VpnState
- Network.AWS.EC2.Types: VpnStateDeleted :: VpnState
- Network.AWS.EC2.Types: VpnStateDeleting :: VpnState
- Network.AWS.EC2.Types: VpnStatePending :: VpnState
- Network.AWS.EC2.Types: X8664 :: ArchitectureValues
- Network.AWS.EC2.Types: _errErrors :: EC2Error -> List1 "Error" Message
- Network.AWS.EC2.Types: _errRequestID :: EC2Error -> Text
- Network.AWS.EC2.Types: _msgCode :: Message -> Maybe ErrorCode
- Network.AWS.EC2.Types: _msgMessage :: Message -> Text
- Network.AWS.EC2.Types: aPrivateIpAddress :: Lens' Address (Maybe Text)
- Network.AWS.EC2.Types: aPublicIp :: Lens' Address (Maybe Text)
- Network.AWS.EC2.Types: bdmEbs :: Lens' BlockDeviceMapping (Maybe EbsBlockDevice)
- Network.AWS.EC2.Types: cgBgpAsn :: Lens' CustomerGateway Text
- Network.AWS.EC2.Types: cgIpAddress :: Lens' CustomerGateway Text
- Network.AWS.EC2.Types: cliVpcId :: Lens' ClassicLinkInstance (Maybe Text)
- Network.AWS.EC2.Types: csiSpotInstanceRequestId :: Lens' CancelledSpotInstanceRequest (Maybe Text)
- Network.AWS.EC2.Types: csiState :: Lens' CancelledSpotInstanceRequest (Maybe CancelSpotInstanceRequestState)
- Network.AWS.EC2.Types: data DhcpConfiguration
- Network.AWS.EC2.Types: data DhcpOptions
- Network.AWS.EC2.Types: data EC2Error
- Network.AWS.EC2.Types: data EbsBlockDevice
- Network.AWS.EC2.Types: data EbsInstanceBlockDevice
- Network.AWS.EC2.Types: data EbsInstanceBlockDeviceSpecification
- Network.AWS.EC2.Types: data IamInstanceProfile
- Network.AWS.EC2.Types: data IamInstanceProfileSpecification
- Network.AWS.EC2.Types: data IcmpTypeCode
- Network.AWS.EC2.Types: data InstancePrivateIpAddress
- Network.AWS.EC2.Types: data IpPermission
- Network.AWS.EC2.Types: data IpRange
- Network.AWS.EC2.Types: data Message
- Network.AWS.EC2.Types: data NetworkAcl
- Network.AWS.EC2.Types: data NetworkAclAssociation
- Network.AWS.EC2.Types: data NetworkAclEntry
- Network.AWS.EC2.Types: data NetworkInterfacePrivateIpAddress
- Network.AWS.EC2.Types: data NewDhcpConfiguration
- Network.AWS.EC2.Types: data PrivateIpAddressSpecification
- Network.AWS.EC2.Types: data PropagatingVgw
- Network.AWS.EC2.Types: data Region
- Network.AWS.EC2.Types: data VgwTelemetry
- Network.AWS.EC2.Types: data Vpc
- Network.AWS.EC2.Types: data VpcAttachment
- Network.AWS.EC2.Types: data VpcAttributeName
- Network.AWS.EC2.Types: data VpcClassicLink
- Network.AWS.EC2.Types: data VpcEndpoint
- Network.AWS.EC2.Types: data VpcPeeringConnection
- Network.AWS.EC2.Types: data VpcPeeringConnectionStateReason
- Network.AWS.EC2.Types: data VpcPeeringConnectionVpcInfo
- Network.AWS.EC2.Types: data VpcState
- Network.AWS.EC2.Types: data VpnConnection
- Network.AWS.EC2.Types: data VpnConnectionOptions
- Network.AWS.EC2.Types: data VpnConnectionOptionsSpecification
- Network.AWS.EC2.Types: data VpnGateway
- Network.AWS.EC2.Types: data VpnState
- Network.AWS.EC2.Types: data VpnStaticRoute
- Network.AWS.EC2.Types: data VpnStaticRouteSource
- Network.AWS.EC2.Types: did1Checksum :: Lens' DiskImageDescription (Maybe Text)
- Network.AWS.EC2.Types: did1Format :: Lens' DiskImageDescription DiskImageFormat
- Network.AWS.EC2.Types: did1ImportManifestUrl :: Lens' DiskImageDescription Text
- Network.AWS.EC2.Types: did1Size :: Lens' DiskImageDescription Integer
- Network.AWS.EC2.Types: didImportManifestUrl :: Lens' DiskImageDetail Text
- Network.AWS.EC2.Types: doDhcpConfigurations :: Lens' DhcpOptions [DhcpConfiguration]
- Network.AWS.EC2.Types: doDhcpOptionsId :: Lens' DhcpOptions (Maybe Text)
- Network.AWS.EC2.Types: ebdIops :: Lens' EbsBlockDevice (Maybe Int)
- Network.AWS.EC2.Types: errErrors :: Lens' EC2Error (NonEmpty Message)
- Network.AWS.EC2.Types: errRequestID :: Lens' EC2Error Text
- Network.AWS.EC2.Types: i1AmiLaunchIndex :: Lens' Instance Int
- Network.AWS.EC2.Types: i1Architecture :: Lens' Instance ArchitectureValues
- Network.AWS.EC2.Types: i1BlockDeviceMappings :: Lens' Instance [InstanceBlockDeviceMapping]
- Network.AWS.EC2.Types: i1ClientToken :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1EbsOptimized :: Lens' Instance Bool
- Network.AWS.EC2.Types: i1Hypervisor :: Lens' Instance HypervisorType
- Network.AWS.EC2.Types: i1IamInstanceProfile :: Lens' Instance (Maybe IamInstanceProfile)
- Network.AWS.EC2.Types: i1ImageId :: Lens' Instance Text
- Network.AWS.EC2.Types: i1InstanceId :: Lens' Instance Text
- Network.AWS.EC2.Types: i1InstanceLifecycle :: Lens' Instance (Maybe InstanceLifecycleType)
- Network.AWS.EC2.Types: i1InstanceType :: Lens' Instance InstanceType
- Network.AWS.EC2.Types: i1KernelId :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1KeyName :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1LaunchTime :: Lens' Instance UTCTime
- Network.AWS.EC2.Types: i1Monitoring :: Lens' Instance Monitoring
- Network.AWS.EC2.Types: i1NetworkInterfaces :: Lens' Instance [InstanceNetworkInterface]
- Network.AWS.EC2.Types: i1Placement :: Lens' Instance Placement
- Network.AWS.EC2.Types: i1Platform :: Lens' Instance (Maybe PlatformValues)
- Network.AWS.EC2.Types: i1PrivateDnsName :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1PrivateIpAddress :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1ProductCodes :: Lens' Instance [ProductCode]
- Network.AWS.EC2.Types: i1PublicDnsName :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1PublicIpAddress :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1RamdiskId :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1RootDeviceName :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1RootDeviceType :: Lens' Instance DeviceType
- Network.AWS.EC2.Types: i1SecurityGroups :: Lens' Instance [GroupIdentifier]
- Network.AWS.EC2.Types: i1SourceDestCheck :: Lens' Instance (Maybe Bool)
- Network.AWS.EC2.Types: i1SpotInstanceRequestId :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1SriovNetSupport :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1State :: Lens' Instance InstanceState
- Network.AWS.EC2.Types: i1StateReason :: Lens' Instance (Maybe StateReason)
- Network.AWS.EC2.Types: i1StateTransitionReason :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1SubnetId :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: i1Tags :: Lens' Instance [Tag]
- Network.AWS.EC2.Types: i1VirtualizationType :: Lens' Instance VirtualizationType
- Network.AWS.EC2.Types: i1VpcId :: Lens' Instance (Maybe Text)
- Network.AWS.EC2.Types: iRamdiskId :: Lens' Image (Maybe Text)
- Network.AWS.EC2.Types: iSriovNetSupport :: Lens' Image (Maybe Text)
- Network.AWS.EC2.Types: ibdmEbs :: Lens' InstanceBlockDeviceMapping (Maybe EbsInstanceBlockDevice)
- Network.AWS.EC2.Types: ibdmsEbs :: Lens' InstanceBlockDeviceMappingSpecification (Maybe EbsInstanceBlockDeviceSpecification)
- Network.AWS.EC2.Types: idcUrl :: Lens' ImageDiskContainer (Maybe Text)
- Network.AWS.EC2.Types: igaVpcId :: Lens' InternetGatewayAttachment Text
- Network.AWS.EC2.Types: iilsPrivateIpAddress :: Lens' ImportInstanceLaunchSpecification (Maybe Text)
- Network.AWS.EC2.Types: iipArn :: Lens' IamInstanceProfile (Maybe Text)
- Network.AWS.EC2.Types: iipId :: Lens' IamInstanceProfile (Maybe Text)
- Network.AWS.EC2.Types: iipsArn :: Lens' IamInstanceProfileSpecification (Maybe Text)
- Network.AWS.EC2.Types: iipsName :: Lens' IamInstanceProfileSpecification (Maybe Text)
- Network.AWS.EC2.Types: iniMacAddress :: Lens' InstanceNetworkInterface (Maybe Text)
- Network.AWS.EC2.Types: iniPrivateDnsName :: Lens' InstanceNetworkInterface (Maybe Text)
- Network.AWS.EC2.Types: iniPrivateIpAddress :: Lens' InstanceNetworkInterface (Maybe Text)
- Network.AWS.EC2.Types: iniPrivateIpAddresses :: Lens' InstanceNetworkInterface [InstancePrivateIpAddress]
- Network.AWS.EC2.Types: iniVpcId :: Lens' InstanceNetworkInterface (Maybe Text)
- Network.AWS.EC2.Types: iniaIpOwnerId :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)
- Network.AWS.EC2.Types: iniaPublicDnsName :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)
- Network.AWS.EC2.Types: iniaPublicIp :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)
- Network.AWS.EC2.Types: inisAssociatePublicIpAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Bool)
- Network.AWS.EC2.Types: inisPrivateIpAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)
- Network.AWS.EC2.Types: inisPrivateIpAddresses :: Lens' InstanceNetworkInterfaceSpecification [PrivateIpAddressSpecification]
- Network.AWS.EC2.Types: inisSecondaryPrivateIpAddressCount :: Lens' InstanceNetworkInterfaceSpecification (Maybe Int)
- Network.AWS.EC2.Types: instance Constructor C1_0AccountAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_0AddressStatus
- Network.AWS.EC2.Types: instance Constructor C1_0ArchitectureValues
- Network.AWS.EC2.Types: instance Constructor C1_0AttachmentStatus
- Network.AWS.EC2.Types: instance Constructor C1_0AvailabilityZoneState
- Network.AWS.EC2.Types: instance Constructor C1_0BatchState
- Network.AWS.EC2.Types: instance Constructor C1_0BundleTaskState
- Network.AWS.EC2.Types: instance Constructor C1_0CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Constructor C1_0CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Constructor C1_0ContainerFormat
- Network.AWS.EC2.Types: instance Constructor C1_0ConversionTaskState
- Network.AWS.EC2.Types: instance Constructor C1_0CurrencyCodeValues
- Network.AWS.EC2.Types: instance Constructor C1_0DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance Constructor C1_0DeviceType
- Network.AWS.EC2.Types: instance Constructor C1_0DiskImageFormat
- Network.AWS.EC2.Types: instance Constructor C1_0DomainType
- Network.AWS.EC2.Types: instance Constructor C1_0EventCode
- Network.AWS.EC2.Types: instance Constructor C1_0EventType
- Network.AWS.EC2.Types: instance Constructor C1_0ExportEnvironment
- Network.AWS.EC2.Types: instance Constructor C1_0ExportTaskState
- Network.AWS.EC2.Types: instance Constructor C1_0GatewayType
- Network.AWS.EC2.Types: instance Constructor C1_0HypervisorType
- Network.AWS.EC2.Types: instance Constructor C1_0ImageAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_0ImageState
- Network.AWS.EC2.Types: instance Constructor C1_0ImageTypeValues
- Network.AWS.EC2.Types: instance Constructor C1_0InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_0InstanceLifecycleType
- Network.AWS.EC2.Types: instance Constructor C1_0InstanceStateName
- Network.AWS.EC2.Types: instance Constructor C1_0InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_0ListingState
- Network.AWS.EC2.Types: instance Constructor C1_0ListingStatus
- Network.AWS.EC2.Types: instance Constructor C1_0MonitoringState
- Network.AWS.EC2.Types: instance Constructor C1_0MoveStatus
- Network.AWS.EC2.Types: instance Constructor C1_0NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Constructor C1_0NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Constructor C1_0OfferingTypeValues
- Network.AWS.EC2.Types: instance Constructor C1_0PermissionGroup
- Network.AWS.EC2.Types: instance Constructor C1_0PlacementGroupState
- Network.AWS.EC2.Types: instance Constructor C1_0PlacementStrategy
- Network.AWS.EC2.Types: instance Constructor C1_0PlatformValues
- Network.AWS.EC2.Types: instance Constructor C1_0ProductCodeValues
- Network.AWS.EC2.Types: instance Constructor C1_0RIProductDescription
- Network.AWS.EC2.Types: instance Constructor C1_0RecurringChargeFrequency
- Network.AWS.EC2.Types: instance Constructor C1_0ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Constructor C1_0ReportStatusType
- Network.AWS.EC2.Types: instance Constructor C1_0ReservedInstanceState
- Network.AWS.EC2.Types: instance Constructor C1_0ResetImageAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_0ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_0RouteOrigin
- Network.AWS.EC2.Types: instance Constructor C1_0RouteState
- Network.AWS.EC2.Types: instance Constructor C1_0RuleAction
- Network.AWS.EC2.Types: instance Constructor C1_0ShutdownBehavior
- Network.AWS.EC2.Types: instance Constructor C1_0SnapshotAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_0SnapshotState
- Network.AWS.EC2.Types: instance Constructor C1_0SpotInstanceState
- Network.AWS.EC2.Types: instance Constructor C1_0SpotInstanceType
- Network.AWS.EC2.Types: instance Constructor C1_0State
- Network.AWS.EC2.Types: instance Constructor C1_0StatusName
- Network.AWS.EC2.Types: instance Constructor C1_0StatusType
- Network.AWS.EC2.Types: instance Constructor C1_0SubnetState
- Network.AWS.EC2.Types: instance Constructor C1_0SummaryStatus
- Network.AWS.EC2.Types: instance Constructor C1_0TelemetryStatus
- Network.AWS.EC2.Types: instance Constructor C1_0Tenancy
- Network.AWS.EC2.Types: instance Constructor C1_0VirtualizationType
- Network.AWS.EC2.Types: instance Constructor C1_0VolumeAttachmentState
- Network.AWS.EC2.Types: instance Constructor C1_0VolumeAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_0VolumeState
- Network.AWS.EC2.Types: instance Constructor C1_0VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance Constructor C1_0VolumeStatusName
- Network.AWS.EC2.Types: instance Constructor C1_0VolumeType
- Network.AWS.EC2.Types: instance Constructor C1_0VpcAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_0VpcState
- Network.AWS.EC2.Types: instance Constructor C1_0VpnState
- Network.AWS.EC2.Types: instance Constructor C1_0VpnStaticRouteSource
- Network.AWS.EC2.Types: instance Constructor C1_10InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_10InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_10ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_11InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_11InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_11ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_12InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_12InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_12ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_13InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_13ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_14InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_14ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_15InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_15ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_16InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_16ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_17InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_18InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_19InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_1AccountAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_1AddressStatus
- Network.AWS.EC2.Types: instance Constructor C1_1ArchitectureValues
- Network.AWS.EC2.Types: instance Constructor C1_1AttachmentStatus
- Network.AWS.EC2.Types: instance Constructor C1_1BatchState
- Network.AWS.EC2.Types: instance Constructor C1_1BundleTaskState
- Network.AWS.EC2.Types: instance Constructor C1_1CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Constructor C1_1CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Constructor C1_1ConversionTaskState
- Network.AWS.EC2.Types: instance Constructor C1_1DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance Constructor C1_1DeviceType
- Network.AWS.EC2.Types: instance Constructor C1_1DiskImageFormat
- Network.AWS.EC2.Types: instance Constructor C1_1DomainType
- Network.AWS.EC2.Types: instance Constructor C1_1EventCode
- Network.AWS.EC2.Types: instance Constructor C1_1EventType
- Network.AWS.EC2.Types: instance Constructor C1_1ExportEnvironment
- Network.AWS.EC2.Types: instance Constructor C1_1ExportTaskState
- Network.AWS.EC2.Types: instance Constructor C1_1HypervisorType
- Network.AWS.EC2.Types: instance Constructor C1_1ImageAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_1ImageState
- Network.AWS.EC2.Types: instance Constructor C1_1ImageTypeValues
- Network.AWS.EC2.Types: instance Constructor C1_1InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_1InstanceStateName
- Network.AWS.EC2.Types: instance Constructor C1_1InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_1ListingState
- Network.AWS.EC2.Types: instance Constructor C1_1ListingStatus
- Network.AWS.EC2.Types: instance Constructor C1_1MonitoringState
- Network.AWS.EC2.Types: instance Constructor C1_1MoveStatus
- Network.AWS.EC2.Types: instance Constructor C1_1NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Constructor C1_1NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Constructor C1_1OfferingTypeValues
- Network.AWS.EC2.Types: instance Constructor C1_1PlacementGroupState
- Network.AWS.EC2.Types: instance Constructor C1_1ProductCodeValues
- Network.AWS.EC2.Types: instance Constructor C1_1RIProductDescription
- Network.AWS.EC2.Types: instance Constructor C1_1ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Constructor C1_1ReportStatusType
- Network.AWS.EC2.Types: instance Constructor C1_1ReservedInstanceState
- Network.AWS.EC2.Types: instance Constructor C1_1ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_1RouteOrigin
- Network.AWS.EC2.Types: instance Constructor C1_1RouteState
- Network.AWS.EC2.Types: instance Constructor C1_1RuleAction
- Network.AWS.EC2.Types: instance Constructor C1_1ShutdownBehavior
- Network.AWS.EC2.Types: instance Constructor C1_1SnapshotAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_1SnapshotState
- Network.AWS.EC2.Types: instance Constructor C1_1SpotInstanceState
- Network.AWS.EC2.Types: instance Constructor C1_1SpotInstanceType
- Network.AWS.EC2.Types: instance Constructor C1_1State
- Network.AWS.EC2.Types: instance Constructor C1_1StatusType
- Network.AWS.EC2.Types: instance Constructor C1_1SubnetState
- Network.AWS.EC2.Types: instance Constructor C1_1SummaryStatus
- Network.AWS.EC2.Types: instance Constructor C1_1TelemetryStatus
- Network.AWS.EC2.Types: instance Constructor C1_1Tenancy
- Network.AWS.EC2.Types: instance Constructor C1_1VirtualizationType
- Network.AWS.EC2.Types: instance Constructor C1_1VolumeAttachmentState
- Network.AWS.EC2.Types: instance Constructor C1_1VolumeAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_1VolumeState
- Network.AWS.EC2.Types: instance Constructor C1_1VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance Constructor C1_1VolumeStatusName
- Network.AWS.EC2.Types: instance Constructor C1_1VolumeType
- Network.AWS.EC2.Types: instance Constructor C1_1VpcAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_1VpcState
- Network.AWS.EC2.Types: instance Constructor C1_1VpnState
- Network.AWS.EC2.Types: instance Constructor C1_20InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_21InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_22InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_23InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_24InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_25InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_26InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_27InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_28InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_29InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_2AddressStatus
- Network.AWS.EC2.Types: instance Constructor C1_2AttachmentStatus
- Network.AWS.EC2.Types: instance Constructor C1_2BatchState
- Network.AWS.EC2.Types: instance Constructor C1_2BundleTaskState
- Network.AWS.EC2.Types: instance Constructor C1_2CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Constructor C1_2CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Constructor C1_2ConversionTaskState
- Network.AWS.EC2.Types: instance Constructor C1_2DiskImageFormat
- Network.AWS.EC2.Types: instance Constructor C1_2EventCode
- Network.AWS.EC2.Types: instance Constructor C1_2EventType
- Network.AWS.EC2.Types: instance Constructor C1_2ExportEnvironment
- Network.AWS.EC2.Types: instance Constructor C1_2ExportTaskState
- Network.AWS.EC2.Types: instance Constructor C1_2ImageAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_2ImageState
- Network.AWS.EC2.Types: instance Constructor C1_2ImageTypeValues
- Network.AWS.EC2.Types: instance Constructor C1_2InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_2InstanceStateName
- Network.AWS.EC2.Types: instance Constructor C1_2InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_2ListingState
- Network.AWS.EC2.Types: instance Constructor C1_2ListingStatus
- Network.AWS.EC2.Types: instance Constructor C1_2MonitoringState
- Network.AWS.EC2.Types: instance Constructor C1_2NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Constructor C1_2NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Constructor C1_2OfferingTypeValues
- Network.AWS.EC2.Types: instance Constructor C1_2PlacementGroupState
- Network.AWS.EC2.Types: instance Constructor C1_2RIProductDescription
- Network.AWS.EC2.Types: instance Constructor C1_2ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Constructor C1_2ReservedInstanceState
- Network.AWS.EC2.Types: instance Constructor C1_2ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_2RouteOrigin
- Network.AWS.EC2.Types: instance Constructor C1_2SnapshotState
- Network.AWS.EC2.Types: instance Constructor C1_2SpotInstanceState
- Network.AWS.EC2.Types: instance Constructor C1_2State
- Network.AWS.EC2.Types: instance Constructor C1_2StatusType
- Network.AWS.EC2.Types: instance Constructor C1_2SummaryStatus
- Network.AWS.EC2.Types: instance Constructor C1_2VolumeAttachmentState
- Network.AWS.EC2.Types: instance Constructor C1_2VolumeState
- Network.AWS.EC2.Types: instance Constructor C1_2VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance Constructor C1_2VolumeType
- Network.AWS.EC2.Types: instance Constructor C1_2VpnState
- Network.AWS.EC2.Types: instance Constructor C1_30InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_31InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_32InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_33InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_34InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_35InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_36InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_37InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_38InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_39InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_3AttachmentStatus
- Network.AWS.EC2.Types: instance Constructor C1_3BatchState
- Network.AWS.EC2.Types: instance Constructor C1_3BundleTaskState
- Network.AWS.EC2.Types: instance Constructor C1_3CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Constructor C1_3CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Constructor C1_3ConversionTaskState
- Network.AWS.EC2.Types: instance Constructor C1_3EventCode
- Network.AWS.EC2.Types: instance Constructor C1_3ExportTaskState
- Network.AWS.EC2.Types: instance Constructor C1_3ImageAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_3ImageState
- Network.AWS.EC2.Types: instance Constructor C1_3InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_3InstanceStateName
- Network.AWS.EC2.Types: instance Constructor C1_3InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_3ListingState
- Network.AWS.EC2.Types: instance Constructor C1_3ListingStatus
- Network.AWS.EC2.Types: instance Constructor C1_3MonitoringState
- Network.AWS.EC2.Types: instance Constructor C1_3NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Constructor C1_3NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Constructor C1_3OfferingTypeValues
- Network.AWS.EC2.Types: instance Constructor C1_3PlacementGroupState
- Network.AWS.EC2.Types: instance Constructor C1_3RIProductDescription
- Network.AWS.EC2.Types: instance Constructor C1_3ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Constructor C1_3ReservedInstanceState
- Network.AWS.EC2.Types: instance Constructor C1_3ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_3SpotInstanceState
- Network.AWS.EC2.Types: instance Constructor C1_3State
- Network.AWS.EC2.Types: instance Constructor C1_3SummaryStatus
- Network.AWS.EC2.Types: instance Constructor C1_3VolumeAttachmentState
- Network.AWS.EC2.Types: instance Constructor C1_3VolumeState
- Network.AWS.EC2.Types: instance Constructor C1_3VpnState
- Network.AWS.EC2.Types: instance Constructor C1_40InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_41InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_42InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_43InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_44InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_45InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_46InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_47InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_48InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_49InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_4BatchState
- Network.AWS.EC2.Types: instance Constructor C1_4BundleTaskState
- Network.AWS.EC2.Types: instance Constructor C1_4CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Constructor C1_4EventCode
- Network.AWS.EC2.Types: instance Constructor C1_4ImageAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_4ImageState
- Network.AWS.EC2.Types: instance Constructor C1_4InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_4InstanceStateName
- Network.AWS.EC2.Types: instance Constructor C1_4InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_4OfferingTypeValues
- Network.AWS.EC2.Types: instance Constructor C1_4ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Constructor C1_4ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_4SpotInstanceState
- Network.AWS.EC2.Types: instance Constructor C1_4VolumeState
- Network.AWS.EC2.Types: instance Constructor C1_50InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_51InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_52InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_5BatchState
- Network.AWS.EC2.Types: instance Constructor C1_5BundleTaskState
- Network.AWS.EC2.Types: instance Constructor C1_5ImageAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_5ImageState
- Network.AWS.EC2.Types: instance Constructor C1_5InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_5InstanceStateName
- Network.AWS.EC2.Types: instance Constructor C1_5InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_5OfferingTypeValues
- Network.AWS.EC2.Types: instance Constructor C1_5ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Constructor C1_5ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_5VolumeState
- Network.AWS.EC2.Types: instance Constructor C1_6BundleTaskState
- Network.AWS.EC2.Types: instance Constructor C1_6ImageAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_6ImageState
- Network.AWS.EC2.Types: instance Constructor C1_6InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_6InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_6ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Constructor C1_6ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_7InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_7InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_7ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Constructor C1_7ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_8InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_8InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_8ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Constructor C1_8ResourceType
- Network.AWS.EC2.Types: instance Constructor C1_9InstanceAttributeName
- Network.AWS.EC2.Types: instance Constructor C1_9InstanceType
- Network.AWS.EC2.Types: instance Constructor C1_9ResourceType
- Network.AWS.EC2.Types: instance Datatype D1AccountAttributeName
- Network.AWS.EC2.Types: instance Datatype D1AddressStatus
- Network.AWS.EC2.Types: instance Datatype D1ArchitectureValues
- Network.AWS.EC2.Types: instance Datatype D1AttachmentStatus
- Network.AWS.EC2.Types: instance Datatype D1AvailabilityZoneState
- Network.AWS.EC2.Types: instance Datatype D1BatchState
- Network.AWS.EC2.Types: instance Datatype D1BundleTaskState
- Network.AWS.EC2.Types: instance Datatype D1CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Datatype D1CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Datatype D1ContainerFormat
- Network.AWS.EC2.Types: instance Datatype D1ConversionTaskState
- Network.AWS.EC2.Types: instance Datatype D1CurrencyCodeValues
- Network.AWS.EC2.Types: instance Datatype D1DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance Datatype D1DeviceType
- Network.AWS.EC2.Types: instance Datatype D1DiskImageFormat
- Network.AWS.EC2.Types: instance Datatype D1DomainType
- Network.AWS.EC2.Types: instance Datatype D1EventCode
- Network.AWS.EC2.Types: instance Datatype D1EventType
- Network.AWS.EC2.Types: instance Datatype D1ExportEnvironment
- Network.AWS.EC2.Types: instance Datatype D1ExportTaskState
- Network.AWS.EC2.Types: instance Datatype D1GatewayType
- Network.AWS.EC2.Types: instance Datatype D1HypervisorType
- Network.AWS.EC2.Types: instance Datatype D1ImageAttributeName
- Network.AWS.EC2.Types: instance Datatype D1ImageState
- Network.AWS.EC2.Types: instance Datatype D1ImageTypeValues
- Network.AWS.EC2.Types: instance Datatype D1InstanceAttributeName
- Network.AWS.EC2.Types: instance Datatype D1InstanceLifecycleType
- Network.AWS.EC2.Types: instance Datatype D1InstanceStateName
- Network.AWS.EC2.Types: instance Datatype D1InstanceType
- Network.AWS.EC2.Types: instance Datatype D1ListingState
- Network.AWS.EC2.Types: instance Datatype D1ListingStatus
- Network.AWS.EC2.Types: instance Datatype D1MonitoringState
- Network.AWS.EC2.Types: instance Datatype D1MoveStatus
- Network.AWS.EC2.Types: instance Datatype D1NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Datatype D1NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Datatype D1OfferingTypeValues
- Network.AWS.EC2.Types: instance Datatype D1PermissionGroup
- Network.AWS.EC2.Types: instance Datatype D1PlacementGroupState
- Network.AWS.EC2.Types: instance Datatype D1PlacementStrategy
- Network.AWS.EC2.Types: instance Datatype D1PlatformValues
- Network.AWS.EC2.Types: instance Datatype D1ProductCodeValues
- Network.AWS.EC2.Types: instance Datatype D1RIProductDescription
- Network.AWS.EC2.Types: instance Datatype D1RecurringChargeFrequency
- Network.AWS.EC2.Types: instance Datatype D1ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Datatype D1ReportStatusType
- Network.AWS.EC2.Types: instance Datatype D1ReservedInstanceState
- Network.AWS.EC2.Types: instance Datatype D1ResetImageAttributeName
- Network.AWS.EC2.Types: instance Datatype D1ResourceType
- Network.AWS.EC2.Types: instance Datatype D1RouteOrigin
- Network.AWS.EC2.Types: instance Datatype D1RouteState
- Network.AWS.EC2.Types: instance Datatype D1RuleAction
- Network.AWS.EC2.Types: instance Datatype D1ShutdownBehavior
- Network.AWS.EC2.Types: instance Datatype D1SnapshotAttributeName
- Network.AWS.EC2.Types: instance Datatype D1SnapshotState
- Network.AWS.EC2.Types: instance Datatype D1SpotInstanceState
- Network.AWS.EC2.Types: instance Datatype D1SpotInstanceType
- Network.AWS.EC2.Types: instance Datatype D1State
- Network.AWS.EC2.Types: instance Datatype D1StatusName
- Network.AWS.EC2.Types: instance Datatype D1StatusType
- Network.AWS.EC2.Types: instance Datatype D1SubnetState
- Network.AWS.EC2.Types: instance Datatype D1SummaryStatus
- Network.AWS.EC2.Types: instance Datatype D1TelemetryStatus
- Network.AWS.EC2.Types: instance Datatype D1Tenancy
- Network.AWS.EC2.Types: instance Datatype D1VirtualizationType
- Network.AWS.EC2.Types: instance Datatype D1VolumeAttachmentState
- Network.AWS.EC2.Types: instance Datatype D1VolumeAttributeName
- Network.AWS.EC2.Types: instance Datatype D1VolumeState
- Network.AWS.EC2.Types: instance Datatype D1VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance Datatype D1VolumeStatusName
- Network.AWS.EC2.Types: instance Datatype D1VolumeType
- Network.AWS.EC2.Types: instance Datatype D1VpcAttributeName
- Network.AWS.EC2.Types: instance Datatype D1VpcState
- Network.AWS.EC2.Types: instance Datatype D1VpnState
- Network.AWS.EC2.Types: instance Datatype D1VpnStaticRouteSource
- Network.AWS.EC2.Types: instance Enum AccountAttributeName
- Network.AWS.EC2.Types: instance Enum AddressStatus
- Network.AWS.EC2.Types: instance Enum ArchitectureValues
- Network.AWS.EC2.Types: instance Enum AttachmentStatus
- Network.AWS.EC2.Types: instance Enum AvailabilityZoneState
- Network.AWS.EC2.Types: instance Enum BatchState
- Network.AWS.EC2.Types: instance Enum BundleTaskState
- Network.AWS.EC2.Types: instance Enum CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Enum CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Enum ContainerFormat
- Network.AWS.EC2.Types: instance Enum ConversionTaskState
- Network.AWS.EC2.Types: instance Enum CurrencyCodeValues
- Network.AWS.EC2.Types: instance Enum DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance Enum DeviceType
- Network.AWS.EC2.Types: instance Enum DiskImageFormat
- Network.AWS.EC2.Types: instance Enum DomainType
- Network.AWS.EC2.Types: instance Enum EventCode
- Network.AWS.EC2.Types: instance Enum EventType
- Network.AWS.EC2.Types: instance Enum ExportEnvironment
- Network.AWS.EC2.Types: instance Enum ExportTaskState
- Network.AWS.EC2.Types: instance Enum GatewayType
- Network.AWS.EC2.Types: instance Enum HypervisorType
- Network.AWS.EC2.Types: instance Enum ImageAttributeName
- Network.AWS.EC2.Types: instance Enum ImageState
- Network.AWS.EC2.Types: instance Enum ImageTypeValues
- Network.AWS.EC2.Types: instance Enum InstanceAttributeName
- Network.AWS.EC2.Types: instance Enum InstanceLifecycleType
- Network.AWS.EC2.Types: instance Enum InstanceStateName
- Network.AWS.EC2.Types: instance Enum InstanceType
- Network.AWS.EC2.Types: instance Enum ListingState
- Network.AWS.EC2.Types: instance Enum ListingStatus
- Network.AWS.EC2.Types: instance Enum MonitoringState
- Network.AWS.EC2.Types: instance Enum MoveStatus
- Network.AWS.EC2.Types: instance Enum NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Enum NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Enum OfferingTypeValues
- Network.AWS.EC2.Types: instance Enum PermissionGroup
- Network.AWS.EC2.Types: instance Enum PlacementGroupState
- Network.AWS.EC2.Types: instance Enum PlacementStrategy
- Network.AWS.EC2.Types: instance Enum PlatformValues
- Network.AWS.EC2.Types: instance Enum ProductCodeValues
- Network.AWS.EC2.Types: instance Enum RIProductDescription
- Network.AWS.EC2.Types: instance Enum RecurringChargeFrequency
- Network.AWS.EC2.Types: instance Enum ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Enum ReportStatusType
- Network.AWS.EC2.Types: instance Enum ReservedInstanceState
- Network.AWS.EC2.Types: instance Enum ResetImageAttributeName
- Network.AWS.EC2.Types: instance Enum ResourceType
- Network.AWS.EC2.Types: instance Enum RouteOrigin
- Network.AWS.EC2.Types: instance Enum RouteState
- Network.AWS.EC2.Types: instance Enum RuleAction
- Network.AWS.EC2.Types: instance Enum RunInstancesMonitoringEnabled
- Network.AWS.EC2.Types: instance Enum ShutdownBehavior
- Network.AWS.EC2.Types: instance Enum SnapshotAttributeName
- Network.AWS.EC2.Types: instance Enum SnapshotState
- Network.AWS.EC2.Types: instance Enum SpotInstanceState
- Network.AWS.EC2.Types: instance Enum SpotInstanceType
- Network.AWS.EC2.Types: instance Enum State
- Network.AWS.EC2.Types: instance Enum StatusName
- Network.AWS.EC2.Types: instance Enum StatusType
- Network.AWS.EC2.Types: instance Enum SubnetState
- Network.AWS.EC2.Types: instance Enum SummaryStatus
- Network.AWS.EC2.Types: instance Enum TelemetryStatus
- Network.AWS.EC2.Types: instance Enum Tenancy
- Network.AWS.EC2.Types: instance Enum VirtualizationType
- Network.AWS.EC2.Types: instance Enum VolumeAttachmentState
- Network.AWS.EC2.Types: instance Enum VolumeAttributeName
- Network.AWS.EC2.Types: instance Enum VolumeDetail
- Network.AWS.EC2.Types: instance Enum VolumeState
- Network.AWS.EC2.Types: instance Enum VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance Enum VolumeStatusName
- Network.AWS.EC2.Types: instance Enum VolumeType
- Network.AWS.EC2.Types: instance Enum VpcAttributeName
- Network.AWS.EC2.Types: instance Enum VpcState
- Network.AWS.EC2.Types: instance Enum VpnState
- Network.AWS.EC2.Types: instance Enum VpnStaticRouteSource
- Network.AWS.EC2.Types: instance Eq AccountAttribute
- Network.AWS.EC2.Types: instance Eq AccountAttributeName
- Network.AWS.EC2.Types: instance Eq AccountAttributeValue
- Network.AWS.EC2.Types: instance Eq ActiveInstance
- Network.AWS.EC2.Types: instance Eq Address
- Network.AWS.EC2.Types: instance Eq AddressStatus
- Network.AWS.EC2.Types: instance Eq ArchitectureValues
- Network.AWS.EC2.Types: instance Eq AttachmentStatus
- Network.AWS.EC2.Types: instance Eq AttributeBooleanValue
- Network.AWS.EC2.Types: instance Eq AttributeValue
- Network.AWS.EC2.Types: instance Eq AvailabilityZone
- Network.AWS.EC2.Types: instance Eq AvailabilityZoneMessage
- Network.AWS.EC2.Types: instance Eq AvailabilityZoneState
- Network.AWS.EC2.Types: instance Eq BatchState
- Network.AWS.EC2.Types: instance Eq BlobAttributeValue
- Network.AWS.EC2.Types: instance Eq BlockDeviceMapping
- Network.AWS.EC2.Types: instance Eq BundleTask
- Network.AWS.EC2.Types: instance Eq BundleTaskError
- Network.AWS.EC2.Types: instance Eq BundleTaskState
- Network.AWS.EC2.Types: instance Eq CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Eq CancelSpotFleetRequestsError
- Network.AWS.EC2.Types: instance Eq CancelSpotFleetRequestsErrorItem
- Network.AWS.EC2.Types: instance Eq CancelSpotFleetRequestsSuccessItem
- Network.AWS.EC2.Types: instance Eq CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Eq CancelledSpotInstanceRequest
- Network.AWS.EC2.Types: instance Eq ClassicLinkInstance
- Network.AWS.EC2.Types: instance Eq ClientData
- Network.AWS.EC2.Types: instance Eq ContainerFormat
- Network.AWS.EC2.Types: instance Eq ConversionTask
- Network.AWS.EC2.Types: instance Eq ConversionTaskState
- Network.AWS.EC2.Types: instance Eq CreateVolumePermission
- Network.AWS.EC2.Types: instance Eq CreateVolumePermissionModifications
- Network.AWS.EC2.Types: instance Eq CurrencyCodeValues
- Network.AWS.EC2.Types: instance Eq CustomerGateway
- Network.AWS.EC2.Types: instance Eq DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance Eq DeviceType
- Network.AWS.EC2.Types: instance Eq DhcpConfiguration
- Network.AWS.EC2.Types: instance Eq DhcpOptions
- Network.AWS.EC2.Types: instance Eq DiskImage
- Network.AWS.EC2.Types: instance Eq DiskImageDescription
- Network.AWS.EC2.Types: instance Eq DiskImageDetail
- Network.AWS.EC2.Types: instance Eq DiskImageFormat
- Network.AWS.EC2.Types: instance Eq DiskImageVolumeDescription
- Network.AWS.EC2.Types: instance Eq DomainType
- Network.AWS.EC2.Types: instance Eq EbsBlockDevice
- Network.AWS.EC2.Types: instance Eq EbsInstanceBlockDevice
- Network.AWS.EC2.Types: instance Eq EbsInstanceBlockDeviceSpecification
- Network.AWS.EC2.Types: instance Eq EventCode
- Network.AWS.EC2.Types: instance Eq EventInformation
- Network.AWS.EC2.Types: instance Eq EventType
- Network.AWS.EC2.Types: instance Eq ExportEnvironment
- Network.AWS.EC2.Types: instance Eq ExportTask
- Network.AWS.EC2.Types: instance Eq ExportTaskState
- Network.AWS.EC2.Types: instance Eq ExportToS3Task
- Network.AWS.EC2.Types: instance Eq ExportToS3TaskSpecification
- Network.AWS.EC2.Types: instance Eq Filter
- Network.AWS.EC2.Types: instance Eq GatewayType
- Network.AWS.EC2.Types: instance Eq GroupIdentifier
- Network.AWS.EC2.Types: instance Eq HistoryRecord
- Network.AWS.EC2.Types: instance Eq HypervisorType
- Network.AWS.EC2.Types: instance Eq IamInstanceProfile
- Network.AWS.EC2.Types: instance Eq IamInstanceProfileSpecification
- Network.AWS.EC2.Types: instance Eq IcmpTypeCode
- Network.AWS.EC2.Types: instance Eq Image
- Network.AWS.EC2.Types: instance Eq ImageAttributeName
- Network.AWS.EC2.Types: instance Eq ImageDiskContainer
- Network.AWS.EC2.Types: instance Eq ImageState
- Network.AWS.EC2.Types: instance Eq ImageTypeValues
- Network.AWS.EC2.Types: instance Eq ImportImageTask
- Network.AWS.EC2.Types: instance Eq ImportInstanceLaunchSpecification
- Network.AWS.EC2.Types: instance Eq ImportInstanceTaskDetails
- Network.AWS.EC2.Types: instance Eq ImportInstanceVolumeDetailItem
- Network.AWS.EC2.Types: instance Eq ImportSnapshotTask
- Network.AWS.EC2.Types: instance Eq ImportVolumeTaskDetails
- Network.AWS.EC2.Types: instance Eq Instance
- Network.AWS.EC2.Types: instance Eq InstanceAttributeName
- Network.AWS.EC2.Types: instance Eq InstanceBlockDeviceMapping
- Network.AWS.EC2.Types: instance Eq InstanceBlockDeviceMappingSpecification
- Network.AWS.EC2.Types: instance Eq InstanceCount
- Network.AWS.EC2.Types: instance Eq InstanceExportDetails
- Network.AWS.EC2.Types: instance Eq InstanceLifecycleType
- Network.AWS.EC2.Types: instance Eq InstanceMonitoring
- Network.AWS.EC2.Types: instance Eq InstanceNetworkInterface
- Network.AWS.EC2.Types: instance Eq InstanceNetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance Eq InstanceNetworkInterfaceAttachment
- Network.AWS.EC2.Types: instance Eq InstanceNetworkInterfaceSpecification
- Network.AWS.EC2.Types: instance Eq InstancePrivateIpAddress
- Network.AWS.EC2.Types: instance Eq InstanceState
- Network.AWS.EC2.Types: instance Eq InstanceStateChange
- Network.AWS.EC2.Types: instance Eq InstanceStateName
- Network.AWS.EC2.Types: instance Eq InstanceStatus
- Network.AWS.EC2.Types: instance Eq InstanceStatusDetails
- Network.AWS.EC2.Types: instance Eq InstanceStatusEvent
- Network.AWS.EC2.Types: instance Eq InstanceStatusSummary
- Network.AWS.EC2.Types: instance Eq InstanceType
- Network.AWS.EC2.Types: instance Eq InternetGateway
- Network.AWS.EC2.Types: instance Eq InternetGatewayAttachment
- Network.AWS.EC2.Types: instance Eq IpPermission
- Network.AWS.EC2.Types: instance Eq IpRange
- Network.AWS.EC2.Types: instance Eq KeyPairInfo
- Network.AWS.EC2.Types: instance Eq LaunchPermission
- Network.AWS.EC2.Types: instance Eq LaunchPermissionModifications
- Network.AWS.EC2.Types: instance Eq LaunchSpecification
- Network.AWS.EC2.Types: instance Eq ListingState
- Network.AWS.EC2.Types: instance Eq ListingStatus
- Network.AWS.EC2.Types: instance Eq Monitoring
- Network.AWS.EC2.Types: instance Eq MonitoringState
- Network.AWS.EC2.Types: instance Eq MoveStatus
- Network.AWS.EC2.Types: instance Eq MovingAddressStatus
- Network.AWS.EC2.Types: instance Eq NetworkAcl
- Network.AWS.EC2.Types: instance Eq NetworkAclAssociation
- Network.AWS.EC2.Types: instance Eq NetworkAclEntry
- Network.AWS.EC2.Types: instance Eq NetworkInterface
- Network.AWS.EC2.Types: instance Eq NetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance Eq NetworkInterfaceAttachment
- Network.AWS.EC2.Types: instance Eq NetworkInterfaceAttachmentChanges
- Network.AWS.EC2.Types: instance Eq NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Eq NetworkInterfacePrivateIpAddress
- Network.AWS.EC2.Types: instance Eq NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Eq NewDhcpConfiguration
- Network.AWS.EC2.Types: instance Eq OfferingTypeValues
- Network.AWS.EC2.Types: instance Eq PermissionGroup
- Network.AWS.EC2.Types: instance Eq Placement
- Network.AWS.EC2.Types: instance Eq PlacementGroup
- Network.AWS.EC2.Types: instance Eq PlacementGroupState
- Network.AWS.EC2.Types: instance Eq PlacementStrategy
- Network.AWS.EC2.Types: instance Eq PlatformValues
- Network.AWS.EC2.Types: instance Eq PortRange
- Network.AWS.EC2.Types: instance Eq PrefixList
- Network.AWS.EC2.Types: instance Eq PrefixListId
- Network.AWS.EC2.Types: instance Eq PriceSchedule
- Network.AWS.EC2.Types: instance Eq PriceScheduleSpecification
- Network.AWS.EC2.Types: instance Eq PricingDetail
- Network.AWS.EC2.Types: instance Eq PrivateIpAddressSpecification
- Network.AWS.EC2.Types: instance Eq ProductCode
- Network.AWS.EC2.Types: instance Eq ProductCodeValues
- Network.AWS.EC2.Types: instance Eq PropagatingVgw
- Network.AWS.EC2.Types: instance Eq RIProductDescription
- Network.AWS.EC2.Types: instance Eq RecurringCharge
- Network.AWS.EC2.Types: instance Eq RecurringChargeFrequency
- Network.AWS.EC2.Types: instance Eq Region
- Network.AWS.EC2.Types: instance Eq ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Eq ReportStatusType
- Network.AWS.EC2.Types: instance Eq RequestSpotLaunchSpecification
- Network.AWS.EC2.Types: instance Eq Reservation
- Network.AWS.EC2.Types: instance Eq ReservedInstanceLimitPrice
- Network.AWS.EC2.Types: instance Eq ReservedInstanceState
- Network.AWS.EC2.Types: instance Eq ReservedInstances
- Network.AWS.EC2.Types: instance Eq ReservedInstancesConfiguration
- Network.AWS.EC2.Types: instance Eq ReservedInstancesId
- Network.AWS.EC2.Types: instance Eq ReservedInstancesListing
- Network.AWS.EC2.Types: instance Eq ReservedInstancesModification
- Network.AWS.EC2.Types: instance Eq ReservedInstancesModificationResult
- Network.AWS.EC2.Types: instance Eq ReservedInstancesOffering
- Network.AWS.EC2.Types: instance Eq ResetImageAttributeName
- Network.AWS.EC2.Types: instance Eq ResourceType
- Network.AWS.EC2.Types: instance Eq Route
- Network.AWS.EC2.Types: instance Eq RouteOrigin
- Network.AWS.EC2.Types: instance Eq RouteState
- Network.AWS.EC2.Types: instance Eq RouteTable
- Network.AWS.EC2.Types: instance Eq RouteTableAssociation
- Network.AWS.EC2.Types: instance Eq RuleAction
- Network.AWS.EC2.Types: instance Eq RunInstancesMonitoringEnabled
- Network.AWS.EC2.Types: instance Eq S3Storage
- Network.AWS.EC2.Types: instance Eq SecurityGroup
- Network.AWS.EC2.Types: instance Eq ShutdownBehavior
- Network.AWS.EC2.Types: instance Eq Snapshot
- Network.AWS.EC2.Types: instance Eq SnapshotAttributeName
- Network.AWS.EC2.Types: instance Eq SnapshotDetail
- Network.AWS.EC2.Types: instance Eq SnapshotDiskContainer
- Network.AWS.EC2.Types: instance Eq SnapshotState
- Network.AWS.EC2.Types: instance Eq SnapshotTaskDetail
- Network.AWS.EC2.Types: instance Eq SpotDatafeedSubscription
- Network.AWS.EC2.Types: instance Eq SpotFleetRequestConfig
- Network.AWS.EC2.Types: instance Eq SpotFleetRequestConfigData
- Network.AWS.EC2.Types: instance Eq SpotInstanceRequest
- Network.AWS.EC2.Types: instance Eq SpotInstanceState
- Network.AWS.EC2.Types: instance Eq SpotInstanceStateFault
- Network.AWS.EC2.Types: instance Eq SpotInstanceStatus
- Network.AWS.EC2.Types: instance Eq SpotInstanceType
- Network.AWS.EC2.Types: instance Eq SpotPlacement
- Network.AWS.EC2.Types: instance Eq SpotPrice
- Network.AWS.EC2.Types: instance Eq State
- Network.AWS.EC2.Types: instance Eq StateReason
- Network.AWS.EC2.Types: instance Eq StatusName
- Network.AWS.EC2.Types: instance Eq StatusType
- Network.AWS.EC2.Types: instance Eq Storage
- Network.AWS.EC2.Types: instance Eq Subnet
- Network.AWS.EC2.Types: instance Eq SubnetState
- Network.AWS.EC2.Types: instance Eq SummaryStatus
- Network.AWS.EC2.Types: instance Eq Tag
- Network.AWS.EC2.Types: instance Eq TagDescription
- Network.AWS.EC2.Types: instance Eq TelemetryStatus
- Network.AWS.EC2.Types: instance Eq Tenancy
- Network.AWS.EC2.Types: instance Eq UnsuccessfulItem
- Network.AWS.EC2.Types: instance Eq UnsuccessfulItemError
- Network.AWS.EC2.Types: instance Eq UserBucket
- Network.AWS.EC2.Types: instance Eq UserBucketDetails
- Network.AWS.EC2.Types: instance Eq UserData
- Network.AWS.EC2.Types: instance Eq UserIdGroupPair
- Network.AWS.EC2.Types: instance Eq VgwTelemetry
- Network.AWS.EC2.Types: instance Eq VirtualizationType
- Network.AWS.EC2.Types: instance Eq Volume
- Network.AWS.EC2.Types: instance Eq VolumeAttachment
- Network.AWS.EC2.Types: instance Eq VolumeAttachmentState
- Network.AWS.EC2.Types: instance Eq VolumeAttributeName
- Network.AWS.EC2.Types: instance Eq VolumeDetail
- Network.AWS.EC2.Types: instance Eq VolumeState
- Network.AWS.EC2.Types: instance Eq VolumeStatusAction
- Network.AWS.EC2.Types: instance Eq VolumeStatusDetails
- Network.AWS.EC2.Types: instance Eq VolumeStatusEvent
- Network.AWS.EC2.Types: instance Eq VolumeStatusInfo
- Network.AWS.EC2.Types: instance Eq VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance Eq VolumeStatusItem
- Network.AWS.EC2.Types: instance Eq VolumeStatusName
- Network.AWS.EC2.Types: instance Eq VolumeType
- Network.AWS.EC2.Types: instance Eq Vpc
- Network.AWS.EC2.Types: instance Eq VpcAttachment
- Network.AWS.EC2.Types: instance Eq VpcAttributeName
- Network.AWS.EC2.Types: instance Eq VpcClassicLink
- Network.AWS.EC2.Types: instance Eq VpcEndpoint
- Network.AWS.EC2.Types: instance Eq VpcPeeringConnection
- Network.AWS.EC2.Types: instance Eq VpcPeeringConnectionStateReason
- Network.AWS.EC2.Types: instance Eq VpcPeeringConnectionVpcInfo
- Network.AWS.EC2.Types: instance Eq VpcState
- Network.AWS.EC2.Types: instance Eq VpnConnection
- Network.AWS.EC2.Types: instance Eq VpnConnectionOptions
- Network.AWS.EC2.Types: instance Eq VpnConnectionOptionsSpecification
- Network.AWS.EC2.Types: instance Eq VpnGateway
- Network.AWS.EC2.Types: instance Eq VpnState
- Network.AWS.EC2.Types: instance Eq VpnStaticRoute
- Network.AWS.EC2.Types: instance Eq VpnStaticRouteSource
- Network.AWS.EC2.Types: instance FromText AccountAttributeName
- Network.AWS.EC2.Types: instance FromText AddressStatus
- Network.AWS.EC2.Types: instance FromText ArchitectureValues
- Network.AWS.EC2.Types: instance FromText AttachmentStatus
- Network.AWS.EC2.Types: instance FromText AvailabilityZoneState
- Network.AWS.EC2.Types: instance FromText BatchState
- Network.AWS.EC2.Types: instance FromText BundleTaskState
- Network.AWS.EC2.Types: instance FromText CancelBatchErrorCode
- Network.AWS.EC2.Types: instance FromText CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance FromText ContainerFormat
- Network.AWS.EC2.Types: instance FromText ConversionTaskState
- Network.AWS.EC2.Types: instance FromText CurrencyCodeValues
- Network.AWS.EC2.Types: instance FromText DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance FromText DeviceType
- Network.AWS.EC2.Types: instance FromText DiskImageFormat
- Network.AWS.EC2.Types: instance FromText DomainType
- Network.AWS.EC2.Types: instance FromText EventCode
- Network.AWS.EC2.Types: instance FromText EventType
- Network.AWS.EC2.Types: instance FromText ExportEnvironment
- Network.AWS.EC2.Types: instance FromText ExportTaskState
- Network.AWS.EC2.Types: instance FromText GatewayType
- Network.AWS.EC2.Types: instance FromText HypervisorType
- Network.AWS.EC2.Types: instance FromText ImageAttributeName
- Network.AWS.EC2.Types: instance FromText ImageState
- Network.AWS.EC2.Types: instance FromText ImageTypeValues
- Network.AWS.EC2.Types: instance FromText InstanceAttributeName
- Network.AWS.EC2.Types: instance FromText InstanceLifecycleType
- Network.AWS.EC2.Types: instance FromText InstanceStateName
- Network.AWS.EC2.Types: instance FromText InstanceType
- Network.AWS.EC2.Types: instance FromText ListingState
- Network.AWS.EC2.Types: instance FromText ListingStatus
- Network.AWS.EC2.Types: instance FromText MonitoringState
- Network.AWS.EC2.Types: instance FromText MoveStatus
- Network.AWS.EC2.Types: instance FromText NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance FromText NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance FromText OfferingTypeValues
- Network.AWS.EC2.Types: instance FromText PermissionGroup
- Network.AWS.EC2.Types: instance FromText PlacementGroupState
- Network.AWS.EC2.Types: instance FromText PlacementStrategy
- Network.AWS.EC2.Types: instance FromText PlatformValues
- Network.AWS.EC2.Types: instance FromText ProductCodeValues
- Network.AWS.EC2.Types: instance FromText RIProductDescription
- Network.AWS.EC2.Types: instance FromText RecurringChargeFrequency
- Network.AWS.EC2.Types: instance FromText ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance FromText ReportStatusType
- Network.AWS.EC2.Types: instance FromText ReservedInstanceState
- Network.AWS.EC2.Types: instance FromText ResetImageAttributeName
- Network.AWS.EC2.Types: instance FromText ResourceType
- Network.AWS.EC2.Types: instance FromText RouteOrigin
- Network.AWS.EC2.Types: instance FromText RouteState
- Network.AWS.EC2.Types: instance FromText RuleAction
- Network.AWS.EC2.Types: instance FromText ShutdownBehavior
- Network.AWS.EC2.Types: instance FromText SnapshotAttributeName
- Network.AWS.EC2.Types: instance FromText SnapshotState
- Network.AWS.EC2.Types: instance FromText SpotInstanceState
- Network.AWS.EC2.Types: instance FromText SpotInstanceType
- Network.AWS.EC2.Types: instance FromText State
- Network.AWS.EC2.Types: instance FromText StatusName
- Network.AWS.EC2.Types: instance FromText StatusType
- Network.AWS.EC2.Types: instance FromText SubnetState
- Network.AWS.EC2.Types: instance FromText SummaryStatus
- Network.AWS.EC2.Types: instance FromText TelemetryStatus
- Network.AWS.EC2.Types: instance FromText Tenancy
- Network.AWS.EC2.Types: instance FromText VirtualizationType
- Network.AWS.EC2.Types: instance FromText VolumeAttachmentState
- Network.AWS.EC2.Types: instance FromText VolumeAttributeName
- Network.AWS.EC2.Types: instance FromText VolumeState
- Network.AWS.EC2.Types: instance FromText VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance FromText VolumeStatusName
- Network.AWS.EC2.Types: instance FromText VolumeType
- Network.AWS.EC2.Types: instance FromText VpcAttributeName
- Network.AWS.EC2.Types: instance FromText VpcState
- Network.AWS.EC2.Types: instance FromText VpnState
- Network.AWS.EC2.Types: instance FromText VpnStaticRouteSource
- Network.AWS.EC2.Types: instance FromXML AccountAttribute
- Network.AWS.EC2.Types: instance FromXML AccountAttributeName
- Network.AWS.EC2.Types: instance FromXML AccountAttributeValue
- Network.AWS.EC2.Types: instance FromXML ActiveInstance
- Network.AWS.EC2.Types: instance FromXML Address
- Network.AWS.EC2.Types: instance FromXML AddressStatus
- Network.AWS.EC2.Types: instance FromXML ArchitectureValues
- Network.AWS.EC2.Types: instance FromXML AttachmentStatus
- Network.AWS.EC2.Types: instance FromXML AttributeBooleanValue
- Network.AWS.EC2.Types: instance FromXML AttributeValue
- Network.AWS.EC2.Types: instance FromXML AvailabilityZone
- Network.AWS.EC2.Types: instance FromXML AvailabilityZoneMessage
- Network.AWS.EC2.Types: instance FromXML AvailabilityZoneState
- Network.AWS.EC2.Types: instance FromXML BatchState
- Network.AWS.EC2.Types: instance FromXML BlobAttributeValue
- Network.AWS.EC2.Types: instance FromXML BlockDeviceMapping
- Network.AWS.EC2.Types: instance FromXML BundleTask
- Network.AWS.EC2.Types: instance FromXML BundleTaskError
- Network.AWS.EC2.Types: instance FromXML BundleTaskState
- Network.AWS.EC2.Types: instance FromXML CancelBatchErrorCode
- Network.AWS.EC2.Types: instance FromXML CancelSpotFleetRequestsError
- Network.AWS.EC2.Types: instance FromXML CancelSpotFleetRequestsErrorItem
- Network.AWS.EC2.Types: instance FromXML CancelSpotFleetRequestsSuccessItem
- Network.AWS.EC2.Types: instance FromXML CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance FromXML CancelledSpotInstanceRequest
- Network.AWS.EC2.Types: instance FromXML ClassicLinkInstance
- Network.AWS.EC2.Types: instance FromXML ClientData
- Network.AWS.EC2.Types: instance FromXML ContainerFormat
- Network.AWS.EC2.Types: instance FromXML ConversionTask
- Network.AWS.EC2.Types: instance FromXML ConversionTaskState
- Network.AWS.EC2.Types: instance FromXML CreateVolumePermission
- Network.AWS.EC2.Types: instance FromXML CreateVolumePermissionModifications
- Network.AWS.EC2.Types: instance FromXML CurrencyCodeValues
- Network.AWS.EC2.Types: instance FromXML CustomerGateway
- Network.AWS.EC2.Types: instance FromXML DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance FromXML DeviceType
- Network.AWS.EC2.Types: instance FromXML DhcpConfiguration
- Network.AWS.EC2.Types: instance FromXML DhcpOptions
- Network.AWS.EC2.Types: instance FromXML DiskImage
- Network.AWS.EC2.Types: instance FromXML DiskImageDescription
- Network.AWS.EC2.Types: instance FromXML DiskImageDetail
- Network.AWS.EC2.Types: instance FromXML DiskImageFormat
- Network.AWS.EC2.Types: instance FromXML DiskImageVolumeDescription
- Network.AWS.EC2.Types: instance FromXML DomainType
- Network.AWS.EC2.Types: instance FromXML EbsBlockDevice
- Network.AWS.EC2.Types: instance FromXML EbsInstanceBlockDevice
- Network.AWS.EC2.Types: instance FromXML EbsInstanceBlockDeviceSpecification
- Network.AWS.EC2.Types: instance FromXML EventCode
- Network.AWS.EC2.Types: instance FromXML EventInformation
- Network.AWS.EC2.Types: instance FromXML EventType
- Network.AWS.EC2.Types: instance FromXML ExportEnvironment
- Network.AWS.EC2.Types: instance FromXML ExportTask
- Network.AWS.EC2.Types: instance FromXML ExportTaskState
- Network.AWS.EC2.Types: instance FromXML ExportToS3Task
- Network.AWS.EC2.Types: instance FromXML ExportToS3TaskSpecification
- Network.AWS.EC2.Types: instance FromXML Filter
- Network.AWS.EC2.Types: instance FromXML GatewayType
- Network.AWS.EC2.Types: instance FromXML GroupIdentifier
- Network.AWS.EC2.Types: instance FromXML HistoryRecord
- Network.AWS.EC2.Types: instance FromXML HypervisorType
- Network.AWS.EC2.Types: instance FromXML IamInstanceProfile
- Network.AWS.EC2.Types: instance FromXML IamInstanceProfileSpecification
- Network.AWS.EC2.Types: instance FromXML IcmpTypeCode
- Network.AWS.EC2.Types: instance FromXML Image
- Network.AWS.EC2.Types: instance FromXML ImageAttributeName
- Network.AWS.EC2.Types: instance FromXML ImageDiskContainer
- Network.AWS.EC2.Types: instance FromXML ImageState
- Network.AWS.EC2.Types: instance FromXML ImageTypeValues
- Network.AWS.EC2.Types: instance FromXML ImportImageTask
- Network.AWS.EC2.Types: instance FromXML ImportInstanceLaunchSpecification
- Network.AWS.EC2.Types: instance FromXML ImportInstanceTaskDetails
- Network.AWS.EC2.Types: instance FromXML ImportInstanceVolumeDetailItem
- Network.AWS.EC2.Types: instance FromXML ImportSnapshotTask
- Network.AWS.EC2.Types: instance FromXML ImportVolumeTaskDetails
- Network.AWS.EC2.Types: instance FromXML Instance
- Network.AWS.EC2.Types: instance FromXML InstanceAttributeName
- Network.AWS.EC2.Types: instance FromXML InstanceBlockDeviceMapping
- Network.AWS.EC2.Types: instance FromXML InstanceBlockDeviceMappingSpecification
- Network.AWS.EC2.Types: instance FromXML InstanceCount
- Network.AWS.EC2.Types: instance FromXML InstanceExportDetails
- Network.AWS.EC2.Types: instance FromXML InstanceLifecycleType
- Network.AWS.EC2.Types: instance FromXML InstanceMonitoring
- Network.AWS.EC2.Types: instance FromXML InstanceNetworkInterface
- Network.AWS.EC2.Types: instance FromXML InstanceNetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance FromXML InstanceNetworkInterfaceAttachment
- Network.AWS.EC2.Types: instance FromXML InstanceNetworkInterfaceSpecification
- Network.AWS.EC2.Types: instance FromXML InstancePrivateIpAddress
- Network.AWS.EC2.Types: instance FromXML InstanceState
- Network.AWS.EC2.Types: instance FromXML InstanceStateChange
- Network.AWS.EC2.Types: instance FromXML InstanceStateName
- Network.AWS.EC2.Types: instance FromXML InstanceStatus
- Network.AWS.EC2.Types: instance FromXML InstanceStatusDetails
- Network.AWS.EC2.Types: instance FromXML InstanceStatusEvent
- Network.AWS.EC2.Types: instance FromXML InstanceStatusSummary
- Network.AWS.EC2.Types: instance FromXML InstanceType
- Network.AWS.EC2.Types: instance FromXML InternetGateway
- Network.AWS.EC2.Types: instance FromXML InternetGatewayAttachment
- Network.AWS.EC2.Types: instance FromXML IpPermission
- Network.AWS.EC2.Types: instance FromXML IpRange
- Network.AWS.EC2.Types: instance FromXML KeyPairInfo
- Network.AWS.EC2.Types: instance FromXML LaunchPermission
- Network.AWS.EC2.Types: instance FromXML LaunchPermissionModifications
- Network.AWS.EC2.Types: instance FromXML LaunchSpecification
- Network.AWS.EC2.Types: instance FromXML ListingState
- Network.AWS.EC2.Types: instance FromXML ListingStatus
- Network.AWS.EC2.Types: instance FromXML Monitoring
- Network.AWS.EC2.Types: instance FromXML MonitoringState
- Network.AWS.EC2.Types: instance FromXML MoveStatus
- Network.AWS.EC2.Types: instance FromXML MovingAddressStatus
- Network.AWS.EC2.Types: instance FromXML NetworkAcl
- Network.AWS.EC2.Types: instance FromXML NetworkAclAssociation
- Network.AWS.EC2.Types: instance FromXML NetworkAclEntry
- Network.AWS.EC2.Types: instance FromXML NetworkInterface
- Network.AWS.EC2.Types: instance FromXML NetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance FromXML NetworkInterfaceAttachment
- Network.AWS.EC2.Types: instance FromXML NetworkInterfaceAttachmentChanges
- Network.AWS.EC2.Types: instance FromXML NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance FromXML NetworkInterfacePrivateIpAddress
- Network.AWS.EC2.Types: instance FromXML NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance FromXML NewDhcpConfiguration
- Network.AWS.EC2.Types: instance FromXML OfferingTypeValues
- Network.AWS.EC2.Types: instance FromXML PermissionGroup
- Network.AWS.EC2.Types: instance FromXML Placement
- Network.AWS.EC2.Types: instance FromXML PlacementGroup
- Network.AWS.EC2.Types: instance FromXML PlacementGroupState
- Network.AWS.EC2.Types: instance FromXML PlacementStrategy
- Network.AWS.EC2.Types: instance FromXML PlatformValues
- Network.AWS.EC2.Types: instance FromXML PortRange
- Network.AWS.EC2.Types: instance FromXML PrefixList
- Network.AWS.EC2.Types: instance FromXML PrefixListId
- Network.AWS.EC2.Types: instance FromXML PriceSchedule
- Network.AWS.EC2.Types: instance FromXML PriceScheduleSpecification
- Network.AWS.EC2.Types: instance FromXML PricingDetail
- Network.AWS.EC2.Types: instance FromXML PrivateIpAddressSpecification
- Network.AWS.EC2.Types: instance FromXML ProductCode
- Network.AWS.EC2.Types: instance FromXML ProductCodeValues
- Network.AWS.EC2.Types: instance FromXML PropagatingVgw
- Network.AWS.EC2.Types: instance FromXML RIProductDescription
- Network.AWS.EC2.Types: instance FromXML RecurringCharge
- Network.AWS.EC2.Types: instance FromXML RecurringChargeFrequency
- Network.AWS.EC2.Types: instance FromXML Region
- Network.AWS.EC2.Types: instance FromXML ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance FromXML ReportStatusType
- Network.AWS.EC2.Types: instance FromXML RequestSpotLaunchSpecification
- Network.AWS.EC2.Types: instance FromXML Reservation
- Network.AWS.EC2.Types: instance FromXML ReservedInstanceLimitPrice
- Network.AWS.EC2.Types: instance FromXML ReservedInstanceState
- Network.AWS.EC2.Types: instance FromXML ReservedInstances
- Network.AWS.EC2.Types: instance FromXML ReservedInstancesConfiguration
- Network.AWS.EC2.Types: instance FromXML ReservedInstancesId
- Network.AWS.EC2.Types: instance FromXML ReservedInstancesListing
- Network.AWS.EC2.Types: instance FromXML ReservedInstancesModification
- Network.AWS.EC2.Types: instance FromXML ReservedInstancesModificationResult
- Network.AWS.EC2.Types: instance FromXML ReservedInstancesOffering
- Network.AWS.EC2.Types: instance FromXML ResetImageAttributeName
- Network.AWS.EC2.Types: instance FromXML ResourceType
- Network.AWS.EC2.Types: instance FromXML Route
- Network.AWS.EC2.Types: instance FromXML RouteOrigin
- Network.AWS.EC2.Types: instance FromXML RouteState
- Network.AWS.EC2.Types: instance FromXML RouteTable
- Network.AWS.EC2.Types: instance FromXML RouteTableAssociation
- Network.AWS.EC2.Types: instance FromXML RuleAction
- Network.AWS.EC2.Types: instance FromXML RunInstancesMonitoringEnabled
- Network.AWS.EC2.Types: instance FromXML S3Storage
- Network.AWS.EC2.Types: instance FromXML SecurityGroup
- Network.AWS.EC2.Types: instance FromXML ShutdownBehavior
- Network.AWS.EC2.Types: instance FromXML Snapshot
- Network.AWS.EC2.Types: instance FromXML SnapshotAttributeName
- Network.AWS.EC2.Types: instance FromXML SnapshotDetail
- Network.AWS.EC2.Types: instance FromXML SnapshotDiskContainer
- Network.AWS.EC2.Types: instance FromXML SnapshotState
- Network.AWS.EC2.Types: instance FromXML SnapshotTaskDetail
- Network.AWS.EC2.Types: instance FromXML SpotDatafeedSubscription
- Network.AWS.EC2.Types: instance FromXML SpotFleetRequestConfig
- Network.AWS.EC2.Types: instance FromXML SpotFleetRequestConfigData
- Network.AWS.EC2.Types: instance FromXML SpotInstanceRequest
- Network.AWS.EC2.Types: instance FromXML SpotInstanceState
- Network.AWS.EC2.Types: instance FromXML SpotInstanceStateFault
- Network.AWS.EC2.Types: instance FromXML SpotInstanceStatus
- Network.AWS.EC2.Types: instance FromXML SpotInstanceType
- Network.AWS.EC2.Types: instance FromXML SpotPlacement
- Network.AWS.EC2.Types: instance FromXML SpotPrice
- Network.AWS.EC2.Types: instance FromXML State
- Network.AWS.EC2.Types: instance FromXML StateReason
- Network.AWS.EC2.Types: instance FromXML StatusName
- Network.AWS.EC2.Types: instance FromXML StatusType
- Network.AWS.EC2.Types: instance FromXML Storage
- Network.AWS.EC2.Types: instance FromXML Subnet
- Network.AWS.EC2.Types: instance FromXML SubnetState
- Network.AWS.EC2.Types: instance FromXML SummaryStatus
- Network.AWS.EC2.Types: instance FromXML Tag
- Network.AWS.EC2.Types: instance FromXML TagDescription
- Network.AWS.EC2.Types: instance FromXML TelemetryStatus
- Network.AWS.EC2.Types: instance FromXML Tenancy
- Network.AWS.EC2.Types: instance FromXML UnsuccessfulItem
- Network.AWS.EC2.Types: instance FromXML UnsuccessfulItemError
- Network.AWS.EC2.Types: instance FromXML UserBucket
- Network.AWS.EC2.Types: instance FromXML UserBucketDetails
- Network.AWS.EC2.Types: instance FromXML UserData
- Network.AWS.EC2.Types: instance FromXML UserIdGroupPair
- Network.AWS.EC2.Types: instance FromXML VgwTelemetry
- Network.AWS.EC2.Types: instance FromXML VirtualizationType
- Network.AWS.EC2.Types: instance FromXML Volume
- Network.AWS.EC2.Types: instance FromXML VolumeAttachment
- Network.AWS.EC2.Types: instance FromXML VolumeAttachmentState
- Network.AWS.EC2.Types: instance FromXML VolumeAttributeName
- Network.AWS.EC2.Types: instance FromXML VolumeDetail
- Network.AWS.EC2.Types: instance FromXML VolumeState
- Network.AWS.EC2.Types: instance FromXML VolumeStatusAction
- Network.AWS.EC2.Types: instance FromXML VolumeStatusDetails
- Network.AWS.EC2.Types: instance FromXML VolumeStatusEvent
- Network.AWS.EC2.Types: instance FromXML VolumeStatusInfo
- Network.AWS.EC2.Types: instance FromXML VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance FromXML VolumeStatusItem
- Network.AWS.EC2.Types: instance FromXML VolumeStatusName
- Network.AWS.EC2.Types: instance FromXML VolumeType
- Network.AWS.EC2.Types: instance FromXML Vpc
- Network.AWS.EC2.Types: instance FromXML VpcAttachment
- Network.AWS.EC2.Types: instance FromXML VpcAttributeName
- Network.AWS.EC2.Types: instance FromXML VpcClassicLink
- Network.AWS.EC2.Types: instance FromXML VpcEndpoint
- Network.AWS.EC2.Types: instance FromXML VpcPeeringConnection
- Network.AWS.EC2.Types: instance FromXML VpcPeeringConnectionStateReason
- Network.AWS.EC2.Types: instance FromXML VpcPeeringConnectionVpcInfo
- Network.AWS.EC2.Types: instance FromXML VpcState
- Network.AWS.EC2.Types: instance FromXML VpnConnection
- Network.AWS.EC2.Types: instance FromXML VpnConnectionOptions
- Network.AWS.EC2.Types: instance FromXML VpnConnectionOptionsSpecification
- Network.AWS.EC2.Types: instance FromXML VpnGateway
- Network.AWS.EC2.Types: instance FromXML VpnState
- Network.AWS.EC2.Types: instance FromXML VpnStaticRoute
- Network.AWS.EC2.Types: instance FromXML VpnStaticRouteSource
- Network.AWS.EC2.Types: instance Generic AccountAttributeName
- Network.AWS.EC2.Types: instance Generic AddressStatus
- Network.AWS.EC2.Types: instance Generic ArchitectureValues
- Network.AWS.EC2.Types: instance Generic AttachmentStatus
- Network.AWS.EC2.Types: instance Generic AvailabilityZoneState
- Network.AWS.EC2.Types: instance Generic BatchState
- Network.AWS.EC2.Types: instance Generic BundleTaskState
- Network.AWS.EC2.Types: instance Generic CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Generic CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Generic ContainerFormat
- Network.AWS.EC2.Types: instance Generic ConversionTaskState
- Network.AWS.EC2.Types: instance Generic CurrencyCodeValues
- Network.AWS.EC2.Types: instance Generic DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance Generic DeviceType
- Network.AWS.EC2.Types: instance Generic DiskImageFormat
- Network.AWS.EC2.Types: instance Generic DomainType
- Network.AWS.EC2.Types: instance Generic EventCode
- Network.AWS.EC2.Types: instance Generic EventType
- Network.AWS.EC2.Types: instance Generic ExportEnvironment
- Network.AWS.EC2.Types: instance Generic ExportTaskState
- Network.AWS.EC2.Types: instance Generic GatewayType
- Network.AWS.EC2.Types: instance Generic HypervisorType
- Network.AWS.EC2.Types: instance Generic ImageAttributeName
- Network.AWS.EC2.Types: instance Generic ImageState
- Network.AWS.EC2.Types: instance Generic ImageTypeValues
- Network.AWS.EC2.Types: instance Generic InstanceAttributeName
- Network.AWS.EC2.Types: instance Generic InstanceLifecycleType
- Network.AWS.EC2.Types: instance Generic InstanceStateName
- Network.AWS.EC2.Types: instance Generic InstanceType
- Network.AWS.EC2.Types: instance Generic ListingState
- Network.AWS.EC2.Types: instance Generic ListingStatus
- Network.AWS.EC2.Types: instance Generic MonitoringState
- Network.AWS.EC2.Types: instance Generic MoveStatus
- Network.AWS.EC2.Types: instance Generic NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Generic NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Generic OfferingTypeValues
- Network.AWS.EC2.Types: instance Generic PermissionGroup
- Network.AWS.EC2.Types: instance Generic PlacementGroupState
- Network.AWS.EC2.Types: instance Generic PlacementStrategy
- Network.AWS.EC2.Types: instance Generic PlatformValues
- Network.AWS.EC2.Types: instance Generic ProductCodeValues
- Network.AWS.EC2.Types: instance Generic RIProductDescription
- Network.AWS.EC2.Types: instance Generic RecurringChargeFrequency
- Network.AWS.EC2.Types: instance Generic ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Generic ReportStatusType
- Network.AWS.EC2.Types: instance Generic ReservedInstanceState
- Network.AWS.EC2.Types: instance Generic ResetImageAttributeName
- Network.AWS.EC2.Types: instance Generic ResourceType
- Network.AWS.EC2.Types: instance Generic RouteOrigin
- Network.AWS.EC2.Types: instance Generic RouteState
- Network.AWS.EC2.Types: instance Generic RuleAction
- Network.AWS.EC2.Types: instance Generic ShutdownBehavior
- Network.AWS.EC2.Types: instance Generic SnapshotAttributeName
- Network.AWS.EC2.Types: instance Generic SnapshotState
- Network.AWS.EC2.Types: instance Generic SpotInstanceState
- Network.AWS.EC2.Types: instance Generic SpotInstanceType
- Network.AWS.EC2.Types: instance Generic State
- Network.AWS.EC2.Types: instance Generic StatusName
- Network.AWS.EC2.Types: instance Generic StatusType
- Network.AWS.EC2.Types: instance Generic SubnetState
- Network.AWS.EC2.Types: instance Generic SummaryStatus
- Network.AWS.EC2.Types: instance Generic TelemetryStatus
- Network.AWS.EC2.Types: instance Generic Tenancy
- Network.AWS.EC2.Types: instance Generic VirtualizationType
- Network.AWS.EC2.Types: instance Generic VolumeAttachmentState
- Network.AWS.EC2.Types: instance Generic VolumeAttributeName
- Network.AWS.EC2.Types: instance Generic VolumeState
- Network.AWS.EC2.Types: instance Generic VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance Generic VolumeStatusName
- Network.AWS.EC2.Types: instance Generic VolumeType
- Network.AWS.EC2.Types: instance Generic VpcAttributeName
- Network.AWS.EC2.Types: instance Generic VpcState
- Network.AWS.EC2.Types: instance Generic VpnState
- Network.AWS.EC2.Types: instance Generic VpnStaticRouteSource
- Network.AWS.EC2.Types: instance Hashable AccountAttributeName
- Network.AWS.EC2.Types: instance Hashable AddressStatus
- Network.AWS.EC2.Types: instance Hashable ArchitectureValues
- Network.AWS.EC2.Types: instance Hashable AttachmentStatus
- Network.AWS.EC2.Types: instance Hashable AvailabilityZoneState
- Network.AWS.EC2.Types: instance Hashable BatchState
- Network.AWS.EC2.Types: instance Hashable BundleTaskState
- Network.AWS.EC2.Types: instance Hashable CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Hashable CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Hashable ContainerFormat
- Network.AWS.EC2.Types: instance Hashable ConversionTaskState
- Network.AWS.EC2.Types: instance Hashable CurrencyCodeValues
- Network.AWS.EC2.Types: instance Hashable DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance Hashable DeviceType
- Network.AWS.EC2.Types: instance Hashable DiskImageFormat
- Network.AWS.EC2.Types: instance Hashable DomainType
- Network.AWS.EC2.Types: instance Hashable EventCode
- Network.AWS.EC2.Types: instance Hashable EventType
- Network.AWS.EC2.Types: instance Hashable ExportEnvironment
- Network.AWS.EC2.Types: instance Hashable ExportTaskState
- Network.AWS.EC2.Types: instance Hashable GatewayType
- Network.AWS.EC2.Types: instance Hashable HypervisorType
- Network.AWS.EC2.Types: instance Hashable ImageAttributeName
- Network.AWS.EC2.Types: instance Hashable ImageState
- Network.AWS.EC2.Types: instance Hashable ImageTypeValues
- Network.AWS.EC2.Types: instance Hashable InstanceAttributeName
- Network.AWS.EC2.Types: instance Hashable InstanceLifecycleType
- Network.AWS.EC2.Types: instance Hashable InstanceStateName
- Network.AWS.EC2.Types: instance Hashable InstanceType
- Network.AWS.EC2.Types: instance Hashable ListingState
- Network.AWS.EC2.Types: instance Hashable ListingStatus
- Network.AWS.EC2.Types: instance Hashable MonitoringState
- Network.AWS.EC2.Types: instance Hashable MoveStatus
- Network.AWS.EC2.Types: instance Hashable NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Hashable NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Hashable OfferingTypeValues
- Network.AWS.EC2.Types: instance Hashable PermissionGroup
- Network.AWS.EC2.Types: instance Hashable PlacementGroupState
- Network.AWS.EC2.Types: instance Hashable PlacementStrategy
- Network.AWS.EC2.Types: instance Hashable PlatformValues
- Network.AWS.EC2.Types: instance Hashable ProductCodeValues
- Network.AWS.EC2.Types: instance Hashable RIProductDescription
- Network.AWS.EC2.Types: instance Hashable RecurringChargeFrequency
- Network.AWS.EC2.Types: instance Hashable ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Hashable ReportStatusType
- Network.AWS.EC2.Types: instance Hashable ReservedInstanceState
- Network.AWS.EC2.Types: instance Hashable ResetImageAttributeName
- Network.AWS.EC2.Types: instance Hashable ResourceType
- Network.AWS.EC2.Types: instance Hashable RouteOrigin
- Network.AWS.EC2.Types: instance Hashable RouteState
- Network.AWS.EC2.Types: instance Hashable RuleAction
- Network.AWS.EC2.Types: instance Hashable ShutdownBehavior
- Network.AWS.EC2.Types: instance Hashable SnapshotAttributeName
- Network.AWS.EC2.Types: instance Hashable SnapshotState
- Network.AWS.EC2.Types: instance Hashable SpotInstanceState
- Network.AWS.EC2.Types: instance Hashable SpotInstanceType
- Network.AWS.EC2.Types: instance Hashable State
- Network.AWS.EC2.Types: instance Hashable StatusName
- Network.AWS.EC2.Types: instance Hashable StatusType
- Network.AWS.EC2.Types: instance Hashable SubnetState
- Network.AWS.EC2.Types: instance Hashable SummaryStatus
- Network.AWS.EC2.Types: instance Hashable TelemetryStatus
- Network.AWS.EC2.Types: instance Hashable Tenancy
- Network.AWS.EC2.Types: instance Hashable VirtualizationType
- Network.AWS.EC2.Types: instance Hashable VolumeAttachmentState
- Network.AWS.EC2.Types: instance Hashable VolumeAttributeName
- Network.AWS.EC2.Types: instance Hashable VolumeState
- Network.AWS.EC2.Types: instance Hashable VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance Hashable VolumeStatusName
- Network.AWS.EC2.Types: instance Hashable VolumeType
- Network.AWS.EC2.Types: instance Hashable VpcAttributeName
- Network.AWS.EC2.Types: instance Hashable VpcState
- Network.AWS.EC2.Types: instance Hashable VpnState
- Network.AWS.EC2.Types: instance Hashable VpnStaticRouteSource
- Network.AWS.EC2.Types: instance Integral VolumeDetail
- Network.AWS.EC2.Types: instance IsString IpRange
- Network.AWS.EC2.Types: instance Monoid AccountAttributeValue
- Network.AWS.EC2.Types: instance Monoid AttributeValue
- Network.AWS.EC2.Types: instance Monoid AvailabilityZoneMessage
- Network.AWS.EC2.Types: instance Monoid IpRange
- Network.AWS.EC2.Types: instance Monoid PrefixListId
- Network.AWS.EC2.Types: instance Monoid PropagatingVgw
- Network.AWS.EC2.Types: instance Monoid ReservedInstancesId
- Network.AWS.EC2.Types: instance Monoid UserData
- Network.AWS.EC2.Types: instance Num VolumeDetail
- Network.AWS.EC2.Types: instance Ord AccountAttributeName
- Network.AWS.EC2.Types: instance Ord AccountAttributeValue
- Network.AWS.EC2.Types: instance Ord ActiveInstance
- Network.AWS.EC2.Types: instance Ord AddressStatus
- Network.AWS.EC2.Types: instance Ord ArchitectureValues
- Network.AWS.EC2.Types: instance Ord AttachmentStatus
- Network.AWS.EC2.Types: instance Ord AttributeBooleanValue
- Network.AWS.EC2.Types: instance Ord AttributeValue
- Network.AWS.EC2.Types: instance Ord AvailabilityZoneMessage
- Network.AWS.EC2.Types: instance Ord AvailabilityZoneState
- Network.AWS.EC2.Types: instance Ord BatchState
- Network.AWS.EC2.Types: instance Ord BundleTaskError
- Network.AWS.EC2.Types: instance Ord BundleTaskState
- Network.AWS.EC2.Types: instance Ord CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Ord CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Ord ClientData
- Network.AWS.EC2.Types: instance Ord ContainerFormat
- Network.AWS.EC2.Types: instance Ord ConversionTaskState
- Network.AWS.EC2.Types: instance Ord CurrencyCodeValues
- Network.AWS.EC2.Types: instance Ord DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance Ord DeviceType
- Network.AWS.EC2.Types: instance Ord DiskImageFormat
- Network.AWS.EC2.Types: instance Ord DiskImageVolumeDescription
- Network.AWS.EC2.Types: instance Ord DomainType
- Network.AWS.EC2.Types: instance Ord EbsInstanceBlockDeviceSpecification
- Network.AWS.EC2.Types: instance Ord EventCode
- Network.AWS.EC2.Types: instance Ord EventInformation
- Network.AWS.EC2.Types: instance Ord EventType
- Network.AWS.EC2.Types: instance Ord ExportEnvironment
- Network.AWS.EC2.Types: instance Ord ExportTaskState
- Network.AWS.EC2.Types: instance Ord Filter
- Network.AWS.EC2.Types: instance Ord GatewayType
- Network.AWS.EC2.Types: instance Ord GroupIdentifier
- Network.AWS.EC2.Types: instance Ord HypervisorType
- Network.AWS.EC2.Types: instance Ord IamInstanceProfile
- Network.AWS.EC2.Types: instance Ord IamInstanceProfileSpecification
- Network.AWS.EC2.Types: instance Ord IcmpTypeCode
- Network.AWS.EC2.Types: instance Ord ImageAttributeName
- Network.AWS.EC2.Types: instance Ord ImageState
- Network.AWS.EC2.Types: instance Ord ImageTypeValues
- Network.AWS.EC2.Types: instance Ord InstanceAttributeName
- Network.AWS.EC2.Types: instance Ord InstanceLifecycleType
- Network.AWS.EC2.Types: instance Ord InstanceNetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance Ord InstanceStateName
- Network.AWS.EC2.Types: instance Ord InstanceType
- Network.AWS.EC2.Types: instance Ord IpRange
- Network.AWS.EC2.Types: instance Ord KeyPairInfo
- Network.AWS.EC2.Types: instance Ord ListingState
- Network.AWS.EC2.Types: instance Ord ListingStatus
- Network.AWS.EC2.Types: instance Ord MonitoringState
- Network.AWS.EC2.Types: instance Ord MoveStatus
- Network.AWS.EC2.Types: instance Ord NetworkAclAssociation
- Network.AWS.EC2.Types: instance Ord NetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance Ord NetworkInterfaceAttachmentChanges
- Network.AWS.EC2.Types: instance Ord NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Ord NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Ord NewDhcpConfiguration
- Network.AWS.EC2.Types: instance Ord OfferingTypeValues
- Network.AWS.EC2.Types: instance Ord PermissionGroup
- Network.AWS.EC2.Types: instance Ord PlacementGroupState
- Network.AWS.EC2.Types: instance Ord PlacementStrategy
- Network.AWS.EC2.Types: instance Ord PlatformValues
- Network.AWS.EC2.Types: instance Ord PortRange
- Network.AWS.EC2.Types: instance Ord PrefixList
- Network.AWS.EC2.Types: instance Ord PrefixListId
- Network.AWS.EC2.Types: instance Ord PricingDetail
- Network.AWS.EC2.Types: instance Ord PrivateIpAddressSpecification
- Network.AWS.EC2.Types: instance Ord ProductCodeValues
- Network.AWS.EC2.Types: instance Ord PropagatingVgw
- Network.AWS.EC2.Types: instance Ord RIProductDescription
- Network.AWS.EC2.Types: instance Ord RecurringChargeFrequency
- Network.AWS.EC2.Types: instance Ord Region
- Network.AWS.EC2.Types: instance Ord ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Ord ReportStatusType
- Network.AWS.EC2.Types: instance Ord ReservedInstanceState
- Network.AWS.EC2.Types: instance Ord ReservedInstancesId
- Network.AWS.EC2.Types: instance Ord ResetImageAttributeName
- Network.AWS.EC2.Types: instance Ord ResourceType
- Network.AWS.EC2.Types: instance Ord RouteOrigin
- Network.AWS.EC2.Types: instance Ord RouteState
- Network.AWS.EC2.Types: instance Ord RouteTableAssociation
- Network.AWS.EC2.Types: instance Ord RuleAction
- Network.AWS.EC2.Types: instance Ord RunInstancesMonitoringEnabled
- Network.AWS.EC2.Types: instance Ord ShutdownBehavior
- Network.AWS.EC2.Types: instance Ord SnapshotAttributeName
- Network.AWS.EC2.Types: instance Ord SnapshotState
- Network.AWS.EC2.Types: instance Ord SpotInstanceState
- Network.AWS.EC2.Types: instance Ord SpotInstanceStateFault
- Network.AWS.EC2.Types: instance Ord SpotInstanceStatus
- Network.AWS.EC2.Types: instance Ord SpotInstanceType
- Network.AWS.EC2.Types: instance Ord SpotPlacement
- Network.AWS.EC2.Types: instance Ord State
- Network.AWS.EC2.Types: instance Ord StateReason
- Network.AWS.EC2.Types: instance Ord StatusName
- Network.AWS.EC2.Types: instance Ord StatusType
- Network.AWS.EC2.Types: instance Ord SubnetState
- Network.AWS.EC2.Types: instance Ord SummaryStatus
- Network.AWS.EC2.Types: instance Ord Tag
- Network.AWS.EC2.Types: instance Ord TelemetryStatus
- Network.AWS.EC2.Types: instance Ord Tenancy
- Network.AWS.EC2.Types: instance Ord UnsuccessfulItemError
- Network.AWS.EC2.Types: instance Ord UserBucket
- Network.AWS.EC2.Types: instance Ord UserBucketDetails
- Network.AWS.EC2.Types: instance Ord UserData
- Network.AWS.EC2.Types: instance Ord UserIdGroupPair
- Network.AWS.EC2.Types: instance Ord VirtualizationType
- Network.AWS.EC2.Types: instance Ord VolumeAttachmentState
- Network.AWS.EC2.Types: instance Ord VolumeAttributeName
- Network.AWS.EC2.Types: instance Ord VolumeDetail
- Network.AWS.EC2.Types: instance Ord VolumeState
- Network.AWS.EC2.Types: instance Ord VolumeStatusAction
- Network.AWS.EC2.Types: instance Ord VolumeStatusEvent
- Network.AWS.EC2.Types: instance Ord VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance Ord VolumeStatusName
- Network.AWS.EC2.Types: instance Ord VolumeType
- Network.AWS.EC2.Types: instance Ord VpcAttributeName
- Network.AWS.EC2.Types: instance Ord VpcPeeringConnectionStateReason
- Network.AWS.EC2.Types: instance Ord VpcPeeringConnectionVpcInfo
- Network.AWS.EC2.Types: instance Ord VpcState
- Network.AWS.EC2.Types: instance Ord VpnConnectionOptions
- Network.AWS.EC2.Types: instance Ord VpnConnectionOptionsSpecification
- Network.AWS.EC2.Types: instance Ord VpnState
- Network.AWS.EC2.Types: instance Ord VpnStaticRouteSource
- Network.AWS.EC2.Types: instance Read AccountAttribute
- Network.AWS.EC2.Types: instance Read AccountAttributeName
- Network.AWS.EC2.Types: instance Read AccountAttributeValue
- Network.AWS.EC2.Types: instance Read ActiveInstance
- Network.AWS.EC2.Types: instance Read Address
- Network.AWS.EC2.Types: instance Read AddressStatus
- Network.AWS.EC2.Types: instance Read ArchitectureValues
- Network.AWS.EC2.Types: instance Read AttachmentStatus
- Network.AWS.EC2.Types: instance Read AttributeBooleanValue
- Network.AWS.EC2.Types: instance Read AttributeValue
- Network.AWS.EC2.Types: instance Read AvailabilityZone
- Network.AWS.EC2.Types: instance Read AvailabilityZoneMessage
- Network.AWS.EC2.Types: instance Read AvailabilityZoneState
- Network.AWS.EC2.Types: instance Read BatchState
- Network.AWS.EC2.Types: instance Read BlobAttributeValue
- Network.AWS.EC2.Types: instance Read BlockDeviceMapping
- Network.AWS.EC2.Types: instance Read BundleTask
- Network.AWS.EC2.Types: instance Read BundleTaskError
- Network.AWS.EC2.Types: instance Read BundleTaskState
- Network.AWS.EC2.Types: instance Read CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Read CancelSpotFleetRequestsError
- Network.AWS.EC2.Types: instance Read CancelSpotFleetRequestsErrorItem
- Network.AWS.EC2.Types: instance Read CancelSpotFleetRequestsSuccessItem
- Network.AWS.EC2.Types: instance Read CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Read CancelledSpotInstanceRequest
- Network.AWS.EC2.Types: instance Read ClassicLinkInstance
- Network.AWS.EC2.Types: instance Read ClientData
- Network.AWS.EC2.Types: instance Read ContainerFormat
- Network.AWS.EC2.Types: instance Read ConversionTask
- Network.AWS.EC2.Types: instance Read ConversionTaskState
- Network.AWS.EC2.Types: instance Read CreateVolumePermission
- Network.AWS.EC2.Types: instance Read CreateVolumePermissionModifications
- Network.AWS.EC2.Types: instance Read CurrencyCodeValues
- Network.AWS.EC2.Types: instance Read CustomerGateway
- Network.AWS.EC2.Types: instance Read DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance Read DeviceType
- Network.AWS.EC2.Types: instance Read DhcpConfiguration
- Network.AWS.EC2.Types: instance Read DhcpOptions
- Network.AWS.EC2.Types: instance Read DiskImage
- Network.AWS.EC2.Types: instance Read DiskImageDescription
- Network.AWS.EC2.Types: instance Read DiskImageDetail
- Network.AWS.EC2.Types: instance Read DiskImageFormat
- Network.AWS.EC2.Types: instance Read DiskImageVolumeDescription
- Network.AWS.EC2.Types: instance Read DomainType
- Network.AWS.EC2.Types: instance Read EbsBlockDevice
- Network.AWS.EC2.Types: instance Read EbsInstanceBlockDevice
- Network.AWS.EC2.Types: instance Read EbsInstanceBlockDeviceSpecification
- Network.AWS.EC2.Types: instance Read EventCode
- Network.AWS.EC2.Types: instance Read EventInformation
- Network.AWS.EC2.Types: instance Read EventType
- Network.AWS.EC2.Types: instance Read ExportEnvironment
- Network.AWS.EC2.Types: instance Read ExportTask
- Network.AWS.EC2.Types: instance Read ExportTaskState
- Network.AWS.EC2.Types: instance Read ExportToS3Task
- Network.AWS.EC2.Types: instance Read ExportToS3TaskSpecification
- Network.AWS.EC2.Types: instance Read Filter
- Network.AWS.EC2.Types: instance Read GatewayType
- Network.AWS.EC2.Types: instance Read GroupIdentifier
- Network.AWS.EC2.Types: instance Read HistoryRecord
- Network.AWS.EC2.Types: instance Read HypervisorType
- Network.AWS.EC2.Types: instance Read IamInstanceProfile
- Network.AWS.EC2.Types: instance Read IamInstanceProfileSpecification
- Network.AWS.EC2.Types: instance Read IcmpTypeCode
- Network.AWS.EC2.Types: instance Read Image
- Network.AWS.EC2.Types: instance Read ImageAttributeName
- Network.AWS.EC2.Types: instance Read ImageDiskContainer
- Network.AWS.EC2.Types: instance Read ImageState
- Network.AWS.EC2.Types: instance Read ImageTypeValues
- Network.AWS.EC2.Types: instance Read ImportImageTask
- Network.AWS.EC2.Types: instance Read ImportInstanceLaunchSpecification
- Network.AWS.EC2.Types: instance Read ImportInstanceTaskDetails
- Network.AWS.EC2.Types: instance Read ImportInstanceVolumeDetailItem
- Network.AWS.EC2.Types: instance Read ImportSnapshotTask
- Network.AWS.EC2.Types: instance Read ImportVolumeTaskDetails
- Network.AWS.EC2.Types: instance Read Instance
- Network.AWS.EC2.Types: instance Read InstanceAttributeName
- Network.AWS.EC2.Types: instance Read InstanceBlockDeviceMapping
- Network.AWS.EC2.Types: instance Read InstanceBlockDeviceMappingSpecification
- Network.AWS.EC2.Types: instance Read InstanceCount
- Network.AWS.EC2.Types: instance Read InstanceExportDetails
- Network.AWS.EC2.Types: instance Read InstanceLifecycleType
- Network.AWS.EC2.Types: instance Read InstanceMonitoring
- Network.AWS.EC2.Types: instance Read InstanceNetworkInterface
- Network.AWS.EC2.Types: instance Read InstanceNetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance Read InstanceNetworkInterfaceAttachment
- Network.AWS.EC2.Types: instance Read InstanceNetworkInterfaceSpecification
- Network.AWS.EC2.Types: instance Read InstancePrivateIpAddress
- Network.AWS.EC2.Types: instance Read InstanceState
- Network.AWS.EC2.Types: instance Read InstanceStateChange
- Network.AWS.EC2.Types: instance Read InstanceStateName
- Network.AWS.EC2.Types: instance Read InstanceStatus
- Network.AWS.EC2.Types: instance Read InstanceStatusDetails
- Network.AWS.EC2.Types: instance Read InstanceStatusEvent
- Network.AWS.EC2.Types: instance Read InstanceStatusSummary
- Network.AWS.EC2.Types: instance Read InstanceType
- Network.AWS.EC2.Types: instance Read InternetGateway
- Network.AWS.EC2.Types: instance Read InternetGatewayAttachment
- Network.AWS.EC2.Types: instance Read IpPermission
- Network.AWS.EC2.Types: instance Read IpRange
- Network.AWS.EC2.Types: instance Read KeyPairInfo
- Network.AWS.EC2.Types: instance Read LaunchPermission
- Network.AWS.EC2.Types: instance Read LaunchPermissionModifications
- Network.AWS.EC2.Types: instance Read LaunchSpecification
- Network.AWS.EC2.Types: instance Read ListingState
- Network.AWS.EC2.Types: instance Read ListingStatus
- Network.AWS.EC2.Types: instance Read Monitoring
- Network.AWS.EC2.Types: instance Read MonitoringState
- Network.AWS.EC2.Types: instance Read MoveStatus
- Network.AWS.EC2.Types: instance Read MovingAddressStatus
- Network.AWS.EC2.Types: instance Read NetworkAcl
- Network.AWS.EC2.Types: instance Read NetworkAclAssociation
- Network.AWS.EC2.Types: instance Read NetworkAclEntry
- Network.AWS.EC2.Types: instance Read NetworkInterface
- Network.AWS.EC2.Types: instance Read NetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance Read NetworkInterfaceAttachment
- Network.AWS.EC2.Types: instance Read NetworkInterfaceAttachmentChanges
- Network.AWS.EC2.Types: instance Read NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Read NetworkInterfacePrivateIpAddress
- Network.AWS.EC2.Types: instance Read NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Read NewDhcpConfiguration
- Network.AWS.EC2.Types: instance Read OfferingTypeValues
- Network.AWS.EC2.Types: instance Read PermissionGroup
- Network.AWS.EC2.Types: instance Read Placement
- Network.AWS.EC2.Types: instance Read PlacementGroup
- Network.AWS.EC2.Types: instance Read PlacementGroupState
- Network.AWS.EC2.Types: instance Read PlacementStrategy
- Network.AWS.EC2.Types: instance Read PlatformValues
- Network.AWS.EC2.Types: instance Read PortRange
- Network.AWS.EC2.Types: instance Read PrefixList
- Network.AWS.EC2.Types: instance Read PrefixListId
- Network.AWS.EC2.Types: instance Read PriceSchedule
- Network.AWS.EC2.Types: instance Read PriceScheduleSpecification
- Network.AWS.EC2.Types: instance Read PricingDetail
- Network.AWS.EC2.Types: instance Read PrivateIpAddressSpecification
- Network.AWS.EC2.Types: instance Read ProductCode
- Network.AWS.EC2.Types: instance Read ProductCodeValues
- Network.AWS.EC2.Types: instance Read PropagatingVgw
- Network.AWS.EC2.Types: instance Read RIProductDescription
- Network.AWS.EC2.Types: instance Read RecurringCharge
- Network.AWS.EC2.Types: instance Read RecurringChargeFrequency
- Network.AWS.EC2.Types: instance Read Region
- Network.AWS.EC2.Types: instance Read ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Read ReportStatusType
- Network.AWS.EC2.Types: instance Read RequestSpotLaunchSpecification
- Network.AWS.EC2.Types: instance Read Reservation
- Network.AWS.EC2.Types: instance Read ReservedInstanceLimitPrice
- Network.AWS.EC2.Types: instance Read ReservedInstanceState
- Network.AWS.EC2.Types: instance Read ReservedInstances
- Network.AWS.EC2.Types: instance Read ReservedInstancesConfiguration
- Network.AWS.EC2.Types: instance Read ReservedInstancesId
- Network.AWS.EC2.Types: instance Read ReservedInstancesListing
- Network.AWS.EC2.Types: instance Read ReservedInstancesModification
- Network.AWS.EC2.Types: instance Read ReservedInstancesModificationResult
- Network.AWS.EC2.Types: instance Read ReservedInstancesOffering
- Network.AWS.EC2.Types: instance Read ResetImageAttributeName
- Network.AWS.EC2.Types: instance Read ResourceType
- Network.AWS.EC2.Types: instance Read Route
- Network.AWS.EC2.Types: instance Read RouteOrigin
- Network.AWS.EC2.Types: instance Read RouteState
- Network.AWS.EC2.Types: instance Read RouteTable
- Network.AWS.EC2.Types: instance Read RouteTableAssociation
- Network.AWS.EC2.Types: instance Read RuleAction
- Network.AWS.EC2.Types: instance Read RunInstancesMonitoringEnabled
- Network.AWS.EC2.Types: instance Read S3Storage
- Network.AWS.EC2.Types: instance Read SecurityGroup
- Network.AWS.EC2.Types: instance Read ShutdownBehavior
- Network.AWS.EC2.Types: instance Read Snapshot
- Network.AWS.EC2.Types: instance Read SnapshotAttributeName
- Network.AWS.EC2.Types: instance Read SnapshotDetail
- Network.AWS.EC2.Types: instance Read SnapshotDiskContainer
- Network.AWS.EC2.Types: instance Read SnapshotState
- Network.AWS.EC2.Types: instance Read SnapshotTaskDetail
- Network.AWS.EC2.Types: instance Read SpotDatafeedSubscription
- Network.AWS.EC2.Types: instance Read SpotFleetRequestConfig
- Network.AWS.EC2.Types: instance Read SpotFleetRequestConfigData
- Network.AWS.EC2.Types: instance Read SpotInstanceRequest
- Network.AWS.EC2.Types: instance Read SpotInstanceState
- Network.AWS.EC2.Types: instance Read SpotInstanceStateFault
- Network.AWS.EC2.Types: instance Read SpotInstanceStatus
- Network.AWS.EC2.Types: instance Read SpotInstanceType
- Network.AWS.EC2.Types: instance Read SpotPlacement
- Network.AWS.EC2.Types: instance Read SpotPrice
- Network.AWS.EC2.Types: instance Read State
- Network.AWS.EC2.Types: instance Read StateReason
- Network.AWS.EC2.Types: instance Read StatusName
- Network.AWS.EC2.Types: instance Read StatusType
- Network.AWS.EC2.Types: instance Read Storage
- Network.AWS.EC2.Types: instance Read Subnet
- Network.AWS.EC2.Types: instance Read SubnetState
- Network.AWS.EC2.Types: instance Read SummaryStatus
- Network.AWS.EC2.Types: instance Read Tag
- Network.AWS.EC2.Types: instance Read TagDescription
- Network.AWS.EC2.Types: instance Read TelemetryStatus
- Network.AWS.EC2.Types: instance Read Tenancy
- Network.AWS.EC2.Types: instance Read UnsuccessfulItem
- Network.AWS.EC2.Types: instance Read UnsuccessfulItemError
- Network.AWS.EC2.Types: instance Read UserBucket
- Network.AWS.EC2.Types: instance Read UserBucketDetails
- Network.AWS.EC2.Types: instance Read UserData
- Network.AWS.EC2.Types: instance Read UserIdGroupPair
- Network.AWS.EC2.Types: instance Read VgwTelemetry
- Network.AWS.EC2.Types: instance Read VirtualizationType
- Network.AWS.EC2.Types: instance Read Volume
- Network.AWS.EC2.Types: instance Read VolumeAttachment
- Network.AWS.EC2.Types: instance Read VolumeAttachmentState
- Network.AWS.EC2.Types: instance Read VolumeAttributeName
- Network.AWS.EC2.Types: instance Read VolumeDetail
- Network.AWS.EC2.Types: instance Read VolumeState
- Network.AWS.EC2.Types: instance Read VolumeStatusAction
- Network.AWS.EC2.Types: instance Read VolumeStatusDetails
- Network.AWS.EC2.Types: instance Read VolumeStatusEvent
- Network.AWS.EC2.Types: instance Read VolumeStatusInfo
- Network.AWS.EC2.Types: instance Read VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance Read VolumeStatusItem
- Network.AWS.EC2.Types: instance Read VolumeStatusName
- Network.AWS.EC2.Types: instance Read VolumeType
- Network.AWS.EC2.Types: instance Read Vpc
- Network.AWS.EC2.Types: instance Read VpcAttachment
- Network.AWS.EC2.Types: instance Read VpcAttributeName
- Network.AWS.EC2.Types: instance Read VpcClassicLink
- Network.AWS.EC2.Types: instance Read VpcEndpoint
- Network.AWS.EC2.Types: instance Read VpcPeeringConnection
- Network.AWS.EC2.Types: instance Read VpcPeeringConnectionStateReason
- Network.AWS.EC2.Types: instance Read VpcPeeringConnectionVpcInfo
- Network.AWS.EC2.Types: instance Read VpcState
- Network.AWS.EC2.Types: instance Read VpnConnection
- Network.AWS.EC2.Types: instance Read VpnConnectionOptions
- Network.AWS.EC2.Types: instance Read VpnConnectionOptionsSpecification
- Network.AWS.EC2.Types: instance Read VpnGateway
- Network.AWS.EC2.Types: instance Read VpnState
- Network.AWS.EC2.Types: instance Read VpnStaticRoute
- Network.AWS.EC2.Types: instance Read VpnStaticRouteSource
- Network.AWS.EC2.Types: instance Real VolumeDetail
- Network.AWS.EC2.Types: instance Show AccountAttribute
- Network.AWS.EC2.Types: instance Show AccountAttributeName
- Network.AWS.EC2.Types: instance Show AccountAttributeValue
- Network.AWS.EC2.Types: instance Show ActiveInstance
- Network.AWS.EC2.Types: instance Show Address
- Network.AWS.EC2.Types: instance Show AddressStatus
- Network.AWS.EC2.Types: instance Show ArchitectureValues
- Network.AWS.EC2.Types: instance Show AttachmentStatus
- Network.AWS.EC2.Types: instance Show AttributeBooleanValue
- Network.AWS.EC2.Types: instance Show AttributeValue
- Network.AWS.EC2.Types: instance Show AvailabilityZone
- Network.AWS.EC2.Types: instance Show AvailabilityZoneMessage
- Network.AWS.EC2.Types: instance Show AvailabilityZoneState
- Network.AWS.EC2.Types: instance Show BatchState
- Network.AWS.EC2.Types: instance Show BlobAttributeValue
- Network.AWS.EC2.Types: instance Show BlockDeviceMapping
- Network.AWS.EC2.Types: instance Show BundleTask
- Network.AWS.EC2.Types: instance Show BundleTaskError
- Network.AWS.EC2.Types: instance Show BundleTaskState
- Network.AWS.EC2.Types: instance Show CancelBatchErrorCode
- Network.AWS.EC2.Types: instance Show CancelSpotFleetRequestsError
- Network.AWS.EC2.Types: instance Show CancelSpotFleetRequestsErrorItem
- Network.AWS.EC2.Types: instance Show CancelSpotFleetRequestsSuccessItem
- Network.AWS.EC2.Types: instance Show CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance Show CancelledSpotInstanceRequest
- Network.AWS.EC2.Types: instance Show ClassicLinkInstance
- Network.AWS.EC2.Types: instance Show ClientData
- Network.AWS.EC2.Types: instance Show ContainerFormat
- Network.AWS.EC2.Types: instance Show ConversionTask
- Network.AWS.EC2.Types: instance Show ConversionTaskState
- Network.AWS.EC2.Types: instance Show CreateVolumePermission
- Network.AWS.EC2.Types: instance Show CreateVolumePermissionModifications
- Network.AWS.EC2.Types: instance Show CurrencyCodeValues
- Network.AWS.EC2.Types: instance Show CustomerGateway
- Network.AWS.EC2.Types: instance Show DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance Show DeviceType
- Network.AWS.EC2.Types: instance Show DhcpConfiguration
- Network.AWS.EC2.Types: instance Show DhcpOptions
- Network.AWS.EC2.Types: instance Show DiskImage
- Network.AWS.EC2.Types: instance Show DiskImageDescription
- Network.AWS.EC2.Types: instance Show DiskImageDetail
- Network.AWS.EC2.Types: instance Show DiskImageFormat
- Network.AWS.EC2.Types: instance Show DiskImageVolumeDescription
- Network.AWS.EC2.Types: instance Show DomainType
- Network.AWS.EC2.Types: instance Show EbsBlockDevice
- Network.AWS.EC2.Types: instance Show EbsInstanceBlockDevice
- Network.AWS.EC2.Types: instance Show EbsInstanceBlockDeviceSpecification
- Network.AWS.EC2.Types: instance Show EventCode
- Network.AWS.EC2.Types: instance Show EventInformation
- Network.AWS.EC2.Types: instance Show EventType
- Network.AWS.EC2.Types: instance Show ExportEnvironment
- Network.AWS.EC2.Types: instance Show ExportTask
- Network.AWS.EC2.Types: instance Show ExportTaskState
- Network.AWS.EC2.Types: instance Show ExportToS3Task
- Network.AWS.EC2.Types: instance Show ExportToS3TaskSpecification
- Network.AWS.EC2.Types: instance Show Filter
- Network.AWS.EC2.Types: instance Show GatewayType
- Network.AWS.EC2.Types: instance Show GroupIdentifier
- Network.AWS.EC2.Types: instance Show HistoryRecord
- Network.AWS.EC2.Types: instance Show HypervisorType
- Network.AWS.EC2.Types: instance Show IamInstanceProfile
- Network.AWS.EC2.Types: instance Show IamInstanceProfileSpecification
- Network.AWS.EC2.Types: instance Show IcmpTypeCode
- Network.AWS.EC2.Types: instance Show Image
- Network.AWS.EC2.Types: instance Show ImageAttributeName
- Network.AWS.EC2.Types: instance Show ImageDiskContainer
- Network.AWS.EC2.Types: instance Show ImageState
- Network.AWS.EC2.Types: instance Show ImageTypeValues
- Network.AWS.EC2.Types: instance Show ImportImageTask
- Network.AWS.EC2.Types: instance Show ImportInstanceLaunchSpecification
- Network.AWS.EC2.Types: instance Show ImportInstanceTaskDetails
- Network.AWS.EC2.Types: instance Show ImportInstanceVolumeDetailItem
- Network.AWS.EC2.Types: instance Show ImportSnapshotTask
- Network.AWS.EC2.Types: instance Show ImportVolumeTaskDetails
- Network.AWS.EC2.Types: instance Show Instance
- Network.AWS.EC2.Types: instance Show InstanceAttributeName
- Network.AWS.EC2.Types: instance Show InstanceBlockDeviceMapping
- Network.AWS.EC2.Types: instance Show InstanceBlockDeviceMappingSpecification
- Network.AWS.EC2.Types: instance Show InstanceCount
- Network.AWS.EC2.Types: instance Show InstanceExportDetails
- Network.AWS.EC2.Types: instance Show InstanceLifecycleType
- Network.AWS.EC2.Types: instance Show InstanceMonitoring
- Network.AWS.EC2.Types: instance Show InstanceNetworkInterface
- Network.AWS.EC2.Types: instance Show InstanceNetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance Show InstanceNetworkInterfaceAttachment
- Network.AWS.EC2.Types: instance Show InstanceNetworkInterfaceSpecification
- Network.AWS.EC2.Types: instance Show InstancePrivateIpAddress
- Network.AWS.EC2.Types: instance Show InstanceState
- Network.AWS.EC2.Types: instance Show InstanceStateChange
- Network.AWS.EC2.Types: instance Show InstanceStateName
- Network.AWS.EC2.Types: instance Show InstanceStatus
- Network.AWS.EC2.Types: instance Show InstanceStatusDetails
- Network.AWS.EC2.Types: instance Show InstanceStatusEvent
- Network.AWS.EC2.Types: instance Show InstanceStatusSummary
- Network.AWS.EC2.Types: instance Show InstanceType
- Network.AWS.EC2.Types: instance Show InternetGateway
- Network.AWS.EC2.Types: instance Show InternetGatewayAttachment
- Network.AWS.EC2.Types: instance Show IpPermission
- Network.AWS.EC2.Types: instance Show IpRange
- Network.AWS.EC2.Types: instance Show KeyPairInfo
- Network.AWS.EC2.Types: instance Show LaunchPermission
- Network.AWS.EC2.Types: instance Show LaunchPermissionModifications
- Network.AWS.EC2.Types: instance Show LaunchSpecification
- Network.AWS.EC2.Types: instance Show ListingState
- Network.AWS.EC2.Types: instance Show ListingStatus
- Network.AWS.EC2.Types: instance Show Monitoring
- Network.AWS.EC2.Types: instance Show MonitoringState
- Network.AWS.EC2.Types: instance Show MoveStatus
- Network.AWS.EC2.Types: instance Show MovingAddressStatus
- Network.AWS.EC2.Types: instance Show NetworkAcl
- Network.AWS.EC2.Types: instance Show NetworkAclAssociation
- Network.AWS.EC2.Types: instance Show NetworkAclEntry
- Network.AWS.EC2.Types: instance Show NetworkInterface
- Network.AWS.EC2.Types: instance Show NetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance Show NetworkInterfaceAttachment
- Network.AWS.EC2.Types: instance Show NetworkInterfaceAttachmentChanges
- Network.AWS.EC2.Types: instance Show NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance Show NetworkInterfacePrivateIpAddress
- Network.AWS.EC2.Types: instance Show NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance Show NewDhcpConfiguration
- Network.AWS.EC2.Types: instance Show OfferingTypeValues
- Network.AWS.EC2.Types: instance Show PermissionGroup
- Network.AWS.EC2.Types: instance Show Placement
- Network.AWS.EC2.Types: instance Show PlacementGroup
- Network.AWS.EC2.Types: instance Show PlacementGroupState
- Network.AWS.EC2.Types: instance Show PlacementStrategy
- Network.AWS.EC2.Types: instance Show PlatformValues
- Network.AWS.EC2.Types: instance Show PortRange
- Network.AWS.EC2.Types: instance Show PrefixList
- Network.AWS.EC2.Types: instance Show PrefixListId
- Network.AWS.EC2.Types: instance Show PriceSchedule
- Network.AWS.EC2.Types: instance Show PriceScheduleSpecification
- Network.AWS.EC2.Types: instance Show PricingDetail
- Network.AWS.EC2.Types: instance Show PrivateIpAddressSpecification
- Network.AWS.EC2.Types: instance Show ProductCode
- Network.AWS.EC2.Types: instance Show ProductCodeValues
- Network.AWS.EC2.Types: instance Show PropagatingVgw
- Network.AWS.EC2.Types: instance Show RIProductDescription
- Network.AWS.EC2.Types: instance Show RecurringCharge
- Network.AWS.EC2.Types: instance Show RecurringChargeFrequency
- Network.AWS.EC2.Types: instance Show Region
- Network.AWS.EC2.Types: instance Show ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance Show ReportStatusType
- Network.AWS.EC2.Types: instance Show RequestSpotLaunchSpecification
- Network.AWS.EC2.Types: instance Show Reservation
- Network.AWS.EC2.Types: instance Show ReservedInstanceLimitPrice
- Network.AWS.EC2.Types: instance Show ReservedInstanceState
- Network.AWS.EC2.Types: instance Show ReservedInstances
- Network.AWS.EC2.Types: instance Show ReservedInstancesConfiguration
- Network.AWS.EC2.Types: instance Show ReservedInstancesId
- Network.AWS.EC2.Types: instance Show ReservedInstancesListing
- Network.AWS.EC2.Types: instance Show ReservedInstancesModification
- Network.AWS.EC2.Types: instance Show ReservedInstancesModificationResult
- Network.AWS.EC2.Types: instance Show ReservedInstancesOffering
- Network.AWS.EC2.Types: instance Show ResetImageAttributeName
- Network.AWS.EC2.Types: instance Show ResourceType
- Network.AWS.EC2.Types: instance Show Route
- Network.AWS.EC2.Types: instance Show RouteOrigin
- Network.AWS.EC2.Types: instance Show RouteState
- Network.AWS.EC2.Types: instance Show RouteTable
- Network.AWS.EC2.Types: instance Show RouteTableAssociation
- Network.AWS.EC2.Types: instance Show RuleAction
- Network.AWS.EC2.Types: instance Show RunInstancesMonitoringEnabled
- Network.AWS.EC2.Types: instance Show S3Storage
- Network.AWS.EC2.Types: instance Show SecurityGroup
- Network.AWS.EC2.Types: instance Show ShutdownBehavior
- Network.AWS.EC2.Types: instance Show Snapshot
- Network.AWS.EC2.Types: instance Show SnapshotAttributeName
- Network.AWS.EC2.Types: instance Show SnapshotDetail
- Network.AWS.EC2.Types: instance Show SnapshotDiskContainer
- Network.AWS.EC2.Types: instance Show SnapshotState
- Network.AWS.EC2.Types: instance Show SnapshotTaskDetail
- Network.AWS.EC2.Types: instance Show SpotDatafeedSubscription
- Network.AWS.EC2.Types: instance Show SpotFleetRequestConfig
- Network.AWS.EC2.Types: instance Show SpotFleetRequestConfigData
- Network.AWS.EC2.Types: instance Show SpotInstanceRequest
- Network.AWS.EC2.Types: instance Show SpotInstanceState
- Network.AWS.EC2.Types: instance Show SpotInstanceStateFault
- Network.AWS.EC2.Types: instance Show SpotInstanceStatus
- Network.AWS.EC2.Types: instance Show SpotInstanceType
- Network.AWS.EC2.Types: instance Show SpotPlacement
- Network.AWS.EC2.Types: instance Show SpotPrice
- Network.AWS.EC2.Types: instance Show State
- Network.AWS.EC2.Types: instance Show StateReason
- Network.AWS.EC2.Types: instance Show StatusName
- Network.AWS.EC2.Types: instance Show StatusType
- Network.AWS.EC2.Types: instance Show Storage
- Network.AWS.EC2.Types: instance Show Subnet
- Network.AWS.EC2.Types: instance Show SubnetState
- Network.AWS.EC2.Types: instance Show SummaryStatus
- Network.AWS.EC2.Types: instance Show Tag
- Network.AWS.EC2.Types: instance Show TagDescription
- Network.AWS.EC2.Types: instance Show TelemetryStatus
- Network.AWS.EC2.Types: instance Show Tenancy
- Network.AWS.EC2.Types: instance Show UnsuccessfulItem
- Network.AWS.EC2.Types: instance Show UnsuccessfulItemError
- Network.AWS.EC2.Types: instance Show UserBucket
- Network.AWS.EC2.Types: instance Show UserBucketDetails
- Network.AWS.EC2.Types: instance Show UserData
- Network.AWS.EC2.Types: instance Show UserIdGroupPair
- Network.AWS.EC2.Types: instance Show VgwTelemetry
- Network.AWS.EC2.Types: instance Show VirtualizationType
- Network.AWS.EC2.Types: instance Show Volume
- Network.AWS.EC2.Types: instance Show VolumeAttachment
- Network.AWS.EC2.Types: instance Show VolumeAttachmentState
- Network.AWS.EC2.Types: instance Show VolumeAttributeName
- Network.AWS.EC2.Types: instance Show VolumeDetail
- Network.AWS.EC2.Types: instance Show VolumeState
- Network.AWS.EC2.Types: instance Show VolumeStatusAction
- Network.AWS.EC2.Types: instance Show VolumeStatusDetails
- Network.AWS.EC2.Types: instance Show VolumeStatusEvent
- Network.AWS.EC2.Types: instance Show VolumeStatusInfo
- Network.AWS.EC2.Types: instance Show VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance Show VolumeStatusItem
- Network.AWS.EC2.Types: instance Show VolumeStatusName
- Network.AWS.EC2.Types: instance Show VolumeType
- Network.AWS.EC2.Types: instance Show Vpc
- Network.AWS.EC2.Types: instance Show VpcAttachment
- Network.AWS.EC2.Types: instance Show VpcAttributeName
- Network.AWS.EC2.Types: instance Show VpcClassicLink
- Network.AWS.EC2.Types: instance Show VpcEndpoint
- Network.AWS.EC2.Types: instance Show VpcPeeringConnection
- Network.AWS.EC2.Types: instance Show VpcPeeringConnectionStateReason
- Network.AWS.EC2.Types: instance Show VpcPeeringConnectionVpcInfo
- Network.AWS.EC2.Types: instance Show VpcState
- Network.AWS.EC2.Types: instance Show VpnConnection
- Network.AWS.EC2.Types: instance Show VpnConnectionOptions
- Network.AWS.EC2.Types: instance Show VpnConnectionOptionsSpecification
- Network.AWS.EC2.Types: instance Show VpnGateway
- Network.AWS.EC2.Types: instance Show VpnState
- Network.AWS.EC2.Types: instance Show VpnStaticRoute
- Network.AWS.EC2.Types: instance Show VpnStaticRouteSource
- Network.AWS.EC2.Types: instance ToByteString AccountAttributeName
- Network.AWS.EC2.Types: instance ToByteString AddressStatus
- Network.AWS.EC2.Types: instance ToByteString ArchitectureValues
- Network.AWS.EC2.Types: instance ToByteString AttachmentStatus
- Network.AWS.EC2.Types: instance ToByteString AvailabilityZoneState
- Network.AWS.EC2.Types: instance ToByteString BatchState
- Network.AWS.EC2.Types: instance ToByteString BundleTaskState
- Network.AWS.EC2.Types: instance ToByteString CancelBatchErrorCode
- Network.AWS.EC2.Types: instance ToByteString CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance ToByteString ContainerFormat
- Network.AWS.EC2.Types: instance ToByteString ConversionTaskState
- Network.AWS.EC2.Types: instance ToByteString CurrencyCodeValues
- Network.AWS.EC2.Types: instance ToByteString DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance ToByteString DeviceType
- Network.AWS.EC2.Types: instance ToByteString DiskImageFormat
- Network.AWS.EC2.Types: instance ToByteString DomainType
- Network.AWS.EC2.Types: instance ToByteString EventCode
- Network.AWS.EC2.Types: instance ToByteString EventType
- Network.AWS.EC2.Types: instance ToByteString ExportEnvironment
- Network.AWS.EC2.Types: instance ToByteString ExportTaskState
- Network.AWS.EC2.Types: instance ToByteString GatewayType
- Network.AWS.EC2.Types: instance ToByteString HypervisorType
- Network.AWS.EC2.Types: instance ToByteString ImageAttributeName
- Network.AWS.EC2.Types: instance ToByteString ImageState
- Network.AWS.EC2.Types: instance ToByteString ImageTypeValues
- Network.AWS.EC2.Types: instance ToByteString InstanceAttributeName
- Network.AWS.EC2.Types: instance ToByteString InstanceLifecycleType
- Network.AWS.EC2.Types: instance ToByteString InstanceStateName
- Network.AWS.EC2.Types: instance ToByteString InstanceType
- Network.AWS.EC2.Types: instance ToByteString ListingState
- Network.AWS.EC2.Types: instance ToByteString ListingStatus
- Network.AWS.EC2.Types: instance ToByteString MonitoringState
- Network.AWS.EC2.Types: instance ToByteString MoveStatus
- Network.AWS.EC2.Types: instance ToByteString NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance ToByteString NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance ToByteString OfferingTypeValues
- Network.AWS.EC2.Types: instance ToByteString PermissionGroup
- Network.AWS.EC2.Types: instance ToByteString PlacementGroupState
- Network.AWS.EC2.Types: instance ToByteString PlacementStrategy
- Network.AWS.EC2.Types: instance ToByteString PlatformValues
- Network.AWS.EC2.Types: instance ToByteString ProductCodeValues
- Network.AWS.EC2.Types: instance ToByteString RIProductDescription
- Network.AWS.EC2.Types: instance ToByteString RecurringChargeFrequency
- Network.AWS.EC2.Types: instance ToByteString ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance ToByteString ReportStatusType
- Network.AWS.EC2.Types: instance ToByteString ReservedInstanceState
- Network.AWS.EC2.Types: instance ToByteString ResetImageAttributeName
- Network.AWS.EC2.Types: instance ToByteString ResourceType
- Network.AWS.EC2.Types: instance ToByteString RouteOrigin
- Network.AWS.EC2.Types: instance ToByteString RouteState
- Network.AWS.EC2.Types: instance ToByteString RuleAction
- Network.AWS.EC2.Types: instance ToByteString ShutdownBehavior
- Network.AWS.EC2.Types: instance ToByteString SnapshotAttributeName
- Network.AWS.EC2.Types: instance ToByteString SnapshotState
- Network.AWS.EC2.Types: instance ToByteString SpotInstanceState
- Network.AWS.EC2.Types: instance ToByteString SpotInstanceType
- Network.AWS.EC2.Types: instance ToByteString State
- Network.AWS.EC2.Types: instance ToByteString StatusName
- Network.AWS.EC2.Types: instance ToByteString StatusType
- Network.AWS.EC2.Types: instance ToByteString SubnetState
- Network.AWS.EC2.Types: instance ToByteString SummaryStatus
- Network.AWS.EC2.Types: instance ToByteString TelemetryStatus
- Network.AWS.EC2.Types: instance ToByteString Tenancy
- Network.AWS.EC2.Types: instance ToByteString VirtualizationType
- Network.AWS.EC2.Types: instance ToByteString VolumeAttachmentState
- Network.AWS.EC2.Types: instance ToByteString VolumeAttributeName
- Network.AWS.EC2.Types: instance ToByteString VolumeState
- Network.AWS.EC2.Types: instance ToByteString VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance ToByteString VolumeStatusName
- Network.AWS.EC2.Types: instance ToByteString VolumeType
- Network.AWS.EC2.Types: instance ToByteString VpcAttributeName
- Network.AWS.EC2.Types: instance ToByteString VpcState
- Network.AWS.EC2.Types: instance ToByteString VpnState
- Network.AWS.EC2.Types: instance ToByteString VpnStaticRouteSource
- Network.AWS.EC2.Types: instance ToHeader AccountAttributeName
- Network.AWS.EC2.Types: instance ToHeader AddressStatus
- Network.AWS.EC2.Types: instance ToHeader ArchitectureValues
- Network.AWS.EC2.Types: instance ToHeader AttachmentStatus
- Network.AWS.EC2.Types: instance ToHeader AvailabilityZoneState
- Network.AWS.EC2.Types: instance ToHeader BatchState
- Network.AWS.EC2.Types: instance ToHeader BundleTaskState
- Network.AWS.EC2.Types: instance ToHeader CancelBatchErrorCode
- Network.AWS.EC2.Types: instance ToHeader CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance ToHeader ContainerFormat
- Network.AWS.EC2.Types: instance ToHeader ConversionTaskState
- Network.AWS.EC2.Types: instance ToHeader CurrencyCodeValues
- Network.AWS.EC2.Types: instance ToHeader DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance ToHeader DeviceType
- Network.AWS.EC2.Types: instance ToHeader DiskImageFormat
- Network.AWS.EC2.Types: instance ToHeader DomainType
- Network.AWS.EC2.Types: instance ToHeader EventCode
- Network.AWS.EC2.Types: instance ToHeader EventType
- Network.AWS.EC2.Types: instance ToHeader ExportEnvironment
- Network.AWS.EC2.Types: instance ToHeader ExportTaskState
- Network.AWS.EC2.Types: instance ToHeader GatewayType
- Network.AWS.EC2.Types: instance ToHeader HypervisorType
- Network.AWS.EC2.Types: instance ToHeader ImageAttributeName
- Network.AWS.EC2.Types: instance ToHeader ImageState
- Network.AWS.EC2.Types: instance ToHeader ImageTypeValues
- Network.AWS.EC2.Types: instance ToHeader InstanceAttributeName
- Network.AWS.EC2.Types: instance ToHeader InstanceLifecycleType
- Network.AWS.EC2.Types: instance ToHeader InstanceStateName
- Network.AWS.EC2.Types: instance ToHeader InstanceType
- Network.AWS.EC2.Types: instance ToHeader ListingState
- Network.AWS.EC2.Types: instance ToHeader ListingStatus
- Network.AWS.EC2.Types: instance ToHeader MonitoringState
- Network.AWS.EC2.Types: instance ToHeader MoveStatus
- Network.AWS.EC2.Types: instance ToHeader NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance ToHeader NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance ToHeader OfferingTypeValues
- Network.AWS.EC2.Types: instance ToHeader PermissionGroup
- Network.AWS.EC2.Types: instance ToHeader PlacementGroupState
- Network.AWS.EC2.Types: instance ToHeader PlacementStrategy
- Network.AWS.EC2.Types: instance ToHeader PlatformValues
- Network.AWS.EC2.Types: instance ToHeader ProductCodeValues
- Network.AWS.EC2.Types: instance ToHeader RIProductDescription
- Network.AWS.EC2.Types: instance ToHeader RecurringChargeFrequency
- Network.AWS.EC2.Types: instance ToHeader ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance ToHeader ReportStatusType
- Network.AWS.EC2.Types: instance ToHeader ReservedInstanceState
- Network.AWS.EC2.Types: instance ToHeader ResetImageAttributeName
- Network.AWS.EC2.Types: instance ToHeader ResourceType
- Network.AWS.EC2.Types: instance ToHeader RouteOrigin
- Network.AWS.EC2.Types: instance ToHeader RouteState
- Network.AWS.EC2.Types: instance ToHeader RuleAction
- Network.AWS.EC2.Types: instance ToHeader ShutdownBehavior
- Network.AWS.EC2.Types: instance ToHeader SnapshotAttributeName
- Network.AWS.EC2.Types: instance ToHeader SnapshotState
- Network.AWS.EC2.Types: instance ToHeader SpotInstanceState
- Network.AWS.EC2.Types: instance ToHeader SpotInstanceType
- Network.AWS.EC2.Types: instance ToHeader State
- Network.AWS.EC2.Types: instance ToHeader StatusName
- Network.AWS.EC2.Types: instance ToHeader StatusType
- Network.AWS.EC2.Types: instance ToHeader SubnetState
- Network.AWS.EC2.Types: instance ToHeader SummaryStatus
- Network.AWS.EC2.Types: instance ToHeader TelemetryStatus
- Network.AWS.EC2.Types: instance ToHeader Tenancy
- Network.AWS.EC2.Types: instance ToHeader VirtualizationType
- Network.AWS.EC2.Types: instance ToHeader VolumeAttachmentState
- Network.AWS.EC2.Types: instance ToHeader VolumeAttributeName
- Network.AWS.EC2.Types: instance ToHeader VolumeState
- Network.AWS.EC2.Types: instance ToHeader VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance ToHeader VolumeStatusName
- Network.AWS.EC2.Types: instance ToHeader VolumeType
- Network.AWS.EC2.Types: instance ToHeader VpcAttributeName
- Network.AWS.EC2.Types: instance ToHeader VpcState
- Network.AWS.EC2.Types: instance ToHeader VpnState
- Network.AWS.EC2.Types: instance ToHeader VpnStaticRouteSource
- Network.AWS.EC2.Types: instance ToQuery AccountAttribute
- Network.AWS.EC2.Types: instance ToQuery AccountAttributeName
- Network.AWS.EC2.Types: instance ToQuery AccountAttributeValue
- Network.AWS.EC2.Types: instance ToQuery ActiveInstance
- Network.AWS.EC2.Types: instance ToQuery Address
- Network.AWS.EC2.Types: instance ToQuery AddressStatus
- Network.AWS.EC2.Types: instance ToQuery ArchitectureValues
- Network.AWS.EC2.Types: instance ToQuery AttachmentStatus
- Network.AWS.EC2.Types: instance ToQuery AttributeBooleanValue
- Network.AWS.EC2.Types: instance ToQuery AttributeValue
- Network.AWS.EC2.Types: instance ToQuery AvailabilityZone
- Network.AWS.EC2.Types: instance ToQuery AvailabilityZoneMessage
- Network.AWS.EC2.Types: instance ToQuery AvailabilityZoneState
- Network.AWS.EC2.Types: instance ToQuery BatchState
- Network.AWS.EC2.Types: instance ToQuery BlobAttributeValue
- Network.AWS.EC2.Types: instance ToQuery BlockDeviceMapping
- Network.AWS.EC2.Types: instance ToQuery BundleTask
- Network.AWS.EC2.Types: instance ToQuery BundleTaskError
- Network.AWS.EC2.Types: instance ToQuery BundleTaskState
- Network.AWS.EC2.Types: instance ToQuery CancelBatchErrorCode
- Network.AWS.EC2.Types: instance ToQuery CancelSpotFleetRequestsError
- Network.AWS.EC2.Types: instance ToQuery CancelSpotFleetRequestsErrorItem
- Network.AWS.EC2.Types: instance ToQuery CancelSpotFleetRequestsSuccessItem
- Network.AWS.EC2.Types: instance ToQuery CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance ToQuery CancelledSpotInstanceRequest
- Network.AWS.EC2.Types: instance ToQuery ClassicLinkInstance
- Network.AWS.EC2.Types: instance ToQuery ClientData
- Network.AWS.EC2.Types: instance ToQuery ContainerFormat
- Network.AWS.EC2.Types: instance ToQuery ConversionTask
- Network.AWS.EC2.Types: instance ToQuery ConversionTaskState
- Network.AWS.EC2.Types: instance ToQuery CreateVolumePermission
- Network.AWS.EC2.Types: instance ToQuery CreateVolumePermissionModifications
- Network.AWS.EC2.Types: instance ToQuery CurrencyCodeValues
- Network.AWS.EC2.Types: instance ToQuery CustomerGateway
- Network.AWS.EC2.Types: instance ToQuery DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance ToQuery DeviceType
- Network.AWS.EC2.Types: instance ToQuery DhcpConfiguration
- Network.AWS.EC2.Types: instance ToQuery DhcpOptions
- Network.AWS.EC2.Types: instance ToQuery DiskImage
- Network.AWS.EC2.Types: instance ToQuery DiskImageDescription
- Network.AWS.EC2.Types: instance ToQuery DiskImageDetail
- Network.AWS.EC2.Types: instance ToQuery DiskImageFormat
- Network.AWS.EC2.Types: instance ToQuery DiskImageVolumeDescription
- Network.AWS.EC2.Types: instance ToQuery DomainType
- Network.AWS.EC2.Types: instance ToQuery EbsBlockDevice
- Network.AWS.EC2.Types: instance ToQuery EbsInstanceBlockDevice
- Network.AWS.EC2.Types: instance ToQuery EbsInstanceBlockDeviceSpecification
- Network.AWS.EC2.Types: instance ToQuery EventCode
- Network.AWS.EC2.Types: instance ToQuery EventInformation
- Network.AWS.EC2.Types: instance ToQuery EventType
- Network.AWS.EC2.Types: instance ToQuery ExportEnvironment
- Network.AWS.EC2.Types: instance ToQuery ExportTask
- Network.AWS.EC2.Types: instance ToQuery ExportTaskState
- Network.AWS.EC2.Types: instance ToQuery ExportToS3Task
- Network.AWS.EC2.Types: instance ToQuery ExportToS3TaskSpecification
- Network.AWS.EC2.Types: instance ToQuery Filter
- Network.AWS.EC2.Types: instance ToQuery GatewayType
- Network.AWS.EC2.Types: instance ToQuery GroupIdentifier
- Network.AWS.EC2.Types: instance ToQuery HistoryRecord
- Network.AWS.EC2.Types: instance ToQuery HypervisorType
- Network.AWS.EC2.Types: instance ToQuery IamInstanceProfile
- Network.AWS.EC2.Types: instance ToQuery IamInstanceProfileSpecification
- Network.AWS.EC2.Types: instance ToQuery IcmpTypeCode
- Network.AWS.EC2.Types: instance ToQuery Image
- Network.AWS.EC2.Types: instance ToQuery ImageAttributeName
- Network.AWS.EC2.Types: instance ToQuery ImageDiskContainer
- Network.AWS.EC2.Types: instance ToQuery ImageState
- Network.AWS.EC2.Types: instance ToQuery ImageTypeValues
- Network.AWS.EC2.Types: instance ToQuery ImportImageTask
- Network.AWS.EC2.Types: instance ToQuery ImportInstanceLaunchSpecification
- Network.AWS.EC2.Types: instance ToQuery ImportInstanceTaskDetails
- Network.AWS.EC2.Types: instance ToQuery ImportInstanceVolumeDetailItem
- Network.AWS.EC2.Types: instance ToQuery ImportSnapshotTask
- Network.AWS.EC2.Types: instance ToQuery ImportVolumeTaskDetails
- Network.AWS.EC2.Types: instance ToQuery Instance
- Network.AWS.EC2.Types: instance ToQuery InstanceAttributeName
- Network.AWS.EC2.Types: instance ToQuery InstanceBlockDeviceMapping
- Network.AWS.EC2.Types: instance ToQuery InstanceBlockDeviceMappingSpecification
- Network.AWS.EC2.Types: instance ToQuery InstanceCount
- Network.AWS.EC2.Types: instance ToQuery InstanceExportDetails
- Network.AWS.EC2.Types: instance ToQuery InstanceLifecycleType
- Network.AWS.EC2.Types: instance ToQuery InstanceMonitoring
- Network.AWS.EC2.Types: instance ToQuery InstanceNetworkInterface
- Network.AWS.EC2.Types: instance ToQuery InstanceNetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance ToQuery InstanceNetworkInterfaceAttachment
- Network.AWS.EC2.Types: instance ToQuery InstanceNetworkInterfaceSpecification
- Network.AWS.EC2.Types: instance ToQuery InstancePrivateIpAddress
- Network.AWS.EC2.Types: instance ToQuery InstanceState
- Network.AWS.EC2.Types: instance ToQuery InstanceStateChange
- Network.AWS.EC2.Types: instance ToQuery InstanceStateName
- Network.AWS.EC2.Types: instance ToQuery InstanceStatus
- Network.AWS.EC2.Types: instance ToQuery InstanceStatusDetails
- Network.AWS.EC2.Types: instance ToQuery InstanceStatusEvent
- Network.AWS.EC2.Types: instance ToQuery InstanceStatusSummary
- Network.AWS.EC2.Types: instance ToQuery InstanceType
- Network.AWS.EC2.Types: instance ToQuery InternetGateway
- Network.AWS.EC2.Types: instance ToQuery InternetGatewayAttachment
- Network.AWS.EC2.Types: instance ToQuery IpPermission
- Network.AWS.EC2.Types: instance ToQuery IpRange
- Network.AWS.EC2.Types: instance ToQuery KeyPairInfo
- Network.AWS.EC2.Types: instance ToQuery LaunchPermission
- Network.AWS.EC2.Types: instance ToQuery LaunchPermissionModifications
- Network.AWS.EC2.Types: instance ToQuery LaunchSpecification
- Network.AWS.EC2.Types: instance ToQuery ListingState
- Network.AWS.EC2.Types: instance ToQuery ListingStatus
- Network.AWS.EC2.Types: instance ToQuery Monitoring
- Network.AWS.EC2.Types: instance ToQuery MonitoringState
- Network.AWS.EC2.Types: instance ToQuery MoveStatus
- Network.AWS.EC2.Types: instance ToQuery MovingAddressStatus
- Network.AWS.EC2.Types: instance ToQuery NetworkAcl
- Network.AWS.EC2.Types: instance ToQuery NetworkAclAssociation
- Network.AWS.EC2.Types: instance ToQuery NetworkAclEntry
- Network.AWS.EC2.Types: instance ToQuery NetworkInterface
- Network.AWS.EC2.Types: instance ToQuery NetworkInterfaceAssociation
- Network.AWS.EC2.Types: instance ToQuery NetworkInterfaceAttachment
- Network.AWS.EC2.Types: instance ToQuery NetworkInterfaceAttachmentChanges
- Network.AWS.EC2.Types: instance ToQuery NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance ToQuery NetworkInterfacePrivateIpAddress
- Network.AWS.EC2.Types: instance ToQuery NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance ToQuery NewDhcpConfiguration
- Network.AWS.EC2.Types: instance ToQuery OfferingTypeValues
- Network.AWS.EC2.Types: instance ToQuery PermissionGroup
- Network.AWS.EC2.Types: instance ToQuery Placement
- Network.AWS.EC2.Types: instance ToQuery PlacementGroup
- Network.AWS.EC2.Types: instance ToQuery PlacementGroupState
- Network.AWS.EC2.Types: instance ToQuery PlacementStrategy
- Network.AWS.EC2.Types: instance ToQuery PlatformValues
- Network.AWS.EC2.Types: instance ToQuery PortRange
- Network.AWS.EC2.Types: instance ToQuery PrefixList
- Network.AWS.EC2.Types: instance ToQuery PrefixListId
- Network.AWS.EC2.Types: instance ToQuery PriceSchedule
- Network.AWS.EC2.Types: instance ToQuery PriceScheduleSpecification
- Network.AWS.EC2.Types: instance ToQuery PricingDetail
- Network.AWS.EC2.Types: instance ToQuery PrivateIpAddressSpecification
- Network.AWS.EC2.Types: instance ToQuery ProductCode
- Network.AWS.EC2.Types: instance ToQuery ProductCodeValues
- Network.AWS.EC2.Types: instance ToQuery PropagatingVgw
- Network.AWS.EC2.Types: instance ToQuery RIProductDescription
- Network.AWS.EC2.Types: instance ToQuery RecurringCharge
- Network.AWS.EC2.Types: instance ToQuery RecurringChargeFrequency
- Network.AWS.EC2.Types: instance ToQuery Region
- Network.AWS.EC2.Types: instance ToQuery ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance ToQuery ReportStatusType
- Network.AWS.EC2.Types: instance ToQuery RequestSpotLaunchSpecification
- Network.AWS.EC2.Types: instance ToQuery Reservation
- Network.AWS.EC2.Types: instance ToQuery ReservedInstanceLimitPrice
- Network.AWS.EC2.Types: instance ToQuery ReservedInstanceState
- Network.AWS.EC2.Types: instance ToQuery ReservedInstances
- Network.AWS.EC2.Types: instance ToQuery ReservedInstancesConfiguration
- Network.AWS.EC2.Types: instance ToQuery ReservedInstancesId
- Network.AWS.EC2.Types: instance ToQuery ReservedInstancesListing
- Network.AWS.EC2.Types: instance ToQuery ReservedInstancesModification
- Network.AWS.EC2.Types: instance ToQuery ReservedInstancesModificationResult
- Network.AWS.EC2.Types: instance ToQuery ReservedInstancesOffering
- Network.AWS.EC2.Types: instance ToQuery ResetImageAttributeName
- Network.AWS.EC2.Types: instance ToQuery ResourceType
- Network.AWS.EC2.Types: instance ToQuery Route
- Network.AWS.EC2.Types: instance ToQuery RouteOrigin
- Network.AWS.EC2.Types: instance ToQuery RouteState
- Network.AWS.EC2.Types: instance ToQuery RouteTable
- Network.AWS.EC2.Types: instance ToQuery RouteTableAssociation
- Network.AWS.EC2.Types: instance ToQuery RuleAction
- Network.AWS.EC2.Types: instance ToQuery RunInstancesMonitoringEnabled
- Network.AWS.EC2.Types: instance ToQuery S3Storage
- Network.AWS.EC2.Types: instance ToQuery SecurityGroup
- Network.AWS.EC2.Types: instance ToQuery ShutdownBehavior
- Network.AWS.EC2.Types: instance ToQuery Snapshot
- Network.AWS.EC2.Types: instance ToQuery SnapshotAttributeName
- Network.AWS.EC2.Types: instance ToQuery SnapshotDetail
- Network.AWS.EC2.Types: instance ToQuery SnapshotDiskContainer
- Network.AWS.EC2.Types: instance ToQuery SnapshotState
- Network.AWS.EC2.Types: instance ToQuery SnapshotTaskDetail
- Network.AWS.EC2.Types: instance ToQuery SpotDatafeedSubscription
- Network.AWS.EC2.Types: instance ToQuery SpotFleetRequestConfig
- Network.AWS.EC2.Types: instance ToQuery SpotFleetRequestConfigData
- Network.AWS.EC2.Types: instance ToQuery SpotInstanceRequest
- Network.AWS.EC2.Types: instance ToQuery SpotInstanceState
- Network.AWS.EC2.Types: instance ToQuery SpotInstanceStateFault
- Network.AWS.EC2.Types: instance ToQuery SpotInstanceStatus
- Network.AWS.EC2.Types: instance ToQuery SpotInstanceType
- Network.AWS.EC2.Types: instance ToQuery SpotPlacement
- Network.AWS.EC2.Types: instance ToQuery SpotPrice
- Network.AWS.EC2.Types: instance ToQuery State
- Network.AWS.EC2.Types: instance ToQuery StateReason
- Network.AWS.EC2.Types: instance ToQuery StatusName
- Network.AWS.EC2.Types: instance ToQuery StatusType
- Network.AWS.EC2.Types: instance ToQuery Storage
- Network.AWS.EC2.Types: instance ToQuery Subnet
- Network.AWS.EC2.Types: instance ToQuery SubnetState
- Network.AWS.EC2.Types: instance ToQuery SummaryStatus
- Network.AWS.EC2.Types: instance ToQuery Tag
- Network.AWS.EC2.Types: instance ToQuery TagDescription
- Network.AWS.EC2.Types: instance ToQuery TelemetryStatus
- Network.AWS.EC2.Types: instance ToQuery Tenancy
- Network.AWS.EC2.Types: instance ToQuery UnsuccessfulItem
- Network.AWS.EC2.Types: instance ToQuery UnsuccessfulItemError
- Network.AWS.EC2.Types: instance ToQuery UserBucket
- Network.AWS.EC2.Types: instance ToQuery UserBucketDetails
- Network.AWS.EC2.Types: instance ToQuery UserData
- Network.AWS.EC2.Types: instance ToQuery UserIdGroupPair
- Network.AWS.EC2.Types: instance ToQuery VgwTelemetry
- Network.AWS.EC2.Types: instance ToQuery VirtualizationType
- Network.AWS.EC2.Types: instance ToQuery Volume
- Network.AWS.EC2.Types: instance ToQuery VolumeAttachment
- Network.AWS.EC2.Types: instance ToQuery VolumeAttachmentState
- Network.AWS.EC2.Types: instance ToQuery VolumeAttributeName
- Network.AWS.EC2.Types: instance ToQuery VolumeDetail
- Network.AWS.EC2.Types: instance ToQuery VolumeState
- Network.AWS.EC2.Types: instance ToQuery VolumeStatusAction
- Network.AWS.EC2.Types: instance ToQuery VolumeStatusDetails
- Network.AWS.EC2.Types: instance ToQuery VolumeStatusEvent
- Network.AWS.EC2.Types: instance ToQuery VolumeStatusInfo
- Network.AWS.EC2.Types: instance ToQuery VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance ToQuery VolumeStatusItem
- Network.AWS.EC2.Types: instance ToQuery VolumeStatusName
- Network.AWS.EC2.Types: instance ToQuery VolumeType
- Network.AWS.EC2.Types: instance ToQuery Vpc
- Network.AWS.EC2.Types: instance ToQuery VpcAttachment
- Network.AWS.EC2.Types: instance ToQuery VpcAttributeName
- Network.AWS.EC2.Types: instance ToQuery VpcClassicLink
- Network.AWS.EC2.Types: instance ToQuery VpcEndpoint
- Network.AWS.EC2.Types: instance ToQuery VpcPeeringConnection
- Network.AWS.EC2.Types: instance ToQuery VpcPeeringConnectionStateReason
- Network.AWS.EC2.Types: instance ToQuery VpcPeeringConnectionVpcInfo
- Network.AWS.EC2.Types: instance ToQuery VpcState
- Network.AWS.EC2.Types: instance ToQuery VpnConnection
- Network.AWS.EC2.Types: instance ToQuery VpnConnectionOptions
- Network.AWS.EC2.Types: instance ToQuery VpnConnectionOptionsSpecification
- Network.AWS.EC2.Types: instance ToQuery VpnGateway
- Network.AWS.EC2.Types: instance ToQuery VpnState
- Network.AWS.EC2.Types: instance ToQuery VpnStaticRoute
- Network.AWS.EC2.Types: instance ToQuery VpnStaticRouteSource
- Network.AWS.EC2.Types: instance ToText AccountAttributeName
- Network.AWS.EC2.Types: instance ToText AddressStatus
- Network.AWS.EC2.Types: instance ToText ArchitectureValues
- Network.AWS.EC2.Types: instance ToText AttachmentStatus
- Network.AWS.EC2.Types: instance ToText AvailabilityZoneState
- Network.AWS.EC2.Types: instance ToText BatchState
- Network.AWS.EC2.Types: instance ToText BundleTaskState
- Network.AWS.EC2.Types: instance ToText CancelBatchErrorCode
- Network.AWS.EC2.Types: instance ToText CancelSpotInstanceRequestState
- Network.AWS.EC2.Types: instance ToText ContainerFormat
- Network.AWS.EC2.Types: instance ToText ConversionTaskState
- Network.AWS.EC2.Types: instance ToText CurrencyCodeValues
- Network.AWS.EC2.Types: instance ToText DatafeedSubscriptionState
- Network.AWS.EC2.Types: instance ToText DeviceType
- Network.AWS.EC2.Types: instance ToText DiskImageFormat
- Network.AWS.EC2.Types: instance ToText DomainType
- Network.AWS.EC2.Types: instance ToText EventCode
- Network.AWS.EC2.Types: instance ToText EventType
- Network.AWS.EC2.Types: instance ToText ExportEnvironment
- Network.AWS.EC2.Types: instance ToText ExportTaskState
- Network.AWS.EC2.Types: instance ToText GatewayType
- Network.AWS.EC2.Types: instance ToText HypervisorType
- Network.AWS.EC2.Types: instance ToText ImageAttributeName
- Network.AWS.EC2.Types: instance ToText ImageState
- Network.AWS.EC2.Types: instance ToText ImageTypeValues
- Network.AWS.EC2.Types: instance ToText InstanceAttributeName
- Network.AWS.EC2.Types: instance ToText InstanceLifecycleType
- Network.AWS.EC2.Types: instance ToText InstanceStateName
- Network.AWS.EC2.Types: instance ToText InstanceType
- Network.AWS.EC2.Types: instance ToText ListingState
- Network.AWS.EC2.Types: instance ToText ListingStatus
- Network.AWS.EC2.Types: instance ToText MonitoringState
- Network.AWS.EC2.Types: instance ToText MoveStatus
- Network.AWS.EC2.Types: instance ToText NetworkInterfaceAttribute
- Network.AWS.EC2.Types: instance ToText NetworkInterfaceStatus
- Network.AWS.EC2.Types: instance ToText OfferingTypeValues
- Network.AWS.EC2.Types: instance ToText PermissionGroup
- Network.AWS.EC2.Types: instance ToText PlacementGroupState
- Network.AWS.EC2.Types: instance ToText PlacementStrategy
- Network.AWS.EC2.Types: instance ToText PlatformValues
- Network.AWS.EC2.Types: instance ToText ProductCodeValues
- Network.AWS.EC2.Types: instance ToText RIProductDescription
- Network.AWS.EC2.Types: instance ToText RecurringChargeFrequency
- Network.AWS.EC2.Types: instance ToText ReportInstanceReasonCodes
- Network.AWS.EC2.Types: instance ToText ReportStatusType
- Network.AWS.EC2.Types: instance ToText ReservedInstanceState
- Network.AWS.EC2.Types: instance ToText ResetImageAttributeName
- Network.AWS.EC2.Types: instance ToText ResourceType
- Network.AWS.EC2.Types: instance ToText RouteOrigin
- Network.AWS.EC2.Types: instance ToText RouteState
- Network.AWS.EC2.Types: instance ToText RuleAction
- Network.AWS.EC2.Types: instance ToText ShutdownBehavior
- Network.AWS.EC2.Types: instance ToText SnapshotAttributeName
- Network.AWS.EC2.Types: instance ToText SnapshotState
- Network.AWS.EC2.Types: instance ToText SpotInstanceState
- Network.AWS.EC2.Types: instance ToText SpotInstanceType
- Network.AWS.EC2.Types: instance ToText State
- Network.AWS.EC2.Types: instance ToText StatusName
- Network.AWS.EC2.Types: instance ToText StatusType
- Network.AWS.EC2.Types: instance ToText SubnetState
- Network.AWS.EC2.Types: instance ToText SummaryStatus
- Network.AWS.EC2.Types: instance ToText TelemetryStatus
- Network.AWS.EC2.Types: instance ToText Tenancy
- Network.AWS.EC2.Types: instance ToText VirtualizationType
- Network.AWS.EC2.Types: instance ToText VolumeAttachmentState
- Network.AWS.EC2.Types: instance ToText VolumeAttributeName
- Network.AWS.EC2.Types: instance ToText VolumeState
- Network.AWS.EC2.Types: instance ToText VolumeStatusInfoStatus
- Network.AWS.EC2.Types: instance ToText VolumeStatusName
- Network.AWS.EC2.Types: instance ToText VolumeType
- Network.AWS.EC2.Types: instance ToText VpcAttributeName
- Network.AWS.EC2.Types: instance ToText VpcState
- Network.AWS.EC2.Types: instance ToText VpnState
- Network.AWS.EC2.Types: instance ToText VpnStaticRouteSource
- Network.AWS.EC2.Types: instancePrivateIpAddress :: InstancePrivateIpAddress
- Network.AWS.EC2.Types: ipIpProtocol :: Lens' IpPermission Text
- Network.AWS.EC2.Types: ipIpRanges :: Lens' IpPermission [IpRange]
- Network.AWS.EC2.Types: ipiaPrivateDnsName :: Lens' InstancePrivateIpAddress (Maybe Text)
- Network.AWS.EC2.Types: ipiaPrivateIpAddress :: Lens' InstancePrivateIpAddress (Maybe Text)
- Network.AWS.EC2.Types: irCidrIp :: Lens' IpRange Text
- Network.AWS.EC2.Types: lsEbsOptimized :: Lens' LaunchSpecification (Maybe Bool)
- Network.AWS.EC2.Types: lsIamInstanceProfile :: Lens' LaunchSpecification (Maybe IamInstanceProfileSpecification)
- Network.AWS.EC2.Types: lsRamdiskId :: Lens' LaunchSpecification (Maybe Text)
- Network.AWS.EC2.Types: masPublicIp :: Lens' MovingAddressStatus (Maybe Text)
- Network.AWS.EC2.Types: msgCode :: Lens' Message (Maybe ErrorCode)
- Network.AWS.EC2.Types: msgMessage :: Lens' Message Text
- Network.AWS.EC2.Types: naNetworkAclId :: Lens' NetworkAcl (Maybe Text)
- Network.AWS.EC2.Types: naVpcId :: Lens' NetworkAcl (Maybe Text)
- Network.AWS.EC2.Types: naaNetworkAclAssociationId :: Lens' NetworkAclAssociation (Maybe Text)
- Network.AWS.EC2.Types: naaNetworkAclId :: Lens' NetworkAclAssociation (Maybe Text)
- Network.AWS.EC2.Types: naeCidrBlock :: Lens' NetworkAclEntry (Maybe Text)
- Network.AWS.EC2.Types: naeIcmpTypeCode :: Lens' NetworkAclEntry (Maybe IcmpTypeCode)
- Network.AWS.EC2.Types: networkAcl :: NetworkAcl
- Network.AWS.EC2.Types: networkAclAssociation :: NetworkAclAssociation
- Network.AWS.EC2.Types: networkAclEntry :: NetworkAclEntry
- Network.AWS.EC2.Types: networkInterfacePrivateIpAddress :: NetworkInterfacePrivateIpAddress
- Network.AWS.EC2.Types: newDhcpConfiguration :: NewDhcpConfiguration
- Network.AWS.EC2.Types: niMacAddress :: Lens' NetworkInterface (Maybe Text)
- Network.AWS.EC2.Types: niPrivateDnsName :: Lens' NetworkInterface (Maybe Text)
- Network.AWS.EC2.Types: niPrivateIpAddress :: Lens' NetworkInterface (Maybe Text)
- Network.AWS.EC2.Types: niPrivateIpAddresses :: Lens' NetworkInterface [NetworkInterfacePrivateIpAddress]
- Network.AWS.EC2.Types: niVpcId :: Lens' NetworkInterface (Maybe Text)
- Network.AWS.EC2.Types: niaIpOwnerId :: Lens' NetworkInterfaceAssociation (Maybe Text)
- Network.AWS.EC2.Types: niaPublicDnsName :: Lens' NetworkInterfaceAssociation (Maybe Text)
- Network.AWS.EC2.Types: niaPublicIp :: Lens' NetworkInterfaceAssociation (Maybe Text)
- Network.AWS.EC2.Types: nipiaPrivateDnsName :: Lens' NetworkInterfacePrivateIpAddress (Maybe Text)
- Network.AWS.EC2.Types: nipiaPrivateIpAddress :: Lens' NetworkInterfacePrivateIpAddress (Maybe Text)
- Network.AWS.EC2.Types: ns :: Text
- Network.AWS.EC2.Types: piasPrivateIpAddress :: Lens' PrivateIpAddressSpecification Text
- Network.AWS.EC2.Types: plCidrs :: Lens' PrefixList [Text]
- Network.AWS.EC2.Types: privateIpAddressSpecification :: Text -> PrivateIpAddressSpecification
- Network.AWS.EC2.Types: propagatingVgw :: PropagatingVgw
- Network.AWS.EC2.Types: rDestinationCidrBlock :: Lens' Route (Maybe Text)
- Network.AWS.EC2.Types: rEndpoint :: Lens' Region (Maybe Text)
- Network.AWS.EC2.Types: rRegionName :: Lens' Region (Maybe Text)
- Network.AWS.EC2.Types: rVpcPeeringConnectionId :: Lens' Route (Maybe Text)
- Network.AWS.EC2.Types: region :: Region
- Network.AWS.EC2.Types: ri1AvailabilityZone :: Lens' ReservedInstances (Maybe Text)
- Network.AWS.EC2.Types: ri1CurrencyCode :: Lens' ReservedInstances (Maybe CurrencyCodeValues)
- Network.AWS.EC2.Types: ri1Duration :: Lens' ReservedInstances (Maybe Integer)
- Network.AWS.EC2.Types: ri1End :: Lens' ReservedInstances (Maybe UTCTime)
- Network.AWS.EC2.Types: ri1FixedPrice :: Lens' ReservedInstances (Maybe Double)
- Network.AWS.EC2.Types: ri1InstanceCount :: Lens' ReservedInstances (Maybe Int)
- Network.AWS.EC2.Types: ri1InstanceTenancy :: Lens' ReservedInstances (Maybe Tenancy)
- Network.AWS.EC2.Types: ri1InstanceType :: Lens' ReservedInstances (Maybe InstanceType)
- Network.AWS.EC2.Types: ri1OfferingType :: Lens' ReservedInstances (Maybe OfferingTypeValues)
- Network.AWS.EC2.Types: ri1ProductDescription :: Lens' ReservedInstances (Maybe RIProductDescription)
- Network.AWS.EC2.Types: ri1RecurringCharges :: Lens' ReservedInstances [RecurringCharge]
- Network.AWS.EC2.Types: ri1ReservedInstancesId :: Lens' ReservedInstances (Maybe Text)
- Network.AWS.EC2.Types: ri1Start :: Lens' ReservedInstances (Maybe UTCTime)
- Network.AWS.EC2.Types: ri1State :: Lens' ReservedInstances (Maybe ReservedInstanceState)
- Network.AWS.EC2.Types: ri1Tags :: Lens' ReservedInstances [Tag]
- Network.AWS.EC2.Types: ri1UsagePrice :: Lens' ReservedInstances (Maybe Double)
- Network.AWS.EC2.Types: rslsEbsOptimized :: Lens' RequestSpotLaunchSpecification (Maybe Bool)
- Network.AWS.EC2.Types: rslsIamInstanceProfile :: Lens' RequestSpotLaunchSpecification (Maybe IamInstanceProfileSpecification)
- Network.AWS.EC2.Types: rslsRamdiskId :: Lens' RequestSpotLaunchSpecification (Maybe Text)
- Network.AWS.EC2.Types: rtPropagatingVgws :: Lens' RouteTable [PropagatingVgw]
- Network.AWS.EC2.Types: rtVpcId :: Lens' RouteTable (Maybe Text)
- Network.AWS.EC2.Types: s1AvailabilityZone :: Lens' Subnet Text
- Network.AWS.EC2.Types: s1AvailableIpAddressCount :: Lens' Subnet Int
- Network.AWS.EC2.Types: s1CidrBlock :: Lens' Subnet Text
- Network.AWS.EC2.Types: s1DefaultForAz :: Lens' Subnet Bool
- Network.AWS.EC2.Types: s1MapPublicIpOnLaunch :: Lens' Subnet Bool
- Network.AWS.EC2.Types: s1State :: Lens' Subnet SubnetState
- Network.AWS.EC2.Types: s1SubnetId :: Lens' Subnet Text
- Network.AWS.EC2.Types: s1Tags :: Lens' Subnet [Tag]
- Network.AWS.EC2.Types: s1VpcId :: Lens' Subnet Text
- Network.AWS.EC2.Types: sKmsKeyId :: Lens' Snapshot (Maybe Text)
- Network.AWS.EC2.Types: sdUrl :: Lens' SnapshotDetail (Maybe Text)
- Network.AWS.EC2.Types: sdcUrl :: Lens' SnapshotDiskContainer (Maybe Text)
- Network.AWS.EC2.Types: sfrcdIamFleetRole :: Lens' SpotFleetRequestConfigData Text
- Network.AWS.EC2.Types: sgIpPermissions :: Lens' SecurityGroup [IpPermission]
- Network.AWS.EC2.Types: sgIpPermissionsEgress :: Lens' SecurityGroup [IpPermission]
- Network.AWS.EC2.Types: sgVpcId :: Lens' SecurityGroup (Maybe Text)
- Network.AWS.EC2.Types: siAvailabilityZoneGroup :: Lens' SpotInstanceRequest (Maybe Text)
- Network.AWS.EC2.Types: siCreateTime :: Lens' SpotInstanceRequest (Maybe UTCTime)
- Network.AWS.EC2.Types: siFault :: Lens' SpotInstanceRequest (Maybe SpotInstanceStateFault)
- Network.AWS.EC2.Types: siInstanceId :: Lens' SpotInstanceRequest (Maybe Text)
- Network.AWS.EC2.Types: siLaunchGroup :: Lens' SpotInstanceRequest (Maybe Text)
- Network.AWS.EC2.Types: siLaunchSpecification :: Lens' SpotInstanceRequest (Maybe LaunchSpecification)
- Network.AWS.EC2.Types: siLaunchedAvailabilityZone :: Lens' SpotInstanceRequest (Maybe Text)
- Network.AWS.EC2.Types: siProductDescription :: Lens' SpotInstanceRequest (Maybe RIProductDescription)
- Network.AWS.EC2.Types: siSpotInstanceRequestId :: Lens' SpotInstanceRequest (Maybe Text)
- Network.AWS.EC2.Types: siSpotPrice :: Lens' SpotInstanceRequest (Maybe Text)
- Network.AWS.EC2.Types: siState :: Lens' SpotInstanceRequest (Maybe SpotInstanceState)
- Network.AWS.EC2.Types: siStatus :: Lens' SpotInstanceRequest (Maybe SpotInstanceStatus)
- Network.AWS.EC2.Types: siTags :: Lens' SpotInstanceRequest [Tag]
- Network.AWS.EC2.Types: siType :: Lens' SpotInstanceRequest (Maybe SpotInstanceType)
- Network.AWS.EC2.Types: siValidFrom :: Lens' SpotInstanceRequest (Maybe UTCTime)
- Network.AWS.EC2.Types: siValidUntil :: Lens' SpotInstanceRequest (Maybe UTCTime)
- Network.AWS.EC2.Types: sp1AvailabilityZone :: Lens' SpotPlacement (Maybe Text)
- Network.AWS.EC2.Types: sp1GroupName :: Lens' SpotPlacement (Maybe Text)
- Network.AWS.EC2.Types: spInstanceType :: Lens' SpotPrice (Maybe InstanceType)
- Network.AWS.EC2.Types: spProductDescription :: Lens' SpotPrice (Maybe RIProductDescription)
- Network.AWS.EC2.Types: spSpotPrice :: Lens' SpotPrice (Maybe Text)
- Network.AWS.EC2.Types: spTimestamp :: Lens' SpotPrice (Maybe UTCTime)
- Network.AWS.EC2.Types: stdUrl :: Lens' SnapshotTaskDetail (Maybe Text)
- Network.AWS.EC2.Types: vIops :: Lens' Volume (Maybe Int)
- Network.AWS.EC2.Types: vKmsKeyId :: Lens' Volume (Maybe Text)
- Network.AWS.EC2.Types: va1State :: Lens' VpcAttachment (Maybe AttachmentStatus)
- Network.AWS.EC2.Types: va1VpcId :: Lens' VpcAttachment (Maybe Text)
- Network.AWS.EC2.Types: vaAttachTime :: Lens' VolumeAttachment (Maybe UTCTime)
- Network.AWS.EC2.Types: vaDeleteOnTermination :: Lens' VolumeAttachment (Maybe Bool)
- Network.AWS.EC2.Types: vaDevice :: Lens' VolumeAttachment (Maybe Text)
- Network.AWS.EC2.Types: vaInstanceId :: Lens' VolumeAttachment (Maybe Text)
- Network.AWS.EC2.Types: vaVolumeId :: Lens' VolumeAttachment (Maybe Text)
- Network.AWS.EC2.Types: vcVgwTelemetry :: Lens' VpnConnection [VgwTelemetry]
- Network.AWS.EC2.Types: vcVpnConnectionId :: Lens' VpnConnection Text
- Network.AWS.EC2.Types: vcVpnGatewayId :: Lens' VpnConnection (Maybe Text)
- Network.AWS.EC2.Types: vclVpcId :: Lens' VpcClassicLink (Maybe Text)
- Network.AWS.EC2.Types: veVpcEndpointId :: Lens' VpcEndpoint (Maybe Text)
- Network.AWS.EC2.Types: veVpcId :: Lens' VpcEndpoint (Maybe Text)
- Network.AWS.EC2.Types: vgVpcAttachments :: Lens' VpnGateway [VpcAttachment]
- Network.AWS.EC2.Types: vgVpnGatewayId :: Lens' VpnGateway (Maybe Text)
- Network.AWS.EC2.Types: vpc1AccepterVpcInfo :: Lens' VpcPeeringConnection (Maybe VpcPeeringConnectionVpcInfo)
- Network.AWS.EC2.Types: vpc1ExpirationTime :: Lens' VpcPeeringConnection (Maybe UTCTime)
- Network.AWS.EC2.Types: vpc1RequesterVpcInfo :: Lens' VpcPeeringConnection (Maybe VpcPeeringConnectionVpcInfo)
- Network.AWS.EC2.Types: vpc1Status :: Lens' VpcPeeringConnection (Maybe VpcPeeringConnectionStateReason)
- Network.AWS.EC2.Types: vpc1Tags :: Lens' VpcPeeringConnection [Tag]
- Network.AWS.EC2.Types: vpc1VpcPeeringConnectionId :: Lens' VpcPeeringConnection (Maybe Text)
- Network.AWS.EC2.Types: vpcCidrBlock :: Lens' Vpc Text
- Network.AWS.EC2.Types: vpcDhcpOptionsId :: Lens' Vpc Text
- Network.AWS.EC2.Types: vpcPeeringConnectionVpcInfo :: VpcPeeringConnectionVpcInfo
- Network.AWS.EC2.Types: vpcVpcId :: Lens' Vpc Text
- Network.AWS.EC2.Types: vpcviCidrBlock :: Lens' VpcPeeringConnectionVpcInfo (Maybe Text)
- Network.AWS.EC2.Types: vpcviVpcId :: Lens' VpcPeeringConnectionVpcInfo (Maybe Text)
- Network.AWS.EC2.Types: vsrDestinationCidrBlock :: Lens' VpnStaticRoute (Maybe Text)
- Network.AWS.EC2.Types: vtOutsideIpAddress :: Lens' VgwTelemetry (Maybe Text)
- Network.AWS.EC2.UnassignPrivateIpAddresses: data UnassignPrivateIpAddresses
- Network.AWS.EC2.UnassignPrivateIpAddresses: data UnassignPrivateIpAddressesResponse
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance AWSRequest UnassignPrivateIpAddresses
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance Constructor C1_0UnassignPrivateIpAddressesResponse
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance Datatype D1UnassignPrivateIpAddressesResponse
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance Eq UnassignPrivateIpAddresses
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance Eq UnassignPrivateIpAddressesResponse
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance Generic UnassignPrivateIpAddressesResponse
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance Ord UnassignPrivateIpAddresses
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance Ord UnassignPrivateIpAddressesResponse
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance Read UnassignPrivateIpAddresses
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance Read UnassignPrivateIpAddressesResponse
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance Show UnassignPrivateIpAddresses
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance Show UnassignPrivateIpAddressesResponse
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance ToHeaders UnassignPrivateIpAddresses
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance ToPath UnassignPrivateIpAddresses
- Network.AWS.EC2.UnassignPrivateIpAddresses: instance ToQuery UnassignPrivateIpAddresses
- Network.AWS.EC2.UnassignPrivateIpAddresses: unassignPrivateIpAddresses :: Text -> UnassignPrivateIpAddresses
- Network.AWS.EC2.UnassignPrivateIpAddresses: unassignPrivateIpAddressesResponse :: UnassignPrivateIpAddressesResponse
- Network.AWS.EC2.UnassignPrivateIpAddresses: upiaNetworkInterfaceId :: Lens' UnassignPrivateIpAddresses Text
- Network.AWS.EC2.UnassignPrivateIpAddresses: upiaPrivateIpAddresses :: Lens' UnassignPrivateIpAddresses [Text]
- Network.AWS.EC2.UnmonitorInstances: instance FromXML UnmonitorInstancesResponse
- Network.AWS.EC2.UnmonitorInstances: instance Monoid UnmonitorInstancesResponse
- Network.AWS.EC2.UnmonitorInstances: instance Ord UnmonitorInstances
- Network.AWS.EC2.UnmonitorInstances: instance Semigroup UnmonitorInstancesResponse
- Network.AWS.EC2.UnmonitorInstances: uirInstanceMonitorings :: Lens' UnmonitorInstancesResponse [InstanceMonitoring]
- Network.AWS.EC2.Waiters: instanceStatusOk :: Wait DescribeInstanceStatus
- Network.AWS.EC2.Waiters: systemStatusOk :: Wait DescribeInstanceStatus
+ Network.AWS.EC2: AZSAvailable :: AvailabilityZoneState
+ Network.AWS.EC2: Accept :: TrafficType
+ Network.AWS.EC2: Active :: ReservedInstanceState
+ Network.AWS.EC2: All :: TrafficType
+ Network.AWS.EC2: AllUpfront :: OfferingTypeValues
+ Network.AWS.EC2: Allow :: RuleAction
+ Network.AWS.EC2: Attached :: AttachmentStatus
+ Network.AWS.EC2: Attaching :: AttachmentStatus
+ Network.AWS.EC2: Available :: State
+ Network.AWS.EC2: BSActive :: BatchState
+ Network.AWS.EC2: BSCancelled :: BatchState
+ Network.AWS.EC2: BSCancelledRunning :: BatchState
+ Network.AWS.EC2: BSCancelledTerminating :: BatchState
+ Network.AWS.EC2: BSFailed :: BatchState
+ Network.AWS.EC2: BSSubmitted :: BatchState
+ Network.AWS.EC2: BTSBundling :: BundleTaskState
+ Network.AWS.EC2: BTSCancelling :: BundleTaskState
+ Network.AWS.EC2: BTSComplete :: BundleTaskState
+ Network.AWS.EC2: BTSFailed :: BundleTaskState
+ Network.AWS.EC2: BTSPending :: BundleTaskState
+ Network.AWS.EC2: BTSStoring :: BundleTaskState
+ Network.AWS.EC2: BTSWaitingForShutdown :: BundleTaskState
+ Network.AWS.EC2: BlockDeviceMapping :: ImageAttributeName
+ Network.AWS.EC2: C1_Medium :: InstanceType
+ Network.AWS.EC2: C1_XLarge :: InstanceType
+ Network.AWS.EC2: C3_2XLarge :: InstanceType
+ Network.AWS.EC2: C3_4XLarge :: InstanceType
+ Network.AWS.EC2: C3_8XLarge :: InstanceType
+ Network.AWS.EC2: C3_Large :: InstanceType
+ Network.AWS.EC2: C3_XLarge :: InstanceType
+ Network.AWS.EC2: C4_2XLarge :: InstanceType
+ Network.AWS.EC2: C4_4XLarge :: InstanceType
+ Network.AWS.EC2: C4_8XLarge :: InstanceType
+ Network.AWS.EC2: C4_Large :: InstanceType
+ Network.AWS.EC2: C4_XLarge :: InstanceType
+ Network.AWS.EC2: CC1_4XLarge :: InstanceType
+ Network.AWS.EC2: CC2_8XLarge :: InstanceType
+ Network.AWS.EC2: CG1_4XLarge :: InstanceType
+ Network.AWS.EC2: CR1_8XLarge :: InstanceType
+ Network.AWS.EC2: CSIRSActive :: CancelSpotInstanceRequestState
+ Network.AWS.EC2: CSIRSCancelled :: CancelSpotInstanceRequestState
+ Network.AWS.EC2: CSIRSClosed :: CancelSpotInstanceRequestState
+ Network.AWS.EC2: CSIRSCompleted :: CancelSpotInstanceRequestState
+ Network.AWS.EC2: CSIRSOpen :: CancelSpotInstanceRequestState
+ Network.AWS.EC2: CTSActive :: ConversionTaskState
+ Network.AWS.EC2: CTSCancelled :: ConversionTaskState
+ Network.AWS.EC2: CTSCancelling :: ConversionTaskState
+ Network.AWS.EC2: CTSCompleted :: ConversionTaskState
+ Network.AWS.EC2: Citrix :: ExportEnvironment
+ Network.AWS.EC2: Cluster :: PlacementStrategy
+ Network.AWS.EC2: CreateRoute :: RouteOrigin
+ Network.AWS.EC2: CreateRouteTable :: RouteOrigin
+ Network.AWS.EC2: CustomerGateway :: ResourceType
+ Network.AWS.EC2: D2_2XLarge :: InstanceType
+ Network.AWS.EC2: D2_4XLarge :: InstanceType
+ Network.AWS.EC2: D2_8XLarge :: InstanceType
+ Network.AWS.EC2: D2_XLarge :: InstanceType
+ Network.AWS.EC2: DHCPOptions :: ResourceType
+ Network.AWS.EC2: DSSActive :: DatafeedSubscriptionState
+ Network.AWS.EC2: DSSInactive :: DatafeedSubscriptionState
+ Network.AWS.EC2: DTStandard :: DomainType
+ Network.AWS.EC2: DTVPC :: DomainType
+ Network.AWS.EC2: Dedicated :: Tenancy
+ Network.AWS.EC2: Default :: Tenancy
+ Network.AWS.EC2: DefaultVPC :: AccountAttributeName
+ Network.AWS.EC2: Deleted :: State
+ Network.AWS.EC2: Deleting :: State
+ Network.AWS.EC2: Deny :: RuleAction
+ Network.AWS.EC2: Description :: ImageAttributeName
+ Network.AWS.EC2: Detached :: AttachmentStatus
+ Network.AWS.EC2: Detaching :: AttachmentStatus
+ Network.AWS.EC2: Devpay :: ProductCodeValues
+ Network.AWS.EC2: Down :: TelemetryStatus
+ Network.AWS.EC2: EBS :: DeviceType
+ Network.AWS.EC2: ETSActive :: ExportTaskState
+ Network.AWS.EC2: ETSCancelled :: ExportTaskState
+ Network.AWS.EC2: ETSCancelling :: ExportTaskState
+ Network.AWS.EC2: ETSCompleted :: ExportTaskState
+ Network.AWS.EC2: EnableDNSHostnames :: VPCAttributeName
+ Network.AWS.EC2: EnableDNSSupport :: VPCAttributeName
+ Network.AWS.EC2: EnableVGWRoutePropagation :: RouteOrigin
+ Network.AWS.EC2: Error' :: EventType
+ Network.AWS.EC2: FLRTNetworkInterface :: FlowLogsResourceType
+ Network.AWS.EC2: FLRTSubnet :: FlowLogsResourceType
+ Network.AWS.EC2: FLRTVPC :: FlowLogsResourceType
+ Network.AWS.EC2: Failed :: StatusType
+ Network.AWS.EC2: FleetRequestChange :: EventType
+ Network.AWS.EC2: FleetRequestIdDoesNotExist :: CancelBatchErrorCode
+ Network.AWS.EC2: FleetRequestIdMalformed :: CancelBatchErrorCode
+ Network.AWS.EC2: FleetRequestNotInCancellableState :: CancelBatchErrorCode
+ Network.AWS.EC2: G2_2XLarge :: InstanceType
+ Network.AWS.EC2: GP2 :: VolumeType
+ Network.AWS.EC2: HI1_4XLarge :: InstanceType
+ Network.AWS.EC2: HS1_8XLarge :: InstanceType
+ Network.AWS.EC2: HVM :: VirtualizationType
+ Network.AWS.EC2: HeavyUtilization :: OfferingTypeValues
+ Network.AWS.EC2: Hourly :: RecurringChargeFrequency
+ Network.AWS.EC2: I2_2XLarge :: InstanceType
+ Network.AWS.EC2: I2_4XLarge :: InstanceType
+ Network.AWS.EC2: I2_8XLarge :: InstanceType
+ Network.AWS.EC2: I2_XLarge :: InstanceType
+ Network.AWS.EC2: I386 :: ArchitectureValues
+ Network.AWS.EC2: IANBlockDeviceMapping :: InstanceAttributeName
+ Network.AWS.EC2: IANDisableAPITermination :: InstanceAttributeName
+ Network.AWS.EC2: IANEBSOptimized :: InstanceAttributeName
+ Network.AWS.EC2: IANGroupSet :: InstanceAttributeName
+ Network.AWS.EC2: IANInstanceInitiatedShutdownBehavior :: InstanceAttributeName
+ Network.AWS.EC2: IANInstanceType :: InstanceAttributeName
+ Network.AWS.EC2: IANKernel :: InstanceAttributeName
+ Network.AWS.EC2: IANProductCodes :: InstanceAttributeName
+ Network.AWS.EC2: IANRAMDisk :: InstanceAttributeName
+ Network.AWS.EC2: IANRootDeviceName :: InstanceAttributeName
+ Network.AWS.EC2: IANSRIOVNetSupport :: InstanceAttributeName
+ Network.AWS.EC2: IANSourceDestCheck :: InstanceAttributeName
+ Network.AWS.EC2: IANUserData :: InstanceAttributeName
+ Network.AWS.EC2: IO1 :: VolumeType
+ Network.AWS.EC2: IOEnabled :: VolumeStatusName
+ Network.AWS.EC2: IOPerformance :: VolumeStatusName
+ Network.AWS.EC2: IPsec_1 :: GatewayType
+ Network.AWS.EC2: ISAvailable :: ImageState
+ Network.AWS.EC2: ISDeregistered :: ImageState
+ Network.AWS.EC2: ISError' :: ImageState
+ Network.AWS.EC2: ISFailed :: ImageState
+ Network.AWS.EC2: ISInvalid :: ImageState
+ Network.AWS.EC2: ISNPending :: InstanceStateName
+ Network.AWS.EC2: ISNRunning :: InstanceStateName
+ Network.AWS.EC2: ISNShuttingDown :: InstanceStateName
+ Network.AWS.EC2: ISNStopped :: InstanceStateName
+ Network.AWS.EC2: ISNStopping :: InstanceStateName
+ Network.AWS.EC2: ISNTerminated :: InstanceStateName
+ Network.AWS.EC2: ISPending :: ImageState
+ Network.AWS.EC2: ISTransient :: ImageState
+ Network.AWS.EC2: ITVKernel :: ImageTypeValues
+ Network.AWS.EC2: ITVMachine :: ImageTypeValues
+ Network.AWS.EC2: ITVRAMDisk :: ImageTypeValues
+ Network.AWS.EC2: Image :: ResourceType
+ Network.AWS.EC2: Impaired :: ReportStatusType
+ Network.AWS.EC2: InClassic :: AddressStatus
+ Network.AWS.EC2: InVPC :: AddressStatus
+ Network.AWS.EC2: Initializing :: StatusType
+ Network.AWS.EC2: Instance :: ResourceType
+ Network.AWS.EC2: InstanceChange :: EventType
+ Network.AWS.EC2: InstanceReboot :: EventCode
+ Network.AWS.EC2: InstanceRetirement :: EventCode
+ Network.AWS.EC2: InstanceStop :: EventCode
+ Network.AWS.EC2: InstanceStore :: DeviceType
+ Network.AWS.EC2: InstanceStuckInState :: ReportInstanceReasonCodes
+ Network.AWS.EC2: InsufficientData :: StatusType
+ Network.AWS.EC2: InternetGateway :: ResourceType
+ Network.AWS.EC2: Kernel :: ImageAttributeName
+ Network.AWS.EC2: LAvailable :: ListingState
+ Network.AWS.EC2: LCancelled :: ListingState
+ Network.AWS.EC2: LPending :: ListingState
+ Network.AWS.EC2: LSActive :: ListingStatus
+ Network.AWS.EC2: LSCancelled :: ListingStatus
+ Network.AWS.EC2: LSClosed :: ListingStatus
+ Network.AWS.EC2: LSPending :: ListingStatus
+ Network.AWS.EC2: LSold :: ListingState
+ Network.AWS.EC2: LaunchPermission :: ImageAttributeName
+ Network.AWS.EC2: LightUtilization :: OfferingTypeValues
+ Network.AWS.EC2: LinuxUnix :: RIProductDescription
+ Network.AWS.EC2: LinuxUnixAmazonVPC :: RIProductDescription
+ Network.AWS.EC2: M1_Large :: InstanceType
+ Network.AWS.EC2: M1_Medium :: InstanceType
+ Network.AWS.EC2: M1_Small :: InstanceType
+ Network.AWS.EC2: M1_XLarge :: InstanceType
+ Network.AWS.EC2: M2_2XLarge :: InstanceType
+ Network.AWS.EC2: M2_4XLarge :: InstanceType
+ Network.AWS.EC2: M2_XLarge :: InstanceType
+ Network.AWS.EC2: M3_2XLarge :: InstanceType
+ Network.AWS.EC2: M3_Large :: InstanceType
+ Network.AWS.EC2: M3_Medium :: InstanceType
+ Network.AWS.EC2: M3_XLarge :: InstanceType
+ Network.AWS.EC2: M4_10XLarge :: InstanceType
+ Network.AWS.EC2: M4_2XLarge :: InstanceType
+ Network.AWS.EC2: M4_4XLarge :: InstanceType
+ Network.AWS.EC2: M4_Large :: InstanceType
+ Network.AWS.EC2: M4_XLarge :: InstanceType
+ Network.AWS.EC2: MSDisabled :: MonitoringState
+ Network.AWS.EC2: MSDisabling :: MonitoringState
+ Network.AWS.EC2: MSEnabled :: MonitoringState
+ Network.AWS.EC2: MSPending :: MonitoringState
+ Network.AWS.EC2: Marketplace :: ProductCodeValues
+ Network.AWS.EC2: MediumUtilization :: OfferingTypeValues
+ Network.AWS.EC2: Microsoft :: ExportEnvironment
+ Network.AWS.EC2: MoveInProgress :: AddressStatus
+ Network.AWS.EC2: MovingToVPC :: MoveStatus
+ Network.AWS.EC2: NIAAttachment :: NetworkInterfaceAttribute
+ Network.AWS.EC2: NIADescription :: NetworkInterfaceAttribute
+ Network.AWS.EC2: NIAGroupSet :: NetworkInterfaceAttribute
+ Network.AWS.EC2: NIASourceDestCheck :: NetworkInterfaceAttribute
+ Network.AWS.EC2: NISAttaching :: NetworkInterfaceStatus
+ Network.AWS.EC2: NISAvailable :: NetworkInterfaceStatus
+ Network.AWS.EC2: NISDetaching :: NetworkInterfaceStatus
+ Network.AWS.EC2: NISInUse :: NetworkInterfaceStatus
+ Network.AWS.EC2: NetworkACL :: ResourceType
+ Network.AWS.EC2: NetworkInterface :: ResourceType
+ Network.AWS.EC2: NoUpfront :: OfferingTypeValues
+ Network.AWS.EC2: NotAcceptingCredentials :: ReportInstanceReasonCodes
+ Network.AWS.EC2: OK :: ReportStatusType
+ Network.AWS.EC2: OneTime :: SpotInstanceType
+ Network.AWS.EC2: Other :: ReportInstanceReasonCodes
+ Network.AWS.EC2: Ova :: ContainerFormat
+ Network.AWS.EC2: Ovm :: HypervisorType
+ Network.AWS.EC2: PGAll :: PermissionGroup
+ Network.AWS.EC2: PGSAvailable :: PlacementGroupState
+ Network.AWS.EC2: PGSDeleted :: PlacementGroupState
+ Network.AWS.EC2: PGSDeleting :: PlacementGroupState
+ Network.AWS.EC2: PGSPending :: PlacementGroupState
+ Network.AWS.EC2: PVWindows :: PlatformValues
+ Network.AWS.EC2: Paravirtual :: VirtualizationType
+ Network.AWS.EC2: PartialUpfront :: OfferingTypeValues
+ Network.AWS.EC2: Passed :: StatusType
+ Network.AWS.EC2: PasswordNotAvailable :: ReportInstanceReasonCodes
+ Network.AWS.EC2: PaymentFailed :: ReservedInstanceState
+ Network.AWS.EC2: PaymentPending :: ReservedInstanceState
+ Network.AWS.EC2: Pending :: State
+ Network.AWS.EC2: PerformanceEBSVolume :: ReportInstanceReasonCodes
+ Network.AWS.EC2: PerformanceInstanceStore :: ReportInstanceReasonCodes
+ Network.AWS.EC2: PerformanceNetwork :: ReportInstanceReasonCodes
+ Network.AWS.EC2: PerformanceOther :: ReportInstanceReasonCodes
+ Network.AWS.EC2: Persistent :: SpotInstanceType
+ Network.AWS.EC2: ProductCodes :: ImageAttributeName
+ Network.AWS.EC2: R3_2XLarge :: InstanceType
+ Network.AWS.EC2: R3_4XLarge :: InstanceType
+ Network.AWS.EC2: R3_8XLarge :: InstanceType
+ Network.AWS.EC2: R3_Large :: InstanceType
+ Network.AWS.EC2: R3_XLarge :: InstanceType
+ Network.AWS.EC2: RAMDisk :: ImageAttributeName
+ Network.AWS.EC2: RIANLaunchPermission :: ResetImageAttributeName
+ Network.AWS.EC2: RSActive :: RouteState
+ Network.AWS.EC2: RSBlackhole :: RouteState
+ Network.AWS.EC2: Raw :: DiskImageFormat
+ Network.AWS.EC2: Reachability :: StatusName
+ Network.AWS.EC2: Reject :: TrafficType
+ Network.AWS.EC2: ReservedInstances :: ResourceType
+ Network.AWS.EC2: RestoringToClassic :: MoveStatus
+ Network.AWS.EC2: Retired :: ReservedInstanceState
+ Network.AWS.EC2: RouteTable :: ResourceType
+ Network.AWS.EC2: SANCreateVolumePermission :: SnapshotAttributeName
+ Network.AWS.EC2: SANProductCodes :: SnapshotAttributeName
+ Network.AWS.EC2: SAvailable :: SubnetState
+ Network.AWS.EC2: SISActive :: SpotInstanceState
+ Network.AWS.EC2: SISCancelled :: SpotInstanceState
+ Network.AWS.EC2: SISClosed :: SpotInstanceState
+ Network.AWS.EC2: SISFailed :: SpotInstanceState
+ Network.AWS.EC2: SISOpen :: SpotInstanceState
+ Network.AWS.EC2: SPending :: SubnetState
+ Network.AWS.EC2: SRIOVNetSupport :: ImageAttributeName
+ Network.AWS.EC2: SSCompleted :: SnapshotState
+ Network.AWS.EC2: SSError' :: SnapshotState
+ Network.AWS.EC2: SSImpaired :: SummaryStatus
+ Network.AWS.EC2: SSInitializing :: SummaryStatus
+ Network.AWS.EC2: SSInsufficientData :: SummaryStatus
+ Network.AWS.EC2: SSNotApplicable :: SummaryStatus
+ Network.AWS.EC2: SSOK :: SummaryStatus
+ Network.AWS.EC2: SSPending :: SnapshotState
+ Network.AWS.EC2: SecurityGroup :: ResourceType
+ Network.AWS.EC2: Snapshot :: ResourceType
+ Network.AWS.EC2: Spot :: InstanceLifecycleType
+ Network.AWS.EC2: SpotInstancesRequest :: ResourceType
+ Network.AWS.EC2: Standard :: VolumeType
+ Network.AWS.EC2: Static :: VPNStaticRouteSource
+ Network.AWS.EC2: Stop :: ShutdownBehavior
+ Network.AWS.EC2: Subnet :: ResourceType
+ Network.AWS.EC2: SupportedPlatforms :: AccountAttributeName
+ Network.AWS.EC2: SystemMaintenance :: EventCode
+ Network.AWS.EC2: SystemReboot :: EventCode
+ Network.AWS.EC2: T1_Micro :: InstanceType
+ Network.AWS.EC2: T2_Large :: InstanceType
+ Network.AWS.EC2: T2_Medium :: InstanceType
+ Network.AWS.EC2: T2_Micro :: InstanceType
+ Network.AWS.EC2: T2_Small :: InstanceType
+ Network.AWS.EC2: Terminate :: ShutdownBehavior
+ Network.AWS.EC2: UP :: TelemetryStatus
+ Network.AWS.EC2: UnexpectedError :: CancelBatchErrorCode
+ Network.AWS.EC2: Unresponsive :: ReportInstanceReasonCodes
+ Network.AWS.EC2: Usd :: CurrencyCodeValues
+ Network.AWS.EC2: VANAutoEnableIO :: VolumeAttributeName
+ Network.AWS.EC2: VANProductCodes :: VolumeAttributeName
+ Network.AWS.EC2: VASAttached :: VolumeAttachmentState
+ Network.AWS.EC2: VASAttaching :: VolumeAttachmentState
+ Network.AWS.EC2: VASDetached :: VolumeAttachmentState
+ Network.AWS.EC2: VASDetaching :: VolumeAttachmentState
+ Network.AWS.EC2: VAvailable :: VolumeState
+ Network.AWS.EC2: VCreating :: VolumeState
+ Network.AWS.EC2: VDeleted :: VolumeState
+ Network.AWS.EC2: VDeleting :: VolumeState
+ Network.AWS.EC2: VError' :: VolumeState
+ Network.AWS.EC2: VHD :: DiskImageFormat
+ Network.AWS.EC2: VInUse :: VolumeState
+ Network.AWS.EC2: VMDK :: DiskImageFormat
+ Network.AWS.EC2: VMware :: ExportEnvironment
+ Network.AWS.EC2: VPC :: ResourceType
+ Network.AWS.EC2: VPCSAvailable :: VPCState
+ Network.AWS.EC2: VPCSPending :: VPCState
+ Network.AWS.EC2: VPCSRCActive :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2: VPCSRCDeleted :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2: VPCSRCDeleting :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2: VPCSRCExpired :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2: VPCSRCFailed :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2: VPCSRCInitiatingRequest :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2: VPCSRCPendingAcceptance :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2: VPCSRCProvisioning :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2: VPCSRCRejected :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2: VPNConnection :: ResourceType
+ Network.AWS.EC2: VPNGateway :: ResourceType
+ Network.AWS.EC2: VSAvailable :: VPNState
+ Network.AWS.EC2: VSDeleted :: VPNState
+ Network.AWS.EC2: VSDeleting :: VPNState
+ Network.AWS.EC2: VSISImpaired :: VolumeStatusInfoStatus
+ Network.AWS.EC2: VSISInsufficientData :: VolumeStatusInfoStatus
+ Network.AWS.EC2: VSISOK :: VolumeStatusInfoStatus
+ Network.AWS.EC2: VSPending :: VPNState
+ Network.AWS.EC2: Volume :: ResourceType
+ Network.AWS.EC2: Windows :: RIProductDescription
+ Network.AWS.EC2: WindowsAmazonVPC :: RIProductDescription
+ Network.AWS.EC2: X86_64 :: ArchitectureValues
+ Network.AWS.EC2: Xen :: HypervisorType
+ Network.AWS.EC2: aAllocationId :: Lens' Address (Maybe Text)
+ Network.AWS.EC2: aAssociationId :: Lens' Address (Maybe Text)
+ Network.AWS.EC2: aDomain :: Lens' Address (Maybe DomainType)
+ Network.AWS.EC2: aInstanceId :: Lens' Address (Maybe Text)
+ Network.AWS.EC2: aNetworkInterfaceId :: Lens' Address (Maybe Text)
+ Network.AWS.EC2: aNetworkInterfaceOwnerId :: Lens' Address (Maybe Text)
+ Network.AWS.EC2: aPrivateIPAddress :: Lens' Address (Maybe Text)
+ Network.AWS.EC2: aPublicIP :: Lens' Address (Maybe Text)
+ Network.AWS.EC2: aaAttributeName :: Lens' AccountAttribute (Maybe Text)
+ Network.AWS.EC2: aaAttributeValues :: Lens' AccountAttribute [AccountAttributeValue]
+ Network.AWS.EC2: aavAttributeValue :: Lens' AccountAttributeValue (Maybe Text)
+ Network.AWS.EC2: abvValue :: Lens' AttributeBooleanValue (Maybe Bool)
+ Network.AWS.EC2: accountAttribute :: AccountAttribute
+ Network.AWS.EC2: accountAttributeValue :: AccountAttributeValue
+ Network.AWS.EC2: activeInstance :: ActiveInstance
+ Network.AWS.EC2: address :: Address
+ Network.AWS.EC2: aiInstanceId :: Lens' ActiveInstance (Maybe Text)
+ Network.AWS.EC2: aiInstanceType :: Lens' ActiveInstance (Maybe Text)
+ Network.AWS.EC2: aiSpotInstanceRequestId :: Lens' ActiveInstance (Maybe Text)
+ Network.AWS.EC2: attributeBooleanValue :: AttributeBooleanValue
+ Network.AWS.EC2: attributeValue :: AttributeValue
+ Network.AWS.EC2: avValue :: Lens' AttributeValue (Maybe Text)
+ Network.AWS.EC2: availabilityZone :: AvailabilityZone
+ Network.AWS.EC2: availabilityZoneMessage :: AvailabilityZoneMessage
+ Network.AWS.EC2: azMessages :: Lens' AvailabilityZone [AvailabilityZoneMessage]
+ Network.AWS.EC2: azRegionName :: Lens' AvailabilityZone (Maybe Text)
+ Network.AWS.EC2: azState :: Lens' AvailabilityZone (Maybe AvailabilityZoneState)
+ Network.AWS.EC2: azZoneName :: Lens' AvailabilityZone (Maybe Text)
+ Network.AWS.EC2: azmMessage :: Lens' AvailabilityZoneMessage (Maybe Text)
+ Network.AWS.EC2: bavValue :: Lens' BlobAttributeValue (Maybe ByteString)
+ Network.AWS.EC2: bdmDeviceName :: Lens' BlockDeviceMapping Text
+ Network.AWS.EC2: bdmEBS :: Lens' BlockDeviceMapping (Maybe EBSBlockDevice)
+ Network.AWS.EC2: bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Text)
+ Network.AWS.EC2: bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)
+ Network.AWS.EC2: blobAttributeValue :: BlobAttributeValue
+ Network.AWS.EC2: blockDeviceMapping :: Text -> BlockDeviceMapping
+ Network.AWS.EC2: btBundleId :: Lens' BundleTask Text
+ Network.AWS.EC2: btBundleTaskError :: Lens' BundleTask (Maybe BundleTaskError)
+ Network.AWS.EC2: btInstanceId :: Lens' BundleTask Text
+ Network.AWS.EC2: btProgress :: Lens' BundleTask Text
+ Network.AWS.EC2: btStartTime :: Lens' BundleTask UTCTime
+ Network.AWS.EC2: btState :: Lens' BundleTask BundleTaskState
+ Network.AWS.EC2: btStorage :: Lens' BundleTask Storage
+ Network.AWS.EC2: btUpdateTime :: Lens' BundleTask UTCTime
+ Network.AWS.EC2: bteCode :: Lens' BundleTaskError (Maybe Text)
+ Network.AWS.EC2: bteMessage :: Lens' BundleTaskError (Maybe Text)
+ Network.AWS.EC2: bundleTask :: Text -> Text -> Text -> UTCTime -> BundleTaskState -> Storage -> UTCTime -> BundleTask
+ Network.AWS.EC2: bundleTaskComplete :: Wait DescribeBundleTasks
+ Network.AWS.EC2: bundleTaskError :: BundleTaskError
+ Network.AWS.EC2: cancelSpotFleetRequestsError :: CancelBatchErrorCode -> Text -> CancelSpotFleetRequestsError
+ Network.AWS.EC2: cancelSpotFleetRequestsErrorItem :: Text -> CancelSpotFleetRequestsError -> CancelSpotFleetRequestsErrorItem
+ Network.AWS.EC2: cancelSpotFleetRequestsSuccessItem :: Text -> BatchState -> BatchState -> CancelSpotFleetRequestsSuccessItem
+ Network.AWS.EC2: cancelledSpotInstanceRequest :: CancelledSpotInstanceRequest
+ Network.AWS.EC2: cdComment :: Lens' ClientData (Maybe Text)
+ Network.AWS.EC2: cdUploadEnd :: Lens' ClientData (Maybe UTCTime)
+ Network.AWS.EC2: cdUploadSize :: Lens' ClientData (Maybe Double)
+ Network.AWS.EC2: cdUploadStart :: Lens' ClientData (Maybe UTCTime)
+ Network.AWS.EC2: cgBGPASN :: Lens' CustomerGateway Text
+ Network.AWS.EC2: cgCustomerGatewayId :: Lens' CustomerGateway Text
+ Network.AWS.EC2: cgIPAddress :: Lens' CustomerGateway Text
+ Network.AWS.EC2: cgState :: Lens' CustomerGateway Text
+ Network.AWS.EC2: cgTags :: Lens' CustomerGateway [Tag]
+ Network.AWS.EC2: cgType :: Lens' CustomerGateway Text
+ Network.AWS.EC2: classicLinkInstance :: ClassicLinkInstance
+ Network.AWS.EC2: cliGroups :: Lens' ClassicLinkInstance [GroupIdentifier]
+ Network.AWS.EC2: cliInstanceId :: Lens' ClassicLinkInstance (Maybe Text)
+ Network.AWS.EC2: cliTags :: Lens' ClassicLinkInstance [Tag]
+ Network.AWS.EC2: cliVPCId :: Lens' ClassicLinkInstance (Maybe Text)
+ Network.AWS.EC2: clientData :: ClientData
+ Network.AWS.EC2: conversionTask :: Text -> ConversionTaskState -> ConversionTask
+ Network.AWS.EC2: conversionTaskCancelled :: Wait DescribeConversionTasks
+ Network.AWS.EC2: conversionTaskCompleted :: Wait DescribeConversionTasks
+ Network.AWS.EC2: conversionTaskDeleted :: Wait DescribeConversionTasks
+ Network.AWS.EC2: createVolumePermission :: CreateVolumePermission
+ Network.AWS.EC2: createVolumePermissionModifications :: CreateVolumePermissionModifications
+ Network.AWS.EC2: csfreCode :: Lens' CancelSpotFleetRequestsError CancelBatchErrorCode
+ Network.AWS.EC2: csfreMessage :: Lens' CancelSpotFleetRequestsError Text
+ Network.AWS.EC2: csfreiError :: Lens' CancelSpotFleetRequestsErrorItem CancelSpotFleetRequestsError
+ Network.AWS.EC2: csfreiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsErrorItem Text
+ Network.AWS.EC2: csfrsiCurrentSpotFleetRequestState :: Lens' CancelSpotFleetRequestsSuccessItem BatchState
+ Network.AWS.EC2: csfrsiPreviousSpotFleetRequestState :: Lens' CancelSpotFleetRequestsSuccessItem BatchState
+ Network.AWS.EC2: csfrsiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsSuccessItem Text
+ Network.AWS.EC2: csirSpotInstanceRequestId :: Lens' CancelledSpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2: csirState :: Lens' CancelledSpotInstanceRequest (Maybe CancelSpotInstanceRequestState)
+ Network.AWS.EC2: ctConversionTaskId :: Lens' ConversionTask Text
+ Network.AWS.EC2: ctExpirationTime :: Lens' ConversionTask (Maybe Text)
+ Network.AWS.EC2: ctImportInstance :: Lens' ConversionTask (Maybe ImportInstanceTaskDetails)
+ Network.AWS.EC2: ctImportVolume :: Lens' ConversionTask (Maybe ImportVolumeTaskDetails)
+ Network.AWS.EC2: ctState :: Lens' ConversionTask ConversionTaskState
+ Network.AWS.EC2: ctStatusMessage :: Lens' ConversionTask (Maybe Text)
+ Network.AWS.EC2: ctTags :: Lens' ConversionTask [Tag]
+ Network.AWS.EC2: customerGateway :: Text -> Text -> Text -> Text -> Text -> CustomerGateway
+ Network.AWS.EC2: customerGatewayAvailable :: Wait DescribeCustomerGateways
+ Network.AWS.EC2: cvpGroup :: Lens' CreateVolumePermission (Maybe PermissionGroup)
+ Network.AWS.EC2: cvpUserId :: Lens' CreateVolumePermission (Maybe Text)
+ Network.AWS.EC2: cvpmAdd :: Lens' CreateVolumePermissionModifications [CreateVolumePermission]
+ Network.AWS.EC2: cvpmRemove :: Lens' CreateVolumePermissionModifications [CreateVolumePermission]
+ Network.AWS.EC2: dChecksum :: Lens' DiskImageDescription (Maybe Text)
+ Network.AWS.EC2: dFormat :: Lens' DiskImageDescription DiskImageFormat
+ Network.AWS.EC2: dImportManifestURL :: Lens' DiskImageDescription Text
+ Network.AWS.EC2: dSize :: Lens' DiskImageDescription Integer
+ Network.AWS.EC2: data AccountAttribute
+ Network.AWS.EC2: data AccountAttributeName
+ Network.AWS.EC2: data AccountAttributeValue
+ Network.AWS.EC2: data ActiveInstance
+ Network.AWS.EC2: data Address
+ Network.AWS.EC2: data AddressStatus
+ Network.AWS.EC2: data ArchitectureValues
+ Network.AWS.EC2: data AttachmentStatus
+ Network.AWS.EC2: data AttributeBooleanValue
+ Network.AWS.EC2: data AttributeValue
+ Network.AWS.EC2: data AvailabilityZone
+ Network.AWS.EC2: data AvailabilityZoneMessage
+ Network.AWS.EC2: data AvailabilityZoneState
+ Network.AWS.EC2: data BatchState
+ Network.AWS.EC2: data BlobAttributeValue
+ Network.AWS.EC2: data BlockDeviceMapping
+ Network.AWS.EC2: data BundleTask
+ Network.AWS.EC2: data BundleTaskError
+ Network.AWS.EC2: data BundleTaskState
+ Network.AWS.EC2: data CancelBatchErrorCode
+ Network.AWS.EC2: data CancelSpotFleetRequestsError
+ Network.AWS.EC2: data CancelSpotFleetRequestsErrorItem
+ Network.AWS.EC2: data CancelSpotFleetRequestsSuccessItem
+ Network.AWS.EC2: data CancelSpotInstanceRequestState
+ Network.AWS.EC2: data CancelledSpotInstanceRequest
+ Network.AWS.EC2: data ClassicLinkInstance
+ Network.AWS.EC2: data ClientData
+ Network.AWS.EC2: data ContainerFormat
+ Network.AWS.EC2: data ConversionTask
+ Network.AWS.EC2: data ConversionTaskState
+ Network.AWS.EC2: data CreateVolumePermission
+ Network.AWS.EC2: data CreateVolumePermissionModifications
+ Network.AWS.EC2: data CurrencyCodeValues
+ Network.AWS.EC2: data CustomerGateway
+ Network.AWS.EC2: data DHCPConfiguration
+ Network.AWS.EC2: data DHCPOptions
+ Network.AWS.EC2: data DatafeedSubscriptionState
+ Network.AWS.EC2: data DeviceType
+ Network.AWS.EC2: data DiskImage
+ Network.AWS.EC2: data DiskImageDescription
+ Network.AWS.EC2: data DiskImageDetail
+ Network.AWS.EC2: data DiskImageFormat
+ Network.AWS.EC2: data DiskImageVolumeDescription
+ Network.AWS.EC2: data DomainType
+ Network.AWS.EC2: data EBSBlockDevice
+ Network.AWS.EC2: data EBSInstanceBlockDevice
+ Network.AWS.EC2: data EBSInstanceBlockDeviceSpecification
+ Network.AWS.EC2: data EC2
+ Network.AWS.EC2: data EventCode
+ Network.AWS.EC2: data EventInformation
+ Network.AWS.EC2: data EventType
+ Network.AWS.EC2: data ExportEnvironment
+ Network.AWS.EC2: data ExportTask
+ Network.AWS.EC2: data ExportTaskState
+ Network.AWS.EC2: data ExportToS3Task
+ Network.AWS.EC2: data ExportToS3TaskSpecification
+ Network.AWS.EC2: data Filter
+ Network.AWS.EC2: data FlowLog
+ Network.AWS.EC2: data FlowLogsResourceType
+ Network.AWS.EC2: data GatewayType
+ Network.AWS.EC2: data GroupIdentifier
+ Network.AWS.EC2: data HistoryRecord
+ Network.AWS.EC2: data HypervisorType
+ Network.AWS.EC2: data IAMInstanceProfile
+ Network.AWS.EC2: data IAMInstanceProfileSpecification
+ Network.AWS.EC2: data ICMPTypeCode
+ Network.AWS.EC2: data IPPermission
+ Network.AWS.EC2: data IPRange
+ Network.AWS.EC2: data Image
+ Network.AWS.EC2: data ImageAttributeName
+ Network.AWS.EC2: data ImageDiskContainer
+ Network.AWS.EC2: data ImageState
+ Network.AWS.EC2: data ImageTypeValues
+ Network.AWS.EC2: data ImportImageTask
+ Network.AWS.EC2: data ImportInstanceLaunchSpecification
+ Network.AWS.EC2: data ImportInstanceTaskDetails
+ Network.AWS.EC2: data ImportInstanceVolumeDetailItem
+ Network.AWS.EC2: data ImportSnapshotTask
+ Network.AWS.EC2: data ImportVolumeTaskDetails
+ Network.AWS.EC2: data Instance
+ Network.AWS.EC2: data InstanceAttributeName
+ Network.AWS.EC2: data InstanceBlockDeviceMapping
+ Network.AWS.EC2: data InstanceBlockDeviceMappingSpecification
+ Network.AWS.EC2: data InstanceCount
+ Network.AWS.EC2: data InstanceExportDetails
+ Network.AWS.EC2: data InstanceLifecycleType
+ Network.AWS.EC2: data InstanceMonitoring
+ Network.AWS.EC2: data InstanceNetworkInterface
+ Network.AWS.EC2: data InstanceNetworkInterfaceAssociation
+ Network.AWS.EC2: data InstanceNetworkInterfaceAttachment
+ Network.AWS.EC2: data InstanceNetworkInterfaceSpecification
+ Network.AWS.EC2: data InstancePrivateIPAddress
+ Network.AWS.EC2: data InstanceState
+ Network.AWS.EC2: data InstanceStateChange
+ Network.AWS.EC2: data InstanceStateName
+ Network.AWS.EC2: data InstanceStatus
+ Network.AWS.EC2: data InstanceStatusDetails
+ Network.AWS.EC2: data InstanceStatusEvent
+ Network.AWS.EC2: data InstanceStatusSummary
+ Network.AWS.EC2: data InstanceType
+ Network.AWS.EC2: data InternetGateway
+ Network.AWS.EC2: data InternetGatewayAttachment
+ Network.AWS.EC2: data KeyPairInfo
+ Network.AWS.EC2: data LaunchPermission
+ Network.AWS.EC2: data LaunchPermissionModifications
+ Network.AWS.EC2: data LaunchSpecification
+ Network.AWS.EC2: data ListingState
+ Network.AWS.EC2: data ListingStatus
+ Network.AWS.EC2: data Monitoring
+ Network.AWS.EC2: data MonitoringState
+ Network.AWS.EC2: data MoveStatus
+ Network.AWS.EC2: data MovingAddressStatus
+ Network.AWS.EC2: data NetworkACL
+ Network.AWS.EC2: data NetworkACLAssociation
+ Network.AWS.EC2: data NetworkACLEntry
+ Network.AWS.EC2: data NetworkInterface
+ Network.AWS.EC2: data NetworkInterfaceAssociation
+ Network.AWS.EC2: data NetworkInterfaceAttachment
+ Network.AWS.EC2: data NetworkInterfaceAttachmentChanges
+ Network.AWS.EC2: data NetworkInterfaceAttribute
+ Network.AWS.EC2: data NetworkInterfacePrivateIPAddress
+ Network.AWS.EC2: data NetworkInterfaceStatus
+ Network.AWS.EC2: data NewDHCPConfiguration
+ Network.AWS.EC2: data OfferingTypeValues
+ Network.AWS.EC2: data PermissionGroup
+ Network.AWS.EC2: data Placement
+ Network.AWS.EC2: data PlacementGroup
+ Network.AWS.EC2: data PlacementGroupState
+ Network.AWS.EC2: data PlacementStrategy
+ Network.AWS.EC2: data PlatformValues
+ Network.AWS.EC2: data PortRange
+ Network.AWS.EC2: data PrefixList
+ Network.AWS.EC2: data PrefixListId
+ Network.AWS.EC2: data PriceSchedule
+ Network.AWS.EC2: data PriceScheduleSpecification
+ Network.AWS.EC2: data PricingDetail
+ Network.AWS.EC2: data PrivateIPAddressSpecification
+ Network.AWS.EC2: data ProductCode
+ Network.AWS.EC2: data ProductCodeValues
+ Network.AWS.EC2: data PropagatingVGW
+ Network.AWS.EC2: data RIProductDescription
+ Network.AWS.EC2: data RecurringCharge
+ Network.AWS.EC2: data RecurringChargeFrequency
+ Network.AWS.EC2: data RegionInfo
+ Network.AWS.EC2: data ReportInstanceReasonCodes
+ Network.AWS.EC2: data ReportStatusType
+ Network.AWS.EC2: data RequestSpotLaunchSpecification
+ Network.AWS.EC2: data Reservation
+ Network.AWS.EC2: data ReservedInstanceLimitPrice
+ Network.AWS.EC2: data ReservedInstanceState
+ Network.AWS.EC2: data ReservedInstances
+ Network.AWS.EC2: data ReservedInstancesConfiguration
+ Network.AWS.EC2: data ReservedInstancesId
+ Network.AWS.EC2: data ReservedInstancesListing
+ Network.AWS.EC2: data ReservedInstancesModification
+ Network.AWS.EC2: data ReservedInstancesModificationResult
+ Network.AWS.EC2: data ReservedInstancesOffering
+ Network.AWS.EC2: data ResetImageAttributeName
+ Network.AWS.EC2: data ResourceType
+ Network.AWS.EC2: data Route
+ Network.AWS.EC2: data RouteOrigin
+ Network.AWS.EC2: data RouteState
+ Network.AWS.EC2: data RouteTable
+ Network.AWS.EC2: data RouteTableAssociation
+ Network.AWS.EC2: data RuleAction
+ Network.AWS.EC2: data RunInstancesMonitoringEnabled
+ Network.AWS.EC2: data S3Storage
+ Network.AWS.EC2: data SecurityGroup
+ Network.AWS.EC2: data ShutdownBehavior
+ Network.AWS.EC2: data Snapshot
+ Network.AWS.EC2: data SnapshotAttributeName
+ Network.AWS.EC2: data SnapshotDetail
+ Network.AWS.EC2: data SnapshotDiskContainer
+ Network.AWS.EC2: data SnapshotState
+ Network.AWS.EC2: data SnapshotTaskDetail
+ Network.AWS.EC2: data SpotDatafeedSubscription
+ Network.AWS.EC2: data SpotFleetLaunchSpecification
+ Network.AWS.EC2: data SpotFleetMonitoring
+ Network.AWS.EC2: data SpotFleetRequestConfig
+ Network.AWS.EC2: data SpotFleetRequestConfigData
+ Network.AWS.EC2: data SpotInstanceRequest
+ Network.AWS.EC2: data SpotInstanceState
+ Network.AWS.EC2: data SpotInstanceStateFault
+ Network.AWS.EC2: data SpotInstanceStatus
+ Network.AWS.EC2: data SpotInstanceType
+ Network.AWS.EC2: data SpotPlacement
+ Network.AWS.EC2: data SpotPrice
+ Network.AWS.EC2: data State
+ Network.AWS.EC2: data StateReason
+ Network.AWS.EC2: data StatusName
+ Network.AWS.EC2: data StatusType
+ Network.AWS.EC2: data Storage
+ Network.AWS.EC2: data Subnet
+ Network.AWS.EC2: data SubnetState
+ Network.AWS.EC2: data SummaryStatus
+ Network.AWS.EC2: data Tag
+ Network.AWS.EC2: data TagDescription
+ Network.AWS.EC2: data TelemetryStatus
+ Network.AWS.EC2: data Tenancy
+ Network.AWS.EC2: data TrafficType
+ Network.AWS.EC2: data UnsuccessfulItem
+ Network.AWS.EC2: data UnsuccessfulItemError
+ Network.AWS.EC2: data UserBucket
+ Network.AWS.EC2: data UserBucketDetails
+ Network.AWS.EC2: data UserData
+ Network.AWS.EC2: data UserIdGroupPair
+ Network.AWS.EC2: data VGWTelemetry
+ Network.AWS.EC2: data VPC
+ Network.AWS.EC2: data VPCAttachment
+ Network.AWS.EC2: data VPCAttributeName
+ Network.AWS.EC2: data VPCClassicLink
+ Network.AWS.EC2: data VPCEndpoint
+ Network.AWS.EC2: data VPCPeeringConnection
+ Network.AWS.EC2: data VPCPeeringConnectionStateReason
+ Network.AWS.EC2: data VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2: data VPCPeeringConnectionVPCInfo
+ Network.AWS.EC2: data VPCState
+ Network.AWS.EC2: data VPNConnection
+ Network.AWS.EC2: data VPNConnectionOptions
+ Network.AWS.EC2: data VPNConnectionOptionsSpecification
+ Network.AWS.EC2: data VPNGateway
+ Network.AWS.EC2: data VPNState
+ Network.AWS.EC2: data VPNStaticRoute
+ Network.AWS.EC2: data VPNStaticRouteSource
+ Network.AWS.EC2: data VirtualizationType
+ Network.AWS.EC2: data Volume
+ Network.AWS.EC2: data VolumeAttachment
+ Network.AWS.EC2: data VolumeAttachmentState
+ Network.AWS.EC2: data VolumeAttributeName
+ Network.AWS.EC2: data VolumeDetail
+ Network.AWS.EC2: data VolumeState
+ Network.AWS.EC2: data VolumeStatusAction
+ Network.AWS.EC2: data VolumeStatusDetails
+ Network.AWS.EC2: data VolumeStatusEvent
+ Network.AWS.EC2: data VolumeStatusInfo
+ Network.AWS.EC2: data VolumeStatusInfoStatus
+ Network.AWS.EC2: data VolumeStatusItem
+ Network.AWS.EC2: data VolumeStatusName
+ Network.AWS.EC2: data VolumeType
+ Network.AWS.EC2: dcKey :: Lens' DHCPConfiguration (Maybe Text)
+ Network.AWS.EC2: dcValues :: Lens' DHCPConfiguration [AttributeValue]
+ Network.AWS.EC2: dhcpConfiguration :: DHCPConfiguration
+ Network.AWS.EC2: dhcpOptions :: DHCPOptions
+ Network.AWS.EC2: diDescription :: Lens' DiskImage (Maybe Text)
+ Network.AWS.EC2: diImage :: Lens' DiskImage (Maybe DiskImageDetail)
+ Network.AWS.EC2: diVolume :: Lens' DiskImage (Maybe VolumeDetail)
+ Network.AWS.EC2: didBytes :: Lens' DiskImageDetail Integer
+ Network.AWS.EC2: didFormat :: Lens' DiskImageDetail DiskImageFormat
+ Network.AWS.EC2: didImportManifestURL :: Lens' DiskImageDetail Text
+ Network.AWS.EC2: diskImage :: DiskImage
+ Network.AWS.EC2: diskImageDescription :: DiskImageFormat -> Integer -> Text -> DiskImageDescription
+ Network.AWS.EC2: diskImageDetail :: DiskImageFormat -> Integer -> Text -> DiskImageDetail
+ Network.AWS.EC2: diskImageVolumeDescription :: Text -> DiskImageVolumeDescription
+ Network.AWS.EC2: divdId :: Lens' DiskImageVolumeDescription Text
+ Network.AWS.EC2: divdSize :: Lens' DiskImageVolumeDescription (Maybe Integer)
+ Network.AWS.EC2: doDHCPConfigurations :: Lens' DHCPOptions [DHCPConfiguration]
+ Network.AWS.EC2: doDHCPOptionsId :: Lens' DHCPOptions (Maybe Text)
+ Network.AWS.EC2: doTags :: Lens' DHCPOptions [Tag]
+ Network.AWS.EC2: ebdDeleteOnTermination :: Lens' EBSBlockDevice (Maybe Bool)
+ Network.AWS.EC2: ebdEncrypted :: Lens' EBSBlockDevice (Maybe Bool)
+ Network.AWS.EC2: ebdIOPS :: Lens' EBSBlockDevice (Maybe Int)
+ Network.AWS.EC2: ebdSnapshotId :: Lens' EBSBlockDevice (Maybe Text)
+ Network.AWS.EC2: ebdVolumeSize :: Lens' EBSBlockDevice (Maybe Int)
+ Network.AWS.EC2: ebdVolumeType :: Lens' EBSBlockDevice (Maybe VolumeType)
+ Network.AWS.EC2: ebsBlockDevice :: EBSBlockDevice
+ Network.AWS.EC2: ebsInstanceBlockDevice :: EBSInstanceBlockDevice
+ Network.AWS.EC2: ebsInstanceBlockDeviceSpecification :: EBSInstanceBlockDeviceSpecification
+ Network.AWS.EC2: eiEventDescription :: Lens' EventInformation (Maybe Text)
+ Network.AWS.EC2: eiEventSubType :: Lens' EventInformation (Maybe Text)
+ Network.AWS.EC2: eiInstanceId :: Lens' EventInformation (Maybe Text)
+ Network.AWS.EC2: eibdAttachTime :: Lens' EBSInstanceBlockDevice (Maybe UTCTime)
+ Network.AWS.EC2: eibdDeleteOnTermination :: Lens' EBSInstanceBlockDevice (Maybe Bool)
+ Network.AWS.EC2: eibdStatus :: Lens' EBSInstanceBlockDevice (Maybe AttachmentStatus)
+ Network.AWS.EC2: eibdVolumeId :: Lens' EBSInstanceBlockDevice (Maybe Text)
+ Network.AWS.EC2: eibdsDeleteOnTermination :: Lens' EBSInstanceBlockDeviceSpecification (Maybe Bool)
+ Network.AWS.EC2: eibdsVolumeId :: Lens' EBSInstanceBlockDeviceSpecification (Maybe Text)
+ Network.AWS.EC2: etDescription :: Lens' ExportTask Text
+ Network.AWS.EC2: etExportTaskId :: Lens' ExportTask Text
+ Network.AWS.EC2: etExportToS3Task :: Lens' ExportTask ExportToS3Task
+ Network.AWS.EC2: etInstanceExportDetails :: Lens' ExportTask InstanceExportDetails
+ Network.AWS.EC2: etState :: Lens' ExportTask ExportTaskState
+ Network.AWS.EC2: etStatusMessage :: Lens' ExportTask Text
+ Network.AWS.EC2: etstContainerFormat :: Lens' ExportToS3Task (Maybe ContainerFormat)
+ Network.AWS.EC2: etstDiskImageFormat :: Lens' ExportToS3Task (Maybe DiskImageFormat)
+ Network.AWS.EC2: etstS3Bucket :: Lens' ExportToS3Task (Maybe Text)
+ Network.AWS.EC2: etstS3Key :: Lens' ExportToS3Task (Maybe Text)
+ Network.AWS.EC2: etstsContainerFormat :: Lens' ExportToS3TaskSpecification (Maybe ContainerFormat)
+ Network.AWS.EC2: etstsDiskImageFormat :: Lens' ExportToS3TaskSpecification (Maybe DiskImageFormat)
+ Network.AWS.EC2: etstsS3Bucket :: Lens' ExportToS3TaskSpecification (Maybe Text)
+ Network.AWS.EC2: etstsS3Prefix :: Lens' ExportToS3TaskSpecification (Maybe Text)
+ Network.AWS.EC2: eventInformation :: EventInformation
+ Network.AWS.EC2: exportTask :: Text -> Text -> ExportToS3Task -> InstanceExportDetails -> ExportTaskState -> Text -> ExportTask
+ Network.AWS.EC2: exportTaskCancelled :: Wait DescribeExportTasks
+ Network.AWS.EC2: exportTaskCompleted :: Wait DescribeExportTasks
+ Network.AWS.EC2: exportToS3Task :: ExportToS3Task
+ Network.AWS.EC2: exportToS3TaskSpecification :: ExportToS3TaskSpecification
+ Network.AWS.EC2: fName :: Lens' Filter Text
+ Network.AWS.EC2: fValues :: Lens' Filter [Text]
+ Network.AWS.EC2: filter' :: Text -> Filter
+ Network.AWS.EC2: flCreationTime :: Lens' FlowLog (Maybe UTCTime)
+ Network.AWS.EC2: flDeliverLogsErrorMessage :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2: flDeliverLogsPermissionARN :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2: flDeliverLogsStatus :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2: flFlowLogId :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2: flFlowLogStatus :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2: flLogGroupName :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2: flResourceId :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2: flTrafficType :: Lens' FlowLog (Maybe TrafficType)
+ Network.AWS.EC2: flowLog :: FlowLog
+ Network.AWS.EC2: giGroupId :: Lens' GroupIdentifier (Maybe Text)
+ Network.AWS.EC2: giGroupName :: Lens' GroupIdentifier (Maybe Text)
+ Network.AWS.EC2: groupIdentifier :: GroupIdentifier
+ Network.AWS.EC2: historyRecord :: UTCTime -> EventType -> EventInformation -> HistoryRecord
+ Network.AWS.EC2: hrEventInformation :: Lens' HistoryRecord EventInformation
+ Network.AWS.EC2: hrEventType :: Lens' HistoryRecord EventType
+ Network.AWS.EC2: hrTimestamp :: Lens' HistoryRecord UTCTime
+ Network.AWS.EC2: iArchitecture :: Lens' Image ArchitectureValues
+ Network.AWS.EC2: iBlockDeviceMappings :: Lens' Image [BlockDeviceMapping]
+ Network.AWS.EC2: iCreationDate :: Lens' Image (Maybe Text)
+ Network.AWS.EC2: iDescription :: Lens' Image (Maybe Text)
+ Network.AWS.EC2: iHypervisor :: Lens' Image HypervisorType
+ Network.AWS.EC2: iImageId :: Lens' Image Text
+ Network.AWS.EC2: iImageLocation :: Lens' Image Text
+ Network.AWS.EC2: iImageOwnerAlias :: Lens' Image (Maybe Text)
+ Network.AWS.EC2: iImageType :: Lens' Image ImageTypeValues
+ Network.AWS.EC2: iKernelId :: Lens' Image (Maybe Text)
+ Network.AWS.EC2: iName :: Lens' Image (Maybe Text)
+ Network.AWS.EC2: iOwnerId :: Lens' Image Text
+ Network.AWS.EC2: iPlatform :: Lens' Image (Maybe PlatformValues)
+ Network.AWS.EC2: iProductCodes :: Lens' Image [ProductCode]
+ Network.AWS.EC2: iPublic :: Lens' Image Bool
+ Network.AWS.EC2: iRAMDiskId :: Lens' Image (Maybe Text)
+ Network.AWS.EC2: iRootDeviceName :: Lens' Image (Maybe Text)
+ Network.AWS.EC2: iRootDeviceType :: Lens' Image DeviceType
+ Network.AWS.EC2: iSRIOVNetSupport :: Lens' Image (Maybe Text)
+ Network.AWS.EC2: iState :: Lens' Image ImageState
+ Network.AWS.EC2: iStateReason :: Lens' Image (Maybe StateReason)
+ Network.AWS.EC2: iTags :: Lens' Image [Tag]
+ Network.AWS.EC2: iVirtualizationType :: Lens' Image VirtualizationType
+ Network.AWS.EC2: iamInstanceProfile :: IAMInstanceProfile
+ Network.AWS.EC2: iamInstanceProfileSpecification :: IAMInstanceProfileSpecification
+ Network.AWS.EC2: iapARN :: Lens' IAMInstanceProfile (Maybe Text)
+ Network.AWS.EC2: iapId :: Lens' IAMInstanceProfile (Maybe Text)
+ Network.AWS.EC2: iapsARN :: Lens' IAMInstanceProfileSpecification (Maybe Text)
+ Network.AWS.EC2: iapsName :: Lens' IAMInstanceProfileSpecification (Maybe Text)
+ Network.AWS.EC2: ibdmDeviceName :: Lens' InstanceBlockDeviceMapping (Maybe Text)
+ Network.AWS.EC2: ibdmEBS :: Lens' InstanceBlockDeviceMapping (Maybe EBSInstanceBlockDevice)
+ Network.AWS.EC2: ibdmsDeviceName :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)
+ Network.AWS.EC2: ibdmsEBS :: Lens' InstanceBlockDeviceMappingSpecification (Maybe EBSInstanceBlockDeviceSpecification)
+ Network.AWS.EC2: ibdmsNoDevice :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)
+ Network.AWS.EC2: ibdmsVirtualName :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)
+ Network.AWS.EC2: icInstanceCount :: Lens' InstanceCount (Maybe Int)
+ Network.AWS.EC2: icState :: Lens' InstanceCount (Maybe ListingState)
+ Network.AWS.EC2: icmpTypeCode :: ICMPTypeCode
+ Network.AWS.EC2: idcDescription :: Lens' ImageDiskContainer (Maybe Text)
+ Network.AWS.EC2: idcDeviceName :: Lens' ImageDiskContainer (Maybe Text)
+ Network.AWS.EC2: idcFormat :: Lens' ImageDiskContainer (Maybe Text)
+ Network.AWS.EC2: idcSnapshotId :: Lens' ImageDiskContainer (Maybe Text)
+ Network.AWS.EC2: idcURL :: Lens' ImageDiskContainer (Maybe Text)
+ Network.AWS.EC2: idcUserBucket :: Lens' ImageDiskContainer (Maybe UserBucket)
+ Network.AWS.EC2: iedInstanceId :: Lens' InstanceExportDetails (Maybe Text)
+ Network.AWS.EC2: iedTargetEnvironment :: Lens' InstanceExportDetails (Maybe ExportEnvironment)
+ Network.AWS.EC2: igAttachments :: Lens' InternetGateway [InternetGatewayAttachment]
+ Network.AWS.EC2: igInternetGatewayId :: Lens' InternetGateway Text
+ Network.AWS.EC2: igTags :: Lens' InternetGateway [Tag]
+ Network.AWS.EC2: igaState :: Lens' InternetGatewayAttachment AttachmentStatus
+ Network.AWS.EC2: igaVPCId :: Lens' InternetGatewayAttachment Text
+ Network.AWS.EC2: iilsAdditionalInfo :: Lens' ImportInstanceLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: iilsArchitecture :: Lens' ImportInstanceLaunchSpecification (Maybe ArchitectureValues)
+ Network.AWS.EC2: iilsGroupIds :: Lens' ImportInstanceLaunchSpecification [Text]
+ Network.AWS.EC2: iilsGroupNames :: Lens' ImportInstanceLaunchSpecification [Text]
+ Network.AWS.EC2: iilsInstanceInitiatedShutdownBehavior :: Lens' ImportInstanceLaunchSpecification (Maybe ShutdownBehavior)
+ Network.AWS.EC2: iilsInstanceType :: Lens' ImportInstanceLaunchSpecification (Maybe InstanceType)
+ Network.AWS.EC2: iilsMonitoring :: Lens' ImportInstanceLaunchSpecification (Maybe Bool)
+ Network.AWS.EC2: iilsPlacement :: Lens' ImportInstanceLaunchSpecification (Maybe Placement)
+ Network.AWS.EC2: iilsPrivateIPAddress :: Lens' ImportInstanceLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: iilsSubnetId :: Lens' ImportInstanceLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: iilsUserData :: Lens' ImportInstanceLaunchSpecification (Maybe UserData)
+ Network.AWS.EC2: iitArchitecture :: Lens' ImportImageTask (Maybe Text)
+ Network.AWS.EC2: iitDescription :: Lens' ImportImageTask (Maybe Text)
+ Network.AWS.EC2: iitHypervisor :: Lens' ImportImageTask (Maybe Text)
+ Network.AWS.EC2: iitImageId :: Lens' ImportImageTask (Maybe Text)
+ Network.AWS.EC2: iitImportTaskId :: Lens' ImportImageTask (Maybe Text)
+ Network.AWS.EC2: iitLicenseType :: Lens' ImportImageTask (Maybe Text)
+ Network.AWS.EC2: iitPlatform :: Lens' ImportImageTask (Maybe Text)
+ Network.AWS.EC2: iitProgress :: Lens' ImportImageTask (Maybe Text)
+ Network.AWS.EC2: iitSnapshotDetails :: Lens' ImportImageTask [SnapshotDetail]
+ Network.AWS.EC2: iitStatus :: Lens' ImportImageTask (Maybe Text)
+ Network.AWS.EC2: iitStatusMessage :: Lens' ImportImageTask (Maybe Text)
+ Network.AWS.EC2: iitdDescription :: Lens' ImportInstanceTaskDetails (Maybe Text)
+ Network.AWS.EC2: iitdInstanceId :: Lens' ImportInstanceTaskDetails (Maybe Text)
+ Network.AWS.EC2: iitdPlatform :: Lens' ImportInstanceTaskDetails (Maybe PlatformValues)
+ Network.AWS.EC2: iitdVolumes :: Lens' ImportInstanceTaskDetails [ImportInstanceVolumeDetailItem]
+ Network.AWS.EC2: iivdiAvailabilityZone :: Lens' ImportInstanceVolumeDetailItem Text
+ Network.AWS.EC2: iivdiBytesConverted :: Lens' ImportInstanceVolumeDetailItem Integer
+ Network.AWS.EC2: iivdiDescription :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)
+ Network.AWS.EC2: iivdiImage :: Lens' ImportInstanceVolumeDetailItem DiskImageDescription
+ Network.AWS.EC2: iivdiStatus :: Lens' ImportInstanceVolumeDetailItem Text
+ Network.AWS.EC2: iivdiStatusMessage :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)
+ Network.AWS.EC2: iivdiVolume :: Lens' ImportInstanceVolumeDetailItem DiskImageVolumeDescription
+ Network.AWS.EC2: imInstanceId :: Lens' InstanceMonitoring (Maybe Text)
+ Network.AWS.EC2: imMonitoring :: Lens' InstanceMonitoring (Maybe Monitoring)
+ Network.AWS.EC2: image :: Text -> Text -> ImageState -> Text -> Bool -> ArchitectureValues -> ImageTypeValues -> DeviceType -> VirtualizationType -> HypervisorType -> Image
+ Network.AWS.EC2: imageAvailable :: Wait DescribeImages
+ Network.AWS.EC2: imageDiskContainer :: ImageDiskContainer
+ Network.AWS.EC2: importImageTask :: ImportImageTask
+ Network.AWS.EC2: importInstanceLaunchSpecification :: ImportInstanceLaunchSpecification
+ Network.AWS.EC2: importInstanceTaskDetails :: ImportInstanceTaskDetails
+ Network.AWS.EC2: importInstanceVolumeDetailItem :: Integer -> Text -> DiskImageDescription -> DiskImageVolumeDescription -> Text -> ImportInstanceVolumeDetailItem
+ Network.AWS.EC2: importSnapshotTask :: ImportSnapshotTask
+ Network.AWS.EC2: importVolumeTaskDetails :: Integer -> Text -> DiskImageDescription -> DiskImageVolumeDescription -> ImportVolumeTaskDetails
+ Network.AWS.EC2: iniAssociation :: Lens' InstanceNetworkInterface (Maybe InstanceNetworkInterfaceAssociation)
+ Network.AWS.EC2: iniAttachment :: Lens' InstanceNetworkInterface (Maybe InstanceNetworkInterfaceAttachment)
+ Network.AWS.EC2: iniDescription :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2: iniGroups :: Lens' InstanceNetworkInterface [GroupIdentifier]
+ Network.AWS.EC2: iniMACAddress :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2: iniNetworkInterfaceId :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2: iniOwnerId :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2: iniPrivateDNSName :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2: iniPrivateIPAddress :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2: iniPrivateIPAddresses :: Lens' InstanceNetworkInterface [InstancePrivateIPAddress]
+ Network.AWS.EC2: iniSourceDestCheck :: Lens' InstanceNetworkInterface (Maybe Bool)
+ Network.AWS.EC2: iniStatus :: Lens' InstanceNetworkInterface (Maybe NetworkInterfaceStatus)
+ Network.AWS.EC2: iniSubnetId :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2: iniVPCId :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2: iniaAttachTime :: Lens' InstanceNetworkInterfaceAttachment (Maybe UTCTime)
+ Network.AWS.EC2: iniaAttachmentId :: Lens' InstanceNetworkInterfaceAttachment (Maybe Text)
+ Network.AWS.EC2: iniaDeleteOnTermination :: Lens' InstanceNetworkInterfaceAttachment (Maybe Bool)
+ Network.AWS.EC2: iniaDeviceIndex :: Lens' InstanceNetworkInterfaceAttachment (Maybe Int)
+ Network.AWS.EC2: iniaIPOwnerId :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2: iniaPublicDNSName :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2: iniaPublicIP :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2: iniaStatus :: Lens' InstanceNetworkInterfaceAttachment (Maybe AttachmentStatus)
+ Network.AWS.EC2: inisAssociatePublicIPAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Bool)
+ Network.AWS.EC2: inisDeleteOnTermination :: Lens' InstanceNetworkInterfaceSpecification (Maybe Bool)
+ Network.AWS.EC2: inisDescription :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)
+ Network.AWS.EC2: inisDeviceIndex :: Lens' InstanceNetworkInterfaceSpecification (Maybe Int)
+ Network.AWS.EC2: inisGroups :: Lens' InstanceNetworkInterfaceSpecification [Text]
+ Network.AWS.EC2: inisNetworkInterfaceId :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)
+ Network.AWS.EC2: inisPrivateIPAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)
+ Network.AWS.EC2: inisPrivateIPAddresses :: Lens' InstanceNetworkInterfaceSpecification [PrivateIPAddressSpecification]
+ Network.AWS.EC2: inisSecondaryPrivateIPAddressCount :: Lens' InstanceNetworkInterfaceSpecification (Maybe Int)
+ Network.AWS.EC2: inisSubnetId :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)
+ Network.AWS.EC2: insAMILaunchIndex :: Lens' Instance Int
+ Network.AWS.EC2: insArchitecture :: Lens' Instance ArchitectureValues
+ Network.AWS.EC2: insBlockDeviceMappings :: Lens' Instance [InstanceBlockDeviceMapping]
+ Network.AWS.EC2: insClientToken :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insEBSOptimized :: Lens' Instance (Maybe Bool)
+ Network.AWS.EC2: insHypervisor :: Lens' Instance HypervisorType
+ Network.AWS.EC2: insIAMInstanceProfile :: Lens' Instance (Maybe IAMInstanceProfile)
+ Network.AWS.EC2: insImageId :: Lens' Instance Text
+ Network.AWS.EC2: insInstanceId :: Lens' Instance Text
+ Network.AWS.EC2: insInstanceLifecycle :: Lens' Instance (Maybe InstanceLifecycleType)
+ Network.AWS.EC2: insInstanceType :: Lens' Instance InstanceType
+ Network.AWS.EC2: insKernelId :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insKeyName :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insLaunchTime :: Lens' Instance UTCTime
+ Network.AWS.EC2: insMonitoring :: Lens' Instance Monitoring
+ Network.AWS.EC2: insNetworkInterfaces :: Lens' Instance [InstanceNetworkInterface]
+ Network.AWS.EC2: insPlacement :: Lens' Instance Placement
+ Network.AWS.EC2: insPlatform :: Lens' Instance (Maybe PlatformValues)
+ Network.AWS.EC2: insPrivateDNSName :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insPrivateIPAddress :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insProductCodes :: Lens' Instance [ProductCode]
+ Network.AWS.EC2: insPublicDNSName :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insPublicIPAddress :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insRAMDiskId :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insRootDeviceName :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insRootDeviceType :: Lens' Instance DeviceType
+ Network.AWS.EC2: insSRIOVNetSupport :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insSecurityGroups :: Lens' Instance [GroupIdentifier]
+ Network.AWS.EC2: insSourceDestCheck :: Lens' Instance (Maybe Bool)
+ Network.AWS.EC2: insSpotInstanceRequestId :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insState :: Lens' Instance InstanceState
+ Network.AWS.EC2: insStateReason :: Lens' Instance (Maybe StateReason)
+ Network.AWS.EC2: insStateTransitionReason :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insSubnetId :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insTags :: Lens' Instance [Tag]
+ Network.AWS.EC2: insVPCId :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2: insVirtualizationType :: Lens' Instance VirtualizationType
+ Network.AWS.EC2: instance' :: Text -> Text -> Int -> InstanceType -> UTCTime -> Placement -> Monitoring -> ArchitectureValues -> DeviceType -> VirtualizationType -> HypervisorType -> InstanceState -> Instance
+ Network.AWS.EC2: instanceBlockDeviceMapping :: InstanceBlockDeviceMapping
+ Network.AWS.EC2: instanceBlockDeviceMappingSpecification :: InstanceBlockDeviceMappingSpecification
+ Network.AWS.EC2: instanceCount :: InstanceCount
+ Network.AWS.EC2: instanceExists :: Wait DescribeInstances
+ Network.AWS.EC2: instanceExportDetails :: InstanceExportDetails
+ Network.AWS.EC2: instanceMonitoring :: InstanceMonitoring
+ Network.AWS.EC2: instanceNetworkInterface :: InstanceNetworkInterface
+ Network.AWS.EC2: instanceNetworkInterfaceAssociation :: InstanceNetworkInterfaceAssociation
+ Network.AWS.EC2: instanceNetworkInterfaceAttachment :: InstanceNetworkInterfaceAttachment
+ Network.AWS.EC2: instanceNetworkInterfaceSpecification :: InstanceNetworkInterfaceSpecification
+ Network.AWS.EC2: instancePrivateIPAddress :: InstancePrivateIPAddress
+ Network.AWS.EC2: instanceRunning :: Wait DescribeInstances
+ Network.AWS.EC2: instanceState :: InstanceStateName -> Int -> InstanceState
+ Network.AWS.EC2: instanceStateChange :: InstanceStateChange
+ Network.AWS.EC2: instanceStatus :: InstanceStatus
+ Network.AWS.EC2: instanceStatusDetails :: InstanceStatusDetails
+ Network.AWS.EC2: instanceStatusEvent :: InstanceStatusEvent
+ Network.AWS.EC2: instanceStatusOK :: Wait DescribeInstanceStatus
+ Network.AWS.EC2: instanceStatusSummary :: SummaryStatus -> InstanceStatusSummary
+ Network.AWS.EC2: instanceStopped :: Wait DescribeInstances
+ Network.AWS.EC2: instanceTerminated :: Wait DescribeInstances
+ Network.AWS.EC2: internetGateway :: Text -> InternetGateway
+ Network.AWS.EC2: internetGatewayAttachment :: AttachmentStatus -> Text -> InternetGatewayAttachment
+ Network.AWS.EC2: ipFromPort :: Lens' IPPermission (Maybe Int)
+ Network.AWS.EC2: ipIPProtocol :: Lens' IPPermission Text
+ Network.AWS.EC2: ipIPRanges :: Lens' IPPermission [IPRange]
+ Network.AWS.EC2: ipPermission :: Text -> IPPermission
+ Network.AWS.EC2: ipPrefixListIds :: Lens' IPPermission [PrefixListId]
+ Network.AWS.EC2: ipRange :: Text -> IPRange
+ Network.AWS.EC2: ipToPort :: Lens' IPPermission (Maybe Int)
+ Network.AWS.EC2: ipUserIdGroupPairs :: Lens' IPPermission [UserIdGroupPair]
+ Network.AWS.EC2: ipiaAssociation :: Lens' InstancePrivateIPAddress (Maybe InstanceNetworkInterfaceAssociation)
+ Network.AWS.EC2: ipiaPrimary :: Lens' InstancePrivateIPAddress (Maybe Bool)
+ Network.AWS.EC2: ipiaPrivateDNSName :: Lens' InstancePrivateIPAddress (Maybe Text)
+ Network.AWS.EC2: ipiaPrivateIPAddress :: Lens' InstancePrivateIPAddress (Maybe Text)
+ Network.AWS.EC2: irCIdRIP :: Lens' IPRange Text
+ Network.AWS.EC2: isAvailabilityZone :: Lens' InstanceStatus (Maybe Text)
+ Network.AWS.EC2: isCode :: Lens' InstanceState Int
+ Network.AWS.EC2: isEvents :: Lens' InstanceStatus [InstanceStatusEvent]
+ Network.AWS.EC2: isInstanceId :: Lens' InstanceStatus (Maybe Text)
+ Network.AWS.EC2: isInstanceState :: Lens' InstanceStatus (Maybe InstanceState)
+ Network.AWS.EC2: isInstanceStatus :: Lens' InstanceStatus (Maybe InstanceStatusSummary)
+ Network.AWS.EC2: isName :: Lens' InstanceState InstanceStateName
+ Network.AWS.EC2: isSystemStatus :: Lens' InstanceStatus (Maybe InstanceStatusSummary)
+ Network.AWS.EC2: iscCurrentState :: Lens' InstanceStateChange (Maybe InstanceState)
+ Network.AWS.EC2: iscInstanceId :: Lens' InstanceStateChange (Maybe Text)
+ Network.AWS.EC2: iscPreviousState :: Lens' InstanceStateChange (Maybe InstanceState)
+ Network.AWS.EC2: isdImpairedSince :: Lens' InstanceStatusDetails (Maybe UTCTime)
+ Network.AWS.EC2: isdName :: Lens' InstanceStatusDetails (Maybe StatusName)
+ Network.AWS.EC2: isdStatus :: Lens' InstanceStatusDetails (Maybe StatusType)
+ Network.AWS.EC2: iseCode :: Lens' InstanceStatusEvent (Maybe EventCode)
+ Network.AWS.EC2: iseDescription :: Lens' InstanceStatusEvent (Maybe Text)
+ Network.AWS.EC2: iseNotAfter :: Lens' InstanceStatusEvent (Maybe UTCTime)
+ Network.AWS.EC2: iseNotBefore :: Lens' InstanceStatusEvent (Maybe UTCTime)
+ Network.AWS.EC2: issDetails :: Lens' InstanceStatusSummary [InstanceStatusDetails]
+ Network.AWS.EC2: issStatus :: Lens' InstanceStatusSummary SummaryStatus
+ Network.AWS.EC2: istDescription :: Lens' ImportSnapshotTask (Maybe Text)
+ Network.AWS.EC2: istImportTaskId :: Lens' ImportSnapshotTask (Maybe Text)
+ Network.AWS.EC2: istSnapshotTaskDetail :: Lens' ImportSnapshotTask (Maybe SnapshotTaskDetail)
+ Network.AWS.EC2: itcCode :: Lens' ICMPTypeCode (Maybe Int)
+ Network.AWS.EC2: itcType :: Lens' ICMPTypeCode (Maybe Int)
+ Network.AWS.EC2: ivtdAvailabilityZone :: Lens' ImportVolumeTaskDetails Text
+ Network.AWS.EC2: ivtdBytesConverted :: Lens' ImportVolumeTaskDetails Integer
+ Network.AWS.EC2: ivtdDescription :: Lens' ImportVolumeTaskDetails (Maybe Text)
+ Network.AWS.EC2: ivtdImage :: Lens' ImportVolumeTaskDetails DiskImageDescription
+ Network.AWS.EC2: ivtdVolume :: Lens' ImportVolumeTaskDetails DiskImageVolumeDescription
+ Network.AWS.EC2: keyPairInfo :: KeyPairInfo
+ Network.AWS.EC2: kpiKeyFingerprint :: Lens' KeyPairInfo (Maybe Text)
+ Network.AWS.EC2: kpiKeyName :: Lens' KeyPairInfo (Maybe Text)
+ Network.AWS.EC2: launchPermission :: LaunchPermission
+ Network.AWS.EC2: launchPermissionModifications :: LaunchPermissionModifications
+ Network.AWS.EC2: launchSpecification :: LaunchSpecification
+ Network.AWS.EC2: lpGroup :: Lens' LaunchPermission (Maybe PermissionGroup)
+ Network.AWS.EC2: lpUserId :: Lens' LaunchPermission (Maybe Text)
+ Network.AWS.EC2: lpmAdd :: Lens' LaunchPermissionModifications [LaunchPermission]
+ Network.AWS.EC2: lpmRemove :: Lens' LaunchPermissionModifications [LaunchPermission]
+ Network.AWS.EC2: lsAddressingType :: Lens' LaunchSpecification (Maybe Text)
+ Network.AWS.EC2: lsBlockDeviceMappings :: Lens' LaunchSpecification [BlockDeviceMapping]
+ Network.AWS.EC2: lsEBSOptimized :: Lens' LaunchSpecification (Maybe Bool)
+ Network.AWS.EC2: lsIAMInstanceProfile :: Lens' LaunchSpecification (Maybe IAMInstanceProfileSpecification)
+ Network.AWS.EC2: lsImageId :: Lens' LaunchSpecification (Maybe Text)
+ Network.AWS.EC2: lsInstanceType :: Lens' LaunchSpecification (Maybe InstanceType)
+ Network.AWS.EC2: lsKernelId :: Lens' LaunchSpecification (Maybe Text)
+ Network.AWS.EC2: lsKeyName :: Lens' LaunchSpecification (Maybe Text)
+ Network.AWS.EC2: lsMonitoring :: Lens' LaunchSpecification (Maybe RunInstancesMonitoringEnabled)
+ Network.AWS.EC2: lsNetworkInterfaces :: Lens' LaunchSpecification [InstanceNetworkInterfaceSpecification]
+ Network.AWS.EC2: lsPlacement :: Lens' LaunchSpecification (Maybe SpotPlacement)
+ Network.AWS.EC2: lsRAMDiskId :: Lens' LaunchSpecification (Maybe Text)
+ Network.AWS.EC2: lsSecurityGroups :: Lens' LaunchSpecification [GroupIdentifier]
+ Network.AWS.EC2: lsSubnetId :: Lens' LaunchSpecification (Maybe Text)
+ Network.AWS.EC2: lsUserData :: Lens' LaunchSpecification (Maybe Text)
+ Network.AWS.EC2: mState :: Lens' Monitoring (Maybe MonitoringState)
+ Network.AWS.EC2: masMoveStatus :: Lens' MovingAddressStatus (Maybe MoveStatus)
+ Network.AWS.EC2: masPublicIP :: Lens' MovingAddressStatus (Maybe Text)
+ Network.AWS.EC2: monitoring :: Monitoring
+ Network.AWS.EC2: movingAddressStatus :: MovingAddressStatus
+ Network.AWS.EC2: naAssociations :: Lens' NetworkACL [NetworkACLAssociation]
+ Network.AWS.EC2: naEntries :: Lens' NetworkACL [NetworkACLEntry]
+ Network.AWS.EC2: naIsDefault :: Lens' NetworkACL (Maybe Bool)
+ Network.AWS.EC2: naNetworkACLId :: Lens' NetworkACL (Maybe Text)
+ Network.AWS.EC2: naTags :: Lens' NetworkACL [Tag]
+ Network.AWS.EC2: naVPCId :: Lens' NetworkACL (Maybe Text)
+ Network.AWS.EC2: naaNetworkACLAssociationId :: Lens' NetworkACLAssociation (Maybe Text)
+ Network.AWS.EC2: naaNetworkACLId :: Lens' NetworkACLAssociation (Maybe Text)
+ Network.AWS.EC2: naaSubnetId :: Lens' NetworkACLAssociation (Maybe Text)
+ Network.AWS.EC2: naeCIdRBlock :: Lens' NetworkACLEntry (Maybe Text)
+ Network.AWS.EC2: naeEgress :: Lens' NetworkACLEntry (Maybe Bool)
+ Network.AWS.EC2: naeICMPTypeCode :: Lens' NetworkACLEntry (Maybe ICMPTypeCode)
+ Network.AWS.EC2: naePortRange :: Lens' NetworkACLEntry (Maybe PortRange)
+ Network.AWS.EC2: naeProtocol :: Lens' NetworkACLEntry (Maybe Text)
+ Network.AWS.EC2: naeRuleAction :: Lens' NetworkACLEntry (Maybe RuleAction)
+ Network.AWS.EC2: naeRuleNumber :: Lens' NetworkACLEntry (Maybe Int)
+ Network.AWS.EC2: ndcKey :: Lens' NewDHCPConfiguration (Maybe Text)
+ Network.AWS.EC2: ndcValues :: Lens' NewDHCPConfiguration [Text]
+ Network.AWS.EC2: networkACL :: NetworkACL
+ Network.AWS.EC2: networkACLAssociation :: NetworkACLAssociation
+ Network.AWS.EC2: networkACLEntry :: NetworkACLEntry
+ Network.AWS.EC2: networkInterface :: NetworkInterface
+ Network.AWS.EC2: networkInterfaceAssociation :: NetworkInterfaceAssociation
+ Network.AWS.EC2: networkInterfaceAttachment :: NetworkInterfaceAttachment
+ Network.AWS.EC2: networkInterfaceAttachmentChanges :: NetworkInterfaceAttachmentChanges
+ Network.AWS.EC2: networkInterfacePrivateIPAddress :: NetworkInterfacePrivateIPAddress
+ Network.AWS.EC2: newDHCPConfiguration :: NewDHCPConfiguration
+ Network.AWS.EC2: niAssociation :: Lens' NetworkInterface (Maybe NetworkInterfaceAssociation)
+ Network.AWS.EC2: niAttachment :: Lens' NetworkInterface (Maybe NetworkInterfaceAttachment)
+ Network.AWS.EC2: niAvailabilityZone :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2: niDescription :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2: niGroups :: Lens' NetworkInterface [GroupIdentifier]
+ Network.AWS.EC2: niMACAddress :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2: niNetworkInterfaceId :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2: niOwnerId :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2: niPrivateDNSName :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2: niPrivateIPAddress :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2: niPrivateIPAddresses :: Lens' NetworkInterface [NetworkInterfacePrivateIPAddress]
+ Network.AWS.EC2: niRequesterId :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2: niRequesterManaged :: Lens' NetworkInterface (Maybe Bool)
+ Network.AWS.EC2: niSourceDestCheck :: Lens' NetworkInterface (Maybe Bool)
+ Network.AWS.EC2: niStatus :: Lens' NetworkInterface (Maybe NetworkInterfaceStatus)
+ Network.AWS.EC2: niSubnetId :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2: niTagSet :: Lens' NetworkInterface [Tag]
+ Network.AWS.EC2: niVPCId :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2: niaAllocationId :: Lens' NetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2: niaAssociationId :: Lens' NetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2: niaAttachTime :: Lens' NetworkInterfaceAttachment (Maybe UTCTime)
+ Network.AWS.EC2: niaAttachmentId :: Lens' NetworkInterfaceAttachment (Maybe Text)
+ Network.AWS.EC2: niaDeleteOnTermination :: Lens' NetworkInterfaceAttachment (Maybe Bool)
+ Network.AWS.EC2: niaDeviceIndex :: Lens' NetworkInterfaceAttachment (Maybe Int)
+ Network.AWS.EC2: niaIPOwnerId :: Lens' NetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2: niaInstanceId :: Lens' NetworkInterfaceAttachment (Maybe Text)
+ Network.AWS.EC2: niaInstanceOwnerId :: Lens' NetworkInterfaceAttachment (Maybe Text)
+ Network.AWS.EC2: niaPublicDNSName :: Lens' NetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2: niaPublicIP :: Lens' NetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2: niaStatus :: Lens' NetworkInterfaceAttachment (Maybe AttachmentStatus)
+ Network.AWS.EC2: niacAttachmentId :: Lens' NetworkInterfaceAttachmentChanges (Maybe Text)
+ Network.AWS.EC2: niacDeleteOnTermination :: Lens' NetworkInterfaceAttachmentChanges (Maybe Bool)
+ Network.AWS.EC2: nipiaAssociation :: Lens' NetworkInterfacePrivateIPAddress (Maybe NetworkInterfaceAssociation)
+ Network.AWS.EC2: nipiaPrimary :: Lens' NetworkInterfacePrivateIPAddress (Maybe Bool)
+ Network.AWS.EC2: nipiaPrivateDNSName :: Lens' NetworkInterfacePrivateIPAddress (Maybe Text)
+ Network.AWS.EC2: nipiaPrivateIPAddress :: Lens' NetworkInterfacePrivateIPAddress (Maybe Text)
+ Network.AWS.EC2: pAvailabilityZone :: Lens' Placement (Maybe Text)
+ Network.AWS.EC2: pGroupName :: Lens' Placement (Maybe Text)
+ Network.AWS.EC2: pTenancy :: Lens' Placement (Maybe Tenancy)
+ Network.AWS.EC2: passwordDataAvailable :: Wait GetPasswordData
+ Network.AWS.EC2: pcProductCodeId :: Lens' ProductCode (Maybe Text)
+ Network.AWS.EC2: pcProductCodeType :: Lens' ProductCode (Maybe ProductCodeValues)
+ Network.AWS.EC2: pdCount :: Lens' PricingDetail (Maybe Int)
+ Network.AWS.EC2: pdPrice :: Lens' PricingDetail (Maybe Double)
+ Network.AWS.EC2: pgGroupName :: Lens' PlacementGroup (Maybe Text)
+ Network.AWS.EC2: pgState :: Lens' PlacementGroup (Maybe PlacementGroupState)
+ Network.AWS.EC2: pgStrategy :: Lens' PlacementGroup (Maybe PlacementStrategy)
+ Network.AWS.EC2: piasPrimary :: Lens' PrivateIPAddressSpecification (Maybe Bool)
+ Network.AWS.EC2: piasPrivateIPAddress :: Lens' PrivateIPAddressSpecification Text
+ Network.AWS.EC2: plCIdRs :: Lens' PrefixList [Text]
+ Network.AWS.EC2: plPrefixListId :: Lens' PrefixList (Maybe Text)
+ Network.AWS.EC2: plPrefixListName :: Lens' PrefixList (Maybe Text)
+ Network.AWS.EC2: placement :: Placement
+ Network.AWS.EC2: placementGroup :: PlacementGroup
+ Network.AWS.EC2: pliPrefixListId :: Lens' PrefixListId (Maybe Text)
+ Network.AWS.EC2: portRange :: PortRange
+ Network.AWS.EC2: prFrom :: Lens' PortRange (Maybe Int)
+ Network.AWS.EC2: prTo :: Lens' PortRange (Maybe Int)
+ Network.AWS.EC2: prefixList :: PrefixList
+ Network.AWS.EC2: prefixListId :: PrefixListId
+ Network.AWS.EC2: priceSchedule :: PriceSchedule
+ Network.AWS.EC2: priceScheduleSpecification :: PriceScheduleSpecification
+ Network.AWS.EC2: pricingDetail :: PricingDetail
+ Network.AWS.EC2: privateIPAddressSpecification :: Text -> PrivateIPAddressSpecification
+ Network.AWS.EC2: productCode :: ProductCode
+ Network.AWS.EC2: propagatingVGW :: PropagatingVGW
+ Network.AWS.EC2: psActive :: Lens' PriceSchedule (Maybe Bool)
+ Network.AWS.EC2: psCurrencyCode :: Lens' PriceSchedule (Maybe CurrencyCodeValues)
+ Network.AWS.EC2: psPrice :: Lens' PriceSchedule (Maybe Double)
+ Network.AWS.EC2: psTerm :: Lens' PriceSchedule (Maybe Integer)
+ Network.AWS.EC2: pssCurrencyCode :: Lens' PriceScheduleSpecification (Maybe CurrencyCodeValues)
+ Network.AWS.EC2: pssPrice :: Lens' PriceScheduleSpecification (Maybe Double)
+ Network.AWS.EC2: pssTerm :: Lens' PriceScheduleSpecification (Maybe Integer)
+ Network.AWS.EC2: pvGatewayId :: Lens' PropagatingVGW (Maybe Text)
+ Network.AWS.EC2: rDestinationCIdRBlock :: Lens' Route (Maybe Text)
+ Network.AWS.EC2: rDestinationPrefixListId :: Lens' Route (Maybe Text)
+ Network.AWS.EC2: rGatewayId :: Lens' Route (Maybe Text)
+ Network.AWS.EC2: rGroups :: Lens' Reservation [GroupIdentifier]
+ Network.AWS.EC2: rInstanceId :: Lens' Route (Maybe Text)
+ Network.AWS.EC2: rInstanceOwnerId :: Lens' Route (Maybe Text)
+ Network.AWS.EC2: rInstances :: Lens' Reservation [Instance]
+ Network.AWS.EC2: rNetworkInterfaceId :: Lens' Route (Maybe Text)
+ Network.AWS.EC2: rOrigin :: Lens' Route (Maybe RouteOrigin)
+ Network.AWS.EC2: rOwnerId :: Lens' Reservation Text
+ Network.AWS.EC2: rRequesterId :: Lens' Reservation (Maybe Text)
+ Network.AWS.EC2: rReservationId :: Lens' Reservation Text
+ Network.AWS.EC2: rState :: Lens' Route (Maybe RouteState)
+ Network.AWS.EC2: rVPCPeeringConnectionId :: Lens' Route (Maybe Text)
+ Network.AWS.EC2: rcAmount :: Lens' RecurringCharge (Maybe Double)
+ Network.AWS.EC2: rcFrequency :: Lens' RecurringCharge (Maybe RecurringChargeFrequency)
+ Network.AWS.EC2: recurringCharge :: RecurringCharge
+ Network.AWS.EC2: regionInfo :: RegionInfo
+ Network.AWS.EC2: requestSpotLaunchSpecification :: RequestSpotLaunchSpecification
+ Network.AWS.EC2: reservation :: Text -> Text -> Reservation
+ Network.AWS.EC2: reservedInstanceLimitPrice :: ReservedInstanceLimitPrice
+ Network.AWS.EC2: reservedInstances :: ReservedInstances
+ Network.AWS.EC2: reservedInstancesConfiguration :: ReservedInstancesConfiguration
+ Network.AWS.EC2: reservedInstancesId :: ReservedInstancesId
+ Network.AWS.EC2: reservedInstancesListing :: ReservedInstancesListing
+ Network.AWS.EC2: reservedInstancesModification :: ReservedInstancesModification
+ Network.AWS.EC2: reservedInstancesModificationResult :: ReservedInstancesModificationResult
+ Network.AWS.EC2: reservedInstancesOffering :: ReservedInstancesOffering
+ Network.AWS.EC2: riAvailabilityZone :: Lens' ReservedInstances (Maybe Text)
+ Network.AWS.EC2: riCurrencyCode :: Lens' ReservedInstances (Maybe CurrencyCodeValues)
+ Network.AWS.EC2: riDuration :: Lens' ReservedInstances (Maybe Integer)
+ Network.AWS.EC2: riEnd :: Lens' ReservedInstances (Maybe UTCTime)
+ Network.AWS.EC2: riEndpoint :: Lens' RegionInfo (Maybe Text)
+ Network.AWS.EC2: riFixedPrice :: Lens' ReservedInstances (Maybe Double)
+ Network.AWS.EC2: riInstanceCount :: Lens' ReservedInstances (Maybe Int)
+ Network.AWS.EC2: riInstanceTenancy :: Lens' ReservedInstances (Maybe Tenancy)
+ Network.AWS.EC2: riInstanceType :: Lens' ReservedInstances (Maybe InstanceType)
+ Network.AWS.EC2: riOfferingType :: Lens' ReservedInstances (Maybe OfferingTypeValues)
+ Network.AWS.EC2: riProductDescription :: Lens' ReservedInstances (Maybe RIProductDescription)
+ Network.AWS.EC2: riRecurringCharges :: Lens' ReservedInstances [RecurringCharge]
+ Network.AWS.EC2: riRegionName :: Lens' RegionInfo (Maybe Text)
+ Network.AWS.EC2: riReservedInstancesId :: Lens' ReservedInstances (Maybe Text)
+ Network.AWS.EC2: riStart :: Lens' ReservedInstances (Maybe UTCTime)
+ Network.AWS.EC2: riState :: Lens' ReservedInstances (Maybe ReservedInstanceState)
+ Network.AWS.EC2: riTags :: Lens' ReservedInstances [Tag]
+ Network.AWS.EC2: riUsagePrice :: Lens' ReservedInstances (Maybe Double)
+ Network.AWS.EC2: ricAvailabilityZone :: Lens' ReservedInstancesConfiguration (Maybe Text)
+ Network.AWS.EC2: ricInstanceCount :: Lens' ReservedInstancesConfiguration (Maybe Int)
+ Network.AWS.EC2: ricInstanceType :: Lens' ReservedInstancesConfiguration (Maybe InstanceType)
+ Network.AWS.EC2: ricPlatform :: Lens' ReservedInstancesConfiguration (Maybe Text)
+ Network.AWS.EC2: riiReservedInstancesId :: Lens' ReservedInstancesId (Maybe Text)
+ Network.AWS.EC2: rilClientToken :: Lens' ReservedInstancesListing (Maybe Text)
+ Network.AWS.EC2: rilCreateDate :: Lens' ReservedInstancesListing (Maybe UTCTime)
+ Network.AWS.EC2: rilInstanceCounts :: Lens' ReservedInstancesListing [InstanceCount]
+ Network.AWS.EC2: rilPriceSchedules :: Lens' ReservedInstancesListing [PriceSchedule]
+ Network.AWS.EC2: rilReservedInstancesId :: Lens' ReservedInstancesListing (Maybe Text)
+ Network.AWS.EC2: rilReservedInstancesListingId :: Lens' ReservedInstancesListing (Maybe Text)
+ Network.AWS.EC2: rilStatus :: Lens' ReservedInstancesListing (Maybe ListingStatus)
+ Network.AWS.EC2: rilStatusMessage :: Lens' ReservedInstancesListing (Maybe Text)
+ Network.AWS.EC2: rilTags :: Lens' ReservedInstancesListing [Tag]
+ Network.AWS.EC2: rilUpdateDate :: Lens' ReservedInstancesListing (Maybe UTCTime)
+ Network.AWS.EC2: rilpAmount :: Lens' ReservedInstanceLimitPrice (Maybe Double)
+ Network.AWS.EC2: rilpCurrencyCode :: Lens' ReservedInstanceLimitPrice (Maybe CurrencyCodeValues)
+ Network.AWS.EC2: rimClientToken :: Lens' ReservedInstancesModification (Maybe Text)
+ Network.AWS.EC2: rimCreateDate :: Lens' ReservedInstancesModification (Maybe UTCTime)
+ Network.AWS.EC2: rimEffectiveDate :: Lens' ReservedInstancesModification (Maybe UTCTime)
+ Network.AWS.EC2: rimModificationResults :: Lens' ReservedInstancesModification [ReservedInstancesModificationResult]
+ Network.AWS.EC2: rimReservedInstancesIds :: Lens' ReservedInstancesModification [ReservedInstancesId]
+ Network.AWS.EC2: rimReservedInstancesModificationId :: Lens' ReservedInstancesModification (Maybe Text)
+ Network.AWS.EC2: rimStatus :: Lens' ReservedInstancesModification (Maybe Text)
+ Network.AWS.EC2: rimStatusMessage :: Lens' ReservedInstancesModification (Maybe Text)
+ Network.AWS.EC2: rimUpdateDate :: Lens' ReservedInstancesModification (Maybe UTCTime)
+ Network.AWS.EC2: rimeEnabled :: Lens' RunInstancesMonitoringEnabled Bool
+ Network.AWS.EC2: rimrReservedInstancesId :: Lens' ReservedInstancesModificationResult (Maybe Text)
+ Network.AWS.EC2: rimrTargetConfiguration :: Lens' ReservedInstancesModificationResult (Maybe ReservedInstancesConfiguration)
+ Network.AWS.EC2: rioAvailabilityZone :: Lens' ReservedInstancesOffering (Maybe Text)
+ Network.AWS.EC2: rioCurrencyCode :: Lens' ReservedInstancesOffering (Maybe CurrencyCodeValues)
+ Network.AWS.EC2: rioDuration :: Lens' ReservedInstancesOffering (Maybe Integer)
+ Network.AWS.EC2: rioFixedPrice :: Lens' ReservedInstancesOffering (Maybe Double)
+ Network.AWS.EC2: rioInstanceTenancy :: Lens' ReservedInstancesOffering (Maybe Tenancy)
+ Network.AWS.EC2: rioInstanceType :: Lens' ReservedInstancesOffering (Maybe InstanceType)
+ Network.AWS.EC2: rioMarketplace :: Lens' ReservedInstancesOffering (Maybe Bool)
+ Network.AWS.EC2: rioOfferingType :: Lens' ReservedInstancesOffering (Maybe OfferingTypeValues)
+ Network.AWS.EC2: rioPricingDetails :: Lens' ReservedInstancesOffering [PricingDetail]
+ Network.AWS.EC2: rioProductDescription :: Lens' ReservedInstancesOffering (Maybe RIProductDescription)
+ Network.AWS.EC2: rioRecurringCharges :: Lens' ReservedInstancesOffering [RecurringCharge]
+ Network.AWS.EC2: rioReservedInstancesOfferingId :: Lens' ReservedInstancesOffering (Maybe Text)
+ Network.AWS.EC2: rioUsagePrice :: Lens' ReservedInstancesOffering (Maybe Double)
+ Network.AWS.EC2: route :: Route
+ Network.AWS.EC2: routeTable :: RouteTable
+ Network.AWS.EC2: routeTableAssociation :: RouteTableAssociation
+ Network.AWS.EC2: rslsAddressingType :: Lens' RequestSpotLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: rslsBlockDeviceMappings :: Lens' RequestSpotLaunchSpecification [BlockDeviceMapping]
+ Network.AWS.EC2: rslsEBSOptimized :: Lens' RequestSpotLaunchSpecification (Maybe Bool)
+ Network.AWS.EC2: rslsIAMInstanceProfile :: Lens' RequestSpotLaunchSpecification (Maybe IAMInstanceProfileSpecification)
+ Network.AWS.EC2: rslsImageId :: Lens' RequestSpotLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: rslsInstanceType :: Lens' RequestSpotLaunchSpecification (Maybe InstanceType)
+ Network.AWS.EC2: rslsKernelId :: Lens' RequestSpotLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: rslsKeyName :: Lens' RequestSpotLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: rslsMonitoring :: Lens' RequestSpotLaunchSpecification (Maybe RunInstancesMonitoringEnabled)
+ Network.AWS.EC2: rslsNetworkInterfaces :: Lens' RequestSpotLaunchSpecification [InstanceNetworkInterfaceSpecification]
+ Network.AWS.EC2: rslsPlacement :: Lens' RequestSpotLaunchSpecification (Maybe SpotPlacement)
+ Network.AWS.EC2: rslsRAMDiskId :: Lens' RequestSpotLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: rslsSecurityGroupIds :: Lens' RequestSpotLaunchSpecification [Text]
+ Network.AWS.EC2: rslsSecurityGroups :: Lens' RequestSpotLaunchSpecification [Text]
+ Network.AWS.EC2: rslsSubnetId :: Lens' RequestSpotLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: rslsUserData :: Lens' RequestSpotLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: rtAssociations :: Lens' RouteTable [RouteTableAssociation]
+ Network.AWS.EC2: rtPropagatingVGWs :: Lens' RouteTable [PropagatingVGW]
+ Network.AWS.EC2: rtRouteTableId :: Lens' RouteTable (Maybe Text)
+ Network.AWS.EC2: rtRoutes :: Lens' RouteTable [Route]
+ Network.AWS.EC2: rtTags :: Lens' RouteTable [Tag]
+ Network.AWS.EC2: rtVPCId :: Lens' RouteTable (Maybe Text)
+ Network.AWS.EC2: rtaMain :: Lens' RouteTableAssociation (Maybe Bool)
+ Network.AWS.EC2: rtaRouteTableAssociationId :: Lens' RouteTableAssociation (Maybe Text)
+ Network.AWS.EC2: rtaRouteTableId :: Lens' RouteTableAssociation (Maybe Text)
+ Network.AWS.EC2: rtaSubnetId :: Lens' RouteTableAssociation (Maybe Text)
+ Network.AWS.EC2: runInstancesMonitoringEnabled :: Bool -> RunInstancesMonitoringEnabled
+ Network.AWS.EC2: s3Storage :: S3Storage
+ Network.AWS.EC2: sAvailabilityZone :: Lens' SpotPrice (Maybe Text)
+ Network.AWS.EC2: sDescription :: Lens' Snapshot Text
+ Network.AWS.EC2: sEncrypted :: Lens' Snapshot Bool
+ Network.AWS.EC2: sInstanceType :: Lens' SpotPrice (Maybe InstanceType)
+ Network.AWS.EC2: sKMSKeyId :: Lens' Snapshot (Maybe Text)
+ Network.AWS.EC2: sOwnerAlias :: Lens' Snapshot (Maybe Text)
+ Network.AWS.EC2: sOwnerId :: Lens' Snapshot Text
+ Network.AWS.EC2: sProductDescription :: Lens' SpotPrice (Maybe RIProductDescription)
+ Network.AWS.EC2: sProgress :: Lens' Snapshot Text
+ Network.AWS.EC2: sS3 :: Lens' Storage (Maybe S3Storage)
+ Network.AWS.EC2: sSnapshotId :: Lens' Snapshot Text
+ Network.AWS.EC2: sSpotPrice :: Lens' SpotPrice (Maybe Text)
+ Network.AWS.EC2: sStartTime :: Lens' Snapshot UTCTime
+ Network.AWS.EC2: sState :: Lens' Snapshot SnapshotState
+ Network.AWS.EC2: sTags :: Lens' Snapshot [Tag]
+ Network.AWS.EC2: sTimestamp :: Lens' SpotPrice (Maybe UTCTime)
+ Network.AWS.EC2: sVolumeId :: Lens' Snapshot Text
+ Network.AWS.EC2: sVolumeSize :: Lens' Snapshot Int
+ Network.AWS.EC2: sdDescription :: Lens' SnapshotDetail (Maybe Text)
+ Network.AWS.EC2: sdDeviceName :: Lens' SnapshotDetail (Maybe Text)
+ Network.AWS.EC2: sdDiskImageSize :: Lens' SnapshotDetail (Maybe Double)
+ Network.AWS.EC2: sdFormat :: Lens' SnapshotDetail (Maybe Text)
+ Network.AWS.EC2: sdProgress :: Lens' SnapshotDetail (Maybe Text)
+ Network.AWS.EC2: sdSnapshotId :: Lens' SnapshotDetail (Maybe Text)
+ Network.AWS.EC2: sdStatus :: Lens' SnapshotDetail (Maybe Text)
+ Network.AWS.EC2: sdStatusMessage :: Lens' SnapshotDetail (Maybe Text)
+ Network.AWS.EC2: sdURL :: Lens' SnapshotDetail (Maybe Text)
+ Network.AWS.EC2: sdUserBucket :: Lens' SnapshotDetail (Maybe UserBucketDetails)
+ Network.AWS.EC2: sdcDescription :: Lens' SnapshotDiskContainer (Maybe Text)
+ Network.AWS.EC2: sdcFormat :: Lens' SnapshotDiskContainer (Maybe Text)
+ Network.AWS.EC2: sdcURL :: Lens' SnapshotDiskContainer (Maybe Text)
+ Network.AWS.EC2: sdcUserBucket :: Lens' SnapshotDiskContainer (Maybe UserBucket)
+ Network.AWS.EC2: sdsBucket :: Lens' SpotDatafeedSubscription (Maybe Text)
+ Network.AWS.EC2: sdsFault :: Lens' SpotDatafeedSubscription (Maybe SpotInstanceStateFault)
+ Network.AWS.EC2: sdsOwnerId :: Lens' SpotDatafeedSubscription (Maybe Text)
+ Network.AWS.EC2: sdsPrefix :: Lens' SpotDatafeedSubscription (Maybe Text)
+ Network.AWS.EC2: sdsState :: Lens' SpotDatafeedSubscription (Maybe DatafeedSubscriptionState)
+ Network.AWS.EC2: securityGroup :: Text -> Text -> Text -> Text -> SecurityGroup
+ Network.AWS.EC2: sflsAddressingType :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: sflsBlockDeviceMappings :: Lens' SpotFleetLaunchSpecification [BlockDeviceMapping]
+ Network.AWS.EC2: sflsEBSOptimized :: Lens' SpotFleetLaunchSpecification (Maybe Bool)
+ Network.AWS.EC2: sflsIAMInstanceProfile :: Lens' SpotFleetLaunchSpecification (Maybe IAMInstanceProfileSpecification)
+ Network.AWS.EC2: sflsImageId :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: sflsInstanceType :: Lens' SpotFleetLaunchSpecification (Maybe InstanceType)
+ Network.AWS.EC2: sflsKernelId :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: sflsKeyName :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: sflsMonitoring :: Lens' SpotFleetLaunchSpecification (Maybe SpotFleetMonitoring)
+ Network.AWS.EC2: sflsNetworkInterfaces :: Lens' SpotFleetLaunchSpecification [InstanceNetworkInterfaceSpecification]
+ Network.AWS.EC2: sflsPlacement :: Lens' SpotFleetLaunchSpecification (Maybe SpotPlacement)
+ Network.AWS.EC2: sflsRAMDiskId :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: sflsSecurityGroups :: Lens' SpotFleetLaunchSpecification [GroupIdentifier]
+ Network.AWS.EC2: sflsSubnetId :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: sflsUserData :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: sfmEnabled :: Lens' SpotFleetMonitoring (Maybe Bool)
+ Network.AWS.EC2: sfrcSpotFleetRequestConfig :: Lens' SpotFleetRequestConfig SpotFleetRequestConfigData
+ Network.AWS.EC2: sfrcSpotFleetRequestId :: Lens' SpotFleetRequestConfig Text
+ Network.AWS.EC2: sfrcSpotFleetRequestState :: Lens' SpotFleetRequestConfig BatchState
+ Network.AWS.EC2: sfrcdClientToken :: Lens' SpotFleetRequestConfigData (Maybe Text)
+ Network.AWS.EC2: sfrcdIAMFleetRole :: Lens' SpotFleetRequestConfigData Text
+ Network.AWS.EC2: sfrcdLaunchSpecifications :: Lens' SpotFleetRequestConfigData (NonEmpty SpotFleetLaunchSpecification)
+ Network.AWS.EC2: sfrcdSpotPrice :: Lens' SpotFleetRequestConfigData Text
+ Network.AWS.EC2: sfrcdTargetCapacity :: Lens' SpotFleetRequestConfigData Int
+ Network.AWS.EC2: sfrcdTerminateInstancesWithExpiration :: Lens' SpotFleetRequestConfigData (Maybe Bool)
+ Network.AWS.EC2: sfrcdValidFrom :: Lens' SpotFleetRequestConfigData (Maybe UTCTime)
+ Network.AWS.EC2: sfrcdValidUntil :: Lens' SpotFleetRequestConfigData (Maybe UTCTime)
+ Network.AWS.EC2: sgDescription :: Lens' SecurityGroup Text
+ Network.AWS.EC2: sgGroupId :: Lens' SecurityGroup Text
+ Network.AWS.EC2: sgGroupName :: Lens' SecurityGroup Text
+ Network.AWS.EC2: sgIPPermissions :: Lens' SecurityGroup [IPPermission]
+ Network.AWS.EC2: sgIPPermissionsEgress :: Lens' SecurityGroup [IPPermission]
+ Network.AWS.EC2: sgOwnerId :: Lens' SecurityGroup Text
+ Network.AWS.EC2: sgTags :: Lens' SecurityGroup [Tag]
+ Network.AWS.EC2: sgVPCId :: Lens' SecurityGroup (Maybe Text)
+ Network.AWS.EC2: sirAvailabilityZoneGroup :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2: sirCreateTime :: Lens' SpotInstanceRequest (Maybe UTCTime)
+ Network.AWS.EC2: sirFault :: Lens' SpotInstanceRequest (Maybe SpotInstanceStateFault)
+ Network.AWS.EC2: sirInstanceId :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2: sirLaunchGroup :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2: sirLaunchSpecification :: Lens' SpotInstanceRequest (Maybe LaunchSpecification)
+ Network.AWS.EC2: sirLaunchedAvailabilityZone :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2: sirProductDescription :: Lens' SpotInstanceRequest (Maybe RIProductDescription)
+ Network.AWS.EC2: sirSpotInstanceRequestId :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2: sirSpotPrice :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2: sirState :: Lens' SpotInstanceRequest (Maybe SpotInstanceState)
+ Network.AWS.EC2: sirStatus :: Lens' SpotInstanceRequest (Maybe SpotInstanceStatus)
+ Network.AWS.EC2: sirTags :: Lens' SpotInstanceRequest [Tag]
+ Network.AWS.EC2: sirType :: Lens' SpotInstanceRequest (Maybe SpotInstanceType)
+ Network.AWS.EC2: sirValidFrom :: Lens' SpotInstanceRequest (Maybe UTCTime)
+ Network.AWS.EC2: sirValidUntil :: Lens' SpotInstanceRequest (Maybe UTCTime)
+ Network.AWS.EC2: sisCode :: Lens' SpotInstanceStatus (Maybe Text)
+ Network.AWS.EC2: sisMessage :: Lens' SpotInstanceStatus (Maybe Text)
+ Network.AWS.EC2: sisUpdateTime :: Lens' SpotInstanceStatus (Maybe UTCTime)
+ Network.AWS.EC2: sisfCode :: Lens' SpotInstanceStateFault (Maybe Text)
+ Network.AWS.EC2: sisfMessage :: Lens' SpotInstanceStateFault (Maybe Text)
+ Network.AWS.EC2: snapshot :: Text -> Text -> Text -> Int -> Text -> UTCTime -> Text -> SnapshotState -> Bool -> Snapshot
+ Network.AWS.EC2: snapshotCompleted :: Wait DescribeSnapshots
+ Network.AWS.EC2: snapshotDetail :: SnapshotDetail
+ Network.AWS.EC2: snapshotDiskContainer :: SnapshotDiskContainer
+ Network.AWS.EC2: snapshotTaskDetail :: SnapshotTaskDetail
+ Network.AWS.EC2: spAvailabilityZone :: Lens' SpotPlacement (Maybe Text)
+ Network.AWS.EC2: spGroupName :: Lens' SpotPlacement (Maybe Text)
+ Network.AWS.EC2: spotDatafeedSubscription :: SpotDatafeedSubscription
+ Network.AWS.EC2: spotFleetLaunchSpecification :: SpotFleetLaunchSpecification
+ Network.AWS.EC2: spotFleetMonitoring :: SpotFleetMonitoring
+ Network.AWS.EC2: spotFleetRequestConfig :: Text -> BatchState -> SpotFleetRequestConfigData -> SpotFleetRequestConfig
+ Network.AWS.EC2: spotFleetRequestConfigData :: Text -> Int -> Text -> NonEmpty SpotFleetLaunchSpecification -> SpotFleetRequestConfigData
+ Network.AWS.EC2: spotInstanceRequest :: SpotInstanceRequest
+ Network.AWS.EC2: spotInstanceRequestFulfilled :: Wait DescribeSpotInstanceRequests
+ Network.AWS.EC2: spotInstanceStateFault :: SpotInstanceStateFault
+ Network.AWS.EC2: spotInstanceStatus :: SpotInstanceStatus
+ Network.AWS.EC2: spotPlacement :: SpotPlacement
+ Network.AWS.EC2: spotPrice :: SpotPrice
+ Network.AWS.EC2: srCode :: Lens' StateReason (Maybe Text)
+ Network.AWS.EC2: srMessage :: Lens' StateReason (Maybe Text)
+ Network.AWS.EC2: ssAWSAccessKeyId :: Lens' S3Storage (Maybe Text)
+ Network.AWS.EC2: ssBucket :: Lens' S3Storage (Maybe Text)
+ Network.AWS.EC2: ssPrefix :: Lens' S3Storage (Maybe Text)
+ Network.AWS.EC2: ssUploadPolicy :: Lens' S3Storage (Maybe ByteString)
+ Network.AWS.EC2: ssUploadPolicySignature :: Lens' S3Storage (Maybe Text)
+ Network.AWS.EC2: stateReason :: StateReason
+ Network.AWS.EC2: stdDescription :: Lens' SnapshotTaskDetail (Maybe Text)
+ Network.AWS.EC2: stdDiskImageSize :: Lens' SnapshotTaskDetail (Maybe Double)
+ Network.AWS.EC2: stdFormat :: Lens' SnapshotTaskDetail (Maybe Text)
+ Network.AWS.EC2: stdProgress :: Lens' SnapshotTaskDetail (Maybe Text)
+ Network.AWS.EC2: stdSnapshotId :: Lens' SnapshotTaskDetail (Maybe Text)
+ Network.AWS.EC2: stdStatus :: Lens' SnapshotTaskDetail (Maybe Text)
+ Network.AWS.EC2: stdStatusMessage :: Lens' SnapshotTaskDetail (Maybe Text)
+ Network.AWS.EC2: stdURL :: Lens' SnapshotTaskDetail (Maybe Text)
+ Network.AWS.EC2: stdUserBucket :: Lens' SnapshotTaskDetail (Maybe UserBucketDetails)
+ Network.AWS.EC2: storage :: Storage
+ Network.AWS.EC2: subAvailabilityZone :: Lens' Subnet Text
+ Network.AWS.EC2: subAvailableIPAddressCount :: Lens' Subnet Int
+ Network.AWS.EC2: subCIdRBlock :: Lens' Subnet Text
+ Network.AWS.EC2: subDefaultForAz :: Lens' Subnet Bool
+ Network.AWS.EC2: subMapPublicIPOnLaunch :: Lens' Subnet Bool
+ Network.AWS.EC2: subState :: Lens' Subnet SubnetState
+ Network.AWS.EC2: subSubnetId :: Lens' Subnet Text
+ Network.AWS.EC2: subTags :: Lens' Subnet [Tag]
+ Network.AWS.EC2: subVPCId :: Lens' Subnet Text
+ Network.AWS.EC2: subnet :: Text -> Int -> Text -> Bool -> Bool -> SubnetState -> Text -> Text -> Subnet
+ Network.AWS.EC2: subnetAvailable :: Wait DescribeSubnets
+ Network.AWS.EC2: systemStatusOK :: Wait DescribeInstanceStatus
+ Network.AWS.EC2: tag :: Text -> Text -> Tag
+ Network.AWS.EC2: tagDescription :: Text -> ResourceType -> Text -> Text -> TagDescription
+ Network.AWS.EC2: tagKey :: Lens' Tag Text
+ Network.AWS.EC2: tagValue :: Lens' Tag Text
+ Network.AWS.EC2: tdKey :: Lens' TagDescription Text
+ Network.AWS.EC2: tdResourceId :: Lens' TagDescription Text
+ Network.AWS.EC2: tdResourceType :: Lens' TagDescription ResourceType
+ Network.AWS.EC2: tdValue :: Lens' TagDescription Text
+ Network.AWS.EC2: ubS3Bucket :: Lens' UserBucket (Maybe Text)
+ Network.AWS.EC2: ubS3Key :: Lens' UserBucket (Maybe Text)
+ Network.AWS.EC2: ubdS3Bucket :: Lens' UserBucketDetails (Maybe Text)
+ Network.AWS.EC2: ubdS3Key :: Lens' UserBucketDetails (Maybe Text)
+ Network.AWS.EC2: udData :: Lens' UserData (Maybe Text)
+ Network.AWS.EC2: uiError :: Lens' UnsuccessfulItem UnsuccessfulItemError
+ Network.AWS.EC2: uiResourceId :: Lens' UnsuccessfulItem (Maybe Text)
+ Network.AWS.EC2: uieCode :: Lens' UnsuccessfulItemError Text
+ Network.AWS.EC2: uieMessage :: Lens' UnsuccessfulItemError Text
+ Network.AWS.EC2: uigpGroupId :: Lens' UserIdGroupPair (Maybe Text)
+ Network.AWS.EC2: uigpGroupName :: Lens' UserIdGroupPair (Maybe Text)
+ Network.AWS.EC2: uigpUserId :: Lens' UserIdGroupPair (Maybe Text)
+ Network.AWS.EC2: unsuccessfulItem :: UnsuccessfulItemError -> UnsuccessfulItem
+ Network.AWS.EC2: unsuccessfulItemError :: Text -> Text -> UnsuccessfulItemError
+ Network.AWS.EC2: userBucket :: UserBucket
+ Network.AWS.EC2: userBucketDetails :: UserBucketDetails
+ Network.AWS.EC2: userData :: UserData
+ Network.AWS.EC2: userIdGroupPair :: UserIdGroupPair
+ Network.AWS.EC2: vAttachments :: Lens' Volume [VolumeAttachment]
+ Network.AWS.EC2: vAvailabilityZone :: Lens' Volume Text
+ Network.AWS.EC2: vCreateTime :: Lens' Volume UTCTime
+ Network.AWS.EC2: vEncrypted :: Lens' Volume Bool
+ Network.AWS.EC2: vIOPS :: Lens' Volume (Maybe Int)
+ Network.AWS.EC2: vKMSKeyId :: Lens' Volume (Maybe Text)
+ Network.AWS.EC2: vSize :: Lens' Volume Int
+ Network.AWS.EC2: vSnapshotId :: Lens' Volume Text
+ Network.AWS.EC2: vState :: Lens' Volume VolumeState
+ Network.AWS.EC2: vTags :: Lens' Volume [Tag]
+ Network.AWS.EC2: vVolumeId :: Lens' Volume Text
+ Network.AWS.EC2: vVolumeType :: Lens' Volume VolumeType
+ Network.AWS.EC2: vaState :: Lens' VPCAttachment (Maybe AttachmentStatus)
+ Network.AWS.EC2: vaVPCId :: Lens' VPCAttachment (Maybe Text)
+ Network.AWS.EC2: vcCustomerGatewayConfiguration :: Lens' VPNConnection Text
+ Network.AWS.EC2: vcCustomerGatewayId :: Lens' VPNConnection Text
+ Network.AWS.EC2: vcOptions :: Lens' VPNConnection (Maybe VPNConnectionOptions)
+ Network.AWS.EC2: vcRoutes :: Lens' VPNConnection [VPNStaticRoute]
+ Network.AWS.EC2: vcState :: Lens' VPNConnection VPNState
+ Network.AWS.EC2: vcTags :: Lens' VPNConnection [Tag]
+ Network.AWS.EC2: vcType :: Lens' VPNConnection GatewayType
+ Network.AWS.EC2: vcVGWTelemetry :: Lens' VPNConnection [VGWTelemetry]
+ Network.AWS.EC2: vcVPNConnectionId :: Lens' VPNConnection Text
+ Network.AWS.EC2: vcVPNGatewayId :: Lens' VPNConnection (Maybe Text)
+ Network.AWS.EC2: vclClassicLinkEnabled :: Lens' VPCClassicLink (Maybe Bool)
+ Network.AWS.EC2: vclTags :: Lens' VPCClassicLink [Tag]
+ Network.AWS.EC2: vclVPCId :: Lens' VPCClassicLink (Maybe Text)
+ Network.AWS.EC2: vcoStaticRoutesOnly :: Lens' VPNConnectionOptions (Maybe Bool)
+ Network.AWS.EC2: vcosStaticRoutesOnly :: Lens' VPNConnectionOptionsSpecification (Maybe Bool)
+ Network.AWS.EC2: vdSize :: Lens' VolumeDetail Integer
+ Network.AWS.EC2: veCreationTimestamp :: Lens' VPCEndpoint (Maybe UTCTime)
+ Network.AWS.EC2: vePolicyDocument :: Lens' VPCEndpoint (Maybe Text)
+ Network.AWS.EC2: veRouteTableIds :: Lens' VPCEndpoint [Text]
+ Network.AWS.EC2: veServiceName :: Lens' VPCEndpoint (Maybe Text)
+ Network.AWS.EC2: veState :: Lens' VPCEndpoint (Maybe State)
+ Network.AWS.EC2: veVPCEndpointId :: Lens' VPCEndpoint (Maybe Text)
+ Network.AWS.EC2: veVPCId :: Lens' VPCEndpoint (Maybe Text)
+ Network.AWS.EC2: vgAvailabilityZone :: Lens' VPNGateway (Maybe Text)
+ Network.AWS.EC2: vgState :: Lens' VPNGateway (Maybe VPNState)
+ Network.AWS.EC2: vgTags :: Lens' VPNGateway [Tag]
+ Network.AWS.EC2: vgType :: Lens' VPNGateway (Maybe GatewayType)
+ Network.AWS.EC2: vgVPCAttachments :: Lens' VPNGateway [VPCAttachment]
+ Network.AWS.EC2: vgVPNGatewayId :: Lens' VPNGateway (Maybe Text)
+ Network.AWS.EC2: vgwTelemetry :: VGWTelemetry
+ Network.AWS.EC2: volAttachTime :: Lens' VolumeAttachment (Maybe UTCTime)
+ Network.AWS.EC2: volDeleteOnTermination :: Lens' VolumeAttachment (Maybe Bool)
+ Network.AWS.EC2: volDevice :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2: volInstanceId :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2: volState :: Lens' VolumeAttachment (Maybe VolumeAttachmentState)
+ Network.AWS.EC2: volVolumeId :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2: volume :: Text -> UTCTime -> Bool -> Int -> Text -> VolumeState -> Text -> VolumeType -> Volume
+ Network.AWS.EC2: volumeAttachment :: VolumeAttachment
+ Network.AWS.EC2: volumeAvailable :: Wait DescribeVolumes
+ Network.AWS.EC2: volumeDeleted :: Wait DescribeVolumes
+ Network.AWS.EC2: volumeDetail :: Integer -> VolumeDetail
+ Network.AWS.EC2: volumeInUse :: Wait DescribeVolumes
+ Network.AWS.EC2: volumeStatusAction :: VolumeStatusAction
+ Network.AWS.EC2: volumeStatusDetails :: VolumeStatusDetails
+ Network.AWS.EC2: volumeStatusEvent :: VolumeStatusEvent
+ Network.AWS.EC2: volumeStatusInfo :: VolumeStatusInfo
+ Network.AWS.EC2: volumeStatusItem :: VolumeStatusItem
+ Network.AWS.EC2: vpc :: Text -> Text -> Tenancy -> Bool -> VPCState -> Text -> VPC
+ Network.AWS.EC2: vpcAttachment :: VPCAttachment
+ Network.AWS.EC2: vpcAvailable :: Wait DescribeVPCs
+ Network.AWS.EC2: vpcCIdRBlock :: Lens' VPC Text
+ Network.AWS.EC2: vpcClassicLink :: VPCClassicLink
+ Network.AWS.EC2: vpcDHCPOptionsId :: Lens' VPC Text
+ Network.AWS.EC2: vpcEndpoint :: VPCEndpoint
+ Network.AWS.EC2: vpcInstanceTenancy :: Lens' VPC Tenancy
+ Network.AWS.EC2: vpcIsDefault :: Lens' VPC Bool
+ Network.AWS.EC2: vpcPeeringConnection :: VPCPeeringConnection
+ Network.AWS.EC2: vpcPeeringConnectionStateReason :: VPCPeeringConnectionStateReason
+ Network.AWS.EC2: vpcPeeringConnectionVPCInfo :: VPCPeeringConnectionVPCInfo
+ Network.AWS.EC2: vpcState :: Lens' VPC VPCState
+ Network.AWS.EC2: vpcTags :: Lens' VPC [Tag]
+ Network.AWS.EC2: vpcVPCId :: Lens' VPC Text
+ Network.AWS.EC2: vpcpcAccepterVPCInfo :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionVPCInfo)
+ Network.AWS.EC2: vpcpcExpirationTime :: Lens' VPCPeeringConnection (Maybe UTCTime)
+ Network.AWS.EC2: vpcpcRequesterVPCInfo :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionVPCInfo)
+ Network.AWS.EC2: vpcpcStatus :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionStateReason)
+ Network.AWS.EC2: vpcpcTags :: Lens' VPCPeeringConnection [Tag]
+ Network.AWS.EC2: vpcpcVPCPeeringConnectionId :: Lens' VPCPeeringConnection (Maybe Text)
+ Network.AWS.EC2: vpcsrCode :: Lens' VPCPeeringConnectionStateReason (Maybe VPCPeeringConnectionStateReasonCode)
+ Network.AWS.EC2: vpcsrMessage :: Lens' VPCPeeringConnectionStateReason (Maybe Text)
+ Network.AWS.EC2: vpcviCIdRBlock :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)
+ Network.AWS.EC2: vpcviOwnerId :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)
+ Network.AWS.EC2: vpcviVPCId :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)
+ Network.AWS.EC2: vpnConnection :: Text -> Text -> Text -> VPNState -> GatewayType -> VPNConnection
+ Network.AWS.EC2: vpnConnectionAvailable :: Wait DescribeVPNConnections
+ Network.AWS.EC2: vpnConnectionDeleted :: Wait DescribeVPNConnections
+ Network.AWS.EC2: vpnConnectionOptions :: VPNConnectionOptions
+ Network.AWS.EC2: vpnConnectionOptionsSpecification :: VPNConnectionOptionsSpecification
+ Network.AWS.EC2: vpnGateway :: VPNGateway
+ Network.AWS.EC2: vpnStaticRoute :: VPNStaticRoute
+ Network.AWS.EC2: vsaCode :: Lens' VolumeStatusAction (Maybe Text)
+ Network.AWS.EC2: vsaDescription :: Lens' VolumeStatusAction (Maybe Text)
+ Network.AWS.EC2: vsaEventId :: Lens' VolumeStatusAction (Maybe Text)
+ Network.AWS.EC2: vsaEventType :: Lens' VolumeStatusAction (Maybe Text)
+ Network.AWS.EC2: vsdName :: Lens' VolumeStatusDetails (Maybe VolumeStatusName)
+ Network.AWS.EC2: vsdStatus :: Lens' VolumeStatusDetails (Maybe Text)
+ Network.AWS.EC2: vseDescription :: Lens' VolumeStatusEvent (Maybe Text)
+ Network.AWS.EC2: vseEventId :: Lens' VolumeStatusEvent (Maybe Text)
+ Network.AWS.EC2: vseEventType :: Lens' VolumeStatusEvent (Maybe Text)
+ Network.AWS.EC2: vseNotAfter :: Lens' VolumeStatusEvent (Maybe UTCTime)
+ Network.AWS.EC2: vseNotBefore :: Lens' VolumeStatusEvent (Maybe UTCTime)
+ Network.AWS.EC2: vsiActions :: Lens' VolumeStatusItem [VolumeStatusAction]
+ Network.AWS.EC2: vsiAvailabilityZone :: Lens' VolumeStatusItem (Maybe Text)
+ Network.AWS.EC2: vsiDetails :: Lens' VolumeStatusInfo [VolumeStatusDetails]
+ Network.AWS.EC2: vsiEvents :: Lens' VolumeStatusItem [VolumeStatusEvent]
+ Network.AWS.EC2: vsiStatus :: Lens' VolumeStatusInfo (Maybe VolumeStatusInfoStatus)
+ Network.AWS.EC2: vsiVolumeId :: Lens' VolumeStatusItem (Maybe Text)
+ Network.AWS.EC2: vsiVolumeStatus :: Lens' VolumeStatusItem (Maybe VolumeStatusInfo)
+ Network.AWS.EC2: vsrDestinationCIdRBlock :: Lens' VPNStaticRoute (Maybe Text)
+ Network.AWS.EC2: vsrSource :: Lens' VPNStaticRoute (Maybe VPNStaticRouteSource)
+ Network.AWS.EC2: vsrState :: Lens' VPNStaticRoute (Maybe VPNState)
+ Network.AWS.EC2: vtAcceptedRouteCount :: Lens' VGWTelemetry (Maybe Int)
+ Network.AWS.EC2: vtLastStatusChange :: Lens' VGWTelemetry (Maybe UTCTime)
+ Network.AWS.EC2: vtOutsideIPAddress :: Lens' VGWTelemetry (Maybe Text)
+ Network.AWS.EC2: vtStatus :: Lens' VGWTelemetry (Maybe TelemetryStatus)
+ Network.AWS.EC2: vtStatusMessage :: Lens' VGWTelemetry (Maybe Text)
+ Network.AWS.EC2.AcceptVPCPeeringConnection: acceptVPCPeeringConnection :: AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: acceptVPCPeeringConnectionResponse :: Int -> AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AcceptVPCPeeringConnection: avpcDryRun :: Lens' AcceptVPCPeeringConnection (Maybe Bool)
+ Network.AWS.EC2.AcceptVPCPeeringConnection: avpcVPCPeeringConnectionId :: Lens' AcceptVPCPeeringConnection (Maybe Text)
+ Network.AWS.EC2.AcceptVPCPeeringConnection: avpcrsStatus :: Lens' AcceptVPCPeeringConnectionResponse Int
+ Network.AWS.EC2.AcceptVPCPeeringConnection: avpcrsVPCPeeringConnection :: Lens' AcceptVPCPeeringConnectionResponse (Maybe VPCPeeringConnection)
+ Network.AWS.EC2.AcceptVPCPeeringConnection: data AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: data AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance AWSRequest AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Constructor C1_0AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Constructor C1_0AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Data AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Data AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Datatype D1AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Datatype D1AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Eq AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Eq AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Generic AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Generic AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Read AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Read AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Selector S1_0_0AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Selector S1_0_0AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Selector S1_0_1AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Selector S1_0_1AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Show AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Show AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance ToHeaders AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance ToPath AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance ToQuery AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Typeable AcceptVPCPeeringConnection
+ Network.AWS.EC2.AcceptVPCPeeringConnection: instance Typeable AcceptVPCPeeringConnectionResponse
+ Network.AWS.EC2.AllocateAddress: aarsAllocationId :: Lens' AllocateAddressResponse (Maybe Text)
+ Network.AWS.EC2.AllocateAddress: aarsDomain :: Lens' AllocateAddressResponse (Maybe DomainType)
+ Network.AWS.EC2.AllocateAddress: aarsPublicIP :: Lens' AllocateAddressResponse (Maybe Text)
+ Network.AWS.EC2.AllocateAddress: aarsStatus :: Lens' AllocateAddressResponse Int
+ Network.AWS.EC2.AllocateAddress: instance Constructor C1_0AllocateAddress
+ Network.AWS.EC2.AllocateAddress: instance Constructor C1_0AllocateAddressResponse
+ Network.AWS.EC2.AllocateAddress: instance Data AllocateAddress
+ Network.AWS.EC2.AllocateAddress: instance Data AllocateAddressResponse
+ Network.AWS.EC2.AllocateAddress: instance Datatype D1AllocateAddress
+ Network.AWS.EC2.AllocateAddress: instance Datatype D1AllocateAddressResponse
+ Network.AWS.EC2.AllocateAddress: instance Generic AllocateAddress
+ Network.AWS.EC2.AllocateAddress: instance Generic AllocateAddressResponse
+ Network.AWS.EC2.AllocateAddress: instance Selector S1_0_0AllocateAddress
+ Network.AWS.EC2.AllocateAddress: instance Selector S1_0_0AllocateAddressResponse
+ Network.AWS.EC2.AllocateAddress: instance Selector S1_0_1AllocateAddress
+ Network.AWS.EC2.AllocateAddress: instance Selector S1_0_1AllocateAddressResponse
+ Network.AWS.EC2.AllocateAddress: instance Selector S1_0_2AllocateAddressResponse
+ Network.AWS.EC2.AllocateAddress: instance Selector S1_0_3AllocateAddressResponse
+ Network.AWS.EC2.AllocateAddress: instance Typeable AllocateAddress
+ Network.AWS.EC2.AllocateAddress: instance Typeable AllocateAddressResponse
+ Network.AWS.EC2.AssignPrivateIPAddresses: apiaAllowReassignment :: Lens' AssignPrivateIPAddresses (Maybe Bool)
+ Network.AWS.EC2.AssignPrivateIPAddresses: apiaNetworkInterfaceId :: Lens' AssignPrivateIPAddresses Text
+ Network.AWS.EC2.AssignPrivateIPAddresses: apiaPrivateIPAddresses :: Lens' AssignPrivateIPAddresses [Text]
+ Network.AWS.EC2.AssignPrivateIPAddresses: apiaSecondaryPrivateIPAddressCount :: Lens' AssignPrivateIPAddresses (Maybe Int)
+ Network.AWS.EC2.AssignPrivateIPAddresses: assignPrivateIPAddresses :: Text -> AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: assignPrivateIPAddressesResponse :: AssignPrivateIPAddressesResponse
+ Network.AWS.EC2.AssignPrivateIPAddresses: data AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: data AssignPrivateIPAddressesResponse
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance AWSRequest AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Constructor C1_0AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Constructor C1_0AssignPrivateIPAddressesResponse
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Data AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Data AssignPrivateIPAddressesResponse
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Datatype D1AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Datatype D1AssignPrivateIPAddressesResponse
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Eq AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Eq AssignPrivateIPAddressesResponse
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Generic AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Generic AssignPrivateIPAddressesResponse
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Read AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Read AssignPrivateIPAddressesResponse
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Selector S1_0_0AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Selector S1_0_1AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Selector S1_0_2AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Selector S1_0_3AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Show AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Show AssignPrivateIPAddressesResponse
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance ToHeaders AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance ToPath AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance ToQuery AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Typeable AssignPrivateIPAddresses
+ Network.AWS.EC2.AssignPrivateIPAddresses: instance Typeable AssignPrivateIPAddressesResponse
+ Network.AWS.EC2.AssociateAddress: aasAllocationId :: Lens' AssociateAddress (Maybe Text)
+ Network.AWS.EC2.AssociateAddress: aasAllowReassociation :: Lens' AssociateAddress (Maybe Bool)
+ Network.AWS.EC2.AssociateAddress: aasDryRun :: Lens' AssociateAddress (Maybe Bool)
+ Network.AWS.EC2.AssociateAddress: aasInstanceId :: Lens' AssociateAddress (Maybe Text)
+ Network.AWS.EC2.AssociateAddress: aasNetworkInterfaceId :: Lens' AssociateAddress (Maybe Text)
+ Network.AWS.EC2.AssociateAddress: aasPrivateIPAddress :: Lens' AssociateAddress (Maybe Text)
+ Network.AWS.EC2.AssociateAddress: aasPublicIP :: Lens' AssociateAddress (Maybe Text)
+ Network.AWS.EC2.AssociateAddress: arsAssociationId :: Lens' AssociateAddressResponse (Maybe Text)
+ Network.AWS.EC2.AssociateAddress: arsStatus :: Lens' AssociateAddressResponse Int
+ Network.AWS.EC2.AssociateAddress: instance Constructor C1_0AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Constructor C1_0AssociateAddressResponse
+ Network.AWS.EC2.AssociateAddress: instance Data AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Data AssociateAddressResponse
+ Network.AWS.EC2.AssociateAddress: instance Datatype D1AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Datatype D1AssociateAddressResponse
+ Network.AWS.EC2.AssociateAddress: instance Generic AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Generic AssociateAddressResponse
+ Network.AWS.EC2.AssociateAddress: instance Selector S1_0_0AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Selector S1_0_0AssociateAddressResponse
+ Network.AWS.EC2.AssociateAddress: instance Selector S1_0_1AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Selector S1_0_1AssociateAddressResponse
+ Network.AWS.EC2.AssociateAddress: instance Selector S1_0_2AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Selector S1_0_3AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Selector S1_0_4AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Selector S1_0_5AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Selector S1_0_6AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Typeable AssociateAddress
+ Network.AWS.EC2.AssociateAddress: instance Typeable AssociateAddressResponse
+ Network.AWS.EC2.AssociateDHCPOptions: adoDHCPOptionsId :: Lens' AssociateDHCPOptions Text
+ Network.AWS.EC2.AssociateDHCPOptions: adoDryRun :: Lens' AssociateDHCPOptions (Maybe Bool)
+ Network.AWS.EC2.AssociateDHCPOptions: adoVPCId :: Lens' AssociateDHCPOptions Text
+ Network.AWS.EC2.AssociateDHCPOptions: associateDHCPOptions :: Text -> Text -> AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: associateDHCPOptionsResponse :: AssociateDHCPOptionsResponse
+ Network.AWS.EC2.AssociateDHCPOptions: data AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: data AssociateDHCPOptionsResponse
+ Network.AWS.EC2.AssociateDHCPOptions: instance AWSRequest AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Constructor C1_0AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Constructor C1_0AssociateDHCPOptionsResponse
+ Network.AWS.EC2.AssociateDHCPOptions: instance Data AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Data AssociateDHCPOptionsResponse
+ Network.AWS.EC2.AssociateDHCPOptions: instance Datatype D1AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Datatype D1AssociateDHCPOptionsResponse
+ Network.AWS.EC2.AssociateDHCPOptions: instance Eq AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Eq AssociateDHCPOptionsResponse
+ Network.AWS.EC2.AssociateDHCPOptions: instance Generic AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Generic AssociateDHCPOptionsResponse
+ Network.AWS.EC2.AssociateDHCPOptions: instance Read AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Read AssociateDHCPOptionsResponse
+ Network.AWS.EC2.AssociateDHCPOptions: instance Selector S1_0_0AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Selector S1_0_1AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Selector S1_0_2AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Show AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Show AssociateDHCPOptionsResponse
+ Network.AWS.EC2.AssociateDHCPOptions: instance ToHeaders AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance ToPath AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance ToQuery AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Typeable AssociateDHCPOptions
+ Network.AWS.EC2.AssociateDHCPOptions: instance Typeable AssociateDHCPOptionsResponse
+ Network.AWS.EC2.AssociateRouteTable: artrsAssociationId :: Lens' AssociateRouteTableResponse (Maybe Text)
+ Network.AWS.EC2.AssociateRouteTable: artrsStatus :: Lens' AssociateRouteTableResponse Int
+ Network.AWS.EC2.AssociateRouteTable: instance Constructor C1_0AssociateRouteTable
+ Network.AWS.EC2.AssociateRouteTable: instance Constructor C1_0AssociateRouteTableResponse
+ Network.AWS.EC2.AssociateRouteTable: instance Data AssociateRouteTable
+ Network.AWS.EC2.AssociateRouteTable: instance Data AssociateRouteTableResponse
+ Network.AWS.EC2.AssociateRouteTable: instance Datatype D1AssociateRouteTable
+ Network.AWS.EC2.AssociateRouteTable: instance Datatype D1AssociateRouteTableResponse
+ Network.AWS.EC2.AssociateRouteTable: instance Generic AssociateRouteTable
+ Network.AWS.EC2.AssociateRouteTable: instance Generic AssociateRouteTableResponse
+ Network.AWS.EC2.AssociateRouteTable: instance Selector S1_0_0AssociateRouteTable
+ Network.AWS.EC2.AssociateRouteTable: instance Selector S1_0_0AssociateRouteTableResponse
+ Network.AWS.EC2.AssociateRouteTable: instance Selector S1_0_1AssociateRouteTable
+ Network.AWS.EC2.AssociateRouteTable: instance Selector S1_0_1AssociateRouteTableResponse
+ Network.AWS.EC2.AssociateRouteTable: instance Selector S1_0_2AssociateRouteTable
+ Network.AWS.EC2.AssociateRouteTable: instance Typeable AssociateRouteTable
+ Network.AWS.EC2.AssociateRouteTable: instance Typeable AssociateRouteTableResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: aclvDryRun :: Lens' AttachClassicLinkVPC (Maybe Bool)
+ Network.AWS.EC2.AttachClassicLinkVPC: aclvGroups :: Lens' AttachClassicLinkVPC [Text]
+ Network.AWS.EC2.AttachClassicLinkVPC: aclvInstanceId :: Lens' AttachClassicLinkVPC Text
+ Network.AWS.EC2.AttachClassicLinkVPC: aclvVPCId :: Lens' AttachClassicLinkVPC Text
+ Network.AWS.EC2.AttachClassicLinkVPC: aclvrsReturn :: Lens' AttachClassicLinkVPCResponse (Maybe Bool)
+ Network.AWS.EC2.AttachClassicLinkVPC: aclvrsStatus :: Lens' AttachClassicLinkVPCResponse Int
+ Network.AWS.EC2.AttachClassicLinkVPC: attachClassicLinkVPC :: Text -> Text -> AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: attachClassicLinkVPCResponse :: Int -> AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: data AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: data AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: instance AWSRequest AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Constructor C1_0AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Constructor C1_0AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Data AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Data AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Datatype D1AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Datatype D1AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Eq AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Eq AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Generic AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Generic AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Read AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Read AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Selector S1_0_0AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Selector S1_0_0AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Selector S1_0_1AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Selector S1_0_1AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Selector S1_0_2AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Selector S1_0_3AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Show AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Show AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachClassicLinkVPC: instance ToHeaders AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance ToPath AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance ToQuery AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Typeable AttachClassicLinkVPC
+ Network.AWS.EC2.AttachClassicLinkVPC: instance Typeable AttachClassicLinkVPCResponse
+ Network.AWS.EC2.AttachInternetGateway: aigVPCId :: Lens' AttachInternetGateway Text
+ Network.AWS.EC2.AttachInternetGateway: instance Constructor C1_0AttachInternetGateway
+ Network.AWS.EC2.AttachInternetGateway: instance Data AttachInternetGateway
+ Network.AWS.EC2.AttachInternetGateway: instance Data AttachInternetGatewayResponse
+ Network.AWS.EC2.AttachInternetGateway: instance Datatype D1AttachInternetGateway
+ Network.AWS.EC2.AttachInternetGateway: instance Generic AttachInternetGateway
+ Network.AWS.EC2.AttachInternetGateway: instance Selector S1_0_0AttachInternetGateway
+ Network.AWS.EC2.AttachInternetGateway: instance Selector S1_0_1AttachInternetGateway
+ Network.AWS.EC2.AttachInternetGateway: instance Selector S1_0_2AttachInternetGateway
+ Network.AWS.EC2.AttachInternetGateway: instance Typeable AttachInternetGateway
+ Network.AWS.EC2.AttachInternetGateway: instance Typeable AttachInternetGatewayResponse
+ Network.AWS.EC2.AttachNetworkInterface: anirsAttachmentId :: Lens' AttachNetworkInterfaceResponse (Maybe Text)
+ Network.AWS.EC2.AttachNetworkInterface: anirsStatus :: Lens' AttachNetworkInterfaceResponse Int
+ Network.AWS.EC2.AttachNetworkInterface: instance Constructor C1_0AttachNetworkInterface
+ Network.AWS.EC2.AttachNetworkInterface: instance Constructor C1_0AttachNetworkInterfaceResponse
+ Network.AWS.EC2.AttachNetworkInterface: instance Data AttachNetworkInterface
+ Network.AWS.EC2.AttachNetworkInterface: instance Data AttachNetworkInterfaceResponse
+ Network.AWS.EC2.AttachNetworkInterface: instance Datatype D1AttachNetworkInterface
+ Network.AWS.EC2.AttachNetworkInterface: instance Datatype D1AttachNetworkInterfaceResponse
+ Network.AWS.EC2.AttachNetworkInterface: instance Generic AttachNetworkInterface
+ Network.AWS.EC2.AttachNetworkInterface: instance Generic AttachNetworkInterfaceResponse
+ Network.AWS.EC2.AttachNetworkInterface: instance Selector S1_0_0AttachNetworkInterface
+ Network.AWS.EC2.AttachNetworkInterface: instance Selector S1_0_0AttachNetworkInterfaceResponse
+ Network.AWS.EC2.AttachNetworkInterface: instance Selector S1_0_1AttachNetworkInterface
+ Network.AWS.EC2.AttachNetworkInterface: instance Selector S1_0_1AttachNetworkInterfaceResponse
+ Network.AWS.EC2.AttachNetworkInterface: instance Selector S1_0_2AttachNetworkInterface
+ Network.AWS.EC2.AttachNetworkInterface: instance Selector S1_0_3AttachNetworkInterface
+ Network.AWS.EC2.AttachNetworkInterface: instance Typeable AttachNetworkInterface
+ Network.AWS.EC2.AttachNetworkInterface: instance Typeable AttachNetworkInterfaceResponse
+ Network.AWS.EC2.AttachVPNGateway: attachVPNGateway :: Text -> Text -> AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: attachVPNGatewayResponse :: Int -> AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVPNGateway: avgDryRun :: Lens' AttachVPNGateway (Maybe Bool)
+ Network.AWS.EC2.AttachVPNGateway: avgVPCId :: Lens' AttachVPNGateway Text
+ Network.AWS.EC2.AttachVPNGateway: avgVPNGatewayId :: Lens' AttachVPNGateway Text
+ Network.AWS.EC2.AttachVPNGateway: avgrsStatus :: Lens' AttachVPNGatewayResponse Int
+ Network.AWS.EC2.AttachVPNGateway: avgrsVPCAttachment :: Lens' AttachVPNGatewayResponse (Maybe VPCAttachment)
+ Network.AWS.EC2.AttachVPNGateway: data AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: data AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVPNGateway: instance AWSRequest AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Constructor C1_0AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Constructor C1_0AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVPNGateway: instance Data AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Data AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVPNGateway: instance Datatype D1AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Datatype D1AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVPNGateway: instance Eq AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Eq AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVPNGateway: instance Generic AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Generic AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVPNGateway: instance Read AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Read AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVPNGateway: instance Selector S1_0_0AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Selector S1_0_0AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVPNGateway: instance Selector S1_0_1AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Selector S1_0_1AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVPNGateway: instance Selector S1_0_2AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Show AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Show AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVPNGateway: instance ToHeaders AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance ToPath AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance ToQuery AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Typeable AttachVPNGateway
+ Network.AWS.EC2.AttachVPNGateway: instance Typeable AttachVPNGatewayResponse
+ Network.AWS.EC2.AttachVolume: data VolumeAttachment
+ Network.AWS.EC2.AttachVolume: instance Constructor C1_0AttachVolume
+ Network.AWS.EC2.AttachVolume: instance Data AttachVolume
+ Network.AWS.EC2.AttachVolume: instance Datatype D1AttachVolume
+ Network.AWS.EC2.AttachVolume: instance Generic AttachVolume
+ Network.AWS.EC2.AttachVolume: instance Selector S1_0_0AttachVolume
+ Network.AWS.EC2.AttachVolume: instance Selector S1_0_1AttachVolume
+ Network.AWS.EC2.AttachVolume: instance Selector S1_0_2AttachVolume
+ Network.AWS.EC2.AttachVolume: instance Selector S1_0_3AttachVolume
+ Network.AWS.EC2.AttachVolume: instance Typeable AttachVolume
+ Network.AWS.EC2.AttachVolume: volAttachTime :: Lens' VolumeAttachment (Maybe UTCTime)
+ Network.AWS.EC2.AttachVolume: volDeleteOnTermination :: Lens' VolumeAttachment (Maybe Bool)
+ Network.AWS.EC2.AttachVolume: volDevice :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2.AttachVolume: volInstanceId :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2.AttachVolume: volState :: Lens' VolumeAttachment (Maybe VolumeAttachmentState)
+ Network.AWS.EC2.AttachVolume: volVolumeId :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2.AttachVolume: volumeAttachment :: VolumeAttachment
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: asgeCIdRIP :: Lens' AuthorizeSecurityGroupEgress (Maybe Text)
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: asgeIPPermissions :: Lens' AuthorizeSecurityGroupEgress [IPPermission]
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: asgeIPProtocol :: Lens' AuthorizeSecurityGroupEgress (Maybe Text)
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Constructor C1_0AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Data AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Data AuthorizeSecurityGroupEgressResponse
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Datatype D1AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Generic AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Selector S1_0_0AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Selector S1_0_1AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Selector S1_0_2AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Selector S1_0_3AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Selector S1_0_4AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Selector S1_0_5AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Selector S1_0_6AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Selector S1_0_7AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Selector S1_0_8AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Typeable AuthorizeSecurityGroupEgress
+ Network.AWS.EC2.AuthorizeSecurityGroupEgress: instance Typeable AuthorizeSecurityGroupEgressResponse
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: asgiCIdRIP :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: asgiIPPermissions :: Lens' AuthorizeSecurityGroupIngress [IPPermission]
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: asgiIPProtocol :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Constructor C1_0AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Data AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Data AuthorizeSecurityGroupIngressResponse
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Datatype D1AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Generic AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Selector S1_0_0AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Selector S1_0_1AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Selector S1_0_2AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Selector S1_0_3AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Selector S1_0_4AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Selector S1_0_5AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Selector S1_0_6AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Selector S1_0_7AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Selector S1_0_8AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Selector S1_0_9AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Typeable AuthorizeSecurityGroupIngress
+ Network.AWS.EC2.AuthorizeSecurityGroupIngress: instance Typeable AuthorizeSecurityGroupIngressResponse
+ Network.AWS.EC2.BundleInstance: birsBundleTask :: Lens' BundleInstanceResponse (Maybe BundleTask)
+ Network.AWS.EC2.BundleInstance: birsStatus :: Lens' BundleInstanceResponse Int
+ Network.AWS.EC2.BundleInstance: instance Constructor C1_0BundleInstance
+ Network.AWS.EC2.BundleInstance: instance Constructor C1_0BundleInstanceResponse
+ Network.AWS.EC2.BundleInstance: instance Data BundleInstance
+ Network.AWS.EC2.BundleInstance: instance Data BundleInstanceResponse
+ Network.AWS.EC2.BundleInstance: instance Datatype D1BundleInstance
+ Network.AWS.EC2.BundleInstance: instance Datatype D1BundleInstanceResponse
+ Network.AWS.EC2.BundleInstance: instance Generic BundleInstance
+ Network.AWS.EC2.BundleInstance: instance Generic BundleInstanceResponse
+ Network.AWS.EC2.BundleInstance: instance Selector S1_0_0BundleInstance
+ Network.AWS.EC2.BundleInstance: instance Selector S1_0_0BundleInstanceResponse
+ Network.AWS.EC2.BundleInstance: instance Selector S1_0_1BundleInstance
+ Network.AWS.EC2.BundleInstance: instance Selector S1_0_1BundleInstanceResponse
+ Network.AWS.EC2.BundleInstance: instance Selector S1_0_2BundleInstance
+ Network.AWS.EC2.BundleInstance: instance Typeable BundleInstance
+ Network.AWS.EC2.BundleInstance: instance Typeable BundleInstanceResponse
+ Network.AWS.EC2.CancelBundleTask: cbtrsBundleTask :: Lens' CancelBundleTaskResponse (Maybe BundleTask)
+ Network.AWS.EC2.CancelBundleTask: cbtrsStatus :: Lens' CancelBundleTaskResponse Int
+ Network.AWS.EC2.CancelBundleTask: instance Constructor C1_0CancelBundleTask
+ Network.AWS.EC2.CancelBundleTask: instance Constructor C1_0CancelBundleTaskResponse
+ Network.AWS.EC2.CancelBundleTask: instance Data CancelBundleTask
+ Network.AWS.EC2.CancelBundleTask: instance Data CancelBundleTaskResponse
+ Network.AWS.EC2.CancelBundleTask: instance Datatype D1CancelBundleTask
+ Network.AWS.EC2.CancelBundleTask: instance Datatype D1CancelBundleTaskResponse
+ Network.AWS.EC2.CancelBundleTask: instance Generic CancelBundleTask
+ Network.AWS.EC2.CancelBundleTask: instance Generic CancelBundleTaskResponse
+ Network.AWS.EC2.CancelBundleTask: instance Selector S1_0_0CancelBundleTask
+ Network.AWS.EC2.CancelBundleTask: instance Selector S1_0_0CancelBundleTaskResponse
+ Network.AWS.EC2.CancelBundleTask: instance Selector S1_0_1CancelBundleTask
+ Network.AWS.EC2.CancelBundleTask: instance Selector S1_0_1CancelBundleTaskResponse
+ Network.AWS.EC2.CancelBundleTask: instance Typeable CancelBundleTask
+ Network.AWS.EC2.CancelBundleTask: instance Typeable CancelBundleTaskResponse
+ Network.AWS.EC2.CancelConversionTask: instance Constructor C1_0CancelConversionTask
+ Network.AWS.EC2.CancelConversionTask: instance Data CancelConversionTask
+ Network.AWS.EC2.CancelConversionTask: instance Data CancelConversionTaskResponse
+ Network.AWS.EC2.CancelConversionTask: instance Datatype D1CancelConversionTask
+ Network.AWS.EC2.CancelConversionTask: instance Generic CancelConversionTask
+ Network.AWS.EC2.CancelConversionTask: instance Selector S1_0_0CancelConversionTask
+ Network.AWS.EC2.CancelConversionTask: instance Selector S1_0_1CancelConversionTask
+ Network.AWS.EC2.CancelConversionTask: instance Selector S1_0_2CancelConversionTask
+ Network.AWS.EC2.CancelConversionTask: instance Typeable CancelConversionTask
+ Network.AWS.EC2.CancelConversionTask: instance Typeable CancelConversionTaskResponse
+ Network.AWS.EC2.CancelExportTask: instance Constructor C1_0CancelExportTask
+ Network.AWS.EC2.CancelExportTask: instance Data CancelExportTask
+ Network.AWS.EC2.CancelExportTask: instance Data CancelExportTaskResponse
+ Network.AWS.EC2.CancelExportTask: instance Datatype D1CancelExportTask
+ Network.AWS.EC2.CancelExportTask: instance Generic CancelExportTask
+ Network.AWS.EC2.CancelExportTask: instance Selector S1_0_0CancelExportTask
+ Network.AWS.EC2.CancelExportTask: instance Typeable CancelExportTask
+ Network.AWS.EC2.CancelExportTask: instance Typeable CancelExportTaskResponse
+ Network.AWS.EC2.CancelImportTask: citrsImportTaskId :: Lens' CancelImportTaskResponse (Maybe Text)
+ Network.AWS.EC2.CancelImportTask: citrsPreviousState :: Lens' CancelImportTaskResponse (Maybe Text)
+ Network.AWS.EC2.CancelImportTask: citrsState :: Lens' CancelImportTaskResponse (Maybe Text)
+ Network.AWS.EC2.CancelImportTask: citrsStatus :: Lens' CancelImportTaskResponse Int
+ Network.AWS.EC2.CancelImportTask: instance Constructor C1_0CancelImportTask
+ Network.AWS.EC2.CancelImportTask: instance Constructor C1_0CancelImportTaskResponse
+ Network.AWS.EC2.CancelImportTask: instance Data CancelImportTask
+ Network.AWS.EC2.CancelImportTask: instance Data CancelImportTaskResponse
+ Network.AWS.EC2.CancelImportTask: instance Datatype D1CancelImportTask
+ Network.AWS.EC2.CancelImportTask: instance Datatype D1CancelImportTaskResponse
+ Network.AWS.EC2.CancelImportTask: instance Generic CancelImportTask
+ Network.AWS.EC2.CancelImportTask: instance Generic CancelImportTaskResponse
+ Network.AWS.EC2.CancelImportTask: instance Selector S1_0_0CancelImportTask
+ Network.AWS.EC2.CancelImportTask: instance Selector S1_0_0CancelImportTaskResponse
+ Network.AWS.EC2.CancelImportTask: instance Selector S1_0_1CancelImportTask
+ Network.AWS.EC2.CancelImportTask: instance Selector S1_0_1CancelImportTaskResponse
+ Network.AWS.EC2.CancelImportTask: instance Selector S1_0_2CancelImportTask
+ Network.AWS.EC2.CancelImportTask: instance Selector S1_0_2CancelImportTaskResponse
+ Network.AWS.EC2.CancelImportTask: instance Selector S1_0_3CancelImportTaskResponse
+ Network.AWS.EC2.CancelImportTask: instance Typeable CancelImportTask
+ Network.AWS.EC2.CancelImportTask: instance Typeable CancelImportTaskResponse
+ Network.AWS.EC2.CancelReservedInstancesListing: crilrsReservedInstancesListings :: Lens' CancelReservedInstancesListingResponse [ReservedInstancesListing]
+ Network.AWS.EC2.CancelReservedInstancesListing: crilrsStatus :: Lens' CancelReservedInstancesListingResponse Int
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Constructor C1_0CancelReservedInstancesListing
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Constructor C1_0CancelReservedInstancesListingResponse
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Data CancelReservedInstancesListing
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Data CancelReservedInstancesListingResponse
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Datatype D1CancelReservedInstancesListing
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Datatype D1CancelReservedInstancesListingResponse
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Generic CancelReservedInstancesListing
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Generic CancelReservedInstancesListingResponse
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Selector S1_0_0CancelReservedInstancesListing
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Selector S1_0_0CancelReservedInstancesListingResponse
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Selector S1_0_1CancelReservedInstancesListingResponse
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Typeable CancelReservedInstancesListing
+ Network.AWS.EC2.CancelReservedInstancesListing: instance Typeable CancelReservedInstancesListingResponse
+ Network.AWS.EC2.CancelSpotFleetRequests: csfrrsStatus :: Lens' CancelSpotFleetRequestsResponse Int
+ Network.AWS.EC2.CancelSpotFleetRequests: csfrrsSuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsSuccessItem]
+ Network.AWS.EC2.CancelSpotFleetRequests: csfrrsUnsuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsErrorItem]
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Constructor C1_0CancelSpotFleetRequests
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Constructor C1_0CancelSpotFleetRequestsResponse
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Data CancelSpotFleetRequests
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Data CancelSpotFleetRequestsResponse
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Datatype D1CancelSpotFleetRequests
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Datatype D1CancelSpotFleetRequestsResponse
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Generic CancelSpotFleetRequests
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Generic CancelSpotFleetRequestsResponse
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Selector S1_0_0CancelSpotFleetRequests
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Selector S1_0_0CancelSpotFleetRequestsResponse
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Selector S1_0_1CancelSpotFleetRequests
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Selector S1_0_1CancelSpotFleetRequestsResponse
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Selector S1_0_2CancelSpotFleetRequests
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Selector S1_0_2CancelSpotFleetRequestsResponse
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Typeable CancelSpotFleetRequests
+ Network.AWS.EC2.CancelSpotFleetRequests: instance Typeable CancelSpotFleetRequestsResponse
+ Network.AWS.EC2.CancelSpotInstanceRequests: csirrsCancelledSpotInstanceRequests :: Lens' CancelSpotInstanceRequestsResponse [CancelledSpotInstanceRequest]
+ Network.AWS.EC2.CancelSpotInstanceRequests: csirrsStatus :: Lens' CancelSpotInstanceRequestsResponse Int
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Constructor C1_0CancelSpotInstanceRequests
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Constructor C1_0CancelSpotInstanceRequestsResponse
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Data CancelSpotInstanceRequests
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Data CancelSpotInstanceRequestsResponse
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Datatype D1CancelSpotInstanceRequests
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Datatype D1CancelSpotInstanceRequestsResponse
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Generic CancelSpotInstanceRequests
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Generic CancelSpotInstanceRequestsResponse
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Selector S1_0_0CancelSpotInstanceRequests
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Selector S1_0_0CancelSpotInstanceRequestsResponse
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Selector S1_0_1CancelSpotInstanceRequests
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Selector S1_0_1CancelSpotInstanceRequestsResponse
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Typeable CancelSpotInstanceRequests
+ Network.AWS.EC2.CancelSpotInstanceRequests: instance Typeable CancelSpotInstanceRequestsResponse
+ Network.AWS.EC2.ConfirmProductInstance: cpirsOwnerId :: Lens' ConfirmProductInstanceResponse (Maybe Text)
+ Network.AWS.EC2.ConfirmProductInstance: cpirsReturn :: Lens' ConfirmProductInstanceResponse (Maybe Bool)
+ Network.AWS.EC2.ConfirmProductInstance: cpirsStatus :: Lens' ConfirmProductInstanceResponse Int
+ Network.AWS.EC2.ConfirmProductInstance: instance Constructor C1_0ConfirmProductInstance
+ Network.AWS.EC2.ConfirmProductInstance: instance Constructor C1_0ConfirmProductInstanceResponse
+ Network.AWS.EC2.ConfirmProductInstance: instance Data ConfirmProductInstance
+ Network.AWS.EC2.ConfirmProductInstance: instance Data ConfirmProductInstanceResponse
+ Network.AWS.EC2.ConfirmProductInstance: instance Datatype D1ConfirmProductInstance
+ Network.AWS.EC2.ConfirmProductInstance: instance Datatype D1ConfirmProductInstanceResponse
+ Network.AWS.EC2.ConfirmProductInstance: instance Generic ConfirmProductInstance
+ Network.AWS.EC2.ConfirmProductInstance: instance Generic ConfirmProductInstanceResponse
+ Network.AWS.EC2.ConfirmProductInstance: instance Selector S1_0_0ConfirmProductInstance
+ Network.AWS.EC2.ConfirmProductInstance: instance Selector S1_0_0ConfirmProductInstanceResponse
+ Network.AWS.EC2.ConfirmProductInstance: instance Selector S1_0_1ConfirmProductInstance
+ Network.AWS.EC2.ConfirmProductInstance: instance Selector S1_0_1ConfirmProductInstanceResponse
+ Network.AWS.EC2.ConfirmProductInstance: instance Selector S1_0_2ConfirmProductInstance
+ Network.AWS.EC2.ConfirmProductInstance: instance Selector S1_0_2ConfirmProductInstanceResponse
+ Network.AWS.EC2.ConfirmProductInstance: instance Typeable ConfirmProductInstance
+ Network.AWS.EC2.ConfirmProductInstance: instance Typeable ConfirmProductInstanceResponse
+ Network.AWS.EC2.CopyImage: coprsImageId :: Lens' CopyImageResponse (Maybe Text)
+ Network.AWS.EC2.CopyImage: coprsStatus :: Lens' CopyImageResponse Int
+ Network.AWS.EC2.CopyImage: instance Constructor C1_0CopyImage
+ Network.AWS.EC2.CopyImage: instance Constructor C1_0CopyImageResponse
+ Network.AWS.EC2.CopyImage: instance Data CopyImage
+ Network.AWS.EC2.CopyImage: instance Data CopyImageResponse
+ Network.AWS.EC2.CopyImage: instance Datatype D1CopyImage
+ Network.AWS.EC2.CopyImage: instance Datatype D1CopyImageResponse
+ Network.AWS.EC2.CopyImage: instance Generic CopyImage
+ Network.AWS.EC2.CopyImage: instance Generic CopyImageResponse
+ Network.AWS.EC2.CopyImage: instance Selector S1_0_0CopyImage
+ Network.AWS.EC2.CopyImage: instance Selector S1_0_0CopyImageResponse
+ Network.AWS.EC2.CopyImage: instance Selector S1_0_1CopyImage
+ Network.AWS.EC2.CopyImage: instance Selector S1_0_1CopyImageResponse
+ Network.AWS.EC2.CopyImage: instance Selector S1_0_2CopyImage
+ Network.AWS.EC2.CopyImage: instance Selector S1_0_3CopyImage
+ Network.AWS.EC2.CopyImage: instance Selector S1_0_4CopyImage
+ Network.AWS.EC2.CopyImage: instance Selector S1_0_5CopyImage
+ Network.AWS.EC2.CopyImage: instance Typeable CopyImage
+ Network.AWS.EC2.CopyImage: instance Typeable CopyImageResponse
+ Network.AWS.EC2.CopySnapshot: csEncrypted :: Lens' CopySnapshot (Maybe Bool)
+ Network.AWS.EC2.CopySnapshot: csKMSKeyId :: Lens' CopySnapshot (Maybe Text)
+ Network.AWS.EC2.CopySnapshot: csPresignedURL :: Lens' CopySnapshot (Maybe Text)
+ Network.AWS.EC2.CopySnapshot: csrsSnapshotId :: Lens' CopySnapshotResponse (Maybe Text)
+ Network.AWS.EC2.CopySnapshot: csrsStatus :: Lens' CopySnapshotResponse Int
+ Network.AWS.EC2.CopySnapshot: instance Constructor C1_0CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Constructor C1_0CopySnapshotResponse
+ Network.AWS.EC2.CopySnapshot: instance Data CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Data CopySnapshotResponse
+ Network.AWS.EC2.CopySnapshot: instance Datatype D1CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Datatype D1CopySnapshotResponse
+ Network.AWS.EC2.CopySnapshot: instance Generic CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Generic CopySnapshotResponse
+ Network.AWS.EC2.CopySnapshot: instance Selector S1_0_0CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Selector S1_0_0CopySnapshotResponse
+ Network.AWS.EC2.CopySnapshot: instance Selector S1_0_1CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Selector S1_0_1CopySnapshotResponse
+ Network.AWS.EC2.CopySnapshot: instance Selector S1_0_2CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Selector S1_0_3CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Selector S1_0_4CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Selector S1_0_5CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Selector S1_0_6CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Selector S1_0_7CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Typeable CopySnapshot
+ Network.AWS.EC2.CopySnapshot: instance Typeable CopySnapshotResponse
+ Network.AWS.EC2.CreateCustomerGateway: ccgBGPASN :: Lens' CreateCustomerGateway Int
+ Network.AWS.EC2.CreateCustomerGateway: ccgPublicIP :: Lens' CreateCustomerGateway Text
+ Network.AWS.EC2.CreateCustomerGateway: ccgrsCustomerGateway :: Lens' CreateCustomerGatewayResponse (Maybe CustomerGateway)
+ Network.AWS.EC2.CreateCustomerGateway: ccgrsStatus :: Lens' CreateCustomerGatewayResponse Int
+ Network.AWS.EC2.CreateCustomerGateway: instance Constructor C1_0CreateCustomerGateway
+ Network.AWS.EC2.CreateCustomerGateway: instance Constructor C1_0CreateCustomerGatewayResponse
+ Network.AWS.EC2.CreateCustomerGateway: instance Data CreateCustomerGateway
+ Network.AWS.EC2.CreateCustomerGateway: instance Data CreateCustomerGatewayResponse
+ Network.AWS.EC2.CreateCustomerGateway: instance Datatype D1CreateCustomerGateway
+ Network.AWS.EC2.CreateCustomerGateway: instance Datatype D1CreateCustomerGatewayResponse
+ Network.AWS.EC2.CreateCustomerGateway: instance Generic CreateCustomerGateway
+ Network.AWS.EC2.CreateCustomerGateway: instance Generic CreateCustomerGatewayResponse
+ Network.AWS.EC2.CreateCustomerGateway: instance Selector S1_0_0CreateCustomerGateway
+ Network.AWS.EC2.CreateCustomerGateway: instance Selector S1_0_0CreateCustomerGatewayResponse
+ Network.AWS.EC2.CreateCustomerGateway: instance Selector S1_0_1CreateCustomerGateway
+ Network.AWS.EC2.CreateCustomerGateway: instance Selector S1_0_1CreateCustomerGatewayResponse
+ Network.AWS.EC2.CreateCustomerGateway: instance Selector S1_0_2CreateCustomerGateway
+ Network.AWS.EC2.CreateCustomerGateway: instance Selector S1_0_3CreateCustomerGateway
+ Network.AWS.EC2.CreateCustomerGateway: instance Typeable CreateCustomerGateway
+ Network.AWS.EC2.CreateCustomerGateway: instance Typeable CreateCustomerGatewayResponse
+ Network.AWS.EC2.CreateDHCPOptions: cdoDHCPConfigurations :: Lens' CreateDHCPOptions [NewDHCPConfiguration]
+ Network.AWS.EC2.CreateDHCPOptions: cdoDryRun :: Lens' CreateDHCPOptions (Maybe Bool)
+ Network.AWS.EC2.CreateDHCPOptions: cdorsDHCPOptions :: Lens' CreateDHCPOptionsResponse (Maybe DHCPOptions)
+ Network.AWS.EC2.CreateDHCPOptions: cdorsStatus :: Lens' CreateDHCPOptionsResponse Int
+ Network.AWS.EC2.CreateDHCPOptions: createDHCPOptions :: CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: createDHCPOptionsResponse :: Int -> CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateDHCPOptions: data CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: data CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateDHCPOptions: instance AWSRequest CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Constructor C1_0CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Constructor C1_0CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateDHCPOptions: instance Data CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Data CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateDHCPOptions: instance Datatype D1CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Datatype D1CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateDHCPOptions: instance Eq CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Eq CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateDHCPOptions: instance Generic CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Generic CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateDHCPOptions: instance Read CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Read CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateDHCPOptions: instance Selector S1_0_0CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Selector S1_0_0CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateDHCPOptions: instance Selector S1_0_1CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Selector S1_0_1CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateDHCPOptions: instance Show CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Show CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateDHCPOptions: instance ToHeaders CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance ToPath CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance ToQuery CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Typeable CreateDHCPOptions
+ Network.AWS.EC2.CreateDHCPOptions: instance Typeable CreateDHCPOptionsResponse
+ Network.AWS.EC2.CreateFlowLogs: cflClientToken :: Lens' CreateFlowLogs (Maybe Text)
+ Network.AWS.EC2.CreateFlowLogs: cflDeliverLogsPermissionARN :: Lens' CreateFlowLogs Text
+ Network.AWS.EC2.CreateFlowLogs: cflLogGroupName :: Lens' CreateFlowLogs Text
+ Network.AWS.EC2.CreateFlowLogs: cflResourceIds :: Lens' CreateFlowLogs [Text]
+ Network.AWS.EC2.CreateFlowLogs: cflResourceType :: Lens' CreateFlowLogs FlowLogsResourceType
+ Network.AWS.EC2.CreateFlowLogs: cflTrafficType :: Lens' CreateFlowLogs TrafficType
+ Network.AWS.EC2.CreateFlowLogs: cflrsClientToken :: Lens' CreateFlowLogsResponse (Maybe Text)
+ Network.AWS.EC2.CreateFlowLogs: cflrsFlowLogIds :: Lens' CreateFlowLogsResponse [Text]
+ Network.AWS.EC2.CreateFlowLogs: cflrsStatus :: Lens' CreateFlowLogsResponse Int
+ Network.AWS.EC2.CreateFlowLogs: cflrsUnsuccessful :: Lens' CreateFlowLogsResponse [UnsuccessfulItem]
+ Network.AWS.EC2.CreateFlowLogs: createFlowLogs :: FlowLogsResourceType -> TrafficType -> Text -> Text -> CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: createFlowLogsResponse :: Int -> CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: data CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: data CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance AWSRequest CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Constructor C1_0CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Constructor C1_0CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance Data CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Data CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance Datatype D1CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Datatype D1CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance Eq CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Eq CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance Generic CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Generic CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance Read CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Read CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance Selector S1_0_0CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Selector S1_0_0CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance Selector S1_0_1CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Selector S1_0_1CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance Selector S1_0_2CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Selector S1_0_2CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance Selector S1_0_3CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Selector S1_0_3CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance Selector S1_0_4CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Selector S1_0_5CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Show CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Show CreateFlowLogsResponse
+ Network.AWS.EC2.CreateFlowLogs: instance ToHeaders CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance ToPath CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance ToQuery CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Typeable CreateFlowLogs
+ Network.AWS.EC2.CreateFlowLogs: instance Typeable CreateFlowLogsResponse
+ Network.AWS.EC2.CreateImage: ciiBlockDeviceMappings :: Lens' CreateImage [BlockDeviceMapping]
+ Network.AWS.EC2.CreateImage: ciiDescription :: Lens' CreateImage (Maybe Text)
+ Network.AWS.EC2.CreateImage: ciiDryRun :: Lens' CreateImage (Maybe Bool)
+ Network.AWS.EC2.CreateImage: ciiInstanceId :: Lens' CreateImage Text
+ Network.AWS.EC2.CreateImage: ciiName :: Lens' CreateImage Text
+ Network.AWS.EC2.CreateImage: ciiNoReboot :: Lens' CreateImage (Maybe Bool)
+ Network.AWS.EC2.CreateImage: cirsImageId :: Lens' CreateImageResponse (Maybe Text)
+ Network.AWS.EC2.CreateImage: cirsStatus :: Lens' CreateImageResponse Int
+ Network.AWS.EC2.CreateImage: instance Constructor C1_0CreateImage
+ Network.AWS.EC2.CreateImage: instance Constructor C1_0CreateImageResponse
+ Network.AWS.EC2.CreateImage: instance Data CreateImage
+ Network.AWS.EC2.CreateImage: instance Data CreateImageResponse
+ Network.AWS.EC2.CreateImage: instance Datatype D1CreateImage
+ Network.AWS.EC2.CreateImage: instance Datatype D1CreateImageResponse
+ Network.AWS.EC2.CreateImage: instance Generic CreateImage
+ Network.AWS.EC2.CreateImage: instance Generic CreateImageResponse
+ Network.AWS.EC2.CreateImage: instance Selector S1_0_0CreateImage
+ Network.AWS.EC2.CreateImage: instance Selector S1_0_0CreateImageResponse
+ Network.AWS.EC2.CreateImage: instance Selector S1_0_1CreateImage
+ Network.AWS.EC2.CreateImage: instance Selector S1_0_1CreateImageResponse
+ Network.AWS.EC2.CreateImage: instance Selector S1_0_2CreateImage
+ Network.AWS.EC2.CreateImage: instance Selector S1_0_3CreateImage
+ Network.AWS.EC2.CreateImage: instance Selector S1_0_4CreateImage
+ Network.AWS.EC2.CreateImage: instance Selector S1_0_5CreateImage
+ Network.AWS.EC2.CreateImage: instance Typeable CreateImage
+ Network.AWS.EC2.CreateImage: instance Typeable CreateImageResponse
+ Network.AWS.EC2.CreateInstanceExportTask: cietrsExportTask :: Lens' CreateInstanceExportTaskResponse (Maybe ExportTask)
+ Network.AWS.EC2.CreateInstanceExportTask: cietrsStatus :: Lens' CreateInstanceExportTaskResponse Int
+ Network.AWS.EC2.CreateInstanceExportTask: instance Constructor C1_0CreateInstanceExportTask
+ Network.AWS.EC2.CreateInstanceExportTask: instance Constructor C1_0CreateInstanceExportTaskResponse
+ Network.AWS.EC2.CreateInstanceExportTask: instance Data CreateInstanceExportTask
+ Network.AWS.EC2.CreateInstanceExportTask: instance Data CreateInstanceExportTaskResponse
+ Network.AWS.EC2.CreateInstanceExportTask: instance Datatype D1CreateInstanceExportTask
+ Network.AWS.EC2.CreateInstanceExportTask: instance Datatype D1CreateInstanceExportTaskResponse
+ Network.AWS.EC2.CreateInstanceExportTask: instance Generic CreateInstanceExportTask
+ Network.AWS.EC2.CreateInstanceExportTask: instance Generic CreateInstanceExportTaskResponse
+ Network.AWS.EC2.CreateInstanceExportTask: instance Selector S1_0_0CreateInstanceExportTask
+ Network.AWS.EC2.CreateInstanceExportTask: instance Selector S1_0_0CreateInstanceExportTaskResponse
+ Network.AWS.EC2.CreateInstanceExportTask: instance Selector S1_0_1CreateInstanceExportTask
+ Network.AWS.EC2.CreateInstanceExportTask: instance Selector S1_0_1CreateInstanceExportTaskResponse
+ Network.AWS.EC2.CreateInstanceExportTask: instance Selector S1_0_2CreateInstanceExportTask
+ Network.AWS.EC2.CreateInstanceExportTask: instance Selector S1_0_3CreateInstanceExportTask
+ Network.AWS.EC2.CreateInstanceExportTask: instance Typeable CreateInstanceExportTask
+ Network.AWS.EC2.CreateInstanceExportTask: instance Typeable CreateInstanceExportTaskResponse
+ Network.AWS.EC2.CreateInternetGateway: cigrsInternetGateway :: Lens' CreateInternetGatewayResponse (Maybe InternetGateway)
+ Network.AWS.EC2.CreateInternetGateway: cigrsStatus :: Lens' CreateInternetGatewayResponse Int
+ Network.AWS.EC2.CreateInternetGateway: instance Constructor C1_0CreateInternetGateway
+ Network.AWS.EC2.CreateInternetGateway: instance Constructor C1_0CreateInternetGatewayResponse
+ Network.AWS.EC2.CreateInternetGateway: instance Data CreateInternetGateway
+ Network.AWS.EC2.CreateInternetGateway: instance Data CreateInternetGatewayResponse
+ Network.AWS.EC2.CreateInternetGateway: instance Datatype D1CreateInternetGateway
+ Network.AWS.EC2.CreateInternetGateway: instance Datatype D1CreateInternetGatewayResponse
+ Network.AWS.EC2.CreateInternetGateway: instance Generic CreateInternetGateway
+ Network.AWS.EC2.CreateInternetGateway: instance Generic CreateInternetGatewayResponse
+ Network.AWS.EC2.CreateInternetGateway: instance Selector S1_0_0CreateInternetGateway
+ Network.AWS.EC2.CreateInternetGateway: instance Selector S1_0_0CreateInternetGatewayResponse
+ Network.AWS.EC2.CreateInternetGateway: instance Selector S1_0_1CreateInternetGatewayResponse
+ Network.AWS.EC2.CreateInternetGateway: instance Typeable CreateInternetGateway
+ Network.AWS.EC2.CreateInternetGateway: instance Typeable CreateInternetGatewayResponse
+ Network.AWS.EC2.CreateKeyPair: ckprsKeyFingerprint :: Lens' CreateKeyPairResponse Text
+ Network.AWS.EC2.CreateKeyPair: ckprsKeyMaterial :: Lens' CreateKeyPairResponse Text
+ Network.AWS.EC2.CreateKeyPair: ckprsKeyName :: Lens' CreateKeyPairResponse Text
+ Network.AWS.EC2.CreateKeyPair: ckprsStatus :: Lens' CreateKeyPairResponse Int
+ Network.AWS.EC2.CreateKeyPair: instance Constructor C1_0CreateKeyPair
+ Network.AWS.EC2.CreateKeyPair: instance Constructor C1_0CreateKeyPairResponse
+ Network.AWS.EC2.CreateKeyPair: instance Data CreateKeyPair
+ Network.AWS.EC2.CreateKeyPair: instance Data CreateKeyPairResponse
+ Network.AWS.EC2.CreateKeyPair: instance Datatype D1CreateKeyPair
+ Network.AWS.EC2.CreateKeyPair: instance Datatype D1CreateKeyPairResponse
+ Network.AWS.EC2.CreateKeyPair: instance Generic CreateKeyPair
+ Network.AWS.EC2.CreateKeyPair: instance Generic CreateKeyPairResponse
+ Network.AWS.EC2.CreateKeyPair: instance Selector S1_0_0CreateKeyPair
+ Network.AWS.EC2.CreateKeyPair: instance Selector S1_0_0CreateKeyPairResponse
+ Network.AWS.EC2.CreateKeyPair: instance Selector S1_0_1CreateKeyPair
+ Network.AWS.EC2.CreateKeyPair: instance Selector S1_0_1CreateKeyPairResponse
+ Network.AWS.EC2.CreateKeyPair: instance Selector S1_0_2CreateKeyPairResponse
+ Network.AWS.EC2.CreateKeyPair: instance Selector S1_0_3CreateKeyPairResponse
+ Network.AWS.EC2.CreateKeyPair: instance Typeable CreateKeyPair
+ Network.AWS.EC2.CreateKeyPair: instance Typeable CreateKeyPairResponse
+ Network.AWS.EC2.CreateNetworkACL: cnaDryRun :: Lens' CreateNetworkACL (Maybe Bool)
+ Network.AWS.EC2.CreateNetworkACL: cnaVPCId :: Lens' CreateNetworkACL Text
+ Network.AWS.EC2.CreateNetworkACL: cnarsNetworkACL :: Lens' CreateNetworkACLResponse (Maybe NetworkACL)
+ Network.AWS.EC2.CreateNetworkACL: cnarsStatus :: Lens' CreateNetworkACLResponse Int
+ Network.AWS.EC2.CreateNetworkACL: createNetworkACL :: Text -> CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: createNetworkACLResponse :: Int -> CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACL: data CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: data CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACL: instance AWSRequest CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Constructor C1_0CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Constructor C1_0CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACL: instance Data CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Data CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACL: instance Datatype D1CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Datatype D1CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACL: instance Eq CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Eq CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACL: instance Generic CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Generic CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACL: instance Read CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Read CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACL: instance Selector S1_0_0CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Selector S1_0_0CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACL: instance Selector S1_0_1CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Selector S1_0_1CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACL: instance Show CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Show CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACL: instance ToHeaders CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance ToPath CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance ToQuery CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Typeable CreateNetworkACL
+ Network.AWS.EC2.CreateNetworkACL: instance Typeable CreateNetworkACLResponse
+ Network.AWS.EC2.CreateNetworkACLEntry: cnaeCIdRBlock :: Lens' CreateNetworkACLEntry Text
+ Network.AWS.EC2.CreateNetworkACLEntry: cnaeDryRun :: Lens' CreateNetworkACLEntry (Maybe Bool)
+ Network.AWS.EC2.CreateNetworkACLEntry: cnaeEgress :: Lens' CreateNetworkACLEntry Bool
+ Network.AWS.EC2.CreateNetworkACLEntry: cnaeICMPTypeCode :: Lens' CreateNetworkACLEntry (Maybe ICMPTypeCode)
+ Network.AWS.EC2.CreateNetworkACLEntry: cnaeNetworkACLId :: Lens' CreateNetworkACLEntry Text
+ Network.AWS.EC2.CreateNetworkACLEntry: cnaePortRange :: Lens' CreateNetworkACLEntry (Maybe PortRange)
+ Network.AWS.EC2.CreateNetworkACLEntry: cnaeProtocol :: Lens' CreateNetworkACLEntry Text
+ Network.AWS.EC2.CreateNetworkACLEntry: cnaeRuleAction :: Lens' CreateNetworkACLEntry RuleAction
+ Network.AWS.EC2.CreateNetworkACLEntry: cnaeRuleNumber :: Lens' CreateNetworkACLEntry Int
+ Network.AWS.EC2.CreateNetworkACLEntry: createNetworkACLEntry :: Text -> Int -> Text -> RuleAction -> Bool -> Text -> CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: createNetworkACLEntryResponse :: CreateNetworkACLEntryResponse
+ Network.AWS.EC2.CreateNetworkACLEntry: data CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: data CreateNetworkACLEntryResponse
+ Network.AWS.EC2.CreateNetworkACLEntry: instance AWSRequest CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Constructor C1_0CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Constructor C1_0CreateNetworkACLEntryResponse
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Data CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Data CreateNetworkACLEntryResponse
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Datatype D1CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Datatype D1CreateNetworkACLEntryResponse
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Eq CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Eq CreateNetworkACLEntryResponse
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Generic CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Generic CreateNetworkACLEntryResponse
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Read CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Read CreateNetworkACLEntryResponse
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Selector S1_0_0CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Selector S1_0_1CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Selector S1_0_2CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Selector S1_0_3CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Selector S1_0_4CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Selector S1_0_5CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Selector S1_0_6CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Selector S1_0_7CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Selector S1_0_8CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Show CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Show CreateNetworkACLEntryResponse
+ Network.AWS.EC2.CreateNetworkACLEntry: instance ToHeaders CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance ToPath CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance ToQuery CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Typeable CreateNetworkACLEntry
+ Network.AWS.EC2.CreateNetworkACLEntry: instance Typeable CreateNetworkACLEntryResponse
+ Network.AWS.EC2.CreateNetworkInterface: cniPrivateIPAddress :: Lens' CreateNetworkInterface (Maybe Text)
+ Network.AWS.EC2.CreateNetworkInterface: cniPrivateIPAddresses :: Lens' CreateNetworkInterface [PrivateIPAddressSpecification]
+ Network.AWS.EC2.CreateNetworkInterface: cniSecondaryPrivateIPAddressCount :: Lens' CreateNetworkInterface (Maybe Int)
+ Network.AWS.EC2.CreateNetworkInterface: cnirsNetworkInterface :: Lens' CreateNetworkInterfaceResponse (Maybe NetworkInterface)
+ Network.AWS.EC2.CreateNetworkInterface: cnirsStatus :: Lens' CreateNetworkInterfaceResponse Int
+ Network.AWS.EC2.CreateNetworkInterface: instance Constructor C1_0CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Constructor C1_0CreateNetworkInterfaceResponse
+ Network.AWS.EC2.CreateNetworkInterface: instance Data CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Data CreateNetworkInterfaceResponse
+ Network.AWS.EC2.CreateNetworkInterface: instance Datatype D1CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Datatype D1CreateNetworkInterfaceResponse
+ Network.AWS.EC2.CreateNetworkInterface: instance Generic CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Generic CreateNetworkInterfaceResponse
+ Network.AWS.EC2.CreateNetworkInterface: instance Selector S1_0_0CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Selector S1_0_0CreateNetworkInterfaceResponse
+ Network.AWS.EC2.CreateNetworkInterface: instance Selector S1_0_1CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Selector S1_0_1CreateNetworkInterfaceResponse
+ Network.AWS.EC2.CreateNetworkInterface: instance Selector S1_0_2CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Selector S1_0_3CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Selector S1_0_4CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Selector S1_0_5CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Selector S1_0_6CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Typeable CreateNetworkInterface
+ Network.AWS.EC2.CreateNetworkInterface: instance Typeable CreateNetworkInterfaceResponse
+ Network.AWS.EC2.CreatePlacementGroup: instance Constructor C1_0CreatePlacementGroup
+ Network.AWS.EC2.CreatePlacementGroup: instance Data CreatePlacementGroup
+ Network.AWS.EC2.CreatePlacementGroup: instance Data CreatePlacementGroupResponse
+ Network.AWS.EC2.CreatePlacementGroup: instance Datatype D1CreatePlacementGroup
+ Network.AWS.EC2.CreatePlacementGroup: instance Generic CreatePlacementGroup
+ Network.AWS.EC2.CreatePlacementGroup: instance Selector S1_0_0CreatePlacementGroup
+ Network.AWS.EC2.CreatePlacementGroup: instance Selector S1_0_1CreatePlacementGroup
+ Network.AWS.EC2.CreatePlacementGroup: instance Selector S1_0_2CreatePlacementGroup
+ Network.AWS.EC2.CreatePlacementGroup: instance Typeable CreatePlacementGroup
+ Network.AWS.EC2.CreatePlacementGroup: instance Typeable CreatePlacementGroupResponse
+ Network.AWS.EC2.CreateReservedInstancesListing: crersReservedInstancesListings :: Lens' CreateReservedInstancesListingResponse [ReservedInstancesListing]
+ Network.AWS.EC2.CreateReservedInstancesListing: crersStatus :: Lens' CreateReservedInstancesListingResponse Int
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Constructor C1_0CreateReservedInstancesListing
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Constructor C1_0CreateReservedInstancesListingResponse
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Data CreateReservedInstancesListing
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Data CreateReservedInstancesListingResponse
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Datatype D1CreateReservedInstancesListing
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Datatype D1CreateReservedInstancesListingResponse
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Generic CreateReservedInstancesListing
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Generic CreateReservedInstancesListingResponse
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Selector S1_0_0CreateReservedInstancesListing
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Selector S1_0_0CreateReservedInstancesListingResponse
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Selector S1_0_1CreateReservedInstancesListing
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Selector S1_0_1CreateReservedInstancesListingResponse
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Selector S1_0_2CreateReservedInstancesListing
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Selector S1_0_3CreateReservedInstancesListing
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Typeable CreateReservedInstancesListing
+ Network.AWS.EC2.CreateReservedInstancesListing: instance Typeable CreateReservedInstancesListingResponse
+ Network.AWS.EC2.CreateRoute: crDestinationCIdRBlock :: Lens' CreateRoute Text
+ Network.AWS.EC2.CreateRoute: crVPCPeeringConnectionId :: Lens' CreateRoute (Maybe Text)
+ Network.AWS.EC2.CreateRoute: crrsReturn :: Lens' CreateRouteResponse (Maybe Bool)
+ Network.AWS.EC2.CreateRoute: crrsStatus :: Lens' CreateRouteResponse Int
+ Network.AWS.EC2.CreateRoute: instance Constructor C1_0CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Constructor C1_0CreateRouteResponse
+ Network.AWS.EC2.CreateRoute: instance Data CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Data CreateRouteResponse
+ Network.AWS.EC2.CreateRoute: instance Datatype D1CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Datatype D1CreateRouteResponse
+ Network.AWS.EC2.CreateRoute: instance Generic CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Generic CreateRouteResponse
+ Network.AWS.EC2.CreateRoute: instance Selector S1_0_0CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Selector S1_0_0CreateRouteResponse
+ Network.AWS.EC2.CreateRoute: instance Selector S1_0_1CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Selector S1_0_1CreateRouteResponse
+ Network.AWS.EC2.CreateRoute: instance Selector S1_0_2CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Selector S1_0_3CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Selector S1_0_4CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Selector S1_0_5CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Selector S1_0_6CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Typeable CreateRoute
+ Network.AWS.EC2.CreateRoute: instance Typeable CreateRouteResponse
+ Network.AWS.EC2.CreateRouteTable: crtVPCId :: Lens' CreateRouteTable Text
+ Network.AWS.EC2.CreateRouteTable: crtrsRouteTable :: Lens' CreateRouteTableResponse (Maybe RouteTable)
+ Network.AWS.EC2.CreateRouteTable: crtrsStatus :: Lens' CreateRouteTableResponse Int
+ Network.AWS.EC2.CreateRouteTable: instance Constructor C1_0CreateRouteTable
+ Network.AWS.EC2.CreateRouteTable: instance Constructor C1_0CreateRouteTableResponse
+ Network.AWS.EC2.CreateRouteTable: instance Data CreateRouteTable
+ Network.AWS.EC2.CreateRouteTable: instance Data CreateRouteTableResponse
+ Network.AWS.EC2.CreateRouteTable: instance Datatype D1CreateRouteTable
+ Network.AWS.EC2.CreateRouteTable: instance Datatype D1CreateRouteTableResponse
+ Network.AWS.EC2.CreateRouteTable: instance Generic CreateRouteTable
+ Network.AWS.EC2.CreateRouteTable: instance Generic CreateRouteTableResponse
+ Network.AWS.EC2.CreateRouteTable: instance Selector S1_0_0CreateRouteTable
+ Network.AWS.EC2.CreateRouteTable: instance Selector S1_0_0CreateRouteTableResponse
+ Network.AWS.EC2.CreateRouteTable: instance Selector S1_0_1CreateRouteTable
+ Network.AWS.EC2.CreateRouteTable: instance Selector S1_0_1CreateRouteTableResponse
+ Network.AWS.EC2.CreateRouteTable: instance Typeable CreateRouteTable
+ Network.AWS.EC2.CreateRouteTable: instance Typeable CreateRouteTableResponse
+ Network.AWS.EC2.CreateSecurityGroup: csgVPCId :: Lens' CreateSecurityGroup (Maybe Text)
+ Network.AWS.EC2.CreateSecurityGroup: csgrsGroupId :: Lens' CreateSecurityGroupResponse Text
+ Network.AWS.EC2.CreateSecurityGroup: csgrsStatus :: Lens' CreateSecurityGroupResponse Int
+ Network.AWS.EC2.CreateSecurityGroup: instance Constructor C1_0CreateSecurityGroup
+ Network.AWS.EC2.CreateSecurityGroup: instance Constructor C1_0CreateSecurityGroupResponse
+ Network.AWS.EC2.CreateSecurityGroup: instance Data CreateSecurityGroup
+ Network.AWS.EC2.CreateSecurityGroup: instance Data CreateSecurityGroupResponse
+ Network.AWS.EC2.CreateSecurityGroup: instance Datatype D1CreateSecurityGroup
+ Network.AWS.EC2.CreateSecurityGroup: instance Datatype D1CreateSecurityGroupResponse
+ Network.AWS.EC2.CreateSecurityGroup: instance Generic CreateSecurityGroup
+ Network.AWS.EC2.CreateSecurityGroup: instance Generic CreateSecurityGroupResponse
+ Network.AWS.EC2.CreateSecurityGroup: instance Selector S1_0_0CreateSecurityGroup
+ Network.AWS.EC2.CreateSecurityGroup: instance Selector S1_0_0CreateSecurityGroupResponse
+ Network.AWS.EC2.CreateSecurityGroup: instance Selector S1_0_1CreateSecurityGroup
+ Network.AWS.EC2.CreateSecurityGroup: instance Selector S1_0_1CreateSecurityGroupResponse
+ Network.AWS.EC2.CreateSecurityGroup: instance Selector S1_0_2CreateSecurityGroup
+ Network.AWS.EC2.CreateSecurityGroup: instance Selector S1_0_3CreateSecurityGroup
+ Network.AWS.EC2.CreateSecurityGroup: instance Typeable CreateSecurityGroup
+ Network.AWS.EC2.CreateSecurityGroup: instance Typeable CreateSecurityGroupResponse
+ Network.AWS.EC2.CreateSnapshot: ccDescription :: Lens' CreateSnapshot (Maybe Text)
+ Network.AWS.EC2.CreateSnapshot: ccDryRun :: Lens' CreateSnapshot (Maybe Bool)
+ Network.AWS.EC2.CreateSnapshot: ccVolumeId :: Lens' CreateSnapshot Text
+ Network.AWS.EC2.CreateSnapshot: data Snapshot
+ Network.AWS.EC2.CreateSnapshot: instance Constructor C1_0CreateSnapshot
+ Network.AWS.EC2.CreateSnapshot: instance Data CreateSnapshot
+ Network.AWS.EC2.CreateSnapshot: instance Datatype D1CreateSnapshot
+ Network.AWS.EC2.CreateSnapshot: instance Generic CreateSnapshot
+ Network.AWS.EC2.CreateSnapshot: instance Selector S1_0_0CreateSnapshot
+ Network.AWS.EC2.CreateSnapshot: instance Selector S1_0_1CreateSnapshot
+ Network.AWS.EC2.CreateSnapshot: instance Selector S1_0_2CreateSnapshot
+ Network.AWS.EC2.CreateSnapshot: instance Typeable CreateSnapshot
+ Network.AWS.EC2.CreateSnapshot: sDescription :: Lens' Snapshot Text
+ Network.AWS.EC2.CreateSnapshot: sEncrypted :: Lens' Snapshot Bool
+ Network.AWS.EC2.CreateSnapshot: sKMSKeyId :: Lens' Snapshot (Maybe Text)
+ Network.AWS.EC2.CreateSnapshot: sOwnerAlias :: Lens' Snapshot (Maybe Text)
+ Network.AWS.EC2.CreateSnapshot: sOwnerId :: Lens' Snapshot Text
+ Network.AWS.EC2.CreateSnapshot: sProgress :: Lens' Snapshot Text
+ Network.AWS.EC2.CreateSnapshot: sSnapshotId :: Lens' Snapshot Text
+ Network.AWS.EC2.CreateSnapshot: sStartTime :: Lens' Snapshot UTCTime
+ Network.AWS.EC2.CreateSnapshot: sState :: Lens' Snapshot SnapshotState
+ Network.AWS.EC2.CreateSnapshot: sTags :: Lens' Snapshot [Tag]
+ Network.AWS.EC2.CreateSnapshot: sVolumeId :: Lens' Snapshot Text
+ Network.AWS.EC2.CreateSnapshot: sVolumeSize :: Lens' Snapshot Int
+ Network.AWS.EC2.CreateSnapshot: snapshot :: Text -> Text -> Text -> Int -> Text -> UTCTime -> Text -> SnapshotState -> Bool -> Snapshot
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: csdsrsSpotDatafeedSubscription :: Lens' CreateSpotDatafeedSubscriptionResponse (Maybe SpotDatafeedSubscription)
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: csdsrsStatus :: Lens' CreateSpotDatafeedSubscriptionResponse Int
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Constructor C1_0CreateSpotDatafeedSubscription
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Constructor C1_0CreateSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Data CreateSpotDatafeedSubscription
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Data CreateSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Datatype D1CreateSpotDatafeedSubscription
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Datatype D1CreateSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Generic CreateSpotDatafeedSubscription
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Generic CreateSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Selector S1_0_0CreateSpotDatafeedSubscription
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Selector S1_0_0CreateSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Selector S1_0_1CreateSpotDatafeedSubscription
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Selector S1_0_1CreateSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Selector S1_0_2CreateSpotDatafeedSubscription
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Typeable CreateSpotDatafeedSubscription
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: instance Typeable CreateSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.CreateSubnet: crsStatus :: Lens' CreateSubnetResponse Int
+ Network.AWS.EC2.CreateSubnet: crsSubnet :: Lens' CreateSubnetResponse (Maybe Subnet)
+ Network.AWS.EC2.CreateSubnet: cssAvailabilityZone :: Lens' CreateSubnet (Maybe Text)
+ Network.AWS.EC2.CreateSubnet: cssCIdRBlock :: Lens' CreateSubnet Text
+ Network.AWS.EC2.CreateSubnet: cssDryRun :: Lens' CreateSubnet (Maybe Bool)
+ Network.AWS.EC2.CreateSubnet: cssVPCId :: Lens' CreateSubnet Text
+ Network.AWS.EC2.CreateSubnet: instance Constructor C1_0CreateSubnet
+ Network.AWS.EC2.CreateSubnet: instance Constructor C1_0CreateSubnetResponse
+ Network.AWS.EC2.CreateSubnet: instance Data CreateSubnet
+ Network.AWS.EC2.CreateSubnet: instance Data CreateSubnetResponse
+ Network.AWS.EC2.CreateSubnet: instance Datatype D1CreateSubnet
+ Network.AWS.EC2.CreateSubnet: instance Datatype D1CreateSubnetResponse
+ Network.AWS.EC2.CreateSubnet: instance Generic CreateSubnet
+ Network.AWS.EC2.CreateSubnet: instance Generic CreateSubnetResponse
+ Network.AWS.EC2.CreateSubnet: instance Selector S1_0_0CreateSubnet
+ Network.AWS.EC2.CreateSubnet: instance Selector S1_0_0CreateSubnetResponse
+ Network.AWS.EC2.CreateSubnet: instance Selector S1_0_1CreateSubnet
+ Network.AWS.EC2.CreateSubnet: instance Selector S1_0_1CreateSubnetResponse
+ Network.AWS.EC2.CreateSubnet: instance Selector S1_0_2CreateSubnet
+ Network.AWS.EC2.CreateSubnet: instance Selector S1_0_3CreateSubnet
+ Network.AWS.EC2.CreateSubnet: instance Typeable CreateSubnet
+ Network.AWS.EC2.CreateSubnet: instance Typeable CreateSubnetResponse
+ Network.AWS.EC2.CreateTags: cDryRun :: Lens' CreateTags (Maybe Bool)
+ Network.AWS.EC2.CreateTags: cResources :: Lens' CreateTags [Text]
+ Network.AWS.EC2.CreateTags: cTags :: Lens' CreateTags [Tag]
+ Network.AWS.EC2.CreateTags: instance Constructor C1_0CreateTags
+ Network.AWS.EC2.CreateTags: instance Data CreateTags
+ Network.AWS.EC2.CreateTags: instance Data CreateTagsResponse
+ Network.AWS.EC2.CreateTags: instance Datatype D1CreateTags
+ Network.AWS.EC2.CreateTags: instance Generic CreateTags
+ Network.AWS.EC2.CreateTags: instance Selector S1_0_0CreateTags
+ Network.AWS.EC2.CreateTags: instance Selector S1_0_1CreateTags
+ Network.AWS.EC2.CreateTags: instance Selector S1_0_2CreateTags
+ Network.AWS.EC2.CreateTags: instance Typeable CreateTags
+ Network.AWS.EC2.CreateTags: instance Typeable CreateTagsResponse
+ Network.AWS.EC2.CreateVPC: createVPC :: Text -> CreateVPC
+ Network.AWS.EC2.CreateVPC: createVPCResponse :: Int -> CreateVPCResponse
+ Network.AWS.EC2.CreateVPC: cvCIdRBlock :: Lens' CreateVPC Text
+ Network.AWS.EC2.CreateVPC: cvDryRun :: Lens' CreateVPC (Maybe Bool)
+ Network.AWS.EC2.CreateVPC: cvInstanceTenancy :: Lens' CreateVPC (Maybe Tenancy)
+ Network.AWS.EC2.CreateVPC: cvrsStatus :: Lens' CreateVPCResponse Int
+ Network.AWS.EC2.CreateVPC: cvrsVPC :: Lens' CreateVPCResponse (Maybe VPC)
+ Network.AWS.EC2.CreateVPC: data CreateVPC
+ Network.AWS.EC2.CreateVPC: data CreateVPCResponse
+ Network.AWS.EC2.CreateVPC: instance AWSRequest CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Constructor C1_0CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Constructor C1_0CreateVPCResponse
+ Network.AWS.EC2.CreateVPC: instance Data CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Data CreateVPCResponse
+ Network.AWS.EC2.CreateVPC: instance Datatype D1CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Datatype D1CreateVPCResponse
+ Network.AWS.EC2.CreateVPC: instance Eq CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Eq CreateVPCResponse
+ Network.AWS.EC2.CreateVPC: instance Generic CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Generic CreateVPCResponse
+ Network.AWS.EC2.CreateVPC: instance Read CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Read CreateVPCResponse
+ Network.AWS.EC2.CreateVPC: instance Selector S1_0_0CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Selector S1_0_0CreateVPCResponse
+ Network.AWS.EC2.CreateVPC: instance Selector S1_0_1CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Selector S1_0_1CreateVPCResponse
+ Network.AWS.EC2.CreateVPC: instance Selector S1_0_2CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Show CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Show CreateVPCResponse
+ Network.AWS.EC2.CreateVPC: instance ToHeaders CreateVPC
+ Network.AWS.EC2.CreateVPC: instance ToPath CreateVPC
+ Network.AWS.EC2.CreateVPC: instance ToQuery CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Typeable CreateVPC
+ Network.AWS.EC2.CreateVPC: instance Typeable CreateVPCResponse
+ Network.AWS.EC2.CreateVPCEndpoint: createVPCEndpoint :: Text -> Text -> CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: createVPCEndpointResponse :: Int -> CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: cveClientToken :: Lens' CreateVPCEndpoint (Maybe Text)
+ Network.AWS.EC2.CreateVPCEndpoint: cveDryRun :: Lens' CreateVPCEndpoint (Maybe Bool)
+ Network.AWS.EC2.CreateVPCEndpoint: cvePolicyDocument :: Lens' CreateVPCEndpoint (Maybe Text)
+ Network.AWS.EC2.CreateVPCEndpoint: cveRouteTableIds :: Lens' CreateVPCEndpoint [Text]
+ Network.AWS.EC2.CreateVPCEndpoint: cveServiceName :: Lens' CreateVPCEndpoint Text
+ Network.AWS.EC2.CreateVPCEndpoint: cveVPCId :: Lens' CreateVPCEndpoint Text
+ Network.AWS.EC2.CreateVPCEndpoint: cversClientToken :: Lens' CreateVPCEndpointResponse (Maybe Text)
+ Network.AWS.EC2.CreateVPCEndpoint: cversStatus :: Lens' CreateVPCEndpointResponse Int
+ Network.AWS.EC2.CreateVPCEndpoint: cversVPCEndpoint :: Lens' CreateVPCEndpointResponse (Maybe VPCEndpoint)
+ Network.AWS.EC2.CreateVPCEndpoint: data CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: data CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: instance AWSRequest CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Constructor C1_0CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Constructor C1_0CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: instance Data CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Data CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: instance Datatype D1CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Datatype D1CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: instance Eq CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Eq CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: instance Generic CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Generic CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: instance Read CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Read CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: instance Selector S1_0_0CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Selector S1_0_0CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: instance Selector S1_0_1CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Selector S1_0_1CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: instance Selector S1_0_2CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Selector S1_0_2CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: instance Selector S1_0_3CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Selector S1_0_4CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Selector S1_0_5CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Show CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Show CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCEndpoint: instance ToHeaders CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance ToPath CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance ToQuery CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Typeable CreateVPCEndpoint
+ Network.AWS.EC2.CreateVPCEndpoint: instance Typeable CreateVPCEndpointResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: createVPCPeeringConnection :: CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: createVPCPeeringConnectionResponse :: Int -> CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: cvpcDryRun :: Lens' CreateVPCPeeringConnection (Maybe Bool)
+ Network.AWS.EC2.CreateVPCPeeringConnection: cvpcPeerOwnerId :: Lens' CreateVPCPeeringConnection (Maybe Text)
+ Network.AWS.EC2.CreateVPCPeeringConnection: cvpcPeerVPCId :: Lens' CreateVPCPeeringConnection (Maybe Text)
+ Network.AWS.EC2.CreateVPCPeeringConnection: cvpcVPCId :: Lens' CreateVPCPeeringConnection (Maybe Text)
+ Network.AWS.EC2.CreateVPCPeeringConnection: cvpcrsStatus :: Lens' CreateVPCPeeringConnectionResponse Int
+ Network.AWS.EC2.CreateVPCPeeringConnection: cvpcrsVPCPeeringConnection :: Lens' CreateVPCPeeringConnectionResponse (Maybe VPCPeeringConnection)
+ Network.AWS.EC2.CreateVPCPeeringConnection: data CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: data CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance AWSRequest CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Constructor C1_0CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Constructor C1_0CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Data CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Data CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Datatype D1CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Datatype D1CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Eq CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Eq CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Generic CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Generic CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Read CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Read CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Selector S1_0_0CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Selector S1_0_0CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Selector S1_0_1CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Selector S1_0_1CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Selector S1_0_2CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Selector S1_0_3CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Show CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Show CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance ToHeaders CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance ToPath CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance ToQuery CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Typeable CreateVPCPeeringConnection
+ Network.AWS.EC2.CreateVPCPeeringConnection: instance Typeable CreateVPCPeeringConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: createVPNConnection :: Text -> Text -> Text -> CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: createVPNConnectionResponse :: Int -> CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: cvcCustomerGatewayId :: Lens' CreateVPNConnection Text
+ Network.AWS.EC2.CreateVPNConnection: cvcDryRun :: Lens' CreateVPNConnection (Maybe Bool)
+ Network.AWS.EC2.CreateVPNConnection: cvcOptions :: Lens' CreateVPNConnection (Maybe VPNConnectionOptionsSpecification)
+ Network.AWS.EC2.CreateVPNConnection: cvcType :: Lens' CreateVPNConnection Text
+ Network.AWS.EC2.CreateVPNConnection: cvcVPNGatewayId :: Lens' CreateVPNConnection Text
+ Network.AWS.EC2.CreateVPNConnection: cvcrsStatus :: Lens' CreateVPNConnectionResponse Int
+ Network.AWS.EC2.CreateVPNConnection: cvcrsVPNConnection :: Lens' CreateVPNConnectionResponse (Maybe VPNConnection)
+ Network.AWS.EC2.CreateVPNConnection: data CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: data CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: instance AWSRequest CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Constructor C1_0CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Constructor C1_0CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: instance Data CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Data CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: instance Datatype D1CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Datatype D1CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: instance Eq CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Eq CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: instance Generic CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Generic CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: instance Read CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Read CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: instance Selector S1_0_0CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Selector S1_0_0CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: instance Selector S1_0_1CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Selector S1_0_1CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: instance Selector S1_0_2CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Selector S1_0_3CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Selector S1_0_4CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Show CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Show CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnection: instance ToHeaders CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance ToPath CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance ToQuery CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Typeable CreateVPNConnection
+ Network.AWS.EC2.CreateVPNConnection: instance Typeable CreateVPNConnectionResponse
+ Network.AWS.EC2.CreateVPNConnectionRoute: createVPNConnectionRoute :: Text -> Text -> CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: createVPNConnectionRouteResponse :: CreateVPNConnectionRouteResponse
+ Network.AWS.EC2.CreateVPNConnectionRoute: cvcrDestinationCIdRBlock :: Lens' CreateVPNConnectionRoute Text
+ Network.AWS.EC2.CreateVPNConnectionRoute: cvcrVPNConnectionId :: Lens' CreateVPNConnectionRoute Text
+ Network.AWS.EC2.CreateVPNConnectionRoute: data CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: data CreateVPNConnectionRouteResponse
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance AWSRequest CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Constructor C1_0CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Constructor C1_0CreateVPNConnectionRouteResponse
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Data CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Data CreateVPNConnectionRouteResponse
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Datatype D1CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Datatype D1CreateVPNConnectionRouteResponse
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Eq CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Eq CreateVPNConnectionRouteResponse
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Generic CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Generic CreateVPNConnectionRouteResponse
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Read CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Read CreateVPNConnectionRouteResponse
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Selector S1_0_0CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Selector S1_0_1CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Show CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Show CreateVPNConnectionRouteResponse
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance ToHeaders CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance ToPath CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance ToQuery CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Typeable CreateVPNConnectionRoute
+ Network.AWS.EC2.CreateVPNConnectionRoute: instance Typeable CreateVPNConnectionRouteResponse
+ Network.AWS.EC2.CreateVPNGateway: createVPNGateway :: GatewayType -> CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: createVPNGatewayResponse :: Int -> CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVPNGateway: cvgAvailabilityZone :: Lens' CreateVPNGateway (Maybe Text)
+ Network.AWS.EC2.CreateVPNGateway: cvgDryRun :: Lens' CreateVPNGateway (Maybe Bool)
+ Network.AWS.EC2.CreateVPNGateway: cvgType :: Lens' CreateVPNGateway GatewayType
+ Network.AWS.EC2.CreateVPNGateway: cvgrsStatus :: Lens' CreateVPNGatewayResponse Int
+ Network.AWS.EC2.CreateVPNGateway: cvgrsVPNGateway :: Lens' CreateVPNGatewayResponse (Maybe VPNGateway)
+ Network.AWS.EC2.CreateVPNGateway: data CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: data CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVPNGateway: instance AWSRequest CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Constructor C1_0CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Constructor C1_0CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVPNGateway: instance Data CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Data CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVPNGateway: instance Datatype D1CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Datatype D1CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVPNGateway: instance Eq CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Eq CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVPNGateway: instance Generic CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Generic CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVPNGateway: instance Read CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Read CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVPNGateway: instance Selector S1_0_0CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Selector S1_0_0CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVPNGateway: instance Selector S1_0_1CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Selector S1_0_1CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVPNGateway: instance Selector S1_0_2CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Show CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Show CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVPNGateway: instance ToHeaders CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance ToPath CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance ToQuery CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Typeable CreateVPNGateway
+ Network.AWS.EC2.CreateVPNGateway: instance Typeable CreateVPNGatewayResponse
+ Network.AWS.EC2.CreateVolume: creAvailabilityZone :: Lens' CreateVolume Text
+ Network.AWS.EC2.CreateVolume: creDryRun :: Lens' CreateVolume (Maybe Bool)
+ Network.AWS.EC2.CreateVolume: creEncrypted :: Lens' CreateVolume (Maybe Bool)
+ Network.AWS.EC2.CreateVolume: creIOPS :: Lens' CreateVolume (Maybe Int)
+ Network.AWS.EC2.CreateVolume: creKMSKeyId :: Lens' CreateVolume (Maybe Text)
+ Network.AWS.EC2.CreateVolume: creSize :: Lens' CreateVolume (Maybe Int)
+ Network.AWS.EC2.CreateVolume: creSnapshotId :: Lens' CreateVolume (Maybe Text)
+ Network.AWS.EC2.CreateVolume: creVolumeType :: Lens' CreateVolume (Maybe VolumeType)
+ Network.AWS.EC2.CreateVolume: data Volume
+ Network.AWS.EC2.CreateVolume: instance Constructor C1_0CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Data CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Datatype D1CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Generic CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Selector S1_0_0CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Selector S1_0_1CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Selector S1_0_2CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Selector S1_0_3CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Selector S1_0_4CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Selector S1_0_5CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Selector S1_0_6CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Selector S1_0_7CreateVolume
+ Network.AWS.EC2.CreateVolume: instance Typeable CreateVolume
+ Network.AWS.EC2.CreateVolume: vAttachments :: Lens' Volume [VolumeAttachment]
+ Network.AWS.EC2.CreateVolume: vAvailabilityZone :: Lens' Volume Text
+ Network.AWS.EC2.CreateVolume: vCreateTime :: Lens' Volume UTCTime
+ Network.AWS.EC2.CreateVolume: vEncrypted :: Lens' Volume Bool
+ Network.AWS.EC2.CreateVolume: vIOPS :: Lens' Volume (Maybe Int)
+ Network.AWS.EC2.CreateVolume: vKMSKeyId :: Lens' Volume (Maybe Text)
+ Network.AWS.EC2.CreateVolume: vSize :: Lens' Volume Int
+ Network.AWS.EC2.CreateVolume: vSnapshotId :: Lens' Volume Text
+ Network.AWS.EC2.CreateVolume: vState :: Lens' Volume VolumeState
+ Network.AWS.EC2.CreateVolume: vTags :: Lens' Volume [Tag]
+ Network.AWS.EC2.CreateVolume: vVolumeId :: Lens' Volume Text
+ Network.AWS.EC2.CreateVolume: vVolumeType :: Lens' Volume VolumeType
+ Network.AWS.EC2.CreateVolume: volume :: Text -> UTCTime -> Bool -> Int -> Text -> VolumeState -> Text -> VolumeType -> Volume
+ Network.AWS.EC2.DeleteCustomerGateway: dcgcCustomerGatewayId :: Lens' DeleteCustomerGateway Text
+ Network.AWS.EC2.DeleteCustomerGateway: dcgcDryRun :: Lens' DeleteCustomerGateway (Maybe Bool)
+ Network.AWS.EC2.DeleteCustomerGateway: instance Constructor C1_0DeleteCustomerGateway
+ Network.AWS.EC2.DeleteCustomerGateway: instance Data DeleteCustomerGateway
+ Network.AWS.EC2.DeleteCustomerGateway: instance Data DeleteCustomerGatewayResponse
+ Network.AWS.EC2.DeleteCustomerGateway: instance Datatype D1DeleteCustomerGateway
+ Network.AWS.EC2.DeleteCustomerGateway: instance Generic DeleteCustomerGateway
+ Network.AWS.EC2.DeleteCustomerGateway: instance Selector S1_0_0DeleteCustomerGateway
+ Network.AWS.EC2.DeleteCustomerGateway: instance Selector S1_0_1DeleteCustomerGateway
+ Network.AWS.EC2.DeleteCustomerGateway: instance Typeable DeleteCustomerGateway
+ Network.AWS.EC2.DeleteCustomerGateway: instance Typeable DeleteCustomerGatewayResponse
+ Network.AWS.EC2.DeleteDHCPOptions: data DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: data DeleteDHCPOptionsResponse
+ Network.AWS.EC2.DeleteDHCPOptions: ddhcpoDHCPOptionsId :: Lens' DeleteDHCPOptions Text
+ Network.AWS.EC2.DeleteDHCPOptions: ddhcpoDryRun :: Lens' DeleteDHCPOptions (Maybe Bool)
+ Network.AWS.EC2.DeleteDHCPOptions: deleteDHCPOptions :: Text -> DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: deleteDHCPOptionsResponse :: DeleteDHCPOptionsResponse
+ Network.AWS.EC2.DeleteDHCPOptions: instance AWSRequest DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Constructor C1_0DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Constructor C1_0DeleteDHCPOptionsResponse
+ Network.AWS.EC2.DeleteDHCPOptions: instance Data DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Data DeleteDHCPOptionsResponse
+ Network.AWS.EC2.DeleteDHCPOptions: instance Datatype D1DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Datatype D1DeleteDHCPOptionsResponse
+ Network.AWS.EC2.DeleteDHCPOptions: instance Eq DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Eq DeleteDHCPOptionsResponse
+ Network.AWS.EC2.DeleteDHCPOptions: instance Generic DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Generic DeleteDHCPOptionsResponse
+ Network.AWS.EC2.DeleteDHCPOptions: instance Read DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Read DeleteDHCPOptionsResponse
+ Network.AWS.EC2.DeleteDHCPOptions: instance Selector S1_0_0DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Selector S1_0_1DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Show DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Show DeleteDHCPOptionsResponse
+ Network.AWS.EC2.DeleteDHCPOptions: instance ToHeaders DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance ToPath DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance ToQuery DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Typeable DeleteDHCPOptions
+ Network.AWS.EC2.DeleteDHCPOptions: instance Typeable DeleteDHCPOptionsResponse
+ Network.AWS.EC2.DeleteFlowLogs: data DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: data DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteFlowLogs: deleteFlowLogs :: DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: deleteFlowLogsResponse :: Int -> DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteFlowLogs: dflFlowLogIds :: Lens' DeleteFlowLogs [Text]
+ Network.AWS.EC2.DeleteFlowLogs: dflrsStatus :: Lens' DeleteFlowLogsResponse Int
+ Network.AWS.EC2.DeleteFlowLogs: dflrsUnsuccessful :: Lens' DeleteFlowLogsResponse [UnsuccessfulItem]
+ Network.AWS.EC2.DeleteFlowLogs: instance AWSRequest DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance Constructor C1_0DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance Constructor C1_0DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteFlowLogs: instance Data DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance Data DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteFlowLogs: instance Datatype D1DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance Datatype D1DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteFlowLogs: instance Eq DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance Eq DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteFlowLogs: instance Generic DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance Generic DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteFlowLogs: instance Read DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance Read DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteFlowLogs: instance Selector S1_0_0DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance Selector S1_0_0DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteFlowLogs: instance Selector S1_0_1DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteFlowLogs: instance Show DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance Show DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteFlowLogs: instance ToHeaders DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance ToPath DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance ToQuery DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance Typeable DeleteFlowLogs
+ Network.AWS.EC2.DeleteFlowLogs: instance Typeable DeleteFlowLogsResponse
+ Network.AWS.EC2.DeleteInternetGateway: digiDryRun :: Lens' DeleteInternetGateway (Maybe Bool)
+ Network.AWS.EC2.DeleteInternetGateway: digiInternetGatewayId :: Lens' DeleteInternetGateway Text
+ Network.AWS.EC2.DeleteInternetGateway: instance Constructor C1_0DeleteInternetGateway
+ Network.AWS.EC2.DeleteInternetGateway: instance Data DeleteInternetGateway
+ Network.AWS.EC2.DeleteInternetGateway: instance Data DeleteInternetGatewayResponse
+ Network.AWS.EC2.DeleteInternetGateway: instance Datatype D1DeleteInternetGateway
+ Network.AWS.EC2.DeleteInternetGateway: instance Generic DeleteInternetGateway
+ Network.AWS.EC2.DeleteInternetGateway: instance Selector S1_0_0DeleteInternetGateway
+ Network.AWS.EC2.DeleteInternetGateway: instance Selector S1_0_1DeleteInternetGateway
+ Network.AWS.EC2.DeleteInternetGateway: instance Typeable DeleteInternetGateway
+ Network.AWS.EC2.DeleteInternetGateway: instance Typeable DeleteInternetGatewayResponse
+ Network.AWS.EC2.DeleteKeyPair: instance Constructor C1_0DeleteKeyPair
+ Network.AWS.EC2.DeleteKeyPair: instance Data DeleteKeyPair
+ Network.AWS.EC2.DeleteKeyPair: instance Data DeleteKeyPairResponse
+ Network.AWS.EC2.DeleteKeyPair: instance Datatype D1DeleteKeyPair
+ Network.AWS.EC2.DeleteKeyPair: instance Generic DeleteKeyPair
+ Network.AWS.EC2.DeleteKeyPair: instance Selector S1_0_0DeleteKeyPair
+ Network.AWS.EC2.DeleteKeyPair: instance Selector S1_0_1DeleteKeyPair
+ Network.AWS.EC2.DeleteKeyPair: instance Typeable DeleteKeyPair
+ Network.AWS.EC2.DeleteKeyPair: instance Typeable DeleteKeyPairResponse
+ Network.AWS.EC2.DeleteNetworkACL: data DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: data DeleteNetworkACLResponse
+ Network.AWS.EC2.DeleteNetworkACL: deleteNetworkACL :: Text -> DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: deleteNetworkACLResponse :: DeleteNetworkACLResponse
+ Network.AWS.EC2.DeleteNetworkACL: dnaDryRun :: Lens' DeleteNetworkACL (Maybe Bool)
+ Network.AWS.EC2.DeleteNetworkACL: dnaNetworkACLId :: Lens' DeleteNetworkACL Text
+ Network.AWS.EC2.DeleteNetworkACL: instance AWSRequest DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Constructor C1_0DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Constructor C1_0DeleteNetworkACLResponse
+ Network.AWS.EC2.DeleteNetworkACL: instance Data DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Data DeleteNetworkACLResponse
+ Network.AWS.EC2.DeleteNetworkACL: instance Datatype D1DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Datatype D1DeleteNetworkACLResponse
+ Network.AWS.EC2.DeleteNetworkACL: instance Eq DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Eq DeleteNetworkACLResponse
+ Network.AWS.EC2.DeleteNetworkACL: instance Generic DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Generic DeleteNetworkACLResponse
+ Network.AWS.EC2.DeleteNetworkACL: instance Read DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Read DeleteNetworkACLResponse
+ Network.AWS.EC2.DeleteNetworkACL: instance Selector S1_0_0DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Selector S1_0_1DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Show DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Show DeleteNetworkACLResponse
+ Network.AWS.EC2.DeleteNetworkACL: instance ToHeaders DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance ToPath DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance ToQuery DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Typeable DeleteNetworkACL
+ Network.AWS.EC2.DeleteNetworkACL: instance Typeable DeleteNetworkACLResponse
+ Network.AWS.EC2.DeleteNetworkACLEntry: data DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: data DeleteNetworkACLEntryResponse
+ Network.AWS.EC2.DeleteNetworkACLEntry: deleteNetworkACLEntry :: Text -> Int -> Bool -> DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: deleteNetworkACLEntryResponse :: DeleteNetworkACLEntryResponse
+ Network.AWS.EC2.DeleteNetworkACLEntry: dnaeDryRun :: Lens' DeleteNetworkACLEntry (Maybe Bool)
+ Network.AWS.EC2.DeleteNetworkACLEntry: dnaeEgress :: Lens' DeleteNetworkACLEntry Bool
+ Network.AWS.EC2.DeleteNetworkACLEntry: dnaeNetworkACLId :: Lens' DeleteNetworkACLEntry Text
+ Network.AWS.EC2.DeleteNetworkACLEntry: dnaeRuleNumber :: Lens' DeleteNetworkACLEntry Int
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance AWSRequest DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Constructor C1_0DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Constructor C1_0DeleteNetworkACLEntryResponse
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Data DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Data DeleteNetworkACLEntryResponse
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Datatype D1DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Datatype D1DeleteNetworkACLEntryResponse
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Eq DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Eq DeleteNetworkACLEntryResponse
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Generic DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Generic DeleteNetworkACLEntryResponse
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Read DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Read DeleteNetworkACLEntryResponse
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Selector S1_0_0DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Selector S1_0_1DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Selector S1_0_2DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Selector S1_0_3DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Show DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Show DeleteNetworkACLEntryResponse
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance ToHeaders DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance ToPath DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance ToQuery DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Typeable DeleteNetworkACLEntry
+ Network.AWS.EC2.DeleteNetworkACLEntry: instance Typeable DeleteNetworkACLEntryResponse
+ Network.AWS.EC2.DeleteNetworkInterface: dninDryRun :: Lens' DeleteNetworkInterface (Maybe Bool)
+ Network.AWS.EC2.DeleteNetworkInterface: dninNetworkInterfaceId :: Lens' DeleteNetworkInterface Text
+ Network.AWS.EC2.DeleteNetworkInterface: instance Constructor C1_0DeleteNetworkInterface
+ Network.AWS.EC2.DeleteNetworkInterface: instance Data DeleteNetworkInterface
+ Network.AWS.EC2.DeleteNetworkInterface: instance Data DeleteNetworkInterfaceResponse
+ Network.AWS.EC2.DeleteNetworkInterface: instance Datatype D1DeleteNetworkInterface
+ Network.AWS.EC2.DeleteNetworkInterface: instance Generic DeleteNetworkInterface
+ Network.AWS.EC2.DeleteNetworkInterface: instance Selector S1_0_0DeleteNetworkInterface
+ Network.AWS.EC2.DeleteNetworkInterface: instance Selector S1_0_1DeleteNetworkInterface
+ Network.AWS.EC2.DeleteNetworkInterface: instance Typeable DeleteNetworkInterface
+ Network.AWS.EC2.DeleteNetworkInterface: instance Typeable DeleteNetworkInterfaceResponse
+ Network.AWS.EC2.DeletePlacementGroup: instance Constructor C1_0DeletePlacementGroup
+ Network.AWS.EC2.DeletePlacementGroup: instance Data DeletePlacementGroup
+ Network.AWS.EC2.DeletePlacementGroup: instance Data DeletePlacementGroupResponse
+ Network.AWS.EC2.DeletePlacementGroup: instance Datatype D1DeletePlacementGroup
+ Network.AWS.EC2.DeletePlacementGroup: instance Generic DeletePlacementGroup
+ Network.AWS.EC2.DeletePlacementGroup: instance Selector S1_0_0DeletePlacementGroup
+ Network.AWS.EC2.DeletePlacementGroup: instance Selector S1_0_1DeletePlacementGroup
+ Network.AWS.EC2.DeletePlacementGroup: instance Typeable DeletePlacementGroup
+ Network.AWS.EC2.DeletePlacementGroup: instance Typeable DeletePlacementGroupResponse
+ Network.AWS.EC2.DeleteRoute: drDestinationCIdRBlock :: Lens' DeleteRoute Text
+ Network.AWS.EC2.DeleteRoute: instance Constructor C1_0DeleteRoute
+ Network.AWS.EC2.DeleteRoute: instance Data DeleteRoute
+ Network.AWS.EC2.DeleteRoute: instance Data DeleteRouteResponse
+ Network.AWS.EC2.DeleteRoute: instance Datatype D1DeleteRoute
+ Network.AWS.EC2.DeleteRoute: instance Generic DeleteRoute
+ Network.AWS.EC2.DeleteRoute: instance Selector S1_0_0DeleteRoute
+ Network.AWS.EC2.DeleteRoute: instance Selector S1_0_1DeleteRoute
+ Network.AWS.EC2.DeleteRoute: instance Selector S1_0_2DeleteRoute
+ Network.AWS.EC2.DeleteRoute: instance Typeable DeleteRoute
+ Network.AWS.EC2.DeleteRoute: instance Typeable DeleteRouteResponse
+ Network.AWS.EC2.DeleteRouteTable: drtrDryRun :: Lens' DeleteRouteTable (Maybe Bool)
+ Network.AWS.EC2.DeleteRouteTable: drtrRouteTableId :: Lens' DeleteRouteTable Text
+ Network.AWS.EC2.DeleteRouteTable: instance Constructor C1_0DeleteRouteTable
+ Network.AWS.EC2.DeleteRouteTable: instance Data DeleteRouteTable
+ Network.AWS.EC2.DeleteRouteTable: instance Data DeleteRouteTableResponse
+ Network.AWS.EC2.DeleteRouteTable: instance Datatype D1DeleteRouteTable
+ Network.AWS.EC2.DeleteRouteTable: instance Generic DeleteRouteTable
+ Network.AWS.EC2.DeleteRouteTable: instance Selector S1_0_0DeleteRouteTable
+ Network.AWS.EC2.DeleteRouteTable: instance Selector S1_0_1DeleteRouteTable
+ Network.AWS.EC2.DeleteRouteTable: instance Typeable DeleteRouteTable
+ Network.AWS.EC2.DeleteRouteTable: instance Typeable DeleteRouteTableResponse
+ Network.AWS.EC2.DeleteSecurityGroup: instance Constructor C1_0DeleteSecurityGroup
+ Network.AWS.EC2.DeleteSecurityGroup: instance Data DeleteSecurityGroup
+ Network.AWS.EC2.DeleteSecurityGroup: instance Data DeleteSecurityGroupResponse
+ Network.AWS.EC2.DeleteSecurityGroup: instance Datatype D1DeleteSecurityGroup
+ Network.AWS.EC2.DeleteSecurityGroup: instance Generic DeleteSecurityGroup
+ Network.AWS.EC2.DeleteSecurityGroup: instance Selector S1_0_0DeleteSecurityGroup
+ Network.AWS.EC2.DeleteSecurityGroup: instance Selector S1_0_1DeleteSecurityGroup
+ Network.AWS.EC2.DeleteSecurityGroup: instance Selector S1_0_2DeleteSecurityGroup
+ Network.AWS.EC2.DeleteSecurityGroup: instance Typeable DeleteSecurityGroup
+ Network.AWS.EC2.DeleteSecurityGroup: instance Typeable DeleteSecurityGroupResponse
+ Network.AWS.EC2.DeleteSnapshot: deleDryRun :: Lens' DeleteSnapshot (Maybe Bool)
+ Network.AWS.EC2.DeleteSnapshot: deleSnapshotId :: Lens' DeleteSnapshot Text
+ Network.AWS.EC2.DeleteSnapshot: instance Constructor C1_0DeleteSnapshot
+ Network.AWS.EC2.DeleteSnapshot: instance Data DeleteSnapshot
+ Network.AWS.EC2.DeleteSnapshot: instance Data DeleteSnapshotResponse
+ Network.AWS.EC2.DeleteSnapshot: instance Datatype D1DeleteSnapshot
+ Network.AWS.EC2.DeleteSnapshot: instance Generic DeleteSnapshot
+ Network.AWS.EC2.DeleteSnapshot: instance Selector S1_0_0DeleteSnapshot
+ Network.AWS.EC2.DeleteSnapshot: instance Selector S1_0_1DeleteSnapshot
+ Network.AWS.EC2.DeleteSnapshot: instance Typeable DeleteSnapshot
+ Network.AWS.EC2.DeleteSnapshot: instance Typeable DeleteSnapshotResponse
+ Network.AWS.EC2.DeleteSpotDatafeedSubscription: dsdssDryRun :: Lens' DeleteSpotDatafeedSubscription (Maybe Bool)
+ Network.AWS.EC2.DeleteSpotDatafeedSubscription: instance Constructor C1_0DeleteSpotDatafeedSubscription
+ Network.AWS.EC2.DeleteSpotDatafeedSubscription: instance Data DeleteSpotDatafeedSubscription
+ Network.AWS.EC2.DeleteSpotDatafeedSubscription: instance Data DeleteSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.DeleteSpotDatafeedSubscription: instance Datatype D1DeleteSpotDatafeedSubscription
+ Network.AWS.EC2.DeleteSpotDatafeedSubscription: instance Generic DeleteSpotDatafeedSubscription
+ Network.AWS.EC2.DeleteSpotDatafeedSubscription: instance Selector S1_0_0DeleteSpotDatafeedSubscription
+ Network.AWS.EC2.DeleteSpotDatafeedSubscription: instance Typeable DeleteSpotDatafeedSubscription
+ Network.AWS.EC2.DeleteSpotDatafeedSubscription: instance Typeable DeleteSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.DeleteSubnet: ddDryRun :: Lens' DeleteSubnet (Maybe Bool)
+ Network.AWS.EC2.DeleteSubnet: ddSubnetId :: Lens' DeleteSubnet Text
+ Network.AWS.EC2.DeleteSubnet: instance Constructor C1_0DeleteSubnet
+ Network.AWS.EC2.DeleteSubnet: instance Data DeleteSubnet
+ Network.AWS.EC2.DeleteSubnet: instance Data DeleteSubnetResponse
+ Network.AWS.EC2.DeleteSubnet: instance Datatype D1DeleteSubnet
+ Network.AWS.EC2.DeleteSubnet: instance Generic DeleteSubnet
+ Network.AWS.EC2.DeleteSubnet: instance Selector S1_0_0DeleteSubnet
+ Network.AWS.EC2.DeleteSubnet: instance Selector S1_0_1DeleteSubnet
+ Network.AWS.EC2.DeleteSubnet: instance Typeable DeleteSubnet
+ Network.AWS.EC2.DeleteSubnet: instance Typeable DeleteSubnetResponse
+ Network.AWS.EC2.DeleteTags: dtsDryRun :: Lens' DeleteTags (Maybe Bool)
+ Network.AWS.EC2.DeleteTags: dtsResources :: Lens' DeleteTags [Text]
+ Network.AWS.EC2.DeleteTags: dtsTags :: Lens' DeleteTags [Tag]
+ Network.AWS.EC2.DeleteTags: instance Constructor C1_0DeleteTags
+ Network.AWS.EC2.DeleteTags: instance Data DeleteTags
+ Network.AWS.EC2.DeleteTags: instance Data DeleteTagsResponse
+ Network.AWS.EC2.DeleteTags: instance Datatype D1DeleteTags
+ Network.AWS.EC2.DeleteTags: instance Generic DeleteTags
+ Network.AWS.EC2.DeleteTags: instance Selector S1_0_0DeleteTags
+ Network.AWS.EC2.DeleteTags: instance Selector S1_0_1DeleteTags
+ Network.AWS.EC2.DeleteTags: instance Selector S1_0_2DeleteTags
+ Network.AWS.EC2.DeleteTags: instance Typeable DeleteTags
+ Network.AWS.EC2.DeleteTags: instance Typeable DeleteTagsResponse
+ Network.AWS.EC2.DeleteVPC: data DeleteVPC
+ Network.AWS.EC2.DeleteVPC: data DeleteVPCResponse
+ Network.AWS.EC2.DeleteVPC: delDryRun :: Lens' DeleteVPC (Maybe Bool)
+ Network.AWS.EC2.DeleteVPC: delVPCId :: Lens' DeleteVPC Text
+ Network.AWS.EC2.DeleteVPC: deleteVPC :: Text -> DeleteVPC
+ Network.AWS.EC2.DeleteVPC: deleteVPCResponse :: DeleteVPCResponse
+ Network.AWS.EC2.DeleteVPC: instance AWSRequest DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Constructor C1_0DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Constructor C1_0DeleteVPCResponse
+ Network.AWS.EC2.DeleteVPC: instance Data DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Data DeleteVPCResponse
+ Network.AWS.EC2.DeleteVPC: instance Datatype D1DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Datatype D1DeleteVPCResponse
+ Network.AWS.EC2.DeleteVPC: instance Eq DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Eq DeleteVPCResponse
+ Network.AWS.EC2.DeleteVPC: instance Generic DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Generic DeleteVPCResponse
+ Network.AWS.EC2.DeleteVPC: instance Read DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Read DeleteVPCResponse
+ Network.AWS.EC2.DeleteVPC: instance Selector S1_0_0DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Selector S1_0_1DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Show DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Show DeleteVPCResponse
+ Network.AWS.EC2.DeleteVPC: instance ToHeaders DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance ToPath DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance ToQuery DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Typeable DeleteVPC
+ Network.AWS.EC2.DeleteVPC: instance Typeable DeleteVPCResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: data DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: data DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: deleteVPCEndpoints :: DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: deleteVPCEndpointsResponse :: Int -> DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: dveDryRun :: Lens' DeleteVPCEndpoints (Maybe Bool)
+ Network.AWS.EC2.DeleteVPCEndpoints: dveVPCEndpointIds :: Lens' DeleteVPCEndpoints [Text]
+ Network.AWS.EC2.DeleteVPCEndpoints: dversStatus :: Lens' DeleteVPCEndpointsResponse Int
+ Network.AWS.EC2.DeleteVPCEndpoints: dversUnsuccessful :: Lens' DeleteVPCEndpointsResponse [UnsuccessfulItem]
+ Network.AWS.EC2.DeleteVPCEndpoints: instance AWSRequest DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Constructor C1_0DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Constructor C1_0DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Data DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Data DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Datatype D1DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Datatype D1DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Eq DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Eq DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Generic DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Generic DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Read DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Read DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Selector S1_0_0DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Selector S1_0_0DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Selector S1_0_1DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Selector S1_0_1DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Show DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Show DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCEndpoints: instance ToHeaders DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance ToPath DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance ToQuery DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Typeable DeleteVPCEndpoints
+ Network.AWS.EC2.DeleteVPCEndpoints: instance Typeable DeleteVPCEndpointsResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: data DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: data DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: deleteVPCPeeringConnection :: Text -> DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: deleteVPCPeeringConnectionResponse :: Int -> DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: dvpcDryRun :: Lens' DeleteVPCPeeringConnection (Maybe Bool)
+ Network.AWS.EC2.DeleteVPCPeeringConnection: dvpcVPCPeeringConnectionId :: Lens' DeleteVPCPeeringConnection Text
+ Network.AWS.EC2.DeleteVPCPeeringConnection: dvpcrsReturn :: Lens' DeleteVPCPeeringConnectionResponse (Maybe Bool)
+ Network.AWS.EC2.DeleteVPCPeeringConnection: dvpcrsStatus :: Lens' DeleteVPCPeeringConnectionResponse Int
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance AWSRequest DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Constructor C1_0DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Constructor C1_0DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Data DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Data DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Datatype D1DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Datatype D1DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Eq DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Eq DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Generic DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Generic DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Read DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Read DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Selector S1_0_0DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Selector S1_0_0DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Selector S1_0_1DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Selector S1_0_1DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Show DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Show DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance ToHeaders DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance ToPath DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance ToQuery DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Typeable DeleteVPCPeeringConnection
+ Network.AWS.EC2.DeleteVPCPeeringConnection: instance Typeable DeleteVPCPeeringConnectionResponse
+ Network.AWS.EC2.DeleteVPNConnection: data DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: data DeleteVPNConnectionResponse
+ Network.AWS.EC2.DeleteVPNConnection: deleteVPNConnection :: Text -> DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: deleteVPNConnectionResponse :: DeleteVPNConnectionResponse
+ Network.AWS.EC2.DeleteVPNConnection: dvcDryRun :: Lens' DeleteVPNConnection (Maybe Bool)
+ Network.AWS.EC2.DeleteVPNConnection: dvcVPNConnectionId :: Lens' DeleteVPNConnection Text
+ Network.AWS.EC2.DeleteVPNConnection: instance AWSRequest DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Constructor C1_0DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Constructor C1_0DeleteVPNConnectionResponse
+ Network.AWS.EC2.DeleteVPNConnection: instance Data DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Data DeleteVPNConnectionResponse
+ Network.AWS.EC2.DeleteVPNConnection: instance Datatype D1DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Datatype D1DeleteVPNConnectionResponse
+ Network.AWS.EC2.DeleteVPNConnection: instance Eq DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Eq DeleteVPNConnectionResponse
+ Network.AWS.EC2.DeleteVPNConnection: instance Generic DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Generic DeleteVPNConnectionResponse
+ Network.AWS.EC2.DeleteVPNConnection: instance Read DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Read DeleteVPNConnectionResponse
+ Network.AWS.EC2.DeleteVPNConnection: instance Selector S1_0_0DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Selector S1_0_1DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Show DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Show DeleteVPNConnectionResponse
+ Network.AWS.EC2.DeleteVPNConnection: instance ToHeaders DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance ToPath DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance ToQuery DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Typeable DeleteVPNConnection
+ Network.AWS.EC2.DeleteVPNConnection: instance Typeable DeleteVPNConnectionResponse
+ Network.AWS.EC2.DeleteVPNConnectionRoute: data DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: data DeleteVPNConnectionRouteResponse
+ Network.AWS.EC2.DeleteVPNConnectionRoute: deleteVPNConnectionRoute :: Text -> Text -> DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: deleteVPNConnectionRouteResponse :: DeleteVPNConnectionRouteResponse
+ Network.AWS.EC2.DeleteVPNConnectionRoute: dvcrDestinationCIdRBlock :: Lens' DeleteVPNConnectionRoute Text
+ Network.AWS.EC2.DeleteVPNConnectionRoute: dvcrVPNConnectionId :: Lens' DeleteVPNConnectionRoute Text
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance AWSRequest DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Constructor C1_0DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Constructor C1_0DeleteVPNConnectionRouteResponse
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Data DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Data DeleteVPNConnectionRouteResponse
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Datatype D1DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Datatype D1DeleteVPNConnectionRouteResponse
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Eq DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Eq DeleteVPNConnectionRouteResponse
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Generic DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Generic DeleteVPNConnectionRouteResponse
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Read DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Read DeleteVPNConnectionRouteResponse
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Selector S1_0_0DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Selector S1_0_1DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Show DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Show DeleteVPNConnectionRouteResponse
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance ToHeaders DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance ToPath DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance ToQuery DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Typeable DeleteVPNConnectionRoute
+ Network.AWS.EC2.DeleteVPNConnectionRoute: instance Typeable DeleteVPNConnectionRouteResponse
+ Network.AWS.EC2.DeleteVPNGateway: data DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: data DeleteVPNGatewayResponse
+ Network.AWS.EC2.DeleteVPNGateway: deleteVPNGateway :: Text -> DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: deleteVPNGatewayResponse :: DeleteVPNGatewayResponse
+ Network.AWS.EC2.DeleteVPNGateway: dvgDryRun :: Lens' DeleteVPNGateway (Maybe Bool)
+ Network.AWS.EC2.DeleteVPNGateway: dvgVPNGatewayId :: Lens' DeleteVPNGateway Text
+ Network.AWS.EC2.DeleteVPNGateway: instance AWSRequest DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Constructor C1_0DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Constructor C1_0DeleteVPNGatewayResponse
+ Network.AWS.EC2.DeleteVPNGateway: instance Data DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Data DeleteVPNGatewayResponse
+ Network.AWS.EC2.DeleteVPNGateway: instance Datatype D1DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Datatype D1DeleteVPNGatewayResponse
+ Network.AWS.EC2.DeleteVPNGateway: instance Eq DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Eq DeleteVPNGatewayResponse
+ Network.AWS.EC2.DeleteVPNGateway: instance Generic DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Generic DeleteVPNGatewayResponse
+ Network.AWS.EC2.DeleteVPNGateway: instance Read DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Read DeleteVPNGatewayResponse
+ Network.AWS.EC2.DeleteVPNGateway: instance Selector S1_0_0DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Selector S1_0_1DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Show DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Show DeleteVPNGatewayResponse
+ Network.AWS.EC2.DeleteVPNGateway: instance ToHeaders DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance ToPath DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance ToQuery DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Typeable DeleteVPNGateway
+ Network.AWS.EC2.DeleteVPNGateway: instance Typeable DeleteVPNGatewayResponse
+ Network.AWS.EC2.DeleteVolume: dvvDryRun :: Lens' DeleteVolume (Maybe Bool)
+ Network.AWS.EC2.DeleteVolume: dvvVolumeId :: Lens' DeleteVolume Text
+ Network.AWS.EC2.DeleteVolume: instance Constructor C1_0DeleteVolume
+ Network.AWS.EC2.DeleteVolume: instance Data DeleteVolume
+ Network.AWS.EC2.DeleteVolume: instance Data DeleteVolumeResponse
+ Network.AWS.EC2.DeleteVolume: instance Datatype D1DeleteVolume
+ Network.AWS.EC2.DeleteVolume: instance Generic DeleteVolume
+ Network.AWS.EC2.DeleteVolume: instance Selector S1_0_0DeleteVolume
+ Network.AWS.EC2.DeleteVolume: instance Selector S1_0_1DeleteVolume
+ Network.AWS.EC2.DeleteVolume: instance Typeable DeleteVolume
+ Network.AWS.EC2.DeleteVolume: instance Typeable DeleteVolumeResponse
+ Network.AWS.EC2.DeregisterImage: instance Constructor C1_0DeregisterImage
+ Network.AWS.EC2.DeregisterImage: instance Data DeregisterImage
+ Network.AWS.EC2.DeregisterImage: instance Data DeregisterImageResponse
+ Network.AWS.EC2.DeregisterImage: instance Datatype D1DeregisterImage
+ Network.AWS.EC2.DeregisterImage: instance Generic DeregisterImage
+ Network.AWS.EC2.DeregisterImage: instance Selector S1_0_0DeregisterImage
+ Network.AWS.EC2.DeregisterImage: instance Selector S1_0_1DeregisterImage
+ Network.AWS.EC2.DeregisterImage: instance Typeable DeregisterImage
+ Network.AWS.EC2.DeregisterImage: instance Typeable DeregisterImageResponse
+ Network.AWS.EC2.DescribeAccountAttributes: daarsAccountAttributes :: Lens' DescribeAccountAttributesResponse [AccountAttribute]
+ Network.AWS.EC2.DescribeAccountAttributes: daarsStatus :: Lens' DescribeAccountAttributesResponse Int
+ Network.AWS.EC2.DescribeAccountAttributes: instance Constructor C1_0DescribeAccountAttributes
+ Network.AWS.EC2.DescribeAccountAttributes: instance Constructor C1_0DescribeAccountAttributesResponse
+ Network.AWS.EC2.DescribeAccountAttributes: instance Data DescribeAccountAttributes
+ Network.AWS.EC2.DescribeAccountAttributes: instance Data DescribeAccountAttributesResponse
+ Network.AWS.EC2.DescribeAccountAttributes: instance Datatype D1DescribeAccountAttributes
+ Network.AWS.EC2.DescribeAccountAttributes: instance Datatype D1DescribeAccountAttributesResponse
+ Network.AWS.EC2.DescribeAccountAttributes: instance Generic DescribeAccountAttributes
+ Network.AWS.EC2.DescribeAccountAttributes: instance Generic DescribeAccountAttributesResponse
+ Network.AWS.EC2.DescribeAccountAttributes: instance Selector S1_0_0DescribeAccountAttributes
+ Network.AWS.EC2.DescribeAccountAttributes: instance Selector S1_0_0DescribeAccountAttributesResponse
+ Network.AWS.EC2.DescribeAccountAttributes: instance Selector S1_0_1DescribeAccountAttributes
+ Network.AWS.EC2.DescribeAccountAttributes: instance Selector S1_0_1DescribeAccountAttributesResponse
+ Network.AWS.EC2.DescribeAccountAttributes: instance Typeable DescribeAccountAttributes
+ Network.AWS.EC2.DescribeAccountAttributes: instance Typeable DescribeAccountAttributesResponse
+ Network.AWS.EC2.DescribeAddresses: daPublicIPs :: Lens' DescribeAddresses [Text]
+ Network.AWS.EC2.DescribeAddresses: darsAddresses :: Lens' DescribeAddressesResponse [Address]
+ Network.AWS.EC2.DescribeAddresses: darsStatus :: Lens' DescribeAddressesResponse Int
+ Network.AWS.EC2.DescribeAddresses: instance Constructor C1_0DescribeAddresses
+ Network.AWS.EC2.DescribeAddresses: instance Constructor C1_0DescribeAddressesResponse
+ Network.AWS.EC2.DescribeAddresses: instance Data DescribeAddresses
+ Network.AWS.EC2.DescribeAddresses: instance Data DescribeAddressesResponse
+ Network.AWS.EC2.DescribeAddresses: instance Datatype D1DescribeAddresses
+ Network.AWS.EC2.DescribeAddresses: instance Datatype D1DescribeAddressesResponse
+ Network.AWS.EC2.DescribeAddresses: instance Generic DescribeAddresses
+ Network.AWS.EC2.DescribeAddresses: instance Generic DescribeAddressesResponse
+ Network.AWS.EC2.DescribeAddresses: instance Selector S1_0_0DescribeAddresses
+ Network.AWS.EC2.DescribeAddresses: instance Selector S1_0_0DescribeAddressesResponse
+ Network.AWS.EC2.DescribeAddresses: instance Selector S1_0_1DescribeAddresses
+ Network.AWS.EC2.DescribeAddresses: instance Selector S1_0_1DescribeAddressesResponse
+ Network.AWS.EC2.DescribeAddresses: instance Selector S1_0_2DescribeAddresses
+ Network.AWS.EC2.DescribeAddresses: instance Selector S1_0_3DescribeAddresses
+ Network.AWS.EC2.DescribeAddresses: instance Typeable DescribeAddresses
+ Network.AWS.EC2.DescribeAddresses: instance Typeable DescribeAddressesResponse
+ Network.AWS.EC2.DescribeAvailabilityZones: dazrsAvailabilityZones :: Lens' DescribeAvailabilityZonesResponse [AvailabilityZone]
+ Network.AWS.EC2.DescribeAvailabilityZones: dazrsStatus :: Lens' DescribeAvailabilityZonesResponse Int
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Constructor C1_0DescribeAvailabilityZones
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Constructor C1_0DescribeAvailabilityZonesResponse
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Data DescribeAvailabilityZones
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Data DescribeAvailabilityZonesResponse
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Datatype D1DescribeAvailabilityZones
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Datatype D1DescribeAvailabilityZonesResponse
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Generic DescribeAvailabilityZones
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Generic DescribeAvailabilityZonesResponse
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Selector S1_0_0DescribeAvailabilityZones
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Selector S1_0_0DescribeAvailabilityZonesResponse
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Selector S1_0_1DescribeAvailabilityZones
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Selector S1_0_1DescribeAvailabilityZonesResponse
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Selector S1_0_2DescribeAvailabilityZones
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Typeable DescribeAvailabilityZones
+ Network.AWS.EC2.DescribeAvailabilityZones: instance Typeable DescribeAvailabilityZonesResponse
+ Network.AWS.EC2.DescribeBundleTasks: dbtrsBundleTasks :: Lens' DescribeBundleTasksResponse [BundleTask]
+ Network.AWS.EC2.DescribeBundleTasks: dbtrsStatus :: Lens' DescribeBundleTasksResponse Int
+ Network.AWS.EC2.DescribeBundleTasks: instance Constructor C1_0DescribeBundleTasks
+ Network.AWS.EC2.DescribeBundleTasks: instance Constructor C1_0DescribeBundleTasksResponse
+ Network.AWS.EC2.DescribeBundleTasks: instance Data DescribeBundleTasks
+ Network.AWS.EC2.DescribeBundleTasks: instance Data DescribeBundleTasksResponse
+ Network.AWS.EC2.DescribeBundleTasks: instance Datatype D1DescribeBundleTasks
+ Network.AWS.EC2.DescribeBundleTasks: instance Datatype D1DescribeBundleTasksResponse
+ Network.AWS.EC2.DescribeBundleTasks: instance Generic DescribeBundleTasks
+ Network.AWS.EC2.DescribeBundleTasks: instance Generic DescribeBundleTasksResponse
+ Network.AWS.EC2.DescribeBundleTasks: instance Selector S1_0_0DescribeBundleTasks
+ Network.AWS.EC2.DescribeBundleTasks: instance Selector S1_0_0DescribeBundleTasksResponse
+ Network.AWS.EC2.DescribeBundleTasks: instance Selector S1_0_1DescribeBundleTasks
+ Network.AWS.EC2.DescribeBundleTasks: instance Selector S1_0_1DescribeBundleTasksResponse
+ Network.AWS.EC2.DescribeBundleTasks: instance Selector S1_0_2DescribeBundleTasks
+ Network.AWS.EC2.DescribeBundleTasks: instance Typeable DescribeBundleTasks
+ Network.AWS.EC2.DescribeBundleTasks: instance Typeable DescribeBundleTasksResponse
+ Network.AWS.EC2.DescribeClassicLinkInstances: dclirsInstances :: Lens' DescribeClassicLinkInstancesResponse [ClassicLinkInstance]
+ Network.AWS.EC2.DescribeClassicLinkInstances: dclirsNextToken :: Lens' DescribeClassicLinkInstancesResponse (Maybe Text)
+ Network.AWS.EC2.DescribeClassicLinkInstances: dclirsStatus :: Lens' DescribeClassicLinkInstancesResponse Int
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Constructor C1_0DescribeClassicLinkInstances
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Constructor C1_0DescribeClassicLinkInstancesResponse
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Data DescribeClassicLinkInstances
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Data DescribeClassicLinkInstancesResponse
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Datatype D1DescribeClassicLinkInstances
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Datatype D1DescribeClassicLinkInstancesResponse
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Generic DescribeClassicLinkInstances
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Generic DescribeClassicLinkInstancesResponse
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Selector S1_0_0DescribeClassicLinkInstances
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Selector S1_0_0DescribeClassicLinkInstancesResponse
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Selector S1_0_1DescribeClassicLinkInstances
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Selector S1_0_1DescribeClassicLinkInstancesResponse
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Selector S1_0_2DescribeClassicLinkInstances
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Selector S1_0_2DescribeClassicLinkInstancesResponse
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Selector S1_0_3DescribeClassicLinkInstances
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Selector S1_0_4DescribeClassicLinkInstances
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Typeable DescribeClassicLinkInstances
+ Network.AWS.EC2.DescribeClassicLinkInstances: instance Typeable DescribeClassicLinkInstancesResponse
+ Network.AWS.EC2.DescribeConversionTasks: dctrsConversionTasks :: Lens' DescribeConversionTasksResponse [ConversionTask]
+ Network.AWS.EC2.DescribeConversionTasks: dctrsStatus :: Lens' DescribeConversionTasksResponse Int
+ Network.AWS.EC2.DescribeConversionTasks: instance Constructor C1_0DescribeConversionTasks
+ Network.AWS.EC2.DescribeConversionTasks: instance Constructor C1_0DescribeConversionTasksResponse
+ Network.AWS.EC2.DescribeConversionTasks: instance Data DescribeConversionTasks
+ Network.AWS.EC2.DescribeConversionTasks: instance Data DescribeConversionTasksResponse
+ Network.AWS.EC2.DescribeConversionTasks: instance Datatype D1DescribeConversionTasks
+ Network.AWS.EC2.DescribeConversionTasks: instance Datatype D1DescribeConversionTasksResponse
+ Network.AWS.EC2.DescribeConversionTasks: instance Generic DescribeConversionTasks
+ Network.AWS.EC2.DescribeConversionTasks: instance Generic DescribeConversionTasksResponse
+ Network.AWS.EC2.DescribeConversionTasks: instance Selector S1_0_0DescribeConversionTasks
+ Network.AWS.EC2.DescribeConversionTasks: instance Selector S1_0_0DescribeConversionTasksResponse
+ Network.AWS.EC2.DescribeConversionTasks: instance Selector S1_0_1DescribeConversionTasks
+ Network.AWS.EC2.DescribeConversionTasks: instance Selector S1_0_1DescribeConversionTasksResponse
+ Network.AWS.EC2.DescribeConversionTasks: instance Selector S1_0_2DescribeConversionTasks
+ Network.AWS.EC2.DescribeConversionTasks: instance Typeable DescribeConversionTasks
+ Network.AWS.EC2.DescribeConversionTasks: instance Typeable DescribeConversionTasksResponse
+ Network.AWS.EC2.DescribeCustomerGateways: dcgrsCustomerGateways :: Lens' DescribeCustomerGatewaysResponse [CustomerGateway]
+ Network.AWS.EC2.DescribeCustomerGateways: dcgrsStatus :: Lens' DescribeCustomerGatewaysResponse Int
+ Network.AWS.EC2.DescribeCustomerGateways: instance Constructor C1_0DescribeCustomerGateways
+ Network.AWS.EC2.DescribeCustomerGateways: instance Constructor C1_0DescribeCustomerGatewaysResponse
+ Network.AWS.EC2.DescribeCustomerGateways: instance Data DescribeCustomerGateways
+ Network.AWS.EC2.DescribeCustomerGateways: instance Data DescribeCustomerGatewaysResponse
+ Network.AWS.EC2.DescribeCustomerGateways: instance Datatype D1DescribeCustomerGateways
+ Network.AWS.EC2.DescribeCustomerGateways: instance Datatype D1DescribeCustomerGatewaysResponse
+ Network.AWS.EC2.DescribeCustomerGateways: instance Generic DescribeCustomerGateways
+ Network.AWS.EC2.DescribeCustomerGateways: instance Generic DescribeCustomerGatewaysResponse
+ Network.AWS.EC2.DescribeCustomerGateways: instance Selector S1_0_0DescribeCustomerGateways
+ Network.AWS.EC2.DescribeCustomerGateways: instance Selector S1_0_0DescribeCustomerGatewaysResponse
+ Network.AWS.EC2.DescribeCustomerGateways: instance Selector S1_0_1DescribeCustomerGateways
+ Network.AWS.EC2.DescribeCustomerGateways: instance Selector S1_0_1DescribeCustomerGatewaysResponse
+ Network.AWS.EC2.DescribeCustomerGateways: instance Selector S1_0_2DescribeCustomerGateways
+ Network.AWS.EC2.DescribeCustomerGateways: instance Typeable DescribeCustomerGateways
+ Network.AWS.EC2.DescribeCustomerGateways: instance Typeable DescribeCustomerGatewaysResponse
+ Network.AWS.EC2.DescribeDHCPOptions: data DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: data DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeDHCPOptions: ddoDHCPOptionsIds :: Lens' DescribeDHCPOptions [Text]
+ Network.AWS.EC2.DescribeDHCPOptions: ddoDryRun :: Lens' DescribeDHCPOptions (Maybe Bool)
+ Network.AWS.EC2.DescribeDHCPOptions: ddoFilters :: Lens' DescribeDHCPOptions [Filter]
+ Network.AWS.EC2.DescribeDHCPOptions: ddorsDHCPOptions :: Lens' DescribeDHCPOptionsResponse [DHCPOptions]
+ Network.AWS.EC2.DescribeDHCPOptions: ddorsStatus :: Lens' DescribeDHCPOptionsResponse Int
+ Network.AWS.EC2.DescribeDHCPOptions: describeDHCPOptions :: DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: describeDHCPOptionsResponse :: Int -> DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeDHCPOptions: instance AWSRequest DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Constructor C1_0DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Constructor C1_0DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeDHCPOptions: instance Data DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Data DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeDHCPOptions: instance Datatype D1DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Datatype D1DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeDHCPOptions: instance Eq DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Eq DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeDHCPOptions: instance Generic DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Generic DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeDHCPOptions: instance Read DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Read DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeDHCPOptions: instance Selector S1_0_0DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Selector S1_0_0DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeDHCPOptions: instance Selector S1_0_1DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Selector S1_0_1DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeDHCPOptions: instance Selector S1_0_2DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Show DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Show DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeDHCPOptions: instance ToHeaders DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance ToPath DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance ToQuery DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Typeable DescribeDHCPOptions
+ Network.AWS.EC2.DescribeDHCPOptions: instance Typeable DescribeDHCPOptionsResponse
+ Network.AWS.EC2.DescribeExportTasks: detrsExportTasks :: Lens' DescribeExportTasksResponse [ExportTask]
+ Network.AWS.EC2.DescribeExportTasks: detrsStatus :: Lens' DescribeExportTasksResponse Int
+ Network.AWS.EC2.DescribeExportTasks: instance Constructor C1_0DescribeExportTasks
+ Network.AWS.EC2.DescribeExportTasks: instance Constructor C1_0DescribeExportTasksResponse
+ Network.AWS.EC2.DescribeExportTasks: instance Data DescribeExportTasks
+ Network.AWS.EC2.DescribeExportTasks: instance Data DescribeExportTasksResponse
+ Network.AWS.EC2.DescribeExportTasks: instance Datatype D1DescribeExportTasks
+ Network.AWS.EC2.DescribeExportTasks: instance Datatype D1DescribeExportTasksResponse
+ Network.AWS.EC2.DescribeExportTasks: instance Generic DescribeExportTasks
+ Network.AWS.EC2.DescribeExportTasks: instance Generic DescribeExportTasksResponse
+ Network.AWS.EC2.DescribeExportTasks: instance Selector S1_0_0DescribeExportTasks
+ Network.AWS.EC2.DescribeExportTasks: instance Selector S1_0_0DescribeExportTasksResponse
+ Network.AWS.EC2.DescribeExportTasks: instance Selector S1_0_1DescribeExportTasksResponse
+ Network.AWS.EC2.DescribeExportTasks: instance Typeable DescribeExportTasks
+ Network.AWS.EC2.DescribeExportTasks: instance Typeable DescribeExportTasksResponse
+ Network.AWS.EC2.DescribeFlowLogs: dFilter :: Lens' DescribeFlowLogs [Filter]
+ Network.AWS.EC2.DescribeFlowLogs: dFlowLogIds :: Lens' DescribeFlowLogs [Text]
+ Network.AWS.EC2.DescribeFlowLogs: dMaxResults :: Lens' DescribeFlowLogs (Maybe Int)
+ Network.AWS.EC2.DescribeFlowLogs: dNextToken :: Lens' DescribeFlowLogs (Maybe Text)
+ Network.AWS.EC2.DescribeFlowLogs: data DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: data DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: describeFlowLogs :: DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: describeFlowLogsResponse :: Int -> DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: dflsrsFlowLogs :: Lens' DescribeFlowLogsResponse [FlowLog]
+ Network.AWS.EC2.DescribeFlowLogs: dflsrsNextToken :: Lens' DescribeFlowLogsResponse (Maybe Text)
+ Network.AWS.EC2.DescribeFlowLogs: dflsrsStatus :: Lens' DescribeFlowLogsResponse Int
+ Network.AWS.EC2.DescribeFlowLogs: instance AWSRequest DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Constructor C1_0DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Constructor C1_0DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: instance Data DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Data DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: instance Datatype D1DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Datatype D1DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: instance Eq DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Eq DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: instance Generic DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Generic DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: instance Read DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Read DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: instance Selector S1_0_0DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Selector S1_0_0DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: instance Selector S1_0_1DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Selector S1_0_1DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: instance Selector S1_0_2DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Selector S1_0_2DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: instance Selector S1_0_3DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Show DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Show DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeFlowLogs: instance ToHeaders DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance ToPath DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance ToQuery DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Typeable DescribeFlowLogs
+ Network.AWS.EC2.DescribeFlowLogs: instance Typeable DescribeFlowLogsResponse
+ Network.AWS.EC2.DescribeImageAttribute: diaiAttribute :: Lens' DescribeImageAttribute ImageAttributeName
+ Network.AWS.EC2.DescribeImageAttribute: diaiDryRun :: Lens' DescribeImageAttribute (Maybe Bool)
+ Network.AWS.EC2.DescribeImageAttribute: diaiImageId :: Lens' DescribeImageAttribute Text
+ Network.AWS.EC2.DescribeImageAttribute: diarsBlockDeviceMappings :: Lens' DescribeImageAttributeResponse [BlockDeviceMapping]
+ Network.AWS.EC2.DescribeImageAttribute: diarsDescription :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeImageAttribute: diarsImageId :: Lens' DescribeImageAttributeResponse (Maybe Text)
+ Network.AWS.EC2.DescribeImageAttribute: diarsKernelId :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeImageAttribute: diarsLaunchPermissions :: Lens' DescribeImageAttributeResponse [LaunchPermission]
+ Network.AWS.EC2.DescribeImageAttribute: diarsProductCodes :: Lens' DescribeImageAttributeResponse [ProductCode]
+ Network.AWS.EC2.DescribeImageAttribute: diarsRAMDiskId :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeImageAttribute: diarsSRIOVNetSupport :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeImageAttribute: diarsStatus :: Lens' DescribeImageAttributeResponse Int
+ Network.AWS.EC2.DescribeImageAttribute: instance Constructor C1_0DescribeImageAttribute
+ Network.AWS.EC2.DescribeImageAttribute: instance Constructor C1_0DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Data DescribeImageAttribute
+ Network.AWS.EC2.DescribeImageAttribute: instance Data DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Datatype D1DescribeImageAttribute
+ Network.AWS.EC2.DescribeImageAttribute: instance Datatype D1DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Generic DescribeImageAttribute
+ Network.AWS.EC2.DescribeImageAttribute: instance Generic DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_0DescribeImageAttribute
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_0DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_1DescribeImageAttribute
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_1DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_2DescribeImageAttribute
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_2DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_3DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_4DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_5DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_6DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_7DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Selector S1_0_8DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: instance Typeable DescribeImageAttribute
+ Network.AWS.EC2.DescribeImageAttribute: instance Typeable DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImages: deseDryRun :: Lens' DescribeImages (Maybe Bool)
+ Network.AWS.EC2.DescribeImages: deseExecutableUsers :: Lens' DescribeImages [Text]
+ Network.AWS.EC2.DescribeImages: deseFilters :: Lens' DescribeImages [Filter]
+ Network.AWS.EC2.DescribeImages: deseImageIds :: Lens' DescribeImages [Text]
+ Network.AWS.EC2.DescribeImages: deseOwners :: Lens' DescribeImages [Text]
+ Network.AWS.EC2.DescribeImages: desrsImages :: Lens' DescribeImagesResponse [Image]
+ Network.AWS.EC2.DescribeImages: desrsStatus :: Lens' DescribeImagesResponse Int
+ Network.AWS.EC2.DescribeImages: instance Constructor C1_0DescribeImages
+ Network.AWS.EC2.DescribeImages: instance Constructor C1_0DescribeImagesResponse
+ Network.AWS.EC2.DescribeImages: instance Data DescribeImages
+ Network.AWS.EC2.DescribeImages: instance Data DescribeImagesResponse
+ Network.AWS.EC2.DescribeImages: instance Datatype D1DescribeImages
+ Network.AWS.EC2.DescribeImages: instance Datatype D1DescribeImagesResponse
+ Network.AWS.EC2.DescribeImages: instance Generic DescribeImages
+ Network.AWS.EC2.DescribeImages: instance Generic DescribeImagesResponse
+ Network.AWS.EC2.DescribeImages: instance Selector S1_0_0DescribeImages
+ Network.AWS.EC2.DescribeImages: instance Selector S1_0_0DescribeImagesResponse
+ Network.AWS.EC2.DescribeImages: instance Selector S1_0_1DescribeImages
+ Network.AWS.EC2.DescribeImages: instance Selector S1_0_1DescribeImagesResponse
+ Network.AWS.EC2.DescribeImages: instance Selector S1_0_2DescribeImages
+ Network.AWS.EC2.DescribeImages: instance Selector S1_0_3DescribeImages
+ Network.AWS.EC2.DescribeImages: instance Selector S1_0_4DescribeImages
+ Network.AWS.EC2.DescribeImages: instance Typeable DescribeImages
+ Network.AWS.EC2.DescribeImages: instance Typeable DescribeImagesResponse
+ Network.AWS.EC2.DescribeImportImageTasks: diitrsImportImageTasks :: Lens' DescribeImportImageTasksResponse [ImportImageTask]
+ Network.AWS.EC2.DescribeImportImageTasks: diitrsNextToken :: Lens' DescribeImportImageTasksResponse (Maybe Text)
+ Network.AWS.EC2.DescribeImportImageTasks: diitrsStatus :: Lens' DescribeImportImageTasksResponse Int
+ Network.AWS.EC2.DescribeImportImageTasks: instance Constructor C1_0DescribeImportImageTasks
+ Network.AWS.EC2.DescribeImportImageTasks: instance Constructor C1_0DescribeImportImageTasksResponse
+ Network.AWS.EC2.DescribeImportImageTasks: instance Data DescribeImportImageTasks
+ Network.AWS.EC2.DescribeImportImageTasks: instance Data DescribeImportImageTasksResponse
+ Network.AWS.EC2.DescribeImportImageTasks: instance Datatype D1DescribeImportImageTasks
+ Network.AWS.EC2.DescribeImportImageTasks: instance Datatype D1DescribeImportImageTasksResponse
+ Network.AWS.EC2.DescribeImportImageTasks: instance Generic DescribeImportImageTasks
+ Network.AWS.EC2.DescribeImportImageTasks: instance Generic DescribeImportImageTasksResponse
+ Network.AWS.EC2.DescribeImportImageTasks: instance Selector S1_0_0DescribeImportImageTasks
+ Network.AWS.EC2.DescribeImportImageTasks: instance Selector S1_0_0DescribeImportImageTasksResponse
+ Network.AWS.EC2.DescribeImportImageTasks: instance Selector S1_0_1DescribeImportImageTasks
+ Network.AWS.EC2.DescribeImportImageTasks: instance Selector S1_0_1DescribeImportImageTasksResponse
+ Network.AWS.EC2.DescribeImportImageTasks: instance Selector S1_0_2DescribeImportImageTasks
+ Network.AWS.EC2.DescribeImportImageTasks: instance Selector S1_0_2DescribeImportImageTasksResponse
+ Network.AWS.EC2.DescribeImportImageTasks: instance Selector S1_0_3DescribeImportImageTasks
+ Network.AWS.EC2.DescribeImportImageTasks: instance Selector S1_0_4DescribeImportImageTasks
+ Network.AWS.EC2.DescribeImportImageTasks: instance Typeable DescribeImportImageTasks
+ Network.AWS.EC2.DescribeImportImageTasks: instance Typeable DescribeImportImageTasksResponse
+ Network.AWS.EC2.DescribeImportSnapshotTasks: distrsImportSnapshotTasks :: Lens' DescribeImportSnapshotTasksResponse [ImportSnapshotTask]
+ Network.AWS.EC2.DescribeImportSnapshotTasks: distrsNextToken :: Lens' DescribeImportSnapshotTasksResponse (Maybe Text)
+ Network.AWS.EC2.DescribeImportSnapshotTasks: distrsStatus :: Lens' DescribeImportSnapshotTasksResponse Int
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Constructor C1_0DescribeImportSnapshotTasks
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Constructor C1_0DescribeImportSnapshotTasksResponse
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Data DescribeImportSnapshotTasks
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Data DescribeImportSnapshotTasksResponse
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Datatype D1DescribeImportSnapshotTasks
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Datatype D1DescribeImportSnapshotTasksResponse
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Generic DescribeImportSnapshotTasks
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Generic DescribeImportSnapshotTasksResponse
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Selector S1_0_0DescribeImportSnapshotTasks
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Selector S1_0_0DescribeImportSnapshotTasksResponse
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Selector S1_0_1DescribeImportSnapshotTasks
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Selector S1_0_1DescribeImportSnapshotTasksResponse
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Selector S1_0_2DescribeImportSnapshotTasks
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Selector S1_0_2DescribeImportSnapshotTasksResponse
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Selector S1_0_3DescribeImportSnapshotTasks
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Selector S1_0_4DescribeImportSnapshotTasks
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Typeable DescribeImportSnapshotTasks
+ Network.AWS.EC2.DescribeImportSnapshotTasks: instance Typeable DescribeImportSnapshotTasksResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: drsBlockDeviceMappings :: Lens' DescribeInstanceAttributeResponse [InstanceBlockDeviceMapping]
+ Network.AWS.EC2.DescribeInstanceAttribute: drsDisableAPITermination :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.DescribeInstanceAttribute: drsEBSOptimized :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.DescribeInstanceAttribute: drsGroups :: Lens' DescribeInstanceAttributeResponse [GroupIdentifier]
+ Network.AWS.EC2.DescribeInstanceAttribute: drsInstanceId :: Lens' DescribeInstanceAttributeResponse (Maybe Text)
+ Network.AWS.EC2.DescribeInstanceAttribute: drsInstanceInitiatedShutdownBehavior :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeInstanceAttribute: drsInstanceType :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeInstanceAttribute: drsKernelId :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeInstanceAttribute: drsProductCodes :: Lens' DescribeInstanceAttributeResponse [ProductCode]
+ Network.AWS.EC2.DescribeInstanceAttribute: drsRAMDiskId :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeInstanceAttribute: drsRootDeviceName :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeInstanceAttribute: drsSRIOVNetSupport :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeInstanceAttribute: drsSourceDestCheck :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.DescribeInstanceAttribute: drsStatus :: Lens' DescribeInstanceAttributeResponse Int
+ Network.AWS.EC2.DescribeInstanceAttribute: drsUserData :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Constructor C1_0DescribeInstanceAttribute
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Constructor C1_0DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Data DescribeInstanceAttribute
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Data DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Datatype D1DescribeInstanceAttribute
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Datatype D1DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Generic DescribeInstanceAttribute
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Generic DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_0DescribeInstanceAttribute
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_0DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_10DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_11DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_12DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_13DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_14DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_1DescribeInstanceAttribute
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_1DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_2DescribeInstanceAttribute
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_2DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_3DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_4DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_5DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_6DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_7DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_8DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Selector S1_0_9DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Typeable DescribeInstanceAttribute
+ Network.AWS.EC2.DescribeInstanceAttribute: instance Typeable DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceStatus: disrsInstanceStatuses :: Lens' DescribeInstanceStatusResponse [InstanceStatus]
+ Network.AWS.EC2.DescribeInstanceStatus: disrsNextToken :: Lens' DescribeInstanceStatusResponse (Maybe Text)
+ Network.AWS.EC2.DescribeInstanceStatus: disrsStatus :: Lens' DescribeInstanceStatusResponse Int
+ Network.AWS.EC2.DescribeInstanceStatus: instance Constructor C1_0DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstanceStatus: instance Constructor C1_0DescribeInstanceStatusResponse
+ Network.AWS.EC2.DescribeInstanceStatus: instance Data DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstanceStatus: instance Data DescribeInstanceStatusResponse
+ Network.AWS.EC2.DescribeInstanceStatus: instance Datatype D1DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstanceStatus: instance Datatype D1DescribeInstanceStatusResponse
+ Network.AWS.EC2.DescribeInstanceStatus: instance Generic DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstanceStatus: instance Generic DescribeInstanceStatusResponse
+ Network.AWS.EC2.DescribeInstanceStatus: instance Selector S1_0_0DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstanceStatus: instance Selector S1_0_0DescribeInstanceStatusResponse
+ Network.AWS.EC2.DescribeInstanceStatus: instance Selector S1_0_1DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstanceStatus: instance Selector S1_0_1DescribeInstanceStatusResponse
+ Network.AWS.EC2.DescribeInstanceStatus: instance Selector S1_0_2DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstanceStatus: instance Selector S1_0_2DescribeInstanceStatusResponse
+ Network.AWS.EC2.DescribeInstanceStatus: instance Selector S1_0_3DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstanceStatus: instance Selector S1_0_4DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstanceStatus: instance Selector S1_0_5DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstanceStatus: instance Typeable DescribeInstanceStatus
+ Network.AWS.EC2.DescribeInstanceStatus: instance Typeable DescribeInstanceStatusResponse
+ Network.AWS.EC2.DescribeInstances: diiDryRun :: Lens' DescribeInstances (Maybe Bool)
+ Network.AWS.EC2.DescribeInstances: diiFilters :: Lens' DescribeInstances [Filter]
+ Network.AWS.EC2.DescribeInstances: diiInstanceIds :: Lens' DescribeInstances [Text]
+ Network.AWS.EC2.DescribeInstances: diiMaxResults :: Lens' DescribeInstances (Maybe Int)
+ Network.AWS.EC2.DescribeInstances: diiNextToken :: Lens' DescribeInstances (Maybe Text)
+ Network.AWS.EC2.DescribeInstances: dirsNextToken :: Lens' DescribeInstancesResponse (Maybe Text)
+ Network.AWS.EC2.DescribeInstances: dirsReservations :: Lens' DescribeInstancesResponse [Reservation]
+ Network.AWS.EC2.DescribeInstances: dirsStatus :: Lens' DescribeInstancesResponse Int
+ Network.AWS.EC2.DescribeInstances: instance Constructor C1_0DescribeInstances
+ Network.AWS.EC2.DescribeInstances: instance Constructor C1_0DescribeInstancesResponse
+ Network.AWS.EC2.DescribeInstances: instance Data DescribeInstances
+ Network.AWS.EC2.DescribeInstances: instance Data DescribeInstancesResponse
+ Network.AWS.EC2.DescribeInstances: instance Datatype D1DescribeInstances
+ Network.AWS.EC2.DescribeInstances: instance Datatype D1DescribeInstancesResponse
+ Network.AWS.EC2.DescribeInstances: instance Generic DescribeInstances
+ Network.AWS.EC2.DescribeInstances: instance Generic DescribeInstancesResponse
+ Network.AWS.EC2.DescribeInstances: instance Selector S1_0_0DescribeInstances
+ Network.AWS.EC2.DescribeInstances: instance Selector S1_0_0DescribeInstancesResponse
+ Network.AWS.EC2.DescribeInstances: instance Selector S1_0_1DescribeInstances
+ Network.AWS.EC2.DescribeInstances: instance Selector S1_0_1DescribeInstancesResponse
+ Network.AWS.EC2.DescribeInstances: instance Selector S1_0_2DescribeInstances
+ Network.AWS.EC2.DescribeInstances: instance Selector S1_0_2DescribeInstancesResponse
+ Network.AWS.EC2.DescribeInstances: instance Selector S1_0_3DescribeInstances
+ Network.AWS.EC2.DescribeInstances: instance Selector S1_0_4DescribeInstances
+ Network.AWS.EC2.DescribeInstances: instance Typeable DescribeInstances
+ Network.AWS.EC2.DescribeInstances: instance Typeable DescribeInstancesResponse
+ Network.AWS.EC2.DescribeInternetGateways: dDryRun :: Lens' DescribeInternetGateways (Maybe Bool)
+ Network.AWS.EC2.DescribeInternetGateways: dFilters :: Lens' DescribeInternetGateways [Filter]
+ Network.AWS.EC2.DescribeInternetGateways: dInternetGatewayIds :: Lens' DescribeInternetGateways [Text]
+ Network.AWS.EC2.DescribeInternetGateways: digrsInternetGateways :: Lens' DescribeInternetGatewaysResponse [InternetGateway]
+ Network.AWS.EC2.DescribeInternetGateways: digrsStatus :: Lens' DescribeInternetGatewaysResponse Int
+ Network.AWS.EC2.DescribeInternetGateways: instance Constructor C1_0DescribeInternetGateways
+ Network.AWS.EC2.DescribeInternetGateways: instance Constructor C1_0DescribeInternetGatewaysResponse
+ Network.AWS.EC2.DescribeInternetGateways: instance Data DescribeInternetGateways
+ Network.AWS.EC2.DescribeInternetGateways: instance Data DescribeInternetGatewaysResponse
+ Network.AWS.EC2.DescribeInternetGateways: instance Datatype D1DescribeInternetGateways
+ Network.AWS.EC2.DescribeInternetGateways: instance Datatype D1DescribeInternetGatewaysResponse
+ Network.AWS.EC2.DescribeInternetGateways: instance Generic DescribeInternetGateways
+ Network.AWS.EC2.DescribeInternetGateways: instance Generic DescribeInternetGatewaysResponse
+ Network.AWS.EC2.DescribeInternetGateways: instance Selector S1_0_0DescribeInternetGateways
+ Network.AWS.EC2.DescribeInternetGateways: instance Selector S1_0_0DescribeInternetGatewaysResponse
+ Network.AWS.EC2.DescribeInternetGateways: instance Selector S1_0_1DescribeInternetGateways
+ Network.AWS.EC2.DescribeInternetGateways: instance Selector S1_0_1DescribeInternetGatewaysResponse
+ Network.AWS.EC2.DescribeInternetGateways: instance Selector S1_0_2DescribeInternetGateways
+ Network.AWS.EC2.DescribeInternetGateways: instance Typeable DescribeInternetGateways
+ Network.AWS.EC2.DescribeInternetGateways: instance Typeable DescribeInternetGatewaysResponse
+ Network.AWS.EC2.DescribeKeyPairs: dkprsKeyPairs :: Lens' DescribeKeyPairsResponse [KeyPairInfo]
+ Network.AWS.EC2.DescribeKeyPairs: dkprsStatus :: Lens' DescribeKeyPairsResponse Int
+ Network.AWS.EC2.DescribeKeyPairs: dkpsDryRun :: Lens' DescribeKeyPairs (Maybe Bool)
+ Network.AWS.EC2.DescribeKeyPairs: dkpsFilters :: Lens' DescribeKeyPairs [Filter]
+ Network.AWS.EC2.DescribeKeyPairs: dkpsKeyNames :: Lens' DescribeKeyPairs [Text]
+ Network.AWS.EC2.DescribeKeyPairs: instance Constructor C1_0DescribeKeyPairs
+ Network.AWS.EC2.DescribeKeyPairs: instance Constructor C1_0DescribeKeyPairsResponse
+ Network.AWS.EC2.DescribeKeyPairs: instance Data DescribeKeyPairs
+ Network.AWS.EC2.DescribeKeyPairs: instance Data DescribeKeyPairsResponse
+ Network.AWS.EC2.DescribeKeyPairs: instance Datatype D1DescribeKeyPairs
+ Network.AWS.EC2.DescribeKeyPairs: instance Datatype D1DescribeKeyPairsResponse
+ Network.AWS.EC2.DescribeKeyPairs: instance Generic DescribeKeyPairs
+ Network.AWS.EC2.DescribeKeyPairs: instance Generic DescribeKeyPairsResponse
+ Network.AWS.EC2.DescribeKeyPairs: instance Selector S1_0_0DescribeKeyPairs
+ Network.AWS.EC2.DescribeKeyPairs: instance Selector S1_0_0DescribeKeyPairsResponse
+ Network.AWS.EC2.DescribeKeyPairs: instance Selector S1_0_1DescribeKeyPairs
+ Network.AWS.EC2.DescribeKeyPairs: instance Selector S1_0_1DescribeKeyPairsResponse
+ Network.AWS.EC2.DescribeKeyPairs: instance Selector S1_0_2DescribeKeyPairs
+ Network.AWS.EC2.DescribeKeyPairs: instance Typeable DescribeKeyPairs
+ Network.AWS.EC2.DescribeKeyPairs: instance Typeable DescribeKeyPairsResponse
+ Network.AWS.EC2.DescribeMovingAddresses: dmaPublicIPs :: Lens' DescribeMovingAddresses [Text]
+ Network.AWS.EC2.DescribeMovingAddresses: dmarsMovingAddressStatuses :: Lens' DescribeMovingAddressesResponse [MovingAddressStatus]
+ Network.AWS.EC2.DescribeMovingAddresses: dmarsNextToken :: Lens' DescribeMovingAddressesResponse (Maybe Text)
+ Network.AWS.EC2.DescribeMovingAddresses: dmarsStatus :: Lens' DescribeMovingAddressesResponse Int
+ Network.AWS.EC2.DescribeMovingAddresses: instance Constructor C1_0DescribeMovingAddresses
+ Network.AWS.EC2.DescribeMovingAddresses: instance Constructor C1_0DescribeMovingAddressesResponse
+ Network.AWS.EC2.DescribeMovingAddresses: instance Data DescribeMovingAddresses
+ Network.AWS.EC2.DescribeMovingAddresses: instance Data DescribeMovingAddressesResponse
+ Network.AWS.EC2.DescribeMovingAddresses: instance Datatype D1DescribeMovingAddresses
+ Network.AWS.EC2.DescribeMovingAddresses: instance Datatype D1DescribeMovingAddressesResponse
+ Network.AWS.EC2.DescribeMovingAddresses: instance Generic DescribeMovingAddresses
+ Network.AWS.EC2.DescribeMovingAddresses: instance Generic DescribeMovingAddressesResponse
+ Network.AWS.EC2.DescribeMovingAddresses: instance Selector S1_0_0DescribeMovingAddresses
+ Network.AWS.EC2.DescribeMovingAddresses: instance Selector S1_0_0DescribeMovingAddressesResponse
+ Network.AWS.EC2.DescribeMovingAddresses: instance Selector S1_0_1DescribeMovingAddresses
+ Network.AWS.EC2.DescribeMovingAddresses: instance Selector S1_0_1DescribeMovingAddressesResponse
+ Network.AWS.EC2.DescribeMovingAddresses: instance Selector S1_0_2DescribeMovingAddresses
+ Network.AWS.EC2.DescribeMovingAddresses: instance Selector S1_0_2DescribeMovingAddressesResponse
+ Network.AWS.EC2.DescribeMovingAddresses: instance Selector S1_0_3DescribeMovingAddresses
+ Network.AWS.EC2.DescribeMovingAddresses: instance Selector S1_0_4DescribeMovingAddresses
+ Network.AWS.EC2.DescribeMovingAddresses: instance Typeable DescribeMovingAddresses
+ Network.AWS.EC2.DescribeMovingAddresses: instance Typeable DescribeMovingAddressesResponse
+ Network.AWS.EC2.DescribeNetworkACLs: data DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: data DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkACLs: describeNetworkACLs :: DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: describeNetworkACLsResponse :: Int -> DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkACLs: dnaclDryRun :: Lens' DescribeNetworkACLs (Maybe Bool)
+ Network.AWS.EC2.DescribeNetworkACLs: dnaclFilters :: Lens' DescribeNetworkACLs [Filter]
+ Network.AWS.EC2.DescribeNetworkACLs: dnaclNetworkACLIds :: Lens' DescribeNetworkACLs [Text]
+ Network.AWS.EC2.DescribeNetworkACLs: dnarsNetworkACLs :: Lens' DescribeNetworkACLsResponse [NetworkACL]
+ Network.AWS.EC2.DescribeNetworkACLs: dnarsStatus :: Lens' DescribeNetworkACLsResponse Int
+ Network.AWS.EC2.DescribeNetworkACLs: instance AWSRequest DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Constructor C1_0DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Constructor C1_0DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkACLs: instance Data DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Data DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkACLs: instance Datatype D1DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Datatype D1DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkACLs: instance Eq DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Eq DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkACLs: instance Generic DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Generic DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkACLs: instance Read DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Read DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkACLs: instance Selector S1_0_0DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Selector S1_0_0DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkACLs: instance Selector S1_0_1DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Selector S1_0_1DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkACLs: instance Selector S1_0_2DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Show DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Show DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkACLs: instance ToHeaders DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance ToPath DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance ToQuery DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Typeable DescribeNetworkACLs
+ Network.AWS.EC2.DescribeNetworkACLs: instance Typeable DescribeNetworkACLsResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarsAttachment :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe NetworkInterfaceAttachment)
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarsDescription :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe AttributeValue)
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarsGroups :: Lens' DescribeNetworkInterfaceAttributeResponse [GroupIdentifier]
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarsNetworkInterfaceId :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe Text)
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarsSourceDestCheck :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarsStatus :: Lens' DescribeNetworkInterfaceAttributeResponse Int
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Constructor C1_0DescribeNetworkInterfaceAttribute
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Constructor C1_0DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Data DescribeNetworkInterfaceAttribute
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Data DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Datatype D1DescribeNetworkInterfaceAttribute
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Datatype D1DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Generic DescribeNetworkInterfaceAttribute
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Generic DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Selector S1_0_0DescribeNetworkInterfaceAttribute
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Selector S1_0_0DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Selector S1_0_1DescribeNetworkInterfaceAttribute
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Selector S1_0_1DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Selector S1_0_2DescribeNetworkInterfaceAttribute
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Selector S1_0_2DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Selector S1_0_3DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Selector S1_0_4DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Selector S1_0_5DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Typeable DescribeNetworkInterfaceAttribute
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: instance Typeable DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaces: dnirsNetworkInterfaces :: Lens' DescribeNetworkInterfacesResponse [NetworkInterface]
+ Network.AWS.EC2.DescribeNetworkInterfaces: dnirsStatus :: Lens' DescribeNetworkInterfacesResponse Int
+ Network.AWS.EC2.DescribeNetworkInterfaces: dnisDryRun :: Lens' DescribeNetworkInterfaces (Maybe Bool)
+ Network.AWS.EC2.DescribeNetworkInterfaces: dnisFilters :: Lens' DescribeNetworkInterfaces [Filter]
+ Network.AWS.EC2.DescribeNetworkInterfaces: dnisNetworkInterfaceIds :: Lens' DescribeNetworkInterfaces [Text]
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Constructor C1_0DescribeNetworkInterfaces
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Constructor C1_0DescribeNetworkInterfacesResponse
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Data DescribeNetworkInterfaces
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Data DescribeNetworkInterfacesResponse
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Datatype D1DescribeNetworkInterfaces
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Datatype D1DescribeNetworkInterfacesResponse
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Generic DescribeNetworkInterfaces
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Generic DescribeNetworkInterfacesResponse
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Selector S1_0_0DescribeNetworkInterfaces
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Selector S1_0_0DescribeNetworkInterfacesResponse
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Selector S1_0_1DescribeNetworkInterfaces
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Selector S1_0_1DescribeNetworkInterfacesResponse
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Selector S1_0_2DescribeNetworkInterfaces
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Typeable DescribeNetworkInterfaces
+ Network.AWS.EC2.DescribeNetworkInterfaces: instance Typeable DescribeNetworkInterfacesResponse
+ Network.AWS.EC2.DescribePlacementGroups: dpgrsPlacementGroups :: Lens' DescribePlacementGroupsResponse [PlacementGroup]
+ Network.AWS.EC2.DescribePlacementGroups: dpgrsStatus :: Lens' DescribePlacementGroupsResponse Int
+ Network.AWS.EC2.DescribePlacementGroups: dpgsDryRun :: Lens' DescribePlacementGroups (Maybe Bool)
+ Network.AWS.EC2.DescribePlacementGroups: dpgsFilters :: Lens' DescribePlacementGroups [Filter]
+ Network.AWS.EC2.DescribePlacementGroups: dpgsGroupNames :: Lens' DescribePlacementGroups [Text]
+ Network.AWS.EC2.DescribePlacementGroups: instance Constructor C1_0DescribePlacementGroups
+ Network.AWS.EC2.DescribePlacementGroups: instance Constructor C1_0DescribePlacementGroupsResponse
+ Network.AWS.EC2.DescribePlacementGroups: instance Data DescribePlacementGroups
+ Network.AWS.EC2.DescribePlacementGroups: instance Data DescribePlacementGroupsResponse
+ Network.AWS.EC2.DescribePlacementGroups: instance Datatype D1DescribePlacementGroups
+ Network.AWS.EC2.DescribePlacementGroups: instance Datatype D1DescribePlacementGroupsResponse
+ Network.AWS.EC2.DescribePlacementGroups: instance Generic DescribePlacementGroups
+ Network.AWS.EC2.DescribePlacementGroups: instance Generic DescribePlacementGroupsResponse
+ Network.AWS.EC2.DescribePlacementGroups: instance Selector S1_0_0DescribePlacementGroups
+ Network.AWS.EC2.DescribePlacementGroups: instance Selector S1_0_0DescribePlacementGroupsResponse
+ Network.AWS.EC2.DescribePlacementGroups: instance Selector S1_0_1DescribePlacementGroups
+ Network.AWS.EC2.DescribePlacementGroups: instance Selector S1_0_1DescribePlacementGroupsResponse
+ Network.AWS.EC2.DescribePlacementGroups: instance Selector S1_0_2DescribePlacementGroups
+ Network.AWS.EC2.DescribePlacementGroups: instance Typeable DescribePlacementGroups
+ Network.AWS.EC2.DescribePlacementGroups: instance Typeable DescribePlacementGroupsResponse
+ Network.AWS.EC2.DescribePrefixLists: dplrsNextToken :: Lens' DescribePrefixListsResponse (Maybe Text)
+ Network.AWS.EC2.DescribePrefixLists: dplrsPrefixLists :: Lens' DescribePrefixListsResponse [PrefixList]
+ Network.AWS.EC2.DescribePrefixLists: dplrsStatus :: Lens' DescribePrefixListsResponse Int
+ Network.AWS.EC2.DescribePrefixLists: instance Constructor C1_0DescribePrefixLists
+ Network.AWS.EC2.DescribePrefixLists: instance Constructor C1_0DescribePrefixListsResponse
+ Network.AWS.EC2.DescribePrefixLists: instance Data DescribePrefixLists
+ Network.AWS.EC2.DescribePrefixLists: instance Data DescribePrefixListsResponse
+ Network.AWS.EC2.DescribePrefixLists: instance Datatype D1DescribePrefixLists
+ Network.AWS.EC2.DescribePrefixLists: instance Datatype D1DescribePrefixListsResponse
+ Network.AWS.EC2.DescribePrefixLists: instance Generic DescribePrefixLists
+ Network.AWS.EC2.DescribePrefixLists: instance Generic DescribePrefixListsResponse
+ Network.AWS.EC2.DescribePrefixLists: instance Selector S1_0_0DescribePrefixLists
+ Network.AWS.EC2.DescribePrefixLists: instance Selector S1_0_0DescribePrefixListsResponse
+ Network.AWS.EC2.DescribePrefixLists: instance Selector S1_0_1DescribePrefixLists
+ Network.AWS.EC2.DescribePrefixLists: instance Selector S1_0_1DescribePrefixListsResponse
+ Network.AWS.EC2.DescribePrefixLists: instance Selector S1_0_2DescribePrefixLists
+ Network.AWS.EC2.DescribePrefixLists: instance Selector S1_0_2DescribePrefixListsResponse
+ Network.AWS.EC2.DescribePrefixLists: instance Selector S1_0_3DescribePrefixLists
+ Network.AWS.EC2.DescribePrefixLists: instance Selector S1_0_4DescribePrefixLists
+ Network.AWS.EC2.DescribePrefixLists: instance Typeable DescribePrefixLists
+ Network.AWS.EC2.DescribePrefixLists: instance Typeable DescribePrefixListsResponse
+ Network.AWS.EC2.DescribeRegions: drrsRegions :: Lens' DescribeRegionsResponse [RegionInfo]
+ Network.AWS.EC2.DescribeRegions: drrsStatus :: Lens' DescribeRegionsResponse Int
+ Network.AWS.EC2.DescribeRegions: drsDryRun :: Lens' DescribeRegions (Maybe Bool)
+ Network.AWS.EC2.DescribeRegions: drsFilters :: Lens' DescribeRegions [Filter]
+ Network.AWS.EC2.DescribeRegions: drsRegionNames :: Lens' DescribeRegions [Text]
+ Network.AWS.EC2.DescribeRegions: instance Constructor C1_0DescribeRegions
+ Network.AWS.EC2.DescribeRegions: instance Constructor C1_0DescribeRegionsResponse
+ Network.AWS.EC2.DescribeRegions: instance Data DescribeRegions
+ Network.AWS.EC2.DescribeRegions: instance Data DescribeRegionsResponse
+ Network.AWS.EC2.DescribeRegions: instance Datatype D1DescribeRegions
+ Network.AWS.EC2.DescribeRegions: instance Datatype D1DescribeRegionsResponse
+ Network.AWS.EC2.DescribeRegions: instance Generic DescribeRegions
+ Network.AWS.EC2.DescribeRegions: instance Generic DescribeRegionsResponse
+ Network.AWS.EC2.DescribeRegions: instance Selector S1_0_0DescribeRegions
+ Network.AWS.EC2.DescribeRegions: instance Selector S1_0_0DescribeRegionsResponse
+ Network.AWS.EC2.DescribeRegions: instance Selector S1_0_1DescribeRegions
+ Network.AWS.EC2.DescribeRegions: instance Selector S1_0_1DescribeRegionsResponse
+ Network.AWS.EC2.DescribeRegions: instance Selector S1_0_2DescribeRegions
+ Network.AWS.EC2.DescribeRegions: instance Typeable DescribeRegions
+ Network.AWS.EC2.DescribeRegions: instance Typeable DescribeRegionsResponse
+ Network.AWS.EC2.DescribeReservedInstances: drirsReservedInstances :: Lens' DescribeReservedInstancesResponse [ReservedInstances]
+ Network.AWS.EC2.DescribeReservedInstances: drirsStatus :: Lens' DescribeReservedInstancesResponse Int
+ Network.AWS.EC2.DescribeReservedInstances: instance Constructor C1_0DescribeReservedInstances
+ Network.AWS.EC2.DescribeReservedInstances: instance Constructor C1_0DescribeReservedInstancesResponse
+ Network.AWS.EC2.DescribeReservedInstances: instance Data DescribeReservedInstances
+ Network.AWS.EC2.DescribeReservedInstances: instance Data DescribeReservedInstancesResponse
+ Network.AWS.EC2.DescribeReservedInstances: instance Datatype D1DescribeReservedInstances
+ Network.AWS.EC2.DescribeReservedInstances: instance Datatype D1DescribeReservedInstancesResponse
+ Network.AWS.EC2.DescribeReservedInstances: instance Generic DescribeReservedInstances
+ Network.AWS.EC2.DescribeReservedInstances: instance Generic DescribeReservedInstancesResponse
+ Network.AWS.EC2.DescribeReservedInstances: instance Selector S1_0_0DescribeReservedInstances
+ Network.AWS.EC2.DescribeReservedInstances: instance Selector S1_0_0DescribeReservedInstancesResponse
+ Network.AWS.EC2.DescribeReservedInstances: instance Selector S1_0_1DescribeReservedInstances
+ Network.AWS.EC2.DescribeReservedInstances: instance Selector S1_0_1DescribeReservedInstancesResponse
+ Network.AWS.EC2.DescribeReservedInstances: instance Selector S1_0_2DescribeReservedInstances
+ Network.AWS.EC2.DescribeReservedInstances: instance Selector S1_0_3DescribeReservedInstances
+ Network.AWS.EC2.DescribeReservedInstances: instance Typeable DescribeReservedInstances
+ Network.AWS.EC2.DescribeReservedInstances: instance Typeable DescribeReservedInstancesResponse
+ Network.AWS.EC2.DescribeReservedInstancesListings: drilrsReservedInstancesListings :: Lens' DescribeReservedInstancesListingsResponse [ReservedInstancesListing]
+ Network.AWS.EC2.DescribeReservedInstancesListings: drilrsStatus :: Lens' DescribeReservedInstancesListingsResponse Int
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Constructor C1_0DescribeReservedInstancesListings
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Constructor C1_0DescribeReservedInstancesListingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Data DescribeReservedInstancesListings
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Data DescribeReservedInstancesListingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Datatype D1DescribeReservedInstancesListings
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Datatype D1DescribeReservedInstancesListingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Generic DescribeReservedInstancesListings
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Generic DescribeReservedInstancesListingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Selector S1_0_0DescribeReservedInstancesListings
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Selector S1_0_0DescribeReservedInstancesListingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Selector S1_0_1DescribeReservedInstancesListings
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Selector S1_0_1DescribeReservedInstancesListingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Selector S1_0_2DescribeReservedInstancesListings
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Typeable DescribeReservedInstancesListings
+ Network.AWS.EC2.DescribeReservedInstancesListings: instance Typeable DescribeReservedInstancesListingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesModifications: drimrsNextToken :: Lens' DescribeReservedInstancesModificationsResponse (Maybe Text)
+ Network.AWS.EC2.DescribeReservedInstancesModifications: drimrsReservedInstancesModifications :: Lens' DescribeReservedInstancesModificationsResponse [ReservedInstancesModification]
+ Network.AWS.EC2.DescribeReservedInstancesModifications: drimrsStatus :: Lens' DescribeReservedInstancesModificationsResponse Int
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Constructor C1_0DescribeReservedInstancesModifications
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Constructor C1_0DescribeReservedInstancesModificationsResponse
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Data DescribeReservedInstancesModifications
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Data DescribeReservedInstancesModificationsResponse
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Datatype D1DescribeReservedInstancesModifications
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Datatype D1DescribeReservedInstancesModificationsResponse
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Generic DescribeReservedInstancesModifications
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Generic DescribeReservedInstancesModificationsResponse
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Selector S1_0_0DescribeReservedInstancesModifications
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Selector S1_0_0DescribeReservedInstancesModificationsResponse
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Selector S1_0_1DescribeReservedInstancesModifications
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Selector S1_0_1DescribeReservedInstancesModificationsResponse
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Selector S1_0_2DescribeReservedInstancesModifications
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Selector S1_0_2DescribeReservedInstancesModificationsResponse
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Typeable DescribeReservedInstancesModifications
+ Network.AWS.EC2.DescribeReservedInstancesModifications: instance Typeable DescribeReservedInstancesModificationsResponse
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: driorsNextToken :: Lens' DescribeReservedInstancesOfferingsResponse (Maybe Text)
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: driorsReservedInstancesOfferings :: Lens' DescribeReservedInstancesOfferingsResponse [ReservedInstancesOffering]
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: driorsStatus :: Lens' DescribeReservedInstancesOfferingsResponse Int
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Constructor C1_0DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Constructor C1_0DescribeReservedInstancesOfferingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Data DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Data DescribeReservedInstancesOfferingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Datatype D1DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Datatype D1DescribeReservedInstancesOfferingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Generic DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Generic DescribeReservedInstancesOfferingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_0DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_0DescribeReservedInstancesOfferingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_10DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_11DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_12DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_13DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_1DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_1DescribeReservedInstancesOfferingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_2DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_2DescribeReservedInstancesOfferingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_3DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_4DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_5DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_6DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_7DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_8DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Selector S1_0_9DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Typeable DescribeReservedInstancesOfferings
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: instance Typeable DescribeReservedInstancesOfferingsResponse
+ Network.AWS.EC2.DescribeRouteTables: drtrsRouteTables :: Lens' DescribeRouteTablesResponse [RouteTable]
+ Network.AWS.EC2.DescribeRouteTables: drtrsStatus :: Lens' DescribeRouteTablesResponse Int
+ Network.AWS.EC2.DescribeRouteTables: drtsDryRun :: Lens' DescribeRouteTables (Maybe Bool)
+ Network.AWS.EC2.DescribeRouteTables: drtsFilters :: Lens' DescribeRouteTables [Filter]
+ Network.AWS.EC2.DescribeRouteTables: drtsRouteTableIds :: Lens' DescribeRouteTables [Text]
+ Network.AWS.EC2.DescribeRouteTables: instance Constructor C1_0DescribeRouteTables
+ Network.AWS.EC2.DescribeRouteTables: instance Constructor C1_0DescribeRouteTablesResponse
+ Network.AWS.EC2.DescribeRouteTables: instance Data DescribeRouteTables
+ Network.AWS.EC2.DescribeRouteTables: instance Data DescribeRouteTablesResponse
+ Network.AWS.EC2.DescribeRouteTables: instance Datatype D1DescribeRouteTables
+ Network.AWS.EC2.DescribeRouteTables: instance Datatype D1DescribeRouteTablesResponse
+ Network.AWS.EC2.DescribeRouteTables: instance Generic DescribeRouteTables
+ Network.AWS.EC2.DescribeRouteTables: instance Generic DescribeRouteTablesResponse
+ Network.AWS.EC2.DescribeRouteTables: instance Selector S1_0_0DescribeRouteTables
+ Network.AWS.EC2.DescribeRouteTables: instance Selector S1_0_0DescribeRouteTablesResponse
+ Network.AWS.EC2.DescribeRouteTables: instance Selector S1_0_1DescribeRouteTables
+ Network.AWS.EC2.DescribeRouteTables: instance Selector S1_0_1DescribeRouteTablesResponse
+ Network.AWS.EC2.DescribeRouteTables: instance Selector S1_0_2DescribeRouteTables
+ Network.AWS.EC2.DescribeRouteTables: instance Typeable DescribeRouteTables
+ Network.AWS.EC2.DescribeRouteTables: instance Typeable DescribeRouteTablesResponse
+ Network.AWS.EC2.DescribeSecurityGroups: dsgrsSecurityGroups :: Lens' DescribeSecurityGroupsResponse [SecurityGroup]
+ Network.AWS.EC2.DescribeSecurityGroups: dsgrsStatus :: Lens' DescribeSecurityGroupsResponse Int
+ Network.AWS.EC2.DescribeSecurityGroups: dsgsDryRun :: Lens' DescribeSecurityGroups (Maybe Bool)
+ Network.AWS.EC2.DescribeSecurityGroups: dsgsFilters :: Lens' DescribeSecurityGroups [Filter]
+ Network.AWS.EC2.DescribeSecurityGroups: dsgsGroupIds :: Lens' DescribeSecurityGroups [Text]
+ Network.AWS.EC2.DescribeSecurityGroups: dsgsGroupNames :: Lens' DescribeSecurityGroups [Text]
+ Network.AWS.EC2.DescribeSecurityGroups: instance Constructor C1_0DescribeSecurityGroups
+ Network.AWS.EC2.DescribeSecurityGroups: instance Constructor C1_0DescribeSecurityGroupsResponse
+ Network.AWS.EC2.DescribeSecurityGroups: instance Data DescribeSecurityGroups
+ Network.AWS.EC2.DescribeSecurityGroups: instance Data DescribeSecurityGroupsResponse
+ Network.AWS.EC2.DescribeSecurityGroups: instance Datatype D1DescribeSecurityGroups
+ Network.AWS.EC2.DescribeSecurityGroups: instance Datatype D1DescribeSecurityGroupsResponse
+ Network.AWS.EC2.DescribeSecurityGroups: instance Generic DescribeSecurityGroups
+ Network.AWS.EC2.DescribeSecurityGroups: instance Generic DescribeSecurityGroupsResponse
+ Network.AWS.EC2.DescribeSecurityGroups: instance Selector S1_0_0DescribeSecurityGroups
+ Network.AWS.EC2.DescribeSecurityGroups: instance Selector S1_0_0DescribeSecurityGroupsResponse
+ Network.AWS.EC2.DescribeSecurityGroups: instance Selector S1_0_1DescribeSecurityGroups
+ Network.AWS.EC2.DescribeSecurityGroups: instance Selector S1_0_1DescribeSecurityGroupsResponse
+ Network.AWS.EC2.DescribeSecurityGroups: instance Selector S1_0_2DescribeSecurityGroups
+ Network.AWS.EC2.DescribeSecurityGroups: instance Selector S1_0_3DescribeSecurityGroups
+ Network.AWS.EC2.DescribeSecurityGroups: instance Typeable DescribeSecurityGroups
+ Network.AWS.EC2.DescribeSecurityGroups: instance Typeable DescribeSecurityGroupsResponse
+ Network.AWS.EC2.DescribeSnapshotAttribute: dsarsCreateVolumePermissions :: Lens' DescribeSnapshotAttributeResponse [CreateVolumePermission]
+ Network.AWS.EC2.DescribeSnapshotAttribute: dsarsProductCodes :: Lens' DescribeSnapshotAttributeResponse [ProductCode]
+ Network.AWS.EC2.DescribeSnapshotAttribute: dsarsSnapshotId :: Lens' DescribeSnapshotAttributeResponse (Maybe Text)
+ Network.AWS.EC2.DescribeSnapshotAttribute: dsarsStatus :: Lens' DescribeSnapshotAttributeResponse Int
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Constructor C1_0DescribeSnapshotAttribute
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Constructor C1_0DescribeSnapshotAttributeResponse
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Data DescribeSnapshotAttribute
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Data DescribeSnapshotAttributeResponse
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Datatype D1DescribeSnapshotAttribute
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Datatype D1DescribeSnapshotAttributeResponse
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Generic DescribeSnapshotAttribute
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Generic DescribeSnapshotAttributeResponse
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Selector S1_0_0DescribeSnapshotAttribute
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Selector S1_0_0DescribeSnapshotAttributeResponse
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Selector S1_0_1DescribeSnapshotAttribute
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Selector S1_0_1DescribeSnapshotAttributeResponse
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Selector S1_0_2DescribeSnapshotAttribute
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Selector S1_0_2DescribeSnapshotAttributeResponse
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Selector S1_0_3DescribeSnapshotAttributeResponse
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Typeable DescribeSnapshotAttribute
+ Network.AWS.EC2.DescribeSnapshotAttribute: instance Typeable DescribeSnapshotAttributeResponse
+ Network.AWS.EC2.DescribeSnapshots: dssDryRun :: Lens' DescribeSnapshots (Maybe Bool)
+ Network.AWS.EC2.DescribeSnapshots: dssFilters :: Lens' DescribeSnapshots [Filter]
+ Network.AWS.EC2.DescribeSnapshots: dssMaxResults :: Lens' DescribeSnapshots (Maybe Int)
+ Network.AWS.EC2.DescribeSnapshots: dssNextToken :: Lens' DescribeSnapshots (Maybe Text)
+ Network.AWS.EC2.DescribeSnapshots: dssOwnerIds :: Lens' DescribeSnapshots [Text]
+ Network.AWS.EC2.DescribeSnapshots: dssRestorableByUserIds :: Lens' DescribeSnapshots [Text]
+ Network.AWS.EC2.DescribeSnapshots: dssSnapshotIds :: Lens' DescribeSnapshots [Text]
+ Network.AWS.EC2.DescribeSnapshots: dssrsNextToken :: Lens' DescribeSnapshotsResponse (Maybe Text)
+ Network.AWS.EC2.DescribeSnapshots: dssrsSnapshots :: Lens' DescribeSnapshotsResponse [Snapshot]
+ Network.AWS.EC2.DescribeSnapshots: dssrsStatus :: Lens' DescribeSnapshotsResponse Int
+ Network.AWS.EC2.DescribeSnapshots: instance Constructor C1_0DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Constructor C1_0DescribeSnapshotsResponse
+ Network.AWS.EC2.DescribeSnapshots: instance Data DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Data DescribeSnapshotsResponse
+ Network.AWS.EC2.DescribeSnapshots: instance Datatype D1DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Datatype D1DescribeSnapshotsResponse
+ Network.AWS.EC2.DescribeSnapshots: instance Generic DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Generic DescribeSnapshotsResponse
+ Network.AWS.EC2.DescribeSnapshots: instance Selector S1_0_0DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Selector S1_0_0DescribeSnapshotsResponse
+ Network.AWS.EC2.DescribeSnapshots: instance Selector S1_0_1DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Selector S1_0_1DescribeSnapshotsResponse
+ Network.AWS.EC2.DescribeSnapshots: instance Selector S1_0_2DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Selector S1_0_2DescribeSnapshotsResponse
+ Network.AWS.EC2.DescribeSnapshots: instance Selector S1_0_3DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Selector S1_0_4DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Selector S1_0_5DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Selector S1_0_6DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Typeable DescribeSnapshots
+ Network.AWS.EC2.DescribeSnapshots: instance Typeable DescribeSnapshotsResponse
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: dsdsrsSpotDatafeedSubscription :: Lens' DescribeSpotDatafeedSubscriptionResponse (Maybe SpotDatafeedSubscription)
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: dsdsrsStatus :: Lens' DescribeSpotDatafeedSubscriptionResponse Int
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Constructor C1_0DescribeSpotDatafeedSubscription
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Constructor C1_0DescribeSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Data DescribeSpotDatafeedSubscription
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Data DescribeSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Datatype D1DescribeSpotDatafeedSubscription
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Datatype D1DescribeSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Generic DescribeSpotDatafeedSubscription
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Generic DescribeSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Selector S1_0_0DescribeSpotDatafeedSubscription
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Selector S1_0_0DescribeSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Selector S1_0_1DescribeSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Typeable DescribeSpotDatafeedSubscription
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: instance Typeable DescribeSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.DescribeSpotFleetInstances: dsfirsActiveInstances :: Lens' DescribeSpotFleetInstancesResponse [ActiveInstance]
+ Network.AWS.EC2.DescribeSpotFleetInstances: dsfirsNextToken :: Lens' DescribeSpotFleetInstancesResponse (Maybe Text)
+ Network.AWS.EC2.DescribeSpotFleetInstances: dsfirsSpotFleetRequestId :: Lens' DescribeSpotFleetInstancesResponse Text
+ Network.AWS.EC2.DescribeSpotFleetInstances: dsfirsStatus :: Lens' DescribeSpotFleetInstancesResponse Int
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Constructor C1_0DescribeSpotFleetInstances
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Constructor C1_0DescribeSpotFleetInstancesResponse
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Data DescribeSpotFleetInstances
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Data DescribeSpotFleetInstancesResponse
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Datatype D1DescribeSpotFleetInstances
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Datatype D1DescribeSpotFleetInstancesResponse
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Generic DescribeSpotFleetInstances
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Generic DescribeSpotFleetInstancesResponse
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Selector S1_0_0DescribeSpotFleetInstances
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Selector S1_0_0DescribeSpotFleetInstancesResponse
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Selector S1_0_1DescribeSpotFleetInstances
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Selector S1_0_1DescribeSpotFleetInstancesResponse
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Selector S1_0_2DescribeSpotFleetInstances
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Selector S1_0_2DescribeSpotFleetInstancesResponse
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Selector S1_0_3DescribeSpotFleetInstances
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Selector S1_0_3DescribeSpotFleetInstancesResponse
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Typeable DescribeSpotFleetInstances
+ Network.AWS.EC2.DescribeSpotFleetInstances: instance Typeable DescribeSpotFleetInstancesResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrsHistoryRecords :: Lens' DescribeSpotFleetRequestHistoryResponse [HistoryRecord]
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrsLastEvaluatedTime :: Lens' DescribeSpotFleetRequestHistoryResponse UTCTime
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrsNextToken :: Lens' DescribeSpotFleetRequestHistoryResponse (Maybe Text)
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrsSpotFleetRequestId :: Lens' DescribeSpotFleetRequestHistoryResponse Text
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrsStartTime :: Lens' DescribeSpotFleetRequestHistoryResponse UTCTime
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrsStatus :: Lens' DescribeSpotFleetRequestHistoryResponse Int
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Constructor C1_0DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Constructor C1_0DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Data DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Data DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Datatype D1DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Datatype D1DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Generic DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Generic DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_0DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_0DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_1DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_1DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_2DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_2DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_3DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_3DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_4DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_4DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_5DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Selector S1_0_5DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Typeable DescribeSpotFleetRequestHistory
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: instance Typeable DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequests: dsfrrsNextToken :: Lens' DescribeSpotFleetRequestsResponse (Maybe Text)
+ Network.AWS.EC2.DescribeSpotFleetRequests: dsfrrsSpotFleetRequestConfigs :: Lens' DescribeSpotFleetRequestsResponse [SpotFleetRequestConfig]
+ Network.AWS.EC2.DescribeSpotFleetRequests: dsfrrsStatus :: Lens' DescribeSpotFleetRequestsResponse Int
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Constructor C1_0DescribeSpotFleetRequests
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Constructor C1_0DescribeSpotFleetRequestsResponse
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Data DescribeSpotFleetRequests
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Data DescribeSpotFleetRequestsResponse
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Datatype D1DescribeSpotFleetRequests
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Datatype D1DescribeSpotFleetRequestsResponse
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Generic DescribeSpotFleetRequests
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Generic DescribeSpotFleetRequestsResponse
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Selector S1_0_0DescribeSpotFleetRequests
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Selector S1_0_0DescribeSpotFleetRequestsResponse
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Selector S1_0_1DescribeSpotFleetRequests
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Selector S1_0_1DescribeSpotFleetRequestsResponse
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Selector S1_0_2DescribeSpotFleetRequests
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Selector S1_0_2DescribeSpotFleetRequestsResponse
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Selector S1_0_3DescribeSpotFleetRequests
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Typeable DescribeSpotFleetRequests
+ Network.AWS.EC2.DescribeSpotFleetRequests: instance Typeable DescribeSpotFleetRequestsResponse
+ Network.AWS.EC2.DescribeSpotInstanceRequests: dsirrsSpotInstanceRequests :: Lens' DescribeSpotInstanceRequestsResponse [SpotInstanceRequest]
+ Network.AWS.EC2.DescribeSpotInstanceRequests: dsirrsStatus :: Lens' DescribeSpotInstanceRequestsResponse Int
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Constructor C1_0DescribeSpotInstanceRequests
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Constructor C1_0DescribeSpotInstanceRequestsResponse
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Data DescribeSpotInstanceRequests
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Data DescribeSpotInstanceRequestsResponse
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Datatype D1DescribeSpotInstanceRequests
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Datatype D1DescribeSpotInstanceRequestsResponse
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Generic DescribeSpotInstanceRequests
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Generic DescribeSpotInstanceRequestsResponse
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Selector S1_0_0DescribeSpotInstanceRequests
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Selector S1_0_0DescribeSpotInstanceRequestsResponse
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Selector S1_0_1DescribeSpotInstanceRequests
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Selector S1_0_1DescribeSpotInstanceRequestsResponse
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Selector S1_0_2DescribeSpotInstanceRequests
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Typeable DescribeSpotInstanceRequests
+ Network.AWS.EC2.DescribeSpotInstanceRequests: instance Typeable DescribeSpotInstanceRequestsResponse
+ Network.AWS.EC2.DescribeSpotPriceHistory: dsphrsNextToken :: Lens' DescribeSpotPriceHistoryResponse (Maybe Text)
+ Network.AWS.EC2.DescribeSpotPriceHistory: dsphrsSpotPriceHistory :: Lens' DescribeSpotPriceHistoryResponse [SpotPrice]
+ Network.AWS.EC2.DescribeSpotPriceHistory: dsphrsStatus :: Lens' DescribeSpotPriceHistoryResponse Int
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Constructor C1_0DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Constructor C1_0DescribeSpotPriceHistoryResponse
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Data DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Data DescribeSpotPriceHistoryResponse
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Datatype D1DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Datatype D1DescribeSpotPriceHistoryResponse
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Generic DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Generic DescribeSpotPriceHistoryResponse
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_0DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_0DescribeSpotPriceHistoryResponse
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_1DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_1DescribeSpotPriceHistoryResponse
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_2DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_2DescribeSpotPriceHistoryResponse
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_3DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_4DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_5DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_6DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_7DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Selector S1_0_8DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Typeable DescribeSpotPriceHistory
+ Network.AWS.EC2.DescribeSpotPriceHistory: instance Typeable DescribeSpotPriceHistoryResponse
+ Network.AWS.EC2.DescribeSubnets: dsrsStatus :: Lens' DescribeSubnetsResponse Int
+ Network.AWS.EC2.DescribeSubnets: dsrsSubnets :: Lens' DescribeSubnetsResponse [Subnet]
+ Network.AWS.EC2.DescribeSubnets: instance Constructor C1_0DescribeSubnets
+ Network.AWS.EC2.DescribeSubnets: instance Constructor C1_0DescribeSubnetsResponse
+ Network.AWS.EC2.DescribeSubnets: instance Data DescribeSubnets
+ Network.AWS.EC2.DescribeSubnets: instance Data DescribeSubnetsResponse
+ Network.AWS.EC2.DescribeSubnets: instance Datatype D1DescribeSubnets
+ Network.AWS.EC2.DescribeSubnets: instance Datatype D1DescribeSubnetsResponse
+ Network.AWS.EC2.DescribeSubnets: instance Generic DescribeSubnets
+ Network.AWS.EC2.DescribeSubnets: instance Generic DescribeSubnetsResponse
+ Network.AWS.EC2.DescribeSubnets: instance Selector S1_0_0DescribeSubnets
+ Network.AWS.EC2.DescribeSubnets: instance Selector S1_0_0DescribeSubnetsResponse
+ Network.AWS.EC2.DescribeSubnets: instance Selector S1_0_1DescribeSubnets
+ Network.AWS.EC2.DescribeSubnets: instance Selector S1_0_1DescribeSubnetsResponse
+ Network.AWS.EC2.DescribeSubnets: instance Selector S1_0_2DescribeSubnets
+ Network.AWS.EC2.DescribeSubnets: instance Typeable DescribeSubnets
+ Network.AWS.EC2.DescribeSubnets: instance Typeable DescribeSubnetsResponse
+ Network.AWS.EC2.DescribeTags: dtrsNextToken :: Lens' DescribeTagsResponse (Maybe Text)
+ Network.AWS.EC2.DescribeTags: dtrsStatus :: Lens' DescribeTagsResponse Int
+ Network.AWS.EC2.DescribeTags: dtrsTags :: Lens' DescribeTagsResponse [TagDescription]
+ Network.AWS.EC2.DescribeTags: instance Constructor C1_0DescribeTags
+ Network.AWS.EC2.DescribeTags: instance Constructor C1_0DescribeTagsResponse
+ Network.AWS.EC2.DescribeTags: instance Data DescribeTags
+ Network.AWS.EC2.DescribeTags: instance Data DescribeTagsResponse
+ Network.AWS.EC2.DescribeTags: instance Datatype D1DescribeTags
+ Network.AWS.EC2.DescribeTags: instance Datatype D1DescribeTagsResponse
+ Network.AWS.EC2.DescribeTags: instance Generic DescribeTags
+ Network.AWS.EC2.DescribeTags: instance Generic DescribeTagsResponse
+ Network.AWS.EC2.DescribeTags: instance Selector S1_0_0DescribeTags
+ Network.AWS.EC2.DescribeTags: instance Selector S1_0_0DescribeTagsResponse
+ Network.AWS.EC2.DescribeTags: instance Selector S1_0_1DescribeTags
+ Network.AWS.EC2.DescribeTags: instance Selector S1_0_1DescribeTagsResponse
+ Network.AWS.EC2.DescribeTags: instance Selector S1_0_2DescribeTags
+ Network.AWS.EC2.DescribeTags: instance Selector S1_0_2DescribeTagsResponse
+ Network.AWS.EC2.DescribeTags: instance Selector S1_0_3DescribeTags
+ Network.AWS.EC2.DescribeTags: instance Typeable DescribeTags
+ Network.AWS.EC2.DescribeTags: instance Typeable DescribeTagsResponse
+ Network.AWS.EC2.DescribeVPCAttribute: data DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: data DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: describeVPCAttribute :: Text -> DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: describeVPCAttributeResponse :: Int -> DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: dvpcaAttribute :: Lens' DescribeVPCAttribute (Maybe VPCAttributeName)
+ Network.AWS.EC2.DescribeVPCAttribute: dvpcaDryRun :: Lens' DescribeVPCAttribute (Maybe Bool)
+ Network.AWS.EC2.DescribeVPCAttribute: dvpcaVPCId :: Lens' DescribeVPCAttribute Text
+ Network.AWS.EC2.DescribeVPCAttribute: dvpcarsEnableDNSHostnames :: Lens' DescribeVPCAttributeResponse (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.DescribeVPCAttribute: dvpcarsEnableDNSSupport :: Lens' DescribeVPCAttributeResponse (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.DescribeVPCAttribute: dvpcarsStatus :: Lens' DescribeVPCAttributeResponse Int
+ Network.AWS.EC2.DescribeVPCAttribute: dvpcarsVPCId :: Lens' DescribeVPCAttributeResponse (Maybe Text)
+ Network.AWS.EC2.DescribeVPCAttribute: instance AWSRequest DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Constructor C1_0DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Constructor C1_0DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: instance Data DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Data DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: instance Datatype D1DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Datatype D1DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: instance Eq DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Eq DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: instance Generic DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Generic DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: instance Read DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Read DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: instance Selector S1_0_0DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Selector S1_0_0DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: instance Selector S1_0_1DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Selector S1_0_1DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: instance Selector S1_0_2DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Selector S1_0_2DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: instance Selector S1_0_3DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: instance Show DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Show DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCAttribute: instance ToHeaders DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance ToPath DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance ToQuery DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Typeable DescribeVPCAttribute
+ Network.AWS.EC2.DescribeVPCAttribute: instance Typeable DescribeVPCAttributeResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: data DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: data DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: describeVPCClassicLink :: DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: describeVPCClassicLinkResponse :: Int -> DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: dvclDryRun :: Lens' DescribeVPCClassicLink (Maybe Bool)
+ Network.AWS.EC2.DescribeVPCClassicLink: dvclFilters :: Lens' DescribeVPCClassicLink [Filter]
+ Network.AWS.EC2.DescribeVPCClassicLink: dvclVPCIds :: Lens' DescribeVPCClassicLink [Text]
+ Network.AWS.EC2.DescribeVPCClassicLink: dvclrsStatus :: Lens' DescribeVPCClassicLinkResponse Int
+ Network.AWS.EC2.DescribeVPCClassicLink: dvclrsVPCs :: Lens' DescribeVPCClassicLinkResponse [VPCClassicLink]
+ Network.AWS.EC2.DescribeVPCClassicLink: instance AWSRequest DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Constructor C1_0DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Constructor C1_0DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Data DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Data DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Datatype D1DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Datatype D1DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Eq DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Eq DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Generic DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Generic DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Read DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Read DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Selector S1_0_0DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Selector S1_0_0DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Selector S1_0_1DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Selector S1_0_1DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Selector S1_0_2DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Show DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Show DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCClassicLink: instance ToHeaders DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance ToPath DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance ToQuery DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Typeable DescribeVPCClassicLink
+ Network.AWS.EC2.DescribeVPCClassicLink: instance Typeable DescribeVPCClassicLinkResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: data DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: data DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: describeVPCEndpointServices :: DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: describeVPCEndpointServicesResponse :: Int -> DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: dvesDryRun :: Lens' DescribeVPCEndpointServices (Maybe Bool)
+ Network.AWS.EC2.DescribeVPCEndpointServices: dvesMaxResults :: Lens' DescribeVPCEndpointServices (Maybe Int)
+ Network.AWS.EC2.DescribeVPCEndpointServices: dvesNextToken :: Lens' DescribeVPCEndpointServices (Maybe Text)
+ Network.AWS.EC2.DescribeVPCEndpointServices: dvesrsNextToken :: Lens' DescribeVPCEndpointServicesResponse (Maybe Text)
+ Network.AWS.EC2.DescribeVPCEndpointServices: dvesrsServiceNames :: Lens' DescribeVPCEndpointServicesResponse [Text]
+ Network.AWS.EC2.DescribeVPCEndpointServices: dvesrsStatus :: Lens' DescribeVPCEndpointServicesResponse Int
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance AWSRequest DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Constructor C1_0DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Constructor C1_0DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Data DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Data DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Datatype D1DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Datatype D1DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Eq DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Eq DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Generic DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Generic DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Read DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Read DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Selector S1_0_0DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Selector S1_0_0DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Selector S1_0_1DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Selector S1_0_1DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Selector S1_0_2DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Selector S1_0_2DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Show DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Show DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance ToHeaders DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance ToPath DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance ToQuery DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Typeable DescribeVPCEndpointServices
+ Network.AWS.EC2.DescribeVPCEndpointServices: instance Typeable DescribeVPCEndpointServicesResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: data DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: data DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: describeVPCEndpoints :: DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: describeVPCEndpointsResponse :: Int -> DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: dvpceDryRun :: Lens' DescribeVPCEndpoints (Maybe Bool)
+ Network.AWS.EC2.DescribeVPCEndpoints: dvpceFilters :: Lens' DescribeVPCEndpoints [Filter]
+ Network.AWS.EC2.DescribeVPCEndpoints: dvpceMaxResults :: Lens' DescribeVPCEndpoints (Maybe Int)
+ Network.AWS.EC2.DescribeVPCEndpoints: dvpceNextToken :: Lens' DescribeVPCEndpoints (Maybe Text)
+ Network.AWS.EC2.DescribeVPCEndpoints: dvpceVPCEndpointIds :: Lens' DescribeVPCEndpoints [Text]
+ Network.AWS.EC2.DescribeVPCEndpoints: dvpcersNextToken :: Lens' DescribeVPCEndpointsResponse (Maybe Text)
+ Network.AWS.EC2.DescribeVPCEndpoints: dvpcersStatus :: Lens' DescribeVPCEndpointsResponse Int
+ Network.AWS.EC2.DescribeVPCEndpoints: dvpcersVPCEndpoints :: Lens' DescribeVPCEndpointsResponse [VPCEndpoint]
+ Network.AWS.EC2.DescribeVPCEndpoints: instance AWSRequest DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Constructor C1_0DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Constructor C1_0DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Data DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Data DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Datatype D1DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Datatype D1DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Eq DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Eq DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Generic DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Generic DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Read DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Read DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Selector S1_0_0DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Selector S1_0_0DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Selector S1_0_1DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Selector S1_0_1DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Selector S1_0_2DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Selector S1_0_2DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Selector S1_0_3DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Selector S1_0_4DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Show DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Show DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCEndpoints: instance ToHeaders DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance ToPath DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance ToQuery DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Typeable DescribeVPCEndpoints
+ Network.AWS.EC2.DescribeVPCEndpoints: instance Typeable DescribeVPCEndpointsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: data DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: data DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: describeVPCPeeringConnections :: DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: describeVPCPeeringConnectionsResponse :: Int -> DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: dvpcpcDryRun :: Lens' DescribeVPCPeeringConnections (Maybe Bool)
+ Network.AWS.EC2.DescribeVPCPeeringConnections: dvpcpcFilters :: Lens' DescribeVPCPeeringConnections [Filter]
+ Network.AWS.EC2.DescribeVPCPeeringConnections: dvpcpcVPCPeeringConnectionIds :: Lens' DescribeVPCPeeringConnections [Text]
+ Network.AWS.EC2.DescribeVPCPeeringConnections: dvpcpcrsStatus :: Lens' DescribeVPCPeeringConnectionsResponse Int
+ Network.AWS.EC2.DescribeVPCPeeringConnections: dvpcpcrsVPCPeeringConnections :: Lens' DescribeVPCPeeringConnectionsResponse [VPCPeeringConnection]
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance AWSRequest DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Constructor C1_0DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Constructor C1_0DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Data DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Data DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Datatype D1DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Datatype D1DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Eq DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Eq DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Generic DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Generic DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Read DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Read DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Selector S1_0_0DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Selector S1_0_0DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Selector S1_0_1DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Selector S1_0_1DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Selector S1_0_2DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Show DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Show DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance ToHeaders DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance ToPath DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance ToQuery DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Typeable DescribeVPCPeeringConnections
+ Network.AWS.EC2.DescribeVPCPeeringConnections: instance Typeable DescribeVPCPeeringConnectionsResponse
+ Network.AWS.EC2.DescribeVPCs: data DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: data DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPCs: describeVPCs :: DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: describeVPCsResponse :: Int -> DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPCs: dvrsStatus :: Lens' DescribeVPCsResponse Int
+ Network.AWS.EC2.DescribeVPCs: dvrsVPCs :: Lens' DescribeVPCsResponse [VPC]
+ Network.AWS.EC2.DescribeVPCs: dvsDryRun :: Lens' DescribeVPCs (Maybe Bool)
+ Network.AWS.EC2.DescribeVPCs: dvsFilters :: Lens' DescribeVPCs [Filter]
+ Network.AWS.EC2.DescribeVPCs: dvsVPCIds :: Lens' DescribeVPCs [Text]
+ Network.AWS.EC2.DescribeVPCs: instance AWSRequest DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Constructor C1_0DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Constructor C1_0DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPCs: instance Data DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Data DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPCs: instance Datatype D1DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Datatype D1DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPCs: instance Eq DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Eq DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPCs: instance Generic DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Generic DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPCs: instance Read DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Read DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPCs: instance Selector S1_0_0DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Selector S1_0_0DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPCs: instance Selector S1_0_1DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Selector S1_0_1DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPCs: instance Selector S1_0_2DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Show DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Show DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPCs: instance ToHeaders DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance ToPath DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance ToQuery DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Typeable DescribeVPCs
+ Network.AWS.EC2.DescribeVPCs: instance Typeable DescribeVPCsResponse
+ Network.AWS.EC2.DescribeVPNConnections: data DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: data DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNConnections: describeVPNConnections :: DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: describeVPNConnectionsResponse :: Int -> DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNConnections: dvcrsStatus :: Lens' DescribeVPNConnectionsResponse Int
+ Network.AWS.EC2.DescribeVPNConnections: dvcrsVPNConnections :: Lens' DescribeVPNConnectionsResponse [VPNConnection]
+ Network.AWS.EC2.DescribeVPNConnections: dvpncDryRun :: Lens' DescribeVPNConnections (Maybe Bool)
+ Network.AWS.EC2.DescribeVPNConnections: dvpncFilters :: Lens' DescribeVPNConnections [Filter]
+ Network.AWS.EC2.DescribeVPNConnections: dvpncVPNConnectionIds :: Lens' DescribeVPNConnections [Text]
+ Network.AWS.EC2.DescribeVPNConnections: instance AWSRequest DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Constructor C1_0DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Constructor C1_0DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNConnections: instance Data DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Data DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNConnections: instance Datatype D1DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Datatype D1DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNConnections: instance Eq DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Eq DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNConnections: instance Generic DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Generic DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNConnections: instance Read DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Read DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNConnections: instance Selector S1_0_0DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Selector S1_0_0DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNConnections: instance Selector S1_0_1DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Selector S1_0_1DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNConnections: instance Selector S1_0_2DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Show DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Show DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNConnections: instance ToHeaders DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance ToPath DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance ToQuery DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Typeable DescribeVPNConnections
+ Network.AWS.EC2.DescribeVPNConnections: instance Typeable DescribeVPNConnectionsResponse
+ Network.AWS.EC2.DescribeVPNGateways: data DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: data DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVPNGateways: describeVPNGateways :: DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: describeVPNGatewaysResponse :: Int -> DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVPNGateways: dvgrsStatus :: Lens' DescribeVPNGatewaysResponse Int
+ Network.AWS.EC2.DescribeVPNGateways: dvgrsVPNGateways :: Lens' DescribeVPNGatewaysResponse [VPNGateway]
+ Network.AWS.EC2.DescribeVPNGateways: dvgsDryRun :: Lens' DescribeVPNGateways (Maybe Bool)
+ Network.AWS.EC2.DescribeVPNGateways: dvgsFilters :: Lens' DescribeVPNGateways [Filter]
+ Network.AWS.EC2.DescribeVPNGateways: dvgsVPNGatewayIds :: Lens' DescribeVPNGateways [Text]
+ Network.AWS.EC2.DescribeVPNGateways: instance AWSRequest DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Constructor C1_0DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Constructor C1_0DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVPNGateways: instance Data DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Data DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVPNGateways: instance Datatype D1DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Datatype D1DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVPNGateways: instance Eq DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Eq DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVPNGateways: instance Generic DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Generic DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVPNGateways: instance Read DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Read DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVPNGateways: instance Selector S1_0_0DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Selector S1_0_0DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVPNGateways: instance Selector S1_0_1DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Selector S1_0_1DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVPNGateways: instance Selector S1_0_2DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Show DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Show DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVPNGateways: instance ToHeaders DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance ToPath DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance ToQuery DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Typeable DescribeVPNGateways
+ Network.AWS.EC2.DescribeVPNGateways: instance Typeable DescribeVPNGatewaysResponse
+ Network.AWS.EC2.DescribeVolumeAttribute: dvarsAutoEnableIO :: Lens' DescribeVolumeAttributeResponse (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.DescribeVolumeAttribute: dvarsProductCodes :: Lens' DescribeVolumeAttributeResponse [ProductCode]
+ Network.AWS.EC2.DescribeVolumeAttribute: dvarsStatus :: Lens' DescribeVolumeAttributeResponse Int
+ Network.AWS.EC2.DescribeVolumeAttribute: dvarsVolumeId :: Lens' DescribeVolumeAttributeResponse (Maybe Text)
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Constructor C1_0DescribeVolumeAttribute
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Constructor C1_0DescribeVolumeAttributeResponse
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Data DescribeVolumeAttribute
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Data DescribeVolumeAttributeResponse
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Datatype D1DescribeVolumeAttribute
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Datatype D1DescribeVolumeAttributeResponse
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Generic DescribeVolumeAttribute
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Generic DescribeVolumeAttributeResponse
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Selector S1_0_0DescribeVolumeAttribute
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Selector S1_0_0DescribeVolumeAttributeResponse
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Selector S1_0_1DescribeVolumeAttribute
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Selector S1_0_1DescribeVolumeAttributeResponse
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Selector S1_0_2DescribeVolumeAttribute
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Selector S1_0_2DescribeVolumeAttributeResponse
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Selector S1_0_3DescribeVolumeAttributeResponse
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Typeable DescribeVolumeAttribute
+ Network.AWS.EC2.DescribeVolumeAttribute: instance Typeable DescribeVolumeAttributeResponse
+ Network.AWS.EC2.DescribeVolumeStatus: dvsrsNextToken :: Lens' DescribeVolumeStatusResponse (Maybe Text)
+ Network.AWS.EC2.DescribeVolumeStatus: dvsrsStatus :: Lens' DescribeVolumeStatusResponse Int
+ Network.AWS.EC2.DescribeVolumeStatus: dvsrsVolumeStatuses :: Lens' DescribeVolumeStatusResponse [VolumeStatusItem]
+ Network.AWS.EC2.DescribeVolumeStatus: dvssDryRun :: Lens' DescribeVolumeStatus (Maybe Bool)
+ Network.AWS.EC2.DescribeVolumeStatus: dvssFilters :: Lens' DescribeVolumeStatus [Filter]
+ Network.AWS.EC2.DescribeVolumeStatus: dvssMaxResults :: Lens' DescribeVolumeStatus (Maybe Int)
+ Network.AWS.EC2.DescribeVolumeStatus: dvssNextToken :: Lens' DescribeVolumeStatus (Maybe Text)
+ Network.AWS.EC2.DescribeVolumeStatus: dvssVolumeIds :: Lens' DescribeVolumeStatus [Text]
+ Network.AWS.EC2.DescribeVolumeStatus: instance Constructor C1_0DescribeVolumeStatus
+ Network.AWS.EC2.DescribeVolumeStatus: instance Constructor C1_0DescribeVolumeStatusResponse
+ Network.AWS.EC2.DescribeVolumeStatus: instance Data DescribeVolumeStatus
+ Network.AWS.EC2.DescribeVolumeStatus: instance Data DescribeVolumeStatusResponse
+ Network.AWS.EC2.DescribeVolumeStatus: instance Datatype D1DescribeVolumeStatus
+ Network.AWS.EC2.DescribeVolumeStatus: instance Datatype D1DescribeVolumeStatusResponse
+ Network.AWS.EC2.DescribeVolumeStatus: instance Generic DescribeVolumeStatus
+ Network.AWS.EC2.DescribeVolumeStatus: instance Generic DescribeVolumeStatusResponse
+ Network.AWS.EC2.DescribeVolumeStatus: instance Selector S1_0_0DescribeVolumeStatus
+ Network.AWS.EC2.DescribeVolumeStatus: instance Selector S1_0_0DescribeVolumeStatusResponse
+ Network.AWS.EC2.DescribeVolumeStatus: instance Selector S1_0_1DescribeVolumeStatus
+ Network.AWS.EC2.DescribeVolumeStatus: instance Selector S1_0_1DescribeVolumeStatusResponse
+ Network.AWS.EC2.DescribeVolumeStatus: instance Selector S1_0_2DescribeVolumeStatus
+ Network.AWS.EC2.DescribeVolumeStatus: instance Selector S1_0_2DescribeVolumeStatusResponse
+ Network.AWS.EC2.DescribeVolumeStatus: instance Selector S1_0_3DescribeVolumeStatus
+ Network.AWS.EC2.DescribeVolumeStatus: instance Selector S1_0_4DescribeVolumeStatus
+ Network.AWS.EC2.DescribeVolumeStatus: instance Typeable DescribeVolumeStatus
+ Network.AWS.EC2.DescribeVolumeStatus: instance Typeable DescribeVolumeStatusResponse
+ Network.AWS.EC2.DescribeVolumes: desDryRun :: Lens' DescribeVolumes (Maybe Bool)
+ Network.AWS.EC2.DescribeVolumes: desFilters :: Lens' DescribeVolumes [Filter]
+ Network.AWS.EC2.DescribeVolumes: desMaxResults :: Lens' DescribeVolumes (Maybe Int)
+ Network.AWS.EC2.DescribeVolumes: desNextToken :: Lens' DescribeVolumes (Maybe Text)
+ Network.AWS.EC2.DescribeVolumes: desVolumeIds :: Lens' DescribeVolumes [Text]
+ Network.AWS.EC2.DescribeVolumes: dvvrsNextToken :: Lens' DescribeVolumesResponse (Maybe Text)
+ Network.AWS.EC2.DescribeVolumes: dvvrsStatus :: Lens' DescribeVolumesResponse Int
+ Network.AWS.EC2.DescribeVolumes: dvvrsVolumes :: Lens' DescribeVolumesResponse [Volume]
+ Network.AWS.EC2.DescribeVolumes: instance Constructor C1_0DescribeVolumes
+ Network.AWS.EC2.DescribeVolumes: instance Constructor C1_0DescribeVolumesResponse
+ Network.AWS.EC2.DescribeVolumes: instance Data DescribeVolumes
+ Network.AWS.EC2.DescribeVolumes: instance Data DescribeVolumesResponse
+ Network.AWS.EC2.DescribeVolumes: instance Datatype D1DescribeVolumes
+ Network.AWS.EC2.DescribeVolumes: instance Datatype D1DescribeVolumesResponse
+ Network.AWS.EC2.DescribeVolumes: instance Generic DescribeVolumes
+ Network.AWS.EC2.DescribeVolumes: instance Generic DescribeVolumesResponse
+ Network.AWS.EC2.DescribeVolumes: instance Selector S1_0_0DescribeVolumes
+ Network.AWS.EC2.DescribeVolumes: instance Selector S1_0_0DescribeVolumesResponse
+ Network.AWS.EC2.DescribeVolumes: instance Selector S1_0_1DescribeVolumes
+ Network.AWS.EC2.DescribeVolumes: instance Selector S1_0_1DescribeVolumesResponse
+ Network.AWS.EC2.DescribeVolumes: instance Selector S1_0_2DescribeVolumes
+ Network.AWS.EC2.DescribeVolumes: instance Selector S1_0_2DescribeVolumesResponse
+ Network.AWS.EC2.DescribeVolumes: instance Selector S1_0_3DescribeVolumes
+ Network.AWS.EC2.DescribeVolumes: instance Selector S1_0_4DescribeVolumes
+ Network.AWS.EC2.DescribeVolumes: instance Typeable DescribeVolumes
+ Network.AWS.EC2.DescribeVolumes: instance Typeable DescribeVolumesResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: data DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: data DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: dclvDryRun :: Lens' DetachClassicLinkVPC (Maybe Bool)
+ Network.AWS.EC2.DetachClassicLinkVPC: dclvInstanceId :: Lens' DetachClassicLinkVPC Text
+ Network.AWS.EC2.DetachClassicLinkVPC: dclvVPCId :: Lens' DetachClassicLinkVPC Text
+ Network.AWS.EC2.DetachClassicLinkVPC: dclvrsReturn :: Lens' DetachClassicLinkVPCResponse (Maybe Bool)
+ Network.AWS.EC2.DetachClassicLinkVPC: dclvrsStatus :: Lens' DetachClassicLinkVPCResponse Int
+ Network.AWS.EC2.DetachClassicLinkVPC: detachClassicLinkVPC :: Text -> Text -> DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: detachClassicLinkVPCResponse :: Int -> DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: instance AWSRequest DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Constructor C1_0DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Constructor C1_0DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Data DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Data DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Datatype D1DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Datatype D1DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Eq DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Eq DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Generic DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Generic DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Read DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Read DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Selector S1_0_0DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Selector S1_0_0DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Selector S1_0_1DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Selector S1_0_1DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Selector S1_0_2DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Show DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Show DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachClassicLinkVPC: instance ToHeaders DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance ToPath DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance ToQuery DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Typeable DetachClassicLinkVPC
+ Network.AWS.EC2.DetachClassicLinkVPC: instance Typeable DetachClassicLinkVPCResponse
+ Network.AWS.EC2.DetachInternetGateway: digVPCId :: Lens' DetachInternetGateway Text
+ Network.AWS.EC2.DetachInternetGateway: instance Constructor C1_0DetachInternetGateway
+ Network.AWS.EC2.DetachInternetGateway: instance Data DetachInternetGateway
+ Network.AWS.EC2.DetachInternetGateway: instance Data DetachInternetGatewayResponse
+ Network.AWS.EC2.DetachInternetGateway: instance Datatype D1DetachInternetGateway
+ Network.AWS.EC2.DetachInternetGateway: instance Generic DetachInternetGateway
+ Network.AWS.EC2.DetachInternetGateway: instance Selector S1_0_0DetachInternetGateway
+ Network.AWS.EC2.DetachInternetGateway: instance Selector S1_0_1DetachInternetGateway
+ Network.AWS.EC2.DetachInternetGateway: instance Selector S1_0_2DetachInternetGateway
+ Network.AWS.EC2.DetachInternetGateway: instance Typeable DetachInternetGateway
+ Network.AWS.EC2.DetachInternetGateway: instance Typeable DetachInternetGatewayResponse
+ Network.AWS.EC2.DetachNetworkInterface: instance Constructor C1_0DetachNetworkInterface
+ Network.AWS.EC2.DetachNetworkInterface: instance Data DetachNetworkInterface
+ Network.AWS.EC2.DetachNetworkInterface: instance Data DetachNetworkInterfaceResponse
+ Network.AWS.EC2.DetachNetworkInterface: instance Datatype D1DetachNetworkInterface
+ Network.AWS.EC2.DetachNetworkInterface: instance Generic DetachNetworkInterface
+ Network.AWS.EC2.DetachNetworkInterface: instance Selector S1_0_0DetachNetworkInterface
+ Network.AWS.EC2.DetachNetworkInterface: instance Selector S1_0_1DetachNetworkInterface
+ Network.AWS.EC2.DetachNetworkInterface: instance Selector S1_0_2DetachNetworkInterface
+ Network.AWS.EC2.DetachNetworkInterface: instance Typeable DetachNetworkInterface
+ Network.AWS.EC2.DetachNetworkInterface: instance Typeable DetachNetworkInterfaceResponse
+ Network.AWS.EC2.DetachVPNGateway: data DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: data DetachVPNGatewayResponse
+ Network.AWS.EC2.DetachVPNGateway: detachVPNGateway :: Text -> Text -> DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: detachVPNGatewayResponse :: DetachVPNGatewayResponse
+ Network.AWS.EC2.DetachVPNGateway: dvpngDryRun :: Lens' DetachVPNGateway (Maybe Bool)
+ Network.AWS.EC2.DetachVPNGateway: dvpngVPCId :: Lens' DetachVPNGateway Text
+ Network.AWS.EC2.DetachVPNGateway: dvpngVPNGatewayId :: Lens' DetachVPNGateway Text
+ Network.AWS.EC2.DetachVPNGateway: instance AWSRequest DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Constructor C1_0DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Constructor C1_0DetachVPNGatewayResponse
+ Network.AWS.EC2.DetachVPNGateway: instance Data DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Data DetachVPNGatewayResponse
+ Network.AWS.EC2.DetachVPNGateway: instance Datatype D1DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Datatype D1DetachVPNGatewayResponse
+ Network.AWS.EC2.DetachVPNGateway: instance Eq DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Eq DetachVPNGatewayResponse
+ Network.AWS.EC2.DetachVPNGateway: instance Generic DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Generic DetachVPNGatewayResponse
+ Network.AWS.EC2.DetachVPNGateway: instance Read DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Read DetachVPNGatewayResponse
+ Network.AWS.EC2.DetachVPNGateway: instance Selector S1_0_0DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Selector S1_0_1DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Selector S1_0_2DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Show DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Show DetachVPNGatewayResponse
+ Network.AWS.EC2.DetachVPNGateway: instance ToHeaders DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance ToPath DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance ToQuery DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Typeable DetachVPNGateway
+ Network.AWS.EC2.DetachVPNGateway: instance Typeable DetachVPNGatewayResponse
+ Network.AWS.EC2.DetachVolume: data VolumeAttachment
+ Network.AWS.EC2.DetachVolume: instance Constructor C1_0DetachVolume
+ Network.AWS.EC2.DetachVolume: instance Data DetachVolume
+ Network.AWS.EC2.DetachVolume: instance Datatype D1DetachVolume
+ Network.AWS.EC2.DetachVolume: instance Generic DetachVolume
+ Network.AWS.EC2.DetachVolume: instance Selector S1_0_0DetachVolume
+ Network.AWS.EC2.DetachVolume: instance Selector S1_0_1DetachVolume
+ Network.AWS.EC2.DetachVolume: instance Selector S1_0_2DetachVolume
+ Network.AWS.EC2.DetachVolume: instance Selector S1_0_3DetachVolume
+ Network.AWS.EC2.DetachVolume: instance Selector S1_0_4DetachVolume
+ Network.AWS.EC2.DetachVolume: instance Typeable DetachVolume
+ Network.AWS.EC2.DetachVolume: volAttachTime :: Lens' VolumeAttachment (Maybe UTCTime)
+ Network.AWS.EC2.DetachVolume: volDeleteOnTermination :: Lens' VolumeAttachment (Maybe Bool)
+ Network.AWS.EC2.DetachVolume: volDevice :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2.DetachVolume: volInstanceId :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2.DetachVolume: volState :: Lens' VolumeAttachment (Maybe VolumeAttachmentState)
+ Network.AWS.EC2.DetachVolume: volVolumeId :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2.DetachVolume: volumeAttachment :: VolumeAttachment
+ Network.AWS.EC2.DisableVGWRoutePropagation: data DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: data DisableVGWRoutePropagationResponse
+ Network.AWS.EC2.DisableVGWRoutePropagation: disableVGWRoutePropagation :: Text -> Text -> DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: disableVGWRoutePropagationResponse :: DisableVGWRoutePropagationResponse
+ Network.AWS.EC2.DisableVGWRoutePropagation: dvrpGatewayId :: Lens' DisableVGWRoutePropagation Text
+ Network.AWS.EC2.DisableVGWRoutePropagation: dvrpRouteTableId :: Lens' DisableVGWRoutePropagation Text
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance AWSRequest DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Constructor C1_0DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Constructor C1_0DisableVGWRoutePropagationResponse
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Data DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Data DisableVGWRoutePropagationResponse
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Datatype D1DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Datatype D1DisableVGWRoutePropagationResponse
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Eq DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Eq DisableVGWRoutePropagationResponse
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Generic DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Generic DisableVGWRoutePropagationResponse
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Read DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Read DisableVGWRoutePropagationResponse
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Selector S1_0_0DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Selector S1_0_1DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Show DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Show DisableVGWRoutePropagationResponse
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance ToHeaders DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance ToPath DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance ToQuery DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Typeable DisableVGWRoutePropagation
+ Network.AWS.EC2.DisableVGWRoutePropagation: instance Typeable DisableVGWRoutePropagationResponse
+ Network.AWS.EC2.DisableVPCClassicLink: data DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: data DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisableVPCClassicLink: disableVPCClassicLink :: Text -> DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: disableVPCClassicLinkResponse :: Int -> DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisableVPCClassicLink: dvpcclDryRun :: Lens' DisableVPCClassicLink (Maybe Bool)
+ Network.AWS.EC2.DisableVPCClassicLink: dvpcclVPCId :: Lens' DisableVPCClassicLink Text
+ Network.AWS.EC2.DisableVPCClassicLink: dvpcclrsReturn :: Lens' DisableVPCClassicLinkResponse (Maybe Bool)
+ Network.AWS.EC2.DisableVPCClassicLink: dvpcclrsStatus :: Lens' DisableVPCClassicLinkResponse Int
+ Network.AWS.EC2.DisableVPCClassicLink: instance AWSRequest DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Constructor C1_0DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Constructor C1_0DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisableVPCClassicLink: instance Data DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Data DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisableVPCClassicLink: instance Datatype D1DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Datatype D1DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisableVPCClassicLink: instance Eq DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Eq DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisableVPCClassicLink: instance Generic DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Generic DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisableVPCClassicLink: instance Read DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Read DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisableVPCClassicLink: instance Selector S1_0_0DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Selector S1_0_0DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisableVPCClassicLink: instance Selector S1_0_1DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Selector S1_0_1DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisableVPCClassicLink: instance Show DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Show DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisableVPCClassicLink: instance ToHeaders DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance ToPath DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance ToQuery DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Typeable DisableVPCClassicLink
+ Network.AWS.EC2.DisableVPCClassicLink: instance Typeable DisableVPCClassicLinkResponse
+ Network.AWS.EC2.DisassociateAddress: dasAssociationId :: Lens' DisassociateAddress (Maybe Text)
+ Network.AWS.EC2.DisassociateAddress: dasDryRun :: Lens' DisassociateAddress (Maybe Bool)
+ Network.AWS.EC2.DisassociateAddress: dasPublicIP :: Lens' DisassociateAddress (Maybe Text)
+ Network.AWS.EC2.DisassociateAddress: instance Constructor C1_0DisassociateAddress
+ Network.AWS.EC2.DisassociateAddress: instance Data DisassociateAddress
+ Network.AWS.EC2.DisassociateAddress: instance Data DisassociateAddressResponse
+ Network.AWS.EC2.DisassociateAddress: instance Datatype D1DisassociateAddress
+ Network.AWS.EC2.DisassociateAddress: instance Generic DisassociateAddress
+ Network.AWS.EC2.DisassociateAddress: instance Selector S1_0_0DisassociateAddress
+ Network.AWS.EC2.DisassociateAddress: instance Selector S1_0_1DisassociateAddress
+ Network.AWS.EC2.DisassociateAddress: instance Selector S1_0_2DisassociateAddress
+ Network.AWS.EC2.DisassociateAddress: instance Typeable DisassociateAddress
+ Network.AWS.EC2.DisassociateAddress: instance Typeable DisassociateAddressResponse
+ Network.AWS.EC2.DisassociateRouteTable: instance Constructor C1_0DisassociateRouteTable
+ Network.AWS.EC2.DisassociateRouteTable: instance Data DisassociateRouteTable
+ Network.AWS.EC2.DisassociateRouteTable: instance Data DisassociateRouteTableResponse
+ Network.AWS.EC2.DisassociateRouteTable: instance Datatype D1DisassociateRouteTable
+ Network.AWS.EC2.DisassociateRouteTable: instance Generic DisassociateRouteTable
+ Network.AWS.EC2.DisassociateRouteTable: instance Selector S1_0_0DisassociateRouteTable
+ Network.AWS.EC2.DisassociateRouteTable: instance Selector S1_0_1DisassociateRouteTable
+ Network.AWS.EC2.DisassociateRouteTable: instance Typeable DisassociateRouteTable
+ Network.AWS.EC2.DisassociateRouteTable: instance Typeable DisassociateRouteTableResponse
+ Network.AWS.EC2.EnableVGWRoutePropagation: data EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: data EnableVGWRoutePropagationResponse
+ Network.AWS.EC2.EnableVGWRoutePropagation: enableVGWRoutePropagation :: Text -> Text -> EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: enableVGWRoutePropagationResponse :: EnableVGWRoutePropagationResponse
+ Network.AWS.EC2.EnableVGWRoutePropagation: evrpGatewayId :: Lens' EnableVGWRoutePropagation Text
+ Network.AWS.EC2.EnableVGWRoutePropagation: evrpRouteTableId :: Lens' EnableVGWRoutePropagation Text
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance AWSRequest EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Constructor C1_0EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Constructor C1_0EnableVGWRoutePropagationResponse
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Data EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Data EnableVGWRoutePropagationResponse
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Datatype D1EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Datatype D1EnableVGWRoutePropagationResponse
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Eq EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Eq EnableVGWRoutePropagationResponse
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Generic EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Generic EnableVGWRoutePropagationResponse
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Read EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Read EnableVGWRoutePropagationResponse
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Selector S1_0_0EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Selector S1_0_1EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Show EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Show EnableVGWRoutePropagationResponse
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance ToHeaders EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance ToPath EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance ToQuery EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Typeable EnableVGWRoutePropagation
+ Network.AWS.EC2.EnableVGWRoutePropagation: instance Typeable EnableVGWRoutePropagationResponse
+ Network.AWS.EC2.EnableVPCClassicLink: data EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: data EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVPCClassicLink: enableVPCClassicLink :: Text -> EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: enableVPCClassicLinkResponse :: Int -> EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVPCClassicLink: evclDryRun :: Lens' EnableVPCClassicLink (Maybe Bool)
+ Network.AWS.EC2.EnableVPCClassicLink: evclVPCId :: Lens' EnableVPCClassicLink Text
+ Network.AWS.EC2.EnableVPCClassicLink: evclrsReturn :: Lens' EnableVPCClassicLinkResponse (Maybe Bool)
+ Network.AWS.EC2.EnableVPCClassicLink: evclrsStatus :: Lens' EnableVPCClassicLinkResponse Int
+ Network.AWS.EC2.EnableVPCClassicLink: instance AWSRequest EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Constructor C1_0EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Constructor C1_0EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVPCClassicLink: instance Data EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Data EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVPCClassicLink: instance Datatype D1EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Datatype D1EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVPCClassicLink: instance Eq EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Eq EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVPCClassicLink: instance Generic EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Generic EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVPCClassicLink: instance Read EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Read EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVPCClassicLink: instance Selector S1_0_0EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Selector S1_0_0EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVPCClassicLink: instance Selector S1_0_1EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Selector S1_0_1EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVPCClassicLink: instance Show EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Show EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVPCClassicLink: instance ToHeaders EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance ToPath EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance ToQuery EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Typeable EnableVPCClassicLink
+ Network.AWS.EC2.EnableVPCClassicLink: instance Typeable EnableVPCClassicLinkResponse
+ Network.AWS.EC2.EnableVolumeIO: instance Constructor C1_0EnableVolumeIO
+ Network.AWS.EC2.EnableVolumeIO: instance Data EnableVolumeIO
+ Network.AWS.EC2.EnableVolumeIO: instance Data EnableVolumeIOResponse
+ Network.AWS.EC2.EnableVolumeIO: instance Datatype D1EnableVolumeIO
+ Network.AWS.EC2.EnableVolumeIO: instance Generic EnableVolumeIO
+ Network.AWS.EC2.EnableVolumeIO: instance Selector S1_0_0EnableVolumeIO
+ Network.AWS.EC2.EnableVolumeIO: instance Selector S1_0_1EnableVolumeIO
+ Network.AWS.EC2.EnableVolumeIO: instance Typeable EnableVolumeIO
+ Network.AWS.EC2.EnableVolumeIO: instance Typeable EnableVolumeIOResponse
+ Network.AWS.EC2.GetConsoleOutput: gcorsInstanceId :: Lens' GetConsoleOutputResponse (Maybe Text)
+ Network.AWS.EC2.GetConsoleOutput: gcorsOutput :: Lens' GetConsoleOutputResponse (Maybe Text)
+ Network.AWS.EC2.GetConsoleOutput: gcorsStatus :: Lens' GetConsoleOutputResponse Int
+ Network.AWS.EC2.GetConsoleOutput: gcorsTimestamp :: Lens' GetConsoleOutputResponse (Maybe UTCTime)
+ Network.AWS.EC2.GetConsoleOutput: instance Constructor C1_0GetConsoleOutput
+ Network.AWS.EC2.GetConsoleOutput: instance Constructor C1_0GetConsoleOutputResponse
+ Network.AWS.EC2.GetConsoleOutput: instance Data GetConsoleOutput
+ Network.AWS.EC2.GetConsoleOutput: instance Data GetConsoleOutputResponse
+ Network.AWS.EC2.GetConsoleOutput: instance Datatype D1GetConsoleOutput
+ Network.AWS.EC2.GetConsoleOutput: instance Datatype D1GetConsoleOutputResponse
+ Network.AWS.EC2.GetConsoleOutput: instance Generic GetConsoleOutput
+ Network.AWS.EC2.GetConsoleOutput: instance Generic GetConsoleOutputResponse
+ Network.AWS.EC2.GetConsoleOutput: instance Selector S1_0_0GetConsoleOutput
+ Network.AWS.EC2.GetConsoleOutput: instance Selector S1_0_0GetConsoleOutputResponse
+ Network.AWS.EC2.GetConsoleOutput: instance Selector S1_0_1GetConsoleOutput
+ Network.AWS.EC2.GetConsoleOutput: instance Selector S1_0_1GetConsoleOutputResponse
+ Network.AWS.EC2.GetConsoleOutput: instance Selector S1_0_2GetConsoleOutputResponse
+ Network.AWS.EC2.GetConsoleOutput: instance Selector S1_0_3GetConsoleOutputResponse
+ Network.AWS.EC2.GetConsoleOutput: instance Typeable GetConsoleOutput
+ Network.AWS.EC2.GetConsoleOutput: instance Typeable GetConsoleOutputResponse
+ Network.AWS.EC2.GetPasswordData: gpdrsInstanceId :: Lens' GetPasswordDataResponse Text
+ Network.AWS.EC2.GetPasswordData: gpdrsPasswordData :: Lens' GetPasswordDataResponse Text
+ Network.AWS.EC2.GetPasswordData: gpdrsStatus :: Lens' GetPasswordDataResponse Int
+ Network.AWS.EC2.GetPasswordData: gpdrsTimestamp :: Lens' GetPasswordDataResponse UTCTime
+ Network.AWS.EC2.GetPasswordData: instance Constructor C1_0GetPasswordData
+ Network.AWS.EC2.GetPasswordData: instance Constructor C1_0GetPasswordDataResponse
+ Network.AWS.EC2.GetPasswordData: instance Data GetPasswordData
+ Network.AWS.EC2.GetPasswordData: instance Data GetPasswordDataResponse
+ Network.AWS.EC2.GetPasswordData: instance Datatype D1GetPasswordData
+ Network.AWS.EC2.GetPasswordData: instance Datatype D1GetPasswordDataResponse
+ Network.AWS.EC2.GetPasswordData: instance Generic GetPasswordData
+ Network.AWS.EC2.GetPasswordData: instance Generic GetPasswordDataResponse
+ Network.AWS.EC2.GetPasswordData: instance Selector S1_0_0GetPasswordData
+ Network.AWS.EC2.GetPasswordData: instance Selector S1_0_0GetPasswordDataResponse
+ Network.AWS.EC2.GetPasswordData: instance Selector S1_0_1GetPasswordData
+ Network.AWS.EC2.GetPasswordData: instance Selector S1_0_1GetPasswordDataResponse
+ Network.AWS.EC2.GetPasswordData: instance Selector S1_0_2GetPasswordDataResponse
+ Network.AWS.EC2.GetPasswordData: instance Selector S1_0_3GetPasswordDataResponse
+ Network.AWS.EC2.GetPasswordData: instance Typeable GetPasswordData
+ Network.AWS.EC2.GetPasswordData: instance Typeable GetPasswordDataResponse
+ Network.AWS.EC2.ImportImage: impArchitecture :: Lens' ImportImage (Maybe Text)
+ Network.AWS.EC2.ImportImage: impClientData :: Lens' ImportImage (Maybe ClientData)
+ Network.AWS.EC2.ImportImage: impClientToken :: Lens' ImportImage (Maybe Text)
+ Network.AWS.EC2.ImportImage: impDescription :: Lens' ImportImage (Maybe Text)
+ Network.AWS.EC2.ImportImage: impDiskContainers :: Lens' ImportImage [ImageDiskContainer]
+ Network.AWS.EC2.ImportImage: impDryRun :: Lens' ImportImage (Maybe Bool)
+ Network.AWS.EC2.ImportImage: impHypervisor :: Lens' ImportImage (Maybe Text)
+ Network.AWS.EC2.ImportImage: impLicenseType :: Lens' ImportImage (Maybe Text)
+ Network.AWS.EC2.ImportImage: impPlatform :: Lens' ImportImage (Maybe Text)
+ Network.AWS.EC2.ImportImage: impRoleName :: Lens' ImportImage (Maybe Text)
+ Network.AWS.EC2.ImportImage: instance Constructor C1_0ImportImage
+ Network.AWS.EC2.ImportImage: instance Constructor C1_0ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Data ImportImage
+ Network.AWS.EC2.ImportImage: instance Data ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Datatype D1ImportImage
+ Network.AWS.EC2.ImportImage: instance Datatype D1ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Generic ImportImage
+ Network.AWS.EC2.ImportImage: instance Generic ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_0ImportImage
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_0ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_10ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_1ImportImage
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_1ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_2ImportImage
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_2ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_3ImportImage
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_3ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_4ImportImage
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_4ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_5ImportImage
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_5ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_6ImportImage
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_6ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_7ImportImage
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_7ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_8ImportImage
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_8ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_9ImportImage
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_9ImportImageResponse
+ Network.AWS.EC2.ImportImage: instance Typeable ImportImage
+ Network.AWS.EC2.ImportImage: instance Typeable ImportImageResponse
+ Network.AWS.EC2.ImportImage: irsArchitecture :: Lens' ImportImageResponse (Maybe Text)
+ Network.AWS.EC2.ImportImage: irsDescription :: Lens' ImportImageResponse (Maybe Text)
+ Network.AWS.EC2.ImportImage: irsHypervisor :: Lens' ImportImageResponse (Maybe Text)
+ Network.AWS.EC2.ImportImage: irsImageId :: Lens' ImportImageResponse (Maybe Text)
+ Network.AWS.EC2.ImportImage: irsImportTaskId :: Lens' ImportImageResponse (Maybe Text)
+ Network.AWS.EC2.ImportImage: irsLicenseType :: Lens' ImportImageResponse (Maybe Text)
+ Network.AWS.EC2.ImportImage: irsPlatform :: Lens' ImportImageResponse (Maybe Text)
+ Network.AWS.EC2.ImportImage: irsProgress :: Lens' ImportImageResponse (Maybe Text)
+ Network.AWS.EC2.ImportImage: irsSnapshotDetails :: Lens' ImportImageResponse [SnapshotDetail]
+ Network.AWS.EC2.ImportImage: irsStatus :: Lens' ImportImageResponse Int
+ Network.AWS.EC2.ImportImage: irsStatusMessage :: Lens' ImportImageResponse (Maybe Text)
+ Network.AWS.EC2.ImportInstance: iirsConversionTask :: Lens' ImportInstanceResponse (Maybe ConversionTask)
+ Network.AWS.EC2.ImportInstance: iirsStatus :: Lens' ImportInstanceResponse Int
+ Network.AWS.EC2.ImportInstance: instance Constructor C1_0ImportInstance
+ Network.AWS.EC2.ImportInstance: instance Constructor C1_0ImportInstanceResponse
+ Network.AWS.EC2.ImportInstance: instance Data ImportInstance
+ Network.AWS.EC2.ImportInstance: instance Data ImportInstanceResponse
+ Network.AWS.EC2.ImportInstance: instance Datatype D1ImportInstance
+ Network.AWS.EC2.ImportInstance: instance Datatype D1ImportInstanceResponse
+ Network.AWS.EC2.ImportInstance: instance Generic ImportInstance
+ Network.AWS.EC2.ImportInstance: instance Generic ImportInstanceResponse
+ Network.AWS.EC2.ImportInstance: instance Selector S1_0_0ImportInstance
+ Network.AWS.EC2.ImportInstance: instance Selector S1_0_0ImportInstanceResponse
+ Network.AWS.EC2.ImportInstance: instance Selector S1_0_1ImportInstance
+ Network.AWS.EC2.ImportInstance: instance Selector S1_0_1ImportInstanceResponse
+ Network.AWS.EC2.ImportInstance: instance Selector S1_0_2ImportInstance
+ Network.AWS.EC2.ImportInstance: instance Selector S1_0_3ImportInstance
+ Network.AWS.EC2.ImportInstance: instance Selector S1_0_4ImportInstance
+ Network.AWS.EC2.ImportInstance: instance Typeable ImportInstance
+ Network.AWS.EC2.ImportInstance: instance Typeable ImportInstanceResponse
+ Network.AWS.EC2.ImportKeyPair: ikprsKeyFingerprint :: Lens' ImportKeyPairResponse (Maybe Text)
+ Network.AWS.EC2.ImportKeyPair: ikprsKeyName :: Lens' ImportKeyPairResponse (Maybe Text)
+ Network.AWS.EC2.ImportKeyPair: ikprsStatus :: Lens' ImportKeyPairResponse Int
+ Network.AWS.EC2.ImportKeyPair: instance Constructor C1_0ImportKeyPair
+ Network.AWS.EC2.ImportKeyPair: instance Constructor C1_0ImportKeyPairResponse
+ Network.AWS.EC2.ImportKeyPair: instance Data ImportKeyPair
+ Network.AWS.EC2.ImportKeyPair: instance Data ImportKeyPairResponse
+ Network.AWS.EC2.ImportKeyPair: instance Datatype D1ImportKeyPair
+ Network.AWS.EC2.ImportKeyPair: instance Datatype D1ImportKeyPairResponse
+ Network.AWS.EC2.ImportKeyPair: instance Generic ImportKeyPair
+ Network.AWS.EC2.ImportKeyPair: instance Generic ImportKeyPairResponse
+ Network.AWS.EC2.ImportKeyPair: instance Selector S1_0_0ImportKeyPair
+ Network.AWS.EC2.ImportKeyPair: instance Selector S1_0_0ImportKeyPairResponse
+ Network.AWS.EC2.ImportKeyPair: instance Selector S1_0_1ImportKeyPair
+ Network.AWS.EC2.ImportKeyPair: instance Selector S1_0_1ImportKeyPairResponse
+ Network.AWS.EC2.ImportKeyPair: instance Selector S1_0_2ImportKeyPair
+ Network.AWS.EC2.ImportKeyPair: instance Selector S1_0_2ImportKeyPairResponse
+ Network.AWS.EC2.ImportKeyPair: instance Typeable ImportKeyPair
+ Network.AWS.EC2.ImportKeyPair: instance Typeable ImportKeyPairResponse
+ Network.AWS.EC2.ImportSnapshot: instance Constructor C1_0ImportSnapshot
+ Network.AWS.EC2.ImportSnapshot: instance Constructor C1_0ImportSnapshotResponse
+ Network.AWS.EC2.ImportSnapshot: instance Data ImportSnapshot
+ Network.AWS.EC2.ImportSnapshot: instance Data ImportSnapshotResponse
+ Network.AWS.EC2.ImportSnapshot: instance Datatype D1ImportSnapshot
+ Network.AWS.EC2.ImportSnapshot: instance Datatype D1ImportSnapshotResponse
+ Network.AWS.EC2.ImportSnapshot: instance Generic ImportSnapshot
+ Network.AWS.EC2.ImportSnapshot: instance Generic ImportSnapshotResponse
+ Network.AWS.EC2.ImportSnapshot: instance Selector S1_0_0ImportSnapshot
+ Network.AWS.EC2.ImportSnapshot: instance Selector S1_0_0ImportSnapshotResponse
+ Network.AWS.EC2.ImportSnapshot: instance Selector S1_0_1ImportSnapshot
+ Network.AWS.EC2.ImportSnapshot: instance Selector S1_0_1ImportSnapshotResponse
+ Network.AWS.EC2.ImportSnapshot: instance Selector S1_0_2ImportSnapshot
+ Network.AWS.EC2.ImportSnapshot: instance Selector S1_0_2ImportSnapshotResponse
+ Network.AWS.EC2.ImportSnapshot: instance Selector S1_0_3ImportSnapshot
+ Network.AWS.EC2.ImportSnapshot: instance Selector S1_0_3ImportSnapshotResponse
+ Network.AWS.EC2.ImportSnapshot: instance Selector S1_0_4ImportSnapshot
+ Network.AWS.EC2.ImportSnapshot: instance Selector S1_0_5ImportSnapshot
+ Network.AWS.EC2.ImportSnapshot: instance Typeable ImportSnapshot
+ Network.AWS.EC2.ImportSnapshot: instance Typeable ImportSnapshotResponse
+ Network.AWS.EC2.ImportSnapshot: isrsDescription :: Lens' ImportSnapshotResponse (Maybe Text)
+ Network.AWS.EC2.ImportSnapshot: isrsImportTaskId :: Lens' ImportSnapshotResponse (Maybe Text)
+ Network.AWS.EC2.ImportSnapshot: isrsSnapshotTaskDetail :: Lens' ImportSnapshotResponse (Maybe SnapshotTaskDetail)
+ Network.AWS.EC2.ImportSnapshot: isrsStatus :: Lens' ImportSnapshotResponse Int
+ Network.AWS.EC2.ImportVolume: instance Constructor C1_0ImportVolume
+ Network.AWS.EC2.ImportVolume: instance Constructor C1_0ImportVolumeResponse
+ Network.AWS.EC2.ImportVolume: instance Data ImportVolume
+ Network.AWS.EC2.ImportVolume: instance Data ImportVolumeResponse
+ Network.AWS.EC2.ImportVolume: instance Datatype D1ImportVolume
+ Network.AWS.EC2.ImportVolume: instance Datatype D1ImportVolumeResponse
+ Network.AWS.EC2.ImportVolume: instance Generic ImportVolume
+ Network.AWS.EC2.ImportVolume: instance Generic ImportVolumeResponse
+ Network.AWS.EC2.ImportVolume: instance Selector S1_0_0ImportVolume
+ Network.AWS.EC2.ImportVolume: instance Selector S1_0_0ImportVolumeResponse
+ Network.AWS.EC2.ImportVolume: instance Selector S1_0_1ImportVolume
+ Network.AWS.EC2.ImportVolume: instance Selector S1_0_1ImportVolumeResponse
+ Network.AWS.EC2.ImportVolume: instance Selector S1_0_2ImportVolume
+ Network.AWS.EC2.ImportVolume: instance Selector S1_0_3ImportVolume
+ Network.AWS.EC2.ImportVolume: instance Selector S1_0_4ImportVolume
+ Network.AWS.EC2.ImportVolume: instance Typeable ImportVolume
+ Network.AWS.EC2.ImportVolume: instance Typeable ImportVolumeResponse
+ Network.AWS.EC2.ImportVolume: ivrsConversionTask :: Lens' ImportVolumeResponse (Maybe ConversionTask)
+ Network.AWS.EC2.ImportVolume: ivrsStatus :: Lens' ImportVolumeResponse Int
+ Network.AWS.EC2.ModifyImageAttribute: instance Constructor C1_0ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Data ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Data ModifyImageAttributeResponse
+ Network.AWS.EC2.ModifyImageAttribute: instance Datatype D1ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Generic ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Selector S1_0_0ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Selector S1_0_1ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Selector S1_0_2ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Selector S1_0_3ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Selector S1_0_4ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Selector S1_0_5ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Selector S1_0_6ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Selector S1_0_7ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Selector S1_0_8ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Selector S1_0_9ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Typeable ModifyImageAttribute
+ Network.AWS.EC2.ModifyImageAttribute: instance Typeable ModifyImageAttributeResponse
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Constructor C1_0ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Data ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Data ModifyInstanceAttributeResponse
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Datatype D1ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Generic ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_0ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_10ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_11ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_12ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_13ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_14ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_1ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_2ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_3ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_4ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_5ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_6ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_7ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_8ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Selector S1_0_9ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Typeable ModifyInstanceAttribute
+ Network.AWS.EC2.ModifyInstanceAttribute: instance Typeable ModifyInstanceAttributeResponse
+ Network.AWS.EC2.ModifyInstanceAttribute: mAttribute :: Lens' ModifyInstanceAttribute (Maybe InstanceAttributeName)
+ Network.AWS.EC2.ModifyInstanceAttribute: mBlockDeviceMappings :: Lens' ModifyInstanceAttribute [InstanceBlockDeviceMappingSpecification]
+ Network.AWS.EC2.ModifyInstanceAttribute: mDisableAPITermination :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.ModifyInstanceAttribute: mDryRun :: Lens' ModifyInstanceAttribute (Maybe Bool)
+ Network.AWS.EC2.ModifyInstanceAttribute: mEBSOptimized :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.ModifyInstanceAttribute: mGroups :: Lens' ModifyInstanceAttribute [Text]
+ Network.AWS.EC2.ModifyInstanceAttribute: mInstanceId :: Lens' ModifyInstanceAttribute Text
+ Network.AWS.EC2.ModifyInstanceAttribute: mInstanceInitiatedShutdownBehavior :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)
+ Network.AWS.EC2.ModifyInstanceAttribute: mInstanceType :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)
+ Network.AWS.EC2.ModifyInstanceAttribute: mKernel :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)
+ Network.AWS.EC2.ModifyInstanceAttribute: mRAMDisk :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)
+ Network.AWS.EC2.ModifyInstanceAttribute: mSRIOVNetSupport :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)
+ Network.AWS.EC2.ModifyInstanceAttribute: mSourceDestCheck :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.ModifyInstanceAttribute: mUserData :: Lens' ModifyInstanceAttribute (Maybe BlobAttributeValue)
+ Network.AWS.EC2.ModifyInstanceAttribute: mValue :: Lens' ModifyInstanceAttribute (Maybe Text)
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Constructor C1_0ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Data ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Data ModifyNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Datatype D1ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Generic ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Selector S1_0_0ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Selector S1_0_1ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Selector S1_0_2ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Selector S1_0_3ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Selector S1_0_4ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Selector S1_0_5ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Typeable ModifyNetworkInterfaceAttribute
+ Network.AWS.EC2.ModifyNetworkInterfaceAttribute: instance Typeable ModifyNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.ModifyReservedInstances: instance Constructor C1_0ModifyReservedInstances
+ Network.AWS.EC2.ModifyReservedInstances: instance Constructor C1_0ModifyReservedInstancesResponse
+ Network.AWS.EC2.ModifyReservedInstances: instance Data ModifyReservedInstances
+ Network.AWS.EC2.ModifyReservedInstances: instance Data ModifyReservedInstancesResponse
+ Network.AWS.EC2.ModifyReservedInstances: instance Datatype D1ModifyReservedInstances
+ Network.AWS.EC2.ModifyReservedInstances: instance Datatype D1ModifyReservedInstancesResponse
+ Network.AWS.EC2.ModifyReservedInstances: instance Generic ModifyReservedInstances
+ Network.AWS.EC2.ModifyReservedInstances: instance Generic ModifyReservedInstancesResponse
+ Network.AWS.EC2.ModifyReservedInstances: instance Selector S1_0_0ModifyReservedInstances
+ Network.AWS.EC2.ModifyReservedInstances: instance Selector S1_0_0ModifyReservedInstancesResponse
+ Network.AWS.EC2.ModifyReservedInstances: instance Selector S1_0_1ModifyReservedInstances
+ Network.AWS.EC2.ModifyReservedInstances: instance Selector S1_0_1ModifyReservedInstancesResponse
+ Network.AWS.EC2.ModifyReservedInstances: instance Selector S1_0_2ModifyReservedInstances
+ Network.AWS.EC2.ModifyReservedInstances: instance Typeable ModifyReservedInstances
+ Network.AWS.EC2.ModifyReservedInstances: instance Typeable ModifyReservedInstancesResponse
+ Network.AWS.EC2.ModifyReservedInstances: mrirsReservedInstancesModificationId :: Lens' ModifyReservedInstancesResponse (Maybe Text)
+ Network.AWS.EC2.ModifyReservedInstances: mrirsStatus :: Lens' ModifyReservedInstancesResponse Int
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Constructor C1_0ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Data ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Data ModifySnapshotAttributeResponse
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Datatype D1ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Generic ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Selector S1_0_0ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Selector S1_0_1ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Selector S1_0_2ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Selector S1_0_3ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Selector S1_0_4ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Selector S1_0_5ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Selector S1_0_6ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Typeable ModifySnapshotAttribute
+ Network.AWS.EC2.ModifySnapshotAttribute: instance Typeable ModifySnapshotAttributeResponse
+ Network.AWS.EC2.ModifySubnetAttribute: instance Constructor C1_0ModifySubnetAttribute
+ Network.AWS.EC2.ModifySubnetAttribute: instance Data ModifySubnetAttribute
+ Network.AWS.EC2.ModifySubnetAttribute: instance Data ModifySubnetAttributeResponse
+ Network.AWS.EC2.ModifySubnetAttribute: instance Datatype D1ModifySubnetAttribute
+ Network.AWS.EC2.ModifySubnetAttribute: instance Generic ModifySubnetAttribute
+ Network.AWS.EC2.ModifySubnetAttribute: instance Selector S1_0_0ModifySubnetAttribute
+ Network.AWS.EC2.ModifySubnetAttribute: instance Selector S1_0_1ModifySubnetAttribute
+ Network.AWS.EC2.ModifySubnetAttribute: instance Typeable ModifySubnetAttribute
+ Network.AWS.EC2.ModifySubnetAttribute: instance Typeable ModifySubnetAttributeResponse
+ Network.AWS.EC2.ModifySubnetAttribute: msaMapPublicIPOnLaunch :: Lens' ModifySubnetAttribute (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.ModifyVPCAttribute: data ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: data ModifyVPCAttributeResponse
+ Network.AWS.EC2.ModifyVPCAttribute: instance AWSRequest ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Constructor C1_0ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Constructor C1_0ModifyVPCAttributeResponse
+ Network.AWS.EC2.ModifyVPCAttribute: instance Data ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Data ModifyVPCAttributeResponse
+ Network.AWS.EC2.ModifyVPCAttribute: instance Datatype D1ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Datatype D1ModifyVPCAttributeResponse
+ Network.AWS.EC2.ModifyVPCAttribute: instance Eq ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Eq ModifyVPCAttributeResponse
+ Network.AWS.EC2.ModifyVPCAttribute: instance Generic ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Generic ModifyVPCAttributeResponse
+ Network.AWS.EC2.ModifyVPCAttribute: instance Read ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Read ModifyVPCAttributeResponse
+ Network.AWS.EC2.ModifyVPCAttribute: instance Selector S1_0_0ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Selector S1_0_1ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Selector S1_0_2ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Show ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Show ModifyVPCAttributeResponse
+ Network.AWS.EC2.ModifyVPCAttribute: instance ToHeaders ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance ToPath ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance ToQuery ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Typeable ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: instance Typeable ModifyVPCAttributeResponse
+ Network.AWS.EC2.ModifyVPCAttribute: modifyVPCAttribute :: Text -> ModifyVPCAttribute
+ Network.AWS.EC2.ModifyVPCAttribute: modifyVPCAttributeResponse :: ModifyVPCAttributeResponse
+ Network.AWS.EC2.ModifyVPCAttribute: mvaEnableDNSHostnames :: Lens' ModifyVPCAttribute (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.ModifyVPCAttribute: mvaEnableDNSSupport :: Lens' ModifyVPCAttribute (Maybe AttributeBooleanValue)
+ Network.AWS.EC2.ModifyVPCAttribute: mvaVPCId :: Lens' ModifyVPCAttribute Text
+ Network.AWS.EC2.ModifyVPCEndpoint: data ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: data ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: instance AWSRequest ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Constructor C1_0ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Constructor C1_0ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Data ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Data ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Datatype D1ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Datatype D1ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Eq ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Eq ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Generic ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Generic ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Read ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Read ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Selector S1_0_0ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Selector S1_0_0ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Selector S1_0_1ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Selector S1_0_1ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Selector S1_0_2ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Selector S1_0_3ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Selector S1_0_4ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Selector S1_0_5ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Show ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Show ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: instance ToHeaders ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance ToPath ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance ToQuery ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Typeable ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: instance Typeable ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: modifyVPCEndpoint :: Text -> ModifyVPCEndpoint
+ Network.AWS.EC2.ModifyVPCEndpoint: modifyVPCEndpointResponse :: Int -> ModifyVPCEndpointResponse
+ Network.AWS.EC2.ModifyVPCEndpoint: mveAddRouteTableIds :: Lens' ModifyVPCEndpoint [Text]
+ Network.AWS.EC2.ModifyVPCEndpoint: mveDryRun :: Lens' ModifyVPCEndpoint (Maybe Bool)
+ Network.AWS.EC2.ModifyVPCEndpoint: mvePolicyDocument :: Lens' ModifyVPCEndpoint (Maybe Text)
+ Network.AWS.EC2.ModifyVPCEndpoint: mveRemoveRouteTableIds :: Lens' ModifyVPCEndpoint [Text]
+ Network.AWS.EC2.ModifyVPCEndpoint: mveResetPolicy :: Lens' ModifyVPCEndpoint (Maybe Bool)
+ Network.AWS.EC2.ModifyVPCEndpoint: mveVPCEndpointId :: Lens' ModifyVPCEndpoint Text
+ Network.AWS.EC2.ModifyVPCEndpoint: mversReturn :: Lens' ModifyVPCEndpointResponse (Maybe Bool)
+ Network.AWS.EC2.ModifyVPCEndpoint: mversStatus :: Lens' ModifyVPCEndpointResponse Int
+ Network.AWS.EC2.ModifyVolumeAttribute: instance Constructor C1_0ModifyVolumeAttribute
+ Network.AWS.EC2.ModifyVolumeAttribute: instance Data ModifyVolumeAttribute
+ Network.AWS.EC2.ModifyVolumeAttribute: instance Data ModifyVolumeAttributeResponse
+ Network.AWS.EC2.ModifyVolumeAttribute: instance Datatype D1ModifyVolumeAttribute
+ Network.AWS.EC2.ModifyVolumeAttribute: instance Generic ModifyVolumeAttribute
+ Network.AWS.EC2.ModifyVolumeAttribute: instance Selector S1_0_0ModifyVolumeAttribute
+ Network.AWS.EC2.ModifyVolumeAttribute: instance Selector S1_0_1ModifyVolumeAttribute
+ Network.AWS.EC2.ModifyVolumeAttribute: instance Selector S1_0_2ModifyVolumeAttribute
+ Network.AWS.EC2.ModifyVolumeAttribute: instance Typeable ModifyVolumeAttribute
+ Network.AWS.EC2.ModifyVolumeAttribute: instance Typeable ModifyVolumeAttributeResponse
+ Network.AWS.EC2.MonitorInstances: instance Constructor C1_0MonitorInstances
+ Network.AWS.EC2.MonitorInstances: instance Constructor C1_0MonitorInstancesResponse
+ Network.AWS.EC2.MonitorInstances: instance Data MonitorInstances
+ Network.AWS.EC2.MonitorInstances: instance Data MonitorInstancesResponse
+ Network.AWS.EC2.MonitorInstances: instance Datatype D1MonitorInstances
+ Network.AWS.EC2.MonitorInstances: instance Datatype D1MonitorInstancesResponse
+ Network.AWS.EC2.MonitorInstances: instance Generic MonitorInstances
+ Network.AWS.EC2.MonitorInstances: instance Generic MonitorInstancesResponse
+ Network.AWS.EC2.MonitorInstances: instance Selector S1_0_0MonitorInstances
+ Network.AWS.EC2.MonitorInstances: instance Selector S1_0_0MonitorInstancesResponse
+ Network.AWS.EC2.MonitorInstances: instance Selector S1_0_1MonitorInstances
+ Network.AWS.EC2.MonitorInstances: instance Selector S1_0_1MonitorInstancesResponse
+ Network.AWS.EC2.MonitorInstances: instance Typeable MonitorInstances
+ Network.AWS.EC2.MonitorInstances: instance Typeable MonitorInstancesResponse
+ Network.AWS.EC2.MonitorInstances: mirsInstanceMonitorings :: Lens' MonitorInstancesResponse [InstanceMonitoring]
+ Network.AWS.EC2.MonitorInstances: mirsStatus :: Lens' MonitorInstancesResponse Int
+ Network.AWS.EC2.MoveAddressToVPC: data MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: data MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: instance AWSRequest MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Constructor C1_0MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Constructor C1_0MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: instance Data MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Data MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: instance Datatype D1MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Datatype D1MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: instance Eq MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Eq MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: instance Generic MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Generic MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: instance Read MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Read MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: instance Selector S1_0_0MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Selector S1_0_0MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: instance Selector S1_0_1MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Selector S1_0_1MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: instance Show MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Show MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: instance ToHeaders MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance ToPath MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance ToQuery MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Typeable MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: instance Typeable MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: matvDryRun :: Lens' MoveAddressToVPC (Maybe Bool)
+ Network.AWS.EC2.MoveAddressToVPC: matvPublicIP :: Lens' MoveAddressToVPC Text
+ Network.AWS.EC2.MoveAddressToVPC: matvrsAllocationId :: Lens' MoveAddressToVPCResponse (Maybe Text)
+ Network.AWS.EC2.MoveAddressToVPC: matvrsStatus :: Lens' MoveAddressToVPCResponse Int
+ Network.AWS.EC2.MoveAddressToVPC: moveAddressToVPC :: Text -> MoveAddressToVPC
+ Network.AWS.EC2.MoveAddressToVPC: moveAddressToVPCResponse :: Int -> MoveAddressToVPCResponse
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Constructor C1_0PurchaseReservedInstancesOffering
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Constructor C1_0PurchaseReservedInstancesOfferingResponse
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Data PurchaseReservedInstancesOffering
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Data PurchaseReservedInstancesOfferingResponse
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Datatype D1PurchaseReservedInstancesOffering
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Datatype D1PurchaseReservedInstancesOfferingResponse
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Generic PurchaseReservedInstancesOffering
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Generic PurchaseReservedInstancesOfferingResponse
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Selector S1_0_0PurchaseReservedInstancesOffering
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Selector S1_0_0PurchaseReservedInstancesOfferingResponse
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Selector S1_0_1PurchaseReservedInstancesOffering
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Selector S1_0_1PurchaseReservedInstancesOfferingResponse
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Selector S1_0_2PurchaseReservedInstancesOffering
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Selector S1_0_3PurchaseReservedInstancesOffering
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Typeable PurchaseReservedInstancesOffering
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: instance Typeable PurchaseReservedInstancesOfferingResponse
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: priorsReservedInstancesId :: Lens' PurchaseReservedInstancesOfferingResponse (Maybe Text)
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: priorsStatus :: Lens' PurchaseReservedInstancesOfferingResponse Int
+ Network.AWS.EC2.RebootInstances: instance Constructor C1_0RebootInstances
+ Network.AWS.EC2.RebootInstances: instance Data RebootInstances
+ Network.AWS.EC2.RebootInstances: instance Data RebootInstancesResponse
+ Network.AWS.EC2.RebootInstances: instance Datatype D1RebootInstances
+ Network.AWS.EC2.RebootInstances: instance Generic RebootInstances
+ Network.AWS.EC2.RebootInstances: instance Selector S1_0_0RebootInstances
+ Network.AWS.EC2.RebootInstances: instance Selector S1_0_1RebootInstances
+ Network.AWS.EC2.RebootInstances: instance Typeable RebootInstances
+ Network.AWS.EC2.RebootInstances: instance Typeable RebootInstancesResponse
+ Network.AWS.EC2.RebootInstances: rebDryRun :: Lens' RebootInstances (Maybe Bool)
+ Network.AWS.EC2.RebootInstances: rebInstanceIds :: Lens' RebootInstances [Text]
+ Network.AWS.EC2.RegisterImage: instance Constructor C1_0RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Constructor C1_0RegisterImageResponse
+ Network.AWS.EC2.RegisterImage: instance Data RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Data RegisterImageResponse
+ Network.AWS.EC2.RegisterImage: instance Datatype D1RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Datatype D1RegisterImageResponse
+ Network.AWS.EC2.RegisterImage: instance Generic RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Generic RegisterImageResponse
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_0RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_0RegisterImageResponse
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_10RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_1RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_1RegisterImageResponse
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_2RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_3RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_4RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_5RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_6RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_7RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_8RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Selector S1_0_9RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Typeable RegisterImage
+ Network.AWS.EC2.RegisterImage: instance Typeable RegisterImageResponse
+ Network.AWS.EC2.RegisterImage: riArchitecture :: Lens' RegisterImage (Maybe ArchitectureValues)
+ Network.AWS.EC2.RegisterImage: riBlockDeviceMappings :: Lens' RegisterImage [BlockDeviceMapping]
+ Network.AWS.EC2.RegisterImage: riDescription :: Lens' RegisterImage (Maybe Text)
+ Network.AWS.EC2.RegisterImage: riDryRun :: Lens' RegisterImage (Maybe Bool)
+ Network.AWS.EC2.RegisterImage: riImageLocation :: Lens' RegisterImage (Maybe Text)
+ Network.AWS.EC2.RegisterImage: riKernelId :: Lens' RegisterImage (Maybe Text)
+ Network.AWS.EC2.RegisterImage: riName :: Lens' RegisterImage Text
+ Network.AWS.EC2.RegisterImage: riRAMDiskId :: Lens' RegisterImage (Maybe Text)
+ Network.AWS.EC2.RegisterImage: riRootDeviceName :: Lens' RegisterImage (Maybe Text)
+ Network.AWS.EC2.RegisterImage: riSRIOVNetSupport :: Lens' RegisterImage (Maybe Text)
+ Network.AWS.EC2.RegisterImage: riVirtualizationType :: Lens' RegisterImage (Maybe Text)
+ Network.AWS.EC2.RegisterImage: rirsImageId :: Lens' RegisterImageResponse (Maybe Text)
+ Network.AWS.EC2.RegisterImage: rirsStatus :: Lens' RegisterImageResponse Int
+ Network.AWS.EC2.RejectVPCPeeringConnection: data RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: data RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance AWSRequest RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Constructor C1_0RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Constructor C1_0RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Data RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Data RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Datatype D1RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Datatype D1RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Eq RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Eq RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Generic RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Generic RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Read RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Read RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Selector S1_0_0RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Selector S1_0_0RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Selector S1_0_1RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Selector S1_0_1RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Show RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Show RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance ToHeaders RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance ToPath RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance ToQuery RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Typeable RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: instance Typeable RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: rejectVPCPeeringConnection :: Text -> RejectVPCPeeringConnection
+ Network.AWS.EC2.RejectVPCPeeringConnection: rejectVPCPeeringConnectionResponse :: Int -> RejectVPCPeeringConnectionResponse
+ Network.AWS.EC2.RejectVPCPeeringConnection: rvpcDryRun :: Lens' RejectVPCPeeringConnection (Maybe Bool)
+ Network.AWS.EC2.RejectVPCPeeringConnection: rvpcVPCPeeringConnectionId :: Lens' RejectVPCPeeringConnection Text
+ Network.AWS.EC2.RejectVPCPeeringConnection: rvpcrsReturn :: Lens' RejectVPCPeeringConnectionResponse (Maybe Bool)
+ Network.AWS.EC2.RejectVPCPeeringConnection: rvpcrsStatus :: Lens' RejectVPCPeeringConnectionResponse Int
+ Network.AWS.EC2.ReleaseAddress: instance Constructor C1_0ReleaseAddress
+ Network.AWS.EC2.ReleaseAddress: instance Data ReleaseAddress
+ Network.AWS.EC2.ReleaseAddress: instance Data ReleaseAddressResponse
+ Network.AWS.EC2.ReleaseAddress: instance Datatype D1ReleaseAddress
+ Network.AWS.EC2.ReleaseAddress: instance Generic ReleaseAddress
+ Network.AWS.EC2.ReleaseAddress: instance Selector S1_0_0ReleaseAddress
+ Network.AWS.EC2.ReleaseAddress: instance Selector S1_0_1ReleaseAddress
+ Network.AWS.EC2.ReleaseAddress: instance Selector S1_0_2ReleaseAddress
+ Network.AWS.EC2.ReleaseAddress: instance Typeable ReleaseAddress
+ Network.AWS.EC2.ReleaseAddress: instance Typeable ReleaseAddressResponse
+ Network.AWS.EC2.ReleaseAddress: raPublicIP :: Lens' ReleaseAddress (Maybe Text)
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: data ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: data ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance AWSRequest ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Constructor C1_0ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Constructor C1_0ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Data ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Data ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Datatype D1ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Datatype D1ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Eq ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Eq ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Generic ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Generic ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Read ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Read ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Selector S1_0_0ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Selector S1_0_0ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Selector S1_0_1ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Selector S1_0_1ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Selector S1_0_2ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Show ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Show ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance ToHeaders ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance ToPath ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance ToQuery ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Typeable ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: instance Typeable ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: replaceNetworkACLAssociation :: Text -> Text -> ReplaceNetworkACLAssociation
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: replaceNetworkACLAssociationResponse :: Int -> ReplaceNetworkACLAssociationResponse
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: rnaaAssociationId :: Lens' ReplaceNetworkACLAssociation Text
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: rnaaDryRun :: Lens' ReplaceNetworkACLAssociation (Maybe Bool)
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: rnaaNetworkACLId :: Lens' ReplaceNetworkACLAssociation Text
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: rnaarsNewAssociationId :: Lens' ReplaceNetworkACLAssociationResponse (Maybe Text)
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: rnaarsStatus :: Lens' ReplaceNetworkACLAssociationResponse Int
+ Network.AWS.EC2.ReplaceNetworkACLEntry: data ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: data ReplaceNetworkACLEntryResponse
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance AWSRequest ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Constructor C1_0ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Constructor C1_0ReplaceNetworkACLEntryResponse
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Data ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Data ReplaceNetworkACLEntryResponse
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Datatype D1ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Datatype D1ReplaceNetworkACLEntryResponse
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Eq ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Eq ReplaceNetworkACLEntryResponse
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Generic ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Generic ReplaceNetworkACLEntryResponse
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Read ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Read ReplaceNetworkACLEntryResponse
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Selector S1_0_0ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Selector S1_0_1ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Selector S1_0_2ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Selector S1_0_3ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Selector S1_0_4ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Selector S1_0_5ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Selector S1_0_6ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Selector S1_0_7ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Selector S1_0_8ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Show ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Show ReplaceNetworkACLEntryResponse
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance ToHeaders ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance ToPath ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance ToQuery ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Typeable ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: instance Typeable ReplaceNetworkACLEntryResponse
+ Network.AWS.EC2.ReplaceNetworkACLEntry: replaceNetworkACLEntry :: Text -> Int -> Text -> RuleAction -> Bool -> Text -> ReplaceNetworkACLEntry
+ Network.AWS.EC2.ReplaceNetworkACLEntry: replaceNetworkACLEntryResponse :: ReplaceNetworkACLEntryResponse
+ Network.AWS.EC2.ReplaceNetworkACLEntry: rnaeCIdRBlock :: Lens' ReplaceNetworkACLEntry Text
+ Network.AWS.EC2.ReplaceNetworkACLEntry: rnaeDryRun :: Lens' ReplaceNetworkACLEntry (Maybe Bool)
+ Network.AWS.EC2.ReplaceNetworkACLEntry: rnaeEgress :: Lens' ReplaceNetworkACLEntry Bool
+ Network.AWS.EC2.ReplaceNetworkACLEntry: rnaeICMPTypeCode :: Lens' ReplaceNetworkACLEntry (Maybe ICMPTypeCode)
+ Network.AWS.EC2.ReplaceNetworkACLEntry: rnaeNetworkACLId :: Lens' ReplaceNetworkACLEntry Text
+ Network.AWS.EC2.ReplaceNetworkACLEntry: rnaePortRange :: Lens' ReplaceNetworkACLEntry (Maybe PortRange)
+ Network.AWS.EC2.ReplaceNetworkACLEntry: rnaeProtocol :: Lens' ReplaceNetworkACLEntry Text
+ Network.AWS.EC2.ReplaceNetworkACLEntry: rnaeRuleAction :: Lens' ReplaceNetworkACLEntry RuleAction
+ Network.AWS.EC2.ReplaceNetworkACLEntry: rnaeRuleNumber :: Lens' ReplaceNetworkACLEntry Int
+ Network.AWS.EC2.ReplaceRoute: instance Constructor C1_0ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Data ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Data ReplaceRouteResponse
+ Network.AWS.EC2.ReplaceRoute: instance Datatype D1ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Generic ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Selector S1_0_0ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Selector S1_0_1ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Selector S1_0_2ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Selector S1_0_3ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Selector S1_0_4ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Selector S1_0_5ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Selector S1_0_6ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Typeable ReplaceRoute
+ Network.AWS.EC2.ReplaceRoute: instance Typeable ReplaceRouteResponse
+ Network.AWS.EC2.ReplaceRoute: rrDestinationCIdRBlock :: Lens' ReplaceRoute Text
+ Network.AWS.EC2.ReplaceRoute: rrVPCPeeringConnectionId :: Lens' ReplaceRoute (Maybe Text)
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Constructor C1_0ReplaceRouteTableAssociation
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Constructor C1_0ReplaceRouteTableAssociationResponse
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Data ReplaceRouteTableAssociation
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Data ReplaceRouteTableAssociationResponse
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Datatype D1ReplaceRouteTableAssociation
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Datatype D1ReplaceRouteTableAssociationResponse
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Generic ReplaceRouteTableAssociation
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Generic ReplaceRouteTableAssociationResponse
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Selector S1_0_0ReplaceRouteTableAssociation
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Selector S1_0_0ReplaceRouteTableAssociationResponse
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Selector S1_0_1ReplaceRouteTableAssociation
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Selector S1_0_1ReplaceRouteTableAssociationResponse
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Selector S1_0_2ReplaceRouteTableAssociation
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Typeable ReplaceRouteTableAssociation
+ Network.AWS.EC2.ReplaceRouteTableAssociation: instance Typeable ReplaceRouteTableAssociationResponse
+ Network.AWS.EC2.ReplaceRouteTableAssociation: rrtarsNewAssociationId :: Lens' ReplaceRouteTableAssociationResponse (Maybe Text)
+ Network.AWS.EC2.ReplaceRouteTableAssociation: rrtarsStatus :: Lens' ReplaceRouteTableAssociationResponse Int
+ Network.AWS.EC2.ReportInstanceStatus: instance Constructor C1_0ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Data ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Data ReportInstanceStatusResponse
+ Network.AWS.EC2.ReportInstanceStatus: instance Datatype D1ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Generic ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Selector S1_0_0ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Selector S1_0_1ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Selector S1_0_2ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Selector S1_0_3ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Selector S1_0_4ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Selector S1_0_5ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Selector S1_0_6ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Typeable ReportInstanceStatus
+ Network.AWS.EC2.ReportInstanceStatus: instance Typeable ReportInstanceStatusResponse
+ Network.AWS.EC2.RequestSpotFleet: instance Constructor C1_0RequestSpotFleet
+ Network.AWS.EC2.RequestSpotFleet: instance Constructor C1_0RequestSpotFleetResponse
+ Network.AWS.EC2.RequestSpotFleet: instance Data RequestSpotFleet
+ Network.AWS.EC2.RequestSpotFleet: instance Data RequestSpotFleetResponse
+ Network.AWS.EC2.RequestSpotFleet: instance Datatype D1RequestSpotFleet
+ Network.AWS.EC2.RequestSpotFleet: instance Datatype D1RequestSpotFleetResponse
+ Network.AWS.EC2.RequestSpotFleet: instance Generic RequestSpotFleet
+ Network.AWS.EC2.RequestSpotFleet: instance Generic RequestSpotFleetResponse
+ Network.AWS.EC2.RequestSpotFleet: instance Selector S1_0_0RequestSpotFleet
+ Network.AWS.EC2.RequestSpotFleet: instance Selector S1_0_0RequestSpotFleetResponse
+ Network.AWS.EC2.RequestSpotFleet: instance Selector S1_0_1RequestSpotFleet
+ Network.AWS.EC2.RequestSpotFleet: instance Selector S1_0_1RequestSpotFleetResponse
+ Network.AWS.EC2.RequestSpotFleet: instance Typeable RequestSpotFleet
+ Network.AWS.EC2.RequestSpotFleet: instance Typeable RequestSpotFleetResponse
+ Network.AWS.EC2.RequestSpotFleet: rsfrsSpotFleetRequestId :: Lens' RequestSpotFleetResponse Text
+ Network.AWS.EC2.RequestSpotFleet: rsfrsStatus :: Lens' RequestSpotFleetResponse Int
+ Network.AWS.EC2.RequestSpotInstances: instance Constructor C1_0RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Constructor C1_0RequestSpotInstancesResponse
+ Network.AWS.EC2.RequestSpotInstances: instance Data RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Data RequestSpotInstancesResponse
+ Network.AWS.EC2.RequestSpotInstances: instance Datatype D1RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Datatype D1RequestSpotInstancesResponse
+ Network.AWS.EC2.RequestSpotInstances: instance Generic RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Generic RequestSpotInstancesResponse
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_0RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_0RequestSpotInstancesResponse
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_1RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_1RequestSpotInstancesResponse
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_2RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_3RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_4RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_5RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_6RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_7RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_8RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Selector S1_0_9RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Typeable RequestSpotInstances
+ Network.AWS.EC2.RequestSpotInstances: instance Typeable RequestSpotInstancesResponse
+ Network.AWS.EC2.RequestSpotInstances: rsirsSpotInstanceRequests :: Lens' RequestSpotInstancesResponse [SpotInstanceRequest]
+ Network.AWS.EC2.RequestSpotInstances: rsirsStatus :: Lens' RequestSpotInstancesResponse Int
+ Network.AWS.EC2.ResetImageAttribute: instance Constructor C1_0ResetImageAttribute
+ Network.AWS.EC2.ResetImageAttribute: instance Data ResetImageAttribute
+ Network.AWS.EC2.ResetImageAttribute: instance Data ResetImageAttributeResponse
+ Network.AWS.EC2.ResetImageAttribute: instance Datatype D1ResetImageAttribute
+ Network.AWS.EC2.ResetImageAttribute: instance Generic ResetImageAttribute
+ Network.AWS.EC2.ResetImageAttribute: instance Selector S1_0_0ResetImageAttribute
+ Network.AWS.EC2.ResetImageAttribute: instance Selector S1_0_1ResetImageAttribute
+ Network.AWS.EC2.ResetImageAttribute: instance Selector S1_0_2ResetImageAttribute
+ Network.AWS.EC2.ResetImageAttribute: instance Typeable ResetImageAttribute
+ Network.AWS.EC2.ResetImageAttribute: instance Typeable ResetImageAttributeResponse
+ Network.AWS.EC2.ResetImageAttribute: resAttribute :: Lens' ResetImageAttribute ResetImageAttributeName
+ Network.AWS.EC2.ResetImageAttribute: resDryRun :: Lens' ResetImageAttribute (Maybe Bool)
+ Network.AWS.EC2.ResetImageAttribute: resImageId :: Lens' ResetImageAttribute Text
+ Network.AWS.EC2.ResetInstanceAttribute: instance Constructor C1_0ResetInstanceAttribute
+ Network.AWS.EC2.ResetInstanceAttribute: instance Data ResetInstanceAttribute
+ Network.AWS.EC2.ResetInstanceAttribute: instance Data ResetInstanceAttributeResponse
+ Network.AWS.EC2.ResetInstanceAttribute: instance Datatype D1ResetInstanceAttribute
+ Network.AWS.EC2.ResetInstanceAttribute: instance Generic ResetInstanceAttribute
+ Network.AWS.EC2.ResetInstanceAttribute: instance Selector S1_0_0ResetInstanceAttribute
+ Network.AWS.EC2.ResetInstanceAttribute: instance Selector S1_0_1ResetInstanceAttribute
+ Network.AWS.EC2.ResetInstanceAttribute: instance Selector S1_0_2ResetInstanceAttribute
+ Network.AWS.EC2.ResetInstanceAttribute: instance Typeable ResetInstanceAttribute
+ Network.AWS.EC2.ResetInstanceAttribute: instance Typeable ResetInstanceAttributeResponse
+ Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Constructor C1_0ResetNetworkInterfaceAttribute
+ Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Data ResetNetworkInterfaceAttribute
+ Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Data ResetNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Datatype D1ResetNetworkInterfaceAttribute
+ Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Generic ResetNetworkInterfaceAttribute
+ Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Selector S1_0_0ResetNetworkInterfaceAttribute
+ Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Selector S1_0_1ResetNetworkInterfaceAttribute
+ Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Selector S1_0_2ResetNetworkInterfaceAttribute
+ Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Typeable ResetNetworkInterfaceAttribute
+ Network.AWS.EC2.ResetNetworkInterfaceAttribute: instance Typeable ResetNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.ResetSnapshotAttribute: instance Constructor C1_0ResetSnapshotAttribute
+ Network.AWS.EC2.ResetSnapshotAttribute: instance Data ResetSnapshotAttribute
+ Network.AWS.EC2.ResetSnapshotAttribute: instance Data ResetSnapshotAttributeResponse
+ Network.AWS.EC2.ResetSnapshotAttribute: instance Datatype D1ResetSnapshotAttribute
+ Network.AWS.EC2.ResetSnapshotAttribute: instance Generic ResetSnapshotAttribute
+ Network.AWS.EC2.ResetSnapshotAttribute: instance Selector S1_0_0ResetSnapshotAttribute
+ Network.AWS.EC2.ResetSnapshotAttribute: instance Selector S1_0_1ResetSnapshotAttribute
+ Network.AWS.EC2.ResetSnapshotAttribute: instance Selector S1_0_2ResetSnapshotAttribute
+ Network.AWS.EC2.ResetSnapshotAttribute: instance Typeable ResetSnapshotAttribute
+ Network.AWS.EC2.ResetSnapshotAttribute: instance Typeable ResetSnapshotAttributeResponse
+ Network.AWS.EC2.RestoreAddressToClassic: instance Constructor C1_0RestoreAddressToClassic
+ Network.AWS.EC2.RestoreAddressToClassic: instance Constructor C1_0RestoreAddressToClassicResponse
+ Network.AWS.EC2.RestoreAddressToClassic: instance Data RestoreAddressToClassic
+ Network.AWS.EC2.RestoreAddressToClassic: instance Data RestoreAddressToClassicResponse
+ Network.AWS.EC2.RestoreAddressToClassic: instance Datatype D1RestoreAddressToClassic
+ Network.AWS.EC2.RestoreAddressToClassic: instance Datatype D1RestoreAddressToClassicResponse
+ Network.AWS.EC2.RestoreAddressToClassic: instance Generic RestoreAddressToClassic
+ Network.AWS.EC2.RestoreAddressToClassic: instance Generic RestoreAddressToClassicResponse
+ Network.AWS.EC2.RestoreAddressToClassic: instance Selector S1_0_0RestoreAddressToClassic
+ Network.AWS.EC2.RestoreAddressToClassic: instance Selector S1_0_0RestoreAddressToClassicResponse
+ Network.AWS.EC2.RestoreAddressToClassic: instance Selector S1_0_1RestoreAddressToClassic
+ Network.AWS.EC2.RestoreAddressToClassic: instance Selector S1_0_1RestoreAddressToClassicResponse
+ Network.AWS.EC2.RestoreAddressToClassic: instance Typeable RestoreAddressToClassic
+ Network.AWS.EC2.RestoreAddressToClassic: instance Typeable RestoreAddressToClassicResponse
+ Network.AWS.EC2.RestoreAddressToClassic: ratcPublicIP :: Lens' RestoreAddressToClassic Text
+ Network.AWS.EC2.RestoreAddressToClassic: ratcrsPublicIP :: Lens' RestoreAddressToClassicResponse (Maybe Text)
+ Network.AWS.EC2.RestoreAddressToClassic: ratcrsStatus :: Lens' RestoreAddressToClassicResponse Int
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Constructor C1_0RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Data RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Data RevokeSecurityGroupEgressResponse
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Datatype D1RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Generic RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Selector S1_0_0RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Selector S1_0_1RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Selector S1_0_2RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Selector S1_0_3RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Selector S1_0_4RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Selector S1_0_5RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Selector S1_0_6RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Selector S1_0_7RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Selector S1_0_8RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Typeable RevokeSecurityGroupEgress
+ Network.AWS.EC2.RevokeSecurityGroupEgress: instance Typeable RevokeSecurityGroupEgressResponse
+ Network.AWS.EC2.RevokeSecurityGroupEgress: rsgeCIdRIP :: Lens' RevokeSecurityGroupEgress (Maybe Text)
+ Network.AWS.EC2.RevokeSecurityGroupEgress: rsgeIPPermissions :: Lens' RevokeSecurityGroupEgress [IPPermission]
+ Network.AWS.EC2.RevokeSecurityGroupEgress: rsgeIPProtocol :: Lens' RevokeSecurityGroupEgress (Maybe Text)
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Constructor C1_0RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Data RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Data RevokeSecurityGroupIngressResponse
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Datatype D1RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Generic RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Selector S1_0_0RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Selector S1_0_1RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Selector S1_0_2RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Selector S1_0_3RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Selector S1_0_4RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Selector S1_0_5RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Selector S1_0_6RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Selector S1_0_7RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Selector S1_0_8RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Selector S1_0_9RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Typeable RevokeSecurityGroupIngress
+ Network.AWS.EC2.RevokeSecurityGroupIngress: instance Typeable RevokeSecurityGroupIngressResponse
+ Network.AWS.EC2.RevokeSecurityGroupIngress: rsgiCIdRIP :: Lens' RevokeSecurityGroupIngress (Maybe Text)
+ Network.AWS.EC2.RevokeSecurityGroupIngress: rsgiIPPermissions :: Lens' RevokeSecurityGroupIngress [IPPermission]
+ Network.AWS.EC2.RevokeSecurityGroupIngress: rsgiIPProtocol :: Lens' RevokeSecurityGroupIngress (Maybe Text)
+ Network.AWS.EC2.RunInstances: data Reservation
+ Network.AWS.EC2.RunInstances: instance Constructor C1_0RunInstances
+ Network.AWS.EC2.RunInstances: instance Data RunInstances
+ Network.AWS.EC2.RunInstances: instance Datatype D1RunInstances
+ Network.AWS.EC2.RunInstances: instance Generic RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_0RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_10RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_11RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_12RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_13RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_14RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_15RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_16RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_17RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_18RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_19RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_1RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_20RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_21RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_22RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_2RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_3RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_4RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_5RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_6RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_7RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_8RunInstances
+ Network.AWS.EC2.RunInstances: instance Selector S1_0_9RunInstances
+ Network.AWS.EC2.RunInstances: instance Typeable RunInstances
+ Network.AWS.EC2.RunInstances: rAdditionalInfo :: Lens' RunInstances (Maybe Text)
+ Network.AWS.EC2.RunInstances: rBlockDeviceMappings :: Lens' RunInstances [BlockDeviceMapping]
+ Network.AWS.EC2.RunInstances: rClientToken :: Lens' RunInstances (Maybe Text)
+ Network.AWS.EC2.RunInstances: rDisableAPITermination :: Lens' RunInstances (Maybe Bool)
+ Network.AWS.EC2.RunInstances: rDryRun :: Lens' RunInstances (Maybe Bool)
+ Network.AWS.EC2.RunInstances: rEBSOptimized :: Lens' RunInstances (Maybe Bool)
+ Network.AWS.EC2.RunInstances: rGroups :: Lens' Reservation [GroupIdentifier]
+ Network.AWS.EC2.RunInstances: rIAMInstanceProfile :: Lens' RunInstances (Maybe IAMInstanceProfileSpecification)
+ Network.AWS.EC2.RunInstances: rImageId :: Lens' RunInstances Text
+ Network.AWS.EC2.RunInstances: rInstanceInitiatedShutdownBehavior :: Lens' RunInstances (Maybe ShutdownBehavior)
+ Network.AWS.EC2.RunInstances: rInstanceType :: Lens' RunInstances (Maybe InstanceType)
+ Network.AWS.EC2.RunInstances: rInstances :: Lens' Reservation [Instance]
+ Network.AWS.EC2.RunInstances: rKernelId :: Lens' RunInstances (Maybe Text)
+ Network.AWS.EC2.RunInstances: rKeyName :: Lens' RunInstances (Maybe Text)
+ Network.AWS.EC2.RunInstances: rMaxCount :: Lens' RunInstances Int
+ Network.AWS.EC2.RunInstances: rMinCount :: Lens' RunInstances Int
+ Network.AWS.EC2.RunInstances: rMonitoring :: Lens' RunInstances (Maybe RunInstancesMonitoringEnabled)
+ Network.AWS.EC2.RunInstances: rNetworkInterfaces :: Lens' RunInstances [InstanceNetworkInterfaceSpecification]
+ Network.AWS.EC2.RunInstances: rOwnerId :: Lens' Reservation Text
+ Network.AWS.EC2.RunInstances: rPlacement :: Lens' RunInstances (Maybe Placement)
+ Network.AWS.EC2.RunInstances: rPrivateIPAddress :: Lens' RunInstances (Maybe Text)
+ Network.AWS.EC2.RunInstances: rRAMDiskId :: Lens' RunInstances (Maybe Text)
+ Network.AWS.EC2.RunInstances: rRequesterId :: Lens' Reservation (Maybe Text)
+ Network.AWS.EC2.RunInstances: rReservationId :: Lens' Reservation Text
+ Network.AWS.EC2.RunInstances: rSecurityGroupIds :: Lens' RunInstances [Text]
+ Network.AWS.EC2.RunInstances: rSecurityGroups :: Lens' RunInstances [Text]
+ Network.AWS.EC2.RunInstances: rSubnetId :: Lens' RunInstances (Maybe Text)
+ Network.AWS.EC2.RunInstances: rUserData :: Lens' RunInstances (Maybe Text)
+ Network.AWS.EC2.RunInstances: reservation :: Text -> Text -> Reservation
+ Network.AWS.EC2.StartInstances: instance Constructor C1_0StartInstances
+ Network.AWS.EC2.StartInstances: instance Constructor C1_0StartInstancesResponse
+ Network.AWS.EC2.StartInstances: instance Data StartInstances
+ Network.AWS.EC2.StartInstances: instance Data StartInstancesResponse
+ Network.AWS.EC2.StartInstances: instance Datatype D1StartInstances
+ Network.AWS.EC2.StartInstances: instance Datatype D1StartInstancesResponse
+ Network.AWS.EC2.StartInstances: instance Generic StartInstances
+ Network.AWS.EC2.StartInstances: instance Generic StartInstancesResponse
+ Network.AWS.EC2.StartInstances: instance Selector S1_0_0StartInstances
+ Network.AWS.EC2.StartInstances: instance Selector S1_0_0StartInstancesResponse
+ Network.AWS.EC2.StartInstances: instance Selector S1_0_1StartInstances
+ Network.AWS.EC2.StartInstances: instance Selector S1_0_1StartInstancesResponse
+ Network.AWS.EC2.StartInstances: instance Selector S1_0_2StartInstances
+ Network.AWS.EC2.StartInstances: instance Typeable StartInstances
+ Network.AWS.EC2.StartInstances: instance Typeable StartInstancesResponse
+ Network.AWS.EC2.StartInstances: sAdditionalInfo :: Lens' StartInstances (Maybe Text)
+ Network.AWS.EC2.StartInstances: sDryRun :: Lens' StartInstances (Maybe Bool)
+ Network.AWS.EC2.StartInstances: sInstanceIds :: Lens' StartInstances [Text]
+ Network.AWS.EC2.StartInstances: srsStartingInstances :: Lens' StartInstancesResponse [InstanceStateChange]
+ Network.AWS.EC2.StartInstances: srsStatus :: Lens' StartInstancesResponse Int
+ Network.AWS.EC2.StopInstances: instance Constructor C1_0StopInstances
+ Network.AWS.EC2.StopInstances: instance Constructor C1_0StopInstancesResponse
+ Network.AWS.EC2.StopInstances: instance Data StopInstances
+ Network.AWS.EC2.StopInstances: instance Data StopInstancesResponse
+ Network.AWS.EC2.StopInstances: instance Datatype D1StopInstances
+ Network.AWS.EC2.StopInstances: instance Datatype D1StopInstancesResponse
+ Network.AWS.EC2.StopInstances: instance Generic StopInstances
+ Network.AWS.EC2.StopInstances: instance Generic StopInstancesResponse
+ Network.AWS.EC2.StopInstances: instance Selector S1_0_0StopInstances
+ Network.AWS.EC2.StopInstances: instance Selector S1_0_0StopInstancesResponse
+ Network.AWS.EC2.StopInstances: instance Selector S1_0_1StopInstances
+ Network.AWS.EC2.StopInstances: instance Selector S1_0_1StopInstancesResponse
+ Network.AWS.EC2.StopInstances: instance Selector S1_0_2StopInstances
+ Network.AWS.EC2.StopInstances: instance Typeable StopInstances
+ Network.AWS.EC2.StopInstances: instance Typeable StopInstancesResponse
+ Network.AWS.EC2.StopInstances: sirsStatus :: Lens' StopInstancesResponse Int
+ Network.AWS.EC2.StopInstances: sirsStoppingInstances :: Lens' StopInstancesResponse [InstanceStateChange]
+ Network.AWS.EC2.TerminateInstances: instance Constructor C1_0TerminateInstances
+ Network.AWS.EC2.TerminateInstances: instance Constructor C1_0TerminateInstancesResponse
+ Network.AWS.EC2.TerminateInstances: instance Data TerminateInstances
+ Network.AWS.EC2.TerminateInstances: instance Data TerminateInstancesResponse
+ Network.AWS.EC2.TerminateInstances: instance Datatype D1TerminateInstances
+ Network.AWS.EC2.TerminateInstances: instance Datatype D1TerminateInstancesResponse
+ Network.AWS.EC2.TerminateInstances: instance Generic TerminateInstances
+ Network.AWS.EC2.TerminateInstances: instance Generic TerminateInstancesResponse
+ Network.AWS.EC2.TerminateInstances: instance Selector S1_0_0TerminateInstances
+ Network.AWS.EC2.TerminateInstances: instance Selector S1_0_0TerminateInstancesResponse
+ Network.AWS.EC2.TerminateInstances: instance Selector S1_0_1TerminateInstances
+ Network.AWS.EC2.TerminateInstances: instance Selector S1_0_1TerminateInstancesResponse
+ Network.AWS.EC2.TerminateInstances: instance Typeable TerminateInstances
+ Network.AWS.EC2.TerminateInstances: instance Typeable TerminateInstancesResponse
+ Network.AWS.EC2.TerminateInstances: tirsStatus :: Lens' TerminateInstancesResponse Int
+ Network.AWS.EC2.TerminateInstances: tirsTerminatingInstances :: Lens' TerminateInstancesResponse [InstanceStateChange]
+ Network.AWS.EC2.Types: Accept :: TrafficType
+ Network.AWS.EC2.Types: BSActive :: BatchState
+ Network.AWS.EC2.Types: BSCancelled :: BatchState
+ Network.AWS.EC2.Types: BSCancelledRunning :: BatchState
+ Network.AWS.EC2.Types: BSCancelledTerminating :: BatchState
+ Network.AWS.EC2.Types: BSFailed :: BatchState
+ Network.AWS.EC2.Types: BSSubmitted :: BatchState
+ Network.AWS.EC2.Types: BlockDeviceMapping :: ImageAttributeName
+ Network.AWS.EC2.Types: CreateRoute :: RouteOrigin
+ Network.AWS.EC2.Types: CreateRouteTable :: RouteOrigin
+ Network.AWS.EC2.Types: CustomerGateway :: ResourceType
+ Network.AWS.EC2.Types: DHCPOptions :: ResourceType
+ Network.AWS.EC2.Types: DTVPC :: DomainType
+ Network.AWS.EC2.Types: Default :: Tenancy
+ Network.AWS.EC2.Types: DefaultVPC :: AccountAttributeName
+ Network.AWS.EC2.Types: EBS :: DeviceType
+ Network.AWS.EC2.Types: EnableDNSHostnames :: VPCAttributeName
+ Network.AWS.EC2.Types: EnableDNSSupport :: VPCAttributeName
+ Network.AWS.EC2.Types: EnableVGWRoutePropagation :: RouteOrigin
+ Network.AWS.EC2.Types: Error' :: EventType
+ Network.AWS.EC2.Types: FLRTNetworkInterface :: FlowLogsResourceType
+ Network.AWS.EC2.Types: FLRTSubnet :: FlowLogsResourceType
+ Network.AWS.EC2.Types: FLRTVPC :: FlowLogsResourceType
+ Network.AWS.EC2.Types: GP2 :: VolumeType
+ Network.AWS.EC2.Types: HVM :: VirtualizationType
+ Network.AWS.EC2.Types: IANBlockDeviceMapping :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANDisableAPITermination :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANEBSOptimized :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANGroupSet :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANInstanceInitiatedShutdownBehavior :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANInstanceType :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANKernel :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANProductCodes :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANRAMDisk :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANRootDeviceName :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANSRIOVNetSupport :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANSourceDestCheck :: InstanceAttributeName
+ Network.AWS.EC2.Types: IANUserData :: InstanceAttributeName
+ Network.AWS.EC2.Types: IO1 :: VolumeType
+ Network.AWS.EC2.Types: IOEnabled :: VolumeStatusName
+ Network.AWS.EC2.Types: IOPerformance :: VolumeStatusName
+ Network.AWS.EC2.Types: IPsec_1 :: GatewayType
+ Network.AWS.EC2.Types: ISError' :: ImageState
+ Network.AWS.EC2.Types: ITVKernel :: ImageTypeValues
+ Network.AWS.EC2.Types: ITVMachine :: ImageTypeValues
+ Network.AWS.EC2.Types: ITVRAMDisk :: ImageTypeValues
+ Network.AWS.EC2.Types: Image :: ResourceType
+ Network.AWS.EC2.Types: InVPC :: AddressStatus
+ Network.AWS.EC2.Types: Initializing :: StatusType
+ Network.AWS.EC2.Types: Instance :: ResourceType
+ Network.AWS.EC2.Types: InsufficientData :: StatusType
+ Network.AWS.EC2.Types: InternetGateway :: ResourceType
+ Network.AWS.EC2.Types: LAvailable :: ListingState
+ Network.AWS.EC2.Types: LCancelled :: ListingState
+ Network.AWS.EC2.Types: LPending :: ListingState
+ Network.AWS.EC2.Types: LSActive :: ListingStatus
+ Network.AWS.EC2.Types: LSClosed :: ListingStatus
+ Network.AWS.EC2.Types: LSold :: ListingState
+ Network.AWS.EC2.Types: LaunchPermission :: ImageAttributeName
+ Network.AWS.EC2.Types: LinuxUnix :: RIProductDescription
+ Network.AWS.EC2.Types: LinuxUnixAmazonVPC :: RIProductDescription
+ Network.AWS.EC2.Types: MovingToVPC :: MoveStatus
+ Network.AWS.EC2.Types: NIAAttachment :: NetworkInterfaceAttribute
+ Network.AWS.EC2.Types: NIADescription :: NetworkInterfaceAttribute
+ Network.AWS.EC2.Types: NIAGroupSet :: NetworkInterfaceAttribute
+ Network.AWS.EC2.Types: NIASourceDestCheck :: NetworkInterfaceAttribute
+ Network.AWS.EC2.Types: NetworkACL :: ResourceType
+ Network.AWS.EC2.Types: NetworkInterface :: ResourceType
+ Network.AWS.EC2.Types: OK :: ReportStatusType
+ Network.AWS.EC2.Types: PGAll :: PermissionGroup
+ Network.AWS.EC2.Types: PVWindows :: PlatformValues
+ Network.AWS.EC2.Types: Passed :: StatusType
+ Network.AWS.EC2.Types: PaymentFailed :: ReservedInstanceState
+ Network.AWS.EC2.Types: PaymentPending :: ReservedInstanceState
+ Network.AWS.EC2.Types: PerformanceEBSVolume :: ReportInstanceReasonCodes
+ Network.AWS.EC2.Types: RAMDisk :: ImageAttributeName
+ Network.AWS.EC2.Types: Reject :: TrafficType
+ Network.AWS.EC2.Types: ReservedInstances :: ResourceType
+ Network.AWS.EC2.Types: Retired :: ReservedInstanceState
+ Network.AWS.EC2.Types: RouteTable :: ResourceType
+ Network.AWS.EC2.Types: SAvailable :: SubnetState
+ Network.AWS.EC2.Types: SPending :: SubnetState
+ Network.AWS.EC2.Types: SRIOVNetSupport :: ImageAttributeName
+ Network.AWS.EC2.Types: SSError' :: SnapshotState
+ Network.AWS.EC2.Types: SSInitializing :: SummaryStatus
+ Network.AWS.EC2.Types: SSOK :: SummaryStatus
+ Network.AWS.EC2.Types: SecurityGroup :: ResourceType
+ Network.AWS.EC2.Types: Snapshot :: ResourceType
+ Network.AWS.EC2.Types: SpotInstancesRequest :: ResourceType
+ Network.AWS.EC2.Types: Subnet :: ResourceType
+ Network.AWS.EC2.Types: UP :: TelemetryStatus
+ Network.AWS.EC2.Types: VANAutoEnableIO :: VolumeAttributeName
+ Network.AWS.EC2.Types: VANProductCodes :: VolumeAttributeName
+ Network.AWS.EC2.Types: VAvailable :: VolumeState
+ Network.AWS.EC2.Types: VCreating :: VolumeState
+ Network.AWS.EC2.Types: VDeleted :: VolumeState
+ Network.AWS.EC2.Types: VDeleting :: VolumeState
+ Network.AWS.EC2.Types: VError' :: VolumeState
+ Network.AWS.EC2.Types: VHD :: DiskImageFormat
+ Network.AWS.EC2.Types: VInUse :: VolumeState
+ Network.AWS.EC2.Types: VMDK :: DiskImageFormat
+ Network.AWS.EC2.Types: VMware :: ExportEnvironment
+ Network.AWS.EC2.Types: VPC :: ResourceType
+ Network.AWS.EC2.Types: VPCSAvailable :: VPCState
+ Network.AWS.EC2.Types: VPCSPending :: VPCState
+ Network.AWS.EC2.Types: VPCSRCActive :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2.Types: VPCSRCDeleted :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2.Types: VPCSRCDeleting :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2.Types: VPCSRCExpired :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2.Types: VPCSRCFailed :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2.Types: VPCSRCInitiatingRequest :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2.Types: VPCSRCPendingAcceptance :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2.Types: VPCSRCProvisioning :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2.Types: VPCSRCRejected :: VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2.Types: VPNConnection :: ResourceType
+ Network.AWS.EC2.Types: VPNGateway :: ResourceType
+ Network.AWS.EC2.Types: VSISOK :: VolumeStatusInfoStatus
+ Network.AWS.EC2.Types: VSPending :: VPNState
+ Network.AWS.EC2.Types: Volume :: ResourceType
+ Network.AWS.EC2.Types: WindowsAmazonVPC :: RIProductDescription
+ Network.AWS.EC2.Types: X86_64 :: ArchitectureValues
+ Network.AWS.EC2.Types: aPrivateIPAddress :: Lens' Address (Maybe Text)
+ Network.AWS.EC2.Types: aPublicIP :: Lens' Address (Maybe Text)
+ Network.AWS.EC2.Types: bdmEBS :: Lens' BlockDeviceMapping (Maybe EBSBlockDevice)
+ Network.AWS.EC2.Types: cgBGPASN :: Lens' CustomerGateway Text
+ Network.AWS.EC2.Types: cgIPAddress :: Lens' CustomerGateway Text
+ Network.AWS.EC2.Types: cliVPCId :: Lens' ClassicLinkInstance (Maybe Text)
+ Network.AWS.EC2.Types: csirSpotInstanceRequestId :: Lens' CancelledSpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2.Types: csirState :: Lens' CancelledSpotInstanceRequest (Maybe CancelSpotInstanceRequestState)
+ Network.AWS.EC2.Types: dChecksum :: Lens' DiskImageDescription (Maybe Text)
+ Network.AWS.EC2.Types: dFormat :: Lens' DiskImageDescription DiskImageFormat
+ Network.AWS.EC2.Types: dImportManifestURL :: Lens' DiskImageDescription Text
+ Network.AWS.EC2.Types: dSize :: Lens' DiskImageDescription Integer
+ Network.AWS.EC2.Types: data DHCPConfiguration
+ Network.AWS.EC2.Types: data DHCPOptions
+ Network.AWS.EC2.Types: data EBSBlockDevice
+ Network.AWS.EC2.Types: data EBSInstanceBlockDevice
+ Network.AWS.EC2.Types: data EBSInstanceBlockDeviceSpecification
+ Network.AWS.EC2.Types: data FlowLog
+ Network.AWS.EC2.Types: data FlowLogsResourceType
+ Network.AWS.EC2.Types: data IAMInstanceProfile
+ Network.AWS.EC2.Types: data IAMInstanceProfileSpecification
+ Network.AWS.EC2.Types: data ICMPTypeCode
+ Network.AWS.EC2.Types: data IPPermission
+ Network.AWS.EC2.Types: data IPRange
+ Network.AWS.EC2.Types: data InstancePrivateIPAddress
+ Network.AWS.EC2.Types: data NetworkACL
+ Network.AWS.EC2.Types: data NetworkACLAssociation
+ Network.AWS.EC2.Types: data NetworkACLEntry
+ Network.AWS.EC2.Types: data NetworkInterfacePrivateIPAddress
+ Network.AWS.EC2.Types: data NewDHCPConfiguration
+ Network.AWS.EC2.Types: data PrivateIPAddressSpecification
+ Network.AWS.EC2.Types: data PropagatingVGW
+ Network.AWS.EC2.Types: data RegionInfo
+ Network.AWS.EC2.Types: data SpotFleetLaunchSpecification
+ Network.AWS.EC2.Types: data SpotFleetMonitoring
+ Network.AWS.EC2.Types: data TrafficType
+ Network.AWS.EC2.Types: data VGWTelemetry
+ Network.AWS.EC2.Types: data VPC
+ Network.AWS.EC2.Types: data VPCAttachment
+ Network.AWS.EC2.Types: data VPCAttributeName
+ Network.AWS.EC2.Types: data VPCClassicLink
+ Network.AWS.EC2.Types: data VPCEndpoint
+ Network.AWS.EC2.Types: data VPCPeeringConnection
+ Network.AWS.EC2.Types: data VPCPeeringConnectionStateReason
+ Network.AWS.EC2.Types: data VPCPeeringConnectionStateReasonCode
+ Network.AWS.EC2.Types: data VPCPeeringConnectionVPCInfo
+ Network.AWS.EC2.Types: data VPCState
+ Network.AWS.EC2.Types: data VPNConnection
+ Network.AWS.EC2.Types: data VPNConnectionOptions
+ Network.AWS.EC2.Types: data VPNConnectionOptionsSpecification
+ Network.AWS.EC2.Types: data VPNGateway
+ Network.AWS.EC2.Types: data VPNState
+ Network.AWS.EC2.Types: data VPNStaticRoute
+ Network.AWS.EC2.Types: data VPNStaticRouteSource
+ Network.AWS.EC2.Types: didImportManifestURL :: Lens' DiskImageDetail Text
+ Network.AWS.EC2.Types: doDHCPConfigurations :: Lens' DHCPOptions [DHCPConfiguration]
+ Network.AWS.EC2.Types: doDHCPOptionsId :: Lens' DHCPOptions (Maybe Text)
+ Network.AWS.EC2.Types: ebdIOPS :: Lens' EBSBlockDevice (Maybe Int)
+ Network.AWS.EC2.Types: flCreationTime :: Lens' FlowLog (Maybe UTCTime)
+ Network.AWS.EC2.Types: flDeliverLogsErrorMessage :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2.Types: flDeliverLogsPermissionARN :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2.Types: flDeliverLogsStatus :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2.Types: flFlowLogId :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2.Types: flFlowLogStatus :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2.Types: flLogGroupName :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2.Types: flResourceId :: Lens' FlowLog (Maybe Text)
+ Network.AWS.EC2.Types: flTrafficType :: Lens' FlowLog (Maybe TrafficType)
+ Network.AWS.EC2.Types: flowLog :: FlowLog
+ Network.AWS.EC2.Types: iRAMDiskId :: Lens' Image (Maybe Text)
+ Network.AWS.EC2.Types: iSRIOVNetSupport :: Lens' Image (Maybe Text)
+ Network.AWS.EC2.Types: iapARN :: Lens' IAMInstanceProfile (Maybe Text)
+ Network.AWS.EC2.Types: iapId :: Lens' IAMInstanceProfile (Maybe Text)
+ Network.AWS.EC2.Types: iapsARN :: Lens' IAMInstanceProfileSpecification (Maybe Text)
+ Network.AWS.EC2.Types: iapsName :: Lens' IAMInstanceProfileSpecification (Maybe Text)
+ Network.AWS.EC2.Types: ibdmEBS :: Lens' InstanceBlockDeviceMapping (Maybe EBSInstanceBlockDevice)
+ Network.AWS.EC2.Types: ibdmsEBS :: Lens' InstanceBlockDeviceMappingSpecification (Maybe EBSInstanceBlockDeviceSpecification)
+ Network.AWS.EC2.Types: idcURL :: Lens' ImageDiskContainer (Maybe Text)
+ Network.AWS.EC2.Types: igaVPCId :: Lens' InternetGatewayAttachment Text
+ Network.AWS.EC2.Types: iilsPrivateIPAddress :: Lens' ImportInstanceLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: iniMACAddress :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: iniPrivateDNSName :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: iniPrivateIPAddress :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: iniPrivateIPAddresses :: Lens' InstanceNetworkInterface [InstancePrivateIPAddress]
+ Network.AWS.EC2.Types: iniVPCId :: Lens' InstanceNetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: iniaIPOwnerId :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2.Types: iniaPublicDNSName :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2.Types: iniaPublicIP :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2.Types: inisAssociatePublicIPAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Bool)
+ Network.AWS.EC2.Types: inisPrivateIPAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)
+ Network.AWS.EC2.Types: inisPrivateIPAddresses :: Lens' InstanceNetworkInterfaceSpecification [PrivateIPAddressSpecification]
+ Network.AWS.EC2.Types: inisSecondaryPrivateIPAddressCount :: Lens' InstanceNetworkInterfaceSpecification (Maybe Int)
+ Network.AWS.EC2.Types: insAMILaunchIndex :: Lens' Instance Int
+ Network.AWS.EC2.Types: insArchitecture :: Lens' Instance ArchitectureValues
+ Network.AWS.EC2.Types: insBlockDeviceMappings :: Lens' Instance [InstanceBlockDeviceMapping]
+ Network.AWS.EC2.Types: insClientToken :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insEBSOptimized :: Lens' Instance (Maybe Bool)
+ Network.AWS.EC2.Types: insHypervisor :: Lens' Instance HypervisorType
+ Network.AWS.EC2.Types: insIAMInstanceProfile :: Lens' Instance (Maybe IAMInstanceProfile)
+ Network.AWS.EC2.Types: insImageId :: Lens' Instance Text
+ Network.AWS.EC2.Types: insInstanceId :: Lens' Instance Text
+ Network.AWS.EC2.Types: insInstanceLifecycle :: Lens' Instance (Maybe InstanceLifecycleType)
+ Network.AWS.EC2.Types: insInstanceType :: Lens' Instance InstanceType
+ Network.AWS.EC2.Types: insKernelId :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insKeyName :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insLaunchTime :: Lens' Instance UTCTime
+ Network.AWS.EC2.Types: insMonitoring :: Lens' Instance Monitoring
+ Network.AWS.EC2.Types: insNetworkInterfaces :: Lens' Instance [InstanceNetworkInterface]
+ Network.AWS.EC2.Types: insPlacement :: Lens' Instance Placement
+ Network.AWS.EC2.Types: insPlatform :: Lens' Instance (Maybe PlatformValues)
+ Network.AWS.EC2.Types: insPrivateDNSName :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insPrivateIPAddress :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insProductCodes :: Lens' Instance [ProductCode]
+ Network.AWS.EC2.Types: insPublicDNSName :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insPublicIPAddress :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insRAMDiskId :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insRootDeviceName :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insRootDeviceType :: Lens' Instance DeviceType
+ Network.AWS.EC2.Types: insSRIOVNetSupport :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insSecurityGroups :: Lens' Instance [GroupIdentifier]
+ Network.AWS.EC2.Types: insSourceDestCheck :: Lens' Instance (Maybe Bool)
+ Network.AWS.EC2.Types: insSpotInstanceRequestId :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insState :: Lens' Instance InstanceState
+ Network.AWS.EC2.Types: insStateReason :: Lens' Instance (Maybe StateReason)
+ Network.AWS.EC2.Types: insStateTransitionReason :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insSubnetId :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insTags :: Lens' Instance [Tag]
+ Network.AWS.EC2.Types: insVPCId :: Lens' Instance (Maybe Text)
+ Network.AWS.EC2.Types: insVirtualizationType :: Lens' Instance VirtualizationType
+ Network.AWS.EC2.Types: instancePrivateIPAddress :: InstancePrivateIPAddress
+ Network.AWS.EC2.Types: ipIPProtocol :: Lens' IPPermission Text
+ Network.AWS.EC2.Types: ipIPRanges :: Lens' IPPermission [IPRange]
+ Network.AWS.EC2.Types: ipiaPrivateDNSName :: Lens' InstancePrivateIPAddress (Maybe Text)
+ Network.AWS.EC2.Types: ipiaPrivateIPAddress :: Lens' InstancePrivateIPAddress (Maybe Text)
+ Network.AWS.EC2.Types: irCIdRIP :: Lens' IPRange Text
+ Network.AWS.EC2.Types: lsEBSOptimized :: Lens' LaunchSpecification (Maybe Bool)
+ Network.AWS.EC2.Types: lsIAMInstanceProfile :: Lens' LaunchSpecification (Maybe IAMInstanceProfileSpecification)
+ Network.AWS.EC2.Types: lsRAMDiskId :: Lens' LaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: masPublicIP :: Lens' MovingAddressStatus (Maybe Text)
+ Network.AWS.EC2.Types: naNetworkACLId :: Lens' NetworkACL (Maybe Text)
+ Network.AWS.EC2.Types: naVPCId :: Lens' NetworkACL (Maybe Text)
+ Network.AWS.EC2.Types: naaNetworkACLAssociationId :: Lens' NetworkACLAssociation (Maybe Text)
+ Network.AWS.EC2.Types: naaNetworkACLId :: Lens' NetworkACLAssociation (Maybe Text)
+ Network.AWS.EC2.Types: naeCIdRBlock :: Lens' NetworkACLEntry (Maybe Text)
+ Network.AWS.EC2.Types: naeICMPTypeCode :: Lens' NetworkACLEntry (Maybe ICMPTypeCode)
+ Network.AWS.EC2.Types: networkACL :: NetworkACL
+ Network.AWS.EC2.Types: networkACLAssociation :: NetworkACLAssociation
+ Network.AWS.EC2.Types: networkACLEntry :: NetworkACLEntry
+ Network.AWS.EC2.Types: networkInterfacePrivateIPAddress :: NetworkInterfacePrivateIPAddress
+ Network.AWS.EC2.Types: newDHCPConfiguration :: NewDHCPConfiguration
+ Network.AWS.EC2.Types: niMACAddress :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: niPrivateDNSName :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: niPrivateIPAddress :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: niPrivateIPAddresses :: Lens' NetworkInterface [NetworkInterfacePrivateIPAddress]
+ Network.AWS.EC2.Types: niVPCId :: Lens' NetworkInterface (Maybe Text)
+ Network.AWS.EC2.Types: niaIPOwnerId :: Lens' NetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2.Types: niaPublicDNSName :: Lens' NetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2.Types: niaPublicIP :: Lens' NetworkInterfaceAssociation (Maybe Text)
+ Network.AWS.EC2.Types: nipiaPrivateDNSName :: Lens' NetworkInterfacePrivateIPAddress (Maybe Text)
+ Network.AWS.EC2.Types: nipiaPrivateIPAddress :: Lens' NetworkInterfacePrivateIPAddress (Maybe Text)
+ Network.AWS.EC2.Types: piasPrivateIPAddress :: Lens' PrivateIPAddressSpecification Text
+ Network.AWS.EC2.Types: plCIdRs :: Lens' PrefixList [Text]
+ Network.AWS.EC2.Types: privateIPAddressSpecification :: Text -> PrivateIPAddressSpecification
+ Network.AWS.EC2.Types: propagatingVGW :: PropagatingVGW
+ Network.AWS.EC2.Types: rDestinationCIdRBlock :: Lens' Route (Maybe Text)
+ Network.AWS.EC2.Types: rVPCPeeringConnectionId :: Lens' Route (Maybe Text)
+ Network.AWS.EC2.Types: regionInfo :: RegionInfo
+ Network.AWS.EC2.Types: riAvailabilityZone :: Lens' ReservedInstances (Maybe Text)
+ Network.AWS.EC2.Types: riCurrencyCode :: Lens' ReservedInstances (Maybe CurrencyCodeValues)
+ Network.AWS.EC2.Types: riDuration :: Lens' ReservedInstances (Maybe Integer)
+ Network.AWS.EC2.Types: riEnd :: Lens' ReservedInstances (Maybe UTCTime)
+ Network.AWS.EC2.Types: riEndpoint :: Lens' RegionInfo (Maybe Text)
+ Network.AWS.EC2.Types: riFixedPrice :: Lens' ReservedInstances (Maybe Double)
+ Network.AWS.EC2.Types: riInstanceCount :: Lens' ReservedInstances (Maybe Int)
+ Network.AWS.EC2.Types: riInstanceTenancy :: Lens' ReservedInstances (Maybe Tenancy)
+ Network.AWS.EC2.Types: riInstanceType :: Lens' ReservedInstances (Maybe InstanceType)
+ Network.AWS.EC2.Types: riOfferingType :: Lens' ReservedInstances (Maybe OfferingTypeValues)
+ Network.AWS.EC2.Types: riProductDescription :: Lens' ReservedInstances (Maybe RIProductDescription)
+ Network.AWS.EC2.Types: riRecurringCharges :: Lens' ReservedInstances [RecurringCharge]
+ Network.AWS.EC2.Types: riRegionName :: Lens' RegionInfo (Maybe Text)
+ Network.AWS.EC2.Types: riReservedInstancesId :: Lens' ReservedInstances (Maybe Text)
+ Network.AWS.EC2.Types: riStart :: Lens' ReservedInstances (Maybe UTCTime)
+ Network.AWS.EC2.Types: riState :: Lens' ReservedInstances (Maybe ReservedInstanceState)
+ Network.AWS.EC2.Types: riTags :: Lens' ReservedInstances [Tag]
+ Network.AWS.EC2.Types: riUsagePrice :: Lens' ReservedInstances (Maybe Double)
+ Network.AWS.EC2.Types: rslsEBSOptimized :: Lens' RequestSpotLaunchSpecification (Maybe Bool)
+ Network.AWS.EC2.Types: rslsIAMInstanceProfile :: Lens' RequestSpotLaunchSpecification (Maybe IAMInstanceProfileSpecification)
+ Network.AWS.EC2.Types: rslsRAMDiskId :: Lens' RequestSpotLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: rtPropagatingVGWs :: Lens' RouteTable [PropagatingVGW]
+ Network.AWS.EC2.Types: rtVPCId :: Lens' RouteTable (Maybe Text)
+ Network.AWS.EC2.Types: sAvailabilityZone :: Lens' SpotPrice (Maybe Text)
+ Network.AWS.EC2.Types: sInstanceType :: Lens' SpotPrice (Maybe InstanceType)
+ Network.AWS.EC2.Types: sKMSKeyId :: Lens' Snapshot (Maybe Text)
+ Network.AWS.EC2.Types: sProductDescription :: Lens' SpotPrice (Maybe RIProductDescription)
+ Network.AWS.EC2.Types: sSpotPrice :: Lens' SpotPrice (Maybe Text)
+ Network.AWS.EC2.Types: sTimestamp :: Lens' SpotPrice (Maybe UTCTime)
+ Network.AWS.EC2.Types: sdURL :: Lens' SnapshotDetail (Maybe Text)
+ Network.AWS.EC2.Types: sdcURL :: Lens' SnapshotDiskContainer (Maybe Text)
+ Network.AWS.EC2.Types: sflsAddressingType :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: sflsBlockDeviceMappings :: Lens' SpotFleetLaunchSpecification [BlockDeviceMapping]
+ Network.AWS.EC2.Types: sflsEBSOptimized :: Lens' SpotFleetLaunchSpecification (Maybe Bool)
+ Network.AWS.EC2.Types: sflsIAMInstanceProfile :: Lens' SpotFleetLaunchSpecification (Maybe IAMInstanceProfileSpecification)
+ Network.AWS.EC2.Types: sflsImageId :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: sflsInstanceType :: Lens' SpotFleetLaunchSpecification (Maybe InstanceType)
+ Network.AWS.EC2.Types: sflsKernelId :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: sflsKeyName :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: sflsMonitoring :: Lens' SpotFleetLaunchSpecification (Maybe SpotFleetMonitoring)
+ Network.AWS.EC2.Types: sflsNetworkInterfaces :: Lens' SpotFleetLaunchSpecification [InstanceNetworkInterfaceSpecification]
+ Network.AWS.EC2.Types: sflsPlacement :: Lens' SpotFleetLaunchSpecification (Maybe SpotPlacement)
+ Network.AWS.EC2.Types: sflsRAMDiskId :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: sflsSecurityGroups :: Lens' SpotFleetLaunchSpecification [GroupIdentifier]
+ Network.AWS.EC2.Types: sflsSubnetId :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: sflsUserData :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: sfmEnabled :: Lens' SpotFleetMonitoring (Maybe Bool)
+ Network.AWS.EC2.Types: sfrcdIAMFleetRole :: Lens' SpotFleetRequestConfigData Text
+ Network.AWS.EC2.Types: sgIPPermissions :: Lens' SecurityGroup [IPPermission]
+ Network.AWS.EC2.Types: sgIPPermissionsEgress :: Lens' SecurityGroup [IPPermission]
+ Network.AWS.EC2.Types: sgVPCId :: Lens' SecurityGroup (Maybe Text)
+ Network.AWS.EC2.Types: sirAvailabilityZoneGroup :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2.Types: sirCreateTime :: Lens' SpotInstanceRequest (Maybe UTCTime)
+ Network.AWS.EC2.Types: sirFault :: Lens' SpotInstanceRequest (Maybe SpotInstanceStateFault)
+ Network.AWS.EC2.Types: sirInstanceId :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2.Types: sirLaunchGroup :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2.Types: sirLaunchSpecification :: Lens' SpotInstanceRequest (Maybe LaunchSpecification)
+ Network.AWS.EC2.Types: sirLaunchedAvailabilityZone :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2.Types: sirProductDescription :: Lens' SpotInstanceRequest (Maybe RIProductDescription)
+ Network.AWS.EC2.Types: sirSpotInstanceRequestId :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2.Types: sirSpotPrice :: Lens' SpotInstanceRequest (Maybe Text)
+ Network.AWS.EC2.Types: sirState :: Lens' SpotInstanceRequest (Maybe SpotInstanceState)
+ Network.AWS.EC2.Types: sirStatus :: Lens' SpotInstanceRequest (Maybe SpotInstanceStatus)
+ Network.AWS.EC2.Types: sirTags :: Lens' SpotInstanceRequest [Tag]
+ Network.AWS.EC2.Types: sirType :: Lens' SpotInstanceRequest (Maybe SpotInstanceType)
+ Network.AWS.EC2.Types: sirValidFrom :: Lens' SpotInstanceRequest (Maybe UTCTime)
+ Network.AWS.EC2.Types: sirValidUntil :: Lens' SpotInstanceRequest (Maybe UTCTime)
+ Network.AWS.EC2.Types: spGroupName :: Lens' SpotPlacement (Maybe Text)
+ Network.AWS.EC2.Types: spotFleetLaunchSpecification :: SpotFleetLaunchSpecification
+ Network.AWS.EC2.Types: spotFleetMonitoring :: SpotFleetMonitoring
+ Network.AWS.EC2.Types: stdURL :: Lens' SnapshotTaskDetail (Maybe Text)
+ Network.AWS.EC2.Types: subAvailabilityZone :: Lens' Subnet Text
+ Network.AWS.EC2.Types: subAvailableIPAddressCount :: Lens' Subnet Int
+ Network.AWS.EC2.Types: subCIdRBlock :: Lens' Subnet Text
+ Network.AWS.EC2.Types: subDefaultForAz :: Lens' Subnet Bool
+ Network.AWS.EC2.Types: subMapPublicIPOnLaunch :: Lens' Subnet Bool
+ Network.AWS.EC2.Types: subState :: Lens' Subnet SubnetState
+ Network.AWS.EC2.Types: subSubnetId :: Lens' Subnet Text
+ Network.AWS.EC2.Types: subTags :: Lens' Subnet [Tag]
+ Network.AWS.EC2.Types: subVPCId :: Lens' Subnet Text
+ Network.AWS.EC2.Types: vIOPS :: Lens' Volume (Maybe Int)
+ Network.AWS.EC2.Types: vKMSKeyId :: Lens' Volume (Maybe Text)
+ Network.AWS.EC2.Types: vaVPCId :: Lens' VPCAttachment (Maybe Text)
+ Network.AWS.EC2.Types: vcVGWTelemetry :: Lens' VPNConnection [VGWTelemetry]
+ Network.AWS.EC2.Types: vcVPNConnectionId :: Lens' VPNConnection Text
+ Network.AWS.EC2.Types: vcVPNGatewayId :: Lens' VPNConnection (Maybe Text)
+ Network.AWS.EC2.Types: vclVPCId :: Lens' VPCClassicLink (Maybe Text)
+ Network.AWS.EC2.Types: veVPCEndpointId :: Lens' VPCEndpoint (Maybe Text)
+ Network.AWS.EC2.Types: veVPCId :: Lens' VPCEndpoint (Maybe Text)
+ Network.AWS.EC2.Types: vgVPCAttachments :: Lens' VPNGateway [VPCAttachment]
+ Network.AWS.EC2.Types: vgVPNGatewayId :: Lens' VPNGateway (Maybe Text)
+ Network.AWS.EC2.Types: volAttachTime :: Lens' VolumeAttachment (Maybe UTCTime)
+ Network.AWS.EC2.Types: volDeleteOnTermination :: Lens' VolumeAttachment (Maybe Bool)
+ Network.AWS.EC2.Types: volDevice :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2.Types: volInstanceId :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2.Types: volState :: Lens' VolumeAttachment (Maybe VolumeAttachmentState)
+ Network.AWS.EC2.Types: volVolumeId :: Lens' VolumeAttachment (Maybe Text)
+ Network.AWS.EC2.Types: vpcCIdRBlock :: Lens' VPC Text
+ Network.AWS.EC2.Types: vpcDHCPOptionsId :: Lens' VPC Text
+ Network.AWS.EC2.Types: vpcPeeringConnectionVPCInfo :: VPCPeeringConnectionVPCInfo
+ Network.AWS.EC2.Types: vpcVPCId :: Lens' VPC Text
+ Network.AWS.EC2.Types: vpcpcAccepterVPCInfo :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionVPCInfo)
+ Network.AWS.EC2.Types: vpcpcExpirationTime :: Lens' VPCPeeringConnection (Maybe UTCTime)
+ Network.AWS.EC2.Types: vpcpcRequesterVPCInfo :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionVPCInfo)
+ Network.AWS.EC2.Types: vpcpcStatus :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionStateReason)
+ Network.AWS.EC2.Types: vpcpcTags :: Lens' VPCPeeringConnection [Tag]
+ Network.AWS.EC2.Types: vpcpcVPCPeeringConnectionId :: Lens' VPCPeeringConnection (Maybe Text)
+ Network.AWS.EC2.Types: vpcviCIdRBlock :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)
+ Network.AWS.EC2.Types: vpcviVPCId :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)
+ Network.AWS.EC2.Types: vsrDestinationCIdRBlock :: Lens' VPNStaticRoute (Maybe Text)
+ Network.AWS.EC2.Types: vtOutsideIPAddress :: Lens' VGWTelemetry (Maybe Text)
+ Network.AWS.EC2.UnassignPrivateIPAddresses: data UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: data UnassignPrivateIPAddressesResponse
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance AWSRequest UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Constructor C1_0UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Constructor C1_0UnassignPrivateIPAddressesResponse
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Data UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Data UnassignPrivateIPAddressesResponse
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Datatype D1UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Datatype D1UnassignPrivateIPAddressesResponse
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Eq UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Eq UnassignPrivateIPAddressesResponse
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Generic UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Generic UnassignPrivateIPAddressesResponse
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Read UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Read UnassignPrivateIPAddressesResponse
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Selector S1_0_0UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Selector S1_0_1UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Show UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Show UnassignPrivateIPAddressesResponse
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance ToHeaders UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance ToPath UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance ToQuery UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Typeable UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: instance Typeable UnassignPrivateIPAddressesResponse
+ Network.AWS.EC2.UnassignPrivateIPAddresses: unassignPrivateIPAddresses :: Text -> UnassignPrivateIPAddresses
+ Network.AWS.EC2.UnassignPrivateIPAddresses: unassignPrivateIPAddressesResponse :: UnassignPrivateIPAddressesResponse
+ Network.AWS.EC2.UnassignPrivateIPAddresses: upiaNetworkInterfaceId :: Lens' UnassignPrivateIPAddresses Text
+ Network.AWS.EC2.UnassignPrivateIPAddresses: upiaPrivateIPAddresses :: Lens' UnassignPrivateIPAddresses [Text]
+ Network.AWS.EC2.UnmonitorInstances: instance Constructor C1_0UnmonitorInstances
+ Network.AWS.EC2.UnmonitorInstances: instance Constructor C1_0UnmonitorInstancesResponse
+ Network.AWS.EC2.UnmonitorInstances: instance Data UnmonitorInstances
+ Network.AWS.EC2.UnmonitorInstances: instance Data UnmonitorInstancesResponse
+ Network.AWS.EC2.UnmonitorInstances: instance Datatype D1UnmonitorInstances
+ Network.AWS.EC2.UnmonitorInstances: instance Datatype D1UnmonitorInstancesResponse
+ Network.AWS.EC2.UnmonitorInstances: instance Generic UnmonitorInstances
+ Network.AWS.EC2.UnmonitorInstances: instance Generic UnmonitorInstancesResponse
+ Network.AWS.EC2.UnmonitorInstances: instance Selector S1_0_0UnmonitorInstances
+ Network.AWS.EC2.UnmonitorInstances: instance Selector S1_0_0UnmonitorInstancesResponse
+ Network.AWS.EC2.UnmonitorInstances: instance Selector S1_0_1UnmonitorInstances
+ Network.AWS.EC2.UnmonitorInstances: instance Selector S1_0_1UnmonitorInstancesResponse
+ Network.AWS.EC2.UnmonitorInstances: instance Typeable UnmonitorInstances
+ Network.AWS.EC2.UnmonitorInstances: instance Typeable UnmonitorInstancesResponse
+ Network.AWS.EC2.UnmonitorInstances: uirsInstanceMonitorings :: Lens' UnmonitorInstancesResponse [InstanceMonitoring]
+ Network.AWS.EC2.UnmonitorInstances: uirsStatus :: Lens' UnmonitorInstancesResponse Int
+ Network.AWS.EC2.Waiters: conversionTaskDeleted :: Wait DescribeConversionTasks
+ Network.AWS.EC2.Waiters: instanceStatusOK :: Wait DescribeInstanceStatus
+ Network.AWS.EC2.Waiters: systemStatusOK :: Wait DescribeInstanceStatus
- Network.AWS.EC2.AllocateAddress: allocateAddressResponse :: AllocateAddressResponse
+ Network.AWS.EC2.AllocateAddress: allocateAddressResponse :: Int -> AllocateAddressResponse
- Network.AWS.EC2.AssociateAddress: associateAddressResponse :: AssociateAddressResponse
+ Network.AWS.EC2.AssociateAddress: associateAddressResponse :: Int -> AssociateAddressResponse
- Network.AWS.EC2.AssociateRouteTable: associateRouteTableResponse :: AssociateRouteTableResponse
+ Network.AWS.EC2.AssociateRouteTable: associateRouteTableResponse :: Int -> AssociateRouteTableResponse
- Network.AWS.EC2.AttachNetworkInterface: attachNetworkInterfaceResponse :: AttachNetworkInterfaceResponse
+ Network.AWS.EC2.AttachNetworkInterface: attachNetworkInterfaceResponse :: Int -> AttachNetworkInterfaceResponse
- Network.AWS.EC2.BundleInstance: bundleInstanceResponse :: BundleInstanceResponse
+ Network.AWS.EC2.BundleInstance: bundleInstanceResponse :: Int -> BundleInstanceResponse
- Network.AWS.EC2.CancelBundleTask: cancelBundleTaskResponse :: CancelBundleTaskResponse
+ Network.AWS.EC2.CancelBundleTask: cancelBundleTaskResponse :: Int -> CancelBundleTaskResponse
- Network.AWS.EC2.CancelImportTask: cancelImportTaskResponse :: CancelImportTaskResponse
+ Network.AWS.EC2.CancelImportTask: cancelImportTaskResponse :: Int -> CancelImportTaskResponse
- Network.AWS.EC2.CancelReservedInstancesListing: cancelReservedInstancesListingResponse :: CancelReservedInstancesListingResponse
+ Network.AWS.EC2.CancelReservedInstancesListing: cancelReservedInstancesListingResponse :: Int -> CancelReservedInstancesListingResponse
- Network.AWS.EC2.CancelSpotFleetRequests: cancelSpotFleetRequestsResponse :: CancelSpotFleetRequestsResponse
+ Network.AWS.EC2.CancelSpotFleetRequests: cancelSpotFleetRequestsResponse :: Int -> CancelSpotFleetRequestsResponse
- Network.AWS.EC2.CancelSpotInstanceRequests: cancelSpotInstanceRequestsResponse :: CancelSpotInstanceRequestsResponse
+ Network.AWS.EC2.CancelSpotInstanceRequests: cancelSpotInstanceRequestsResponse :: Int -> CancelSpotInstanceRequestsResponse
- Network.AWS.EC2.ConfirmProductInstance: confirmProductInstanceResponse :: ConfirmProductInstanceResponse
+ Network.AWS.EC2.ConfirmProductInstance: confirmProductInstanceResponse :: Int -> ConfirmProductInstanceResponse
- Network.AWS.EC2.CopyImage: copyImageResponse :: CopyImageResponse
+ Network.AWS.EC2.CopyImage: copyImageResponse :: Int -> CopyImageResponse
- Network.AWS.EC2.CopySnapshot: copySnapshotResponse :: CopySnapshotResponse
+ Network.AWS.EC2.CopySnapshot: copySnapshotResponse :: Int -> CopySnapshotResponse
- Network.AWS.EC2.CreateCustomerGateway: createCustomerGatewayResponse :: CreateCustomerGatewayResponse
+ Network.AWS.EC2.CreateCustomerGateway: createCustomerGatewayResponse :: Int -> CreateCustomerGatewayResponse
- Network.AWS.EC2.CreateImage: createImageResponse :: CreateImageResponse
+ Network.AWS.EC2.CreateImage: createImageResponse :: Int -> CreateImageResponse
- Network.AWS.EC2.CreateInstanceExportTask: createInstanceExportTaskResponse :: CreateInstanceExportTaskResponse
+ Network.AWS.EC2.CreateInstanceExportTask: createInstanceExportTaskResponse :: Int -> CreateInstanceExportTaskResponse
- Network.AWS.EC2.CreateInternetGateway: createInternetGatewayResponse :: CreateInternetGatewayResponse
+ Network.AWS.EC2.CreateInternetGateway: createInternetGatewayResponse :: Int -> CreateInternetGatewayResponse
- Network.AWS.EC2.CreateKeyPair: createKeyPairResponse :: Text -> Text -> Text -> CreateKeyPairResponse
+ Network.AWS.EC2.CreateKeyPair: createKeyPairResponse :: Int -> Text -> Text -> Text -> CreateKeyPairResponse
- Network.AWS.EC2.CreateNetworkInterface: createNetworkInterfaceResponse :: CreateNetworkInterfaceResponse
+ Network.AWS.EC2.CreateNetworkInterface: createNetworkInterfaceResponse :: Int -> CreateNetworkInterfaceResponse
- Network.AWS.EC2.CreateReservedInstancesListing: createReservedInstancesListingResponse :: CreateReservedInstancesListingResponse
+ Network.AWS.EC2.CreateReservedInstancesListing: createReservedInstancesListingResponse :: Int -> CreateReservedInstancesListingResponse
- Network.AWS.EC2.CreateRoute: createRouteResponse :: CreateRouteResponse
+ Network.AWS.EC2.CreateRoute: createRouteResponse :: Int -> CreateRouteResponse
- Network.AWS.EC2.CreateRouteTable: createRouteTableResponse :: CreateRouteTableResponse
+ Network.AWS.EC2.CreateRouteTable: createRouteTableResponse :: Int -> CreateRouteTableResponse
- Network.AWS.EC2.CreateSecurityGroup: createSecurityGroupResponse :: Text -> CreateSecurityGroupResponse
+ Network.AWS.EC2.CreateSecurityGroup: createSecurityGroupResponse :: Int -> Text -> CreateSecurityGroupResponse
- Network.AWS.EC2.CreateSpotDatafeedSubscription: createSpotDatafeedSubscriptionResponse :: CreateSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: createSpotDatafeedSubscriptionResponse :: Int -> CreateSpotDatafeedSubscriptionResponse
- Network.AWS.EC2.CreateSubnet: createSubnetResponse :: CreateSubnetResponse
+ Network.AWS.EC2.CreateSubnet: createSubnetResponse :: Int -> CreateSubnetResponse
- Network.AWS.EC2.DescribeAccountAttributes: describeAccountAttributesResponse :: DescribeAccountAttributesResponse
+ Network.AWS.EC2.DescribeAccountAttributes: describeAccountAttributesResponse :: Int -> DescribeAccountAttributesResponse
- Network.AWS.EC2.DescribeAddresses: describeAddressesResponse :: DescribeAddressesResponse
+ Network.AWS.EC2.DescribeAddresses: describeAddressesResponse :: Int -> DescribeAddressesResponse
- Network.AWS.EC2.DescribeAvailabilityZones: describeAvailabilityZonesResponse :: DescribeAvailabilityZonesResponse
+ Network.AWS.EC2.DescribeAvailabilityZones: describeAvailabilityZonesResponse :: Int -> DescribeAvailabilityZonesResponse
- Network.AWS.EC2.DescribeBundleTasks: describeBundleTasksResponse :: DescribeBundleTasksResponse
+ Network.AWS.EC2.DescribeBundleTasks: describeBundleTasksResponse :: Int -> DescribeBundleTasksResponse
- Network.AWS.EC2.DescribeClassicLinkInstances: describeClassicLinkInstancesResponse :: DescribeClassicLinkInstancesResponse
+ Network.AWS.EC2.DescribeClassicLinkInstances: describeClassicLinkInstancesResponse :: Int -> DescribeClassicLinkInstancesResponse
- Network.AWS.EC2.DescribeConversionTasks: describeConversionTasksResponse :: DescribeConversionTasksResponse
+ Network.AWS.EC2.DescribeConversionTasks: describeConversionTasksResponse :: Int -> DescribeConversionTasksResponse
- Network.AWS.EC2.DescribeCustomerGateways: describeCustomerGatewaysResponse :: DescribeCustomerGatewaysResponse
+ Network.AWS.EC2.DescribeCustomerGateways: describeCustomerGatewaysResponse :: Int -> DescribeCustomerGatewaysResponse
- Network.AWS.EC2.DescribeExportTasks: describeExportTasksResponse :: DescribeExportTasksResponse
+ Network.AWS.EC2.DescribeExportTasks: describeExportTasksResponse :: Int -> DescribeExportTasksResponse
- Network.AWS.EC2.DescribeImageAttribute: describeImageAttributeResponse :: DescribeImageAttributeResponse
+ Network.AWS.EC2.DescribeImageAttribute: describeImageAttributeResponse :: Int -> DescribeImageAttributeResponse
- Network.AWS.EC2.DescribeImages: describeImagesResponse :: DescribeImagesResponse
+ Network.AWS.EC2.DescribeImages: describeImagesResponse :: Int -> DescribeImagesResponse
- Network.AWS.EC2.DescribeImportImageTasks: describeImportImageTasksResponse :: DescribeImportImageTasksResponse
+ Network.AWS.EC2.DescribeImportImageTasks: describeImportImageTasksResponse :: Int -> DescribeImportImageTasksResponse
- Network.AWS.EC2.DescribeImportSnapshotTasks: describeImportSnapshotTasksResponse :: DescribeImportSnapshotTasksResponse
+ Network.AWS.EC2.DescribeImportSnapshotTasks: describeImportSnapshotTasksResponse :: Int -> DescribeImportSnapshotTasksResponse
- Network.AWS.EC2.DescribeInstanceAttribute: describeInstanceAttributeResponse :: DescribeInstanceAttributeResponse
+ Network.AWS.EC2.DescribeInstanceAttribute: describeInstanceAttributeResponse :: Int -> DescribeInstanceAttributeResponse
- Network.AWS.EC2.DescribeInstanceStatus: describeInstanceStatusResponse :: DescribeInstanceStatusResponse
+ Network.AWS.EC2.DescribeInstanceStatus: describeInstanceStatusResponse :: Int -> DescribeInstanceStatusResponse
- Network.AWS.EC2.DescribeInstances: describeInstancesResponse :: DescribeInstancesResponse
+ Network.AWS.EC2.DescribeInstances: describeInstancesResponse :: Int -> DescribeInstancesResponse
- Network.AWS.EC2.DescribeInternetGateways: describeInternetGatewaysResponse :: DescribeInternetGatewaysResponse
+ Network.AWS.EC2.DescribeInternetGateways: describeInternetGatewaysResponse :: Int -> DescribeInternetGatewaysResponse
- Network.AWS.EC2.DescribeKeyPairs: describeKeyPairsResponse :: DescribeKeyPairsResponse
+ Network.AWS.EC2.DescribeKeyPairs: describeKeyPairsResponse :: Int -> DescribeKeyPairsResponse
- Network.AWS.EC2.DescribeMovingAddresses: describeMovingAddressesResponse :: DescribeMovingAddressesResponse
+ Network.AWS.EC2.DescribeMovingAddresses: describeMovingAddressesResponse :: Int -> DescribeMovingAddressesResponse
- Network.AWS.EC2.DescribeNetworkInterfaceAttribute: describeNetworkInterfaceAttributeResponse :: DescribeNetworkInterfaceAttributeResponse
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: describeNetworkInterfaceAttributeResponse :: Int -> DescribeNetworkInterfaceAttributeResponse
- Network.AWS.EC2.DescribeNetworkInterfaces: describeNetworkInterfacesResponse :: DescribeNetworkInterfacesResponse
+ Network.AWS.EC2.DescribeNetworkInterfaces: describeNetworkInterfacesResponse :: Int -> DescribeNetworkInterfacesResponse
- Network.AWS.EC2.DescribePlacementGroups: describePlacementGroupsResponse :: DescribePlacementGroupsResponse
+ Network.AWS.EC2.DescribePlacementGroups: describePlacementGroupsResponse :: Int -> DescribePlacementGroupsResponse
- Network.AWS.EC2.DescribePrefixLists: describePrefixListsResponse :: DescribePrefixListsResponse
+ Network.AWS.EC2.DescribePrefixLists: describePrefixListsResponse :: Int -> DescribePrefixListsResponse
- Network.AWS.EC2.DescribeRegions: describeRegionsResponse :: DescribeRegionsResponse
+ Network.AWS.EC2.DescribeRegions: describeRegionsResponse :: Int -> DescribeRegionsResponse
- Network.AWS.EC2.DescribeReservedInstances: describeReservedInstancesResponse :: DescribeReservedInstancesResponse
+ Network.AWS.EC2.DescribeReservedInstances: describeReservedInstancesResponse :: Int -> DescribeReservedInstancesResponse
- Network.AWS.EC2.DescribeReservedInstancesListings: describeReservedInstancesListingsResponse :: DescribeReservedInstancesListingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesListings: describeReservedInstancesListingsResponse :: Int -> DescribeReservedInstancesListingsResponse
- Network.AWS.EC2.DescribeReservedInstancesModifications: describeReservedInstancesModificationsResponse :: DescribeReservedInstancesModificationsResponse
+ Network.AWS.EC2.DescribeReservedInstancesModifications: describeReservedInstancesModificationsResponse :: Int -> DescribeReservedInstancesModificationsResponse
- Network.AWS.EC2.DescribeReservedInstancesOfferings: describeReservedInstancesOfferingsResponse :: DescribeReservedInstancesOfferingsResponse
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: describeReservedInstancesOfferingsResponse :: Int -> DescribeReservedInstancesOfferingsResponse
- Network.AWS.EC2.DescribeRouteTables: describeRouteTablesResponse :: DescribeRouteTablesResponse
+ Network.AWS.EC2.DescribeRouteTables: describeRouteTablesResponse :: Int -> DescribeRouteTablesResponse
- Network.AWS.EC2.DescribeSecurityGroups: describeSecurityGroupsResponse :: DescribeSecurityGroupsResponse
+ Network.AWS.EC2.DescribeSecurityGroups: describeSecurityGroupsResponse :: Int -> DescribeSecurityGroupsResponse
- Network.AWS.EC2.DescribeSnapshotAttribute: describeSnapshotAttributeResponse :: DescribeSnapshotAttributeResponse
+ Network.AWS.EC2.DescribeSnapshotAttribute: describeSnapshotAttributeResponse :: Int -> DescribeSnapshotAttributeResponse
- Network.AWS.EC2.DescribeSnapshots: describeSnapshotsResponse :: DescribeSnapshotsResponse
+ Network.AWS.EC2.DescribeSnapshots: describeSnapshotsResponse :: Int -> DescribeSnapshotsResponse
- Network.AWS.EC2.DescribeSpotDatafeedSubscription: describeSpotDatafeedSubscriptionResponse :: DescribeSpotDatafeedSubscriptionResponse
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: describeSpotDatafeedSubscriptionResponse :: Int -> DescribeSpotDatafeedSubscriptionResponse
- Network.AWS.EC2.DescribeSpotFleetInstances: describeSpotFleetInstancesResponse :: Text -> DescribeSpotFleetInstancesResponse
+ Network.AWS.EC2.DescribeSpotFleetInstances: describeSpotFleetInstancesResponse :: Int -> Text -> DescribeSpotFleetInstancesResponse
- Network.AWS.EC2.DescribeSpotFleetRequestHistory: describeSpotFleetRequestHistoryResponse :: Text -> UTCTime -> UTCTime -> DescribeSpotFleetRequestHistoryResponse
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: describeSpotFleetRequestHistoryResponse :: Int -> Text -> UTCTime -> UTCTime -> DescribeSpotFleetRequestHistoryResponse
- Network.AWS.EC2.DescribeSpotFleetRequests: describeSpotFleetRequestsResponse :: DescribeSpotFleetRequestsResponse
+ Network.AWS.EC2.DescribeSpotFleetRequests: describeSpotFleetRequestsResponse :: Int -> DescribeSpotFleetRequestsResponse
- Network.AWS.EC2.DescribeSpotInstanceRequests: describeSpotInstanceRequestsResponse :: DescribeSpotInstanceRequestsResponse
+ Network.AWS.EC2.DescribeSpotInstanceRequests: describeSpotInstanceRequestsResponse :: Int -> DescribeSpotInstanceRequestsResponse
- Network.AWS.EC2.DescribeSpotPriceHistory: describeSpotPriceHistoryResponse :: DescribeSpotPriceHistoryResponse
+ Network.AWS.EC2.DescribeSpotPriceHistory: describeSpotPriceHistoryResponse :: Int -> DescribeSpotPriceHistoryResponse
- Network.AWS.EC2.DescribeSubnets: describeSubnetsResponse :: DescribeSubnetsResponse
+ Network.AWS.EC2.DescribeSubnets: describeSubnetsResponse :: Int -> DescribeSubnetsResponse
- Network.AWS.EC2.DescribeTags: describeTagsResponse :: DescribeTagsResponse
+ Network.AWS.EC2.DescribeTags: describeTagsResponse :: Int -> DescribeTagsResponse
- Network.AWS.EC2.DescribeVolumeAttribute: describeVolumeAttributeResponse :: DescribeVolumeAttributeResponse
+ Network.AWS.EC2.DescribeVolumeAttribute: describeVolumeAttributeResponse :: Int -> DescribeVolumeAttributeResponse
- Network.AWS.EC2.DescribeVolumeStatus: describeVolumeStatusResponse :: DescribeVolumeStatusResponse
+ Network.AWS.EC2.DescribeVolumeStatus: describeVolumeStatusResponse :: Int -> DescribeVolumeStatusResponse
- Network.AWS.EC2.DescribeVolumes: describeVolumesResponse :: DescribeVolumesResponse
+ Network.AWS.EC2.DescribeVolumes: describeVolumesResponse :: Int -> DescribeVolumesResponse
- Network.AWS.EC2.GetConsoleOutput: getConsoleOutputResponse :: GetConsoleOutputResponse
+ Network.AWS.EC2.GetConsoleOutput: getConsoleOutputResponse :: Int -> GetConsoleOutputResponse
- Network.AWS.EC2.GetPasswordData: getPasswordDataResponse :: Text -> UTCTime -> Text -> GetPasswordDataResponse
+ Network.AWS.EC2.GetPasswordData: getPasswordDataResponse :: Int -> Text -> Text -> UTCTime -> GetPasswordDataResponse
- Network.AWS.EC2.ImportImage: importImageResponse :: ImportImageResponse
+ Network.AWS.EC2.ImportImage: importImageResponse :: Int -> ImportImageResponse
- Network.AWS.EC2.ImportInstance: importInstanceResponse :: ImportInstanceResponse
+ Network.AWS.EC2.ImportInstance: importInstanceResponse :: Int -> ImportInstanceResponse
- Network.AWS.EC2.ImportKeyPair: ikpPublicKeyMaterial :: Lens' ImportKeyPair Base64
+ Network.AWS.EC2.ImportKeyPair: ikpPublicKeyMaterial :: Lens' ImportKeyPair ByteString
- Network.AWS.EC2.ImportKeyPair: importKeyPair :: Text -> Base64 -> ImportKeyPair
+ Network.AWS.EC2.ImportKeyPair: importKeyPair :: Text -> ByteString -> ImportKeyPair
- Network.AWS.EC2.ImportKeyPair: importKeyPairResponse :: ImportKeyPairResponse
+ Network.AWS.EC2.ImportKeyPair: importKeyPairResponse :: Int -> ImportKeyPairResponse
- Network.AWS.EC2.ImportSnapshot: importSnapshotResponse :: ImportSnapshotResponse
+ Network.AWS.EC2.ImportSnapshot: importSnapshotResponse :: Int -> ImportSnapshotResponse
- Network.AWS.EC2.ImportVolume: importVolumeResponse :: ImportVolumeResponse
+ Network.AWS.EC2.ImportVolume: importVolumeResponse :: Int -> ImportVolumeResponse
- Network.AWS.EC2.ModifyReservedInstances: modifyReservedInstancesResponse :: ModifyReservedInstancesResponse
+ Network.AWS.EC2.ModifyReservedInstances: modifyReservedInstancesResponse :: Int -> ModifyReservedInstancesResponse
- Network.AWS.EC2.MonitorInstances: monitorInstancesResponse :: MonitorInstancesResponse
+ Network.AWS.EC2.MonitorInstances: monitorInstancesResponse :: Int -> MonitorInstancesResponse
- Network.AWS.EC2.PurchaseReservedInstancesOffering: purchaseReservedInstancesOfferingResponse :: PurchaseReservedInstancesOfferingResponse
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: purchaseReservedInstancesOfferingResponse :: Int -> PurchaseReservedInstancesOfferingResponse
- Network.AWS.EC2.RegisterImage: registerImageResponse :: RegisterImageResponse
+ Network.AWS.EC2.RegisterImage: registerImageResponse :: Int -> RegisterImageResponse
- Network.AWS.EC2.ReplaceRouteTableAssociation: replaceRouteTableAssociationResponse :: ReplaceRouteTableAssociationResponse
+ Network.AWS.EC2.ReplaceRouteTableAssociation: replaceRouteTableAssociationResponse :: Int -> ReplaceRouteTableAssociationResponse
- Network.AWS.EC2.RequestSpotFleet: requestSpotFleetResponse :: Text -> RequestSpotFleetResponse
+ Network.AWS.EC2.RequestSpotFleet: requestSpotFleetResponse :: Int -> Text -> RequestSpotFleetResponse
- Network.AWS.EC2.RequestSpotInstances: requestSpotInstancesResponse :: RequestSpotInstancesResponse
+ Network.AWS.EC2.RequestSpotInstances: requestSpotInstancesResponse :: Int -> RequestSpotInstancesResponse
- Network.AWS.EC2.RestoreAddressToClassic: restoreAddressToClassicResponse :: RestoreAddressToClassicResponse
+ Network.AWS.EC2.RestoreAddressToClassic: restoreAddressToClassicResponse :: Int -> RestoreAddressToClassicResponse
- Network.AWS.EC2.StartInstances: startInstancesResponse :: StartInstancesResponse
+ Network.AWS.EC2.StartInstances: startInstancesResponse :: Int -> StartInstancesResponse
- Network.AWS.EC2.StopInstances: stopInstancesResponse :: StopInstancesResponse
+ Network.AWS.EC2.StopInstances: stopInstancesResponse :: Int -> StopInstancesResponse
- Network.AWS.EC2.TerminateInstances: terminateInstancesResponse :: TerminateInstancesResponse
+ Network.AWS.EC2.TerminateInstances: terminateInstancesResponse :: Int -> TerminateInstancesResponse
- Network.AWS.EC2.Types: Active :: BatchState
+ Network.AWS.EC2.Types: Active :: ReservedInstanceState
- Network.AWS.EC2.Types: All :: PermissionGroup
+ Network.AWS.EC2.Types: All :: TrafficType
- Network.AWS.EC2.Types: Description :: NetworkInterfaceAttribute
+ Network.AWS.EC2.Types: Description :: ImageAttributeName
- Network.AWS.EC2.Types: Failed :: BatchState
+ Network.AWS.EC2.Types: Failed :: StatusType
- Network.AWS.EC2.Types: Kernel :: ImageTypeValues
+ Network.AWS.EC2.Types: Kernel :: ImageAttributeName
- Network.AWS.EC2.Types: LSCancelled :: ListingState
+ Network.AWS.EC2.Types: LSCancelled :: ListingStatus
- Network.AWS.EC2.Types: LSPending :: ListingState
+ Network.AWS.EC2.Types: LSPending :: ListingStatus
- Network.AWS.EC2.Types: ProductCodes :: VolumeAttributeName
+ Network.AWS.EC2.Types: ProductCodes :: ImageAttributeName
- Network.AWS.EC2.Types: Static :: VpnStaticRouteSource
+ Network.AWS.EC2.Types: Static :: VPNStaticRouteSource
- Network.AWS.EC2.Types: VSAvailable :: VolumeState
+ Network.AWS.EC2.Types: VSAvailable :: VPNState
- Network.AWS.EC2.Types: VSDeleted :: VolumeState
+ Network.AWS.EC2.Types: VSDeleted :: VPNState
- Network.AWS.EC2.Types: VSDeleting :: VolumeState
+ Network.AWS.EC2.Types: VSDeleting :: VPNState
- Network.AWS.EC2.Types: Windows :: PlatformValues
+ Network.AWS.EC2.Types: Windows :: RIProductDescription
- Network.AWS.EC2.Types: bavValue :: Lens' BlobAttributeValue (Maybe Base64)
+ Network.AWS.EC2.Types: bavValue :: Lens' BlobAttributeValue (Maybe ByteString)
- Network.AWS.EC2.Types: bundleTask :: Text -> Text -> BundleTaskState -> UTCTime -> UTCTime -> Storage -> Text -> BundleTask
+ Network.AWS.EC2.Types: bundleTask :: Text -> Text -> Text -> UTCTime -> BundleTaskState -> Storage -> UTCTime -> BundleTask
- Network.AWS.EC2.Types: dcKey :: Lens' DhcpConfiguration (Maybe Text)
+ Network.AWS.EC2.Types: dcKey :: Lens' DHCPConfiguration (Maybe Text)
- Network.AWS.EC2.Types: dcValues :: Lens' DhcpConfiguration [AttributeValue]
+ Network.AWS.EC2.Types: dcValues :: Lens' DHCPConfiguration [AttributeValue]
- Network.AWS.EC2.Types: dhcpConfiguration :: DhcpConfiguration
+ Network.AWS.EC2.Types: dhcpConfiguration :: DHCPConfiguration
- Network.AWS.EC2.Types: dhcpOptions :: DhcpOptions
+ Network.AWS.EC2.Types: dhcpOptions :: DHCPOptions
- Network.AWS.EC2.Types: doTags :: Lens' DhcpOptions [Tag]
+ Network.AWS.EC2.Types: doTags :: Lens' DHCPOptions [Tag]
- Network.AWS.EC2.Types: ebdDeleteOnTermination :: Lens' EbsBlockDevice (Maybe Bool)
+ Network.AWS.EC2.Types: ebdDeleteOnTermination :: Lens' EBSBlockDevice (Maybe Bool)
- Network.AWS.EC2.Types: ebdEncrypted :: Lens' EbsBlockDevice (Maybe Bool)
+ Network.AWS.EC2.Types: ebdEncrypted :: Lens' EBSBlockDevice (Maybe Bool)
- Network.AWS.EC2.Types: ebdSnapshotId :: Lens' EbsBlockDevice (Maybe Text)
+ Network.AWS.EC2.Types: ebdSnapshotId :: Lens' EBSBlockDevice (Maybe Text)
- Network.AWS.EC2.Types: ebdVolumeSize :: Lens' EbsBlockDevice (Maybe Int)
+ Network.AWS.EC2.Types: ebdVolumeSize :: Lens' EBSBlockDevice (Maybe Int)
- Network.AWS.EC2.Types: ebdVolumeType :: Lens' EbsBlockDevice (Maybe VolumeType)
+ Network.AWS.EC2.Types: ebdVolumeType :: Lens' EBSBlockDevice (Maybe VolumeType)
- Network.AWS.EC2.Types: ebsBlockDevice :: EbsBlockDevice
+ Network.AWS.EC2.Types: ebsBlockDevice :: EBSBlockDevice
- Network.AWS.EC2.Types: ebsInstanceBlockDevice :: EbsInstanceBlockDevice
+ Network.AWS.EC2.Types: ebsInstanceBlockDevice :: EBSInstanceBlockDevice
- Network.AWS.EC2.Types: ebsInstanceBlockDeviceSpecification :: EbsInstanceBlockDeviceSpecification
+ Network.AWS.EC2.Types: ebsInstanceBlockDeviceSpecification :: EBSInstanceBlockDeviceSpecification
- Network.AWS.EC2.Types: eibdAttachTime :: Lens' EbsInstanceBlockDevice (Maybe UTCTime)
+ Network.AWS.EC2.Types: eibdAttachTime :: Lens' EBSInstanceBlockDevice (Maybe UTCTime)
- Network.AWS.EC2.Types: eibdDeleteOnTermination :: Lens' EbsInstanceBlockDevice (Maybe Bool)
+ Network.AWS.EC2.Types: eibdDeleteOnTermination :: Lens' EBSInstanceBlockDevice (Maybe Bool)
- Network.AWS.EC2.Types: eibdStatus :: Lens' EbsInstanceBlockDevice (Maybe AttachmentStatus)
+ Network.AWS.EC2.Types: eibdStatus :: Lens' EBSInstanceBlockDevice (Maybe AttachmentStatus)
- Network.AWS.EC2.Types: eibdVolumeId :: Lens' EbsInstanceBlockDevice (Maybe Text)
+ Network.AWS.EC2.Types: eibdVolumeId :: Lens' EBSInstanceBlockDevice (Maybe Text)
- Network.AWS.EC2.Types: eibdsDeleteOnTermination :: Lens' EbsInstanceBlockDeviceSpecification (Maybe Bool)
+ Network.AWS.EC2.Types: eibdsDeleteOnTermination :: Lens' EBSInstanceBlockDeviceSpecification (Maybe Bool)
- Network.AWS.EC2.Types: eibdsVolumeId :: Lens' EbsInstanceBlockDeviceSpecification (Maybe Text)
+ Network.AWS.EC2.Types: eibdsVolumeId :: Lens' EBSInstanceBlockDeviceSpecification (Maybe Text)
- Network.AWS.EC2.Types: exportTask :: Text -> Text -> ExportTaskState -> Text -> InstanceExportDetails -> ExportToS3Task -> ExportTask
+ Network.AWS.EC2.Types: exportTask :: Text -> Text -> ExportToS3Task -> InstanceExportDetails -> ExportTaskState -> Text -> ExportTask
- Network.AWS.EC2.Types: iamInstanceProfile :: IamInstanceProfile
+ Network.AWS.EC2.Types: iamInstanceProfile :: IAMInstanceProfile
- Network.AWS.EC2.Types: iamInstanceProfileSpecification :: IamInstanceProfileSpecification
+ Network.AWS.EC2.Types: iamInstanceProfileSpecification :: IAMInstanceProfileSpecification
- Network.AWS.EC2.Types: icmpTypeCode :: IcmpTypeCode
+ Network.AWS.EC2.Types: icmpTypeCode :: ICMPTypeCode
- Network.AWS.EC2.Types: instance' :: Text -> Text -> InstanceState -> Int -> InstanceType -> UTCTime -> Placement -> Monitoring -> ArchitectureValues -> DeviceType -> VirtualizationType -> HypervisorType -> Bool -> Instance
+ Network.AWS.EC2.Types: instance' :: Text -> Text -> Int -> InstanceType -> UTCTime -> Placement -> Monitoring -> ArchitectureValues -> DeviceType -> VirtualizationType -> HypervisorType -> InstanceState -> Instance
- Network.AWS.EC2.Types: instanceState :: Int -> InstanceStateName -> InstanceState
+ Network.AWS.EC2.Types: instanceState :: InstanceStateName -> Int -> InstanceState
- Network.AWS.EC2.Types: instanceStatusSummary :: InstanceStatusSummary
+ Network.AWS.EC2.Types: instanceStatusSummary :: SummaryStatus -> InstanceStatusSummary
- Network.AWS.EC2.Types: internetGatewayAttachment :: Text -> AttachmentStatus -> InternetGatewayAttachment
+ Network.AWS.EC2.Types: internetGatewayAttachment :: AttachmentStatus -> Text -> InternetGatewayAttachment
- Network.AWS.EC2.Types: ipFromPort :: Lens' IpPermission (Maybe Int)
+ Network.AWS.EC2.Types: ipFromPort :: Lens' IPPermission (Maybe Int)
- Network.AWS.EC2.Types: ipPermission :: Text -> IpPermission
+ Network.AWS.EC2.Types: ipPermission :: Text -> IPPermission
- Network.AWS.EC2.Types: ipPrefixListIds :: Lens' IpPermission [PrefixListId]
+ Network.AWS.EC2.Types: ipPrefixListIds :: Lens' IPPermission [PrefixListId]
- Network.AWS.EC2.Types: ipRange :: Text -> IpRange
+ Network.AWS.EC2.Types: ipRange :: Text -> IPRange
- Network.AWS.EC2.Types: ipToPort :: Lens' IpPermission (Maybe Int)
+ Network.AWS.EC2.Types: ipToPort :: Lens' IPPermission (Maybe Int)
- Network.AWS.EC2.Types: ipUserIdGroupPairs :: Lens' IpPermission [UserIdGroupPair]
+ Network.AWS.EC2.Types: ipUserIdGroupPairs :: Lens' IPPermission [UserIdGroupPair]
- Network.AWS.EC2.Types: ipiaAssociation :: Lens' InstancePrivateIpAddress (Maybe InstanceNetworkInterfaceAssociation)
+ Network.AWS.EC2.Types: ipiaAssociation :: Lens' InstancePrivateIPAddress (Maybe InstanceNetworkInterfaceAssociation)
- Network.AWS.EC2.Types: ipiaPrimary :: Lens' InstancePrivateIpAddress (Maybe Bool)
+ Network.AWS.EC2.Types: ipiaPrimary :: Lens' InstancePrivateIPAddress (Maybe Bool)
- Network.AWS.EC2.Types: issStatus :: Lens' InstanceStatusSummary (Maybe SummaryStatus)
+ Network.AWS.EC2.Types: issStatus :: Lens' InstanceStatusSummary SummaryStatus
- Network.AWS.EC2.Types: itcCode :: Lens' IcmpTypeCode (Maybe Int)
+ Network.AWS.EC2.Types: itcCode :: Lens' ICMPTypeCode (Maybe Int)
- Network.AWS.EC2.Types: itcType :: Lens' IcmpTypeCode (Maybe Int)
+ Network.AWS.EC2.Types: itcType :: Lens' ICMPTypeCode (Maybe Int)
- Network.AWS.EC2.Types: naAssociations :: Lens' NetworkAcl [NetworkAclAssociation]
+ Network.AWS.EC2.Types: naAssociations :: Lens' NetworkACL [NetworkACLAssociation]
- Network.AWS.EC2.Types: naEntries :: Lens' NetworkAcl [NetworkAclEntry]
+ Network.AWS.EC2.Types: naEntries :: Lens' NetworkACL [NetworkACLEntry]
- Network.AWS.EC2.Types: naIsDefault :: Lens' NetworkAcl (Maybe Bool)
+ Network.AWS.EC2.Types: naIsDefault :: Lens' NetworkACL (Maybe Bool)
- Network.AWS.EC2.Types: naTags :: Lens' NetworkAcl [Tag]
+ Network.AWS.EC2.Types: naTags :: Lens' NetworkACL [Tag]
- Network.AWS.EC2.Types: naaSubnetId :: Lens' NetworkAclAssociation (Maybe Text)
+ Network.AWS.EC2.Types: naaSubnetId :: Lens' NetworkACLAssociation (Maybe Text)
- Network.AWS.EC2.Types: naeEgress :: Lens' NetworkAclEntry (Maybe Bool)
+ Network.AWS.EC2.Types: naeEgress :: Lens' NetworkACLEntry (Maybe Bool)
- Network.AWS.EC2.Types: naePortRange :: Lens' NetworkAclEntry (Maybe PortRange)
+ Network.AWS.EC2.Types: naePortRange :: Lens' NetworkACLEntry (Maybe PortRange)
- Network.AWS.EC2.Types: naeProtocol :: Lens' NetworkAclEntry (Maybe Text)
+ Network.AWS.EC2.Types: naeProtocol :: Lens' NetworkACLEntry (Maybe Text)
- Network.AWS.EC2.Types: naeRuleAction :: Lens' NetworkAclEntry (Maybe RuleAction)
+ Network.AWS.EC2.Types: naeRuleAction :: Lens' NetworkACLEntry (Maybe RuleAction)
- Network.AWS.EC2.Types: naeRuleNumber :: Lens' NetworkAclEntry (Maybe Int)
+ Network.AWS.EC2.Types: naeRuleNumber :: Lens' NetworkACLEntry (Maybe Int)
- Network.AWS.EC2.Types: ndcKey :: Lens' NewDhcpConfiguration (Maybe Text)
+ Network.AWS.EC2.Types: ndcKey :: Lens' NewDHCPConfiguration (Maybe Text)
- Network.AWS.EC2.Types: ndcValues :: Lens' NewDhcpConfiguration [Text]
+ Network.AWS.EC2.Types: ndcValues :: Lens' NewDHCPConfiguration [Text]
- Network.AWS.EC2.Types: nipiaAssociation :: Lens' NetworkInterfacePrivateIpAddress (Maybe NetworkInterfaceAssociation)
+ Network.AWS.EC2.Types: nipiaAssociation :: Lens' NetworkInterfacePrivateIPAddress (Maybe NetworkInterfaceAssociation)
- Network.AWS.EC2.Types: nipiaPrimary :: Lens' NetworkInterfacePrivateIpAddress (Maybe Bool)
+ Network.AWS.EC2.Types: nipiaPrimary :: Lens' NetworkInterfacePrivateIPAddress (Maybe Bool)
- Network.AWS.EC2.Types: piasPrimary :: Lens' PrivateIpAddressSpecification (Maybe Bool)
+ Network.AWS.EC2.Types: piasPrimary :: Lens' PrivateIPAddressSpecification (Maybe Bool)
- Network.AWS.EC2.Types: pvGatewayId :: Lens' PropagatingVgw (Maybe Text)
+ Network.AWS.EC2.Types: pvGatewayId :: Lens' PropagatingVGW (Maybe Text)
- Network.AWS.EC2.Types: sfrcdLaunchSpecifications :: Lens' SpotFleetRequestConfigData (NonEmpty LaunchSpecification)
+ Network.AWS.EC2.Types: sfrcdLaunchSpecifications :: Lens' SpotFleetRequestConfigData (NonEmpty SpotFleetLaunchSpecification)
- Network.AWS.EC2.Types: snapshot :: Text -> Text -> SnapshotState -> UTCTime -> Text -> Text -> Text -> Int -> Bool -> Snapshot
+ Network.AWS.EC2.Types: snapshot :: Text -> Text -> Text -> Int -> Text -> UTCTime -> Text -> SnapshotState -> Bool -> Snapshot
- Network.AWS.EC2.Types: spAvailabilityZone :: Lens' SpotPrice (Maybe Text)
+ Network.AWS.EC2.Types: spAvailabilityZone :: Lens' SpotPlacement (Maybe Text)
- Network.AWS.EC2.Types: spotFleetRequestConfigData :: Text -> Int -> Text -> NonEmpty LaunchSpecification -> SpotFleetRequestConfigData
+ Network.AWS.EC2.Types: spotFleetRequestConfigData :: Text -> Int -> Text -> NonEmpty SpotFleetLaunchSpecification -> SpotFleetRequestConfigData
- Network.AWS.EC2.Types: ssUploadPolicy :: Lens' S3Storage (Maybe Base64)
+ Network.AWS.EC2.Types: ssUploadPolicy :: Lens' S3Storage (Maybe ByteString)
- Network.AWS.EC2.Types: subnet :: Text -> SubnetState -> Text -> Text -> Int -> Text -> Bool -> Bool -> Subnet
+ Network.AWS.EC2.Types: subnet :: Text -> Int -> Text -> Bool -> Bool -> SubnetState -> Text -> Text -> Subnet
- Network.AWS.EC2.Types: vaState :: Lens' VolumeAttachment (Maybe VolumeAttachmentState)
+ Network.AWS.EC2.Types: vaState :: Lens' VPCAttachment (Maybe AttachmentStatus)
- Network.AWS.EC2.Types: vcCustomerGatewayConfiguration :: Lens' VpnConnection Text
+ Network.AWS.EC2.Types: vcCustomerGatewayConfiguration :: Lens' VPNConnection Text
- Network.AWS.EC2.Types: vcCustomerGatewayId :: Lens' VpnConnection Text
+ Network.AWS.EC2.Types: vcCustomerGatewayId :: Lens' VPNConnection Text
- Network.AWS.EC2.Types: vcOptions :: Lens' VpnConnection (Maybe VpnConnectionOptions)
+ Network.AWS.EC2.Types: vcOptions :: Lens' VPNConnection (Maybe VPNConnectionOptions)
- Network.AWS.EC2.Types: vcRoutes :: Lens' VpnConnection [VpnStaticRoute]
+ Network.AWS.EC2.Types: vcRoutes :: Lens' VPNConnection [VPNStaticRoute]
- Network.AWS.EC2.Types: vcState :: Lens' VpnConnection VpnState
+ Network.AWS.EC2.Types: vcState :: Lens' VPNConnection VPNState
- Network.AWS.EC2.Types: vcTags :: Lens' VpnConnection [Tag]
+ Network.AWS.EC2.Types: vcTags :: Lens' VPNConnection [Tag]
- Network.AWS.EC2.Types: vcType :: Lens' VpnConnection GatewayType
+ Network.AWS.EC2.Types: vcType :: Lens' VPNConnection GatewayType
- Network.AWS.EC2.Types: vclClassicLinkEnabled :: Lens' VpcClassicLink (Maybe Bool)
+ Network.AWS.EC2.Types: vclClassicLinkEnabled :: Lens' VPCClassicLink (Maybe Bool)
- Network.AWS.EC2.Types: vclTags :: Lens' VpcClassicLink [Tag]
+ Network.AWS.EC2.Types: vclTags :: Lens' VPCClassicLink [Tag]
- Network.AWS.EC2.Types: vcoStaticRoutesOnly :: Lens' VpnConnectionOptions (Maybe Bool)
+ Network.AWS.EC2.Types: vcoStaticRoutesOnly :: Lens' VPNConnectionOptions (Maybe Bool)
- Network.AWS.EC2.Types: vcosStaticRoutesOnly :: Lens' VpnConnectionOptionsSpecification (Maybe Bool)
+ Network.AWS.EC2.Types: vcosStaticRoutesOnly :: Lens' VPNConnectionOptionsSpecification (Maybe Bool)
- Network.AWS.EC2.Types: veCreationTimestamp :: Lens' VpcEndpoint (Maybe UTCTime)
+ Network.AWS.EC2.Types: veCreationTimestamp :: Lens' VPCEndpoint (Maybe UTCTime)
- Network.AWS.EC2.Types: vePolicyDocument :: Lens' VpcEndpoint (Maybe Text)
+ Network.AWS.EC2.Types: vePolicyDocument :: Lens' VPCEndpoint (Maybe Text)
- Network.AWS.EC2.Types: veRouteTableIds :: Lens' VpcEndpoint [Text]
+ Network.AWS.EC2.Types: veRouteTableIds :: Lens' VPCEndpoint [Text]
- Network.AWS.EC2.Types: veServiceName :: Lens' VpcEndpoint (Maybe Text)
+ Network.AWS.EC2.Types: veServiceName :: Lens' VPCEndpoint (Maybe Text)
- Network.AWS.EC2.Types: veState :: Lens' VpcEndpoint (Maybe State)
+ Network.AWS.EC2.Types: veState :: Lens' VPCEndpoint (Maybe State)
- Network.AWS.EC2.Types: vgAvailabilityZone :: Lens' VpnGateway (Maybe Text)
+ Network.AWS.EC2.Types: vgAvailabilityZone :: Lens' VPNGateway (Maybe Text)
- Network.AWS.EC2.Types: vgState :: Lens' VpnGateway (Maybe VpnState)
+ Network.AWS.EC2.Types: vgState :: Lens' VPNGateway (Maybe VPNState)
- Network.AWS.EC2.Types: vgTags :: Lens' VpnGateway [Tag]
+ Network.AWS.EC2.Types: vgTags :: Lens' VPNGateway [Tag]
- Network.AWS.EC2.Types: vgType :: Lens' VpnGateway (Maybe GatewayType)
+ Network.AWS.EC2.Types: vgType :: Lens' VPNGateway (Maybe GatewayType)
- Network.AWS.EC2.Types: vgwTelemetry :: VgwTelemetry
+ Network.AWS.EC2.Types: vgwTelemetry :: VGWTelemetry
- Network.AWS.EC2.Types: volume :: Text -> Int -> Text -> Text -> VolumeState -> UTCTime -> VolumeType -> Bool -> Volume
+ Network.AWS.EC2.Types: volume :: Text -> UTCTime -> Bool -> Int -> Text -> VolumeState -> Text -> VolumeType -> Volume
- Network.AWS.EC2.Types: vpc :: Text -> VpcState -> Text -> Text -> Tenancy -> Bool -> Vpc
+ Network.AWS.EC2.Types: vpc :: Text -> Text -> Tenancy -> Bool -> VPCState -> Text -> VPC
- Network.AWS.EC2.Types: vpcAttachment :: VpcAttachment
+ Network.AWS.EC2.Types: vpcAttachment :: VPCAttachment
- Network.AWS.EC2.Types: vpcClassicLink :: VpcClassicLink
+ Network.AWS.EC2.Types: vpcClassicLink :: VPCClassicLink
- Network.AWS.EC2.Types: vpcEndpoint :: VpcEndpoint
+ Network.AWS.EC2.Types: vpcEndpoint :: VPCEndpoint
- Network.AWS.EC2.Types: vpcInstanceTenancy :: Lens' Vpc Tenancy
+ Network.AWS.EC2.Types: vpcInstanceTenancy :: Lens' VPC Tenancy
- Network.AWS.EC2.Types: vpcIsDefault :: Lens' Vpc Bool
+ Network.AWS.EC2.Types: vpcIsDefault :: Lens' VPC Bool
- Network.AWS.EC2.Types: vpcPeeringConnection :: VpcPeeringConnection
+ Network.AWS.EC2.Types: vpcPeeringConnection :: VPCPeeringConnection
- Network.AWS.EC2.Types: vpcPeeringConnectionStateReason :: VpcPeeringConnectionStateReason
+ Network.AWS.EC2.Types: vpcPeeringConnectionStateReason :: VPCPeeringConnectionStateReason
- Network.AWS.EC2.Types: vpcState :: Lens' Vpc VpcState
+ Network.AWS.EC2.Types: vpcState :: Lens' VPC VPCState
- Network.AWS.EC2.Types: vpcTags :: Lens' Vpc [Tag]
+ Network.AWS.EC2.Types: vpcTags :: Lens' VPC [Tag]
- Network.AWS.EC2.Types: vpcsrCode :: Lens' VpcPeeringConnectionStateReason (Maybe Text)
+ Network.AWS.EC2.Types: vpcsrCode :: Lens' VPCPeeringConnectionStateReason (Maybe VPCPeeringConnectionStateReasonCode)
- Network.AWS.EC2.Types: vpcsrMessage :: Lens' VpcPeeringConnectionStateReason (Maybe Text)
+ Network.AWS.EC2.Types: vpcsrMessage :: Lens' VPCPeeringConnectionStateReason (Maybe Text)
- Network.AWS.EC2.Types: vpcviOwnerId :: Lens' VpcPeeringConnectionVpcInfo (Maybe Text)
+ Network.AWS.EC2.Types: vpcviOwnerId :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)
- Network.AWS.EC2.Types: vpnConnection :: Text -> VpnState -> Text -> GatewayType -> Text -> VpnConnection
+ Network.AWS.EC2.Types: vpnConnection :: Text -> Text -> Text -> VPNState -> GatewayType -> VPNConnection
- Network.AWS.EC2.Types: vpnConnectionOptions :: VpnConnectionOptions
+ Network.AWS.EC2.Types: vpnConnectionOptions :: VPNConnectionOptions
- Network.AWS.EC2.Types: vpnConnectionOptionsSpecification :: VpnConnectionOptionsSpecification
+ Network.AWS.EC2.Types: vpnConnectionOptionsSpecification :: VPNConnectionOptionsSpecification
- Network.AWS.EC2.Types: vpnGateway :: VpnGateway
+ Network.AWS.EC2.Types: vpnGateway :: VPNGateway
- Network.AWS.EC2.Types: vpnStaticRoute :: VpnStaticRoute
+ Network.AWS.EC2.Types: vpnStaticRoute :: VPNStaticRoute
- Network.AWS.EC2.Types: vsrSource :: Lens' VpnStaticRoute (Maybe VpnStaticRouteSource)
+ Network.AWS.EC2.Types: vsrSource :: Lens' VPNStaticRoute (Maybe VPNStaticRouteSource)
- Network.AWS.EC2.Types: vsrState :: Lens' VpnStaticRoute (Maybe VpnState)
+ Network.AWS.EC2.Types: vsrState :: Lens' VPNStaticRoute (Maybe VPNState)
- Network.AWS.EC2.Types: vtAcceptedRouteCount :: Lens' VgwTelemetry (Maybe Int)
+ Network.AWS.EC2.Types: vtAcceptedRouteCount :: Lens' VGWTelemetry (Maybe Int)
- Network.AWS.EC2.Types: vtLastStatusChange :: Lens' VgwTelemetry (Maybe UTCTime)
+ Network.AWS.EC2.Types: vtLastStatusChange :: Lens' VGWTelemetry (Maybe UTCTime)
- Network.AWS.EC2.Types: vtStatus :: Lens' VgwTelemetry (Maybe TelemetryStatus)
+ Network.AWS.EC2.Types: vtStatus :: Lens' VGWTelemetry (Maybe TelemetryStatus)
- Network.AWS.EC2.Types: vtStatusMessage :: Lens' VgwTelemetry (Maybe Text)
+ Network.AWS.EC2.Types: vtStatusMessage :: Lens' VGWTelemetry (Maybe Text)
- Network.AWS.EC2.UnmonitorInstances: unmonitorInstancesResponse :: UnmonitorInstancesResponse
+ Network.AWS.EC2.UnmonitorInstances: unmonitorInstancesResponse :: Int -> UnmonitorInstancesResponse
- Network.AWS.EC2.Waiters: vpcAvailable :: Wait DescribeVpcs
+ Network.AWS.EC2.Waiters: vpcAvailable :: Wait DescribeVPCs
- Network.AWS.EC2.Waiters: vpnConnectionAvailable :: Wait DescribeVpnConnections
+ Network.AWS.EC2.Waiters: vpnConnectionAvailable :: Wait DescribeVPNConnections
- Network.AWS.EC2.Waiters: vpnConnectionDeleted :: Wait DescribeVpnConnections
+ Network.AWS.EC2.Waiters: vpnConnectionDeleted :: Wait DescribeVPNConnections

Files

README.md view
@@ -1,29 +1,36 @@ # Amazon Elastic Compute Cloud SDK -> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!-+* [Version](#version) * [Description](#description) * [Contribute](#contribute) * [Licence](#licence) ++## Version++`1.0.0`++ ## Description -Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides-resizable compute capacity in the cloud. It is designed to make web-scale-computing easier for developers. Amazon EC2’s simple web service interface-allows you to obtain and configure capacity with minimal friction. It-provides you with complete control of your computing resources and lets you-run on Amazon’s proven computing environment. Amazon EC2 reduces the time-required to obtain and boot new server instances to minutes, allowing you to-quickly scale capacity, both up and down, as your computing requirements-change. Amazon EC2 changes the economics of computing by allowing you to pay-only for capacity that you actually use. Amazon EC2 provides developers the-tools to build failure resilient applications and isolate themselves from-common failure scenarios.+Amazon Elastic Compute Cloud +Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing+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.+ 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). +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.++Use of lenses is required for constructing and manipulating types.+This is due to the amount of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).  ## Contribute 
amazonka-ec2.cabal view
@@ -1,36 +1,38 @@ name:                  amazonka-ec2-version:               0.3.6.1+version:               1.0.0 synopsis:              Amazon Elastic Compute Cloud SDK. homepage:              https://github.com/brendanhay/amazonka license:               OtherLicense license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2013-2014 Brendan Hay+copyright:             Copyright (c) 2013-2015 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple extra-source-files:    README.md cabal-version:         >= 1.10  description:-    Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides-    resizable compute capacity in the cloud. It is designed to make web-scale-    computing easier for developers. Amazon EC2’s simple web service interface-    allows you to obtain and configure capacity with minimal friction. It-    provides you with complete control of your computing resources and lets you-    run on Amazon’s proven computing environment. Amazon EC2 reduces the time-    required to obtain and boot new server instances to minutes, allowing you to-    quickly scale capacity, both up and down, as your computing requirements-    change. Amazon EC2 changes the economics of computing by allowing you to pay-    only for capacity that you actually use. Amazon EC2 provides developers the-    tools to build failure resilient applications and isolate themselves from-    common failure scenarios.+    Amazon Elastic Compute Cloud +    Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing+    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>+    The types from this library are intended to be used with+    <http://hackage.haskell.org/package/amazonka amazonka>, which provides+    mechanisms for specifying AuthN/AuthZ information and sending requests.     .-    /Warning:/ This is an experimental preview release which is still under-    heavy development and not intended for public consumption, caveat emptor!+    Use of lenses is required for constructing and manipulating types.+    This is due to the amount of nesting of AWS types and transparency regarding+    de/serialisation into more palatable Haskell values.+    The provided lenses should be compatible with any of the major lens libraries+    such as <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>+    to get started.  source-repository head     type:     git@@ -44,17 +46,17 @@      exposed-modules:           Network.AWS.EC2-        , Network.AWS.EC2.AcceptVpcPeeringConnection+        , Network.AWS.EC2.AcceptVPCPeeringConnection         , Network.AWS.EC2.AllocateAddress-        , Network.AWS.EC2.AssignPrivateIpAddresses+        , Network.AWS.EC2.AssignPrivateIPAddresses         , Network.AWS.EC2.AssociateAddress-        , Network.AWS.EC2.AssociateDhcpOptions+        , Network.AWS.EC2.AssociateDHCPOptions         , Network.AWS.EC2.AssociateRouteTable-        , Network.AWS.EC2.AttachClassicLinkVpc+        , Network.AWS.EC2.AttachClassicLinkVPC         , Network.AWS.EC2.AttachInternetGateway         , Network.AWS.EC2.AttachNetworkInterface+        , Network.AWS.EC2.AttachVPNGateway         , Network.AWS.EC2.AttachVolume-        , Network.AWS.EC2.AttachVpnGateway         , Network.AWS.EC2.AuthorizeSecurityGroupEgress         , Network.AWS.EC2.AuthorizeSecurityGroupIngress         , Network.AWS.EC2.BundleInstance@@ -69,13 +71,14 @@         , Network.AWS.EC2.CopyImage         , Network.AWS.EC2.CopySnapshot         , Network.AWS.EC2.CreateCustomerGateway-        , Network.AWS.EC2.CreateDhcpOptions+        , Network.AWS.EC2.CreateDHCPOptions+        , Network.AWS.EC2.CreateFlowLogs         , Network.AWS.EC2.CreateImage         , Network.AWS.EC2.CreateInstanceExportTask         , Network.AWS.EC2.CreateInternetGateway         , Network.AWS.EC2.CreateKeyPair-        , Network.AWS.EC2.CreateNetworkAcl-        , Network.AWS.EC2.CreateNetworkAclEntry+        , Network.AWS.EC2.CreateNetworkACL+        , Network.AWS.EC2.CreateNetworkACLEntry         , Network.AWS.EC2.CreateNetworkInterface         , Network.AWS.EC2.CreatePlacementGroup         , Network.AWS.EC2.CreateReservedInstancesListing@@ -86,19 +89,20 @@         , Network.AWS.EC2.CreateSpotDatafeedSubscription         , Network.AWS.EC2.CreateSubnet         , Network.AWS.EC2.CreateTags+        , Network.AWS.EC2.CreateVPC+        , Network.AWS.EC2.CreateVPCEndpoint+        , Network.AWS.EC2.CreateVPCPeeringConnection+        , Network.AWS.EC2.CreateVPNConnection+        , Network.AWS.EC2.CreateVPNConnectionRoute+        , Network.AWS.EC2.CreateVPNGateway         , Network.AWS.EC2.CreateVolume-        , Network.AWS.EC2.CreateVpc-        , Network.AWS.EC2.CreateVpcEndpoint-        , Network.AWS.EC2.CreateVpcPeeringConnection-        , Network.AWS.EC2.CreateVpnConnection-        , Network.AWS.EC2.CreateVpnConnectionRoute-        , Network.AWS.EC2.CreateVpnGateway         , Network.AWS.EC2.DeleteCustomerGateway-        , Network.AWS.EC2.DeleteDhcpOptions+        , Network.AWS.EC2.DeleteDHCPOptions+        , Network.AWS.EC2.DeleteFlowLogs         , Network.AWS.EC2.DeleteInternetGateway         , Network.AWS.EC2.DeleteKeyPair-        , Network.AWS.EC2.DeleteNetworkAcl-        , Network.AWS.EC2.DeleteNetworkAclEntry+        , Network.AWS.EC2.DeleteNetworkACL+        , Network.AWS.EC2.DeleteNetworkACLEntry         , Network.AWS.EC2.DeleteNetworkInterface         , Network.AWS.EC2.DeletePlacementGroup         , Network.AWS.EC2.DeleteRoute@@ -108,13 +112,13 @@         , Network.AWS.EC2.DeleteSpotDatafeedSubscription         , Network.AWS.EC2.DeleteSubnet         , Network.AWS.EC2.DeleteTags+        , Network.AWS.EC2.DeleteVPC+        , Network.AWS.EC2.DeleteVPCEndpoints+        , Network.AWS.EC2.DeleteVPCPeeringConnection+        , Network.AWS.EC2.DeleteVPNConnection+        , Network.AWS.EC2.DeleteVPNConnectionRoute+        , Network.AWS.EC2.DeleteVPNGateway         , Network.AWS.EC2.DeleteVolume-        , Network.AWS.EC2.DeleteVpc-        , Network.AWS.EC2.DeleteVpcEndpoints-        , Network.AWS.EC2.DeleteVpcPeeringConnection-        , Network.AWS.EC2.DeleteVpnConnection-        , Network.AWS.EC2.DeleteVpnConnectionRoute-        , Network.AWS.EC2.DeleteVpnGateway         , Network.AWS.EC2.DeregisterImage         , Network.AWS.EC2.DescribeAccountAttributes         , Network.AWS.EC2.DescribeAddresses@@ -123,8 +127,9 @@         , Network.AWS.EC2.DescribeClassicLinkInstances         , Network.AWS.EC2.DescribeConversionTasks         , Network.AWS.EC2.DescribeCustomerGateways-        , Network.AWS.EC2.DescribeDhcpOptions+        , Network.AWS.EC2.DescribeDHCPOptions         , Network.AWS.EC2.DescribeExportTasks+        , Network.AWS.EC2.DescribeFlowLogs         , Network.AWS.EC2.DescribeImageAttribute         , Network.AWS.EC2.DescribeImages         , Network.AWS.EC2.DescribeImportImageTasks@@ -135,7 +140,7 @@         , Network.AWS.EC2.DescribeInternetGateways         , Network.AWS.EC2.DescribeKeyPairs         , Network.AWS.EC2.DescribeMovingAddresses-        , Network.AWS.EC2.DescribeNetworkAcls+        , Network.AWS.EC2.DescribeNetworkACLs         , Network.AWS.EC2.DescribeNetworkInterfaceAttribute         , Network.AWS.EC2.DescribeNetworkInterfaces         , Network.AWS.EC2.DescribePlacementGroups@@ -157,29 +162,29 @@         , Network.AWS.EC2.DescribeSpotPriceHistory         , Network.AWS.EC2.DescribeSubnets         , Network.AWS.EC2.DescribeTags+        , Network.AWS.EC2.DescribeVPCAttribute+        , Network.AWS.EC2.DescribeVPCClassicLink+        , Network.AWS.EC2.DescribeVPCEndpointServices+        , Network.AWS.EC2.DescribeVPCEndpoints+        , Network.AWS.EC2.DescribeVPCPeeringConnections+        , Network.AWS.EC2.DescribeVPCs+        , Network.AWS.EC2.DescribeVPNConnections+        , Network.AWS.EC2.DescribeVPNGateways         , Network.AWS.EC2.DescribeVolumeAttribute         , Network.AWS.EC2.DescribeVolumeStatus         , Network.AWS.EC2.DescribeVolumes-        , Network.AWS.EC2.DescribeVpcAttribute-        , Network.AWS.EC2.DescribeVpcClassicLink-        , Network.AWS.EC2.DescribeVpcEndpointServices-        , Network.AWS.EC2.DescribeVpcEndpoints-        , Network.AWS.EC2.DescribeVpcPeeringConnections-        , Network.AWS.EC2.DescribeVpcs-        , Network.AWS.EC2.DescribeVpnConnections-        , Network.AWS.EC2.DescribeVpnGateways-        , Network.AWS.EC2.DetachClassicLinkVpc+        , Network.AWS.EC2.DetachClassicLinkVPC         , Network.AWS.EC2.DetachInternetGateway         , Network.AWS.EC2.DetachNetworkInterface+        , Network.AWS.EC2.DetachVPNGateway         , Network.AWS.EC2.DetachVolume-        , Network.AWS.EC2.DetachVpnGateway-        , Network.AWS.EC2.DisableVgwRoutePropagation-        , Network.AWS.EC2.DisableVpcClassicLink+        , Network.AWS.EC2.DisableVGWRoutePropagation+        , Network.AWS.EC2.DisableVPCClassicLink         , Network.AWS.EC2.DisassociateAddress         , Network.AWS.EC2.DisassociateRouteTable-        , Network.AWS.EC2.EnableVgwRoutePropagation+        , Network.AWS.EC2.EnableVGWRoutePropagation+        , Network.AWS.EC2.EnableVPCClassicLink         , Network.AWS.EC2.EnableVolumeIO-        , Network.AWS.EC2.EnableVpcClassicLink         , Network.AWS.EC2.GetConsoleOutput         , Network.AWS.EC2.GetPasswordData         , Network.AWS.EC2.ImportImage@@ -193,18 +198,18 @@         , Network.AWS.EC2.ModifyReservedInstances         , Network.AWS.EC2.ModifySnapshotAttribute         , Network.AWS.EC2.ModifySubnetAttribute+        , Network.AWS.EC2.ModifyVPCAttribute+        , Network.AWS.EC2.ModifyVPCEndpoint         , Network.AWS.EC2.ModifyVolumeAttribute-        , Network.AWS.EC2.ModifyVpcAttribute-        , Network.AWS.EC2.ModifyVpcEndpoint         , Network.AWS.EC2.MonitorInstances-        , Network.AWS.EC2.MoveAddressToVpc+        , Network.AWS.EC2.MoveAddressToVPC         , Network.AWS.EC2.PurchaseReservedInstancesOffering         , Network.AWS.EC2.RebootInstances         , Network.AWS.EC2.RegisterImage-        , Network.AWS.EC2.RejectVpcPeeringConnection+        , Network.AWS.EC2.RejectVPCPeeringConnection         , Network.AWS.EC2.ReleaseAddress-        , Network.AWS.EC2.ReplaceNetworkAclAssociation-        , Network.AWS.EC2.ReplaceNetworkAclEntry+        , Network.AWS.EC2.ReplaceNetworkACLAssociation+        , Network.AWS.EC2.ReplaceNetworkACLEntry         , Network.AWS.EC2.ReplaceRoute         , Network.AWS.EC2.ReplaceRouteTableAssociation         , Network.AWS.EC2.ReportInstanceStatus@@ -222,13 +227,42 @@         , Network.AWS.EC2.StopInstances         , Network.AWS.EC2.TerminateInstances         , Network.AWS.EC2.Types-        , Network.AWS.EC2.UnassignPrivateIpAddresses+        , Network.AWS.EC2.UnassignPrivateIPAddresses         , Network.AWS.EC2.UnmonitorInstances         , Network.AWS.EC2.Waiters      other-modules:-          Network.AWS.EC2.Internal+          Network.AWS.EC2.Types.Product+        , Network.AWS.EC2.Types.Sum      build-depends:-          amazonka-core == 0.3.6.*+          amazonka-core == 1.0.0.*         , base          >= 4.7     && < 5++test-suite amazonka-ec2-test+    type:              exitcode-stdio-1.0+    default-language:  Haskell2010+    hs-source-dirs:    test+    main-is:           Main.hs++    ghc-options:       -Wall -threaded++    -- This is not comprehensive if modules have manually been added.+    -- It exists to ensure cabal 'somewhat' detects test module changes.+    other-modules:+          Test.AWS.EC2+        , Test.AWS.Gen.EC2+        , Test.AWS.EC2.Internal++    build-depends:+          amazonka-core == 1.0.0+        , amazonka-test == 1.0.0+        , amazonka-ec2 == 1.0.0+        , base+        , bytestring+        , lens+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
gen/Network/AWS/EC2.hs view
@@ -1,389 +1,2507 @@--- Module      : Network.AWS.EC2--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides--- resizable compute capacity in the cloud. It is designed to make web-scale--- computing easier for developers. Amazon EC2’s simple web service interface--- allows you to obtain and configure capacity with minimal friction. It--- provides you with complete control of your computing resources and lets you--- run on Amazon’s proven computing environment. Amazon EC2 reduces the time--- required to obtain and boot new server instances to minutes, allowing you to--- quickly scale capacity, both up and down, as your computing requirements--- change. Amazon EC2 changes the economics of computing by allowing you to pay--- only for capacity that you actually use. Amazon EC2 provides developers the--- tools to build failure resilient applications and isolate themselves from--- common failure scenarios.-module Network.AWS.EC2-    ( module Network.AWS.EC2.AcceptVpcPeeringConnection-    , module Network.AWS.EC2.AllocateAddress-    , module Network.AWS.EC2.AssignPrivateIpAddresses-    , module Network.AWS.EC2.AssociateAddress-    , module Network.AWS.EC2.AssociateDhcpOptions-    , module Network.AWS.EC2.AssociateRouteTable-    , module Network.AWS.EC2.AttachClassicLinkVpc-    , module Network.AWS.EC2.AttachInternetGateway-    , module Network.AWS.EC2.AttachNetworkInterface-    , module Network.AWS.EC2.AttachVolume-    , module Network.AWS.EC2.AttachVpnGateway-    , module Network.AWS.EC2.AuthorizeSecurityGroupEgress-    , module Network.AWS.EC2.AuthorizeSecurityGroupIngress-    , module Network.AWS.EC2.BundleInstance-    , module Network.AWS.EC2.CancelBundleTask-    , module Network.AWS.EC2.CancelConversionTask-    , module Network.AWS.EC2.CancelExportTask-    , module Network.AWS.EC2.CancelImportTask-    , module Network.AWS.EC2.CancelReservedInstancesListing-    , module Network.AWS.EC2.CancelSpotFleetRequests-    , module Network.AWS.EC2.CancelSpotInstanceRequests-    , module Network.AWS.EC2.ConfirmProductInstance-    , module Network.AWS.EC2.CopyImage-    , module Network.AWS.EC2.CopySnapshot-    , module Network.AWS.EC2.CreateCustomerGateway-    , module Network.AWS.EC2.CreateDhcpOptions-    , module Network.AWS.EC2.CreateImage-    , module Network.AWS.EC2.CreateInstanceExportTask-    , module Network.AWS.EC2.CreateInternetGateway-    , module Network.AWS.EC2.CreateKeyPair-    , module Network.AWS.EC2.CreateNetworkAcl-    , module Network.AWS.EC2.CreateNetworkAclEntry-    , module Network.AWS.EC2.CreateNetworkInterface-    , module Network.AWS.EC2.CreatePlacementGroup-    , module Network.AWS.EC2.CreateReservedInstancesListing-    , module Network.AWS.EC2.CreateRoute-    , module Network.AWS.EC2.CreateRouteTable-    , module Network.AWS.EC2.CreateSecurityGroup-    , module Network.AWS.EC2.CreateSnapshot-    , module Network.AWS.EC2.CreateSpotDatafeedSubscription-    , module Network.AWS.EC2.CreateSubnet-    , module Network.AWS.EC2.CreateTags-    , module Network.AWS.EC2.CreateVolume-    , module Network.AWS.EC2.CreateVpc-    , module Network.AWS.EC2.CreateVpcEndpoint-    , module Network.AWS.EC2.CreateVpcPeeringConnection-    , module Network.AWS.EC2.CreateVpnConnection-    , module Network.AWS.EC2.CreateVpnConnectionRoute-    , module Network.AWS.EC2.CreateVpnGateway-    , module Network.AWS.EC2.DeleteCustomerGateway-    , module Network.AWS.EC2.DeleteDhcpOptions-    , module Network.AWS.EC2.DeleteInternetGateway-    , module Network.AWS.EC2.DeleteKeyPair-    , module Network.AWS.EC2.DeleteNetworkAcl-    , module Network.AWS.EC2.DeleteNetworkAclEntry-    , module Network.AWS.EC2.DeleteNetworkInterface-    , module Network.AWS.EC2.DeletePlacementGroup-    , module Network.AWS.EC2.DeleteRoute-    , module Network.AWS.EC2.DeleteRouteTable-    , module Network.AWS.EC2.DeleteSecurityGroup-    , module Network.AWS.EC2.DeleteSnapshot-    , module Network.AWS.EC2.DeleteSpotDatafeedSubscription-    , module Network.AWS.EC2.DeleteSubnet-    , module Network.AWS.EC2.DeleteTags-    , module Network.AWS.EC2.DeleteVolume-    , module Network.AWS.EC2.DeleteVpc-    , module Network.AWS.EC2.DeleteVpcEndpoints-    , module Network.AWS.EC2.DeleteVpcPeeringConnection-    , module Network.AWS.EC2.DeleteVpnConnection-    , module Network.AWS.EC2.DeleteVpnConnectionRoute-    , module Network.AWS.EC2.DeleteVpnGateway-    , module Network.AWS.EC2.DeregisterImage-    , module Network.AWS.EC2.DescribeAccountAttributes-    , module Network.AWS.EC2.DescribeAddresses-    , module Network.AWS.EC2.DescribeAvailabilityZones-    , module Network.AWS.EC2.DescribeBundleTasks-    , module Network.AWS.EC2.DescribeClassicLinkInstances-    , module Network.AWS.EC2.DescribeConversionTasks-    , module Network.AWS.EC2.DescribeCustomerGateways-    , module Network.AWS.EC2.DescribeDhcpOptions-    , module Network.AWS.EC2.DescribeExportTasks-    , module Network.AWS.EC2.DescribeImageAttribute-    , module Network.AWS.EC2.DescribeImages-    , module Network.AWS.EC2.DescribeImportImageTasks-    , module Network.AWS.EC2.DescribeImportSnapshotTasks-    , module Network.AWS.EC2.DescribeInstanceAttribute-    , module Network.AWS.EC2.DescribeInstanceStatus-    , module Network.AWS.EC2.DescribeInstances-    , module Network.AWS.EC2.DescribeInternetGateways-    , module Network.AWS.EC2.DescribeKeyPairs-    , module Network.AWS.EC2.DescribeMovingAddresses-    , module Network.AWS.EC2.DescribeNetworkAcls-    , module Network.AWS.EC2.DescribeNetworkInterfaceAttribute-    , module Network.AWS.EC2.DescribeNetworkInterfaces-    , module Network.AWS.EC2.DescribePlacementGroups-    , module Network.AWS.EC2.DescribePrefixLists-    , module Network.AWS.EC2.DescribeRegions-    , module Network.AWS.EC2.DescribeReservedInstances-    , module Network.AWS.EC2.DescribeReservedInstancesListings-    , module Network.AWS.EC2.DescribeReservedInstancesModifications-    , module Network.AWS.EC2.DescribeReservedInstancesOfferings-    , module Network.AWS.EC2.DescribeRouteTables-    , module Network.AWS.EC2.DescribeSecurityGroups-    , module Network.AWS.EC2.DescribeSnapshotAttribute-    , module Network.AWS.EC2.DescribeSnapshots-    , module Network.AWS.EC2.DescribeSpotDatafeedSubscription-    , module Network.AWS.EC2.DescribeSpotFleetInstances-    , module Network.AWS.EC2.DescribeSpotFleetRequestHistory-    , module Network.AWS.EC2.DescribeSpotFleetRequests-    , module Network.AWS.EC2.DescribeSpotInstanceRequests-    , module Network.AWS.EC2.DescribeSpotPriceHistory-    , module Network.AWS.EC2.DescribeSubnets-    , module Network.AWS.EC2.DescribeTags-    , module Network.AWS.EC2.DescribeVolumeAttribute-    , module Network.AWS.EC2.DescribeVolumeStatus-    , module Network.AWS.EC2.DescribeVolumes-    , module Network.AWS.EC2.DescribeVpcAttribute-    , module Network.AWS.EC2.DescribeVpcClassicLink-    , module Network.AWS.EC2.DescribeVpcEndpointServices-    , module Network.AWS.EC2.DescribeVpcEndpoints-    , module Network.AWS.EC2.DescribeVpcPeeringConnections-    , module Network.AWS.EC2.DescribeVpcs-    , module Network.AWS.EC2.DescribeVpnConnections-    , module Network.AWS.EC2.DescribeVpnGateways-    , module Network.AWS.EC2.DetachClassicLinkVpc-    , module Network.AWS.EC2.DetachInternetGateway-    , module Network.AWS.EC2.DetachNetworkInterface-    , module Network.AWS.EC2.DetachVolume-    , module Network.AWS.EC2.DetachVpnGateway-    , module Network.AWS.EC2.DisableVgwRoutePropagation-    , module Network.AWS.EC2.DisableVpcClassicLink-    , module Network.AWS.EC2.DisassociateAddress-    , module Network.AWS.EC2.DisassociateRouteTable-    , module Network.AWS.EC2.EnableVgwRoutePropagation-    , module Network.AWS.EC2.EnableVolumeIO-    , module Network.AWS.EC2.EnableVpcClassicLink-    , module Network.AWS.EC2.GetConsoleOutput-    , module Network.AWS.EC2.GetPasswordData-    , module Network.AWS.EC2.ImportImage-    , module Network.AWS.EC2.ImportInstance-    , module Network.AWS.EC2.ImportKeyPair-    , module Network.AWS.EC2.ImportSnapshot-    , module Network.AWS.EC2.ImportVolume-    , module Network.AWS.EC2.ModifyImageAttribute-    , module Network.AWS.EC2.ModifyInstanceAttribute-    , module Network.AWS.EC2.ModifyNetworkInterfaceAttribute-    , module Network.AWS.EC2.ModifyReservedInstances-    , module Network.AWS.EC2.ModifySnapshotAttribute-    , module Network.AWS.EC2.ModifySubnetAttribute-    , module Network.AWS.EC2.ModifyVolumeAttribute-    , module Network.AWS.EC2.ModifyVpcAttribute-    , module Network.AWS.EC2.ModifyVpcEndpoint-    , module Network.AWS.EC2.MonitorInstances-    , module Network.AWS.EC2.MoveAddressToVpc-    , module Network.AWS.EC2.PurchaseReservedInstancesOffering-    , module Network.AWS.EC2.RebootInstances-    , module Network.AWS.EC2.RegisterImage-    , module Network.AWS.EC2.RejectVpcPeeringConnection-    , module Network.AWS.EC2.ReleaseAddress-    , module Network.AWS.EC2.ReplaceNetworkAclAssociation-    , module Network.AWS.EC2.ReplaceNetworkAclEntry-    , module Network.AWS.EC2.ReplaceRoute-    , module Network.AWS.EC2.ReplaceRouteTableAssociation-    , module Network.AWS.EC2.ReportInstanceStatus-    , module Network.AWS.EC2.RequestSpotFleet-    , module Network.AWS.EC2.RequestSpotInstances-    , module Network.AWS.EC2.ResetImageAttribute-    , module Network.AWS.EC2.ResetInstanceAttribute-    , module Network.AWS.EC2.ResetNetworkInterfaceAttribute-    , module Network.AWS.EC2.ResetSnapshotAttribute-    , module Network.AWS.EC2.RestoreAddressToClassic-    , module Network.AWS.EC2.RevokeSecurityGroupEgress-    , module Network.AWS.EC2.RevokeSecurityGroupIngress-    , module Network.AWS.EC2.RunInstances-    , module Network.AWS.EC2.StartInstances-    , module Network.AWS.EC2.StopInstances-    , module Network.AWS.EC2.TerminateInstances-    , module Network.AWS.EC2.Types-    , module Network.AWS.EC2.UnassignPrivateIpAddresses-    , module Network.AWS.EC2.UnmonitorInstances-    , module Network.AWS.EC2.Waiters-    ) where--import Network.AWS.EC2.AcceptVpcPeeringConnection-import Network.AWS.EC2.AllocateAddress-import Network.AWS.EC2.AssignPrivateIpAddresses-import Network.AWS.EC2.AssociateAddress-import Network.AWS.EC2.AssociateDhcpOptions-import Network.AWS.EC2.AssociateRouteTable-import Network.AWS.EC2.AttachClassicLinkVpc-import Network.AWS.EC2.AttachInternetGateway-import Network.AWS.EC2.AttachNetworkInterface-import Network.AWS.EC2.AttachVolume-import Network.AWS.EC2.AttachVpnGateway-import Network.AWS.EC2.AuthorizeSecurityGroupEgress-import Network.AWS.EC2.AuthorizeSecurityGroupIngress-import Network.AWS.EC2.BundleInstance-import Network.AWS.EC2.CancelBundleTask-import Network.AWS.EC2.CancelConversionTask-import Network.AWS.EC2.CancelExportTask-import Network.AWS.EC2.CancelImportTask-import Network.AWS.EC2.CancelReservedInstancesListing-import Network.AWS.EC2.CancelSpotFleetRequests-import Network.AWS.EC2.CancelSpotInstanceRequests-import Network.AWS.EC2.ConfirmProductInstance-import Network.AWS.EC2.CopyImage-import Network.AWS.EC2.CopySnapshot-import Network.AWS.EC2.CreateCustomerGateway-import Network.AWS.EC2.CreateDhcpOptions-import Network.AWS.EC2.CreateImage-import Network.AWS.EC2.CreateInstanceExportTask-import Network.AWS.EC2.CreateInternetGateway-import Network.AWS.EC2.CreateKeyPair-import Network.AWS.EC2.CreateNetworkAcl-import Network.AWS.EC2.CreateNetworkAclEntry-import Network.AWS.EC2.CreateNetworkInterface-import Network.AWS.EC2.CreatePlacementGroup-import Network.AWS.EC2.CreateReservedInstancesListing-import Network.AWS.EC2.CreateRoute-import Network.AWS.EC2.CreateRouteTable-import Network.AWS.EC2.CreateSecurityGroup-import Network.AWS.EC2.CreateSnapshot-import Network.AWS.EC2.CreateSpotDatafeedSubscription-import Network.AWS.EC2.CreateSubnet-import Network.AWS.EC2.CreateTags-import Network.AWS.EC2.CreateVolume-import Network.AWS.EC2.CreateVpc-import Network.AWS.EC2.CreateVpcEndpoint-import Network.AWS.EC2.CreateVpcPeeringConnection-import Network.AWS.EC2.CreateVpnConnection-import Network.AWS.EC2.CreateVpnConnectionRoute-import Network.AWS.EC2.CreateVpnGateway-import Network.AWS.EC2.DeleteCustomerGateway-import Network.AWS.EC2.DeleteDhcpOptions-import Network.AWS.EC2.DeleteInternetGateway-import Network.AWS.EC2.DeleteKeyPair-import Network.AWS.EC2.DeleteNetworkAcl-import Network.AWS.EC2.DeleteNetworkAclEntry-import Network.AWS.EC2.DeleteNetworkInterface-import Network.AWS.EC2.DeletePlacementGroup-import Network.AWS.EC2.DeleteRoute-import Network.AWS.EC2.DeleteRouteTable-import Network.AWS.EC2.DeleteSecurityGroup-import Network.AWS.EC2.DeleteSnapshot-import Network.AWS.EC2.DeleteSpotDatafeedSubscription-import Network.AWS.EC2.DeleteSubnet-import Network.AWS.EC2.DeleteTags-import Network.AWS.EC2.DeleteVolume-import Network.AWS.EC2.DeleteVpc-import Network.AWS.EC2.DeleteVpcEndpoints-import Network.AWS.EC2.DeleteVpcPeeringConnection-import Network.AWS.EC2.DeleteVpnConnection-import Network.AWS.EC2.DeleteVpnConnectionRoute-import Network.AWS.EC2.DeleteVpnGateway-import Network.AWS.EC2.DeregisterImage-import Network.AWS.EC2.DescribeAccountAttributes-import Network.AWS.EC2.DescribeAddresses-import Network.AWS.EC2.DescribeAvailabilityZones-import Network.AWS.EC2.DescribeBundleTasks-import Network.AWS.EC2.DescribeClassicLinkInstances-import Network.AWS.EC2.DescribeConversionTasks-import Network.AWS.EC2.DescribeCustomerGateways-import Network.AWS.EC2.DescribeDhcpOptions-import Network.AWS.EC2.DescribeExportTasks-import Network.AWS.EC2.DescribeImageAttribute-import Network.AWS.EC2.DescribeImages-import Network.AWS.EC2.DescribeImportImageTasks-import Network.AWS.EC2.DescribeImportSnapshotTasks-import Network.AWS.EC2.DescribeInstanceAttribute-import Network.AWS.EC2.DescribeInstanceStatus-import Network.AWS.EC2.DescribeInstances-import Network.AWS.EC2.DescribeInternetGateways-import Network.AWS.EC2.DescribeKeyPairs-import Network.AWS.EC2.DescribeMovingAddresses-import Network.AWS.EC2.DescribeNetworkAcls-import Network.AWS.EC2.DescribeNetworkInterfaceAttribute-import Network.AWS.EC2.DescribeNetworkInterfaces-import Network.AWS.EC2.DescribePlacementGroups-import Network.AWS.EC2.DescribePrefixLists-import Network.AWS.EC2.DescribeRegions-import Network.AWS.EC2.DescribeReservedInstances-import Network.AWS.EC2.DescribeReservedInstancesListings-import Network.AWS.EC2.DescribeReservedInstancesModifications-import Network.AWS.EC2.DescribeReservedInstancesOfferings-import Network.AWS.EC2.DescribeRouteTables-import Network.AWS.EC2.DescribeSecurityGroups-import Network.AWS.EC2.DescribeSnapshotAttribute-import Network.AWS.EC2.DescribeSnapshots-import Network.AWS.EC2.DescribeSpotDatafeedSubscription-import Network.AWS.EC2.DescribeSpotFleetInstances-import Network.AWS.EC2.DescribeSpotFleetRequestHistory-import Network.AWS.EC2.DescribeSpotFleetRequests-import Network.AWS.EC2.DescribeSpotInstanceRequests-import Network.AWS.EC2.DescribeSpotPriceHistory-import Network.AWS.EC2.DescribeSubnets-import Network.AWS.EC2.DescribeTags-import Network.AWS.EC2.DescribeVolumeAttribute-import Network.AWS.EC2.DescribeVolumeStatus-import Network.AWS.EC2.DescribeVolumes-import Network.AWS.EC2.DescribeVpcAttribute-import Network.AWS.EC2.DescribeVpcClassicLink-import Network.AWS.EC2.DescribeVpcEndpointServices-import Network.AWS.EC2.DescribeVpcEndpoints-import Network.AWS.EC2.DescribeVpcPeeringConnections-import Network.AWS.EC2.DescribeVpcs-import Network.AWS.EC2.DescribeVpnConnections-import Network.AWS.EC2.DescribeVpnGateways-import Network.AWS.EC2.DetachClassicLinkVpc-import Network.AWS.EC2.DetachInternetGateway-import Network.AWS.EC2.DetachNetworkInterface-import Network.AWS.EC2.DetachVolume-import Network.AWS.EC2.DetachVpnGateway-import Network.AWS.EC2.DisableVgwRoutePropagation-import Network.AWS.EC2.DisableVpcClassicLink-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.GetConsoleOutput-import Network.AWS.EC2.GetPasswordData-import Network.AWS.EC2.ImportImage-import Network.AWS.EC2.ImportInstance-import Network.AWS.EC2.ImportKeyPair-import Network.AWS.EC2.ImportSnapshot-import Network.AWS.EC2.ImportVolume-import Network.AWS.EC2.ModifyImageAttribute-import Network.AWS.EC2.ModifyInstanceAttribute-import Network.AWS.EC2.ModifyNetworkInterfaceAttribute-import Network.AWS.EC2.ModifyReservedInstances-import Network.AWS.EC2.ModifySnapshotAttribute-import Network.AWS.EC2.ModifySubnetAttribute-import Network.AWS.EC2.ModifyVolumeAttribute-import Network.AWS.EC2.ModifyVpcAttribute-import Network.AWS.EC2.ModifyVpcEndpoint-import Network.AWS.EC2.MonitorInstances-import Network.AWS.EC2.MoveAddressToVpc-import Network.AWS.EC2.PurchaseReservedInstancesOffering-import Network.AWS.EC2.RebootInstances-import Network.AWS.EC2.RegisterImage-import Network.AWS.EC2.RejectVpcPeeringConnection-import Network.AWS.EC2.ReleaseAddress-import Network.AWS.EC2.ReplaceNetworkAclAssociation-import Network.AWS.EC2.ReplaceNetworkAclEntry-import Network.AWS.EC2.ReplaceRoute-import Network.AWS.EC2.ReplaceRouteTableAssociation-import Network.AWS.EC2.ReportInstanceStatus-import Network.AWS.EC2.RequestSpotFleet-import Network.AWS.EC2.RequestSpotInstances-import Network.AWS.EC2.ResetImageAttribute-import Network.AWS.EC2.ResetInstanceAttribute-import Network.AWS.EC2.ResetNetworkInterfaceAttribute-import Network.AWS.EC2.ResetSnapshotAttribute-import Network.AWS.EC2.RestoreAddressToClassic-import Network.AWS.EC2.RevokeSecurityGroupEgress-import Network.AWS.EC2.RevokeSecurityGroupIngress-import Network.AWS.EC2.RunInstances-import Network.AWS.EC2.StartInstances-import Network.AWS.EC2.StopInstances-import Network.AWS.EC2.TerminateInstances-import Network.AWS.EC2.Types-import Network.AWS.EC2.UnassignPrivateIpAddresses-import Network.AWS.EC2.UnmonitorInstances-import Network.AWS.EC2.Waiters+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2+-- 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)+--+-- Amazon Elastic Compute Cloud+--+-- Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing+-- 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+      EC2++    -- * Errors+    -- $errors++    -- * Waiters+    -- $waiters++    -- ** InstanceTerminated+    , instanceTerminated++    -- ** VolumeInUse+    , volumeInUse++    -- ** SubnetAvailable+    , subnetAvailable++    -- ** SystemStatusOK+    , systemStatusOK++    -- ** CustomerGatewayAvailable+    , customerGatewayAvailable++    -- ** ConversionTaskCompleted+    , conversionTaskCompleted++    -- ** ConversionTaskDeleted+    , conversionTaskDeleted++    -- ** InstanceStopped+    , instanceStopped++    -- ** PasswordDataAvailable+    , passwordDataAvailable++    -- ** InstanceRunning+    , instanceRunning++    -- ** SpotInstanceRequestFulfilled+    , spotInstanceRequestFulfilled++    -- ** ExportTaskCompleted+    , exportTaskCompleted++    -- ** VPCAvailable+    , vpcAvailable++    -- ** VPNConnectionAvailable+    , vpnConnectionAvailable++    -- ** ExportTaskCancelled+    , exportTaskCancelled++    -- ** VolumeDeleted+    , volumeDeleted++    -- ** BundleTaskComplete+    , bundleTaskComplete++    -- ** VPNConnectionDeleted+    , vpnConnectionDeleted++    -- ** ImageAvailable+    , imageAvailable++    -- ** ConversionTaskCancelled+    , conversionTaskCancelled++    -- ** InstanceExists+    , instanceExists++    -- ** VolumeAvailable+    , volumeAvailable++    -- ** SnapshotCompleted+    , snapshotCompleted++    -- ** InstanceStatusOK+    , instanceStatusOK++    -- * Operations+    -- $operations++    -- ** DetachNetworkInterface+    , module Network.AWS.EC2.DetachNetworkInterface++    -- ** DeleteVPCEndpoints+    , module Network.AWS.EC2.DeleteVPCEndpoints++    -- ** DeleteKeyPair+    , module Network.AWS.EC2.DeleteKeyPair++    -- ** DeleteFlowLogs+    , module Network.AWS.EC2.DeleteFlowLogs++    -- ** DescribeTags (Paginated)+    , module Network.AWS.EC2.DescribeTags++    -- ** RevokeSecurityGroupEgress+    , module Network.AWS.EC2.RevokeSecurityGroupEgress++    -- ** CreateVPNGateway+    , module Network.AWS.EC2.CreateVPNGateway++    -- ** DetachInternetGateway+    , module Network.AWS.EC2.DetachInternetGateway++    -- ** CreateNetworkACL+    , module Network.AWS.EC2.CreateNetworkACL++    -- ** ImportInstance+    , module Network.AWS.EC2.ImportInstance++    -- ** DescribeVPCClassicLink+    , module Network.AWS.EC2.DescribeVPCClassicLink++    -- ** DeleteVPNConnection+    , module Network.AWS.EC2.DeleteVPNConnection++    -- ** AuthorizeSecurityGroupEgress+    , module Network.AWS.EC2.AuthorizeSecurityGroupEgress++    -- ** DescribeBundleTasks+    , module Network.AWS.EC2.DescribeBundleTasks++    -- ** CreateInternetGateway+    , module Network.AWS.EC2.CreateInternetGateway++    -- ** ReleaseAddress+    , module Network.AWS.EC2.ReleaseAddress++    -- ** CancelBundleTask+    , module Network.AWS.EC2.CancelBundleTask++    -- ** ModifyNetworkInterfaceAttribute+    , module Network.AWS.EC2.ModifyNetworkInterfaceAttribute++    -- ** ModifySubnetAttribute+    , module Network.AWS.EC2.ModifySubnetAttribute++    -- ** DeregisterImage+    , module Network.AWS.EC2.DeregisterImage++    -- ** DetachVolume+    , module Network.AWS.EC2.DetachVolume++    -- ** CancelReservedInstancesListing+    , module Network.AWS.EC2.CancelReservedInstancesListing++    -- ** AttachClassicLinkVPC+    , module Network.AWS.EC2.AttachClassicLinkVPC++    -- ** CancelSpotFleetRequests+    , module Network.AWS.EC2.CancelSpotFleetRequests++    -- ** DescribeDHCPOptions+    , module Network.AWS.EC2.DescribeDHCPOptions++    -- ** DescribeSpotPriceHistory (Paginated)+    , module Network.AWS.EC2.DescribeSpotPriceHistory++    -- ** StopInstances+    , module Network.AWS.EC2.StopInstances++    -- ** ImportImage+    , module Network.AWS.EC2.ImportImage++    -- ** DeleteNetworkACLEntry+    , module Network.AWS.EC2.DeleteNetworkACLEntry++    -- ** DisableVPCClassicLink+    , module Network.AWS.EC2.DisableVPCClassicLink++    -- ** AuthorizeSecurityGroupIngress+    , module Network.AWS.EC2.AuthorizeSecurityGroupIngress++    -- ** BundleInstance+    , module Network.AWS.EC2.BundleInstance++    -- ** DescribeVPCEndpointServices+    , module Network.AWS.EC2.DescribeVPCEndpointServices++    -- ** ReplaceNetworkACLAssociation+    , module Network.AWS.EC2.ReplaceNetworkACLAssociation++    -- ** CreateVPCPeeringConnection+    , module Network.AWS.EC2.CreateVPCPeeringConnection++    -- ** ResetSnapshotAttribute+    , module Network.AWS.EC2.ResetSnapshotAttribute++    -- ** DescribeAddresses+    , module Network.AWS.EC2.DescribeAddresses++    -- ** DescribeInternetGateways+    , module Network.AWS.EC2.DescribeInternetGateways++    -- ** ReplaceRoute+    , module Network.AWS.EC2.ReplaceRoute++    -- ** CreateTags+    , module Network.AWS.EC2.CreateTags++    -- ** DescribeSubnets+    , module Network.AWS.EC2.DescribeSubnets++    -- ** DescribeNetworkInterfaces+    , module Network.AWS.EC2.DescribeNetworkInterfaces++    -- ** PurchaseReservedInstancesOffering+    , module Network.AWS.EC2.PurchaseReservedInstancesOffering++    -- ** DescribeSnapshotAttribute+    , module Network.AWS.EC2.DescribeSnapshotAttribute++    -- ** CreateCustomerGateway+    , module Network.AWS.EC2.CreateCustomerGateway++    -- ** AttachInternetGateway+    , module Network.AWS.EC2.AttachInternetGateway++    -- ** DeleteTags+    , module Network.AWS.EC2.DeleteTags++    -- ** ReplaceNetworkACLEntry+    , module Network.AWS.EC2.ReplaceNetworkACLEntry++    -- ** ResetInstanceAttribute+    , module Network.AWS.EC2.ResetInstanceAttribute++    -- ** DeleteRoute+    , module Network.AWS.EC2.DeleteRoute++    -- ** DescribeVPNConnections+    , module Network.AWS.EC2.DescribeVPNConnections++    -- ** DescribeFlowLogs+    , module Network.AWS.EC2.DescribeFlowLogs++    -- ** DeleteSecurityGroup+    , module Network.AWS.EC2.DeleteSecurityGroup++    -- ** DescribeReservedInstancesOfferings (Paginated)+    , module Network.AWS.EC2.DescribeReservedInstancesOfferings++    -- ** DeleteVPCPeeringConnection+    , module Network.AWS.EC2.DeleteVPCPeeringConnection++    -- ** DescribeVPCEndpoints+    , module Network.AWS.EC2.DescribeVPCEndpoints++    -- ** DescribeInstanceAttribute+    , module Network.AWS.EC2.DescribeInstanceAttribute++    -- ** ConfirmProductInstance+    , module Network.AWS.EC2.ConfirmProductInstance++    -- ** ImportKeyPair+    , module Network.AWS.EC2.ImportKeyPair++    -- ** AttachNetworkInterface+    , module Network.AWS.EC2.AttachNetworkInterface++    -- ** DescribeInstanceStatus (Paginated)+    , module Network.AWS.EC2.DescribeInstanceStatus++    -- ** CancelConversionTask+    , module Network.AWS.EC2.CancelConversionTask++    -- ** ReportInstanceStatus+    , module Network.AWS.EC2.ReportInstanceStatus++    -- ** AssociateDHCPOptions+    , module Network.AWS.EC2.AssociateDHCPOptions++    -- ** DescribeVPCs+    , module Network.AWS.EC2.DescribeVPCs++    -- ** RequestSpotInstances+    , module Network.AWS.EC2.RequestSpotInstances++    -- ** ModifyImageAttribute+    , module Network.AWS.EC2.ModifyImageAttribute++    -- ** DescribeReservedInstances+    , module Network.AWS.EC2.DescribeReservedInstances++    -- ** AllocateAddress+    , module Network.AWS.EC2.AllocateAddress++    -- ** RunInstances+    , module Network.AWS.EC2.RunInstances++    -- ** CreateRouteTable+    , module Network.AWS.EC2.CreateRouteTable++    -- ** AttachVolume+    , module Network.AWS.EC2.AttachVolume++    -- ** DescribeConversionTasks+    , module Network.AWS.EC2.DescribeConversionTasks++    -- ** RejectVPCPeeringConnection+    , module Network.AWS.EC2.RejectVPCPeeringConnection++    -- ** RevokeSecurityGroupIngress+    , module Network.AWS.EC2.RevokeSecurityGroupIngress++    -- ** DescribeVolumes+    , module Network.AWS.EC2.DescribeVolumes++    -- ** DeleteVPNConnectionRoute+    , module Network.AWS.EC2.DeleteVPNConnectionRoute++    -- ** ModifyReservedInstances+    , module Network.AWS.EC2.ModifyReservedInstances++    -- ** RegisterImage+    , module Network.AWS.EC2.RegisterImage++    -- ** ModifyVPCEndpoint+    , module Network.AWS.EC2.ModifyVPCEndpoint++    -- ** DeleteVPNGateway+    , module Network.AWS.EC2.DeleteVPNGateway++    -- ** CreateVPC+    , module Network.AWS.EC2.CreateVPC++    -- ** DescribeMovingAddresses+    , module Network.AWS.EC2.DescribeMovingAddresses++    -- ** DescribeVolumeAttribute+    , module Network.AWS.EC2.DescribeVolumeAttribute++    -- ** MoveAddressToVPC+    , module Network.AWS.EC2.MoveAddressToVPC++    -- ** GetPasswordData+    , module Network.AWS.EC2.GetPasswordData++    -- ** CreateFlowLogs+    , module Network.AWS.EC2.CreateFlowLogs++    -- ** DescribeImportImageTasks+    , module Network.AWS.EC2.DescribeImportImageTasks++    -- ** DeleteNetworkACL+    , module Network.AWS.EC2.DeleteNetworkACL++    -- ** DescribeSpotFleetRequests+    , module Network.AWS.EC2.DescribeSpotFleetRequests++    -- ** CopySnapshot+    , module Network.AWS.EC2.CopySnapshot++    -- ** ModifyVolumeAttribute+    , module Network.AWS.EC2.ModifyVolumeAttribute++    -- ** DescribeVPCAttribute+    , module Network.AWS.EC2.DescribeVPCAttribute++    -- ** CreateVolume+    , module Network.AWS.EC2.CreateVolume++    -- ** DisassociateAddress+    , module Network.AWS.EC2.DisassociateAddress++    -- ** DeleteVPC+    , module Network.AWS.EC2.DeleteVPC++    -- ** DescribePrefixLists+    , module Network.AWS.EC2.DescribePrefixLists++    -- ** CreateInstanceExportTask+    , module Network.AWS.EC2.CreateInstanceExportTask++    -- ** DescribeSpotDatafeedSubscription+    , module Network.AWS.EC2.DescribeSpotDatafeedSubscription++    -- ** DetachVPNGateway+    , module Network.AWS.EC2.DetachVPNGateway++    -- ** DescribeExportTasks+    , module Network.AWS.EC2.DescribeExportTasks++    -- ** DeletePlacementGroup+    , module Network.AWS.EC2.DeletePlacementGroup++    -- ** CreateSubnet+    , module Network.AWS.EC2.CreateSubnet++    -- ** EnableVolumeIO+    , module Network.AWS.EC2.EnableVolumeIO++    -- ** CancelExportTask+    , module Network.AWS.EC2.CancelExportTask++    -- ** RequestSpotFleet+    , module Network.AWS.EC2.RequestSpotFleet++    -- ** DescribeInstances (Paginated)+    , module Network.AWS.EC2.DescribeInstances++    -- ** DescribeSecurityGroups+    , module Network.AWS.EC2.DescribeSecurityGroups++    -- ** DescribeVPCPeeringConnections+    , module Network.AWS.EC2.DescribeVPCPeeringConnections++    -- ** CreateNetworkInterface+    , module Network.AWS.EC2.CreateNetworkInterface++    -- ** AssociateAddress+    , module Network.AWS.EC2.AssociateAddress++    -- ** StartInstances+    , module Network.AWS.EC2.StartInstances++    -- ** DescribeCustomerGateways+    , module Network.AWS.EC2.DescribeCustomerGateways++    -- ** ResetNetworkInterfaceAttribute+    , module Network.AWS.EC2.ResetNetworkInterfaceAttribute++    -- ** CreateVPNConnection+    , module Network.AWS.EC2.CreateVPNConnection++    -- ** DescribeSnapshots (Paginated)+    , module Network.AWS.EC2.DescribeSnapshots++    -- ** CreatePlacementGroup+    , module Network.AWS.EC2.CreatePlacementGroup++    -- ** ReplaceRouteTableAssociation+    , module Network.AWS.EC2.ReplaceRouteTableAssociation++    -- ** DescribeNetworkInterfaceAttribute+    , module Network.AWS.EC2.DescribeNetworkInterfaceAttribute++    -- ** DescribeReservedInstancesListings+    , module Network.AWS.EC2.DescribeReservedInstancesListings++    -- ** DeleteNetworkInterface+    , module Network.AWS.EC2.DeleteNetworkInterface++    -- ** DeleteInternetGateway+    , module Network.AWS.EC2.DeleteInternetGateway++    -- ** DeleteSubnet+    , module Network.AWS.EC2.DeleteSubnet++    -- ** CreateVPCEndpoint+    , module Network.AWS.EC2.CreateVPCEndpoint++    -- ** DescribeImportSnapshotTasks+    , module Network.AWS.EC2.DescribeImportSnapshotTasks++    -- ** CopyImage+    , module Network.AWS.EC2.CopyImage++    -- ** DisassociateRouteTable+    , module Network.AWS.EC2.DisassociateRouteTable++    -- ** UnmonitorInstances+    , module Network.AWS.EC2.UnmonitorInstances++    -- ** ImportVolume+    , module Network.AWS.EC2.ImportVolume++    -- ** DisableVGWRoutePropagation+    , module Network.AWS.EC2.DisableVGWRoutePropagation++    -- ** CreateSpotDatafeedSubscription+    , module Network.AWS.EC2.CreateSpotDatafeedSubscription++    -- ** AssignPrivateIPAddresses+    , module Network.AWS.EC2.AssignPrivateIPAddresses++    -- ** DeleteSnapshot+    , module Network.AWS.EC2.DeleteSnapshot++    -- ** DeleteCustomerGateway+    , module Network.AWS.EC2.DeleteCustomerGateway++    -- ** ModifyInstanceAttribute+    , module Network.AWS.EC2.ModifyInstanceAttribute++    -- ** CreateSecurityGroup+    , module Network.AWS.EC2.CreateSecurityGroup++    -- ** CancelSpotInstanceRequests+    , module Network.AWS.EC2.CancelSpotInstanceRequests++    -- ** CreateRoute+    , module Network.AWS.EC2.CreateRoute++    -- ** CreateNetworkACLEntry+    , module Network.AWS.EC2.CreateNetworkACLEntry++    -- ** ModifySnapshotAttribute+    , module Network.AWS.EC2.ModifySnapshotAttribute++    -- ** EnableVGWRoutePropagation+    , module Network.AWS.EC2.EnableVGWRoutePropagation++    -- ** CreateSnapshot+    , module Network.AWS.EC2.CreateSnapshot++    -- ** DescribeSpotFleetRequestHistory+    , module Network.AWS.EC2.DescribeSpotFleetRequestHistory++    -- ** DeleteSpotDatafeedSubscription+    , module Network.AWS.EC2.DeleteSpotDatafeedSubscription++    -- ** DescribePlacementGroups+    , module Network.AWS.EC2.DescribePlacementGroups++    -- ** CreateReservedInstancesListing+    , module Network.AWS.EC2.CreateReservedInstancesListing++    -- ** EnableVPCClassicLink+    , module Network.AWS.EC2.EnableVPCClassicLink++    -- ** DescribeKeyPairs+    , module Network.AWS.EC2.DescribeKeyPairs++    -- ** RebootInstances+    , module Network.AWS.EC2.RebootInstances++    -- ** AttachVPNGateway+    , module Network.AWS.EC2.AttachVPNGateway++    -- ** CreateVPNConnectionRoute+    , module Network.AWS.EC2.CreateVPNConnectionRoute++    -- ** DescribeClassicLinkInstances+    , module Network.AWS.EC2.DescribeClassicLinkInstances++    -- ** TerminateInstances+    , module Network.AWS.EC2.TerminateInstances++    -- ** CreateDHCPOptions+    , module Network.AWS.EC2.CreateDHCPOptions++    -- ** AssociateRouteTable+    , module Network.AWS.EC2.AssociateRouteTable++    -- ** CreateImage+    , module Network.AWS.EC2.CreateImage++    -- ** DescribeAccountAttributes+    , module Network.AWS.EC2.DescribeAccountAttributes++    -- ** ResetImageAttribute+    , module Network.AWS.EC2.ResetImageAttribute++    -- ** DescribeNetworkACLs+    , module Network.AWS.EC2.DescribeNetworkACLs++    -- ** CancelImportTask+    , module Network.AWS.EC2.CancelImportTask++    -- ** GetConsoleOutput+    , module Network.AWS.EC2.GetConsoleOutput++    -- ** UnassignPrivateIPAddresses+    , module Network.AWS.EC2.UnassignPrivateIPAddresses++    -- ** DeleteRouteTable+    , module Network.AWS.EC2.DeleteRouteTable++    -- ** DescribeImageAttribute+    , module Network.AWS.EC2.DescribeImageAttribute++    -- ** DeleteDHCPOptions+    , module Network.AWS.EC2.DeleteDHCPOptions++    -- ** DescribeVPNGateways+    , module Network.AWS.EC2.DescribeVPNGateways++    -- ** DetachClassicLinkVPC+    , module Network.AWS.EC2.DetachClassicLinkVPC++    -- ** DescribeReservedInstancesModifications (Paginated)+    , module Network.AWS.EC2.DescribeReservedInstancesModifications++    -- ** DescribeSpotInstanceRequests+    , module Network.AWS.EC2.DescribeSpotInstanceRequests++    -- ** MonitorInstances+    , module Network.AWS.EC2.MonitorInstances++    -- ** DescribeRegions+    , module Network.AWS.EC2.DescribeRegions++    -- ** ModifyVPCAttribute+    , module Network.AWS.EC2.ModifyVPCAttribute++    -- ** DescribeSpotFleetInstances+    , module Network.AWS.EC2.DescribeSpotFleetInstances++    -- ** DescribeVolumeStatus (Paginated)+    , module Network.AWS.EC2.DescribeVolumeStatus++    -- ** DeleteVolume+    , module Network.AWS.EC2.DeleteVolume++    -- ** DescribeImages+    , module Network.AWS.EC2.DescribeImages++    -- ** CreateKeyPair+    , module Network.AWS.EC2.CreateKeyPair++    -- ** RestoreAddressToClassic+    , module Network.AWS.EC2.RestoreAddressToClassic++    -- ** DescribeAvailabilityZones+    , module Network.AWS.EC2.DescribeAvailabilityZones++    -- ** ImportSnapshot+    , module Network.AWS.EC2.ImportSnapshot++    -- ** AcceptVPCPeeringConnection+    , module Network.AWS.EC2.AcceptVPCPeeringConnection++    -- ** DescribeRouteTables+    , module Network.AWS.EC2.DescribeRouteTables++    -- * Types++    -- ** AccountAttributeName+    , AccountAttributeName (..)++    -- ** AddressStatus+    , AddressStatus (..)++    -- ** ArchitectureValues+    , ArchitectureValues (..)++    -- ** AttachmentStatus+    , AttachmentStatus (..)++    -- ** AvailabilityZoneState+    , AvailabilityZoneState (..)++    -- ** BatchState+    , BatchState (..)++    -- ** BundleTaskState+    , BundleTaskState (..)++    -- ** CancelBatchErrorCode+    , CancelBatchErrorCode (..)++    -- ** CancelSpotInstanceRequestState+    , CancelSpotInstanceRequestState (..)++    -- ** ContainerFormat+    , ContainerFormat (..)++    -- ** ConversionTaskState+    , ConversionTaskState (..)++    -- ** CurrencyCodeValues+    , CurrencyCodeValues (..)++    -- ** DatafeedSubscriptionState+    , DatafeedSubscriptionState (..)++    -- ** DeviceType+    , DeviceType (..)++    -- ** DiskImageFormat+    , DiskImageFormat (..)++    -- ** DomainType+    , DomainType (..)++    -- ** EventCode+    , EventCode (..)++    -- ** EventType+    , EventType (..)++    -- ** ExportEnvironment+    , ExportEnvironment (..)++    -- ** ExportTaskState+    , ExportTaskState (..)++    -- ** FlowLogsResourceType+    , FlowLogsResourceType (..)++    -- ** GatewayType+    , GatewayType (..)++    -- ** HypervisorType+    , HypervisorType (..)++    -- ** ImageAttributeName+    , ImageAttributeName (..)++    -- ** ImageState+    , ImageState (..)++    -- ** ImageTypeValues+    , ImageTypeValues (..)++    -- ** InstanceAttributeName+    , InstanceAttributeName (..)++    -- ** InstanceLifecycleType+    , InstanceLifecycleType (..)++    -- ** InstanceStateName+    , InstanceStateName (..)++    -- ** InstanceType+    , InstanceType (..)++    -- ** ListingState+    , ListingState (..)++    -- ** ListingStatus+    , ListingStatus (..)++    -- ** MonitoringState+    , MonitoringState (..)++    -- ** MoveStatus+    , MoveStatus (..)++    -- ** NetworkInterfaceAttribute+    , NetworkInterfaceAttribute (..)++    -- ** NetworkInterfaceStatus+    , NetworkInterfaceStatus (..)++    -- ** OfferingTypeValues+    , OfferingTypeValues (..)++    -- ** PermissionGroup+    , PermissionGroup (..)++    -- ** PlacementGroupState+    , PlacementGroupState (..)++    -- ** PlacementStrategy+    , PlacementStrategy (..)++    -- ** PlatformValues+    , PlatformValues (..)++    -- ** ProductCodeValues+    , ProductCodeValues (..)++    -- ** RIProductDescription+    , RIProductDescription (..)++    -- ** RecurringChargeFrequency+    , RecurringChargeFrequency (..)++    -- ** ReportInstanceReasonCodes+    , ReportInstanceReasonCodes (..)++    -- ** ReportStatusType+    , ReportStatusType (..)++    -- ** ReservedInstanceState+    , ReservedInstanceState (..)++    -- ** ResetImageAttributeName+    , ResetImageAttributeName (..)++    -- ** ResourceType+    , ResourceType (..)++    -- ** RouteOrigin+    , RouteOrigin (..)++    -- ** RouteState+    , RouteState (..)++    -- ** RuleAction+    , RuleAction (..)++    -- ** ShutdownBehavior+    , ShutdownBehavior (..)++    -- ** SnapshotAttributeName+    , SnapshotAttributeName (..)++    -- ** SnapshotState+    , SnapshotState (..)++    -- ** SpotInstanceState+    , SpotInstanceState (..)++    -- ** SpotInstanceType+    , SpotInstanceType (..)++    -- ** State+    , State (..)++    -- ** StatusName+    , StatusName (..)++    -- ** StatusType+    , StatusType (..)++    -- ** SubnetState+    , SubnetState (..)++    -- ** SummaryStatus+    , SummaryStatus (..)++    -- ** TelemetryStatus+    , TelemetryStatus (..)++    -- ** Tenancy+    , Tenancy (..)++    -- ** TrafficType+    , TrafficType (..)++    -- ** VPCAttributeName+    , VPCAttributeName (..)++    -- ** VPCPeeringConnectionStateReasonCode+    , VPCPeeringConnectionStateReasonCode (..)++    -- ** VPCState+    , VPCState (..)++    -- ** VPNState+    , VPNState (..)++    -- ** VPNStaticRouteSource+    , VPNStaticRouteSource (..)++    -- ** VirtualizationType+    , VirtualizationType (..)++    -- ** VolumeAttachmentState+    , VolumeAttachmentState (..)++    -- ** VolumeAttributeName+    , VolumeAttributeName (..)++    -- ** VolumeState+    , VolumeState (..)++    -- ** VolumeStatusInfoStatus+    , VolumeStatusInfoStatus (..)++    -- ** VolumeStatusName+    , VolumeStatusName (..)++    -- ** VolumeType+    , VolumeType (..)++    -- ** AccountAttribute+    , AccountAttribute+    , accountAttribute+    , aaAttributeValues+    , aaAttributeName++    -- ** AccountAttributeValue+    , AccountAttributeValue+    , accountAttributeValue+    , aavAttributeValue++    -- ** ActiveInstance+    , ActiveInstance+    , activeInstance+    , aiInstanceId+    , aiInstanceType+    , aiSpotInstanceRequestId++    -- ** Address+    , Address+    , address+    , aInstanceId+    , aAssociationId+    , aNetworkInterfaceOwnerId+    , aAllocationId+    , aDomain+    , aNetworkInterfaceId+    , aPrivateIPAddress+    , aPublicIP++    -- ** AttributeBooleanValue+    , AttributeBooleanValue+    , attributeBooleanValue+    , abvValue++    -- ** AttributeValue+    , AttributeValue+    , attributeValue+    , avValue++    -- ** AvailabilityZone+    , AvailabilityZone+    , availabilityZone+    , azRegionName+    , azState+    , azZoneName+    , azMessages++    -- ** AvailabilityZoneMessage+    , AvailabilityZoneMessage+    , availabilityZoneMessage+    , azmMessage++    -- ** BlobAttributeValue+    , BlobAttributeValue+    , blobAttributeValue+    , bavValue++    -- ** BlockDeviceMapping+    , BlockDeviceMapping+    , blockDeviceMapping+    , bdmVirtualName+    , bdmNoDevice+    , bdmEBS+    , bdmDeviceName++    -- ** BundleTask+    , BundleTask+    , bundleTask+    , btBundleTaskError+    , btBundleId+    , btInstanceId+    , btProgress+    , btStartTime+    , btState+    , btStorage+    , btUpdateTime++    -- ** BundleTaskError+    , BundleTaskError+    , bundleTaskError+    , bteCode+    , bteMessage++    -- ** CancelSpotFleetRequestsError+    , CancelSpotFleetRequestsError+    , cancelSpotFleetRequestsError+    , csfreCode+    , csfreMessage++    -- ** CancelSpotFleetRequestsErrorItem+    , CancelSpotFleetRequestsErrorItem+    , cancelSpotFleetRequestsErrorItem+    , csfreiSpotFleetRequestId+    , csfreiError++    -- ** CancelSpotFleetRequestsSuccessItem+    , CancelSpotFleetRequestsSuccessItem+    , cancelSpotFleetRequestsSuccessItem+    , csfrsiSpotFleetRequestId+    , csfrsiCurrentSpotFleetRequestState+    , csfrsiPreviousSpotFleetRequestState++    -- ** CancelledSpotInstanceRequest+    , CancelledSpotInstanceRequest+    , cancelledSpotInstanceRequest+    , csirState+    , csirSpotInstanceRequestId++    -- ** ClassicLinkInstance+    , ClassicLinkInstance+    , classicLinkInstance+    , cliInstanceId+    , cliGroups+    , cliVPCId+    , cliTags++    -- ** ClientData+    , ClientData+    , clientData+    , cdUploadStart+    , cdUploadSize+    , cdUploadEnd+    , cdComment++    -- ** ConversionTask+    , ConversionTask+    , conversionTask+    , ctImportInstance+    , ctStatusMessage+    , ctImportVolume+    , ctExpirationTime+    , ctTags+    , ctConversionTaskId+    , ctState++    -- ** CreateVolumePermission+    , CreateVolumePermission+    , createVolumePermission+    , cvpGroup+    , cvpUserId++    -- ** CreateVolumePermissionModifications+    , CreateVolumePermissionModifications+    , createVolumePermissionModifications+    , cvpmRemove+    , cvpmAdd++    -- ** CustomerGateway+    , CustomerGateway+    , customerGateway+    , cgTags+    , cgBGPASN+    , cgCustomerGatewayId+    , cgIPAddress+    , cgState+    , cgType++    -- ** DHCPConfiguration+    , DHCPConfiguration+    , dhcpConfiguration+    , dcValues+    , dcKey++    -- ** DHCPOptions+    , DHCPOptions+    , dhcpOptions+    , doDHCPConfigurations+    , doDHCPOptionsId+    , doTags++    -- ** DiskImage+    , DiskImage+    , diskImage+    , diImage+    , diVolume+    , diDescription++    -- ** DiskImageDescription+    , DiskImageDescription+    , diskImageDescription+    , dChecksum+    , dFormat+    , dSize+    , dImportManifestURL++    -- ** DiskImageDetail+    , DiskImageDetail+    , diskImageDetail+    , didFormat+    , didBytes+    , didImportManifestURL++    -- ** DiskImageVolumeDescription+    , DiskImageVolumeDescription+    , diskImageVolumeDescription+    , divdSize+    , divdId++    -- ** EBSBlockDevice+    , EBSBlockDevice+    , ebsBlockDevice+    , ebdDeleteOnTermination+    , ebdVolumeSize+    , ebdIOPS+    , ebdEncrypted+    , ebdVolumeType+    , ebdSnapshotId++    -- ** EBSInstanceBlockDevice+    , EBSInstanceBlockDevice+    , ebsInstanceBlockDevice+    , eibdDeleteOnTermination+    , eibdStatus+    , eibdVolumeId+    , eibdAttachTime++    -- ** EBSInstanceBlockDeviceSpecification+    , EBSInstanceBlockDeviceSpecification+    , ebsInstanceBlockDeviceSpecification+    , eibdsDeleteOnTermination+    , eibdsVolumeId++    -- ** EventInformation+    , EventInformation+    , eventInformation+    , eiInstanceId+    , eiEventDescription+    , eiEventSubType++    -- ** ExportTask+    , ExportTask+    , exportTask+    , etDescription+    , etExportTaskId+    , etExportToS3Task+    , etInstanceExportDetails+    , etState+    , etStatusMessage++    -- ** ExportToS3Task+    , ExportToS3Task+    , exportToS3Task+    , etstS3Key+    , etstContainerFormat+    , etstS3Bucket+    , etstDiskImageFormat++    -- ** ExportToS3TaskSpecification+    , ExportToS3TaskSpecification+    , exportToS3TaskSpecification+    , etstsContainerFormat+    , etstsS3Prefix+    , etstsS3Bucket+    , etstsDiskImageFormat++    -- ** Filter+    , Filter+    , filter'+    , fValues+    , fName++    -- ** FlowLog+    , FlowLog+    , flowLog+    , flCreationTime+    , flResourceId+    , flFlowLogStatus+    , flTrafficType+    , flDeliverLogsStatus+    , flDeliverLogsErrorMessage+    , flDeliverLogsPermissionARN+    , flLogGroupName+    , flFlowLogId++    -- ** GroupIdentifier+    , GroupIdentifier+    , groupIdentifier+    , giGroupId+    , giGroupName++    -- ** HistoryRecord+    , HistoryRecord+    , historyRecord+    , hrTimestamp+    , hrEventType+    , hrEventInformation++    -- ** IAMInstanceProfile+    , IAMInstanceProfile+    , iamInstanceProfile+    , iapARN+    , iapId++    -- ** IAMInstanceProfileSpecification+    , IAMInstanceProfileSpecification+    , iamInstanceProfileSpecification+    , iapsARN+    , iapsName++    -- ** ICMPTypeCode+    , ICMPTypeCode+    , icmpTypeCode+    , itcCode+    , itcType++    -- ** IPPermission+    , IPPermission+    , ipPermission+    , ipFromPort+    , ipUserIdGroupPairs+    , ipPrefixListIds+    , ipToPort+    , ipIPRanges+    , ipIPProtocol++    -- ** IPRange+    , IPRange+    , ipRange+    , irCIdRIP++    -- ** Image+    , Image+    , image+    , iPlatform+    , iImageOwnerAlias+    , iRAMDiskId+    , iKernelId+    , iRootDeviceName+    , iSRIOVNetSupport+    , iName+    , iCreationDate+    , iProductCodes+    , iStateReason+    , iBlockDeviceMappings+    , iDescription+    , iTags+    , iImageId+    , iImageLocation+    , iState+    , iOwnerId+    , iPublic+    , iArchitecture+    , iImageType+    , iRootDeviceType+    , iVirtualizationType+    , iHypervisor++    -- ** ImageDiskContainer+    , ImageDiskContainer+    , imageDiskContainer+    , idcURL+    , idcFormat+    , idcDeviceName+    , idcUserBucket+    , idcDescription+    , idcSnapshotId++    -- ** ImportImageTask+    , ImportImageTask+    , importImageTask+    , iitStatus+    , iitHypervisor+    , iitPlatform+    , iitProgress+    , iitLicenseType+    , iitSnapshotDetails+    , iitStatusMessage+    , iitImageId+    , iitImportTaskId+    , iitArchitecture+    , iitDescription++    -- ** ImportInstanceLaunchSpecification+    , ImportInstanceLaunchSpecification+    , importInstanceLaunchSpecification+    , iilsAdditionalInfo+    , iilsGroupNames+    , iilsSubnetId+    , iilsGroupIds+    , iilsInstanceType+    , iilsUserData+    , iilsMonitoring+    , iilsInstanceInitiatedShutdownBehavior+    , iilsPrivateIPAddress+    , iilsArchitecture+    , iilsPlacement++    -- ** ImportInstanceTaskDetails+    , ImportInstanceTaskDetails+    , importInstanceTaskDetails+    , iitdInstanceId+    , iitdPlatform+    , iitdDescription+    , iitdVolumes++    -- ** ImportInstanceVolumeDetailItem+    , ImportInstanceVolumeDetailItem+    , importInstanceVolumeDetailItem+    , iivdiStatusMessage+    , iivdiDescription+    , iivdiBytesConverted+    , iivdiAvailabilityZone+    , iivdiImage+    , iivdiVolume+    , iivdiStatus++    -- ** ImportSnapshotTask+    , ImportSnapshotTask+    , importSnapshotTask+    , istSnapshotTaskDetail+    , istImportTaskId+    , istDescription++    -- ** ImportVolumeTaskDetails+    , ImportVolumeTaskDetails+    , importVolumeTaskDetails+    , ivtdDescription+    , ivtdBytesConverted+    , ivtdAvailabilityZone+    , ivtdImage+    , ivtdVolume++    -- ** Instance+    , Instance+    , instance'+    , insPublicDNSName+    , insPlatform+    , insSecurityGroups+    , insClientToken+    , insSourceDestCheck+    , insVPCId+    , insNetworkInterfaces+    , insKeyName+    , insRAMDiskId+    , insKernelId+    , insSubnetId+    , insRootDeviceName+    , insEBSOptimized+    , insSRIOVNetSupport+    , insStateTransitionReason+    , insIAMInstanceProfile+    , insInstanceLifecycle+    , insPrivateIPAddress+    , insProductCodes+    , insSpotInstanceRequestId+    , insPrivateDNSName+    , insStateReason+    , insBlockDeviceMappings+    , insPublicIPAddress+    , insTags+    , insInstanceId+    , insImageId+    , insAMILaunchIndex+    , insInstanceType+    , insLaunchTime+    , insPlacement+    , insMonitoring+    , insArchitecture+    , insRootDeviceType+    , insVirtualizationType+    , insHypervisor+    , insState++    -- ** InstanceBlockDeviceMapping+    , InstanceBlockDeviceMapping+    , instanceBlockDeviceMapping+    , ibdmEBS+    , ibdmDeviceName++    -- ** InstanceBlockDeviceMappingSpecification+    , InstanceBlockDeviceMappingSpecification+    , instanceBlockDeviceMappingSpecification+    , ibdmsVirtualName+    , ibdmsNoDevice+    , ibdmsEBS+    , ibdmsDeviceName++    -- ** InstanceCount+    , InstanceCount+    , instanceCount+    , icState+    , icInstanceCount++    -- ** InstanceExportDetails+    , InstanceExportDetails+    , instanceExportDetails+    , iedInstanceId+    , iedTargetEnvironment++    -- ** InstanceMonitoring+    , InstanceMonitoring+    , instanceMonitoring+    , imInstanceId+    , imMonitoring++    -- ** InstanceNetworkInterface+    , InstanceNetworkInterface+    , instanceNetworkInterface+    , iniPrivateIPAddresses+    , iniStatus+    , iniGroups+    , iniSourceDestCheck+    , iniVPCId+    , iniNetworkInterfaceId+    , iniSubnetId+    , iniAttachment+    , iniMACAddress+    , iniOwnerId+    , iniPrivateIPAddress+    , iniPrivateDNSName+    , iniDescription+    , iniAssociation++    -- ** InstanceNetworkInterfaceAssociation+    , InstanceNetworkInterfaceAssociation+    , instanceNetworkInterfaceAssociation+    , iniaPublicDNSName+    , iniaIPOwnerId+    , iniaPublicIP++    -- ** InstanceNetworkInterfaceAttachment+    , InstanceNetworkInterfaceAttachment+    , instanceNetworkInterfaceAttachment+    , iniaDeleteOnTermination+    , iniaStatus+    , iniaAttachmentId+    , iniaAttachTime+    , iniaDeviceIndex++    -- ** InstanceNetworkInterfaceSpecification+    , InstanceNetworkInterfaceSpecification+    , instanceNetworkInterfaceSpecification+    , inisPrivateIPAddresses+    , inisDeleteOnTermination+    , inisGroups+    , inisAssociatePublicIPAddress+    , inisNetworkInterfaceId+    , inisSubnetId+    , inisPrivateIPAddress+    , inisSecondaryPrivateIPAddressCount+    , inisDeviceIndex+    , inisDescription++    -- ** InstancePrivateIPAddress+    , InstancePrivateIPAddress+    , instancePrivateIPAddress+    , ipiaPrimary+    , ipiaPrivateIPAddress+    , ipiaPrivateDNSName+    , ipiaAssociation++    -- ** InstanceState+    , InstanceState+    , instanceState+    , isName+    , isCode++    -- ** InstanceStateChange+    , InstanceStateChange+    , instanceStateChange+    , iscInstanceId+    , iscCurrentState+    , iscPreviousState++    -- ** InstanceStatus+    , InstanceStatus+    , instanceStatus+    , isInstanceId+    , isSystemStatus+    , isAvailabilityZone+    , isEvents+    , isInstanceStatus+    , isInstanceState++    -- ** InstanceStatusDetails+    , InstanceStatusDetails+    , instanceStatusDetails+    , isdStatus+    , isdImpairedSince+    , isdName++    -- ** InstanceStatusEvent+    , InstanceStatusEvent+    , instanceStatusEvent+    , iseNotBefore+    , iseCode+    , iseDescription+    , iseNotAfter++    -- ** InstanceStatusSummary+    , InstanceStatusSummary+    , instanceStatusSummary+    , issDetails+    , issStatus++    -- ** InternetGateway+    , InternetGateway+    , internetGateway+    , igAttachments+    , igTags+    , igInternetGatewayId++    -- ** InternetGatewayAttachment+    , InternetGatewayAttachment+    , internetGatewayAttachment+    , igaState+    , igaVPCId++    -- ** KeyPairInfo+    , KeyPairInfo+    , keyPairInfo+    , kpiKeyFingerprint+    , kpiKeyName++    -- ** LaunchPermission+    , LaunchPermission+    , launchPermission+    , lpGroup+    , lpUserId++    -- ** LaunchPermissionModifications+    , LaunchPermissionModifications+    , launchPermissionModifications+    , lpmRemove+    , lpmAdd++    -- ** LaunchSpecification+    , LaunchSpecification+    , launchSpecification+    , lsSecurityGroups+    , lsNetworkInterfaces+    , lsKeyName+    , lsRAMDiskId+    , lsKernelId+    , lsSubnetId+    , lsInstanceType+    , lsEBSOptimized+    , lsUserData+    , lsMonitoring+    , lsIAMInstanceProfile+    , lsImageId+    , lsBlockDeviceMappings+    , lsAddressingType+    , lsPlacement++    -- ** Monitoring+    , Monitoring+    , monitoring+    , mState++    -- ** MovingAddressStatus+    , MovingAddressStatus+    , movingAddressStatus+    , masMoveStatus+    , masPublicIP++    -- ** NetworkACL+    , NetworkACL+    , networkACL+    , naEntries+    , naNetworkACLId+    , naVPCId+    , naAssociations+    , naIsDefault+    , naTags++    -- ** NetworkACLAssociation+    , NetworkACLAssociation+    , networkACLAssociation+    , naaNetworkACLId+    , naaSubnetId+    , naaNetworkACLAssociationId++    -- ** NetworkACLEntry+    , NetworkACLEntry+    , networkACLEntry+    , naeICMPTypeCode+    , naeRuleNumber+    , naeRuleAction+    , naeProtocol+    , naePortRange+    , naeCIdRBlock+    , naeEgress++    -- ** NetworkInterface+    , NetworkInterface+    , networkInterface+    , niPrivateIPAddresses+    , niStatus+    , niGroups+    , niSourceDestCheck+    , niTagSet+    , niVPCId+    , niRequesterManaged+    , niNetworkInterfaceId+    , niSubnetId+    , niAttachment+    , niMACAddress+    , niOwnerId+    , niAvailabilityZone+    , niPrivateIPAddress+    , niPrivateDNSName+    , niRequesterId+    , niDescription+    , niAssociation++    -- ** NetworkInterfaceAssociation+    , NetworkInterfaceAssociation+    , networkInterfaceAssociation+    , niaAssociationId+    , niaPublicDNSName+    , niaAllocationId+    , niaIPOwnerId+    , niaPublicIP++    -- ** NetworkInterfaceAttachment+    , NetworkInterfaceAttachment+    , networkInterfaceAttachment+    , niaInstanceId+    , niaDeleteOnTermination+    , niaStatus+    , niaAttachmentId+    , niaInstanceOwnerId+    , niaAttachTime+    , niaDeviceIndex++    -- ** NetworkInterfaceAttachmentChanges+    , NetworkInterfaceAttachmentChanges+    , networkInterfaceAttachmentChanges+    , niacDeleteOnTermination+    , niacAttachmentId++    -- ** NetworkInterfacePrivateIPAddress+    , NetworkInterfacePrivateIPAddress+    , networkInterfacePrivateIPAddress+    , nipiaPrimary+    , nipiaPrivateIPAddress+    , nipiaPrivateDNSName+    , nipiaAssociation++    -- ** NewDHCPConfiguration+    , NewDHCPConfiguration+    , newDHCPConfiguration+    , ndcValues+    , ndcKey++    -- ** Placement+    , Placement+    , placement+    , pAvailabilityZone+    , pTenancy+    , pGroupName++    -- ** PlacementGroup+    , PlacementGroup+    , placementGroup+    , pgState+    , pgStrategy+    , pgGroupName++    -- ** PortRange+    , PortRange+    , portRange+    , prTo+    , prFrom++    -- ** PrefixList+    , PrefixList+    , prefixList+    , plCIdRs+    , plPrefixListId+    , plPrefixListName++    -- ** PrefixListId+    , PrefixListId+    , prefixListId+    , pliPrefixListId++    -- ** PriceSchedule+    , PriceSchedule+    , priceSchedule+    , psCurrencyCode+    , psTerm+    , psActive+    , psPrice++    -- ** PriceScheduleSpecification+    , PriceScheduleSpecification+    , priceScheduleSpecification+    , pssCurrencyCode+    , pssTerm+    , pssPrice++    -- ** PricingDetail+    , PricingDetail+    , pricingDetail+    , pdCount+    , pdPrice++    -- ** PrivateIPAddressSpecification+    , PrivateIPAddressSpecification+    , privateIPAddressSpecification+    , piasPrimary+    , piasPrivateIPAddress++    -- ** ProductCode+    , ProductCode+    , productCode+    , pcProductCodeType+    , pcProductCodeId++    -- ** PropagatingVGW+    , PropagatingVGW+    , propagatingVGW+    , pvGatewayId++    -- ** RecurringCharge+    , RecurringCharge+    , recurringCharge+    , rcFrequency+    , rcAmount++    -- ** RegionInfo+    , RegionInfo+    , regionInfo+    , riRegionName+    , riEndpoint++    -- ** RequestSpotLaunchSpecification+    , RequestSpotLaunchSpecification+    , requestSpotLaunchSpecification+    , rslsSecurityGroupIds+    , rslsSecurityGroups+    , rslsNetworkInterfaces+    , rslsKeyName+    , rslsRAMDiskId+    , rslsKernelId+    , rslsSubnetId+    , rslsInstanceType+    , rslsEBSOptimized+    , rslsUserData+    , rslsMonitoring+    , rslsIAMInstanceProfile+    , rslsImageId+    , rslsBlockDeviceMappings+    , rslsAddressingType+    , rslsPlacement++    -- ** Reservation+    , Reservation+    , reservation+    , rGroups+    , rInstances+    , rRequesterId+    , rReservationId+    , rOwnerId++    -- ** ReservedInstanceLimitPrice+    , ReservedInstanceLimitPrice+    , reservedInstanceLimitPrice+    , rilpAmount+    , rilpCurrencyCode++    -- ** ReservedInstances+    , ReservedInstances+    , reservedInstances+    , riState+    , riCurrencyCode+    , riInstanceCount+    , riProductDescription+    , riStart+    , riInstanceType+    , riAvailabilityZone+    , riEnd+    , riOfferingType+    , riUsagePrice+    , riRecurringCharges+    , riInstanceTenancy+    , riFixedPrice+    , riReservedInstancesId+    , riDuration+    , riTags++    -- ** ReservedInstancesConfiguration+    , ReservedInstancesConfiguration+    , reservedInstancesConfiguration+    , ricPlatform+    , ricInstanceCount+    , ricInstanceType+    , ricAvailabilityZone++    -- ** ReservedInstancesId+    , ReservedInstancesId+    , reservedInstancesId+    , riiReservedInstancesId++    -- ** ReservedInstancesListing+    , ReservedInstancesListing+    , reservedInstancesListing+    , rilStatus+    , rilClientToken+    , rilUpdateDate+    , rilCreateDate+    , rilPriceSchedules+    , rilStatusMessage+    , rilReservedInstancesId+    , rilInstanceCounts+    , rilReservedInstancesListingId+    , rilTags++    -- ** ReservedInstancesModification+    , ReservedInstancesModification+    , reservedInstancesModification+    , rimModificationResults+    , rimStatus+    , rimClientToken+    , rimUpdateDate+    , rimCreateDate+    , rimEffectiveDate+    , rimStatusMessage+    , rimReservedInstancesModificationId+    , rimReservedInstancesIds++    -- ** ReservedInstancesModificationResult+    , ReservedInstancesModificationResult+    , reservedInstancesModificationResult+    , rimrReservedInstancesId+    , rimrTargetConfiguration++    -- ** ReservedInstancesOffering+    , ReservedInstancesOffering+    , reservedInstancesOffering+    , rioMarketplace+    , rioCurrencyCode+    , rioProductDescription+    , rioInstanceType+    , rioAvailabilityZone+    , rioPricingDetails+    , rioOfferingType+    , rioUsagePrice+    , rioRecurringCharges+    , rioReservedInstancesOfferingId+    , rioInstanceTenancy+    , rioFixedPrice+    , rioDuration++    -- ** Route+    , Route+    , route+    , rInstanceId+    , rOrigin+    , rVPCPeeringConnectionId+    , rState+    , rNetworkInterfaceId+    , rGatewayId+    , rInstanceOwnerId+    , rDestinationPrefixListId+    , rDestinationCIdRBlock++    -- ** RouteTable+    , RouteTable+    , routeTable+    , rtRoutes+    , rtRouteTableId+    , rtVPCId+    , rtPropagatingVGWs+    , rtAssociations+    , rtTags++    -- ** RouteTableAssociation+    , RouteTableAssociation+    , routeTableAssociation+    , rtaRouteTableId+    , rtaRouteTableAssociationId+    , rtaMain+    , rtaSubnetId++    -- ** RunInstancesMonitoringEnabled+    , RunInstancesMonitoringEnabled+    , runInstancesMonitoringEnabled+    , rimeEnabled++    -- ** S3Storage+    , S3Storage+    , s3Storage+    , ssPrefix+    , ssUploadPolicy+    , ssBucket+    , ssUploadPolicySignature+    , ssAWSAccessKeyId++    -- ** SecurityGroup+    , SecurityGroup+    , securityGroup+    , sgVPCId+    , sgIPPermissions+    , sgIPPermissionsEgress+    , sgTags+    , sgOwnerId+    , sgGroupId+    , sgGroupName+    , sgDescription++    -- ** Snapshot+    , Snapshot+    , snapshot+    , sOwnerAlias+    , sKMSKeyId+    , sTags+    , sSnapshotId+    , sOwnerId+    , sVolumeId+    , sVolumeSize+    , sDescription+    , sStartTime+    , sProgress+    , sState+    , sEncrypted++    -- ** SnapshotDetail+    , SnapshotDetail+    , snapshotDetail+    , sdStatus+    , sdProgress+    , sdURL+    , sdFormat+    , sdDeviceName+    , sdUserBucket+    , sdDiskImageSize+    , sdStatusMessage+    , sdDescription+    , sdSnapshotId++    -- ** SnapshotDiskContainer+    , SnapshotDiskContainer+    , snapshotDiskContainer+    , sdcURL+    , sdcFormat+    , sdcUserBucket+    , sdcDescription++    -- ** SnapshotTaskDetail+    , SnapshotTaskDetail+    , snapshotTaskDetail+    , stdStatus+    , stdProgress+    , stdURL+    , stdFormat+    , stdUserBucket+    , stdDiskImageSize+    , stdStatusMessage+    , stdDescription+    , stdSnapshotId++    -- ** SpotDatafeedSubscription+    , SpotDatafeedSubscription+    , spotDatafeedSubscription+    , sdsState+    , sdsPrefix+    , sdsBucket+    , sdsOwnerId+    , sdsFault++    -- ** SpotFleetLaunchSpecification+    , SpotFleetLaunchSpecification+    , spotFleetLaunchSpecification+    , sflsSecurityGroups+    , sflsNetworkInterfaces+    , sflsKeyName+    , sflsRAMDiskId+    , sflsKernelId+    , sflsSubnetId+    , sflsInstanceType+    , sflsEBSOptimized+    , sflsUserData+    , sflsMonitoring+    , sflsIAMInstanceProfile+    , sflsImageId+    , sflsBlockDeviceMappings+    , sflsAddressingType+    , sflsPlacement++    -- ** SpotFleetMonitoring+    , SpotFleetMonitoring+    , spotFleetMonitoring+    , sfmEnabled++    -- ** SpotFleetRequestConfig+    , SpotFleetRequestConfig+    , spotFleetRequestConfig+    , sfrcSpotFleetRequestId+    , sfrcSpotFleetRequestState+    , sfrcSpotFleetRequestConfig++    -- ** SpotFleetRequestConfigData+    , SpotFleetRequestConfigData+    , spotFleetRequestConfigData+    , sfrcdClientToken+    , sfrcdValidUntil+    , sfrcdTerminateInstancesWithExpiration+    , sfrcdValidFrom+    , sfrcdSpotPrice+    , sfrcdTargetCapacity+    , sfrcdIAMFleetRole+    , sfrcdLaunchSpecifications++    -- ** SpotInstanceRequest+    , SpotInstanceRequest+    , spotInstanceRequest+    , sirInstanceId+    , sirStatus+    , sirState+    , sirProductDescription+    , sirSpotPrice+    , sirAvailabilityZoneGroup+    , sirLaunchSpecification+    , sirLaunchedAvailabilityZone+    , sirValidUntil+    , sirFault+    , sirLaunchGroup+    , sirSpotInstanceRequestId+    , sirType+    , sirValidFrom+    , sirTags+    , sirCreateTime++    -- ** SpotInstanceStateFault+    , SpotInstanceStateFault+    , spotInstanceStateFault+    , sisfCode+    , sisfMessage++    -- ** SpotInstanceStatus+    , SpotInstanceStatus+    , spotInstanceStatus+    , sisUpdateTime+    , sisCode+    , sisMessage++    -- ** SpotPlacement+    , SpotPlacement+    , spotPlacement+    , spAvailabilityZone+    , spGroupName++    -- ** SpotPrice+    , SpotPrice+    , spotPrice+    , sProductDescription+    , sSpotPrice+    , sInstanceType+    , sAvailabilityZone+    , sTimestamp++    -- ** StateReason+    , StateReason+    , stateReason+    , srCode+    , srMessage++    -- ** Storage+    , Storage+    , storage+    , sS3++    -- ** Subnet+    , Subnet+    , subnet+    , subTags+    , subAvailabilityZone+    , subAvailableIPAddressCount+    , subCIdRBlock+    , subDefaultForAz+    , subMapPublicIPOnLaunch+    , subState+    , subSubnetId+    , subVPCId++    -- ** Tag+    , Tag+    , tag+    , tagKey+    , tagValue++    -- ** TagDescription+    , TagDescription+    , tagDescription+    , tdResourceId+    , tdResourceType+    , tdKey+    , tdValue++    -- ** UnsuccessfulItem+    , UnsuccessfulItem+    , unsuccessfulItem+    , uiResourceId+    , uiError++    -- ** UnsuccessfulItemError+    , UnsuccessfulItemError+    , unsuccessfulItemError+    , uieCode+    , uieMessage++    -- ** UserBucket+    , UserBucket+    , userBucket+    , ubS3Key+    , ubS3Bucket++    -- ** UserBucketDetails+    , UserBucketDetails+    , userBucketDetails+    , ubdS3Key+    , ubdS3Bucket++    -- ** UserData+    , UserData+    , userData+    , udData++    -- ** UserIdGroupPair+    , UserIdGroupPair+    , userIdGroupPair+    , uigpUserId+    , uigpGroupId+    , uigpGroupName++    -- ** VGWTelemetry+    , VGWTelemetry+    , vgwTelemetry+    , vtStatus+    , vtOutsideIPAddress+    , vtLastStatusChange+    , vtAcceptedRouteCount+    , vtStatusMessage++    -- ** VPC+    , VPC+    , vpc+    , vpcTags+    , vpcCIdRBlock+    , vpcDHCPOptionsId+    , vpcInstanceTenancy+    , vpcIsDefault+    , vpcState+    , vpcVPCId++    -- ** VPCAttachment+    , VPCAttachment+    , vpcAttachment+    , vaState+    , vaVPCId++    -- ** VPCClassicLink+    , VPCClassicLink+    , vpcClassicLink+    , vclVPCId+    , vclTags+    , vclClassicLinkEnabled++    -- ** VPCEndpoint+    , VPCEndpoint+    , vpcEndpoint+    , vePolicyDocument+    , veState+    , veVPCId+    , veCreationTimestamp+    , veServiceName+    , veVPCEndpointId+    , veRouteTableIds++    -- ** VPCPeeringConnection+    , VPCPeeringConnection+    , vpcPeeringConnection+    , vpcpcStatus+    , vpcpcVPCPeeringConnectionId+    , vpcpcAccepterVPCInfo+    , vpcpcRequesterVPCInfo+    , vpcpcExpirationTime+    , vpcpcTags++    -- ** VPCPeeringConnectionStateReason+    , VPCPeeringConnectionStateReason+    , vpcPeeringConnectionStateReason+    , vpcsrCode+    , vpcsrMessage++    -- ** VPCPeeringConnectionVPCInfo+    , VPCPeeringConnectionVPCInfo+    , vpcPeeringConnectionVPCInfo+    , vpcviVPCId+    , vpcviOwnerId+    , vpcviCIdRBlock++    -- ** VPNConnection+    , VPNConnection+    , vpnConnection+    , vcRoutes+    , vcVPNGatewayId+    , vcOptions+    , vcVGWTelemetry+    , vcTags+    , vcVPNConnectionId+    , vcCustomerGatewayId+    , vcCustomerGatewayConfiguration+    , vcState+    , vcType++    -- ** VPNConnectionOptions+    , VPNConnectionOptions+    , vpnConnectionOptions+    , vcoStaticRoutesOnly++    -- ** VPNConnectionOptionsSpecification+    , VPNConnectionOptionsSpecification+    , vpnConnectionOptionsSpecification+    , vcosStaticRoutesOnly++    -- ** VPNGateway+    , VPNGateway+    , vpnGateway+    , vgVPCAttachments+    , vgState+    , vgVPNGatewayId+    , vgAvailabilityZone+    , vgType+    , vgTags++    -- ** VPNStaticRoute+    , VPNStaticRoute+    , vpnStaticRoute+    , vsrState+    , vsrSource+    , vsrDestinationCIdRBlock++    -- ** Volume+    , Volume+    , volume+    , vAttachments+    , vIOPS+    , vKMSKeyId+    , vTags+    , vAvailabilityZone+    , vCreateTime+    , vEncrypted+    , vSize+    , vSnapshotId+    , vState+    , vVolumeId+    , vVolumeType++    -- ** VolumeAttachment+    , VolumeAttachment+    , volumeAttachment+    , volInstanceId+    , volDeleteOnTermination+    , volState+    , volDevice+    , volVolumeId+    , volAttachTime++    -- ** VolumeDetail+    , VolumeDetail+    , volumeDetail+    , vdSize++    -- ** VolumeStatusAction+    , VolumeStatusAction+    , volumeStatusAction+    , vsaEventType+    , vsaCode+    , vsaDescription+    , vsaEventId++    -- ** VolumeStatusDetails+    , VolumeStatusDetails+    , volumeStatusDetails+    , vsdStatus+    , vsdName++    -- ** VolumeStatusEvent+    , VolumeStatusEvent+    , volumeStatusEvent+    , vseNotBefore+    , vseEventType+    , vseDescription+    , vseNotAfter+    , vseEventId++    -- ** VolumeStatusInfo+    , VolumeStatusInfo+    , volumeStatusInfo+    , vsiStatus+    , vsiDetails++    -- ** VolumeStatusItem+    , VolumeStatusItem+    , volumeStatusItem+    , vsiVolumeStatus+    , vsiActions+    , vsiAvailabilityZone+    , vsiEvents+    , vsiVolumeId+    ) where++import           Network.AWS.EC2.AcceptVPCPeeringConnection+import           Network.AWS.EC2.AllocateAddress+import           Network.AWS.EC2.AssignPrivateIPAddresses+import           Network.AWS.EC2.AssociateAddress+import           Network.AWS.EC2.AssociateDHCPOptions+import           Network.AWS.EC2.AssociateRouteTable+import           Network.AWS.EC2.AttachClassicLinkVPC+import           Network.AWS.EC2.AttachInternetGateway+import           Network.AWS.EC2.AttachNetworkInterface+import           Network.AWS.EC2.AttachVolume+import           Network.AWS.EC2.AttachVPNGateway+import           Network.AWS.EC2.AuthorizeSecurityGroupEgress+import           Network.AWS.EC2.AuthorizeSecurityGroupIngress+import           Network.AWS.EC2.BundleInstance+import           Network.AWS.EC2.CancelBundleTask+import           Network.AWS.EC2.CancelConversionTask+import           Network.AWS.EC2.CancelExportTask+import           Network.AWS.EC2.CancelImportTask+import           Network.AWS.EC2.CancelReservedInstancesListing+import           Network.AWS.EC2.CancelSpotFleetRequests+import           Network.AWS.EC2.CancelSpotInstanceRequests+import           Network.AWS.EC2.ConfirmProductInstance+import           Network.AWS.EC2.CopyImage+import           Network.AWS.EC2.CopySnapshot+import           Network.AWS.EC2.CreateCustomerGateway+import           Network.AWS.EC2.CreateDHCPOptions+import           Network.AWS.EC2.CreateFlowLogs+import           Network.AWS.EC2.CreateImage+import           Network.AWS.EC2.CreateInstanceExportTask+import           Network.AWS.EC2.CreateInternetGateway+import           Network.AWS.EC2.CreateKeyPair+import           Network.AWS.EC2.CreateNetworkACL+import           Network.AWS.EC2.CreateNetworkACLEntry+import           Network.AWS.EC2.CreateNetworkInterface+import           Network.AWS.EC2.CreatePlacementGroup+import           Network.AWS.EC2.CreateReservedInstancesListing+import           Network.AWS.EC2.CreateRoute+import           Network.AWS.EC2.CreateRouteTable+import           Network.AWS.EC2.CreateSecurityGroup+import           Network.AWS.EC2.CreateSnapshot+import           Network.AWS.EC2.CreateSpotDatafeedSubscription+import           Network.AWS.EC2.CreateSubnet+import           Network.AWS.EC2.CreateTags+import           Network.AWS.EC2.CreateVolume+import           Network.AWS.EC2.CreateVPC+import           Network.AWS.EC2.CreateVPCEndpoint+import           Network.AWS.EC2.CreateVPCPeeringConnection+import           Network.AWS.EC2.CreateVPNConnection+import           Network.AWS.EC2.CreateVPNConnectionRoute+import           Network.AWS.EC2.CreateVPNGateway+import           Network.AWS.EC2.DeleteCustomerGateway+import           Network.AWS.EC2.DeleteDHCPOptions+import           Network.AWS.EC2.DeleteFlowLogs+import           Network.AWS.EC2.DeleteInternetGateway+import           Network.AWS.EC2.DeleteKeyPair+import           Network.AWS.EC2.DeleteNetworkACL+import           Network.AWS.EC2.DeleteNetworkACLEntry+import           Network.AWS.EC2.DeleteNetworkInterface+import           Network.AWS.EC2.DeletePlacementGroup+import           Network.AWS.EC2.DeleteRoute+import           Network.AWS.EC2.DeleteRouteTable+import           Network.AWS.EC2.DeleteSecurityGroup+import           Network.AWS.EC2.DeleteSnapshot+import           Network.AWS.EC2.DeleteSpotDatafeedSubscription+import           Network.AWS.EC2.DeleteSubnet+import           Network.AWS.EC2.DeleteTags+import           Network.AWS.EC2.DeleteVolume+import           Network.AWS.EC2.DeleteVPC+import           Network.AWS.EC2.DeleteVPCEndpoints+import           Network.AWS.EC2.DeleteVPCPeeringConnection+import           Network.AWS.EC2.DeleteVPNConnection+import           Network.AWS.EC2.DeleteVPNConnectionRoute+import           Network.AWS.EC2.DeleteVPNGateway+import           Network.AWS.EC2.DeregisterImage+import           Network.AWS.EC2.DescribeAccountAttributes+import           Network.AWS.EC2.DescribeAddresses+import           Network.AWS.EC2.DescribeAvailabilityZones+import           Network.AWS.EC2.DescribeBundleTasks+import           Network.AWS.EC2.DescribeClassicLinkInstances+import           Network.AWS.EC2.DescribeConversionTasks+import           Network.AWS.EC2.DescribeCustomerGateways+import           Network.AWS.EC2.DescribeDHCPOptions+import           Network.AWS.EC2.DescribeExportTasks+import           Network.AWS.EC2.DescribeFlowLogs+import           Network.AWS.EC2.DescribeImageAttribute+import           Network.AWS.EC2.DescribeImages+import           Network.AWS.EC2.DescribeImportImageTasks+import           Network.AWS.EC2.DescribeImportSnapshotTasks+import           Network.AWS.EC2.DescribeInstanceAttribute+import           Network.AWS.EC2.DescribeInstances+import           Network.AWS.EC2.DescribeInstanceStatus+import           Network.AWS.EC2.DescribeInternetGateways+import           Network.AWS.EC2.DescribeKeyPairs+import           Network.AWS.EC2.DescribeMovingAddresses+import           Network.AWS.EC2.DescribeNetworkACLs+import           Network.AWS.EC2.DescribeNetworkInterfaceAttribute+import           Network.AWS.EC2.DescribeNetworkInterfaces+import           Network.AWS.EC2.DescribePlacementGroups+import           Network.AWS.EC2.DescribePrefixLists+import           Network.AWS.EC2.DescribeRegions+import           Network.AWS.EC2.DescribeReservedInstances+import           Network.AWS.EC2.DescribeReservedInstancesListings+import           Network.AWS.EC2.DescribeReservedInstancesModifications+import           Network.AWS.EC2.DescribeReservedInstancesOfferings+import           Network.AWS.EC2.DescribeRouteTables+import           Network.AWS.EC2.DescribeSecurityGroups+import           Network.AWS.EC2.DescribeSnapshotAttribute+import           Network.AWS.EC2.DescribeSnapshots+import           Network.AWS.EC2.DescribeSpotDatafeedSubscription+import           Network.AWS.EC2.DescribeSpotFleetInstances+import           Network.AWS.EC2.DescribeSpotFleetRequestHistory+import           Network.AWS.EC2.DescribeSpotFleetRequests+import           Network.AWS.EC2.DescribeSpotInstanceRequests+import           Network.AWS.EC2.DescribeSpotPriceHistory+import           Network.AWS.EC2.DescribeSubnets+import           Network.AWS.EC2.DescribeTags+import           Network.AWS.EC2.DescribeVolumeAttribute+import           Network.AWS.EC2.DescribeVolumes+import           Network.AWS.EC2.DescribeVolumeStatus+import           Network.AWS.EC2.DescribeVPCAttribute+import           Network.AWS.EC2.DescribeVPCClassicLink+import           Network.AWS.EC2.DescribeVPCEndpoints+import           Network.AWS.EC2.DescribeVPCEndpointServices+import           Network.AWS.EC2.DescribeVPCPeeringConnections+import           Network.AWS.EC2.DescribeVPCs+import           Network.AWS.EC2.DescribeVPNConnections+import           Network.AWS.EC2.DescribeVPNGateways+import           Network.AWS.EC2.DetachClassicLinkVPC+import           Network.AWS.EC2.DetachInternetGateway+import           Network.AWS.EC2.DetachNetworkInterface+import           Network.AWS.EC2.DetachVolume+import           Network.AWS.EC2.DetachVPNGateway+import           Network.AWS.EC2.DisableVGWRoutePropagation+import           Network.AWS.EC2.DisableVPCClassicLink+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.GetConsoleOutput+import           Network.AWS.EC2.GetPasswordData+import           Network.AWS.EC2.ImportImage+import           Network.AWS.EC2.ImportInstance+import           Network.AWS.EC2.ImportKeyPair+import           Network.AWS.EC2.ImportSnapshot+import           Network.AWS.EC2.ImportVolume+import           Network.AWS.EC2.ModifyImageAttribute+import           Network.AWS.EC2.ModifyInstanceAttribute+import           Network.AWS.EC2.ModifyNetworkInterfaceAttribute+import           Network.AWS.EC2.ModifyReservedInstances+import           Network.AWS.EC2.ModifySnapshotAttribute+import           Network.AWS.EC2.ModifySubnetAttribute+import           Network.AWS.EC2.ModifyVolumeAttribute+import           Network.AWS.EC2.ModifyVPCAttribute+import           Network.AWS.EC2.ModifyVPCEndpoint+import           Network.AWS.EC2.MonitorInstances+import           Network.AWS.EC2.MoveAddressToVPC+import           Network.AWS.EC2.PurchaseReservedInstancesOffering+import           Network.AWS.EC2.RebootInstances+import           Network.AWS.EC2.RegisterImage+import           Network.AWS.EC2.RejectVPCPeeringConnection+import           Network.AWS.EC2.ReleaseAddress+import           Network.AWS.EC2.ReplaceNetworkACLAssociation+import           Network.AWS.EC2.ReplaceNetworkACLEntry+import           Network.AWS.EC2.ReplaceRoute+import           Network.AWS.EC2.ReplaceRouteTableAssociation+import           Network.AWS.EC2.ReportInstanceStatus+import           Network.AWS.EC2.RequestSpotFleet+import           Network.AWS.EC2.RequestSpotInstances+import           Network.AWS.EC2.ResetImageAttribute+import           Network.AWS.EC2.ResetInstanceAttribute+import           Network.AWS.EC2.ResetNetworkInterfaceAttribute+import           Network.AWS.EC2.ResetSnapshotAttribute+import           Network.AWS.EC2.RestoreAddressToClassic+import           Network.AWS.EC2.RevokeSecurityGroupEgress+import           Network.AWS.EC2.RevokeSecurityGroupIngress+import           Network.AWS.EC2.RunInstances+import           Network.AWS.EC2.StartInstances+import           Network.AWS.EC2.StopInstances+import           Network.AWS.EC2.TerminateInstances+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.UnassignPrivateIPAddresses+import           Network.AWS.EC2.UnmonitorInstances+import           Network.AWS.EC2.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'EC2'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
+ gen/Network/AWS/EC2/AcceptVPCPeeringConnection.hs view
@@ -0,0 +1,139 @@+{-# 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.AcceptVPCPeeringConnection+-- 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)+--+-- Accept a VPC peering connection request. To accept a request, the VPC+-- peering connection must be in the 'pending-acceptance' state, and you+-- 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+      acceptVPCPeeringConnection+    , AcceptVPCPeeringConnection+    -- * Request Lenses+    , avpcVPCPeeringConnectionId+    , avpcDryRun++    -- * Destructuring the Response+    , acceptVPCPeeringConnectionResponse+    , AcceptVPCPeeringConnectionResponse+    -- * Response Lenses+    , avpcrsVPCPeeringConnection+    , avpcrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'acceptVPCPeeringConnection' smart constructor.+data AcceptVPCPeeringConnection = AcceptVPCPeeringConnection'+    { _avpcVPCPeeringConnectionId :: !(Maybe Text)+    , _avpcDryRun                 :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AcceptVPCPeeringConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avpcVPCPeeringConnectionId'+--+-- * 'avpcDryRun'+acceptVPCPeeringConnection+    :: AcceptVPCPeeringConnection+acceptVPCPeeringConnection =+    AcceptVPCPeeringConnection'+    { _avpcVPCPeeringConnectionId = Nothing+    , _avpcDryRun = Nothing+    }++-- | The ID of the VPC peering connection.+avpcVPCPeeringConnectionId :: Lens' AcceptVPCPeeringConnection (Maybe Text)+avpcVPCPeeringConnectionId = lens _avpcVPCPeeringConnectionId (\ s a -> s{_avpcVPCPeeringConnectionId = 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'.+avpcDryRun :: Lens' AcceptVPCPeeringConnection (Maybe Bool)+avpcDryRun = lens _avpcDryRun (\ s a -> s{_avpcDryRun = a});++instance AWSRequest AcceptVPCPeeringConnection where+        type Sv AcceptVPCPeeringConnection = EC2+        type Rs AcceptVPCPeeringConnection =+             AcceptVPCPeeringConnectionResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 AcceptVPCPeeringConnectionResponse' <$>+                   (x .@? "vpcPeeringConnection") <*>+                     (pure (fromEnum s)))++instance ToHeaders AcceptVPCPeeringConnection where+        toHeaders = const mempty++instance ToPath AcceptVPCPeeringConnection where+        toPath = const "/"++instance ToQuery AcceptVPCPeeringConnection where+        toQuery AcceptVPCPeeringConnection'{..}+          = mconcat+              ["Action" =:+                 ("AcceptVpcPeeringConnection" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "VpcPeeringConnectionId" =:+                 _avpcVPCPeeringConnectionId,+               "DryRun" =: _avpcDryRun]++-- | /See:/ 'acceptVPCPeeringConnectionResponse' smart constructor.+data AcceptVPCPeeringConnectionResponse = AcceptVPCPeeringConnectionResponse'+    { _avpcrsVPCPeeringConnection :: !(Maybe VPCPeeringConnection)+    , _avpcrsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AcceptVPCPeeringConnectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avpcrsVPCPeeringConnection'+--+-- * 'avpcrsStatus'+acceptVPCPeeringConnectionResponse+    :: Int -- ^ 'avpcrsStatus'+    -> AcceptVPCPeeringConnectionResponse+acceptVPCPeeringConnectionResponse pStatus_ =+    AcceptVPCPeeringConnectionResponse'+    { _avpcrsVPCPeeringConnection = Nothing+    , _avpcrsStatus = pStatus_+    }++-- | Information about the VPC peering connection.+avpcrsVPCPeeringConnection :: Lens' AcceptVPCPeeringConnectionResponse (Maybe VPCPeeringConnection)+avpcrsVPCPeeringConnection = lens _avpcrsVPCPeeringConnection (\ s a -> s{_avpcrsVPCPeeringConnection = a});++-- | The response status code.+avpcrsStatus :: Lens' AcceptVPCPeeringConnectionResponse Int+avpcrsStatus = lens _avpcrsStatus (\ s a -> s{_avpcrsStatus = a});
− gen/Network/AWS/EC2/AcceptVpcPeeringConnection.hs
@@ -1,126 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.AcceptVpcPeeringConnection--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Accept a VPC peering connection request. To accept a request, the VPC peering--- connection must be in the 'pending-acceptance' state, and you must be the owner--- of the peer VPC. Use the 'DescribeVpcPeeringConnections' request to view your--- outstanding VPC peering connection requests.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AcceptVpcPeeringConnection.html>-module Network.AWS.EC2.AcceptVpcPeeringConnection-    (-    -- * Request-      AcceptVpcPeeringConnection-    -- ** Request constructor-    , acceptVpcPeeringConnection-    -- ** Request lenses-    , avpcDryRun-    , avpcVpcPeeringConnectionId--    -- * Response-    , AcceptVpcPeeringConnectionResponse-    -- ** Response constructor-    , acceptVpcPeeringConnectionResponse-    -- ** Response lenses-    , avpcrVpcPeeringConnection-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data AcceptVpcPeeringConnection = AcceptVpcPeeringConnection-    { _avpcDryRun                 :: Maybe Bool-    , _avpcVpcPeeringConnectionId :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'AcceptVpcPeeringConnection' constructor.------ The fields accessible through corresponding lenses are:------ * 'avpcDryRun' @::@ 'Maybe' 'Bool'------ * 'avpcVpcPeeringConnectionId' @::@ 'Maybe' 'Text'----acceptVpcPeeringConnection :: AcceptVpcPeeringConnection-acceptVpcPeeringConnection = AcceptVpcPeeringConnection-    { _avpcDryRun                 = Nothing-    , _avpcVpcPeeringConnectionId = Nothing-    }---- | 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'.-avpcDryRun :: Lens' AcceptVpcPeeringConnection (Maybe Bool)-avpcDryRun = lens _avpcDryRun (\s a -> s { _avpcDryRun = a })---- | The ID of the VPC peering connection.-avpcVpcPeeringConnectionId :: Lens' AcceptVpcPeeringConnection (Maybe Text)-avpcVpcPeeringConnectionId =-    lens _avpcVpcPeeringConnectionId-        (\s a -> s { _avpcVpcPeeringConnectionId = a })--newtype AcceptVpcPeeringConnectionResponse = AcceptVpcPeeringConnectionResponse-    { _avpcrVpcPeeringConnection :: Maybe VpcPeeringConnection-    } deriving (Eq, Read, Show)---- | 'AcceptVpcPeeringConnectionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'avpcrVpcPeeringConnection' @::@ 'Maybe' 'VpcPeeringConnection'----acceptVpcPeeringConnectionResponse :: AcceptVpcPeeringConnectionResponse-acceptVpcPeeringConnectionResponse = AcceptVpcPeeringConnectionResponse-    { _avpcrVpcPeeringConnection = Nothing-    }---- | Information about the VPC peering connection.-avpcrVpcPeeringConnection :: Lens' AcceptVpcPeeringConnectionResponse (Maybe VpcPeeringConnection)-avpcrVpcPeeringConnection =-    lens _avpcrVpcPeeringConnection-        (\s a -> s { _avpcrVpcPeeringConnection = a })--instance ToPath AcceptVpcPeeringConnection where-    toPath = const "/"--instance ToQuery AcceptVpcPeeringConnection where-    toQuery AcceptVpcPeeringConnection{..} = mconcat-        [ "DryRun"                 =? _avpcDryRun-        , "VpcPeeringConnectionId" =? _avpcVpcPeeringConnectionId-        ]--instance ToHeaders AcceptVpcPeeringConnection--instance AWSRequest AcceptVpcPeeringConnection where-    type Sv AcceptVpcPeeringConnection = EC2-    type Rs AcceptVpcPeeringConnection = AcceptVpcPeeringConnectionResponse--    request  = post "AcceptVpcPeeringConnection"-    response = xmlResponse--instance FromXML AcceptVpcPeeringConnectionResponse where-    parseXML x = AcceptVpcPeeringConnectionResponse-        <$> x .@? "vpcPeeringConnection"
gen/Network/AWS/EC2/AllocateAddress.hs view
@@ -1,146 +1,159 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.AllocateAddress--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Acquires an Elastic IP address.+-- Acquires an Elastic IP address. ----- An Elastic IP address is for use either in the EC2-Classic platform or 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 ElasticCompute Cloud User Guide/.+-- An Elastic IP address is for use either in the EC2-Classic platform or+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AllocateAddress.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AllocateAddress.html AWS API Reference> for AllocateAddress. module Network.AWS.EC2.AllocateAddress     (-    -- * Request-      AllocateAddress-    -- ** Request constructor-    , allocateAddress-    -- ** Request lenses+    -- * Creating a Request+      allocateAddress+    , AllocateAddress+    -- * Request Lenses     , aaDomain     , aaDryRun -    -- * Response-    , AllocateAddressResponse-    -- ** Response constructor+    -- * Destructuring the Response     , allocateAddressResponse-    -- ** Response lenses-    , aarAllocationId-    , aarDomain-    , aarPublicIp+    , AllocateAddressResponse+    -- * Response Lenses+    , aarsAllocationId+    , aarsDomain+    , aarsPublicIP+    , aarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data AllocateAddress = AllocateAddress-    { _aaDomain :: Maybe DomainType-    , _aaDryRun :: Maybe Bool-    } deriving (Eq, Read, Show)+-- | /See:/ 'allocateAddress' smart constructor.+data AllocateAddress = AllocateAddress'+    { _aaDomain :: !(Maybe DomainType)+    , _aaDryRun :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'AllocateAddress' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'AllocateAddress' with the minimum fields required to make a request. ----- * 'aaDomain' @::@ 'Maybe' 'DomainType'+-- Use one of the following lenses to modify other fields as desired: ----- * 'aaDryRun' @::@ 'Maybe' 'Bool'+-- * 'aaDomain' ---allocateAddress :: AllocateAddress-allocateAddress = AllocateAddress-    { _aaDryRun = Nothing-    , _aaDomain = Nothing+-- * 'aaDryRun'+allocateAddress+    :: AllocateAddress+allocateAddress =+    AllocateAddress'+    { _aaDomain = Nothing+    , _aaDryRun = Nothing     }  -- | Set to 'vpc' to allocate the address for use with instances in a VPC. -- -- Default: The address is for use with instances in EC2-Classic. aaDomain :: Lens' AllocateAddress (Maybe DomainType)-aaDomain = lens _aaDomain (\s a -> s { _aaDomain = a })+aaDomain = lens _aaDomain (\ s a -> s{_aaDomain = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. aaDryRun :: Lens' AllocateAddress (Maybe Bool)-aaDryRun = lens _aaDryRun (\s a -> s { _aaDryRun = a })+aaDryRun = lens _aaDryRun (\ s a -> s{_aaDryRun = a}); -data AllocateAddressResponse = AllocateAddressResponse-    { _aarAllocationId :: Maybe Text-    , _aarDomain       :: Maybe DomainType-    , _aarPublicIp     :: Maybe Text-    } deriving (Eq, Read, Show)+instance AWSRequest AllocateAddress where+        type Sv AllocateAddress = EC2+        type Rs AllocateAddress = AllocateAddressResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 AllocateAddressResponse' <$>+                   (x .@? "allocationId") <*> (x .@? "domain") <*>+                     (x .@? "publicIp")+                     <*> (pure (fromEnum s))) --- | 'AllocateAddressResponse' constructor.+instance ToHeaders AllocateAddress where+        toHeaders = const mempty++instance ToPath AllocateAddress where+        toPath = const "/"++instance ToQuery AllocateAddress where+        toQuery AllocateAddress'{..}+          = mconcat+              ["Action" =: ("AllocateAddress" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Domain" =: _aaDomain, "DryRun" =: _aaDryRun]++-- | /See:/ 'allocateAddressResponse' smart constructor.+data AllocateAddressResponse = AllocateAddressResponse'+    { _aarsAllocationId :: !(Maybe Text)+    , _aarsDomain       :: !(Maybe DomainType)+    , _aarsPublicIP     :: !(Maybe Text)+    , _aarsStatus       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AllocateAddressResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'aarAllocationId' @::@ 'Maybe' 'Text'+-- * 'aarsAllocationId' ----- * 'aarDomain' @::@ 'Maybe' 'DomainType'+-- * 'aarsDomain' ----- * 'aarPublicIp' @::@ 'Maybe' 'Text'+-- * 'aarsPublicIP' ---allocateAddressResponse :: AllocateAddressResponse-allocateAddressResponse = AllocateAddressResponse-    { _aarPublicIp     = Nothing-    , _aarDomain       = Nothing-    , _aarAllocationId = Nothing+-- * 'aarsStatus'+allocateAddressResponse+    :: Int -- ^ 'aarsStatus'+    -> AllocateAddressResponse+allocateAddressResponse pStatus_ =+    AllocateAddressResponse'+    { _aarsAllocationId = Nothing+    , _aarsDomain = Nothing+    , _aarsPublicIP = Nothing+    , _aarsStatus = pStatus_     } --- | [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic--- IP address for use with instances in a VPC.-aarAllocationId :: Lens' AllocateAddressResponse (Maybe Text)-aarAllocationId = lens _aarAllocationId (\s a -> s { _aarAllocationId = a })+-- | [EC2-VPC] The ID that AWS assigns to represent the allocation of the+-- Elastic IP address for use with instances in a VPC.+aarsAllocationId :: Lens' AllocateAddressResponse (Maybe Text)+aarsAllocationId = lens _aarsAllocationId (\ s a -> s{_aarsAllocationId = a});  -- | Indicates whether this Elastic IP address is for use with instances in -- EC2-Classic ('standard') or instances in a VPC ('vpc').-aarDomain :: Lens' AllocateAddressResponse (Maybe DomainType)-aarDomain = lens _aarDomain (\s a -> s { _aarDomain = a })+aarsDomain :: Lens' AllocateAddressResponse (Maybe DomainType)+aarsDomain = lens _aarsDomain (\ s a -> s{_aarsDomain = a});  -- | The Elastic IP address.-aarPublicIp :: Lens' AllocateAddressResponse (Maybe Text)-aarPublicIp = lens _aarPublicIp (\s a -> s { _aarPublicIp = a })--instance ToPath AllocateAddress where-    toPath = const "/"--instance ToQuery AllocateAddress where-    toQuery AllocateAddress{..} = mconcat-        [ "Domain" =? _aaDomain-        , "DryRun" =? _aaDryRun-        ]--instance ToHeaders AllocateAddress--instance AWSRequest AllocateAddress where-    type Sv AllocateAddress = EC2-    type Rs AllocateAddress = AllocateAddressResponse--    request  = post "AllocateAddress"-    response = xmlResponse+aarsPublicIP :: Lens' AllocateAddressResponse (Maybe Text)+aarsPublicIP = lens _aarsPublicIP (\ s a -> s{_aarsPublicIP = a}); -instance FromXML AllocateAddressResponse where-    parseXML x = AllocateAddressResponse-        <$> x .@? "allocationId"-        <*> x .@? "domain"-        <*> x .@? "publicIp"+-- | The response status code.+aarsStatus :: Lens' AllocateAddressResponse Int+aarsStatus = lens _aarsStatus (\ s a -> s{_aarsStatus = a});
+ gen/Network/AWS/EC2/AssignPrivateIPAddresses.hs view
@@ -0,0 +1,150 @@+{-# 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.AssignPrivateIPAddresses+-- 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)+--+-- Assigns one or more secondary private IP addresses to the specified+-- network interface. You can specify one or more specific secondary IP+-- addresses, or you can specify the number of secondary IP addresses to be+-- automatically assigned within the subnet\'s CIDR block range. The number+-- of secondary IP addresses that you can assign to an instance varies by+-- instance type. For information about instance types, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Types>+-- in the /Amazon Elastic Compute Cloud User Guide/. For more information+-- about Elastic IP addresses, 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/.+--+-- 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+      assignPrivateIPAddresses+    , AssignPrivateIPAddresses+    -- * Request Lenses+    , apiaPrivateIPAddresses+    , apiaAllowReassignment+    , apiaSecondaryPrivateIPAddressCount+    , apiaNetworkInterfaceId++    -- * Destructuring the Response+    , assignPrivateIPAddressesResponse+    , AssignPrivateIPAddressesResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'assignPrivateIPAddresses' smart constructor.+data AssignPrivateIPAddresses = AssignPrivateIPAddresses'+    { _apiaPrivateIPAddresses             :: !(Maybe [Text])+    , _apiaAllowReassignment              :: !(Maybe Bool)+    , _apiaSecondaryPrivateIPAddressCount :: !(Maybe Int)+    , _apiaNetworkInterfaceId             :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AssignPrivateIPAddresses' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apiaPrivateIPAddresses'+--+-- * 'apiaAllowReassignment'+--+-- * 'apiaSecondaryPrivateIPAddressCount'+--+-- * 'apiaNetworkInterfaceId'+assignPrivateIPAddresses+    :: Text -- ^ 'apiaNetworkInterfaceId'+    -> AssignPrivateIPAddresses+assignPrivateIPAddresses pNetworkInterfaceId_ =+    AssignPrivateIPAddresses'+    { _apiaPrivateIPAddresses = Nothing+    , _apiaAllowReassignment = Nothing+    , _apiaSecondaryPrivateIPAddressCount = Nothing+    , _apiaNetworkInterfaceId = pNetworkInterfaceId_+    }++-- | One or more IP addresses to be assigned as a secondary private IP+-- address to the network interface. You can\'t specify this parameter when+-- also specifying a number of secondary IP addresses.+--+-- If you don\'t specify an IP address, Amazon EC2 automatically selects an+-- IP address within the subnet range.+apiaPrivateIPAddresses :: Lens' AssignPrivateIPAddresses [Text]+apiaPrivateIPAddresses = lens _apiaPrivateIPAddresses (\ s a -> s{_apiaPrivateIPAddresses = a}) . _Default . _Coerce;++-- | Indicates whether to allow an IP address that is already assigned to+-- another network interface or instance to be reassigned to the specified+-- network interface.+apiaAllowReassignment :: Lens' AssignPrivateIPAddresses (Maybe Bool)+apiaAllowReassignment = lens _apiaAllowReassignment (\ s a -> s{_apiaAllowReassignment = a});++-- | The number of secondary IP addresses to assign to the network interface.+-- You can\'t specify this parameter when also specifying private IP+-- addresses.+apiaSecondaryPrivateIPAddressCount :: Lens' AssignPrivateIPAddresses (Maybe Int)+apiaSecondaryPrivateIPAddressCount = lens _apiaSecondaryPrivateIPAddressCount (\ s a -> s{_apiaSecondaryPrivateIPAddressCount = a});++-- | The ID of the network interface.+apiaNetworkInterfaceId :: Lens' AssignPrivateIPAddresses Text+apiaNetworkInterfaceId = lens _apiaNetworkInterfaceId (\ s a -> s{_apiaNetworkInterfaceId = a});++instance AWSRequest AssignPrivateIPAddresses where+        type Sv AssignPrivateIPAddresses = EC2+        type Rs AssignPrivateIPAddresses =+             AssignPrivateIPAddressesResponse+        request = post+        response+          = receiveNull AssignPrivateIPAddressesResponse'++instance ToHeaders AssignPrivateIPAddresses where+        toHeaders = const mempty++instance ToPath AssignPrivateIPAddresses where+        toPath = const "/"++instance ToQuery AssignPrivateIPAddresses where+        toQuery AssignPrivateIPAddresses'{..}+          = mconcat+              ["Action" =:+                 ("AssignPrivateIpAddresses" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "PrivateIpAddress" <$>+                    _apiaPrivateIPAddresses),+               "AllowReassignment" =: _apiaAllowReassignment,+               "SecondaryPrivateIpAddressCount" =:+                 _apiaSecondaryPrivateIPAddressCount,+               "NetworkInterfaceId" =: _apiaNetworkInterfaceId]++-- | /See:/ 'assignPrivateIPAddressesResponse' smart constructor.+data AssignPrivateIPAddressesResponse =+    AssignPrivateIPAddressesResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AssignPrivateIPAddressesResponse' with the minimum fields required to make a request.+--+assignPrivateIPAddressesResponse+    :: AssignPrivateIPAddressesResponse+assignPrivateIPAddressesResponse = AssignPrivateIPAddressesResponse'
− gen/Network/AWS/EC2/AssignPrivateIpAddresses.hs
@@ -1,142 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.AssignPrivateIpAddresses--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Assigns one or more secondary private IP addresses to the specified network--- interface. You can specify one or more specific secondary IP addresses, or--- you can specify the number of secondary IP addresses to be automatically--- assigned within the subnet's CIDR block range. The number of secondary IP--- addresses that you can assign to an instance varies by instance type. For--- information about instance types, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Types> in the /Amazon ElasticCompute Cloud User Guide/. For more information about Elastic IP addresses,--- 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/.------ AssignPrivateIpAddresses is available only in EC2-VPC.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AssignPrivateIpAddresses.html>-module Network.AWS.EC2.AssignPrivateIpAddresses-    (-    -- * Request-      AssignPrivateIpAddresses-    -- ** Request constructor-    , assignPrivateIpAddresses-    -- ** Request lenses-    , apiaAllowReassignment-    , apiaNetworkInterfaceId-    , apiaPrivateIpAddresses-    , apiaSecondaryPrivateIpAddressCount--    -- * Response-    , AssignPrivateIpAddressesResponse-    -- ** Response constructor-    , assignPrivateIpAddressesResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data AssignPrivateIpAddresses = AssignPrivateIpAddresses-    { _apiaAllowReassignment              :: Maybe Bool-    , _apiaNetworkInterfaceId             :: Text-    , _apiaPrivateIpAddresses             :: List "PrivateIpAddress" Text-    , _apiaSecondaryPrivateIpAddressCount :: Maybe Int-    } deriving (Eq, Ord, Read, Show)---- | 'AssignPrivateIpAddresses' constructor.------ The fields accessible through corresponding lenses are:------ * 'apiaAllowReassignment' @::@ 'Maybe' 'Bool'------ * 'apiaNetworkInterfaceId' @::@ 'Text'------ * 'apiaPrivateIpAddresses' @::@ ['Text']------ * 'apiaSecondaryPrivateIpAddressCount' @::@ 'Maybe' 'Int'----assignPrivateIpAddresses :: Text -- ^ 'apiaNetworkInterfaceId'-                         -> AssignPrivateIpAddresses-assignPrivateIpAddresses p1 = AssignPrivateIpAddresses-    { _apiaNetworkInterfaceId             = p1-    , _apiaPrivateIpAddresses             = mempty-    , _apiaSecondaryPrivateIpAddressCount = Nothing-    , _apiaAllowReassignment              = Nothing-    }---- | Indicates whether to allow an IP address that is already assigned to another--- network interface or instance to be reassigned to the specified network--- interface.-apiaAllowReassignment :: Lens' AssignPrivateIpAddresses (Maybe Bool)-apiaAllowReassignment =-    lens _apiaAllowReassignment (\s a -> s { _apiaAllowReassignment = a })---- | The ID of the network interface.-apiaNetworkInterfaceId :: Lens' AssignPrivateIpAddresses Text-apiaNetworkInterfaceId =-    lens _apiaNetworkInterfaceId (\s a -> s { _apiaNetworkInterfaceId = a })---- | One or more IP addresses to be assigned as a secondary private IP address to--- the network interface. You can't specify this parameter when also specifying--- a number of secondary IP addresses.------ If you don't specify an IP address, Amazon EC2 automatically selects an IP--- address within the subnet range.-apiaPrivateIpAddresses :: Lens' AssignPrivateIpAddresses [Text]-apiaPrivateIpAddresses =-    lens _apiaPrivateIpAddresses (\s a -> s { _apiaPrivateIpAddresses = a })-        . _List---- | The number of secondary IP addresses to assign to the network interface. You--- can't specify this parameter when also specifying private IP addresses.-apiaSecondaryPrivateIpAddressCount :: Lens' AssignPrivateIpAddresses (Maybe Int)-apiaSecondaryPrivateIpAddressCount =-    lens _apiaSecondaryPrivateIpAddressCount-        (\s a -> s { _apiaSecondaryPrivateIpAddressCount = a })--data AssignPrivateIpAddressesResponse = AssignPrivateIpAddressesResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'AssignPrivateIpAddressesResponse' constructor.-assignPrivateIpAddressesResponse :: AssignPrivateIpAddressesResponse-assignPrivateIpAddressesResponse = AssignPrivateIpAddressesResponse--instance ToPath AssignPrivateIpAddresses where-    toPath = const "/"--instance ToQuery AssignPrivateIpAddresses where-    toQuery AssignPrivateIpAddresses{..} = mconcat-        [ "AllowReassignment"              =? _apiaAllowReassignment-        , "NetworkInterfaceId"             =? _apiaNetworkInterfaceId-        , "PrivateIpAddress"               `toQueryList` _apiaPrivateIpAddresses-        , "SecondaryPrivateIpAddressCount" =? _apiaSecondaryPrivateIpAddressCount-        ]--instance ToHeaders AssignPrivateIpAddresses--instance AWSRequest AssignPrivateIpAddresses where-    type Sv AssignPrivateIpAddresses = EC2-    type Rs AssignPrivateIpAddresses = AssignPrivateIpAddressesResponse--    request  = post "AssignPrivateIpAddresses"-    response = nullResponse AssignPrivateIpAddressesResponse
gen/Network/AWS/EC2/AssociateAddress.hs view
@@ -1,198 +1,210 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.AssociateAddress--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Associates an Elastic IP address with an instance or a network interface.+-- Associates an Elastic IP address with an instance or a network+-- interface. ----- An Elastic IP address is for use in either the EC2-Classic platform or 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 ElasticCompute Cloud User Guide/.+-- An Elastic IP address is for use in either the EC2-Classic platform or+-- 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/. ----- [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is--- already associated with a different instance, it is disassociated from that--- instance and associated with the specified instance.+-- [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address+-- is already associated with a different instance, it is disassociated+-- from that instance and associated with the specified instance. ----- [VPC in an EC2-Classic account] If you don't specify a private IP address,--- the Elastic IP address is associated with the primary IP address. If the--- Elastic IP address is already associated with a different instance or a--- network interface, you get an error unless you allow reassociation.+-- [VPC in an EC2-Classic account] If you don\'t specify a private IP+-- address, the Elastic IP address is associated with the primary IP+-- address. If the Elastic IP address is already associated with a+-- different instance or a network interface, you get an error unless you+-- allow reassociation. -- -- This is an idempotent operation. If you perform the operation more than--- once, Amazon EC2 doesn't return an error.+-- once, Amazon EC2 doesn\'t return an error. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AssociateAddress.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AssociateAddress.html AWS API Reference> for AssociateAddress. module Network.AWS.EC2.AssociateAddress     (-    -- * Request-      AssociateAddress-    -- ** Request constructor-    , associateAddress-    -- ** Request lenses-    , aa1AllocationId-    , aa1AllowReassociation-    , aa1DryRun-    , aa1InstanceId-    , aa1NetworkInterfaceId-    , aa1PrivateIpAddress-    , aa1PublicIp+    -- * Creating a Request+      associateAddress+    , AssociateAddress+    -- * Request Lenses+    , aasInstanceId+    , aasAllocationId+    , aasNetworkInterfaceId+    , aasAllowReassociation+    , aasPrivateIPAddress+    , aasPublicIP+    , aasDryRun -    -- * Response-    , AssociateAddressResponse-    -- ** Response constructor+    -- * Destructuring the Response     , associateAddressResponse-    -- ** Response lenses-    , aarAssociationId+    , AssociateAddressResponse+    -- * Response Lenses+    , arsAssociationId+    , arsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data AssociateAddress = AssociateAddress-    { _aa1AllocationId       :: Maybe Text-    , _aa1AllowReassociation :: Maybe Bool-    , _aa1DryRun             :: Maybe Bool-    , _aa1InstanceId         :: Maybe Text-    , _aa1NetworkInterfaceId :: Maybe Text-    , _aa1PrivateIpAddress   :: Maybe Text-    , _aa1PublicIp           :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'associateAddress' smart constructor.+data AssociateAddress = AssociateAddress'+    { _aasInstanceId         :: !(Maybe Text)+    , _aasAllocationId       :: !(Maybe Text)+    , _aasNetworkInterfaceId :: !(Maybe Text)+    , _aasAllowReassociation :: !(Maybe Bool)+    , _aasPrivateIPAddress   :: !(Maybe Text)+    , _aasPublicIP           :: !(Maybe Text)+    , _aasDryRun             :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'AssociateAddress' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'AssociateAddress' with the minimum fields required to make a request. ----- * 'aa1AllocationId' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'aa1AllowReassociation' @::@ 'Maybe' 'Bool'+-- * 'aasInstanceId' ----- * 'aa1DryRun' @::@ 'Maybe' 'Bool'+-- * 'aasAllocationId' ----- * 'aa1InstanceId' @::@ 'Maybe' 'Text'+-- * 'aasNetworkInterfaceId' ----- * 'aa1NetworkInterfaceId' @::@ 'Maybe' 'Text'+-- * 'aasAllowReassociation' ----- * 'aa1PrivateIpAddress' @::@ 'Maybe' 'Text'+-- * 'aasPrivateIPAddress' ----- * 'aa1PublicIp' @::@ 'Maybe' 'Text'+-- * 'aasPublicIP' ---associateAddress :: AssociateAddress-associateAddress = AssociateAddress-    { _aa1DryRun             = Nothing-    , _aa1InstanceId         = Nothing-    , _aa1PublicIp           = Nothing-    , _aa1AllocationId       = Nothing-    , _aa1NetworkInterfaceId = Nothing-    , _aa1PrivateIpAddress   = Nothing-    , _aa1AllowReassociation = Nothing+-- * 'aasDryRun'+associateAddress+    :: AssociateAddress+associateAddress =+    AssociateAddress'+    { _aasInstanceId = Nothing+    , _aasAllocationId = Nothing+    , _aasNetworkInterfaceId = Nothing+    , _aasAllowReassociation = Nothing+    , _aasPrivateIPAddress = Nothing+    , _aasPublicIP = Nothing+    , _aasDryRun = Nothing     } +-- | The ID of the instance. This is required for EC2-Classic. For EC2-VPC,+-- you can specify either the instance ID or the network interface ID, but+-- not both. The operation fails if you specify an instance ID unless+-- exactly one network interface is attached.+aasInstanceId :: Lens' AssociateAddress (Maybe Text)+aasInstanceId = lens _aasInstanceId (\ s a -> s{_aasInstanceId = a});+ -- | [EC2-VPC] The allocation ID. This is required for EC2-VPC.-aa1AllocationId :: Lens' AssociateAddress (Maybe Text)-aa1AllocationId = lens _aa1AllocationId (\s a -> s { _aa1AllocationId = a })+aasAllocationId :: Lens' AssociateAddress (Maybe Text)+aasAllocationId = lens _aasAllocationId (\ s a -> s{_aasAllocationId = a}); --- | [EC2-VPC] Allows an Elastic IP address that is already associated with an--- instance or network interface to be re-associated with the specified instance--- or network interface. Otherwise, the operation fails.+-- | [EC2-VPC] The ID of the network interface. If the instance has more than+-- one network interface, you must specify a network interface ID.+aasNetworkInterfaceId :: Lens' AssociateAddress (Maybe Text)+aasNetworkInterfaceId = lens _aasNetworkInterfaceId (\ s a -> s{_aasNetworkInterfaceId = a});++-- | [EC2-VPC] Allows an Elastic IP address that is already associated with+-- an instance or network interface to be re-associated with the specified+-- instance or network interface. Otherwise, the operation fails. -- -- Default: 'false'-aa1AllowReassociation :: Lens' AssociateAddress (Maybe Bool)-aa1AllowReassociation =-    lens _aa1AllowReassociation (\s a -> s { _aa1AllowReassociation = 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'.-aa1DryRun :: Lens' AssociateAddress (Maybe Bool)-aa1DryRun = lens _aa1DryRun (\s a -> s { _aa1DryRun = a })---- | The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you--- can specify either the instance ID or the network interface ID, but not both.--- The operation fails if you specify an instance ID unless exactly one network--- interface is attached.-aa1InstanceId :: Lens' AssociateAddress (Maybe Text)-aa1InstanceId = lens _aa1InstanceId (\s a -> s { _aa1InstanceId = a })---- | [EC2-VPC] The ID of the network interface. If the instance has more than one--- network interface, you must specify a network interface ID.-aa1NetworkInterfaceId :: Lens' AssociateAddress (Maybe Text)-aa1NetworkInterfaceId =-    lens _aa1NetworkInterfaceId (\s a -> s { _aa1NetworkInterfaceId = a })+aasAllowReassociation :: Lens' AssociateAddress (Maybe Bool)+aasAllowReassociation = lens _aasAllowReassociation (\ s a -> s{_aasAllowReassociation = a}); --- | [EC2-VPC] The primary or secondary private IP address to associate with the--- Elastic IP address. If no private IP address is specified, the Elastic IP--- address is associated with the primary private IP address.-aa1PrivateIpAddress :: Lens' AssociateAddress (Maybe Text)-aa1PrivateIpAddress =-    lens _aa1PrivateIpAddress (\s a -> s { _aa1PrivateIpAddress = a })+-- | [EC2-VPC] The primary or secondary private IP address to associate with+-- the Elastic IP address. If no private IP address is specified, the+-- Elastic IP address is associated with the primary private IP address.+aasPrivateIPAddress :: Lens' AssociateAddress (Maybe Text)+aasPrivateIPAddress = lens _aasPrivateIPAddress (\ s a -> s{_aasPrivateIPAddress = a});  -- | The Elastic IP address. This is required for EC2-Classic.-aa1PublicIp :: Lens' AssociateAddress (Maybe Text)-aa1PublicIp = lens _aa1PublicIp (\s a -> s { _aa1PublicIp = a })+aasPublicIP :: Lens' AssociateAddress (Maybe Text)+aasPublicIP = lens _aasPublicIP (\ s a -> s{_aasPublicIP = a}); -newtype AssociateAddressResponse = AssociateAddressResponse-    { _aarAssociationId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+-- | 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'.+aasDryRun :: Lens' AssociateAddress (Maybe Bool)+aasDryRun = lens _aasDryRun (\ s a -> s{_aasDryRun = a}); --- | 'AssociateAddressResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'aarAssociationId' @::@ 'Maybe' 'Text'----associateAddressResponse :: AssociateAddressResponse-associateAddressResponse = AssociateAddressResponse-    { _aarAssociationId = Nothing-    }+instance AWSRequest AssociateAddress where+        type Sv AssociateAddress = EC2+        type Rs AssociateAddress = AssociateAddressResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 AssociateAddressResponse' <$>+                   (x .@? "associationId") <*> (pure (fromEnum s))) --- | [EC2-VPC] The ID that represents the association of the Elastic IP address--- with an instance.-aarAssociationId :: Lens' AssociateAddressResponse (Maybe Text)-aarAssociationId = lens _aarAssociationId (\s a -> s { _aarAssociationId = a })+instance ToHeaders AssociateAddress where+        toHeaders = const mempty  instance ToPath AssociateAddress where-    toPath = const "/"+        toPath = const "/"  instance ToQuery AssociateAddress where-    toQuery AssociateAddress{..} = mconcat-        [ "AllocationId"       =? _aa1AllocationId-        , "AllowReassociation" =? _aa1AllowReassociation-        , "DryRun"             =? _aa1DryRun-        , "InstanceId"         =? _aa1InstanceId-        , "NetworkInterfaceId" =? _aa1NetworkInterfaceId-        , "PrivateIpAddress"   =? _aa1PrivateIpAddress-        , "PublicIp"           =? _aa1PublicIp-        ]+        toQuery AssociateAddress'{..}+          = mconcat+              ["Action" =: ("AssociateAddress" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "InstanceId" =: _aasInstanceId,+               "AllocationId" =: _aasAllocationId,+               "NetworkInterfaceId" =: _aasNetworkInterfaceId,+               "AllowReassociation" =: _aasAllowReassociation,+               "PrivateIpAddress" =: _aasPrivateIPAddress,+               "PublicIp" =: _aasPublicIP, "DryRun" =: _aasDryRun] -instance ToHeaders AssociateAddress+-- | /See:/ 'associateAddressResponse' smart constructor.+data AssociateAddressResponse = AssociateAddressResponse'+    { _arsAssociationId :: !(Maybe Text)+    , _arsStatus        :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest AssociateAddress where-    type Sv AssociateAddress = EC2-    type Rs AssociateAddress = AssociateAddressResponse+-- | Creates a value of 'AssociateAddressResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arsAssociationId'+--+-- * 'arsStatus'+associateAddressResponse+    :: Int -- ^ 'arsStatus'+    -> AssociateAddressResponse+associateAddressResponse pStatus_ =+    AssociateAddressResponse'+    { _arsAssociationId = Nothing+    , _arsStatus = pStatus_+    } -    request  = post "AssociateAddress"-    response = xmlResponse+-- | [EC2-VPC] The ID that represents the association of the Elastic IP+-- address with an instance.+arsAssociationId :: Lens' AssociateAddressResponse (Maybe Text)+arsAssociationId = lens _arsAssociationId (\ s a -> s{_arsAssociationId = a}); -instance FromXML AssociateAddressResponse where-    parseXML x = AssociateAddressResponse-        <$> x .@? "associationId"+-- | The response status code.+arsStatus :: Lens' AssociateAddressResponse Int+arsStatus = lens _arsStatus (\ s a -> s{_arsStatus = a});
+ gen/Network/AWS/EC2/AssociateDHCPOptions.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.AssociateDHCPOptions+-- 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)+--+-- Associates a set of DHCP options (that you\'ve previously created) with+-- the specified VPC, or associates no DHCP options with the VPC.+--+-- After you associate the options with the VPC, any existing instances and+-- all new instances that you launch in that VPC use the options. You+-- don\'t need to restart or relaunch the instances. They automatically+-- pick up the changes within a few hours, depending on how frequently the+-- instance renews its DHCP lease. You can explicitly renew the lease using+-- the operating system on the instance.+--+-- 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+      associateDHCPOptions+    , AssociateDHCPOptions+    -- * Request Lenses+    , adoDryRun+    , adoDHCPOptionsId+    , adoVPCId++    -- * Destructuring the Response+    , associateDHCPOptionsResponse+    , AssociateDHCPOptionsResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'associateDHCPOptions' smart constructor.+data AssociateDHCPOptions = AssociateDHCPOptions'+    { _adoDryRun        :: !(Maybe Bool)+    , _adoDHCPOptionsId :: !Text+    , _adoVPCId         :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AssociateDHCPOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adoDryRun'+--+-- * 'adoDHCPOptionsId'+--+-- * 'adoVPCId'+associateDHCPOptions+    :: Text -- ^ 'adoDHCPOptionsId'+    -> Text -- ^ 'adoVPCId'+    -> AssociateDHCPOptions+associateDHCPOptions pDHCPOptionsId_ pVPCId_ =+    AssociateDHCPOptions'+    { _adoDryRun = Nothing+    , _adoDHCPOptionsId = pDHCPOptionsId_+    , _adoVPCId = pVPCId_+    }++-- | 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'.+adoDryRun :: Lens' AssociateDHCPOptions (Maybe Bool)+adoDryRun = lens _adoDryRun (\ s a -> s{_adoDryRun = a});++-- | The ID of the DHCP options set, or 'default' to associate no DHCP+-- options with the VPC.+adoDHCPOptionsId :: Lens' AssociateDHCPOptions Text+adoDHCPOptionsId = lens _adoDHCPOptionsId (\ s a -> s{_adoDHCPOptionsId = a});++-- | The ID of the VPC.+adoVPCId :: Lens' AssociateDHCPOptions Text+adoVPCId = lens _adoVPCId (\ s a -> s{_adoVPCId = a});++instance AWSRequest AssociateDHCPOptions where+        type Sv AssociateDHCPOptions = EC2+        type Rs AssociateDHCPOptions =+             AssociateDHCPOptionsResponse+        request = post+        response = receiveNull AssociateDHCPOptionsResponse'++instance ToHeaders AssociateDHCPOptions where+        toHeaders = const mempty++instance ToPath AssociateDHCPOptions where+        toPath = const "/"++instance ToQuery AssociateDHCPOptions where+        toQuery AssociateDHCPOptions'{..}+          = mconcat+              ["Action" =: ("AssociateDhcpOptions" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _adoDryRun,+               "DhcpOptionsId" =: _adoDHCPOptionsId,+               "VpcId" =: _adoVPCId]++-- | /See:/ 'associateDHCPOptionsResponse' smart constructor.+data AssociateDHCPOptionsResponse =+    AssociateDHCPOptionsResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AssociateDHCPOptionsResponse' with the minimum fields required to make a request.+--+associateDHCPOptionsResponse+    :: AssociateDHCPOptionsResponse+associateDHCPOptionsResponse = AssociateDHCPOptionsResponse'
− gen/Network/AWS/EC2/AssociateDhcpOptions.hs
@@ -1,124 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.AssociateDhcpOptions--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Associates a set of DHCP options (that you've previously created) with the--- specified VPC, or associates no DHCP options with the VPC.------ After you associate the options with the VPC, any existing instances and all--- new instances that you launch in that VPC use the options. You don't need to--- restart or relaunch the instances. They automatically pick up the changes--- within a few hours, depending on how frequently the instance renews its DHCP--- lease. You can explicitly renew the lease using the operating system on the--- instance.------ For more information, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html DHCP Options Sets> in the /Amazon Virtual PrivateCloud User Guide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AssociateDhcpOptions.html>-module Network.AWS.EC2.AssociateDhcpOptions-    (-    -- * Request-      AssociateDhcpOptions-    -- ** Request constructor-    , associateDhcpOptions-    -- ** Request lenses-    , adoDhcpOptionsId-    , adoDryRun-    , adoVpcId--    -- * Response-    , AssociateDhcpOptionsResponse-    -- ** Response constructor-    , associateDhcpOptionsResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data AssociateDhcpOptions = AssociateDhcpOptions-    { _adoDhcpOptionsId :: Text-    , _adoDryRun        :: Maybe Bool-    , _adoVpcId         :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'AssociateDhcpOptions' constructor.------ The fields accessible through corresponding lenses are:------ * 'adoDhcpOptionsId' @::@ 'Text'------ * 'adoDryRun' @::@ 'Maybe' 'Bool'------ * 'adoVpcId' @::@ 'Text'----associateDhcpOptions :: Text -- ^ 'adoDhcpOptionsId'-                     -> Text -- ^ 'adoVpcId'-                     -> AssociateDhcpOptions-associateDhcpOptions p1 p2 = AssociateDhcpOptions-    { _adoDhcpOptionsId = p1-    , _adoVpcId         = p2-    , _adoDryRun        = Nothing-    }---- | The ID of the DHCP options set, or 'default' to associate no DHCP options with--- the VPC.-adoDhcpOptionsId :: Lens' AssociateDhcpOptions Text-adoDhcpOptionsId = lens _adoDhcpOptionsId (\s a -> s { _adoDhcpOptionsId = 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'.-adoDryRun :: Lens' AssociateDhcpOptions (Maybe Bool)-adoDryRun = lens _adoDryRun (\s a -> s { _adoDryRun = a })---- | The ID of the VPC.-adoVpcId :: Lens' AssociateDhcpOptions Text-adoVpcId = lens _adoVpcId (\s a -> s { _adoVpcId = a })--data AssociateDhcpOptionsResponse = AssociateDhcpOptionsResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'AssociateDhcpOptionsResponse' constructor.-associateDhcpOptionsResponse :: AssociateDhcpOptionsResponse-associateDhcpOptionsResponse = AssociateDhcpOptionsResponse--instance ToPath AssociateDhcpOptions where-    toPath = const "/"--instance ToQuery AssociateDhcpOptions where-    toQuery AssociateDhcpOptions{..} = mconcat-        [ "DhcpOptionsId" =? _adoDhcpOptionsId-        , "DryRun"        =? _adoDryRun-        , "VpcId"         =? _adoVpcId-        ]--instance ToHeaders AssociateDhcpOptions--instance AWSRequest AssociateDhcpOptions where-    type Sv AssociateDhcpOptions = EC2-    type Rs AssociateDhcpOptions = AssociateDhcpOptionsResponse--    request  = post "AssociateDhcpOptions"-    response = nullResponse AssociateDhcpOptionsResponse
gen/Network/AWS/EC2/AssociateRouteTable.hs view
@@ -1,138 +1,152 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.AssociateRouteTable--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Associates a subnet with a route table. The subnet and route table must be in--- the same VPC. This association causes traffic originating from the subnet to--- be routed according to the routes in the route table. The action returns an--- association ID, which you need in order to disassociate the route table from--- the subnet later. A route table can be associated with multiple subnets.+-- Associates a subnet with a route table. The subnet and route table must+-- be in the same VPC. This association causes traffic originating from the+-- subnet to be routed according to the routes in the route table. The+-- action returns an association ID, which you need in order to+-- disassociate the route table from the subnet later. A route table can be+-- associated with multiple subnets. ----- For more information about route tables, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html Route Tables> in the /AmazonVirtual Private Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AssociateRouteTable.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AssociateRouteTable.html AWS API Reference> for AssociateRouteTable. module Network.AWS.EC2.AssociateRouteTable     (-    -- * Request-      AssociateRouteTable-    -- ** Request constructor-    , associateRouteTable-    -- ** Request lenses+    -- * Creating a Request+      associateRouteTable+    , AssociateRouteTable+    -- * Request Lenses     , artDryRun-    , artRouteTableId     , artSubnetId+    , artRouteTableId -    -- * Response-    , AssociateRouteTableResponse-    -- ** Response constructor+    -- * Destructuring the Response     , associateRouteTableResponse-    -- ** Response lenses-    , artrAssociationId+    , AssociateRouteTableResponse+    -- * Response Lenses+    , artrsAssociationId+    , artrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data AssociateRouteTable = AssociateRouteTable-    { _artDryRun       :: Maybe Bool-    , _artRouteTableId :: Text-    , _artSubnetId     :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'associateRouteTable' smart constructor.+data AssociateRouteTable = AssociateRouteTable'+    { _artDryRun       :: !(Maybe Bool)+    , _artSubnetId     :: !Text+    , _artRouteTableId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'AssociateRouteTable' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'AssociateRouteTable' with the minimum fields required to make a request. ----- * 'artDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'artRouteTableId' @::@ 'Text'+-- * 'artDryRun' ----- * 'artSubnetId' @::@ 'Text'+-- * 'artSubnetId' ---associateRouteTable :: Text -- ^ 'artSubnetId'-                    -> Text -- ^ 'artRouteTableId'-                    -> AssociateRouteTable-associateRouteTable p1 p2 = AssociateRouteTable-    { _artSubnetId     = p1-    , _artRouteTableId = p2-    , _artDryRun       = Nothing+-- * 'artRouteTableId'+associateRouteTable+    :: Text -- ^ 'artSubnetId'+    -> Text -- ^ 'artRouteTableId'+    -> AssociateRouteTable+associateRouteTable pSubnetId_ pRouteTableId_ =+    AssociateRouteTable'+    { _artDryRun = Nothing+    , _artSubnetId = pSubnetId_+    , _artRouteTableId = pRouteTableId_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. artDryRun :: Lens' AssociateRouteTable (Maybe Bool)-artDryRun = lens _artDryRun (\s a -> s { _artDryRun = a })---- | The ID of the route table.-artRouteTableId :: Lens' AssociateRouteTable Text-artRouteTableId = lens _artRouteTableId (\s a -> s { _artRouteTableId = a })+artDryRun = lens _artDryRun (\ s a -> s{_artDryRun = a});  -- | The ID of the subnet. artSubnetId :: Lens' AssociateRouteTable Text-artSubnetId = lens _artSubnetId (\s a -> s { _artSubnetId = a })+artSubnetId = lens _artSubnetId (\ s a -> s{_artSubnetId = a}); -newtype AssociateRouteTableResponse = AssociateRouteTableResponse-    { _artrAssociationId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+-- | The ID of the route table.+artRouteTableId :: Lens' AssociateRouteTable Text+artRouteTableId = lens _artRouteTableId (\ s a -> s{_artRouteTableId = a}); --- | 'AssociateRouteTableResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'artrAssociationId' @::@ 'Maybe' 'Text'----associateRouteTableResponse :: AssociateRouteTableResponse-associateRouteTableResponse = AssociateRouteTableResponse-    { _artrAssociationId = Nothing-    }+instance AWSRequest AssociateRouteTable where+        type Sv AssociateRouteTable = EC2+        type Rs AssociateRouteTable =+             AssociateRouteTableResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 AssociateRouteTableResponse' <$>+                   (x .@? "associationId") <*> (pure (fromEnum s))) --- | The route table association ID (needed to disassociate the route table).-artrAssociationId :: Lens' AssociateRouteTableResponse (Maybe Text)-artrAssociationId =-    lens _artrAssociationId (\s a -> s { _artrAssociationId = a })+instance ToHeaders AssociateRouteTable where+        toHeaders = const mempty  instance ToPath AssociateRouteTable where-    toPath = const "/"+        toPath = const "/"  instance ToQuery AssociateRouteTable where-    toQuery AssociateRouteTable{..} = mconcat-        [ "DryRun"       =? _artDryRun-        , "RouteTableId" =? _artRouteTableId-        , "SubnetId"     =? _artSubnetId-        ]+        toQuery AssociateRouteTable'{..}+          = mconcat+              ["Action" =: ("AssociateRouteTable" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _artDryRun, "SubnetId" =: _artSubnetId,+               "RouteTableId" =: _artRouteTableId] -instance ToHeaders AssociateRouteTable+-- | /See:/ 'associateRouteTableResponse' smart constructor.+data AssociateRouteTableResponse = AssociateRouteTableResponse'+    { _artrsAssociationId :: !(Maybe Text)+    , _artrsStatus        :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest AssociateRouteTable where-    type Sv AssociateRouteTable = EC2-    type Rs AssociateRouteTable = AssociateRouteTableResponse+-- | Creates a value of 'AssociateRouteTableResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'artrsAssociationId'+--+-- * 'artrsStatus'+associateRouteTableResponse+    :: Int -- ^ 'artrsStatus'+    -> AssociateRouteTableResponse+associateRouteTableResponse pStatus_ =+    AssociateRouteTableResponse'+    { _artrsAssociationId = Nothing+    , _artrsStatus = pStatus_+    } -    request  = post "AssociateRouteTable"-    response = xmlResponse+-- | The route table association ID (needed to disassociate the route table).+artrsAssociationId :: Lens' AssociateRouteTableResponse (Maybe Text)+artrsAssociationId = lens _artrsAssociationId (\ s a -> s{_artrsAssociationId = a}); -instance FromXML AssociateRouteTableResponse where-    parseXML x = AssociateRouteTableResponse-        <$> x .@? "associationId"+-- | The response status code.+artrsStatus :: Lens' AssociateRouteTableResponse Int+artrsStatus = lens _artrsStatus (\ s a -> s{_artrsStatus = a});
+ gen/Network/AWS/EC2/AttachClassicLinkVPC.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.AttachClassicLinkVPC+-- 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)+--+-- Links an EC2-Classic instance to a ClassicLink-enabled VPC through one+-- or more of the VPC\'s security groups. You cannot link an EC2-Classic+-- instance to more than one VPC at a time. You can only link an instance+-- that\'s in the 'running' state. An instance is automatically unlinked+-- from a VPC when it\'s stopped - you can link it to the VPC again when+-- you restart it.+--+-- After you\'ve linked an instance, you cannot change the VPC security+-- groups that are associated with it. To change the security groups, you+-- must first unlink the instance, and then link it again.+--+-- 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+      attachClassicLinkVPC+    , AttachClassicLinkVPC+    -- * Request Lenses+    , aclvDryRun+    , aclvInstanceId+    , aclvVPCId+    , aclvGroups++    -- * Destructuring the Response+    , attachClassicLinkVPCResponse+    , AttachClassicLinkVPCResponse+    -- * Response Lenses+    , aclvrsReturn+    , aclvrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'attachClassicLinkVPC' smart constructor.+data AttachClassicLinkVPC = AttachClassicLinkVPC'+    { _aclvDryRun     :: !(Maybe Bool)+    , _aclvInstanceId :: !Text+    , _aclvVPCId      :: !Text+    , _aclvGroups     :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttachClassicLinkVPC' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aclvDryRun'+--+-- * 'aclvInstanceId'+--+-- * 'aclvVPCId'+--+-- * 'aclvGroups'+attachClassicLinkVPC+    :: Text -- ^ 'aclvInstanceId'+    -> Text -- ^ 'aclvVPCId'+    -> AttachClassicLinkVPC+attachClassicLinkVPC pInstanceId_ pVPCId_ =+    AttachClassicLinkVPC'+    { _aclvDryRun = Nothing+    , _aclvInstanceId = pInstanceId_+    , _aclvVPCId = pVPCId_+    , _aclvGroups = mempty+    }++-- | 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'.+aclvDryRun :: Lens' AttachClassicLinkVPC (Maybe Bool)+aclvDryRun = lens _aclvDryRun (\ s a -> s{_aclvDryRun = a});++-- | The ID of an EC2-Classic instance to link to the ClassicLink-enabled+-- VPC.+aclvInstanceId :: Lens' AttachClassicLinkVPC Text+aclvInstanceId = lens _aclvInstanceId (\ s a -> s{_aclvInstanceId = a});++-- | The ID of a ClassicLink-enabled VPC.+aclvVPCId :: Lens' AttachClassicLinkVPC Text+aclvVPCId = lens _aclvVPCId (\ s a -> s{_aclvVPCId = a});++-- | The ID of one or more of the VPC\'s security groups. You cannot specify+-- security groups from a different VPC.+aclvGroups :: Lens' AttachClassicLinkVPC [Text]+aclvGroups = lens _aclvGroups (\ s a -> s{_aclvGroups = a}) . _Coerce;++instance AWSRequest AttachClassicLinkVPC where+        type Sv AttachClassicLinkVPC = EC2+        type Rs AttachClassicLinkVPC =+             AttachClassicLinkVPCResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 AttachClassicLinkVPCResponse' <$>+                   (x .@? "return") <*> (pure (fromEnum s)))++instance ToHeaders AttachClassicLinkVPC where+        toHeaders = const mempty++instance ToPath AttachClassicLinkVPC where+        toPath = const "/"++instance ToQuery AttachClassicLinkVPC where+        toQuery AttachClassicLinkVPC'{..}+          = mconcat+              ["Action" =: ("AttachClassicLinkVpc" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _aclvDryRun,+               "InstanceId" =: _aclvInstanceId,+               "VpcId" =: _aclvVPCId,+               toQueryList "groupId" _aclvGroups]++-- | /See:/ 'attachClassicLinkVPCResponse' smart constructor.+data AttachClassicLinkVPCResponse = AttachClassicLinkVPCResponse'+    { _aclvrsReturn :: !(Maybe Bool)+    , _aclvrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttachClassicLinkVPCResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aclvrsReturn'+--+-- * 'aclvrsStatus'+attachClassicLinkVPCResponse+    :: Int -- ^ 'aclvrsStatus'+    -> AttachClassicLinkVPCResponse+attachClassicLinkVPCResponse pStatus_ =+    AttachClassicLinkVPCResponse'+    { _aclvrsReturn = Nothing+    , _aclvrsStatus = pStatus_+    }++-- | Returns 'true' if the request succeeds; otherwise, it returns an error.+aclvrsReturn :: Lens' AttachClassicLinkVPCResponse (Maybe Bool)+aclvrsReturn = lens _aclvrsReturn (\ s a -> s{_aclvrsReturn = a});++-- | The response status code.+aclvrsStatus :: Lens' AttachClassicLinkVPCResponse Int+aclvrsStatus = lens _aclvrsStatus (\ s a -> s{_aclvrsStatus = a});
− gen/Network/AWS/EC2/AttachClassicLinkVpc.hs
@@ -1,152 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.AttachClassicLinkVpc--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or--- more of the VPC's security groups. You cannot link an EC2-Classic instance to--- more than one VPC at a time. You can only link an instance that's in the 'running' state. An instance is automatically unlinked from a VPC when it's stopped ---- you can link it to the VPC again when you restart it.------ After you've linked an instance, you cannot change the VPC security groups--- that are associated with it. To change the security groups, you must first--- unlink the instance, and then link it again.------ Linking your instance to a VPC is sometimes referred to as /attaching/ your--- instance.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachClassicLinkVpc.html>-module Network.AWS.EC2.AttachClassicLinkVpc-    (-    -- * Request-      AttachClassicLinkVpc-    -- ** Request constructor-    , attachClassicLinkVpc-    -- ** Request lenses-    , aclvDryRun-    , aclvGroups-    , aclvInstanceId-    , aclvVpcId--    -- * Response-    , AttachClassicLinkVpcResponse-    -- ** Response constructor-    , attachClassicLinkVpcResponse-    -- ** Response lenses-    , aclvrReturn-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data AttachClassicLinkVpc = AttachClassicLinkVpc-    { _aclvDryRun     :: Maybe Bool-    , _aclvGroups     :: List "groupId" Text-    , _aclvInstanceId :: Text-    , _aclvVpcId      :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'AttachClassicLinkVpc' constructor.------ The fields accessible through corresponding lenses are:------ * 'aclvDryRun' @::@ 'Maybe' 'Bool'------ * 'aclvGroups' @::@ ['Text']------ * 'aclvInstanceId' @::@ 'Text'------ * 'aclvVpcId' @::@ 'Text'----attachClassicLinkVpc :: Text -- ^ 'aclvInstanceId'-                     -> Text -- ^ 'aclvVpcId'-                     -> AttachClassicLinkVpc-attachClassicLinkVpc p1 p2 = AttachClassicLinkVpc-    { _aclvInstanceId = p1-    , _aclvVpcId      = p2-    , _aclvDryRun     = Nothing-    , _aclvGroups     = mempty-    }---- | 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'.-aclvDryRun :: Lens' AttachClassicLinkVpc (Maybe Bool)-aclvDryRun = lens _aclvDryRun (\s a -> s { _aclvDryRun = a })---- | The ID of one or more of the VPC's security groups. You cannot specify--- security groups from a different VPC.-aclvGroups :: Lens' AttachClassicLinkVpc [Text]-aclvGroups = lens _aclvGroups (\s a -> s { _aclvGroups = a }) . _List---- | The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.-aclvInstanceId :: Lens' AttachClassicLinkVpc Text-aclvInstanceId = lens _aclvInstanceId (\s a -> s { _aclvInstanceId = a })---- | The ID of a ClassicLink-enabled VPC.-aclvVpcId :: Lens' AttachClassicLinkVpc Text-aclvVpcId = lens _aclvVpcId (\s a -> s { _aclvVpcId = a })--newtype AttachClassicLinkVpcResponse = AttachClassicLinkVpcResponse-    { _aclvrReturn :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'AttachClassicLinkVpcResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'aclvrReturn' @::@ 'Maybe' 'Bool'----attachClassicLinkVpcResponse :: AttachClassicLinkVpcResponse-attachClassicLinkVpcResponse = AttachClassicLinkVpcResponse-    { _aclvrReturn = Nothing-    }---- | Returns 'true' if the request succeeds; otherwise, it returns an error.-aclvrReturn :: Lens' AttachClassicLinkVpcResponse (Maybe Bool)-aclvrReturn = lens _aclvrReturn (\s a -> s { _aclvrReturn = a })--instance ToPath AttachClassicLinkVpc where-    toPath = const "/"--instance ToQuery AttachClassicLinkVpc where-    toQuery AttachClassicLinkVpc{..} = mconcat-        [ "DryRun"          =? _aclvDryRun-        , "SecurityGroupId" `toQueryList` _aclvGroups-        , "InstanceId"      =? _aclvInstanceId-        , "VpcId"           =? _aclvVpcId-        ]--instance ToHeaders AttachClassicLinkVpc--instance AWSRequest AttachClassicLinkVpc where-    type Sv AttachClassicLinkVpc = EC2-    type Rs AttachClassicLinkVpc = AttachClassicLinkVpcResponse--    request  = post "AttachClassicLinkVpc"-    response = xmlResponse--instance FromXML AttachClassicLinkVpcResponse where-    parseXML x = AttachClassicLinkVpcResponse-        <$> x .@? "return"
gen/Network/AWS/EC2/AttachInternetGateway.hs view
@@ -1,116 +1,121 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.AttachInternetGateway--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Attaches an Internet gateway to a VPC, enabling connectivity between the+-- Attaches an Internet gateway to a VPC, enabling connectivity between the -- 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>.+-- gateway, see the+-- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/ Amazon Virtual Private Cloud User Guide>. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachInternetGateway.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachInternetGateway.html AWS API Reference> for AttachInternetGateway. module Network.AWS.EC2.AttachInternetGateway     (-    -- * Request-      AttachInternetGateway-    -- ** Request constructor-    , attachInternetGateway-    -- ** Request lenses+    -- * Creating a Request+      attachInternetGateway+    , AttachInternetGateway+    -- * Request Lenses     , aigDryRun     , aigInternetGatewayId-    , aigVpcId+    , aigVPCId -    -- * Response-    , AttachInternetGatewayResponse-    -- ** Response constructor+    -- * Destructuring the Response     , attachInternetGatewayResponse+    , AttachInternetGatewayResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data AttachInternetGateway = AttachInternetGateway-    { _aigDryRun            :: Maybe Bool-    , _aigInternetGatewayId :: Text-    , _aigVpcId             :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'attachInternetGateway' smart constructor.+data AttachInternetGateway = AttachInternetGateway'+    { _aigDryRun            :: !(Maybe Bool)+    , _aigInternetGatewayId :: !Text+    , _aigVPCId             :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'AttachInternetGateway' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'AttachInternetGateway' with the minimum fields required to make a request. ----- * 'aigDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'aigInternetGatewayId' @::@ 'Text'+-- * 'aigDryRun' ----- * 'aigVpcId' @::@ 'Text'+-- * 'aigInternetGatewayId' ---attachInternetGateway :: Text -- ^ 'aigInternetGatewayId'-                      -> Text -- ^ 'aigVpcId'-                      -> AttachInternetGateway-attachInternetGateway p1 p2 = AttachInternetGateway-    { _aigInternetGatewayId = p1-    , _aigVpcId             = p2-    , _aigDryRun            = Nothing+-- * 'aigVPCId'+attachInternetGateway+    :: Text -- ^ 'aigInternetGatewayId'+    -> Text -- ^ 'aigVPCId'+    -> AttachInternetGateway+attachInternetGateway pInternetGatewayId_ pVPCId_ =+    AttachInternetGateway'+    { _aigDryRun = Nothing+    , _aigInternetGatewayId = pInternetGatewayId_+    , _aigVPCId = pVPCId_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. aigDryRun :: Lens' AttachInternetGateway (Maybe Bool)-aigDryRun = lens _aigDryRun (\s a -> s { _aigDryRun = a })+aigDryRun = lens _aigDryRun (\ s a -> s{_aigDryRun = a});  -- | The ID of the Internet gateway. aigInternetGatewayId :: Lens' AttachInternetGateway Text-aigInternetGatewayId =-    lens _aigInternetGatewayId (\s a -> s { _aigInternetGatewayId = a })+aigInternetGatewayId = lens _aigInternetGatewayId (\ s a -> s{_aigInternetGatewayId = a});  -- | The ID of the VPC.-aigVpcId :: Lens' AttachInternetGateway Text-aigVpcId = lens _aigVpcId (\s a -> s { _aigVpcId = a })+aigVPCId :: Lens' AttachInternetGateway Text+aigVPCId = lens _aigVPCId (\ s a -> s{_aigVPCId = a}); -data AttachInternetGatewayResponse = AttachInternetGatewayResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest AttachInternetGateway where+        type Sv AttachInternetGateway = EC2+        type Rs AttachInternetGateway =+             AttachInternetGatewayResponse+        request = post+        response = receiveNull AttachInternetGatewayResponse' --- | 'AttachInternetGatewayResponse' constructor.-attachInternetGatewayResponse :: AttachInternetGatewayResponse-attachInternetGatewayResponse = AttachInternetGatewayResponse+instance ToHeaders AttachInternetGateway where+        toHeaders = const mempty  instance ToPath AttachInternetGateway where-    toPath = const "/"+        toPath = const "/"  instance ToQuery AttachInternetGateway where-    toQuery AttachInternetGateway{..} = mconcat-        [ "DryRun"            =? _aigDryRun-        , "InternetGatewayId" =? _aigInternetGatewayId-        , "VpcId"             =? _aigVpcId-        ]--instance ToHeaders AttachInternetGateway+        toQuery AttachInternetGateway'{..}+          = mconcat+              ["Action" =: ("AttachInternetGateway" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _aigDryRun,+               "InternetGatewayId" =: _aigInternetGatewayId,+               "VpcId" =: _aigVPCId] -instance AWSRequest AttachInternetGateway where-    type Sv AttachInternetGateway = EC2-    type Rs AttachInternetGateway = AttachInternetGatewayResponse+-- | /See:/ 'attachInternetGatewayResponse' smart constructor.+data AttachInternetGatewayResponse =+    AttachInternetGatewayResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "AttachInternetGateway"-    response = nullResponse AttachInternetGatewayResponse+-- | Creates a value of 'AttachInternetGatewayResponse' with the minimum fields required to make a request.+--+attachInternetGatewayResponse+    :: AttachInternetGatewayResponse+attachInternetGatewayResponse = AttachInternetGatewayResponse'
gen/Network/AWS/EC2/AttachNetworkInterface.hs view
@@ -1,143 +1,156 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.AttachNetworkInterface--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Attaches a network interface to an instance.+-- Attaches a network interface to an instance. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachNetworkInterface.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachNetworkInterface.html AWS API Reference> for AttachNetworkInterface. module Network.AWS.EC2.AttachNetworkInterface     (-    -- * Request-      AttachNetworkInterface-    -- ** Request constructor-    , attachNetworkInterface-    -- ** Request lenses-    , aniDeviceIndex+    -- * Creating a Request+      attachNetworkInterface+    , AttachNetworkInterface+    -- * Request Lenses     , aniDryRun-    , aniInstanceId     , aniNetworkInterfaceId+    , aniInstanceId+    , aniDeviceIndex -    -- * Response-    , AttachNetworkInterfaceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , attachNetworkInterfaceResponse-    -- ** Response lenses-    , anirAttachmentId+    , AttachNetworkInterfaceResponse+    -- * Response Lenses+    , anirsAttachmentId+    , anirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data AttachNetworkInterface = AttachNetworkInterface-    { _aniDeviceIndex        :: Int-    , _aniDryRun             :: Maybe Bool-    , _aniInstanceId         :: Text-    , _aniNetworkInterfaceId :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'attachNetworkInterface' smart constructor.+data AttachNetworkInterface = AttachNetworkInterface'+    { _aniDryRun             :: !(Maybe Bool)+    , _aniNetworkInterfaceId :: !Text+    , _aniInstanceId         :: !Text+    , _aniDeviceIndex        :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'AttachNetworkInterface' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'AttachNetworkInterface' with the minimum fields required to make a request. ----- * 'aniDeviceIndex' @::@ 'Int'+-- Use one of the following lenses to modify other fields as desired: ----- * 'aniDryRun' @::@ 'Maybe' 'Bool'+-- * 'aniDryRun' ----- * 'aniInstanceId' @::@ 'Text'+-- * 'aniNetworkInterfaceId' ----- * 'aniNetworkInterfaceId' @::@ 'Text'+-- * 'aniInstanceId' ---attachNetworkInterface :: Text -- ^ 'aniNetworkInterfaceId'-                       -> Text -- ^ 'aniInstanceId'-                       -> Int -- ^ 'aniDeviceIndex'-                       -> AttachNetworkInterface-attachNetworkInterface p1 p2 p3 = AttachNetworkInterface-    { _aniNetworkInterfaceId = p1-    , _aniInstanceId         = p2-    , _aniDeviceIndex        = p3-    , _aniDryRun             = Nothing+-- * 'aniDeviceIndex'+attachNetworkInterface+    :: Text -- ^ 'aniNetworkInterfaceId'+    -> Text -- ^ 'aniInstanceId'+    -> Int -- ^ 'aniDeviceIndex'+    -> AttachNetworkInterface+attachNetworkInterface pNetworkInterfaceId_ pInstanceId_ pDeviceIndex_ =+    AttachNetworkInterface'+    { _aniDryRun = Nothing+    , _aniNetworkInterfaceId = pNetworkInterfaceId_+    , _aniInstanceId = pInstanceId_+    , _aniDeviceIndex = pDeviceIndex_     } --- | The index of the device for the network interface attachment.-aniDeviceIndex :: Lens' AttachNetworkInterface Int-aniDeviceIndex = lens _aniDeviceIndex (\s a -> s { _aniDeviceIndex = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. aniDryRun :: Lens' AttachNetworkInterface (Maybe Bool)-aniDryRun = lens _aniDryRun (\s a -> s { _aniDryRun = a })---- | The ID of the instance.-aniInstanceId :: Lens' AttachNetworkInterface Text-aniInstanceId = lens _aniInstanceId (\s a -> s { _aniInstanceId = a })+aniDryRun = lens _aniDryRun (\ s a -> s{_aniDryRun = a});  -- | The ID of the network interface. aniNetworkInterfaceId :: Lens' AttachNetworkInterface Text-aniNetworkInterfaceId =-    lens _aniNetworkInterfaceId (\s a -> s { _aniNetworkInterfaceId = a })+aniNetworkInterfaceId = lens _aniNetworkInterfaceId (\ s a -> s{_aniNetworkInterfaceId = a}); -newtype AttachNetworkInterfaceResponse = AttachNetworkInterfaceResponse-    { _anirAttachmentId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+-- | The ID of the instance.+aniInstanceId :: Lens' AttachNetworkInterface Text+aniInstanceId = lens _aniInstanceId (\ s a -> s{_aniInstanceId = a}); --- | 'AttachNetworkInterfaceResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'anirAttachmentId' @::@ 'Maybe' 'Text'----attachNetworkInterfaceResponse :: AttachNetworkInterfaceResponse-attachNetworkInterfaceResponse = AttachNetworkInterfaceResponse-    { _anirAttachmentId = Nothing-    }+-- | The index of the device for the network interface attachment.+aniDeviceIndex :: Lens' AttachNetworkInterface Int+aniDeviceIndex = lens _aniDeviceIndex (\ s a -> s{_aniDeviceIndex = a}); --- | The ID of the network interface attachment.-anirAttachmentId :: Lens' AttachNetworkInterfaceResponse (Maybe Text)-anirAttachmentId = lens _anirAttachmentId (\s a -> s { _anirAttachmentId = a })+instance AWSRequest AttachNetworkInterface where+        type Sv AttachNetworkInterface = EC2+        type Rs AttachNetworkInterface =+             AttachNetworkInterfaceResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 AttachNetworkInterfaceResponse' <$>+                   (x .@? "attachmentId") <*> (pure (fromEnum s))) +instance ToHeaders AttachNetworkInterface where+        toHeaders = const mempty+ instance ToPath AttachNetworkInterface where-    toPath = const "/"+        toPath = const "/"  instance ToQuery AttachNetworkInterface where-    toQuery AttachNetworkInterface{..} = mconcat-        [ "DeviceIndex"        =? _aniDeviceIndex-        , "DryRun"             =? _aniDryRun-        , "InstanceId"         =? _aniInstanceId-        , "NetworkInterfaceId" =? _aniNetworkInterfaceId-        ]+        toQuery AttachNetworkInterface'{..}+          = mconcat+              ["Action" =:+                 ("AttachNetworkInterface" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _aniDryRun,+               "NetworkInterfaceId" =: _aniNetworkInterfaceId,+               "InstanceId" =: _aniInstanceId,+               "DeviceIndex" =: _aniDeviceIndex] -instance ToHeaders AttachNetworkInterface+-- | /See:/ 'attachNetworkInterfaceResponse' smart constructor.+data AttachNetworkInterfaceResponse = AttachNetworkInterfaceResponse'+    { _anirsAttachmentId :: !(Maybe Text)+    , _anirsStatus       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest AttachNetworkInterface where-    type Sv AttachNetworkInterface = EC2-    type Rs AttachNetworkInterface = AttachNetworkInterfaceResponse+-- | Creates a value of 'AttachNetworkInterfaceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'anirsAttachmentId'+--+-- * 'anirsStatus'+attachNetworkInterfaceResponse+    :: Int -- ^ 'anirsStatus'+    -> AttachNetworkInterfaceResponse+attachNetworkInterfaceResponse pStatus_ =+    AttachNetworkInterfaceResponse'+    { _anirsAttachmentId = Nothing+    , _anirsStatus = pStatus_+    } -    request  = post "AttachNetworkInterface"-    response = xmlResponse+-- | The ID of the network interface attachment.+anirsAttachmentId :: Lens' AttachNetworkInterfaceResponse (Maybe Text)+anirsAttachmentId = lens _anirsAttachmentId (\ s a -> s{_anirsAttachmentId = a}); -instance FromXML AttachNetworkInterfaceResponse where-    parseXML x = AttachNetworkInterfaceResponse-        <$> x .@? "attachmentId"+-- | The response status code.+anirsStatus :: Lens' AttachNetworkInterfaceResponse Int+anirsStatus = lens _anirsStatus (\ s a -> s{_anirsStatus = a});
+ gen/Network/AWS/EC2/AttachVPNGateway.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.AttachVPNGateway+-- 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)+--+-- 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+      attachVPNGateway+    , AttachVPNGateway+    -- * Request Lenses+    , avgDryRun+    , avgVPNGatewayId+    , avgVPCId++    -- * Destructuring the Response+    , attachVPNGatewayResponse+    , AttachVPNGatewayResponse+    -- * Response Lenses+    , avgrsVPCAttachment+    , avgrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'attachVPNGateway' smart constructor.+data AttachVPNGateway = AttachVPNGateway'+    { _avgDryRun       :: !(Maybe Bool)+    , _avgVPNGatewayId :: !Text+    , _avgVPCId        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttachVPNGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avgDryRun'+--+-- * 'avgVPNGatewayId'+--+-- * 'avgVPCId'+attachVPNGateway+    :: Text -- ^ 'avgVPNGatewayId'+    -> Text -- ^ 'avgVPCId'+    -> AttachVPNGateway+attachVPNGateway pVPNGatewayId_ pVPCId_ =+    AttachVPNGateway'+    { _avgDryRun = Nothing+    , _avgVPNGatewayId = pVPNGatewayId_+    , _avgVPCId = pVPCId_+    }++-- | 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'.+avgDryRun :: Lens' AttachVPNGateway (Maybe Bool)+avgDryRun = lens _avgDryRun (\ s a -> s{_avgDryRun = a});++-- | The ID of the virtual private gateway.+avgVPNGatewayId :: Lens' AttachVPNGateway Text+avgVPNGatewayId = lens _avgVPNGatewayId (\ s a -> s{_avgVPNGatewayId = a});++-- | The ID of the VPC.+avgVPCId :: Lens' AttachVPNGateway Text+avgVPCId = lens _avgVPCId (\ s a -> s{_avgVPCId = a});++instance AWSRequest AttachVPNGateway where+        type Sv AttachVPNGateway = EC2+        type Rs AttachVPNGateway = AttachVPNGatewayResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 AttachVPNGatewayResponse' <$>+                   (x .@? "attachment") <*> (pure (fromEnum s)))++instance ToHeaders AttachVPNGateway where+        toHeaders = const mempty++instance ToPath AttachVPNGateway where+        toPath = const "/"++instance ToQuery AttachVPNGateway where+        toQuery AttachVPNGateway'{..}+          = mconcat+              ["Action" =: ("AttachVpnGateway" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _avgDryRun,+               "VpnGatewayId" =: _avgVPNGatewayId,+               "VpcId" =: _avgVPCId]++-- | /See:/ 'attachVPNGatewayResponse' smart constructor.+data AttachVPNGatewayResponse = AttachVPNGatewayResponse'+    { _avgrsVPCAttachment :: !(Maybe VPCAttachment)+    , _avgrsStatus        :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttachVPNGatewayResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avgrsVPCAttachment'+--+-- * 'avgrsStatus'+attachVPNGatewayResponse+    :: Int -- ^ 'avgrsStatus'+    -> AttachVPNGatewayResponse+attachVPNGatewayResponse pStatus_ =+    AttachVPNGatewayResponse'+    { _avgrsVPCAttachment = Nothing+    , _avgrsStatus = pStatus_+    }++-- | Information about the attachment.+avgrsVPCAttachment :: Lens' AttachVPNGatewayResponse (Maybe VPCAttachment)+avgrsVPCAttachment = lens _avgrsVPCAttachment (\ s a -> s{_avgrsVPCAttachment = a});++-- | The response status code.+avgrsStatus :: Lens' AttachVPNGatewayResponse Int+avgrsStatus = lens _avgrsStatus (\ s a -> s{_avgrsStatus = a});
gen/Network/AWS/EC2/AttachVolume.hs view
@@ -1,213 +1,154 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.AttachVolume--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Attaches an EBS volume to a running or stopped instance and exposes it to the--- instance with the specified device name.+-- Attaches an EBS volume to a running or stopped instance and exposes it+-- to the instance with the specified device name. ----- Encrypted EBS volumes may only be attached to instances that support Amazon--- EBS encryption. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBS Encryption> in the /AmazonElastic Compute Cloud User Guide/.+-- Encrypted EBS volumes may only be attached to instances that support+-- Amazon EBS encryption. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBS Encryption>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- For a list of supported device names, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html Attaching an EBS Volume to anInstance>. Any device names that aren't reserved for instance store volumes--- can be used for EBS volumes. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html Amazon EC2 InstanceStore> in the /Amazon Elastic Compute Cloud User Guide/.+-- For a list of supported device names, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html Attaching an EBS Volume to an Instance>.+-- Any device names that aren\'t reserved for instance store volumes can be+-- used for EBS volumes. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html Amazon EC2 Instance Store>+-- in the /Amazon Elastic Compute Cloud User Guide/. -- -- If a volume has an AWS Marketplace product code: ----- The volume can be attached only to a stopped instance. AWS Marketplace--- product codes are copied from the volume to the instance. You must be--- subscribed to the product. The instance type and operating system of the--- instance must support the product. For example, you can't detach a volume--- from a Windows instance and attach it to a Linux instance.  For an overview--- of the AWS Marketplace, see <https://aws.amazon.com/marketplace/help/200900000 Introducing AWS Marketplace>.+-- -   The volume can be attached only to a stopped instance.+-- -   AWS Marketplace product codes are copied from the volume to the+--     instance.+-- -   You must be subscribed to the product.+-- -   The instance type and operating system of the instance must support+--     the product. For example, you can\'t detach a volume from a Windows+--     instance and attach it to a Linux instance. ----- 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/.+-- For an overview of the AWS Marketplace, see+-- <https://aws.amazon.com/marketplace/help/200900000 Introducing AWS Marketplace>. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachVolume.html>+-- 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     (-    -- * Request-      AttachVolume-    -- ** Request constructor-    , attachVolume-    -- ** Request lenses-    , avDevice+    -- * Creating a Request+      attachVolume+    , AttachVolume+    -- * Request Lenses     , avDryRun-    , avInstanceId     , avVolumeId+    , avInstanceId+    , avDevice -    -- * Response-    , AttachVolumeResponse-    -- ** Response constructor-    , attachVolumeResponse-    -- ** Response lenses-    , avrAttachTime-    , avrDeleteOnTermination-    , avrDevice-    , avrInstanceId-    , avrState-    , avrVolumeId+    -- * Destructuring the Response+    , volumeAttachment+    , VolumeAttachment+    -- * Response Lenses+    , volInstanceId+    , volDeleteOnTermination+    , volState+    , volDevice+    , volVolumeId+    , volAttachTime     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data AttachVolume = AttachVolume-    { _avDevice     :: Text-    , _avDryRun     :: Maybe Bool-    , _avInstanceId :: Text-    , _avVolumeId   :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'attachVolume' smart constructor.+data AttachVolume = AttachVolume'+    { _avDryRun     :: !(Maybe Bool)+    , _avVolumeId   :: !Text+    , _avInstanceId :: !Text+    , _avDevice     :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'AttachVolume' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'AttachVolume' with the minimum fields required to make a request. ----- * 'avDevice' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'avDryRun' @::@ 'Maybe' 'Bool'+-- * 'avDryRun' ----- * 'avInstanceId' @::@ 'Text'+-- * 'avVolumeId' ----- * 'avVolumeId' @::@ 'Text'+-- * 'avInstanceId' ---attachVolume :: Text -- ^ 'avVolumeId'-             -> Text -- ^ 'avInstanceId'-             -> Text -- ^ 'avDevice'-             -> AttachVolume-attachVolume p1 p2 p3 = AttachVolume-    { _avVolumeId   = p1-    , _avInstanceId = p2-    , _avDevice     = p3-    , _avDryRun     = Nothing+-- * 'avDevice'+attachVolume+    :: Text -- ^ 'avVolumeId'+    -> Text -- ^ 'avInstanceId'+    -> Text -- ^ 'avDevice'+    -> AttachVolume+attachVolume pVolumeId_ pInstanceId_ pDevice_ =+    AttachVolume'+    { _avDryRun = Nothing+    , _avVolumeId = pVolumeId_+    , _avInstanceId = pInstanceId_+    , _avDevice = pDevice_     } --- | The device name to expose to the instance (for example, '/dev/sdh' or 'xvdh').-avDevice :: Lens' AttachVolume Text-avDevice = lens _avDevice (\s a -> s { _avDevice = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. avDryRun :: Lens' AttachVolume (Maybe Bool)-avDryRun = lens _avDryRun (\s a -> s { _avDryRun = a })---- | The ID of the instance.-avInstanceId :: Lens' AttachVolume Text-avInstanceId = lens _avInstanceId (\s a -> s { _avInstanceId = a })+avDryRun = lens _avDryRun (\ s a -> s{_avDryRun = a}); --- | The ID of the EBS volume. The volume and instance must be within the same--- Availability Zone.+-- | The ID of the EBS volume. The volume and instance must be within the+-- same Availability Zone. avVolumeId :: Lens' AttachVolume Text-avVolumeId = lens _avVolumeId (\s a -> s { _avVolumeId = a })--data AttachVolumeResponse = AttachVolumeResponse-    { _avrAttachTime          :: Maybe ISO8601-    , _avrDeleteOnTermination :: Maybe Bool-    , _avrDevice              :: Maybe Text-    , _avrInstanceId          :: Maybe Text-    , _avrState               :: Maybe VolumeAttachmentState-    , _avrVolumeId            :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'AttachVolumeResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'avrAttachTime' @::@ 'Maybe' 'UTCTime'------ * 'avrDeleteOnTermination' @::@ 'Maybe' 'Bool'------ * 'avrDevice' @::@ 'Maybe' 'Text'------ * 'avrInstanceId' @::@ 'Maybe' 'Text'------ * 'avrState' @::@ 'Maybe' 'VolumeAttachmentState'------ * 'avrVolumeId' @::@ 'Maybe' 'Text'----attachVolumeResponse :: AttachVolumeResponse-attachVolumeResponse = AttachVolumeResponse-    { _avrVolumeId            = Nothing-    , _avrInstanceId          = Nothing-    , _avrDevice              = Nothing-    , _avrState               = Nothing-    , _avrAttachTime          = Nothing-    , _avrDeleteOnTermination = Nothing-    }---- | The time stamp when the attachment initiated.-avrAttachTime :: Lens' AttachVolumeResponse (Maybe UTCTime)-avrAttachTime = lens _avrAttachTime (\s a -> s { _avrAttachTime = a }) . mapping _Time---- | Indicates whether the EBS volume is deleted on instance termination.-avrDeleteOnTermination :: Lens' AttachVolumeResponse (Maybe Bool)-avrDeleteOnTermination =-    lens _avrDeleteOnTermination (\s a -> s { _avrDeleteOnTermination = a })---- | The device name.-avrDevice :: Lens' AttachVolumeResponse (Maybe Text)-avrDevice = lens _avrDevice (\s a -> s { _avrDevice = a })+avVolumeId = lens _avVolumeId (\ s a -> s{_avVolumeId = a});  -- | The ID of the instance.-avrInstanceId :: Lens' AttachVolumeResponse (Maybe Text)-avrInstanceId = lens _avrInstanceId (\s a -> s { _avrInstanceId = a })+avInstanceId :: Lens' AttachVolume Text+avInstanceId = lens _avInstanceId (\ s a -> s{_avInstanceId = a}); --- | The attachment state of the volume.-avrState :: Lens' AttachVolumeResponse (Maybe VolumeAttachmentState)-avrState = lens _avrState (\s a -> s { _avrState = a })+-- | The device name to expose to the instance (for example, '\/dev\/sdh' or+-- 'xvdh').+avDevice :: Lens' AttachVolume Text+avDevice = lens _avDevice (\ s a -> s{_avDevice = a}); --- | The ID of the volume.-avrVolumeId :: Lens' AttachVolumeResponse (Maybe Text)-avrVolumeId = lens _avrVolumeId (\s a -> s { _avrVolumeId = a })+instance AWSRequest AttachVolume where+        type Sv AttachVolume = EC2+        type Rs AttachVolume = VolumeAttachment+        request = post+        response = receiveXML (\ s h x -> parseXML x) +instance ToHeaders AttachVolume where+        toHeaders = const mempty+ instance ToPath AttachVolume where-    toPath = const "/"+        toPath = const "/"  instance ToQuery AttachVolume where-    toQuery AttachVolume{..} = mconcat-        [ "Device"     =? _avDevice-        , "DryRun"     =? _avDryRun-        , "InstanceId" =? _avInstanceId-        , "VolumeId"   =? _avVolumeId-        ]--instance ToHeaders AttachVolume--instance AWSRequest AttachVolume where-    type Sv AttachVolume = EC2-    type Rs AttachVolume = AttachVolumeResponse--    request  = post "AttachVolume"-    response = xmlResponse--instance FromXML AttachVolumeResponse where-    parseXML x = AttachVolumeResponse-        <$> x .@? "attachTime"-        <*> x .@? "deleteOnTermination"-        <*> x .@? "device"-        <*> x .@? "instanceId"-        <*> x .@? "status"-        <*> x .@? "volumeId"+        toQuery AttachVolume'{..}+          = mconcat+              ["Action" =: ("AttachVolume" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _avDryRun, "VolumeId" =: _avVolumeId,+               "InstanceId" =: _avInstanceId, "Device" =: _avDevice]
− gen/Network/AWS/EC2/AttachVpnGateway.hs
@@ -1,132 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.AttachVpnGateway--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Attaches a virtual private gateway to a VPC. For more information, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Addinga Hardware Virtual Private Gateway to Your VPC> in the /Amazon Virtual PrivateCloud User Guide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AttachVpnGateway.html>-module Network.AWS.EC2.AttachVpnGateway-    (-    -- * Request-      AttachVpnGateway-    -- ** Request constructor-    , attachVpnGateway-    -- ** Request lenses-    , avgDryRun-    , avgVpcId-    , avgVpnGatewayId--    -- * Response-    , AttachVpnGatewayResponse-    -- ** Response constructor-    , attachVpnGatewayResponse-    -- ** Response lenses-    , avgrVpcAttachment-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data AttachVpnGateway = AttachVpnGateway-    { _avgDryRun       :: Maybe Bool-    , _avgVpcId        :: Text-    , _avgVpnGatewayId :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'AttachVpnGateway' constructor.------ The fields accessible through corresponding lenses are:------ * 'avgDryRun' @::@ 'Maybe' 'Bool'------ * 'avgVpcId' @::@ 'Text'------ * 'avgVpnGatewayId' @::@ 'Text'----attachVpnGateway :: Text -- ^ 'avgVpnGatewayId'-                 -> Text -- ^ 'avgVpcId'-                 -> AttachVpnGateway-attachVpnGateway p1 p2 = AttachVpnGateway-    { _avgVpnGatewayId = p1-    , _avgVpcId        = p2-    , _avgDryRun       = Nothing-    }---- | 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'.-avgDryRun :: Lens' AttachVpnGateway (Maybe Bool)-avgDryRun = lens _avgDryRun (\s a -> s { _avgDryRun = a })---- | The ID of the VPC.-avgVpcId :: Lens' AttachVpnGateway Text-avgVpcId = lens _avgVpcId (\s a -> s { _avgVpcId = a })---- | The ID of the virtual private gateway.-avgVpnGatewayId :: Lens' AttachVpnGateway Text-avgVpnGatewayId = lens _avgVpnGatewayId (\s a -> s { _avgVpnGatewayId = a })--newtype AttachVpnGatewayResponse = AttachVpnGatewayResponse-    { _avgrVpcAttachment :: Maybe VpcAttachment-    } deriving (Eq, Read, Show)---- | 'AttachVpnGatewayResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'avgrVpcAttachment' @::@ 'Maybe' 'VpcAttachment'----attachVpnGatewayResponse :: AttachVpnGatewayResponse-attachVpnGatewayResponse = AttachVpnGatewayResponse-    { _avgrVpcAttachment = Nothing-    }---- | Information about the attachment.-avgrVpcAttachment :: Lens' AttachVpnGatewayResponse (Maybe VpcAttachment)-avgrVpcAttachment =-    lens _avgrVpcAttachment (\s a -> s { _avgrVpcAttachment = a })--instance ToPath AttachVpnGateway where-    toPath = const "/"--instance ToQuery AttachVpnGateway where-    toQuery AttachVpnGateway{..} = mconcat-        [ "DryRun"       =? _avgDryRun-        , "VpcId"        =? _avgVpcId-        , "VpnGatewayId" =? _avgVpnGatewayId-        ]--instance ToHeaders AttachVpnGateway--instance AWSRequest AttachVpnGateway where-    type Sv AttachVpnGateway = EC2-    type Rs AttachVpnGateway = AttachVpnGatewayResponse--    request  = post "AttachVpnGateway"-    response = xmlResponse--instance FromXML AttachVpnGatewayResponse where-    parseXML x = AttachVpnGatewayResponse-        <$> x .@? "attachment"
gen/Network/AWS/EC2/AuthorizeSecurityGroupEgress.hs view
@@ -1,205 +1,212 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.AuthorizeSecurityGroupEgress--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Adds one or more egress rules to a security group for use with a VPC.--- Specifically, this action permits instances to send traffic to one or more--- destination CIDR IP address ranges, or to one or more destination security--- groups for the same VPC.+-- Adds one or more egress rules to a security group for use with a VPC.+-- Specifically, this action permits instances to send traffic to one or+-- more destination CIDR IP address ranges, or to one or more destination+-- security groups for the same VPC. ----- You can have up to 50 rules per security group (covering both ingress and--- egress rules).+-- You can have up to 50 rules per security group (covering both ingress+-- and egress rules). -- -- A security group is for use with instances either in the EC2-Classic--- platform or in a specific VPC. This action doesn't apply to security groups--- for use in EC2-Classic. For more information, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html Security Groups for Your VPC>+-- platform or in a specific VPC. This action doesn\'t apply to security+-- groups for use in EC2-Classic. For more information, see+-- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html Security Groups for Your VPC> -- in the /Amazon Virtual Private Cloud User Guide/. ----- Each rule consists of the protocol (for example, TCP), plus either a CIDR--- range or a source group. For the TCP and UDP protocols, you must also specify--- the destination port or port range. For the ICMP protocol, you must also--- specify the ICMP type and code. You can use -1 for the type or code to mean--- all types or all codes.+-- Each rule consists of the protocol (for example, TCP), plus either a+-- CIDR range or a source group. For the TCP and UDP protocols, you must+-- also specify the destination port or port range. For the ICMP protocol,+-- you must also specify the ICMP type and code. You can use -1 for the+-- type or code to mean all types or all codes. ----- Rule changes are propagated to affected instances as quickly as possible.--- However, a small delay might occur.+-- Rule changes are propagated to affected instances as quickly as+-- possible. However, a small delay might occur. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AuthorizeSecurityGroupEgress.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AuthorizeSecurityGroupEgress.html AWS API Reference> for AuthorizeSecurityGroupEgress. module Network.AWS.EC2.AuthorizeSecurityGroupEgress     (-    -- * Request-      AuthorizeSecurityGroupEgress-    -- ** Request constructor-    , authorizeSecurityGroupEgress-    -- ** Request lenses-    , asgeCidrIp-    , asgeDryRun+    -- * Creating a Request+      authorizeSecurityGroupEgress+    , AuthorizeSecurityGroupEgress+    -- * Request Lenses     , asgeFromPort-    , asgeGroupId-    , asgeIpPermissions-    , asgeIpProtocol-    , asgeSourceSecurityGroupName-    , asgeSourceSecurityGroupOwnerId+    , asgeIPPermissions+    , asgeIPProtocol     , asgeToPort+    , asgeCIdRIP+    , asgeSourceSecurityGroupOwnerId+    , asgeSourceSecurityGroupName+    , asgeDryRun+    , asgeGroupId -    -- * Response-    , AuthorizeSecurityGroupEgressResponse-    -- ** Response constructor+    -- * Destructuring the Response     , authorizeSecurityGroupEgressResponse+    , AuthorizeSecurityGroupEgressResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data AuthorizeSecurityGroupEgress = AuthorizeSecurityGroupEgress-    { _asgeCidrIp                     :: Maybe Text-    , _asgeDryRun                     :: Maybe Bool-    , _asgeFromPort                   :: Maybe Int-    , _asgeGroupId                    :: Text-    , _asgeIpPermissions              :: List "item" IpPermission-    , _asgeIpProtocol                 :: Maybe Text-    , _asgeSourceSecurityGroupName    :: Maybe Text-    , _asgeSourceSecurityGroupOwnerId :: Maybe Text-    , _asgeToPort                     :: Maybe Int-    } deriving (Eq, Read, Show)+-- | /See:/ 'authorizeSecurityGroupEgress' smart constructor.+data AuthorizeSecurityGroupEgress = AuthorizeSecurityGroupEgress'+    { _asgeFromPort                   :: !(Maybe Int)+    , _asgeIPPermissions              :: !(Maybe [IPPermission])+    , _asgeIPProtocol                 :: !(Maybe Text)+    , _asgeToPort                     :: !(Maybe Int)+    , _asgeCIdRIP                     :: !(Maybe Text)+    , _asgeSourceSecurityGroupOwnerId :: !(Maybe Text)+    , _asgeSourceSecurityGroupName    :: !(Maybe Text)+    , _asgeDryRun                     :: !(Maybe Bool)+    , _asgeGroupId                    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'AuthorizeSecurityGroupEgress' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'AuthorizeSecurityGroupEgress' with the minimum fields required to make a request. ----- * 'asgeCidrIp' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'asgeDryRun' @::@ 'Maybe' 'Bool'+-- * 'asgeFromPort' ----- * 'asgeFromPort' @::@ 'Maybe' 'Int'+-- * 'asgeIPPermissions' ----- * 'asgeGroupId' @::@ 'Text'+-- * 'asgeIPProtocol' ----- * 'asgeIpPermissions' @::@ ['IpPermission']+-- * 'asgeToPort' ----- * 'asgeIpProtocol' @::@ 'Maybe' 'Text'+-- * 'asgeCIdRIP' ----- * 'asgeSourceSecurityGroupName' @::@ 'Maybe' 'Text'+-- * 'asgeSourceSecurityGroupOwnerId' ----- * 'asgeSourceSecurityGroupOwnerId' @::@ 'Maybe' 'Text'+-- * 'asgeSourceSecurityGroupName' ----- * 'asgeToPort' @::@ 'Maybe' 'Int'+-- * 'asgeDryRun' ---authorizeSecurityGroupEgress :: Text -- ^ 'asgeGroupId'-                             -> AuthorizeSecurityGroupEgress-authorizeSecurityGroupEgress p1 = AuthorizeSecurityGroupEgress-    { _asgeGroupId                    = p1-    , _asgeDryRun                     = Nothing-    , _asgeSourceSecurityGroupName    = Nothing+-- * 'asgeGroupId'+authorizeSecurityGroupEgress+    :: Text -- ^ 'asgeGroupId'+    -> AuthorizeSecurityGroupEgress+authorizeSecurityGroupEgress pGroupId_ =+    AuthorizeSecurityGroupEgress'+    { _asgeFromPort = Nothing+    , _asgeIPPermissions = Nothing+    , _asgeIPProtocol = Nothing+    , _asgeToPort = Nothing+    , _asgeCIdRIP = Nothing     , _asgeSourceSecurityGroupOwnerId = Nothing-    , _asgeIpProtocol                 = Nothing-    , _asgeFromPort                   = Nothing-    , _asgeToPort                     = Nothing-    , _asgeCidrIp                     = Nothing-    , _asgeIpPermissions              = mempty+    , _asgeSourceSecurityGroupName = Nothing+    , _asgeDryRun = Nothing+    , _asgeGroupId = pGroupId_     } --- | The CIDR IP address range. You can't specify this parameter when specifying a--- source security group.-asgeCidrIp :: Lens' AuthorizeSecurityGroupEgress (Maybe Text)-asgeCidrIp = lens _asgeCidrIp (\s a -> s { _asgeCidrIp = 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'.-asgeDryRun :: Lens' AuthorizeSecurityGroupEgress (Maybe Bool)-asgeDryRun = lens _asgeDryRun (\s a -> s { _asgeDryRun = a })- -- | The start of port range for the TCP and UDP protocols, or an ICMP type -- number. For the ICMP type number, use '-1' to specify all ICMP types. asgeFromPort :: Lens' AuthorizeSecurityGroupEgress (Maybe Int)-asgeFromPort = lens _asgeFromPort (\s a -> s { _asgeFromPort = a })+asgeFromPort = lens _asgeFromPort (\ s a -> s{_asgeFromPort = a}); --- | The ID of the security group.-asgeGroupId :: Lens' AuthorizeSecurityGroupEgress Text-asgeGroupId = lens _asgeGroupId (\s a -> s { _asgeGroupId = a })+-- | A set of IP permissions. You can\'t specify a destination security group+-- and a CIDR IP address range.+asgeIPPermissions :: Lens' AuthorizeSecurityGroupEgress [IPPermission]+asgeIPPermissions = lens _asgeIPPermissions (\ s a -> s{_asgeIPPermissions = a}) . _Default . _Coerce; --- | A set of IP permissions. You can't specify a destination security group and a--- CIDR IP address range.-asgeIpPermissions :: Lens' AuthorizeSecurityGroupEgress [IpPermission]-asgeIpPermissions =-    lens _asgeIpPermissions (\s a -> s { _asgeIpPermissions = a })-        . _List+-- | The IP protocol name ('tcp', 'udp', 'icmp') or number (see+-- <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>).+-- Use '-1' to specify all.+asgeIPProtocol :: Lens' AuthorizeSecurityGroupEgress (Maybe Text)+asgeIPProtocol = lens _asgeIPProtocol (\ s a -> s{_asgeIPProtocol = a}); --- | The IP protocol name ('tcp', 'udp', 'icmp') or number (see <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>). Use '-1'--- to specify all.-asgeIpProtocol :: Lens' AuthorizeSecurityGroupEgress (Maybe Text)-asgeIpProtocol = lens _asgeIpProtocol (\s a -> s { _asgeIpProtocol = a })+-- | The end of port range for the TCP and UDP protocols, or an ICMP code+-- number. For the ICMP code number, use '-1' to specify all ICMP codes for+-- the ICMP type.+asgeToPort :: Lens' AuthorizeSecurityGroupEgress (Maybe Int)+asgeToPort = lens _asgeToPort (\ s a -> s{_asgeToPort = a}); --- | [EC2-Classic, default VPC] The name of the destination security group. You--- can't specify a destination security group and a CIDR IP address range.-asgeSourceSecurityGroupName :: Lens' AuthorizeSecurityGroupEgress (Maybe Text)-asgeSourceSecurityGroupName =-    lens _asgeSourceSecurityGroupName-        (\s a -> s { _asgeSourceSecurityGroupName = a })+-- | The CIDR IP address range. You can\'t specify this parameter when+-- specifying a source security group.+asgeCIdRIP :: Lens' AuthorizeSecurityGroupEgress (Maybe Text)+asgeCIdRIP = lens _asgeCIdRIP (\ s a -> s{_asgeCIdRIP = a}); --- | The ID of the destination security group. You can't specify a destination--- security group and a CIDR IP address range.+-- | The AWS account number for a destination security group. To authorize+-- outbound access to a destination security group, we recommend that you+-- use a set of IP permissions instead. asgeSourceSecurityGroupOwnerId :: Lens' AuthorizeSecurityGroupEgress (Maybe Text)-asgeSourceSecurityGroupOwnerId =-    lens _asgeSourceSecurityGroupOwnerId-        (\s a -> s { _asgeSourceSecurityGroupOwnerId = a })+asgeSourceSecurityGroupOwnerId = lens _asgeSourceSecurityGroupOwnerId (\ s a -> s{_asgeSourceSecurityGroupOwnerId = a}); --- | The end of port range for the TCP and UDP protocols, or an ICMP code number.--- For the ICMP code number, use '-1' to specify all ICMP codes for the ICMP type.-asgeToPort :: Lens' AuthorizeSecurityGroupEgress (Maybe Int)-asgeToPort = lens _asgeToPort (\s a -> s { _asgeToPort = a })+-- | The name of a destination security group. To authorize outbound access+-- to a destination security group, we recommend that you use a set of IP+-- permissions instead.+asgeSourceSecurityGroupName :: Lens' AuthorizeSecurityGroupEgress (Maybe Text)+asgeSourceSecurityGroupName = lens _asgeSourceSecurityGroupName (\ s a -> s{_asgeSourceSecurityGroupName = a}); -data AuthorizeSecurityGroupEgressResponse = AuthorizeSecurityGroupEgressResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | 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'.+asgeDryRun :: Lens' AuthorizeSecurityGroupEgress (Maybe Bool)+asgeDryRun = lens _asgeDryRun (\ s a -> s{_asgeDryRun = a}); --- | 'AuthorizeSecurityGroupEgressResponse' constructor.-authorizeSecurityGroupEgressResponse :: AuthorizeSecurityGroupEgressResponse-authorizeSecurityGroupEgressResponse = AuthorizeSecurityGroupEgressResponse+-- | The ID of the security group.+asgeGroupId :: Lens' AuthorizeSecurityGroupEgress Text+asgeGroupId = lens _asgeGroupId (\ s a -> s{_asgeGroupId = a}); +instance AWSRequest AuthorizeSecurityGroupEgress+         where+        type Sv AuthorizeSecurityGroupEgress = EC2+        type Rs AuthorizeSecurityGroupEgress =+             AuthorizeSecurityGroupEgressResponse+        request = post+        response+          = receiveNull AuthorizeSecurityGroupEgressResponse'++instance ToHeaders AuthorizeSecurityGroupEgress where+        toHeaders = const mempty+ instance ToPath AuthorizeSecurityGroupEgress where-    toPath = const "/"+        toPath = const "/"  instance ToQuery AuthorizeSecurityGroupEgress where-    toQuery AuthorizeSecurityGroupEgress{..} = mconcat-        [ "CidrIp"                     =? _asgeCidrIp-        , "DryRun"                     =? _asgeDryRun-        , "FromPort"                   =? _asgeFromPort-        , "GroupId"                    =? _asgeGroupId-        , "IpPermissions"              `toQueryList` _asgeIpPermissions-        , "IpProtocol"                 =? _asgeIpProtocol-        , "SourceSecurityGroupName"    =? _asgeSourceSecurityGroupName-        , "SourceSecurityGroupOwnerId" =? _asgeSourceSecurityGroupOwnerId-        , "ToPort"                     =? _asgeToPort-        ]--instance ToHeaders AuthorizeSecurityGroupEgress+        toQuery AuthorizeSecurityGroupEgress'{..}+          = mconcat+              ["Action" =:+                 ("AuthorizeSecurityGroupEgress" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "FromPort" =: _asgeFromPort,+               toQuery (toQueryList "item" <$> _asgeIPPermissions),+               "IpProtocol" =: _asgeIPProtocol,+               "ToPort" =: _asgeToPort, "CidrIp" =: _asgeCIdRIP,+               "SourceSecurityGroupOwnerId" =:+                 _asgeSourceSecurityGroupOwnerId,+               "SourceSecurityGroupName" =:+                 _asgeSourceSecurityGroupName,+               "DryRun" =: _asgeDryRun, "GroupId" =: _asgeGroupId] -instance AWSRequest AuthorizeSecurityGroupEgress where-    type Sv AuthorizeSecurityGroupEgress = EC2-    type Rs AuthorizeSecurityGroupEgress = AuthorizeSecurityGroupEgressResponse+-- | /See:/ 'authorizeSecurityGroupEgressResponse' smart constructor.+data AuthorizeSecurityGroupEgressResponse =+    AuthorizeSecurityGroupEgressResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "AuthorizeSecurityGroupEgress"-    response = nullResponse AuthorizeSecurityGroupEgressResponse+-- | Creates a value of 'AuthorizeSecurityGroupEgressResponse' with the minimum fields required to make a request.+--+authorizeSecurityGroupEgressResponse+    :: AuthorizeSecurityGroupEgressResponse+authorizeSecurityGroupEgressResponse = AuthorizeSecurityGroupEgressResponse'
gen/Network/AWS/EC2/AuthorizeSecurityGroupIngress.hs view
@@ -1,213 +1,229 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.AuthorizeSecurityGroupIngress--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Adds one or more ingress rules to a security group.+-- Adds one or more ingress rules to a security group. -- -- EC2-Classic: You can have up to 100 rules per group. ----- EC2-VPC: You can have up to 50 rules per group (covering both ingress and--- egress rules).+-- EC2-VPC: You can have up to 50 rules per group (covering both ingress+-- and egress rules). -- -- Rule changes are propagated to instances within the security group as -- quickly as possible. However, a small delay might occur. -- -- [EC2-Classic] This action gives one or more CIDR IP address ranges--- permission to access a security group in your account, or gives one or more--- security groups (called the /source groups/) permission to access a security--- group for your account. A source group can be for your own AWS account, or--- another.+-- permission to access a security group in your account, or gives one or+-- more security groups (called the /source groups/) permission to access a+-- security group for your account. A source group can be for your own AWS+-- account, or another. ----- [EC2-VPC] This action gives one or more CIDR IP address ranges permission to--- access a security group in your VPC, or gives one or more 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.+-- [EC2-VPC] This action gives one or more CIDR IP address ranges+-- permission to access a security group in your VPC, or gives one or more+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AuthorizeSecurityGroupIngress.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-AuthorizeSecurityGroupIngress.html AWS API Reference> for AuthorizeSecurityGroupIngress. module Network.AWS.EC2.AuthorizeSecurityGroupIngress     (-    -- * Request-      AuthorizeSecurityGroupIngress-    -- ** Request constructor-    , authorizeSecurityGroupIngress-    -- ** Request lenses-    , asgiCidrIp-    , asgiDryRun+    -- * Creating a Request+      authorizeSecurityGroupIngress+    , AuthorizeSecurityGroupIngress+    -- * Request Lenses     , asgiFromPort+    , asgiIPPermissions+    , asgiIPProtocol     , asgiGroupId+    , asgiToPort+    , asgiCIdRIP     , asgiGroupName-    , asgiIpPermissions-    , asgiIpProtocol-    , asgiSourceSecurityGroupName     , asgiSourceSecurityGroupOwnerId-    , asgiToPort+    , asgiSourceSecurityGroupName+    , asgiDryRun -    -- * Response-    , AuthorizeSecurityGroupIngressResponse-    -- ** Response constructor+    -- * Destructuring the Response     , authorizeSecurityGroupIngressResponse+    , AuthorizeSecurityGroupIngressResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data AuthorizeSecurityGroupIngress = AuthorizeSecurityGroupIngress-    { _asgiCidrIp                     :: Maybe Text-    , _asgiDryRun                     :: Maybe Bool-    , _asgiFromPort                   :: Maybe Int-    , _asgiGroupId                    :: Maybe Text-    , _asgiGroupName                  :: Maybe Text-    , _asgiIpPermissions              :: List "item" IpPermission-    , _asgiIpProtocol                 :: Maybe Text-    , _asgiSourceSecurityGroupName    :: Maybe Text-    , _asgiSourceSecurityGroupOwnerId :: Maybe Text-    , _asgiToPort                     :: Maybe Int-    } deriving (Eq, Read, Show)+-- | /See:/ 'authorizeSecurityGroupIngress' smart constructor.+data AuthorizeSecurityGroupIngress = AuthorizeSecurityGroupIngress'+    { _asgiFromPort                   :: !(Maybe Int)+    , _asgiIPPermissions              :: !(Maybe [IPPermission])+    , _asgiIPProtocol                 :: !(Maybe Text)+    , _asgiGroupId                    :: !(Maybe Text)+    , _asgiToPort                     :: !(Maybe Int)+    , _asgiCIdRIP                     :: !(Maybe Text)+    , _asgiGroupName                  :: !(Maybe Text)+    , _asgiSourceSecurityGroupOwnerId :: !(Maybe Text)+    , _asgiSourceSecurityGroupName    :: !(Maybe Text)+    , _asgiDryRun                     :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'AuthorizeSecurityGroupIngress' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'AuthorizeSecurityGroupIngress' with the minimum fields required to make a request. ----- * 'asgiCidrIp' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'asgiDryRun' @::@ 'Maybe' 'Bool'+-- * 'asgiFromPort' ----- * 'asgiFromPort' @::@ 'Maybe' 'Int'+-- * 'asgiIPPermissions' ----- * 'asgiGroupId' @::@ 'Maybe' 'Text'+-- * 'asgiIPProtocol' ----- * 'asgiGroupName' @::@ 'Maybe' 'Text'+-- * 'asgiGroupId' ----- * 'asgiIpPermissions' @::@ ['IpPermission']+-- * 'asgiToPort' ----- * 'asgiIpProtocol' @::@ 'Maybe' 'Text'+-- * 'asgiCIdRIP' ----- * 'asgiSourceSecurityGroupName' @::@ 'Maybe' 'Text'+-- * 'asgiGroupName' ----- * 'asgiSourceSecurityGroupOwnerId' @::@ 'Maybe' 'Text'+-- * 'asgiSourceSecurityGroupOwnerId' ----- * 'asgiToPort' @::@ 'Maybe' 'Int'+-- * 'asgiSourceSecurityGroupName' ---authorizeSecurityGroupIngress :: AuthorizeSecurityGroupIngress-authorizeSecurityGroupIngress = AuthorizeSecurityGroupIngress-    { _asgiDryRun                     = Nothing-    , _asgiGroupName                  = Nothing-    , _asgiGroupId                    = Nothing-    , _asgiSourceSecurityGroupName    = Nothing+-- * 'asgiDryRun'+authorizeSecurityGroupIngress+    :: AuthorizeSecurityGroupIngress+authorizeSecurityGroupIngress =+    AuthorizeSecurityGroupIngress'+    { _asgiFromPort = Nothing+    , _asgiIPPermissions = Nothing+    , _asgiIPProtocol = Nothing+    , _asgiGroupId = Nothing+    , _asgiToPort = Nothing+    , _asgiCIdRIP = Nothing+    , _asgiGroupName = Nothing     , _asgiSourceSecurityGroupOwnerId = Nothing-    , _asgiIpProtocol                 = Nothing-    , _asgiFromPort                   = Nothing-    , _asgiToPort                     = Nothing-    , _asgiCidrIp                     = Nothing-    , _asgiIpPermissions              = mempty+    , _asgiSourceSecurityGroupName = Nothing+    , _asgiDryRun = Nothing     } --- | The CIDR IP address range. You can't specify this parameter when specifying a--- source security group.-asgiCidrIp :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)-asgiCidrIp = lens _asgiCidrIp (\s a -> s { _asgiCidrIp = 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'.-asgiDryRun :: Lens' AuthorizeSecurityGroupIngress (Maybe Bool)-asgiDryRun = lens _asgiDryRun (\s a -> s { _asgiDryRun = a })- -- | The start of port range for the TCP and UDP protocols, or an ICMP type -- number. For the ICMP type number, use '-1' to specify all ICMP types. asgiFromPort :: Lens' AuthorizeSecurityGroupIngress (Maybe Int)-asgiFromPort = lens _asgiFromPort (\s a -> s { _asgiFromPort = a })+asgiFromPort = lens _asgiFromPort (\ s a -> s{_asgiFromPort = a}); +-- | A set of IP permissions. Can be used to specify multiple rules in a+-- single command.+asgiIPPermissions :: Lens' AuthorizeSecurityGroupIngress [IPPermission]+asgiIPPermissions = lens _asgiIPPermissions (\ s a -> s{_asgiIPPermissions = a}) . _Default . _Coerce;++-- | The IP protocol name ('tcp', 'udp', 'icmp') or number (see+-- <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>).+-- (VPC only) Use '-1' to specify all.+asgiIPProtocol :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)+asgiIPProtocol = lens _asgiIPProtocol (\ s a -> s{_asgiIPProtocol = a});+ -- | The ID of the security group. Required for a nondefault VPC. asgiGroupId :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)-asgiGroupId = lens _asgiGroupId (\s a -> s { _asgiGroupId = a })+asgiGroupId = lens _asgiGroupId (\ s a -> s{_asgiGroupId = a}); +-- | The end of port range for the TCP and UDP protocols, or an ICMP code+-- number. For the ICMP code number, use '-1' to specify all ICMP codes for+-- the ICMP type.+asgiToPort :: Lens' AuthorizeSecurityGroupIngress (Maybe Int)+asgiToPort = lens _asgiToPort (\ s a -> s{_asgiToPort = a});++-- | The CIDR IP address range. You can\'t specify this parameter when+-- specifying a source security group.+asgiCIdRIP :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)+asgiCIdRIP = lens _asgiCIdRIP (\ s a -> s{_asgiCIdRIP = a});+ -- | [EC2-Classic, default VPC] The name of the security group. asgiGroupName :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)-asgiGroupName = lens _asgiGroupName (\s a -> s { _asgiGroupName = a })---- | A set of IP permissions. Can be used to specify multiple rules in a single--- command.-asgiIpPermissions :: Lens' AuthorizeSecurityGroupIngress [IpPermission]-asgiIpPermissions =-    lens _asgiIpPermissions (\s a -> s { _asgiIpPermissions = a })-        . _List+asgiGroupName = lens _asgiGroupName (\ s a -> s{_asgiGroupName = a}); --- | The IP protocol name ('tcp', 'udp', 'icmp') or number (see <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>). (VPC--- only) Use '-1' to specify all.-asgiIpProtocol :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)-asgiIpProtocol = lens _asgiIpProtocol (\s a -> s { _asgiIpProtocol = a })+-- | [EC2-Classic, default VPC] The AWS account number for the source+-- security group. For EC2-VPC, the source security group must be in the+-- same VPC. You can\'t specify this parameter in combination with the+-- following parameters: the CIDR IP address range, the IP protocol, the+-- start of the port range, and the end of the port range. Creates rules+-- that grant full ICMP, UDP, and TCP access. To create a rule with a+-- specific IP protocol and port range, use a set of IP permissions+-- instead.+asgiSourceSecurityGroupOwnerId :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)+asgiSourceSecurityGroupOwnerId = lens _asgiSourceSecurityGroupOwnerId (\ s a -> s{_asgiSourceSecurityGroupOwnerId = a}); --- | [EC2-Classic, default VPC] The name of the source security group. You can't--- specify a source security group and a CIDR IP address range.+-- | [EC2-Classic, default VPC] The name of the source security group. You+-- can\'t specify this parameter in combination with the following+-- parameters: the CIDR IP address range, the start of the port range, the+-- IP protocol, and the end of the port range. For EC2-VPC, the source+-- security group must be in the same VPC. asgiSourceSecurityGroupName :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)-asgiSourceSecurityGroupName =-    lens _asgiSourceSecurityGroupName-        (\s a -> s { _asgiSourceSecurityGroupName = a })---- | The ID of the source security group. You can't specify a source security--- group and a CIDR IP address range.-asgiSourceSecurityGroupOwnerId :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)-asgiSourceSecurityGroupOwnerId =-    lens _asgiSourceSecurityGroupOwnerId-        (\s a -> s { _asgiSourceSecurityGroupOwnerId = a })+asgiSourceSecurityGroupName = lens _asgiSourceSecurityGroupName (\ s a -> s{_asgiSourceSecurityGroupName = a}); --- | The end of port range for the TCP and UDP protocols, or an ICMP code number.--- For the ICMP code number, use '-1' to specify all ICMP codes for the ICMP type.-asgiToPort :: Lens' AuthorizeSecurityGroupIngress (Maybe Int)-asgiToPort = lens _asgiToPort (\s a -> s { _asgiToPort = 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'.+asgiDryRun :: Lens' AuthorizeSecurityGroupIngress (Maybe Bool)+asgiDryRun = lens _asgiDryRun (\ s a -> s{_asgiDryRun = a}); -data AuthorizeSecurityGroupIngressResponse = AuthorizeSecurityGroupIngressResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest AuthorizeSecurityGroupIngress+         where+        type Sv AuthorizeSecurityGroupIngress = EC2+        type Rs AuthorizeSecurityGroupIngress =+             AuthorizeSecurityGroupIngressResponse+        request = post+        response+          = receiveNull AuthorizeSecurityGroupIngressResponse' --- | 'AuthorizeSecurityGroupIngressResponse' constructor.-authorizeSecurityGroupIngressResponse :: AuthorizeSecurityGroupIngressResponse-authorizeSecurityGroupIngressResponse = AuthorizeSecurityGroupIngressResponse+instance ToHeaders AuthorizeSecurityGroupIngress+         where+        toHeaders = const mempty  instance ToPath AuthorizeSecurityGroupIngress where-    toPath = const "/"+        toPath = const "/"  instance ToQuery AuthorizeSecurityGroupIngress where-    toQuery AuthorizeSecurityGroupIngress{..} = mconcat-        [ "CidrIp"                     =? _asgiCidrIp-        , "DryRun"                     =? _asgiDryRun-        , "FromPort"                   =? _asgiFromPort-        , "GroupId"                    =? _asgiGroupId-        , "GroupName"                  =? _asgiGroupName-        , "IpPermissions"              `toQueryList` _asgiIpPermissions-        , "IpProtocol"                 =? _asgiIpProtocol-        , "SourceSecurityGroupName"    =? _asgiSourceSecurityGroupName-        , "SourceSecurityGroupOwnerId" =? _asgiSourceSecurityGroupOwnerId-        , "ToPort"                     =? _asgiToPort-        ]--instance ToHeaders AuthorizeSecurityGroupIngress+        toQuery AuthorizeSecurityGroupIngress'{..}+          = mconcat+              ["Action" =:+                 ("AuthorizeSecurityGroupIngress" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "FromPort" =: _asgiFromPort,+               toQuery (toQueryList "item" <$> _asgiIPPermissions),+               "IpProtocol" =: _asgiIPProtocol,+               "GroupId" =: _asgiGroupId, "ToPort" =: _asgiToPort,+               "CidrIp" =: _asgiCIdRIP,+               "GroupName" =: _asgiGroupName,+               "SourceSecurityGroupOwnerId" =:+                 _asgiSourceSecurityGroupOwnerId,+               "SourceSecurityGroupName" =:+                 _asgiSourceSecurityGroupName,+               "DryRun" =: _asgiDryRun] -instance AWSRequest AuthorizeSecurityGroupIngress where-    type Sv AuthorizeSecurityGroupIngress = EC2-    type Rs AuthorizeSecurityGroupIngress = AuthorizeSecurityGroupIngressResponse+-- | /See:/ 'authorizeSecurityGroupIngressResponse' smart constructor.+data AuthorizeSecurityGroupIngressResponse =+    AuthorizeSecurityGroupIngressResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "AuthorizeSecurityGroupIngress"-    response = nullResponse AuthorizeSecurityGroupIngressResponse+-- | Creates a value of 'AuthorizeSecurityGroupIngressResponse' with the minimum fields required to make a request.+--+authorizeSecurityGroupIngressResponse+    :: AuthorizeSecurityGroupIngressResponse+authorizeSecurityGroupIngressResponse = AuthorizeSecurityGroupIngressResponse'
gen/Network/AWS/EC2/BundleInstance.hs view
@@ -1,92 +1,92 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.BundleInstance--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Bundles an Amazon instance store-backed Windows instance.+-- Bundles an Amazon instance store-backed Windows instance. ----- During bundling, only the root device volume (C:\) is bundled. Data on other--- instance store volumes is not preserved.+-- During bundling, only the root device volume (C:\\) is bundled. Data on+-- other instance store volumes is not preserved. ----- This action is not applicable for Linux/Unix instances or Windows instances--- that are backed by Amazon EBS.+-- This action is not applicable for Linux\/Unix instances or Windows+-- instances that are backed by Amazon EBS. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html Creating an Instance Store-Backed Windows AMI>.+-- For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html Creating an Instance Store-Backed Windows AMI>. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-BundleInstance.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-BundleInstance.html AWS API Reference> for BundleInstance. module Network.AWS.EC2.BundleInstance     (-    -- * Request-      BundleInstance-    -- ** Request constructor-    , bundleInstance-    -- ** Request lenses+    -- * Creating a Request+      bundleInstance+    , BundleInstance+    -- * Request Lenses     , biDryRun     , biInstanceId     , biStorage -    -- * Response-    , BundleInstanceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , bundleInstanceResponse-    -- ** Response lenses-    , birBundleTask+    , BundleInstanceResponse+    -- * Response Lenses+    , birsBundleTask+    , birsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data BundleInstance = BundleInstance-    { _biDryRun     :: Maybe Bool-    , _biInstanceId :: Text-    , _biStorage    :: Storage-    } deriving (Eq, Read, Show)+-- | /See:/ 'bundleInstance' smart constructor.+data BundleInstance = BundleInstance'+    { _biDryRun     :: !(Maybe Bool)+    , _biInstanceId :: !Text+    , _biStorage    :: !Storage+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'BundleInstance' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'BundleInstance' with the minimum fields required to make a request. ----- * 'biDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'biInstanceId' @::@ 'Text'+-- * 'biDryRun' ----- * 'biStorage' @::@ 'Storage'+-- * 'biInstanceId' ---bundleInstance :: Text -- ^ 'biInstanceId'-               -> Storage -- ^ 'biStorage'-               -> BundleInstance-bundleInstance p1 p2 = BundleInstance-    { _biInstanceId = p1-    , _biStorage    = p2-    , _biDryRun     = Nothing+-- * 'biStorage'+bundleInstance+    :: Text -- ^ 'biInstanceId'+    -> Storage -- ^ 'biStorage'+    -> BundleInstance+bundleInstance pInstanceId_ pStorage_ =+    BundleInstance'+    { _biDryRun = Nothing+    , _biInstanceId = pInstanceId_+    , _biStorage = pStorage_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. biDryRun :: Lens' BundleInstance (Maybe Bool)-biDryRun = lens _biDryRun (\s a -> s { _biDryRun = a })+biDryRun = lens _biDryRun (\ s a -> s{_biDryRun = a});  -- | The ID of the instance to bundle. --@@ -96,52 +96,65 @@ -- -- Required: Yes biInstanceId :: Lens' BundleInstance Text-biInstanceId = lens _biInstanceId (\s a -> s { _biInstanceId = a })+biInstanceId = lens _biInstanceId (\ s a -> s{_biInstanceId = a});  -- | 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.+-- 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. biStorage :: Lens' BundleInstance Storage-biStorage = lens _biStorage (\s a -> s { _biStorage = a })--newtype BundleInstanceResponse = BundleInstanceResponse-    { _birBundleTask :: Maybe BundleTask-    } deriving (Eq, Read, Show)+biStorage = lens _biStorage (\ s a -> s{_biStorage = a}); --- | 'BundleInstanceResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'birBundleTask' @::@ 'Maybe' 'BundleTask'----bundleInstanceResponse :: BundleInstanceResponse-bundleInstanceResponse = BundleInstanceResponse-    { _birBundleTask = Nothing-    }+instance AWSRequest BundleInstance where+        type Sv BundleInstance = EC2+        type Rs BundleInstance = BundleInstanceResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 BundleInstanceResponse' <$>+                   (x .@? "bundleInstanceTask") <*> (pure (fromEnum s))) --- | Information about the bundle task.-birBundleTask :: Lens' BundleInstanceResponse (Maybe BundleTask)-birBundleTask = lens _birBundleTask (\s a -> s { _birBundleTask = a })+instance ToHeaders BundleInstance where+        toHeaders = const mempty  instance ToPath BundleInstance where-    toPath = const "/"+        toPath = const "/"  instance ToQuery BundleInstance where-    toQuery BundleInstance{..} = mconcat-        [ "DryRun"     =? _biDryRun-        , "InstanceId" =? _biInstanceId-        , "Storage"    =? _biStorage-        ]+        toQuery BundleInstance'{..}+          = mconcat+              ["Action" =: ("BundleInstance" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _biDryRun, "InstanceId" =: _biInstanceId,+               "Storage" =: _biStorage] -instance ToHeaders BundleInstance+-- | /See:/ 'bundleInstanceResponse' smart constructor.+data BundleInstanceResponse = BundleInstanceResponse'+    { _birsBundleTask :: !(Maybe BundleTask)+    , _birsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest BundleInstance where-    type Sv BundleInstance = EC2-    type Rs BundleInstance = BundleInstanceResponse+-- | Creates a value of 'BundleInstanceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'birsBundleTask'+--+-- * 'birsStatus'+bundleInstanceResponse+    :: Int -- ^ 'birsStatus'+    -> BundleInstanceResponse+bundleInstanceResponse pStatus_ =+    BundleInstanceResponse'+    { _birsBundleTask = Nothing+    , _birsStatus = pStatus_+    } -    request  = post "BundleInstance"-    response = xmlResponse+-- | Information about the bundle task.+birsBundleTask :: Lens' BundleInstanceResponse (Maybe BundleTask)+birsBundleTask = lens _birsBundleTask (\ s a -> s{_birsBundleTask = a}); -instance FromXML BundleInstanceResponse where-    parseXML x = BundleInstanceResponse-        <$> x .@? "bundleInstanceTask"+-- | The response status code.+birsStatus :: Lens' BundleInstanceResponse Int+birsStatus = lens _birsStatus (\ s a -> s{_birsStatus = a});
gen/Network/AWS/EC2/CancelBundleTask.hs view
@@ -1,120 +1,132 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CancelBundleTask--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Cancels a bundling operation for an instance store-backed Windows instance.+-- Cancels a bundling operation for an instance store-backed Windows+-- instance. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelBundleTask.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelBundleTask.html AWS API Reference> for CancelBundleTask. module Network.AWS.EC2.CancelBundleTask     (-    -- * Request-      CancelBundleTask-    -- ** Request constructor-    , cancelBundleTask-    -- ** Request lenses-    , cbtBundleId+    -- * Creating a Request+      cancelBundleTask+    , CancelBundleTask+    -- * Request Lenses     , cbtDryRun+    , cbtBundleId -    -- * Response-    , CancelBundleTaskResponse-    -- ** Response constructor+    -- * Destructuring the Response     , cancelBundleTaskResponse-    -- ** Response lenses-    , cbtrBundleTask+    , CancelBundleTaskResponse+    -- * Response Lenses+    , cbtrsBundleTask+    , cbtrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CancelBundleTask = CancelBundleTask-    { _cbtBundleId :: Text-    , _cbtDryRun   :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'cancelBundleTask' smart constructor.+data CancelBundleTask = CancelBundleTask'+    { _cbtDryRun   :: !(Maybe Bool)+    , _cbtBundleId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CancelBundleTask' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CancelBundleTask' with the minimum fields required to make a request. ----- * 'cbtBundleId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cbtDryRun' @::@ 'Maybe' 'Bool'+-- * 'cbtDryRun' ---cancelBundleTask :: Text -- ^ 'cbtBundleId'-                 -> CancelBundleTask-cancelBundleTask p1 = CancelBundleTask-    { _cbtBundleId = p1-    , _cbtDryRun   = Nothing+-- * 'cbtBundleId'+cancelBundleTask+    :: Text -- ^ 'cbtBundleId'+    -> CancelBundleTask+cancelBundleTask pBundleId_ =+    CancelBundleTask'+    { _cbtDryRun = Nothing+    , _cbtBundleId = pBundleId_     } --- | The ID of the bundle task.-cbtBundleId :: Lens' CancelBundleTask Text-cbtBundleId = lens _cbtBundleId (\s a -> s { _cbtBundleId = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. cbtDryRun :: Lens' CancelBundleTask (Maybe Bool)-cbtDryRun = lens _cbtDryRun (\s a -> s { _cbtDryRun = a })+cbtDryRun = lens _cbtDryRun (\ s a -> s{_cbtDryRun = a}); -newtype CancelBundleTaskResponse = CancelBundleTaskResponse-    { _cbtrBundleTask :: Maybe BundleTask-    } deriving (Eq, Read, Show)+-- | The ID of the bundle task.+cbtBundleId :: Lens' CancelBundleTask Text+cbtBundleId = lens _cbtBundleId (\ s a -> s{_cbtBundleId = a}); --- | 'CancelBundleTaskResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cbtrBundleTask' @::@ 'Maybe' 'BundleTask'----cancelBundleTaskResponse :: CancelBundleTaskResponse-cancelBundleTaskResponse = CancelBundleTaskResponse-    { _cbtrBundleTask = Nothing-    }+instance AWSRequest CancelBundleTask where+        type Sv CancelBundleTask = EC2+        type Rs CancelBundleTask = CancelBundleTaskResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CancelBundleTaskResponse' <$>+                   (x .@? "bundleInstanceTask") <*> (pure (fromEnum s))) --- | Information about the bundle task.-cbtrBundleTask :: Lens' CancelBundleTaskResponse (Maybe BundleTask)-cbtrBundleTask = lens _cbtrBundleTask (\s a -> s { _cbtrBundleTask = a })+instance ToHeaders CancelBundleTask where+        toHeaders = const mempty  instance ToPath CancelBundleTask where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CancelBundleTask where-    toQuery CancelBundleTask{..} = mconcat-        [ "BundleId" =? _cbtBundleId-        , "DryRun"   =? _cbtDryRun-        ]+        toQuery CancelBundleTask'{..}+          = mconcat+              ["Action" =: ("CancelBundleTask" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _cbtDryRun, "BundleId" =: _cbtBundleId] -instance ToHeaders CancelBundleTask+-- | /See:/ 'cancelBundleTaskResponse' smart constructor.+data CancelBundleTaskResponse = CancelBundleTaskResponse'+    { _cbtrsBundleTask :: !(Maybe BundleTask)+    , _cbtrsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CancelBundleTask where-    type Sv CancelBundleTask = EC2-    type Rs CancelBundleTask = CancelBundleTaskResponse+-- | Creates a value of 'CancelBundleTaskResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbtrsBundleTask'+--+-- * 'cbtrsStatus'+cancelBundleTaskResponse+    :: Int -- ^ 'cbtrsStatus'+    -> CancelBundleTaskResponse+cancelBundleTaskResponse pStatus_ =+    CancelBundleTaskResponse'+    { _cbtrsBundleTask = Nothing+    , _cbtrsStatus = pStatus_+    } -    request  = post "CancelBundleTask"-    response = xmlResponse+-- | Information about the bundle task.+cbtrsBundleTask :: Lens' CancelBundleTaskResponse (Maybe BundleTask)+cbtrsBundleTask = lens _cbtrsBundleTask (\ s a -> s{_cbtrsBundleTask = a}); -instance FromXML CancelBundleTaskResponse where-    parseXML x = CancelBundleTaskResponse-        <$> x .@? "bundleInstanceTask"+-- | The response status code.+cbtrsStatus :: Lens' CancelBundleTaskResponse Int+cbtrsStatus = lens _cbtrsStatus (\ s a -> s{_cbtrsStatus = a});
gen/Network/AWS/EC2/CancelConversionTask.hs view
@@ -1,119 +1,125 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CancelConversionTask--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Cancels an active conversion task. The task can be the import of an instance--- or volume. The action removes all artifacts of the conversion, including a--- partially uploaded volume or instance. If the conversion is complete or is in--- the process of transferring the final disk image, the command fails and--- returns an exception.+-- Cancels an active conversion task. The task can be the import of an+-- instance or volume. The action removes all artifacts of the conversion,+-- including a partially uploaded volume or instance. If the conversion is+-- complete or is in the process of transferring the final disk image, the+-- command fails and returns an exception. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html Using the Command Line Tools to Import YourVirtual Machine to Amazon EC2> in the /Amazon Elastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelConversionTask.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelConversionTask.html AWS API Reference> for CancelConversionTask. module Network.AWS.EC2.CancelConversionTask     (-    -- * Request-      CancelConversionTask-    -- ** Request constructor-    , cancelConversionTask-    -- ** Request lenses-    , cctConversionTaskId-    , cctDryRun+    -- * Creating a Request+      cancelConversionTask+    , CancelConversionTask+    -- * Request Lenses     , cctReasonMessage+    , cctDryRun+    , cctConversionTaskId -    -- * Response-    , CancelConversionTaskResponse-    -- ** Response constructor+    -- * Destructuring the Response     , cancelConversionTaskResponse+    , CancelConversionTaskResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CancelConversionTask = CancelConversionTask-    { _cctConversionTaskId :: Text-    , _cctDryRun           :: Maybe Bool-    , _cctReasonMessage    :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'cancelConversionTask' smart constructor.+data CancelConversionTask = CancelConversionTask'+    { _cctReasonMessage    :: !(Maybe Text)+    , _cctDryRun           :: !(Maybe Bool)+    , _cctConversionTaskId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CancelConversionTask' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CancelConversionTask' with the minimum fields required to make a request. ----- * 'cctConversionTaskId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cctDryRun' @::@ 'Maybe' 'Bool'+-- * 'cctReasonMessage' ----- * 'cctReasonMessage' @::@ 'Maybe' 'Text'+-- * 'cctDryRun' ---cancelConversionTask :: Text -- ^ 'cctConversionTaskId'-                     -> CancelConversionTask-cancelConversionTask p1 = CancelConversionTask-    { _cctConversionTaskId = p1-    , _cctDryRun           = Nothing-    , _cctReasonMessage    = Nothing+-- * 'cctConversionTaskId'+cancelConversionTask+    :: Text -- ^ 'cctConversionTaskId'+    -> CancelConversionTask+cancelConversionTask pConversionTaskId_ =+    CancelConversionTask'+    { _cctReasonMessage = Nothing+    , _cctDryRun = Nothing+    , _cctConversionTaskId = pConversionTaskId_     } --- | The ID of the conversion task.-cctConversionTaskId :: Lens' CancelConversionTask Text-cctConversionTaskId =-    lens _cctConversionTaskId (\s a -> s { _cctConversionTaskId = a })+-- | The reason for canceling the conversion task.+cctReasonMessage :: Lens' CancelConversionTask (Maybe Text)+cctReasonMessage = lens _cctReasonMessage (\ s a -> s{_cctReasonMessage = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. cctDryRun :: Lens' CancelConversionTask (Maybe Bool)-cctDryRun = lens _cctDryRun (\s a -> s { _cctDryRun = a })+cctDryRun = lens _cctDryRun (\ s a -> s{_cctDryRun = a}); --- | The reason for canceling the conversion task.-cctReasonMessage :: Lens' CancelConversionTask (Maybe Text)-cctReasonMessage = lens _cctReasonMessage (\s a -> s { _cctReasonMessage = a })+-- | The ID of the conversion task.+cctConversionTaskId :: Lens' CancelConversionTask Text+cctConversionTaskId = lens _cctConversionTaskId (\ s a -> s{_cctConversionTaskId = a}); -data CancelConversionTaskResponse = CancelConversionTaskResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest CancelConversionTask where+        type Sv CancelConversionTask = EC2+        type Rs CancelConversionTask =+             CancelConversionTaskResponse+        request = post+        response = receiveNull CancelConversionTaskResponse' --- | 'CancelConversionTaskResponse' constructor.-cancelConversionTaskResponse :: CancelConversionTaskResponse-cancelConversionTaskResponse = CancelConversionTaskResponse+instance ToHeaders CancelConversionTask where+        toHeaders = const mempty  instance ToPath CancelConversionTask where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CancelConversionTask where-    toQuery CancelConversionTask{..} = mconcat-        [ "ConversionTaskId" =? _cctConversionTaskId-        , "DryRun"           =? _cctDryRun-        , "ReasonMessage"    =? _cctReasonMessage-        ]--instance ToHeaders CancelConversionTask+        toQuery CancelConversionTask'{..}+          = mconcat+              ["Action" =: ("CancelConversionTask" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "ReasonMessage" =: _cctReasonMessage,+               "DryRun" =: _cctDryRun,+               "ConversionTaskId" =: _cctConversionTaskId] -instance AWSRequest CancelConversionTask where-    type Sv CancelConversionTask = EC2-    type Rs CancelConversionTask = CancelConversionTaskResponse+-- | /See:/ 'cancelConversionTaskResponse' smart constructor.+data CancelConversionTaskResponse =+    CancelConversionTaskResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "CancelConversionTask"-    response = nullResponse CancelConversionTaskResponse+-- | Creates a value of 'CancelConversionTaskResponse' with the minimum fields required to make a request.+--+cancelConversionTaskResponse+    :: CancelConversionTaskResponse+cancelConversionTaskResponse = CancelConversionTaskResponse'
gen/Network/AWS/EC2/CancelExportTask.hs view
@@ -1,94 +1,97 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CancelExportTask--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Cancels an active export task. The request removes all artifacts of the--- 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.+-- Cancels an active export task. The request removes all artifacts of the+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelExportTask.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelExportTask.html AWS API Reference> for CancelExportTask. module Network.AWS.EC2.CancelExportTask     (-    -- * Request-      CancelExportTask-    -- ** Request constructor-    , cancelExportTask-    -- ** Request lenses+    -- * Creating a Request+      cancelExportTask+    , CancelExportTask+    -- * Request Lenses     , cetExportTaskId -    -- * Response-    , CancelExportTaskResponse-    -- ** Response constructor+    -- * Destructuring the Response     , cancelExportTaskResponse+    , CancelExportTaskResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -newtype CancelExportTask = CancelExportTask+-- | /See:/ 'cancelExportTask' smart constructor.+newtype CancelExportTask = CancelExportTask'     { _cetExportTaskId :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CancelExportTask' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CancelExportTask' with the minimum fields required to make a request. ----- * 'cetExportTaskId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---cancelExportTask :: Text -- ^ 'cetExportTaskId'-                 -> CancelExportTask-cancelExportTask p1 = CancelExportTask-    { _cetExportTaskId = p1+-- * 'cetExportTaskId'+cancelExportTask+    :: Text -- ^ 'cetExportTaskId'+    -> CancelExportTask+cancelExportTask pExportTaskId_ =+    CancelExportTask'+    { _cetExportTaskId = pExportTaskId_     } --- | The ID of the export task. This is the ID returned by 'CreateInstanceExportTask'--- .+-- | The ID of the export task. This is the ID returned by+-- 'CreateInstanceExportTask'. cetExportTaskId :: Lens' CancelExportTask Text-cetExportTaskId = lens _cetExportTaskId (\s a -> s { _cetExportTaskId = a })+cetExportTaskId = lens _cetExportTaskId (\ s a -> s{_cetExportTaskId = a}); -data CancelExportTaskResponse = CancelExportTaskResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest CancelExportTask where+        type Sv CancelExportTask = EC2+        type Rs CancelExportTask = CancelExportTaskResponse+        request = post+        response = receiveNull CancelExportTaskResponse' --- | 'CancelExportTaskResponse' constructor.-cancelExportTaskResponse :: CancelExportTaskResponse-cancelExportTaskResponse = CancelExportTaskResponse+instance ToHeaders CancelExportTask where+        toHeaders = const mempty  instance ToPath CancelExportTask where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CancelExportTask where-    toQuery CancelExportTask{..} = mconcat-        [ "ExportTaskId" =? _cetExportTaskId-        ]--instance ToHeaders CancelExportTask+        toQuery CancelExportTask'{..}+          = mconcat+              ["Action" =: ("CancelExportTask" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "ExportTaskId" =: _cetExportTaskId] -instance AWSRequest CancelExportTask where-    type Sv CancelExportTask = EC2-    type Rs CancelExportTask = CancelExportTaskResponse+-- | /See:/ 'cancelExportTaskResponse' smart constructor.+data CancelExportTaskResponse =+    CancelExportTaskResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "CancelExportTask"-    response = nullResponse CancelExportTaskResponse+-- | Creates a value of 'CancelExportTaskResponse' with the minimum fields required to make a request.+--+cancelExportTaskResponse+    :: CancelExportTaskResponse+cancelExportTaskResponse = CancelExportTaskResponse'
gen/Network/AWS/EC2/CancelImportTask.hs view
@@ -1,150 +1,161 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CancelImportTask--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Cancels an in-process import virtual machine or import snapshot task.+-- Cancels an in-process import virtual machine or import snapshot task. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelImportTask.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelImportTask.html AWS API Reference> for CancelImportTask. module Network.AWS.EC2.CancelImportTask     (-    -- * Request-      CancelImportTask-    -- ** Request constructor-    , cancelImportTask-    -- ** Request lenses+    -- * Creating a Request+      cancelImportTask+    , CancelImportTask+    -- * Request Lenses     , citCancelReason-    , citDryRun     , citImportTaskId+    , citDryRun -    -- * Response-    , CancelImportTaskResponse-    -- ** Response constructor+    -- * Destructuring the Response     , cancelImportTaskResponse-    -- ** Response lenses-    , citrImportTaskId-    , citrPreviousState-    , citrState+    , CancelImportTaskResponse+    -- * Response Lenses+    , citrsState+    , citrsImportTaskId+    , citrsPreviousState+    , citrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CancelImportTask = CancelImportTask-    { _citCancelReason :: Maybe Text-    , _citDryRun       :: Maybe Bool-    , _citImportTaskId :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'cancelImportTask' smart constructor.+data CancelImportTask = CancelImportTask'+    { _citCancelReason :: !(Maybe Text)+    , _citImportTaskId :: !(Maybe Text)+    , _citDryRun       :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CancelImportTask' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CancelImportTask' with the minimum fields required to make a request. ----- * 'citCancelReason' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'citDryRun' @::@ 'Maybe' 'Bool'+-- * 'citCancelReason' ----- * 'citImportTaskId' @::@ 'Maybe' 'Text'+-- * 'citImportTaskId' ---cancelImportTask :: CancelImportTask-cancelImportTask = CancelImportTask-    { _citDryRun       = Nothing+-- * 'citDryRun'+cancelImportTask+    :: CancelImportTask+cancelImportTask =+    CancelImportTask'+    { _citCancelReason = Nothing     , _citImportTaskId = Nothing-    , _citCancelReason = Nothing+    , _citDryRun = Nothing     }  -- | The reason for canceling the task. citCancelReason :: Lens' CancelImportTask (Maybe Text)-citCancelReason = lens _citCancelReason (\s a -> s { _citCancelReason = a })+citCancelReason = lens _citCancelReason (\ s a -> s{_citCancelReason = a}); +-- | The ID of the import image or import snapshot task to be canceled.+citImportTaskId :: Lens' CancelImportTask (Maybe Text)+citImportTaskId = lens _citImportTaskId (\ s a -> s{_citImportTaskId = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. citDryRun :: Lens' CancelImportTask (Maybe Bool)-citDryRun = lens _citDryRun (\s a -> s { _citDryRun = a })+citDryRun = lens _citDryRun (\ s a -> s{_citDryRun = a}); --- | The ID of the import image or import snapshot task to be canceled.-citImportTaskId :: Lens' CancelImportTask (Maybe Text)-citImportTaskId = lens _citImportTaskId (\s a -> s { _citImportTaskId = a })+instance AWSRequest CancelImportTask where+        type Sv CancelImportTask = EC2+        type Rs CancelImportTask = CancelImportTaskResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CancelImportTaskResponse' <$>+                   (x .@? "state") <*> (x .@? "importTaskId") <*>+                     (x .@? "previousState")+                     <*> (pure (fromEnum s))) -data CancelImportTaskResponse = CancelImportTaskResponse-    { _citrImportTaskId  :: Maybe Text-    , _citrPreviousState :: Maybe Text-    , _citrState         :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+instance ToHeaders CancelImportTask where+        toHeaders = const mempty --- | 'CancelImportTaskResponse' constructor.+instance ToPath CancelImportTask where+        toPath = const "/"++instance ToQuery CancelImportTask where+        toQuery CancelImportTask'{..}+          = mconcat+              ["Action" =: ("CancelImportTask" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "CancelReason" =: _citCancelReason,+               "ImportTaskId" =: _citImportTaskId,+               "DryRun" =: _citDryRun]++-- | /See:/ 'cancelImportTaskResponse' smart constructor.+data CancelImportTaskResponse = CancelImportTaskResponse'+    { _citrsState         :: !(Maybe Text)+    , _citrsImportTaskId  :: !(Maybe Text)+    , _citrsPreviousState :: !(Maybe Text)+    , _citrsStatus        :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelImportTaskResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'citrImportTaskId' @::@ 'Maybe' 'Text'+-- * 'citrsState' ----- * 'citrPreviousState' @::@ 'Maybe' 'Text'+-- * 'citrsImportTaskId' ----- * 'citrState' @::@ 'Maybe' 'Text'+-- * 'citrsPreviousState' ---cancelImportTaskResponse :: CancelImportTaskResponse-cancelImportTaskResponse = CancelImportTaskResponse-    { _citrImportTaskId  = Nothing-    , _citrState         = Nothing-    , _citrPreviousState = Nothing+-- * 'citrsStatus'+cancelImportTaskResponse+    :: Int -- ^ 'citrsStatus'+    -> CancelImportTaskResponse+cancelImportTaskResponse pStatus_ =+    CancelImportTaskResponse'+    { _citrsState = Nothing+    , _citrsImportTaskId = Nothing+    , _citrsPreviousState = Nothing+    , _citrsStatus = pStatus_     } --- | The ID of the task being canceled.-citrImportTaskId :: Lens' CancelImportTaskResponse (Maybe Text)-citrImportTaskId = lens _citrImportTaskId (\s a -> s { _citrImportTaskId = a })- -- | The current state of the task being canceled.-citrPreviousState :: Lens' CancelImportTaskResponse (Maybe Text)-citrPreviousState =-    lens _citrPreviousState (\s a -> s { _citrPreviousState = a })---- | The current state of the task being canceled.-citrState :: Lens' CancelImportTaskResponse (Maybe Text)-citrState = lens _citrState (\s a -> s { _citrState = a })--instance ToPath CancelImportTask where-    toPath = const "/"--instance ToQuery CancelImportTask where-    toQuery CancelImportTask{..} = mconcat-        [ "CancelReason" =? _citCancelReason-        , "DryRun"       =? _citDryRun-        , "ImportTaskId" =? _citImportTaskId-        ]--instance ToHeaders CancelImportTask+citrsState :: Lens' CancelImportTaskResponse (Maybe Text)+citrsState = lens _citrsState (\ s a -> s{_citrsState = a}); -instance AWSRequest CancelImportTask where-    type Sv CancelImportTask = EC2-    type Rs CancelImportTask = CancelImportTaskResponse+-- | The ID of the task being canceled.+citrsImportTaskId :: Lens' CancelImportTaskResponse (Maybe Text)+citrsImportTaskId = lens _citrsImportTaskId (\ s a -> s{_citrsImportTaskId = a}); -    request  = post "CancelImportTask"-    response = xmlResponse+-- | The current state of the task being canceled.+citrsPreviousState :: Lens' CancelImportTaskResponse (Maybe Text)+citrsPreviousState = lens _citrsPreviousState (\ s a -> s{_citrsPreviousState = a}); -instance FromXML CancelImportTaskResponse where-    parseXML x = CancelImportTaskResponse-        <$> x .@? "importTaskId"-        <*> x .@? "previousState"-        <*> x .@? "state"+-- | The response status code.+citrsStatus :: Lens' CancelImportTaskResponse Int+citrsStatus = lens _citrsStatus (\ s a -> s{_citrsStatus = a});
gen/Network/AWS/EC2/CancelReservedInstancesListing.hs view
@@ -1,116 +1,131 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CancelReservedInstancesListing--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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 /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelReservedInstancesListing.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelReservedInstancesListing.html AWS API Reference> for CancelReservedInstancesListing. module Network.AWS.EC2.CancelReservedInstancesListing     (-    -- * Request-      CancelReservedInstancesListing-    -- ** Request constructor-    , cancelReservedInstancesListing-    -- ** Request lenses+    -- * Creating a Request+      cancelReservedInstancesListing+    , CancelReservedInstancesListing+    -- * Request Lenses     , crilReservedInstancesListingId -    -- * Response-    , CancelReservedInstancesListingResponse-    -- ** Response constructor+    -- * Destructuring the Response     , cancelReservedInstancesListingResponse-    -- ** Response lenses-    , crilrReservedInstancesListings+    , CancelReservedInstancesListingResponse+    -- * Response Lenses+    , crilrsReservedInstancesListings+    , crilrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -newtype CancelReservedInstancesListing = CancelReservedInstancesListing+-- | /See:/ 'cancelReservedInstancesListing' smart constructor.+newtype CancelReservedInstancesListing = CancelReservedInstancesListing'     { _crilReservedInstancesListingId :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CancelReservedInstancesListing' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CancelReservedInstancesListing' with the minimum fields required to make a request. ----- * 'crilReservedInstancesListingId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---cancelReservedInstancesListing :: Text -- ^ 'crilReservedInstancesListingId'-                               -> CancelReservedInstancesListing-cancelReservedInstancesListing p1 = CancelReservedInstancesListing-    { _crilReservedInstancesListingId = p1+-- * 'crilReservedInstancesListingId'+cancelReservedInstancesListing+    :: Text -- ^ 'crilReservedInstancesListingId'+    -> CancelReservedInstancesListing+cancelReservedInstancesListing pReservedInstancesListingId_ =+    CancelReservedInstancesListing'+    { _crilReservedInstancesListingId = pReservedInstancesListingId_     }  -- | The ID of the Reserved Instance listing. crilReservedInstancesListingId :: Lens' CancelReservedInstancesListing Text-crilReservedInstancesListingId =-    lens _crilReservedInstancesListingId-        (\s a -> s { _crilReservedInstancesListingId = a })--newtype CancelReservedInstancesListingResponse = CancelReservedInstancesListingResponse-    { _crilrReservedInstancesListings :: List "item" ReservedInstancesListing-    } deriving (Eq, Read, Show, Monoid, Semigroup)+crilReservedInstancesListingId = lens _crilReservedInstancesListingId (\ s a -> s{_crilReservedInstancesListingId = a}); --- | 'CancelReservedInstancesListingResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'crilrReservedInstancesListings' @::@ ['ReservedInstancesListing']----cancelReservedInstancesListingResponse :: CancelReservedInstancesListingResponse-cancelReservedInstancesListingResponse = CancelReservedInstancesListingResponse-    { _crilrReservedInstancesListings = mempty-    }+instance AWSRequest CancelReservedInstancesListing+         where+        type Sv CancelReservedInstancesListing = EC2+        type Rs CancelReservedInstancesListing =+             CancelReservedInstancesListingResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CancelReservedInstancesListingResponse' <$>+                   (x .@? "reservedInstancesListingsSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | The Reserved Instance listing.-crilrReservedInstancesListings :: Lens' CancelReservedInstancesListingResponse [ReservedInstancesListing]-crilrReservedInstancesListings =-    lens _crilrReservedInstancesListings-        (\s a -> s { _crilrReservedInstancesListings = a })-            . _List+instance ToHeaders CancelReservedInstancesListing+         where+        toHeaders = const mempty  instance ToPath CancelReservedInstancesListing where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CancelReservedInstancesListing where-    toQuery CancelReservedInstancesListing{..} = mconcat-        [ "ReservedInstancesListingId" =? _crilReservedInstancesListingId-        ]+        toQuery CancelReservedInstancesListing'{..}+          = mconcat+              ["Action" =:+                 ("CancelReservedInstancesListing" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "ReservedInstancesListingId" =:+                 _crilReservedInstancesListingId] -instance ToHeaders CancelReservedInstancesListing+-- | /See:/ 'cancelReservedInstancesListingResponse' smart constructor.+data CancelReservedInstancesListingResponse = CancelReservedInstancesListingResponse'+    { _crilrsReservedInstancesListings :: !(Maybe [ReservedInstancesListing])+    , _crilrsStatus                    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CancelReservedInstancesListing where-    type Sv CancelReservedInstancesListing = EC2-    type Rs CancelReservedInstancesListing = CancelReservedInstancesListingResponse+-- | Creates a value of 'CancelReservedInstancesListingResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crilrsReservedInstancesListings'+--+-- * 'crilrsStatus'+cancelReservedInstancesListingResponse+    :: Int -- ^ 'crilrsStatus'+    -> CancelReservedInstancesListingResponse+cancelReservedInstancesListingResponse pStatus_ =+    CancelReservedInstancesListingResponse'+    { _crilrsReservedInstancesListings = Nothing+    , _crilrsStatus = pStatus_+    } -    request  = post "CancelReservedInstancesListing"-    response = xmlResponse+-- | The Reserved Instance listing.+crilrsReservedInstancesListings :: Lens' CancelReservedInstancesListingResponse [ReservedInstancesListing]+crilrsReservedInstancesListings = lens _crilrsReservedInstancesListings (\ s a -> s{_crilrsReservedInstancesListings = a}) . _Default . _Coerce; -instance FromXML CancelReservedInstancesListingResponse where-    parseXML x = CancelReservedInstancesListingResponse-        <$> x .@? "reservedInstancesListingsSet" .!@ mempty+-- | The response status code.+crilrsStatus :: Lens' CancelReservedInstancesListingResponse Int+crilrsStatus = lens _crilrsStatus (\ s a -> s{_crilrsStatus = a});
gen/Network/AWS/EC2/CancelSpotFleetRequests.hs view
@@ -1,150 +1,165 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CancelSpotFleetRequests--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Cancels the specified Spot fleet requests.+-- Cancels the specified Spot fleet requests. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelSpotFleetRequests.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelSpotFleetRequests.html AWS API Reference> for CancelSpotFleetRequests. module Network.AWS.EC2.CancelSpotFleetRequests     (-    -- * Request-      CancelSpotFleetRequests-    -- ** Request constructor-    , cancelSpotFleetRequests-    -- ** Request lenses+    -- * Creating a Request+      cancelSpotFleetRequests+    , CancelSpotFleetRequests+    -- * Request Lenses     , csfrDryRun     , csfrSpotFleetRequestIds     , csfrTerminateInstances -    -- * Response-    , CancelSpotFleetRequestsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , cancelSpotFleetRequestsResponse-    -- ** Response lenses-    , csfrrSuccessfulFleetRequests-    , csfrrUnsuccessfulFleetRequests+    , CancelSpotFleetRequestsResponse+    -- * Response Lenses+    , csfrrsSuccessfulFleetRequests+    , csfrrsUnsuccessfulFleetRequests+    , csfrrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CancelSpotFleetRequests = CancelSpotFleetRequests-    { _csfrDryRun              :: Maybe Bool-    , _csfrSpotFleetRequestIds :: List "item" Text-    , _csfrTerminateInstances  :: Bool-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'CancelSpotFleetRequests' constructor.+-- | Contains the parameters for CancelSpotFleetRequests. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'cancelSpotFleetRequests' smart constructor.+data CancelSpotFleetRequests = CancelSpotFleetRequests'+    { _csfrDryRun              :: !(Maybe Bool)+    , _csfrSpotFleetRequestIds :: ![Text]+    , _csfrTerminateInstances  :: !Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelSpotFleetRequests' with the minimum fields required to make a request. ----- * 'csfrDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'csfrSpotFleetRequestIds' @::@ ['Text']+-- * 'csfrDryRun' ----- * 'csfrTerminateInstances' @::@ 'Bool'+-- * 'csfrSpotFleetRequestIds' ---cancelSpotFleetRequests :: Bool -- ^ 'csfrTerminateInstances'-                        -> CancelSpotFleetRequests-cancelSpotFleetRequests p1 = CancelSpotFleetRequests-    { _csfrTerminateInstances  = p1-    , _csfrDryRun              = Nothing+-- * 'csfrTerminateInstances'+cancelSpotFleetRequests+    :: Bool -- ^ 'csfrTerminateInstances'+    -> CancelSpotFleetRequests+cancelSpotFleetRequests pTerminateInstances_ =+    CancelSpotFleetRequests'+    { _csfrDryRun = Nothing     , _csfrSpotFleetRequestIds = mempty+    , _csfrTerminateInstances = pTerminateInstances_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. csfrDryRun :: Lens' CancelSpotFleetRequests (Maybe Bool)-csfrDryRun = lens _csfrDryRun (\s a -> s { _csfrDryRun = a })+csfrDryRun = lens _csfrDryRun (\ s a -> s{_csfrDryRun = a});  -- | The IDs of the Spot fleet requests. csfrSpotFleetRequestIds :: Lens' CancelSpotFleetRequests [Text]-csfrSpotFleetRequestIds =-    lens _csfrSpotFleetRequestIds (\s a -> s { _csfrSpotFleetRequestIds = a })-        . _List+csfrSpotFleetRequestIds = lens _csfrSpotFleetRequestIds (\ s a -> s{_csfrSpotFleetRequestIds = a}) . _Coerce; --- | Indicates whether to terminate instances for a Spot fleet request if it is--- canceled successfully.+-- | Indicates whether to terminate instances for a Spot fleet request if it+-- is canceled successfully. csfrTerminateInstances :: Lens' CancelSpotFleetRequests Bool-csfrTerminateInstances =-    lens _csfrTerminateInstances (\s a -> s { _csfrTerminateInstances = a })--data CancelSpotFleetRequestsResponse = CancelSpotFleetRequestsResponse-    { _csfrrSuccessfulFleetRequests   :: List "item" CancelSpotFleetRequestsSuccessItem-    , _csfrrUnsuccessfulFleetRequests :: List "item" CancelSpotFleetRequestsErrorItem-    } deriving (Eq, Read, Show)---- | 'CancelSpotFleetRequestsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'csfrrSuccessfulFleetRequests' @::@ ['CancelSpotFleetRequestsSuccessItem']------ * 'csfrrUnsuccessfulFleetRequests' @::@ ['CancelSpotFleetRequestsErrorItem']----cancelSpotFleetRequestsResponse :: CancelSpotFleetRequestsResponse-cancelSpotFleetRequestsResponse = CancelSpotFleetRequestsResponse-    { _csfrrUnsuccessfulFleetRequests = mempty-    , _csfrrSuccessfulFleetRequests   = mempty-    }+csfrTerminateInstances = lens _csfrTerminateInstances (\ s a -> s{_csfrTerminateInstances = a}); --- | Information about the Spot fleet requests that are successfully canceled.-csfrrSuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsSuccessItem]-csfrrSuccessfulFleetRequests =-    lens _csfrrSuccessfulFleetRequests-        (\s a -> s { _csfrrSuccessfulFleetRequests = a })-            . _List+instance AWSRequest CancelSpotFleetRequests where+        type Sv CancelSpotFleetRequests = EC2+        type Rs CancelSpotFleetRequests =+             CancelSpotFleetRequestsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CancelSpotFleetRequestsResponse' <$>+                   (x .@? "successfulFleetRequestSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*>+                     (x .@? "unsuccessfulFleetRequestSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about the Spot fleet requests that are not successfully canceled.-csfrrUnsuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsErrorItem]-csfrrUnsuccessfulFleetRequests =-    lens _csfrrUnsuccessfulFleetRequests-        (\s a -> s { _csfrrUnsuccessfulFleetRequests = a })-            . _List+instance ToHeaders CancelSpotFleetRequests where+        toHeaders = const mempty  instance ToPath CancelSpotFleetRequests where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CancelSpotFleetRequests where-    toQuery CancelSpotFleetRequests{..} = mconcat-        [ "DryRun"             =? _csfrDryRun-        , "SpotFleetRequestId" `toQueryList` _csfrSpotFleetRequestIds-        , "TerminateInstances" =? _csfrTerminateInstances-        ]+        toQuery CancelSpotFleetRequests'{..}+          = mconcat+              ["Action" =:+                 ("CancelSpotFleetRequests" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _csfrDryRun,+               toQueryList "item" _csfrSpotFleetRequestIds,+               "TerminateInstances" =: _csfrTerminateInstances] -instance ToHeaders CancelSpotFleetRequests+-- | Contains the output of CancelSpotFleetRequests.+--+-- /See:/ 'cancelSpotFleetRequestsResponse' smart constructor.+data CancelSpotFleetRequestsResponse = CancelSpotFleetRequestsResponse'+    { _csfrrsSuccessfulFleetRequests   :: !(Maybe [CancelSpotFleetRequestsSuccessItem])+    , _csfrrsUnsuccessfulFleetRequests :: !(Maybe [CancelSpotFleetRequestsErrorItem])+    , _csfrrsStatus                    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CancelSpotFleetRequests where-    type Sv CancelSpotFleetRequests = EC2-    type Rs CancelSpotFleetRequests = CancelSpotFleetRequestsResponse+-- | Creates a value of 'CancelSpotFleetRequestsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csfrrsSuccessfulFleetRequests'+--+-- * 'csfrrsUnsuccessfulFleetRequests'+--+-- * 'csfrrsStatus'+cancelSpotFleetRequestsResponse+    :: Int -- ^ 'csfrrsStatus'+    -> CancelSpotFleetRequestsResponse+cancelSpotFleetRequestsResponse pStatus_ =+    CancelSpotFleetRequestsResponse'+    { _csfrrsSuccessfulFleetRequests = Nothing+    , _csfrrsUnsuccessfulFleetRequests = Nothing+    , _csfrrsStatus = pStatus_+    } -    request  = post "CancelSpotFleetRequests"-    response = xmlResponse+-- | Information about the Spot fleet requests that are successfully+-- canceled.+csfrrsSuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsSuccessItem]+csfrrsSuccessfulFleetRequests = lens _csfrrsSuccessfulFleetRequests (\ s a -> s{_csfrrsSuccessfulFleetRequests = a}) . _Default . _Coerce; -instance FromXML CancelSpotFleetRequestsResponse where-    parseXML x = CancelSpotFleetRequestsResponse-        <$> x .@? "successfulFleetRequestSet" .!@ mempty-        <*> x .@? "unsuccessfulFleetRequestSet" .!@ mempty+-- | Information about the Spot fleet requests that are not successfully+-- canceled.+csfrrsUnsuccessfulFleetRequests :: Lens' CancelSpotFleetRequestsResponse [CancelSpotFleetRequestsErrorItem]+csfrrsUnsuccessfulFleetRequests = lens _csfrrsUnsuccessfulFleetRequests (\ s a -> s{_csfrrsUnsuccessfulFleetRequests = a}) . _Default . _Coerce;++-- | The response status code.+csfrrsStatus :: Lens' CancelSpotFleetRequestsResponse Int+csfrrsStatus = lens _csfrrsStatus (\ s a -> s{_csfrrsStatus = a});
gen/Network/AWS/EC2/CancelSpotInstanceRequests.hs view
@@ -1,134 +1,149 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CancelSpotInstanceRequests--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Cancels one or more Spot Instance requests. Spot Instances are instances that--- Amazon EC2 starts on your behalf when the bid price that you specify exceeds--- the current Spot Price. Amazon EC2 periodically sets the Spot Price based on--- available Spot Instance capacity and current Spot Instance requests. For more--- information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html Spot Instance Requests> in the /Amazon Elastic Compute CloudUser Guide/.------ Canceling a Spot Instance request does not terminate running Spot Instances--- associated with the request.---+-- Cancels one or more Spot Instance requests. Spot Instances are instances+-- that Amazon EC2 starts on your behalf when the bid price that you+-- specify exceeds the current Spot Price. Amazon EC2 periodically sets the+-- Spot Price based on available Spot Instance capacity and current Spot+-- Instance requests. For 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/. --+-- Canceling a Spot Instance request does not terminate running Spot+-- Instances associated with the request. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelSpotInstanceRequests.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CancelSpotInstanceRequests.html AWS API Reference> for CancelSpotInstanceRequests. module Network.AWS.EC2.CancelSpotInstanceRequests     (-    -- * Request-      CancelSpotInstanceRequests-    -- ** Request constructor-    , cancelSpotInstanceRequests-    -- ** Request lenses+    -- * Creating a Request+      cancelSpotInstanceRequests+    , CancelSpotInstanceRequests+    -- * Request Lenses     , csirDryRun     , csirSpotInstanceRequestIds -    -- * Response-    , CancelSpotInstanceRequestsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , cancelSpotInstanceRequestsResponse-    -- ** Response lenses-    , csirrCancelledSpotInstanceRequests+    , CancelSpotInstanceRequestsResponse+    -- * Response Lenses+    , csirrsCancelledSpotInstanceRequests+    , csirrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CancelSpotInstanceRequests = CancelSpotInstanceRequests-    { _csirDryRun                 :: Maybe Bool-    , _csirSpotInstanceRequestIds :: List "SpotInstanceRequestId" Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'CancelSpotInstanceRequests' constructor.+-- | Contains the parameters for CancelSpotInstanceRequests. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'cancelSpotInstanceRequests' smart constructor.+data CancelSpotInstanceRequests = CancelSpotInstanceRequests'+    { _csirDryRun                 :: !(Maybe Bool)+    , _csirSpotInstanceRequestIds :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelSpotInstanceRequests' with the minimum fields required to make a request. ----- * 'csirDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'csirSpotInstanceRequestIds' @::@ ['Text']+-- * 'csirDryRun' ---cancelSpotInstanceRequests :: CancelSpotInstanceRequests-cancelSpotInstanceRequests = CancelSpotInstanceRequests-    { _csirDryRun                 = Nothing+-- * 'csirSpotInstanceRequestIds'+cancelSpotInstanceRequests+    :: CancelSpotInstanceRequests+cancelSpotInstanceRequests =+    CancelSpotInstanceRequests'+    { _csirDryRun = Nothing     , _csirSpotInstanceRequestIds = mempty     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. csirDryRun :: Lens' CancelSpotInstanceRequests (Maybe Bool)-csirDryRun = lens _csirDryRun (\s a -> s { _csirDryRun = a })+csirDryRun = lens _csirDryRun (\ s a -> s{_csirDryRun = a});  -- | One or more Spot Instance request IDs. csirSpotInstanceRequestIds :: Lens' CancelSpotInstanceRequests [Text]-csirSpotInstanceRequestIds =-    lens _csirSpotInstanceRequestIds-        (\s a -> s { _csirSpotInstanceRequestIds = a })-            . _List--newtype CancelSpotInstanceRequestsResponse = CancelSpotInstanceRequestsResponse-    { _csirrCancelledSpotInstanceRequests :: List "item" CancelledSpotInstanceRequest-    } deriving (Eq, Read, Show, Monoid, Semigroup)+csirSpotInstanceRequestIds = lens _csirSpotInstanceRequestIds (\ s a -> s{_csirSpotInstanceRequestIds = a}) . _Coerce; --- | 'CancelSpotInstanceRequestsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'csirrCancelledSpotInstanceRequests' @::@ ['CancelledSpotInstanceRequest']----cancelSpotInstanceRequestsResponse :: CancelSpotInstanceRequestsResponse-cancelSpotInstanceRequestsResponse = CancelSpotInstanceRequestsResponse-    { _csirrCancelledSpotInstanceRequests = mempty-    }+instance AWSRequest CancelSpotInstanceRequests where+        type Sv CancelSpotInstanceRequests = EC2+        type Rs CancelSpotInstanceRequests =+             CancelSpotInstanceRequestsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CancelSpotInstanceRequestsResponse' <$>+                   (x .@? "spotInstanceRequestSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | One or more Spot Instance requests.-csirrCancelledSpotInstanceRequests :: Lens' CancelSpotInstanceRequestsResponse [CancelledSpotInstanceRequest]-csirrCancelledSpotInstanceRequests =-    lens _csirrCancelledSpotInstanceRequests-        (\s a -> s { _csirrCancelledSpotInstanceRequests = a })-            . _List+instance ToHeaders CancelSpotInstanceRequests where+        toHeaders = const mempty  instance ToPath CancelSpotInstanceRequests where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CancelSpotInstanceRequests where-    toQuery CancelSpotInstanceRequests{..} = mconcat-        [ "DryRun"                =? _csirDryRun-        , "SpotInstanceRequestId" `toQueryList` _csirSpotInstanceRequestIds-        ]+        toQuery CancelSpotInstanceRequests'{..}+          = mconcat+              ["Action" =:+                 ("CancelSpotInstanceRequests" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _csirDryRun,+               toQueryList "SpotInstanceRequestId"+                 _csirSpotInstanceRequestIds] -instance ToHeaders CancelSpotInstanceRequests+-- | Contains the output of CancelSpotInstanceRequests.+--+-- /See:/ 'cancelSpotInstanceRequestsResponse' smart constructor.+data CancelSpotInstanceRequestsResponse = CancelSpotInstanceRequestsResponse'+    { _csirrsCancelledSpotInstanceRequests :: !(Maybe [CancelledSpotInstanceRequest])+    , _csirrsStatus                        :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CancelSpotInstanceRequests where-    type Sv CancelSpotInstanceRequests = EC2-    type Rs CancelSpotInstanceRequests = CancelSpotInstanceRequestsResponse+-- | Creates a value of 'CancelSpotInstanceRequestsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csirrsCancelledSpotInstanceRequests'+--+-- * 'csirrsStatus'+cancelSpotInstanceRequestsResponse+    :: Int -- ^ 'csirrsStatus'+    -> CancelSpotInstanceRequestsResponse+cancelSpotInstanceRequestsResponse pStatus_ =+    CancelSpotInstanceRequestsResponse'+    { _csirrsCancelledSpotInstanceRequests = Nothing+    , _csirrsStatus = pStatus_+    } -    request  = post "CancelSpotInstanceRequests"-    response = xmlResponse+-- | One or more Spot Instance requests.+csirrsCancelledSpotInstanceRequests :: Lens' CancelSpotInstanceRequestsResponse [CancelledSpotInstanceRequest]+csirrsCancelledSpotInstanceRequests = lens _csirrsCancelledSpotInstanceRequests (\ s a -> s{_csirrsCancelledSpotInstanceRequests = a}) . _Default . _Coerce; -instance FromXML CancelSpotInstanceRequestsResponse where-    parseXML x = CancelSpotInstanceRequestsResponse-        <$> x .@? "spotInstanceRequestSet" .!@ mempty+-- | The response status code.+csirrsStatus :: Lens' CancelSpotInstanceRequestsResponse Int+csirrsStatus = lens _csirrsStatus (\ s a -> s{_csirrsStatus = a});
gen/Network/AWS/EC2/ConfirmProductInstance.hs view
@@ -1,135 +1,161 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ConfirmProductInstance--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Determines whether a product code is associated with an instance. This 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.+-- Determines whether a product code is associated with an instance. This+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ConfirmProductInstance.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ConfirmProductInstance.html AWS API Reference> for ConfirmProductInstance. module Network.AWS.EC2.ConfirmProductInstance     (-    -- * Request-      ConfirmProductInstance-    -- ** Request constructor-    , confirmProductInstance-    -- ** Request lenses+    -- * Creating a Request+      confirmProductInstance+    , ConfirmProductInstance+    -- * Request Lenses     , cpiDryRun-    , cpiInstanceId     , cpiProductCode+    , cpiInstanceId -    -- * Response-    , ConfirmProductInstanceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , confirmProductInstanceResponse-    -- ** Response lenses-    , cpirOwnerId+    , ConfirmProductInstanceResponse+    -- * Response Lenses+    , cpirsReturn+    , cpirsOwnerId+    , cpirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ConfirmProductInstance = ConfirmProductInstance-    { _cpiDryRun      :: Maybe Bool-    , _cpiInstanceId  :: Text-    , _cpiProductCode :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'confirmProductInstance' smart constructor.+data ConfirmProductInstance = ConfirmProductInstance'+    { _cpiDryRun      :: !(Maybe Bool)+    , _cpiProductCode :: !Text+    , _cpiInstanceId  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ConfirmProductInstance' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ConfirmProductInstance' with the minimum fields required to make a request. ----- * 'cpiDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cpiInstanceId' @::@ 'Text'+-- * 'cpiDryRun' ----- * 'cpiProductCode' @::@ 'Text'+-- * 'cpiProductCode' ---confirmProductInstance :: Text -- ^ 'cpiProductCode'-                       -> Text -- ^ 'cpiInstanceId'-                       -> ConfirmProductInstance-confirmProductInstance p1 p2 = ConfirmProductInstance-    { _cpiProductCode = p1-    , _cpiInstanceId  = p2-    , _cpiDryRun      = Nothing+-- * 'cpiInstanceId'+confirmProductInstance+    :: Text -- ^ 'cpiProductCode'+    -> Text -- ^ 'cpiInstanceId'+    -> ConfirmProductInstance+confirmProductInstance pProductCode_ pInstanceId_ =+    ConfirmProductInstance'+    { _cpiDryRun = Nothing+    , _cpiProductCode = pProductCode_+    , _cpiInstanceId = pInstanceId_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. cpiDryRun :: Lens' ConfirmProductInstance (Maybe Bool)-cpiDryRun = lens _cpiDryRun (\s a -> s { _cpiDryRun = a })---- | The ID of the instance.-cpiInstanceId :: Lens' ConfirmProductInstance Text-cpiInstanceId = lens _cpiInstanceId (\s a -> s { _cpiInstanceId = a })+cpiDryRun = lens _cpiDryRun (\ s a -> s{_cpiDryRun = a});  -- | The product code. This must be a product code that you own. cpiProductCode :: Lens' ConfirmProductInstance Text-cpiProductCode = lens _cpiProductCode (\s a -> s { _cpiProductCode = a })+cpiProductCode = lens _cpiProductCode (\ s a -> s{_cpiProductCode = a}); -newtype ConfirmProductInstanceResponse = ConfirmProductInstanceResponse-    { _cpirOwnerId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+-- | The ID of the instance.+cpiInstanceId :: Lens' ConfirmProductInstance Text+cpiInstanceId = lens _cpiInstanceId (\ s a -> s{_cpiInstanceId = a}); --- | 'ConfirmProductInstanceResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cpirOwnerId' @::@ 'Maybe' 'Text'----confirmProductInstanceResponse :: ConfirmProductInstanceResponse-confirmProductInstanceResponse = ConfirmProductInstanceResponse-    { _cpirOwnerId = Nothing-    }+instance AWSRequest ConfirmProductInstance where+        type Sv ConfirmProductInstance = EC2+        type Rs ConfirmProductInstance =+             ConfirmProductInstanceResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 ConfirmProductInstanceResponse' <$>+                   (x .@? "return") <*> (x .@? "ownerId") <*>+                     (pure (fromEnum s))) --- | The AWS account ID of the instance owner. This is only present if the product--- code is attached to the instance.-cpirOwnerId :: Lens' ConfirmProductInstanceResponse (Maybe Text)-cpirOwnerId = lens _cpirOwnerId (\s a -> s { _cpirOwnerId = a })+instance ToHeaders ConfirmProductInstance where+        toHeaders = const mempty  instance ToPath ConfirmProductInstance where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ConfirmProductInstance where-    toQuery ConfirmProductInstance{..} = mconcat-        [ "DryRun"      =? _cpiDryRun-        , "InstanceId"  =? _cpiInstanceId-        , "ProductCode" =? _cpiProductCode-        ]+        toQuery ConfirmProductInstance'{..}+          = mconcat+              ["Action" =:+                 ("ConfirmProductInstance" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _cpiDryRun,+               "ProductCode" =: _cpiProductCode,+               "InstanceId" =: _cpiInstanceId] -instance ToHeaders ConfirmProductInstance+-- | /See:/ 'confirmProductInstanceResponse' smart constructor.+data ConfirmProductInstanceResponse = ConfirmProductInstanceResponse'+    { _cpirsReturn  :: !(Maybe Bool)+    , _cpirsOwnerId :: !(Maybe Text)+    , _cpirsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest ConfirmProductInstance where-    type Sv ConfirmProductInstance = EC2-    type Rs ConfirmProductInstance = ConfirmProductInstanceResponse+-- | Creates a value of 'ConfirmProductInstanceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpirsReturn'+--+-- * 'cpirsOwnerId'+--+-- * 'cpirsStatus'+confirmProductInstanceResponse+    :: Int -- ^ 'cpirsStatus'+    -> ConfirmProductInstanceResponse+confirmProductInstanceResponse pStatus_ =+    ConfirmProductInstanceResponse'+    { _cpirsReturn = Nothing+    , _cpirsOwnerId = Nothing+    , _cpirsStatus = pStatus_+    } -    request  = post "ConfirmProductInstance"-    response = xmlResponse+-- | The return value of the request. Returns 'true' if the specified product+-- code is owned by the requester and associated with the specified+-- instance.+cpirsReturn :: Lens' ConfirmProductInstanceResponse (Maybe Bool)+cpirsReturn = lens _cpirsReturn (\ s a -> s{_cpirsReturn = a}); -instance FromXML ConfirmProductInstanceResponse where-    parseXML x = ConfirmProductInstanceResponse-        <$> x .@? "ownerId"+-- | The AWS account ID of the instance owner. This is only present if the+-- product code is attached to the instance.+cpirsOwnerId :: Lens' ConfirmProductInstanceResponse (Maybe Text)+cpirsOwnerId = lens _cpirsOwnerId (\ s a -> s{_cpirsOwnerId = a});++-- | The response status code.+cpirsStatus :: Lens' ConfirmProductInstanceResponse Int+cpirsStatus = lens _cpirsStatus (\ s a -> s{_cpirsStatus = a});
gen/Network/AWS/EC2/CopyImage.hs view
@@ -1,168 +1,184 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CopyImage--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Initiates the copy of an AMI from the specified source region to the current--- region. You specify the destination region by using its endpoint when making--- the request. AMIs that use encrypted EBS snapshots cannot be copied with this--- method.+-- Initiates the copy of an AMI from the specified source region to the+-- current region. You specify the destination region by using its endpoint+-- when making the request. AMIs that use encrypted EBS snapshots cannot be+-- copied with this method. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html Copying AMIs> in the /Amazon Elastic Compute CloudUser Guide/.+-- For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html Copying AMIs>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CopyImage.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CopyImage.html AWS API Reference> for CopyImage. module Network.AWS.EC2.CopyImage     (-    -- * Request-      CopyImage-    -- ** Request constructor-    , copyImage-    -- ** Request lenses+    -- * Creating a Request+      copyImage+    , CopyImage+    -- * Request Lenses     , ciClientToken-    , ciDescription     , ciDryRun-    , ciName-    , ciSourceImageId+    , ciDescription     , ciSourceRegion+    , ciSourceImageId+    , ciName -    -- * Response-    , CopyImageResponse-    -- ** Response constructor+    -- * Destructuring the Response     , copyImageResponse-    -- ** Response lenses-    , cir1ImageId+    , CopyImageResponse+    -- * Response Lenses+    , coprsImageId+    , coprsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CopyImage = CopyImage-    { _ciClientToken   :: Maybe Text-    , _ciDescription   :: Maybe Text-    , _ciDryRun        :: Maybe Bool-    , _ciName          :: Text-    , _ciSourceImageId :: Text-    , _ciSourceRegion  :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'copyImage' smart constructor.+data CopyImage = CopyImage'+    { _ciClientToken   :: !(Maybe Text)+    , _ciDryRun        :: !(Maybe Bool)+    , _ciDescription   :: !(Maybe Text)+    , _ciSourceRegion  :: !Text+    , _ciSourceImageId :: !Text+    , _ciName          :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CopyImage' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CopyImage' with the minimum fields required to make a request. ----- * 'ciClientToken' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ciDescription' @::@ 'Maybe' 'Text'+-- * 'ciClientToken' ----- * 'ciDryRun' @::@ 'Maybe' 'Bool'+-- * 'ciDryRun' ----- * 'ciName' @::@ 'Text'+-- * 'ciDescription' ----- * 'ciSourceImageId' @::@ 'Text'+-- * 'ciSourceRegion' ----- * 'ciSourceRegion' @::@ 'Text'+-- * 'ciSourceImageId' ---copyImage :: Text -- ^ 'ciSourceRegion'-          -> Text -- ^ 'ciSourceImageId'-          -> Text -- ^ 'ciName'-          -> CopyImage-copyImage p1 p2 p3 = CopyImage-    { _ciSourceRegion  = p1-    , _ciSourceImageId = p2-    , _ciName          = p3-    , _ciDryRun        = Nothing-    , _ciDescription   = Nothing-    , _ciClientToken   = Nothing+-- * 'ciName'+copyImage+    :: Text -- ^ 'ciSourceRegion'+    -> Text -- ^ 'ciSourceImageId'+    -> Text -- ^ 'ciName'+    -> CopyImage+copyImage pSourceRegion_ pSourceImageId_ pName_ =+    CopyImage'+    { _ciClientToken = Nothing+    , _ciDryRun = Nothing+    , _ciDescription = Nothing+    , _ciSourceRegion = pSourceRegion_+    , _ciSourceImageId = pSourceImageId_+    , _ciName = pName_     } --- | 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 /AmazonElastic Compute Cloud User Guide/.+-- | 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/. ciClientToken :: Lens' CopyImage (Maybe Text)-ciClientToken = lens _ciClientToken (\s a -> s { _ciClientToken = a })---- | A description for the new AMI in the destination region.-ciDescription :: Lens' CopyImage (Maybe Text)-ciDescription = lens _ciDescription (\s a -> s { _ciDescription = a })+ciClientToken = lens _ciClientToken (\ s a -> s{_ciClientToken = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. ciDryRun :: Lens' CopyImage (Maybe Bool)-ciDryRun = lens _ciDryRun (\s a -> s { _ciDryRun = a })---- | The name of the new AMI in the destination region.-ciName :: Lens' CopyImage Text-ciName = lens _ciName (\s a -> s { _ciName = a })+ciDryRun = lens _ciDryRun (\ s a -> s{_ciDryRun = a}); --- | The ID of the AMI to copy.-ciSourceImageId :: Lens' CopyImage Text-ciSourceImageId = lens _ciSourceImageId (\s a -> s { _ciSourceImageId = a })+-- | A description for the new AMI in the destination region.+ciDescription :: Lens' CopyImage (Maybe Text)+ciDescription = lens _ciDescription (\ s a -> s{_ciDescription = a});  -- | The name of the region that contains the AMI to copy. ciSourceRegion :: Lens' CopyImage Text-ciSourceRegion = lens _ciSourceRegion (\s a -> s { _ciSourceRegion = a })+ciSourceRegion = lens _ciSourceRegion (\ s a -> s{_ciSourceRegion = a}); -newtype CopyImageResponse = CopyImageResponse-    { _cir1ImageId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+-- | The ID of the AMI to copy.+ciSourceImageId :: Lens' CopyImage Text+ciSourceImageId = lens _ciSourceImageId (\ s a -> s{_ciSourceImageId = a}); --- | 'CopyImageResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cir1ImageId' @::@ 'Maybe' 'Text'----copyImageResponse :: CopyImageResponse-copyImageResponse = CopyImageResponse-    { _cir1ImageId = Nothing-    }+-- | The name of the new AMI in the destination region.+ciName :: Lens' CopyImage Text+ciName = lens _ciName (\ s a -> s{_ciName = a}); --- | The ID of the new AMI.-cir1ImageId :: Lens' CopyImageResponse (Maybe Text)-cir1ImageId = lens _cir1ImageId (\s a -> s { _cir1ImageId = a })+instance AWSRequest CopyImage where+        type Sv CopyImage = EC2+        type Rs CopyImage = CopyImageResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CopyImageResponse' <$>+                   (x .@? "imageId") <*> (pure (fromEnum s))) +instance ToHeaders CopyImage where+        toHeaders = const mempty+ instance ToPath CopyImage where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CopyImage where-    toQuery CopyImage{..} = mconcat-        [ "ClientToken"   =? _ciClientToken-        , "Description"   =? _ciDescription-        , "DryRun"        =? _ciDryRun-        , "Name"          =? _ciName-        , "SourceImageId" =? _ciSourceImageId-        , "SourceRegion"  =? _ciSourceRegion-        ]+        toQuery CopyImage'{..}+          = mconcat+              ["Action" =: ("CopyImage" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "ClientToken" =: _ciClientToken,+               "DryRun" =: _ciDryRun,+               "Description" =: _ciDescription,+               "SourceRegion" =: _ciSourceRegion,+               "SourceImageId" =: _ciSourceImageId,+               "Name" =: _ciName] -instance ToHeaders CopyImage+-- | /See:/ 'copyImageResponse' smart constructor.+data CopyImageResponse = CopyImageResponse'+    { _coprsImageId :: !(Maybe Text)+    , _coprsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CopyImage where-    type Sv CopyImage = EC2-    type Rs CopyImage = CopyImageResponse+-- | Creates a value of 'CopyImageResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'coprsImageId'+--+-- * 'coprsStatus'+copyImageResponse+    :: Int -- ^ 'coprsStatus'+    -> CopyImageResponse+copyImageResponse pStatus_ =+    CopyImageResponse'+    { _coprsImageId = Nothing+    , _coprsStatus = pStatus_+    } -    request  = post "CopyImage"-    response = xmlResponse+-- | The ID of the new AMI.+coprsImageId :: Lens' CopyImageResponse (Maybe Text)+coprsImageId = lens _coprsImageId (\ s a -> s{_coprsImageId = a}); -instance FromXML CopyImageResponse where-    parseXML x = CopyImageResponse-        <$> x .@? "imageId"+-- | The response status code.+coprsStatus :: Lens' CopyImageResponse Int+coprsStatus = lens _coprsStatus (\ s a -> s{_coprsStatus = a});
gen/Network/AWS/EC2/CopySnapshot.hs view
@@ -1,193 +1,242 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CopySnapshot--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3.--- You can copy the snapshot within the same region or from one region to--- another. You can use the snapshot to create EBS volumes or Amazon Machine--- Images (AMIs). The snapshot is copied to the regional endpoint that you send--- the HTTP request to.------ Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted--- snapshots remain unencrypted.+-- Copies a point-in-time snapshot of an EBS volume and stores it in Amazon+-- S3. You can copy the snapshot within the same region or from one region+-- to another. You can use the snapshot to create EBS volumes or Amazon+-- Machine Images (AMIs). The snapshot is copied to the regional endpoint+-- that you send the HTTP request to. ----- Copying snapshots that were encrypted with non-default AWS Key Management--- Service (KMS) master keys is not supported at this time.+-- Copies of encrypted EBS snapshots remain encrypted. Copies of+-- unencrypted snapshots remain unencrypted, unless the 'Encrypted' flag is+-- specified during the snapshot copy operation. By default, encrypted+-- snapshot copies use the default AWS Key Management Service (AWS KMS)+-- customer master key (CMK); however, you can specify a non-default CMK+-- with the 'KmsKeyId' parameter. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html Copying an Amazon EBS Snapshot> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CopySnapshot.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CopySnapshot.html AWS API Reference> for CopySnapshot. module Network.AWS.EC2.CopySnapshot     (-    -- * Request-      CopySnapshot-    -- ** Request constructor-    , copySnapshot-    -- ** Request lenses-    , csDescription+    -- * Creating a Request+      copySnapshot+    , CopySnapshot+    -- * Request Lenses+    , csEncrypted+    , csPresignedURL     , csDestinationRegion+    , csKMSKeyId     , csDryRun-    , csPresignedUrl+    , csDescription     , csSourceRegion     , csSourceSnapshotId -    -- * Response-    , CopySnapshotResponse-    -- ** Response constructor+    -- * Destructuring the Response     , copySnapshotResponse-    -- ** Response lenses-    , csrSnapshotId+    , CopySnapshotResponse+    -- * Response Lenses+    , csrsSnapshotId+    , csrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CopySnapshot = CopySnapshot-    { _csDescription       :: Maybe Text-    , _csDestinationRegion :: Maybe Text-    , _csDryRun            :: Maybe Bool-    , _csPresignedUrl      :: Maybe Text-    , _csSourceRegion      :: Text-    , _csSourceSnapshotId  :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'copySnapshot' smart constructor.+data CopySnapshot = CopySnapshot'+    { _csEncrypted         :: !(Maybe Bool)+    , _csPresignedURL      :: !(Maybe Text)+    , _csDestinationRegion :: !(Maybe Text)+    , _csKMSKeyId          :: !(Maybe Text)+    , _csDryRun            :: !(Maybe Bool)+    , _csDescription       :: !(Maybe Text)+    , _csSourceRegion      :: !Text+    , _csSourceSnapshotId  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CopySnapshot' constructor.+-- | Creates a value of 'CopySnapshot' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'csDescription' @::@ 'Maybe' 'Text'+-- * 'csEncrypted' ----- * 'csDestinationRegion' @::@ 'Maybe' 'Text'+-- * 'csPresignedURL' ----- * 'csDryRun' @::@ 'Maybe' 'Bool'+-- * 'csDestinationRegion' ----- * 'csPresignedUrl' @::@ 'Maybe' 'Text'+-- * 'csKMSKeyId' ----- * 'csSourceRegion' @::@ 'Text'+-- * 'csDryRun' ----- * 'csSourceSnapshotId' @::@ 'Text'+-- * 'csDescription' ---copySnapshot :: Text -- ^ 'csSourceRegion'-             -> Text -- ^ 'csSourceSnapshotId'-             -> CopySnapshot-copySnapshot p1 p2 = CopySnapshot-    { _csSourceRegion      = p1-    , _csSourceSnapshotId  = p2-    , _csDryRun            = Nothing-    , _csDescription       = Nothing+-- * 'csSourceRegion'+--+-- * 'csSourceSnapshotId'+copySnapshot+    :: Text -- ^ 'csSourceRegion'+    -> Text -- ^ 'csSourceSnapshotId'+    -> CopySnapshot+copySnapshot pSourceRegion_ pSourceSnapshotId_ =+    CopySnapshot'+    { _csEncrypted = Nothing+    , _csPresignedURL = Nothing     , _csDestinationRegion = Nothing-    , _csPresignedUrl      = Nothing+    , _csKMSKeyId = Nothing+    , _csDryRun = Nothing+    , _csDescription = Nothing+    , _csSourceRegion = pSourceRegion_+    , _csSourceSnapshotId = pSourceSnapshotId_     } --- | A description for the EBS snapshot.-csDescription :: Lens' CopySnapshot (Maybe Text)-csDescription = lens _csDescription (\s a -> s { _csDescription = a })+-- | Specifies whether the destination snapshot should be encrypted. There is+-- no way to create an unencrypted snapshot copy from an encrypted+-- snapshot; however, you can encrypt a copy of an unencrypted snapshot+-- with this flag. The default CMK for EBS is used unless a non-default AWS+-- Key Management Service (AWS KMS) CMK is specified with 'KmsKeyId'. For+-- more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBS Encryption>+-- in the /Amazon Elastic Compute Cloud User Guide/.+csEncrypted :: Lens' CopySnapshot (Maybe Bool)+csEncrypted = lens _csEncrypted (\ s a -> s{_csEncrypted = a}); --- | The destination region to use in the 'PresignedUrl' parameter of a snapshot--- copy operation. This parameter is only valid for specifying the destination--- region in a 'PresignedUrl' parameter, where it is required.------ 'CopySnapshot' sends the snapshot copy to the regional endpoint that you send--- the HTTP request to, such as 'ec2.us-east-1.amazonaws.com' (in the AWS CLI,--- this is specified with the '--region' parameter or the default region in your--- AWS configuration file).---+-- | The pre-signed URL that facilitates copying an encrypted snapshot. This+-- parameter is only required when copying an encrypted snapshot with the+-- Amazon EC2 Query API; it is available as an optional parameter in all+-- other cases. The 'PresignedUrl' should use the snapshot source endpoint,+-- the 'CopySnapshot' action, and include the 'SourceRegion',+-- 'SourceSnapshotId', and 'DestinationRegion' parameters. The+-- 'PresignedUrl' must be signed using AWS Signature Version 4. Because EBS+-- snapshots are stored in Amazon S3, the signing algorithm for this+-- parameter uses the same logic that is described in+-- <http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html Authenticating Requests by Using Query Parameters (AWS Signature Version 4)>+-- in the /Amazon Simple Storage Service API Reference/. An invalid or+-- improperly signed 'PresignedUrl' will cause the copy operation to fail+-- asynchronously, and the snapshot will move to an 'error' state.+csPresignedURL :: Lens' CopySnapshot (Maybe Text)+csPresignedURL = lens _csPresignedURL (\ s a -> s{_csPresignedURL = a});++-- | The destination region to use in the 'PresignedUrl' parameter of a+-- snapshot copy operation. This parameter is only valid for specifying the+-- destination region in a 'PresignedUrl' parameter, where it is required. --+-- 'CopySnapshot' sends the snapshot copy to the regional endpoint that you+-- send the HTTP request to, such as 'ec2.us-east-1.amazonaws.com' (in the+-- AWS CLI, this is specified with the '--region' parameter or the default+-- region in your AWS configuration file). csDestinationRegion :: Lens' CopySnapshot (Maybe Text)-csDestinationRegion =-    lens _csDestinationRegion (\s a -> s { _csDestinationRegion = a })+csDestinationRegion = lens _csDestinationRegion (\ s a -> s{_csDestinationRegion = a}); +-- | The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when+-- creating the snapshot copy. This parameter is only required if you want+-- to use a non-default CMK; if this parameter is not specified, the+-- default CMK for EBS is used. The ARN contains the 'arn:aws:kms'+-- namespace, followed by the region of the CMK, the AWS account ID of the+-- CMK owner, the 'key' namespace, and then the CMK ID. For example,+-- arn:aws:kms:/us-east-1/:/012345678910/:key\//abcd1234-a123-456a-a12b-a123b4cd56ef/.+-- The specified CMK must exist in the region that the snapshot is being+-- copied to. If a 'KmsKeyId' is specified, the 'Encrypted' flag must also+-- be set.+csKMSKeyId :: Lens' CopySnapshot (Maybe Text)+csKMSKeyId = lens _csKMSKeyId (\ s a -> s{_csKMSKeyId = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. csDryRun :: Lens' CopySnapshot (Maybe Bool)-csDryRun = lens _csDryRun (\s a -> s { _csDryRun = a })+csDryRun = lens _csDryRun (\ s a -> s{_csDryRun = a}); --- | The pre-signed URL that facilitates copying an encrypted snapshot. This--- parameter is only required when copying an encrypted snapshot with the Amazon--- EC2 Query API; it is available as an optional parameter in all other cases.--- The 'PresignedUrl' should use the snapshot source endpoint, the 'CopySnapshot'--- action, and include the 'SourceRegion', 'SourceSnapshotId', and 'DestinationRegion'--- parameters. The 'PresignedUrl' must be signed using AWS Signature Version 4.--- Because EBS snapshots are stored in Amazon S3, the signing algorithm for this--- parameter uses the same logic that is described in <http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html Authenticating Requests byUsing Query Parameters (AWS Signature Version 4)> in the /Amazon Simple StorageService API Reference/. An invalid or improperly signed 'PresignedUrl' will--- cause the copy operation to fail asynchronously, and the snapshot will move--- to an 'error' state.-csPresignedUrl :: Lens' CopySnapshot (Maybe Text)-csPresignedUrl = lens _csPresignedUrl (\s a -> s { _csPresignedUrl = a })+-- | A description for the EBS snapshot.+csDescription :: Lens' CopySnapshot (Maybe Text)+csDescription = lens _csDescription (\ s a -> s{_csDescription = a});  -- | The ID of the region that contains the snapshot to be copied. csSourceRegion :: Lens' CopySnapshot Text-csSourceRegion = lens _csSourceRegion (\s a -> s { _csSourceRegion = a })+csSourceRegion = lens _csSourceRegion (\ s a -> s{_csSourceRegion = a});  -- | The ID of the EBS snapshot to copy. csSourceSnapshotId :: Lens' CopySnapshot Text-csSourceSnapshotId =-    lens _csSourceSnapshotId (\s a -> s { _csSourceSnapshotId = a })--newtype CopySnapshotResponse = CopySnapshotResponse-    { _csrSnapshotId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+csSourceSnapshotId = lens _csSourceSnapshotId (\ s a -> s{_csSourceSnapshotId = a}); --- | 'CopySnapshotResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'csrSnapshotId' @::@ 'Maybe' 'Text'----copySnapshotResponse :: CopySnapshotResponse-copySnapshotResponse = CopySnapshotResponse-    { _csrSnapshotId = Nothing-    }+instance AWSRequest CopySnapshot where+        type Sv CopySnapshot = EC2+        type Rs CopySnapshot = CopySnapshotResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CopySnapshotResponse' <$>+                   (x .@? "snapshotId") <*> (pure (fromEnum s))) --- | The ID of the new snapshot.-csrSnapshotId :: Lens' CopySnapshotResponse (Maybe Text)-csrSnapshotId = lens _csrSnapshotId (\s a -> s { _csrSnapshotId = a })+instance ToHeaders CopySnapshot where+        toHeaders = const mempty  instance ToPath CopySnapshot where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CopySnapshot where-    toQuery CopySnapshot{..} = mconcat-        [ "Description"       =? _csDescription-        , "DestinationRegion" =? _csDestinationRegion-        , "DryRun"            =? _csDryRun-        , "PresignedUrl"      =? _csPresignedUrl-        , "SourceRegion"      =? _csSourceRegion-        , "SourceSnapshotId"  =? _csSourceSnapshotId-        ]+        toQuery CopySnapshot'{..}+          = mconcat+              ["Action" =: ("CopySnapshot" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Encrypted" =: _csEncrypted,+               "PresignedUrl" =: _csPresignedURL,+               "DestinationRegion" =: _csDestinationRegion,+               "KmsKeyId" =: _csKMSKeyId, "DryRun" =: _csDryRun,+               "Description" =: _csDescription,+               "SourceRegion" =: _csSourceRegion,+               "SourceSnapshotId" =: _csSourceSnapshotId] -instance ToHeaders CopySnapshot+-- | /See:/ 'copySnapshotResponse' smart constructor.+data CopySnapshotResponse = CopySnapshotResponse'+    { _csrsSnapshotId :: !(Maybe Text)+    , _csrsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CopySnapshot where-    type Sv CopySnapshot = EC2-    type Rs CopySnapshot = CopySnapshotResponse+-- | Creates a value of 'CopySnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csrsSnapshotId'+--+-- * 'csrsStatus'+copySnapshotResponse+    :: Int -- ^ 'csrsStatus'+    -> CopySnapshotResponse+copySnapshotResponse pStatus_ =+    CopySnapshotResponse'+    { _csrsSnapshotId = Nothing+    , _csrsStatus = pStatus_+    } -    request  = post "CopySnapshot"-    response = xmlResponse+-- | The ID of the new snapshot.+csrsSnapshotId :: Lens' CopySnapshotResponse (Maybe Text)+csrsSnapshotId = lens _csrsSnapshotId (\ s a -> s{_csrsSnapshotId = a}); -instance FromXML CopySnapshotResponse where-    parseXML x = CopySnapshotResponse-        <$> x .@? "snapshotId"+-- | The response status code.+csrsStatus :: Lens' CopySnapshotResponse Int+csrsStatus = lens _csrsStatus (\ s a -> s{_csrsStatus = a});
gen/Network/AWS/EC2/CreateCustomerGateway.hs view
@@ -1,170 +1,183 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateCustomerGateway--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Provides information to AWS about your VPN customer gateway device. The--- customer gateway is the appliance at your end of the VPN connection. (The--- device on the AWS side of the VPN connection is the virtual private gateway.)--- You must provide the Internet-routable IP address of the customer gateway's--- external interface. The IP address must be static and can't be behind a--- device performing network address translation (NAT).------ For devices that use Border Gateway Protocol (BGP), you can also provide the--- device's BGP Autonomous System Number (ASN). You can use an existing ASN--- assigned to your network. If you don't have an ASN already, you can use a--- private ASN (in the 64512 - 65534 range).------ Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with--- the exception of 7224, which is reserved in the 'us-east-1' region, and 9059,--- which is reserved in the 'eu-west-1' region.+-- Provides information to AWS about your VPN customer gateway device. The+-- customer gateway is the appliance at your end of the VPN connection.+-- (The device on the AWS side of the VPN connection is the virtual private+-- gateway.) You must provide the Internet-routable IP address of the+-- customer gateway\'s external interface. The IP address must be static+-- and can\'t be behind a device performing network address translation+-- (NAT). ----- For more information about VPN customer gateways, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a HardwareVirtual Private Gateway to Your VPC> in the /Amazon Virtual Private Cloud UserGuide/.+-- For devices that use Border Gateway Protocol (BGP), you can also provide+-- the device\'s BGP Autonomous System Number (ASN). You can use an+-- existing ASN assigned to your network. If you don\'t have an ASN+-- already, you can use a private ASN (in the 64512 - 65534 range). ----- You cannot create more than one customer gateway with the same VPN type, IP--- address, and BGP ASN parameter values. If you run an identical request more--- than one time, the first request creates the customer gateway, and subsequent--- requests return information about the existing customer gateway. The--- subsequent requests do not create new customer gateway resources.+-- Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534,+-- with the exception of 7224, which is reserved in the 'us-east-1' region,+-- and 9059, which is reserved in the 'eu-west-1' region. --+-- 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/. --+-- You cannot create more than one customer gateway with the same VPN type,+-- IP address, and BGP ASN parameter values. If you run an identical+-- request more than one time, the first request creates the customer+-- gateway, and subsequent requests return information about the existing+-- customer gateway. The subsequent requests do not create new customer+-- gateway resources. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateCustomerGateway.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateCustomerGateway.html AWS API Reference> for CreateCustomerGateway. module Network.AWS.EC2.CreateCustomerGateway     (-    -- * Request-      CreateCustomerGateway-    -- ** Request constructor-    , createCustomerGateway-    -- ** Request lenses-    , ccgBgpAsn+    -- * Creating a Request+      createCustomerGateway+    , CreateCustomerGateway+    -- * Request Lenses     , ccgDryRun-    , ccgPublicIp     , ccgType+    , ccgPublicIP+    , ccgBGPASN -    -- * Response-    , CreateCustomerGatewayResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createCustomerGatewayResponse-    -- ** Response lenses-    , ccgrCustomerGateway+    , CreateCustomerGatewayResponse+    -- * Response Lenses+    , ccgrsCustomerGateway+    , ccgrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateCustomerGateway = CreateCustomerGateway-    { _ccgBgpAsn   :: Int-    , _ccgDryRun   :: Maybe Bool-    , _ccgPublicIp :: Text-    , _ccgType     :: GatewayType-    } deriving (Eq, Read, Show)+-- | /See:/ 'createCustomerGateway' smart constructor.+data CreateCustomerGateway = CreateCustomerGateway'+    { _ccgDryRun   :: !(Maybe Bool)+    , _ccgType     :: !GatewayType+    , _ccgPublicIP :: !Text+    , _ccgBGPASN   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateCustomerGateway' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateCustomerGateway' with the minimum fields required to make a request. ----- * 'ccgBgpAsn' @::@ 'Int'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ccgDryRun' @::@ 'Maybe' 'Bool'+-- * 'ccgDryRun' ----- * 'ccgPublicIp' @::@ 'Text'+-- * 'ccgType' ----- * 'ccgType' @::@ 'GatewayType'+-- * 'ccgPublicIP' ---createCustomerGateway :: GatewayType -- ^ 'ccgType'-                      -> Text -- ^ 'ccgPublicIp'-                      -> Int -- ^ 'ccgBgpAsn'-                      -> CreateCustomerGateway-createCustomerGateway p1 p2 p3 = CreateCustomerGateway-    { _ccgType     = p1-    , _ccgPublicIp = p2-    , _ccgBgpAsn   = p3-    , _ccgDryRun   = Nothing+-- * 'ccgBGPASN'+createCustomerGateway+    :: GatewayType -- ^ 'ccgType'+    -> Text -- ^ 'ccgPublicIP'+    -> Int -- ^ 'ccgBGPASN'+    -> CreateCustomerGateway+createCustomerGateway pType_ pPublicIP_ pBGPASN_ =+    CreateCustomerGateway'+    { _ccgDryRun = Nothing+    , _ccgType = pType_+    , _ccgPublicIP = pPublicIP_+    , _ccgBGPASN = pBGPASN_     } --- | For devices that support BGP, the customer gateway's BGP ASN.------ Default: 65000-ccgBgpAsn :: Lens' CreateCustomerGateway Int-ccgBgpAsn = lens _ccgBgpAsn (\s a -> s { _ccgBgpAsn = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. ccgDryRun :: Lens' CreateCustomerGateway (Maybe Bool)-ccgDryRun = lens _ccgDryRun (\s a -> s { _ccgDryRun = a })---- | The Internet-routable IP address for the customer gateway's outside--- interface. The address must be static.-ccgPublicIp :: Lens' CreateCustomerGateway Text-ccgPublicIp = lens _ccgPublicIp (\s a -> s { _ccgPublicIp = a })+ccgDryRun = lens _ccgDryRun (\ s a -> s{_ccgDryRun = a}); --- | The type of VPN connection that this customer gateway supports ('ipsec.1').+-- | The type of VPN connection that this customer gateway supports+-- ('ipsec.1'). ccgType :: Lens' CreateCustomerGateway GatewayType-ccgType = lens _ccgType (\s a -> s { _ccgType = a })+ccgType = lens _ccgType (\ s a -> s{_ccgType = a}); -newtype CreateCustomerGatewayResponse = CreateCustomerGatewayResponse-    { _ccgrCustomerGateway :: Maybe CustomerGateway-    } deriving (Eq, Read, Show)+-- | The Internet-routable IP address for the customer gateway\'s outside+-- interface. The address must be static.+ccgPublicIP :: Lens' CreateCustomerGateway Text+ccgPublicIP = lens _ccgPublicIP (\ s a -> s{_ccgPublicIP = a}); --- | 'CreateCustomerGatewayResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ccgrCustomerGateway' @::@ 'Maybe' 'CustomerGateway'+-- | For devices that support BGP, the customer gateway\'s BGP ASN. ---createCustomerGatewayResponse :: CreateCustomerGatewayResponse-createCustomerGatewayResponse = CreateCustomerGatewayResponse-    { _ccgrCustomerGateway = Nothing-    }+-- Default: 65000+ccgBGPASN :: Lens' CreateCustomerGateway Int+ccgBGPASN = lens _ccgBGPASN (\ s a -> s{_ccgBGPASN = a}); --- | Information about the customer gateway.-ccgrCustomerGateway :: Lens' CreateCustomerGatewayResponse (Maybe CustomerGateway)-ccgrCustomerGateway =-    lens _ccgrCustomerGateway (\s a -> s { _ccgrCustomerGateway = a })+instance AWSRequest CreateCustomerGateway where+        type Sv CreateCustomerGateway = EC2+        type Rs CreateCustomerGateway =+             CreateCustomerGatewayResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateCustomerGatewayResponse' <$>+                   (x .@? "customerGateway") <*> (pure (fromEnum s))) +instance ToHeaders CreateCustomerGateway where+        toHeaders = const mempty+ instance ToPath CreateCustomerGateway where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateCustomerGateway where-    toQuery CreateCustomerGateway{..} = mconcat-        [ "BgpAsn"    =? _ccgBgpAsn-        , "DryRun"    =? _ccgDryRun-        , "IpAddress" =? _ccgPublicIp-        , "Type"      =? _ccgType-        ]+        toQuery CreateCustomerGateway'{..}+          = mconcat+              ["Action" =: ("CreateCustomerGateway" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _ccgDryRun, "Type" =: _ccgType,+               "IpAddress" =: _ccgPublicIP, "BgpAsn" =: _ccgBGPASN] -instance ToHeaders CreateCustomerGateway+-- | /See:/ 'createCustomerGatewayResponse' smart constructor.+data CreateCustomerGatewayResponse = CreateCustomerGatewayResponse'+    { _ccgrsCustomerGateway :: !(Maybe CustomerGateway)+    , _ccgrsStatus          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateCustomerGateway where-    type Sv CreateCustomerGateway = EC2-    type Rs CreateCustomerGateway = CreateCustomerGatewayResponse+-- | Creates a value of 'CreateCustomerGatewayResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccgrsCustomerGateway'+--+-- * 'ccgrsStatus'+createCustomerGatewayResponse+    :: Int -- ^ 'ccgrsStatus'+    -> CreateCustomerGatewayResponse+createCustomerGatewayResponse pStatus_ =+    CreateCustomerGatewayResponse'+    { _ccgrsCustomerGateway = Nothing+    , _ccgrsStatus = pStatus_+    } -    request  = post "CreateCustomerGateway"-    response = xmlResponse+-- | Information about the customer gateway.+ccgrsCustomerGateway :: Lens' CreateCustomerGatewayResponse (Maybe CustomerGateway)+ccgrsCustomerGateway = lens _ccgrsCustomerGateway (\ s a -> s{_ccgrsCustomerGateway = a}); -instance FromXML CreateCustomerGatewayResponse where-    parseXML x = CreateCustomerGatewayResponse-        <$> x .@? "customerGateway"+-- | The response status code.+ccgrsStatus :: Lens' CreateCustomerGatewayResponse Int+ccgrsStatus = lens _ccgrsStatus (\ s a -> s{_ccgrsStatus = a});
+ gen/Network/AWS/EC2/CreateDHCPOptions.hs view
@@ -0,0 +1,169 @@+{-# 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.CreateDHCPOptions+-- 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)+--+-- Creates a set of DHCP options for your VPC. After creating the set, you+-- must associate it with the VPC, causing all existing and new instances+-- that you launch in the VPC to use this set of DHCP options. The+-- following are the individual DHCP options you can specify. For more+-- information about the options, see+-- <http://www.ietf.org/rfc/rfc2132.txt RFC 2132>.+--+-- -   'domain-name-servers' - The IP addresses of up to four domain name+--     servers, or 'AmazonProvidedDNS'. The default DHCP option set+--     specifies 'AmazonProvidedDNS'. If specifying more than one domain+--     name server, specify the IP addresses in a single parameter,+--     separated by commas.+-- -   'domain-name' - If you\'re using AmazonProvidedDNS in 'us-east-1',+--     specify 'ec2.internal'. If you\'re using AmazonProvidedDNS in+--     another region, specify 'region.compute.internal' (for example,+--     'ap-northeast-1.compute.internal'). Otherwise, specify a domain name+--     (for example, 'MyCompany.com'). __Important__: Some Linux operating+--     systems accept multiple domain names separated by spaces. However,+--     Windows and other Linux operating systems treat the value as a+--     single domain, which results in unexpected behavior. If your DHCP+--     options set is associated with a VPC that has instances with+--     multiple operating systems, specify only one domain name.+-- -   'ntp-servers' - The IP addresses of up to four Network Time Protocol+--     (NTP) servers.+-- -   'netbios-name-servers' - The IP addresses of up to four NetBIOS name+--     servers.+-- -   'netbios-node-type' - The NetBIOS node type (1, 2, 4, or 8). We+--     recommend that you specify 2 (broadcast and multicast are not+--     currently supported). For more information about these node types,+--     see <http://www.ietf.org/rfc/rfc2132.txt RFC 2132>.+--+-- Your VPC automatically starts out with a set of DHCP options that+-- includes only a DNS server that we provide (AmazonProvidedDNS). If you+-- create a set of options, and if your VPC has an Internet gateway, make+-- sure to set the 'domain-name-servers' option either to+-- 'AmazonProvidedDNS' or to a domain name server of your choice. 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-CreateDHCPOptions.html AWS API Reference> for CreateDHCPOptions.+module Network.AWS.EC2.CreateDHCPOptions+    (+    -- * Creating a Request+      createDHCPOptions+    , CreateDHCPOptions+    -- * Request Lenses+    , cdoDryRun+    , cdoDHCPConfigurations++    -- * Destructuring the Response+    , createDHCPOptionsResponse+    , CreateDHCPOptionsResponse+    -- * Response Lenses+    , cdorsDHCPOptions+    , cdorsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createDHCPOptions' smart constructor.+data CreateDHCPOptions = CreateDHCPOptions'+    { _cdoDryRun             :: !(Maybe Bool)+    , _cdoDHCPConfigurations :: ![NewDHCPConfiguration]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDHCPOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdoDryRun'+--+-- * 'cdoDHCPConfigurations'+createDHCPOptions+    :: CreateDHCPOptions+createDHCPOptions =+    CreateDHCPOptions'+    { _cdoDryRun = Nothing+    , _cdoDHCPConfigurations = mempty+    }++-- | 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'.+cdoDryRun :: Lens' CreateDHCPOptions (Maybe Bool)+cdoDryRun = lens _cdoDryRun (\ s a -> s{_cdoDryRun = a});++-- | A DHCP configuration option.+cdoDHCPConfigurations :: Lens' CreateDHCPOptions [NewDHCPConfiguration]+cdoDHCPConfigurations = lens _cdoDHCPConfigurations (\ s a -> s{_cdoDHCPConfigurations = a}) . _Coerce;++instance AWSRequest CreateDHCPOptions where+        type Sv CreateDHCPOptions = EC2+        type Rs CreateDHCPOptions = CreateDHCPOptionsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateDHCPOptionsResponse' <$>+                   (x .@? "dhcpOptions") <*> (pure (fromEnum s)))++instance ToHeaders CreateDHCPOptions where+        toHeaders = const mempty++instance ToPath CreateDHCPOptions where+        toPath = const "/"++instance ToQuery CreateDHCPOptions where+        toQuery CreateDHCPOptions'{..}+          = mconcat+              ["Action" =: ("CreateDhcpOptions" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _cdoDryRun,+               toQueryList "item" _cdoDHCPConfigurations]++-- | /See:/ 'createDHCPOptionsResponse' smart constructor.+data CreateDHCPOptionsResponse = CreateDHCPOptionsResponse'+    { _cdorsDHCPOptions :: !(Maybe DHCPOptions)+    , _cdorsStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDHCPOptionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdorsDHCPOptions'+--+-- * 'cdorsStatus'+createDHCPOptionsResponse+    :: Int -- ^ 'cdorsStatus'+    -> CreateDHCPOptionsResponse+createDHCPOptionsResponse pStatus_ =+    CreateDHCPOptionsResponse'+    { _cdorsDHCPOptions = Nothing+    , _cdorsStatus = pStatus_+    }++-- | A set of DHCP options.+cdorsDHCPOptions :: Lens' CreateDHCPOptionsResponse (Maybe DHCPOptions)+cdorsDHCPOptions = lens _cdorsDHCPOptions (\ s a -> s{_cdorsDHCPOptions = a});++-- | The response status code.+cdorsStatus :: Lens' CreateDHCPOptionsResponse Int+cdorsStatus = lens _cdorsStatus (\ s a -> s{_cdorsStatus = a});
− gen/Network/AWS/EC2/CreateDhcpOptions.hs
@@ -1,142 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.CreateDhcpOptions--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a set of DHCP options for your VPC. After creating the set, you must--- associate it with the VPC, causing all existing and new instances that you--- launch in the VPC to use this set of DHCP options. The following are the--- individual DHCP options you can specify. For more information about the--- options, see <http://www.ietf.org/rfc/rfc2132.txt RFC 2132>.------ 'domain-name-servers' - The IP addresses of up to four domain name servers,--- or 'AmazonProvidedDNS'. The default DHCP option set specifies 'AmazonProvidedDNS'. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas.--- 'domain-name' - If you're using AmazonProvidedDNS in 'us-east-1', specify 'ec2.internal'. If you're using AmazonProvidedDNS in another region, specify 'region.compute.internal' (for example, 'ap-northeast-1.compute.internal'). Otherwise, specify a domain--- name (for example, 'MyCompany.com'). Important: Some Linux operating systems--- accept multiple domain names separated by spaces. However, Windows and other--- Linux operating systems treat the value as a single domain, which results in--- unexpected behavior. If your DHCP options set is associated with a VPC that--- has instances with multiple operating systems, specify only one domain name.  'ntp-servers' - The IP addresses of up to four Network Time Protocol (NTP)--- servers.  'netbios-name-servers' - The IP addresses of up to four NetBIOS name--- servers.  'netbios-node-type' - The NetBIOS node type (1, 2, 4, or 8). We--- recommend that you specify 2 (broadcast and multicast are not currently--- supported). For more information about these node types, see <http://www.ietf.org/rfc/rfc2132.txt RFC 2132>.   Your--- VPC automatically starts out with a set of DHCP options that includes only a--- DNS server that we provide (AmazonProvidedDNS). If you create a set of--- options, and if your VPC has an Internet gateway, make sure to set the 'domain-name-servers' option either to 'AmazonProvidedDNS' or to a domain name server of your--- choice. 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/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateDhcpOptions.html>-module Network.AWS.EC2.CreateDhcpOptions-    (-    -- * Request-      CreateDhcpOptions-    -- ** Request constructor-    , createDhcpOptions-    -- ** Request lenses-    , cdoDhcpConfigurations-    , cdoDryRun--    -- * Response-    , CreateDhcpOptionsResponse-    -- ** Response constructor-    , createDhcpOptionsResponse-    -- ** Response lenses-    , cdorDhcpOptions-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CreateDhcpOptions = CreateDhcpOptions-    { _cdoDhcpConfigurations :: List "item" NewDhcpConfiguration-    , _cdoDryRun             :: Maybe Bool-    } deriving (Eq, Read, Show)---- | 'CreateDhcpOptions' constructor.------ The fields accessible through corresponding lenses are:------ * 'cdoDhcpConfigurations' @::@ ['NewDhcpConfiguration']------ * 'cdoDryRun' @::@ 'Maybe' 'Bool'----createDhcpOptions :: CreateDhcpOptions-createDhcpOptions = CreateDhcpOptions-    { _cdoDryRun             = Nothing-    , _cdoDhcpConfigurations = mempty-    }---- | A DHCP configuration option.-cdoDhcpConfigurations :: Lens' CreateDhcpOptions [NewDhcpConfiguration]-cdoDhcpConfigurations =-    lens _cdoDhcpConfigurations (\s a -> s { _cdoDhcpConfigurations = a })-        . _List---- | 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'.-cdoDryRun :: Lens' CreateDhcpOptions (Maybe Bool)-cdoDryRun = lens _cdoDryRun (\s a -> s { _cdoDryRun = a })--newtype CreateDhcpOptionsResponse = CreateDhcpOptionsResponse-    { _cdorDhcpOptions :: Maybe DhcpOptions-    } deriving (Eq, Read, Show)---- | 'CreateDhcpOptionsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cdorDhcpOptions' @::@ 'Maybe' 'DhcpOptions'----createDhcpOptionsResponse :: CreateDhcpOptionsResponse-createDhcpOptionsResponse = CreateDhcpOptionsResponse-    { _cdorDhcpOptions = Nothing-    }---- | A set of DHCP options.-cdorDhcpOptions :: Lens' CreateDhcpOptionsResponse (Maybe DhcpOptions)-cdorDhcpOptions = lens _cdorDhcpOptions (\s a -> s { _cdorDhcpOptions = a })--instance ToPath CreateDhcpOptions where-    toPath = const "/"--instance ToQuery CreateDhcpOptions where-    toQuery CreateDhcpOptions{..} = mconcat-        [ "DhcpConfiguration" `toQueryList` _cdoDhcpConfigurations-        , "DryRun"            =? _cdoDryRun-        ]--instance ToHeaders CreateDhcpOptions--instance AWSRequest CreateDhcpOptions where-    type Sv CreateDhcpOptions = EC2-    type Rs CreateDhcpOptions = CreateDhcpOptionsResponse--    request  = post "CreateDhcpOptions"-    response = xmlResponse--instance FromXML CreateDhcpOptionsResponse where-    parseXML x = CreateDhcpOptionsResponse-        <$> x .@? "dhcpOptions"
+ gen/Network/AWS/EC2/CreateFlowLogs.hs view
@@ -0,0 +1,210 @@+{-# 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.CreateFlowLogs+-- 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)+--+-- Creates one or more flow logs to capture IP traffic for a specific+-- network interface, subnet, or VPC. Flow logs are delivered to a+-- specified log group in Amazon CloudWatch Logs. If you specify a VPC or+-- subnet in the request, a log stream is created in CloudWatch Logs for+-- each network interface in the subnet or VPC. Log streams can include+-- information about accepted and rejected traffic to a network interface.+-- You can view the data in your log streams using Amazon CloudWatch Logs.+--+-- 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+      createFlowLogs+    , CreateFlowLogs+    -- * Request Lenses+    , cflClientToken+    , cflResourceIds+    , cflResourceType+    , cflTrafficType+    , cflLogGroupName+    , cflDeliverLogsPermissionARN++    -- * Destructuring the Response+    , createFlowLogsResponse+    , CreateFlowLogsResponse+    -- * Response Lenses+    , cflrsUnsuccessful+    , cflrsClientToken+    , cflrsFlowLogIds+    , cflrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createFlowLogs' smart constructor.+data CreateFlowLogs = CreateFlowLogs'+    { _cflClientToken              :: !(Maybe Text)+    , _cflResourceIds              :: ![Text]+    , _cflResourceType             :: !FlowLogsResourceType+    , _cflTrafficType              :: !TrafficType+    , _cflLogGroupName             :: !Text+    , _cflDeliverLogsPermissionARN :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateFlowLogs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cflClientToken'+--+-- * 'cflResourceIds'+--+-- * 'cflResourceType'+--+-- * 'cflTrafficType'+--+-- * 'cflLogGroupName'+--+-- * 'cflDeliverLogsPermissionARN'+createFlowLogs+    :: FlowLogsResourceType -- ^ 'cflResourceType'+    -> TrafficType -- ^ 'cflTrafficType'+    -> Text -- ^ 'cflLogGroupName'+    -> Text -- ^ 'cflDeliverLogsPermissionARN'+    -> CreateFlowLogs+createFlowLogs pResourceType_ pTrafficType_ pLogGroupName_ pDeliverLogsPermissionARN_ =+    CreateFlowLogs'+    { _cflClientToken = Nothing+    , _cflResourceIds = mempty+    , _cflResourceType = pResourceType_+    , _cflTrafficType = pTrafficType_+    , _cflLogGroupName = pLogGroupName_+    , _cflDeliverLogsPermissionARN = pDeliverLogsPermissionARN_+    }++-- | Unique, case-sensitive identifier 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>.+cflClientToken :: Lens' CreateFlowLogs (Maybe Text)+cflClientToken = lens _cflClientToken (\ s a -> s{_cflClientToken = a});++-- | One or more subnet, network interface, or VPC IDs.+cflResourceIds :: Lens' CreateFlowLogs [Text]+cflResourceIds = lens _cflResourceIds (\ s a -> s{_cflResourceIds = a}) . _Coerce;++-- | The type of resource on which to create the flow log.+cflResourceType :: Lens' CreateFlowLogs FlowLogsResourceType+cflResourceType = lens _cflResourceType (\ s a -> s{_cflResourceType = a});++-- | The type of traffic to log.+cflTrafficType :: Lens' CreateFlowLogs TrafficType+cflTrafficType = lens _cflTrafficType (\ s a -> s{_cflTrafficType = a});++-- | The name of the CloudWatch log group.+cflLogGroupName :: Lens' CreateFlowLogs Text+cflLogGroupName = lens _cflLogGroupName (\ s a -> s{_cflLogGroupName = a});++-- | The ARN for the IAM role that\'s used to post flow logs to a CloudWatch+-- Logs log group.+cflDeliverLogsPermissionARN :: Lens' CreateFlowLogs Text+cflDeliverLogsPermissionARN = lens _cflDeliverLogsPermissionARN (\ s a -> s{_cflDeliverLogsPermissionARN = a});++instance AWSRequest CreateFlowLogs where+        type Sv CreateFlowLogs = EC2+        type Rs CreateFlowLogs = CreateFlowLogsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateFlowLogsResponse' <$>+                   (x .@? "unsuccessful" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (x .@? "clientToken")+                     <*>+                     (x .@? "flowLogIdSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders CreateFlowLogs where+        toHeaders = const mempty++instance ToPath CreateFlowLogs where+        toPath = const "/"++instance ToQuery CreateFlowLogs where+        toQuery CreateFlowLogs'{..}+          = mconcat+              ["Action" =: ("CreateFlowLogs" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "ClientToken" =: _cflClientToken,+               toQueryList "item" _cflResourceIds,+               "ResourceType" =: _cflResourceType,+               "TrafficType" =: _cflTrafficType,+               "LogGroupName" =: _cflLogGroupName,+               "DeliverLogsPermissionArn" =:+                 _cflDeliverLogsPermissionARN]++-- | /See:/ 'createFlowLogsResponse' smart constructor.+data CreateFlowLogsResponse = CreateFlowLogsResponse'+    { _cflrsUnsuccessful :: !(Maybe [UnsuccessfulItem])+    , _cflrsClientToken  :: !(Maybe Text)+    , _cflrsFlowLogIds   :: !(Maybe [Text])+    , _cflrsStatus       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateFlowLogsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cflrsUnsuccessful'+--+-- * 'cflrsClientToken'+--+-- * 'cflrsFlowLogIds'+--+-- * 'cflrsStatus'+createFlowLogsResponse+    :: Int -- ^ 'cflrsStatus'+    -> CreateFlowLogsResponse+createFlowLogsResponse pStatus_ =+    CreateFlowLogsResponse'+    { _cflrsUnsuccessful = Nothing+    , _cflrsClientToken = Nothing+    , _cflrsFlowLogIds = Nothing+    , _cflrsStatus = pStatus_+    }++-- | Information about the flow logs that could not be created successfully.+cflrsUnsuccessful :: Lens' CreateFlowLogsResponse [UnsuccessfulItem]+cflrsUnsuccessful = lens _cflrsUnsuccessful (\ s a -> s{_cflrsUnsuccessful = a}) . _Default . _Coerce;++-- | Unique, case-sensitive identifier you provide to ensure the idempotency+-- of the request.+cflrsClientToken :: Lens' CreateFlowLogsResponse (Maybe Text)+cflrsClientToken = lens _cflrsClientToken (\ s a -> s{_cflrsClientToken = a});++-- | The IDs of the flow logs.+cflrsFlowLogIds :: Lens' CreateFlowLogsResponse [Text]+cflrsFlowLogIds = lens _cflrsFlowLogIds (\ s a -> s{_cflrsFlowLogIds = a}) . _Default . _Coerce;++-- | The response status code.+cflrsStatus :: Lens' CreateFlowLogsResponse Int+cflrsStatus = lens _cflrsStatus (\ s a -> s{_cflrsStatus = a});
gen/Network/AWS/EC2/CreateImage.hs view
@@ -1,179 +1,194 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateImage--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is--- either running or stopped.+-- Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that+-- is either running or stopped. ----- If you customized your instance with instance store volumes or EBS volumes--- in addition to the root device volume, the new AMI contains block device--- mapping information for those volumes. When you launch an instance from this--- new AMI, the instance automatically launches with those additional volumes.+-- If you customized your instance with instance store volumes or EBS+-- volumes in addition to the root device volume, the new AMI contains+-- block device mapping information for those volumes. When you launch an+-- instance from this new AMI, the instance automatically launches with+-- those additional volumes. ----- 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/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateImage.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateImage.html AWS API Reference> for CreateImage. module Network.AWS.EC2.CreateImage     (-    -- * Request-      CreateImage-    -- ** Request constructor-    , createImage-    -- ** Request lenses-    , ci1BlockDeviceMappings-    , ci1Description-    , ci1DryRun-    , ci1InstanceId-    , ci1Name-    , ci1NoReboot+    -- * Creating a Request+      createImage+    , CreateImage+    -- * Request Lenses+    , ciiNoReboot+    , ciiBlockDeviceMappings+    , ciiDryRun+    , ciiDescription+    , ciiInstanceId+    , ciiName -    -- * Response-    , CreateImageResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createImageResponse-    -- ** Response lenses-    , cirImageId+    , CreateImageResponse+    -- * Response Lenses+    , cirsImageId+    , cirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateImage = CreateImage-    { _ci1BlockDeviceMappings :: List "BlockDeviceMapping" BlockDeviceMapping-    , _ci1Description         :: Maybe Text-    , _ci1DryRun              :: Maybe Bool-    , _ci1InstanceId          :: Text-    , _ci1Name                :: Text-    , _ci1NoReboot            :: Maybe Bool-    } deriving (Eq, Read, Show)+-- | /See:/ 'createImage' smart constructor.+data CreateImage = CreateImage'+    { _ciiNoReboot            :: !(Maybe Bool)+    , _ciiBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _ciiDryRun              :: !(Maybe Bool)+    , _ciiDescription         :: !(Maybe Text)+    , _ciiInstanceId          :: !Text+    , _ciiName                :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateImage' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateImage' with the minimum fields required to make a request. ----- * 'ci1BlockDeviceMappings' @::@ ['BlockDeviceMapping']+-- Use one of the following lenses to modify other fields as desired: ----- * 'ci1Description' @::@ 'Maybe' 'Text'+-- * 'ciiNoReboot' ----- * 'ci1DryRun' @::@ 'Maybe' 'Bool'+-- * 'ciiBlockDeviceMappings' ----- * 'ci1InstanceId' @::@ 'Text'+-- * 'ciiDryRun' ----- * 'ci1Name' @::@ 'Text'+-- * 'ciiDescription' ----- * 'ci1NoReboot' @::@ 'Maybe' 'Bool'+-- * 'ciiInstanceId' ---createImage :: Text -- ^ 'ci1InstanceId'-            -> Text -- ^ 'ci1Name'-            -> CreateImage-createImage p1 p2 = CreateImage-    { _ci1InstanceId          = p1-    , _ci1Name                = p2-    , _ci1DryRun              = Nothing-    , _ci1Description         = Nothing-    , _ci1NoReboot            = Nothing-    , _ci1BlockDeviceMappings = mempty+-- * 'ciiName'+createImage+    :: Text -- ^ 'ciiInstanceId'+    -> Text -- ^ 'ciiName'+    -> CreateImage+createImage pInstanceId_ pName_ =+    CreateImage'+    { _ciiNoReboot = Nothing+    , _ciiBlockDeviceMappings = Nothing+    , _ciiDryRun = Nothing+    , _ciiDescription = Nothing+    , _ciiInstanceId = pInstanceId_+    , _ciiName = pName_     } --- | Information about one or more block device mappings.-ci1BlockDeviceMappings :: Lens' CreateImage [BlockDeviceMapping]-ci1BlockDeviceMappings =-    lens _ci1BlockDeviceMappings (\s a -> s { _ci1BlockDeviceMappings = a })-        . _List+-- | By default, this parameter is set to 'false', which means Amazon EC2+-- attempts to shut down the instance cleanly before image creation and+-- then reboots the instance. When the parameter is set to 'true', Amazon+-- EC2 doesn\'t shut down the instance before creating the image. When this+-- option is used, file system integrity on the created image can\'t be+-- guaranteed.+ciiNoReboot :: Lens' CreateImage (Maybe Bool)+ciiNoReboot = lens _ciiNoReboot (\ s a -> s{_ciiNoReboot = a}); --- | A description for the new image.-ci1Description :: Lens' CreateImage (Maybe Text)-ci1Description = lens _ci1Description (\s a -> s { _ci1Description = a })+-- | Information about one or more block device mappings.+ciiBlockDeviceMappings :: Lens' CreateImage [BlockDeviceMapping]+ciiBlockDeviceMappings = lens _ciiBlockDeviceMappings (\ s a -> s{_ciiBlockDeviceMappings = 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'.-ci1DryRun :: Lens' CreateImage (Maybe Bool)-ci1DryRun = lens _ci1DryRun (\s a -> s { _ci1DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+ciiDryRun :: Lens' CreateImage (Maybe Bool)+ciiDryRun = lens _ciiDryRun (\ s a -> s{_ciiDryRun = a}); +-- | A description for the new image.+ciiDescription :: Lens' CreateImage (Maybe Text)+ciiDescription = lens _ciiDescription (\ s a -> s{_ciiDescription = a});+ -- | The ID of the instance.-ci1InstanceId :: Lens' CreateImage Text-ci1InstanceId = lens _ci1InstanceId (\s a -> s { _ci1InstanceId = a })+ciiInstanceId :: Lens' CreateImage Text+ciiInstanceId = lens _ciiInstanceId (\ s a -> s{_ciiInstanceId = a});  -- | A name for the new image. -- -- Constraints: 3-128 alphanumeric characters, parentheses (()), square--- brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single--- quotes ('), at-signs (@), or underscores(_)-ci1Name :: Lens' CreateImage Text-ci1Name = lens _ci1Name (\s a -> s { _ci1Name = a })---- | By default, this parameter is set to 'false', which means Amazon EC2 attempts--- to shut down the instance cleanly before image creation and then reboots the--- instance. When the parameter is set to 'true', Amazon EC2 doesn't shut down the--- instance before creating the image. When this option is used, file system--- integrity on the created image can't be guaranteed.-ci1NoReboot :: Lens' CreateImage (Maybe Bool)-ci1NoReboot = lens _ci1NoReboot (\s a -> s { _ci1NoReboot = a })--newtype CreateImageResponse = CreateImageResponse-    { _cirImageId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+-- brackets ([]), spaces ( ), periods (.), slashes (\/), dashes (-), single+-- quotes (\'), at-signs (\'), or underscores(_)+ciiName :: Lens' CreateImage Text+ciiName = lens _ciiName (\ s a -> s{_ciiName = a}); --- | 'CreateImageResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cirImageId' @::@ 'Maybe' 'Text'----createImageResponse :: CreateImageResponse-createImageResponse = CreateImageResponse-    { _cirImageId = Nothing-    }+instance AWSRequest CreateImage where+        type Sv CreateImage = EC2+        type Rs CreateImage = CreateImageResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateImageResponse' <$>+                   (x .@? "imageId") <*> (pure (fromEnum s))) --- | The ID of the new AMI.-cirImageId :: Lens' CreateImageResponse (Maybe Text)-cirImageId = lens _cirImageId (\s a -> s { _cirImageId = a })+instance ToHeaders CreateImage where+        toHeaders = const mempty  instance ToPath CreateImage where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateImage where-    toQuery CreateImage{..} = mconcat-        [ "BlockDeviceMapping" `toQueryList` _ci1BlockDeviceMappings-        , "Description"        =? _ci1Description-        , "DryRun"             =? _ci1DryRun-        , "InstanceId"         =? _ci1InstanceId-        , "Name"               =? _ci1Name-        , "NoReboot"           =? _ci1NoReboot-        ]+        toQuery CreateImage'{..}+          = mconcat+              ["Action" =: ("CreateImage" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "NoReboot" =: _ciiNoReboot,+               toQuery+                 (toQueryList "BlockDeviceMapping" <$>+                    _ciiBlockDeviceMappings),+               "DryRun" =: _ciiDryRun,+               "Description" =: _ciiDescription,+               "InstanceId" =: _ciiInstanceId, "Name" =: _ciiName] -instance ToHeaders CreateImage+-- | /See:/ 'createImageResponse' smart constructor.+data CreateImageResponse = CreateImageResponse'+    { _cirsImageId :: !(Maybe Text)+    , _cirsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateImage where-    type Sv CreateImage = EC2-    type Rs CreateImage = CreateImageResponse+-- | Creates a value of 'CreateImageResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cirsImageId'+--+-- * 'cirsStatus'+createImageResponse+    :: Int -- ^ 'cirsStatus'+    -> CreateImageResponse+createImageResponse pStatus_ =+    CreateImageResponse'+    { _cirsImageId = Nothing+    , _cirsStatus = pStatus_+    } -    request  = post "CreateImage"-    response = xmlResponse+-- | The ID of the new AMI.+cirsImageId :: Lens' CreateImageResponse (Maybe Text)+cirsImageId = lens _cirsImageId (\ s a -> s{_cirsImageId = a}); -instance FromXML CreateImageResponse where-    parseXML x = CreateImageResponse-        <$> x .@? "imageId"+-- | The response status code.+cirsStatus :: Lens' CreateImageResponse Int+cirsStatus = lens _cirsStatus (\ s a -> s{_cirsStatus = a});
gen/Network/AWS/EC2/CreateInstanceExportTask.hs view
@@ -1,144 +1,157 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateInstanceExportTask--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Exports a running or stopped instance to an S3 bucket.+-- Exports a running or stopped instance to an S3 bucket. ----- For information about the supported operating systems, image formats, and--- known limitations for the types of instances you can export, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExportingEC2Instances.html ExportingEC2 Instances> in the /Amazon Elastic Compute Cloud User Guide/.+-- For information about the supported operating systems, image formats,+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateInstanceExportTask.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateInstanceExportTask.html AWS API Reference> for CreateInstanceExportTask. module Network.AWS.EC2.CreateInstanceExportTask     (-    -- * Request-      CreateInstanceExportTask-    -- ** Request constructor-    , createInstanceExportTask-    -- ** Request lenses-    , cietDescription+    -- * Creating a Request+      createInstanceExportTask+    , CreateInstanceExportTask+    -- * Request Lenses+    , cietTargetEnvironment     , cietExportToS3Task+    , cietDescription     , cietInstanceId-    , cietTargetEnvironment -    -- * Response-    , CreateInstanceExportTaskResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createInstanceExportTaskResponse-    -- ** Response lenses-    , cietrExportTask+    , CreateInstanceExportTaskResponse+    -- * Response Lenses+    , cietrsExportTask+    , cietrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateInstanceExportTask = CreateInstanceExportTask-    { _cietDescription       :: Maybe Text-    , _cietExportToS3Task    :: Maybe ExportToS3TaskSpecification-    , _cietInstanceId        :: Text-    , _cietTargetEnvironment :: Maybe ExportEnvironment-    } deriving (Eq, Read, Show)+-- | /See:/ 'createInstanceExportTask' smart constructor.+data CreateInstanceExportTask = CreateInstanceExportTask'+    { _cietTargetEnvironment :: !(Maybe ExportEnvironment)+    , _cietExportToS3Task    :: !(Maybe ExportToS3TaskSpecification)+    , _cietDescription       :: !(Maybe Text)+    , _cietInstanceId        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateInstanceExportTask' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateInstanceExportTask' with the minimum fields required to make a request. ----- * 'cietDescription' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cietExportToS3Task' @::@ 'Maybe' 'ExportToS3TaskSpecification'+-- * 'cietTargetEnvironment' ----- * 'cietInstanceId' @::@ 'Text'+-- * 'cietExportToS3Task' ----- * 'cietTargetEnvironment' @::@ 'Maybe' 'ExportEnvironment'+-- * 'cietDescription' ---createInstanceExportTask :: Text -- ^ 'cietInstanceId'-                         -> CreateInstanceExportTask-createInstanceExportTask p1 = CreateInstanceExportTask-    { _cietInstanceId        = p1-    , _cietDescription       = Nothing-    , _cietTargetEnvironment = Nothing-    , _cietExportToS3Task    = Nothing+-- * 'cietInstanceId'+createInstanceExportTask+    :: Text -- ^ 'cietInstanceId'+    -> CreateInstanceExportTask+createInstanceExportTask pInstanceId_ =+    CreateInstanceExportTask'+    { _cietTargetEnvironment = Nothing+    , _cietExportToS3Task = Nothing+    , _cietDescription = Nothing+    , _cietInstanceId = pInstanceId_     } --- | A description for the conversion task or the resource being exported. The--- maximum length is 255 bytes.-cietDescription :: Lens' CreateInstanceExportTask (Maybe Text)-cietDescription = lens _cietDescription (\s a -> s { _cietDescription = a })+-- | The target virtualization environment.+cietTargetEnvironment :: Lens' CreateInstanceExportTask (Maybe ExportEnvironment)+cietTargetEnvironment = lens _cietTargetEnvironment (\ s a -> s{_cietTargetEnvironment = a});  -- | The format and location for an instance export task. cietExportToS3Task :: Lens' CreateInstanceExportTask (Maybe ExportToS3TaskSpecification)-cietExportToS3Task =-    lens _cietExportToS3Task (\s a -> s { _cietExportToS3Task = a })+cietExportToS3Task = lens _cietExportToS3Task (\ s a -> s{_cietExportToS3Task = a}); +-- | A description for the conversion task or the resource being exported.+-- The maximum length is 255 bytes.+cietDescription :: Lens' CreateInstanceExportTask (Maybe Text)+cietDescription = lens _cietDescription (\ s a -> s{_cietDescription = a});+ -- | The ID of the instance. cietInstanceId :: Lens' CreateInstanceExportTask Text-cietInstanceId = lens _cietInstanceId (\s a -> s { _cietInstanceId = a })---- | The target virtualization environment.-cietTargetEnvironment :: Lens' CreateInstanceExportTask (Maybe ExportEnvironment)-cietTargetEnvironment =-    lens _cietTargetEnvironment (\s a -> s { _cietTargetEnvironment = a })--newtype CreateInstanceExportTaskResponse = CreateInstanceExportTaskResponse-    { _cietrExportTask :: Maybe ExportTask-    } deriving (Eq, Read, Show)+cietInstanceId = lens _cietInstanceId (\ s a -> s{_cietInstanceId = a}); --- | 'CreateInstanceExportTaskResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cietrExportTask' @::@ 'Maybe' 'ExportTask'----createInstanceExportTaskResponse :: CreateInstanceExportTaskResponse-createInstanceExportTaskResponse = CreateInstanceExportTaskResponse-    { _cietrExportTask = Nothing-    }+instance AWSRequest CreateInstanceExportTask where+        type Sv CreateInstanceExportTask = EC2+        type Rs CreateInstanceExportTask =+             CreateInstanceExportTaskResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateInstanceExportTaskResponse' <$>+                   (x .@? "exportTask") <*> (pure (fromEnum s))) --- | Information about the instance export task.-cietrExportTask :: Lens' CreateInstanceExportTaskResponse (Maybe ExportTask)-cietrExportTask = lens _cietrExportTask (\s a -> s { _cietrExportTask = a })+instance ToHeaders CreateInstanceExportTask where+        toHeaders = const mempty  instance ToPath CreateInstanceExportTask where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateInstanceExportTask where-    toQuery CreateInstanceExportTask{..} = mconcat-        [ "Description"       =? _cietDescription-        , "ExportToS3"        =? _cietExportToS3Task-        , "InstanceId"        =? _cietInstanceId-        , "TargetEnvironment" =? _cietTargetEnvironment-        ]+        toQuery CreateInstanceExportTask'{..}+          = mconcat+              ["Action" =:+                 ("CreateInstanceExportTask" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "TargetEnvironment" =: _cietTargetEnvironment,+               "ExportToS3" =: _cietExportToS3Task,+               "Description" =: _cietDescription,+               "InstanceId" =: _cietInstanceId] -instance ToHeaders CreateInstanceExportTask+-- | /See:/ 'createInstanceExportTaskResponse' smart constructor.+data CreateInstanceExportTaskResponse = CreateInstanceExportTaskResponse'+    { _cietrsExportTask :: !(Maybe ExportTask)+    , _cietrsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateInstanceExportTask where-    type Sv CreateInstanceExportTask = EC2-    type Rs CreateInstanceExportTask = CreateInstanceExportTaskResponse+-- | Creates a value of 'CreateInstanceExportTaskResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cietrsExportTask'+--+-- * 'cietrsStatus'+createInstanceExportTaskResponse+    :: Int -- ^ 'cietrsStatus'+    -> CreateInstanceExportTaskResponse+createInstanceExportTaskResponse pStatus_ =+    CreateInstanceExportTaskResponse'+    { _cietrsExportTask = Nothing+    , _cietrsStatus = pStatus_+    } -    request  = post "CreateInstanceExportTask"-    response = xmlResponse+-- | Information about the instance export task.+cietrsExportTask :: Lens' CreateInstanceExportTaskResponse (Maybe ExportTask)+cietrsExportTask = lens _cietrsExportTask (\ s a -> s{_cietrsExportTask = a}); -instance FromXML CreateInstanceExportTaskResponse where-    parseXML x = CreateInstanceExportTaskResponse-        <$> x .@? "exportTask"+-- | The response status code.+cietrsStatus :: Lens' CreateInstanceExportTaskResponse Int+cietrsStatus = lens _cietrsStatus (\ s a -> s{_cietrsStatus = a});
gen/Network/AWS/EC2/CreateInternetGateway.hs view
@@ -1,113 +1,126 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateInternetGateway--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates an Internet gateway for use with a VPC. After creating the Internet--- gateway, you attach it to a VPC using 'AttachInternetGateway'.+-- Creates an Internet gateway for use with a VPC. After creating the+-- 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/ AmazonVirtual Private Cloud User Guide>.+-- 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>. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateInternetGateway.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateInternetGateway.html AWS API Reference> for CreateInternetGateway. module Network.AWS.EC2.CreateInternetGateway     (-    -- * Request-      CreateInternetGateway-    -- ** Request constructor-    , createInternetGateway-    -- ** Request lenses+    -- * Creating a Request+      createInternetGateway+    , CreateInternetGateway+    -- * Request Lenses     , cigDryRun -    -- * Response-    , CreateInternetGatewayResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createInternetGatewayResponse-    -- ** Response lenses-    , cigrInternetGateway+    , CreateInternetGatewayResponse+    -- * Response Lenses+    , cigrsInternetGateway+    , cigrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -newtype CreateInternetGateway = CreateInternetGateway+-- | /See:/ 'createInternetGateway' smart constructor.+newtype CreateInternetGateway = CreateInternetGateway'     { _cigDryRun :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateInternetGateway' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateInternetGateway' with the minimum fields required to make a request. ----- * 'cigDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ---createInternetGateway :: CreateInternetGateway-createInternetGateway = CreateInternetGateway+-- * 'cigDryRun'+createInternetGateway+    :: CreateInternetGateway+createInternetGateway =+    CreateInternetGateway'     { _cigDryRun = Nothing     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. cigDryRun :: Lens' CreateInternetGateway (Maybe Bool)-cigDryRun = lens _cigDryRun (\s a -> s { _cigDryRun = a })--newtype CreateInternetGatewayResponse = CreateInternetGatewayResponse-    { _cigrInternetGateway :: Maybe InternetGateway-    } deriving (Eq, Read, Show)+cigDryRun = lens _cigDryRun (\ s a -> s{_cigDryRun = a}); --- | 'CreateInternetGatewayResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cigrInternetGateway' @::@ 'Maybe' 'InternetGateway'----createInternetGatewayResponse :: CreateInternetGatewayResponse-createInternetGatewayResponse = CreateInternetGatewayResponse-    { _cigrInternetGateway = Nothing-    }+instance AWSRequest CreateInternetGateway where+        type Sv CreateInternetGateway = EC2+        type Rs CreateInternetGateway =+             CreateInternetGatewayResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateInternetGatewayResponse' <$>+                   (x .@? "internetGateway") <*> (pure (fromEnum s))) --- | Information about the Internet gateway.-cigrInternetGateway :: Lens' CreateInternetGatewayResponse (Maybe InternetGateway)-cigrInternetGateway =-    lens _cigrInternetGateway (\s a -> s { _cigrInternetGateway = a })+instance ToHeaders CreateInternetGateway where+        toHeaders = const mempty  instance ToPath CreateInternetGateway where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateInternetGateway where-    toQuery CreateInternetGateway{..} = mconcat-        [ "DryRun" =? _cigDryRun-        ]+        toQuery CreateInternetGateway'{..}+          = mconcat+              ["Action" =: ("CreateInternetGateway" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _cigDryRun] -instance ToHeaders CreateInternetGateway+-- | /See:/ 'createInternetGatewayResponse' smart constructor.+data CreateInternetGatewayResponse = CreateInternetGatewayResponse'+    { _cigrsInternetGateway :: !(Maybe InternetGateway)+    , _cigrsStatus          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateInternetGateway where-    type Sv CreateInternetGateway = EC2-    type Rs CreateInternetGateway = CreateInternetGatewayResponse+-- | Creates a value of 'CreateInternetGatewayResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cigrsInternetGateway'+--+-- * 'cigrsStatus'+createInternetGatewayResponse+    :: Int -- ^ 'cigrsStatus'+    -> CreateInternetGatewayResponse+createInternetGatewayResponse pStatus_ =+    CreateInternetGatewayResponse'+    { _cigrsInternetGateway = Nothing+    , _cigrsStatus = pStatus_+    } -    request  = post "CreateInternetGateway"-    response = xmlResponse+-- | Information about the Internet gateway.+cigrsInternetGateway :: Lens' CreateInternetGatewayResponse (Maybe InternetGateway)+cigrsInternetGateway = lens _cigrsInternetGateway (\ s a -> s{_cigrsInternetGateway = a}); -instance FromXML CreateInternetGatewayResponse where-    parseXML x = CreateInternetGatewayResponse-        <$> x .@? "internetGateway"+-- | The response status code.+cigrsStatus :: Lens' CreateInternetGatewayResponse Int+cigrsStatus = lens _cigrsStatus (\ s a -> s{_cigrsStatus = a});
gen/Network/AWS/EC2/CreateKeyPair.hs view
@@ -1,156 +1,172 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateKeyPair--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores--- the public key and displays the private key for you to save to a file. The--- private key is returned as an unencrypted PEM encoded PKCS#8 private key. If--- a key with the specified name already exists, Amazon EC2 returns an error.+-- Creates a 2048-bit RSA key pair with the specified name. Amazon EC2+-- stores the public key and displays the private key for you to save to a+-- file. The private key is returned as an unencrypted PEM encoded PKCS#8+-- private key. If a key with the specified name already exists, Amazon EC2+-- returns an error. -- -- You can have up to five thousand key pairs per region. ----- 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'.+-- 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. ----- For more information about key pairs, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html Key Pairs> in the /Amazon ElasticCompute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateKeyPair.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateKeyPair.html AWS API Reference> for CreateKeyPair. module Network.AWS.EC2.CreateKeyPair     (-    -- * Request-      CreateKeyPair-    -- ** Request constructor-    , createKeyPair-    -- ** Request lenses+    -- * Creating a Request+      createKeyPair+    , CreateKeyPair+    -- * Request Lenses     , ckpDryRun     , ckpKeyName -    -- * Response-    , CreateKeyPairResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createKeyPairResponse-    -- ** Response lenses-    , ckprKeyFingerprint-    , ckprKeyMaterial-    , ckprKeyName+    , CreateKeyPairResponse+    -- * Response Lenses+    , ckprsStatus+    , ckprsKeyName+    , ckprsKeyFingerprint+    , ckprsKeyMaterial     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateKeyPair = CreateKeyPair-    { _ckpDryRun  :: Maybe Bool-    , _ckpKeyName :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'createKeyPair' smart constructor.+data CreateKeyPair = CreateKeyPair'+    { _ckpDryRun  :: !(Maybe Bool)+    , _ckpKeyName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateKeyPair' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateKeyPair' with the minimum fields required to make a request. ----- * 'ckpDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ckpKeyName' @::@ 'Text'+-- * 'ckpDryRun' ---createKeyPair :: Text -- ^ 'ckpKeyName'-              -> CreateKeyPair-createKeyPair p1 = CreateKeyPair-    { _ckpKeyName = p1-    , _ckpDryRun  = Nothing+-- * 'ckpKeyName'+createKeyPair+    :: Text -- ^ 'ckpKeyName'+    -> CreateKeyPair+createKeyPair pKeyName_ =+    CreateKeyPair'+    { _ckpDryRun = Nothing+    , _ckpKeyName = pKeyName_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. ckpDryRun :: Lens' CreateKeyPair (Maybe Bool)-ckpDryRun = lens _ckpDryRun (\s a -> s { _ckpDryRun = a })+ckpDryRun = lens _ckpDryRun (\ s a -> s{_ckpDryRun = a});  -- | A unique name for the key pair. -- -- Constraints: Up to 255 ASCII characters ckpKeyName :: Lens' CreateKeyPair Text-ckpKeyName = lens _ckpKeyName (\s a -> s { _ckpKeyName = a })+ckpKeyName = lens _ckpKeyName (\ s a -> s{_ckpKeyName = a}); -data CreateKeyPairResponse = CreateKeyPairResponse-    { _ckprKeyFingerprint :: Text-    , _ckprKeyMaterial    :: Text-    , _ckprKeyName        :: Text-    } deriving (Eq, Ord, Read, Show)+instance AWSRequest CreateKeyPair where+        type Sv CreateKeyPair = EC2+        type Rs CreateKeyPair = CreateKeyPairResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateKeyPairResponse' <$>+                   (pure (fromEnum s)) <*> (x .@ "keyName") <*>+                     (x .@ "keyFingerprint")+                     <*> (x .@ "keyMaterial")) --- | 'CreateKeyPairResponse' constructor.+instance ToHeaders CreateKeyPair where+        toHeaders = const mempty++instance ToPath CreateKeyPair where+        toPath = const "/"++instance ToQuery CreateKeyPair where+        toQuery CreateKeyPair'{..}+          = mconcat+              ["Action" =: ("CreateKeyPair" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _ckpDryRun, "KeyName" =: _ckpKeyName]++-- | Describes a key pair. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createKeyPairResponse' smart constructor.+data CreateKeyPairResponse = CreateKeyPairResponse'+    { _ckprsStatus         :: !Int+    , _ckprsKeyName        :: !Text+    , _ckprsKeyFingerprint :: !Text+    , _ckprsKeyMaterial    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateKeyPairResponse' with the minimum fields required to make a request. ----- * 'ckprKeyFingerprint' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ckprKeyMaterial' @::@ 'Text'+-- * 'ckprsStatus' ----- * 'ckprKeyName' @::@ 'Text'+-- * 'ckprsKeyName' ---createKeyPairResponse :: Text -- ^ 'ckprKeyName'-                      -> Text -- ^ 'ckprKeyFingerprint'-                      -> Text -- ^ 'ckprKeyMaterial'-                      -> CreateKeyPairResponse-createKeyPairResponse p1 p2 p3 = CreateKeyPairResponse-    { _ckprKeyName        = p1-    , _ckprKeyFingerprint = p2-    , _ckprKeyMaterial    = p3+-- * 'ckprsKeyFingerprint'+--+-- * 'ckprsKeyMaterial'+createKeyPairResponse+    :: Int -- ^ 'ckprsStatus'+    -> Text -- ^ 'ckprsKeyName'+    -> Text -- ^ 'ckprsKeyFingerprint'+    -> Text -- ^ 'ckprsKeyMaterial'+    -> CreateKeyPairResponse+createKeyPairResponse pStatus_ pKeyName_ pKeyFingerprint_ pKeyMaterial_ =+    CreateKeyPairResponse'+    { _ckprsStatus = pStatus_+    , _ckprsKeyName = pKeyName_+    , _ckprsKeyFingerprint = pKeyFingerprint_+    , _ckprsKeyMaterial = pKeyMaterial_     } --- | The SHA-1 digest of the DER encoded private key.-ckprKeyFingerprint :: Lens' CreateKeyPairResponse Text-ckprKeyFingerprint =-    lens _ckprKeyFingerprint (\s a -> s { _ckprKeyFingerprint = a })---- | An unencrypted PEM encoded RSA private key.-ckprKeyMaterial :: Lens' CreateKeyPairResponse Text-ckprKeyMaterial = lens _ckprKeyMaterial (\s a -> s { _ckprKeyMaterial = a })+-- | The response status code.+ckprsStatus :: Lens' CreateKeyPairResponse Int+ckprsStatus = lens _ckprsStatus (\ s a -> s{_ckprsStatus = a});  -- | The name of the key pair.-ckprKeyName :: Lens' CreateKeyPairResponse Text-ckprKeyName = lens _ckprKeyName (\s a -> s { _ckprKeyName = a })--instance ToPath CreateKeyPair where-    toPath = const "/"--instance ToQuery CreateKeyPair where-    toQuery CreateKeyPair{..} = mconcat-        [ "DryRun"  =? _ckpDryRun-        , "KeyName" =? _ckpKeyName-        ]--instance ToHeaders CreateKeyPair--instance AWSRequest CreateKeyPair where-    type Sv CreateKeyPair = EC2-    type Rs CreateKeyPair = CreateKeyPairResponse+ckprsKeyName :: Lens' CreateKeyPairResponse Text+ckprsKeyName = lens _ckprsKeyName (\ s a -> s{_ckprsKeyName = a}); -    request  = post "CreateKeyPair"-    response = xmlResponse+-- | The SHA-1 digest of the DER encoded private key.+ckprsKeyFingerprint :: Lens' CreateKeyPairResponse Text+ckprsKeyFingerprint = lens _ckprsKeyFingerprint (\ s a -> s{_ckprsKeyFingerprint = a}); -instance FromXML CreateKeyPairResponse where-    parseXML x = CreateKeyPairResponse-        <$> x .@  "keyFingerprint"-        <*> x .@  "keyMaterial"-        <*> x .@  "keyName"+-- | An unencrypted PEM encoded RSA private key.+ckprsKeyMaterial :: Lens' CreateKeyPairResponse Text+ckprsKeyMaterial = lens _ckprsKeyMaterial (\ s a -> s{_ckprsKeyMaterial = a});
+ gen/Network/AWS/EC2/CreateNetworkACL.hs view
@@ -0,0 +1,137 @@+{-# 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.CreateNetworkACL+-- 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)+--+-- Creates a network ACL in a VPC. Network ACLs provide an optional layer+-- of security (in addition to security groups) for the instances in your+-- VPC.+--+-- 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+      createNetworkACL+    , CreateNetworkACL+    -- * Request Lenses+    , cnaDryRun+    , cnaVPCId++    -- * Destructuring the Response+    , createNetworkACLResponse+    , CreateNetworkACLResponse+    -- * Response Lenses+    , cnarsNetworkACL+    , cnarsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createNetworkACL' smart constructor.+data CreateNetworkACL = CreateNetworkACL'+    { _cnaDryRun :: !(Maybe Bool)+    , _cnaVPCId  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateNetworkACL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cnaDryRun'+--+-- * 'cnaVPCId'+createNetworkACL+    :: Text -- ^ 'cnaVPCId'+    -> CreateNetworkACL+createNetworkACL pVPCId_ =+    CreateNetworkACL'+    { _cnaDryRun = Nothing+    , _cnaVPCId = pVPCId_+    }++-- | 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'.+cnaDryRun :: Lens' CreateNetworkACL (Maybe Bool)+cnaDryRun = lens _cnaDryRun (\ s a -> s{_cnaDryRun = a});++-- | The ID of the VPC.+cnaVPCId :: Lens' CreateNetworkACL Text+cnaVPCId = lens _cnaVPCId (\ s a -> s{_cnaVPCId = a});++instance AWSRequest CreateNetworkACL where+        type Sv CreateNetworkACL = EC2+        type Rs CreateNetworkACL = CreateNetworkACLResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateNetworkACLResponse' <$>+                   (x .@? "networkAcl") <*> (pure (fromEnum s)))++instance ToHeaders CreateNetworkACL where+        toHeaders = const mempty++instance ToPath CreateNetworkACL where+        toPath = const "/"++instance ToQuery CreateNetworkACL where+        toQuery CreateNetworkACL'{..}+          = mconcat+              ["Action" =: ("CreateNetworkAcl" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _cnaDryRun, "VpcId" =: _cnaVPCId]++-- | /See:/ 'createNetworkACLResponse' smart constructor.+data CreateNetworkACLResponse = CreateNetworkACLResponse'+    { _cnarsNetworkACL :: !(Maybe NetworkACL)+    , _cnarsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateNetworkACLResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cnarsNetworkACL'+--+-- * 'cnarsStatus'+createNetworkACLResponse+    :: Int -- ^ 'cnarsStatus'+    -> CreateNetworkACLResponse+createNetworkACLResponse pStatus_ =+    CreateNetworkACLResponse'+    { _cnarsNetworkACL = Nothing+    , _cnarsStatus = pStatus_+    }++-- | Information about the network ACL.+cnarsNetworkACL :: Lens' CreateNetworkACLResponse (Maybe NetworkACL)+cnarsNetworkACL = lens _cnarsNetworkACL (\ s a -> s{_cnarsNetworkACL = a});++-- | The response status code.+cnarsStatus :: Lens' CreateNetworkACLResponse Int+cnarsStatus = lens _cnarsStatus (\ s a -> s{_cnarsStatus = a});
+ gen/Network/AWS/EC2/CreateNetworkACLEntry.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.CreateNetworkACLEntry+-- 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)+--+-- Creates an entry (a rule) in a network ACL with the specified rule+-- number. Each network ACL has a set of numbered ingress rules and a+-- separate set of numbered egress rules. When determining whether a packet+-- should be allowed in or out of a subnet associated with the ACL, we+-- process the entries in the ACL according to the rule numbers, in+-- ascending order. Each network ACL has a set of ingress rules and a+-- separate set of egress rules.+--+-- We recommend that you leave room between the rule numbers (for example,+-- 100, 110, 120, ...), and not number them one right after the other (for+-- example, 101, 102, 103, ...). This makes it easier to add a rule between+-- existing ones without having to renumber the rules.+--+-- After you add an entry, you can\'t modify it; you must either replace+-- it, or create an entry and delete the old one.+--+-- 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+      createNetworkACLEntry+    , CreateNetworkACLEntry+    -- * Request Lenses+    , cnaeICMPTypeCode+    , cnaePortRange+    , cnaeDryRun+    , cnaeNetworkACLId+    , cnaeRuleNumber+    , cnaeProtocol+    , cnaeRuleAction+    , cnaeEgress+    , cnaeCIdRBlock++    -- * Destructuring the Response+    , createNetworkACLEntryResponse+    , CreateNetworkACLEntryResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createNetworkACLEntry' smart constructor.+data CreateNetworkACLEntry = CreateNetworkACLEntry'+    { _cnaeICMPTypeCode :: !(Maybe ICMPTypeCode)+    , _cnaePortRange    :: !(Maybe PortRange)+    , _cnaeDryRun       :: !(Maybe Bool)+    , _cnaeNetworkACLId :: !Text+    , _cnaeRuleNumber   :: !Int+    , _cnaeProtocol     :: !Text+    , _cnaeRuleAction   :: !RuleAction+    , _cnaeEgress       :: !Bool+    , _cnaeCIdRBlock    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateNetworkACLEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cnaeICMPTypeCode'+--+-- * 'cnaePortRange'+--+-- * 'cnaeDryRun'+--+-- * 'cnaeNetworkACLId'+--+-- * 'cnaeRuleNumber'+--+-- * 'cnaeProtocol'+--+-- * 'cnaeRuleAction'+--+-- * 'cnaeEgress'+--+-- * 'cnaeCIdRBlock'+createNetworkACLEntry+    :: Text -- ^ 'cnaeNetworkACLId'+    -> Int -- ^ 'cnaeRuleNumber'+    -> Text -- ^ 'cnaeProtocol'+    -> RuleAction -- ^ 'cnaeRuleAction'+    -> Bool -- ^ 'cnaeEgress'+    -> Text -- ^ 'cnaeCIdRBlock'+    -> CreateNetworkACLEntry+createNetworkACLEntry pNetworkACLId_ pRuleNumber_ pProtocol_ pRuleAction_ pEgress_ pCIdRBlock_ =+    CreateNetworkACLEntry'+    { _cnaeICMPTypeCode = Nothing+    , _cnaePortRange = Nothing+    , _cnaeDryRun = Nothing+    , _cnaeNetworkACLId = pNetworkACLId_+    , _cnaeRuleNumber = pRuleNumber_+    , _cnaeProtocol = pProtocol_+    , _cnaeRuleAction = pRuleAction_+    , _cnaeEgress = pEgress_+    , _cnaeCIdRBlock = pCIdRBlock_+    }++-- | ICMP protocol: The ICMP type and code. Required if specifying ICMP for+-- the protocol.+cnaeICMPTypeCode :: Lens' CreateNetworkACLEntry (Maybe ICMPTypeCode)+cnaeICMPTypeCode = lens _cnaeICMPTypeCode (\ s a -> s{_cnaeICMPTypeCode = a});++-- | TCP or UDP protocols: The range of ports the rule applies to.+cnaePortRange :: Lens' CreateNetworkACLEntry (Maybe PortRange)+cnaePortRange = lens _cnaePortRange (\ s a -> s{_cnaePortRange = 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'.+cnaeDryRun :: Lens' CreateNetworkACLEntry (Maybe Bool)+cnaeDryRun = lens _cnaeDryRun (\ s a -> s{_cnaeDryRun = a});++-- | The ID of the network ACL.+cnaeNetworkACLId :: Lens' CreateNetworkACLEntry Text+cnaeNetworkACLId = lens _cnaeNetworkACLId (\ s a -> s{_cnaeNetworkACLId = a});++-- | The rule number for the entry (for example, 100). ACL entries are+-- processed in ascending order by rule number.+--+-- Constraints: Positive integer from 1 to 32766+cnaeRuleNumber :: Lens' CreateNetworkACLEntry Int+cnaeRuleNumber = lens _cnaeRuleNumber (\ s a -> s{_cnaeRuleNumber = a});++-- | The protocol. A value of -1 means all protocols.+cnaeProtocol :: Lens' CreateNetworkACLEntry Text+cnaeProtocol = lens _cnaeProtocol (\ s a -> s{_cnaeProtocol = a});++-- | Indicates whether to allow or deny the traffic that matches the rule.+cnaeRuleAction :: Lens' CreateNetworkACLEntry RuleAction+cnaeRuleAction = lens _cnaeRuleAction (\ s a -> s{_cnaeRuleAction = a});++-- | Indicates whether this is an egress rule (rule is applied to traffic+-- leaving the subnet).+cnaeEgress :: Lens' CreateNetworkACLEntry Bool+cnaeEgress = lens _cnaeEgress (\ s a -> s{_cnaeEgress = a});++-- | The network range to allow or deny, in CIDR notation (for example+-- '172.16.0.0\/24').+cnaeCIdRBlock :: Lens' CreateNetworkACLEntry Text+cnaeCIdRBlock = lens _cnaeCIdRBlock (\ s a -> s{_cnaeCIdRBlock = a});++instance AWSRequest CreateNetworkACLEntry where+        type Sv CreateNetworkACLEntry = EC2+        type Rs CreateNetworkACLEntry =+             CreateNetworkACLEntryResponse+        request = post+        response = receiveNull CreateNetworkACLEntryResponse'++instance ToHeaders CreateNetworkACLEntry where+        toHeaders = const mempty++instance ToPath CreateNetworkACLEntry where+        toPath = const "/"++instance ToQuery CreateNetworkACLEntry where+        toQuery CreateNetworkACLEntry'{..}+          = mconcat+              ["Action" =: ("CreateNetworkAclEntry" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Icmp" =: _cnaeICMPTypeCode,+               "PortRange" =: _cnaePortRange,+               "DryRun" =: _cnaeDryRun,+               "NetworkAclId" =: _cnaeNetworkACLId,+               "RuleNumber" =: _cnaeRuleNumber,+               "Protocol" =: _cnaeProtocol,+               "RuleAction" =: _cnaeRuleAction,+               "Egress" =: _cnaeEgress,+               "CidrBlock" =: _cnaeCIdRBlock]++-- | /See:/ 'createNetworkACLEntryResponse' smart constructor.+data CreateNetworkACLEntryResponse =+    CreateNetworkACLEntryResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateNetworkACLEntryResponse' with the minimum fields required to make a request.+--+createNetworkACLEntryResponse+    :: CreateNetworkACLEntryResponse+createNetworkACLEntryResponse = CreateNetworkACLEntryResponse'
− gen/Network/AWS/EC2/CreateNetworkAcl.hs
@@ -1,123 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.CreateNetworkAcl--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a network ACL in a VPC. Network ACLs provide an optional layer of--- security (in addition to security groups) for the instances in your VPC.------ For more information about network ACLs, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html Network ACLs> in the /AmazonVirtual Private Cloud User Guide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateNetworkAcl.html>-module Network.AWS.EC2.CreateNetworkAcl-    (-    -- * Request-      CreateNetworkAcl-    -- ** Request constructor-    , createNetworkAcl-    -- ** Request lenses-    , cnaDryRun-    , cnaVpcId--    -- * Response-    , CreateNetworkAclResponse-    -- ** Response constructor-    , createNetworkAclResponse-    -- ** Response lenses-    , cnarNetworkAcl-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CreateNetworkAcl = CreateNetworkAcl-    { _cnaDryRun :: Maybe Bool-    , _cnaVpcId  :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'CreateNetworkAcl' constructor.------ The fields accessible through corresponding lenses are:------ * 'cnaDryRun' @::@ 'Maybe' 'Bool'------ * 'cnaVpcId' @::@ 'Text'----createNetworkAcl :: Text -- ^ 'cnaVpcId'-                 -> CreateNetworkAcl-createNetworkAcl p1 = CreateNetworkAcl-    { _cnaVpcId  = p1-    , _cnaDryRun = Nothing-    }---- | 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'.-cnaDryRun :: Lens' CreateNetworkAcl (Maybe Bool)-cnaDryRun = lens _cnaDryRun (\s a -> s { _cnaDryRun = a })---- | The ID of the VPC.-cnaVpcId :: Lens' CreateNetworkAcl Text-cnaVpcId = lens _cnaVpcId (\s a -> s { _cnaVpcId = a })--newtype CreateNetworkAclResponse = CreateNetworkAclResponse-    { _cnarNetworkAcl :: Maybe NetworkAcl-    } deriving (Eq, Read, Show)---- | 'CreateNetworkAclResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cnarNetworkAcl' @::@ 'Maybe' 'NetworkAcl'----createNetworkAclResponse :: CreateNetworkAclResponse-createNetworkAclResponse = CreateNetworkAclResponse-    { _cnarNetworkAcl = Nothing-    }---- | Information about the network ACL.-cnarNetworkAcl :: Lens' CreateNetworkAclResponse (Maybe NetworkAcl)-cnarNetworkAcl = lens _cnarNetworkAcl (\s a -> s { _cnarNetworkAcl = a })--instance ToPath CreateNetworkAcl where-    toPath = const "/"--instance ToQuery CreateNetworkAcl where-    toQuery CreateNetworkAcl{..} = mconcat-        [ "DryRun" =? _cnaDryRun-        , "VpcId"  =? _cnaVpcId-        ]--instance ToHeaders CreateNetworkAcl--instance AWSRequest CreateNetworkAcl where-    type Sv CreateNetworkAcl = EC2-    type Rs CreateNetworkAcl = CreateNetworkAclResponse--    request  = post "CreateNetworkAcl"-    response = xmlResponse--instance FromXML CreateNetworkAclResponse where-    parseXML x = CreateNetworkAclResponse-        <$> x .@? "networkAcl"
− gen/Network/AWS/EC2/CreateNetworkAclEntry.hs
@@ -1,197 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.CreateNetworkAclEntry--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates an entry (a rule) in a network ACL with the specified rule number.--- Each network ACL has a set of numbered ingress rules and a separate set of--- numbered egress rules. When determining whether a packet should be allowed in--- or out of a subnet associated with the ACL, we process the entries in the ACL--- according to the rule numbers, in ascending order. Each network ACL has a set--- of ingress rules and a separate set of egress rules.------ We recommend that you leave room between the rule numbers (for example, 100,--- 110, 120, ...), and not number them one right after the other (for example,--- 101, 102, 103, ...). This makes it easier to add a rule between existing ones--- without having to renumber the rules.------ After you add an entry, you can't modify it; you must either replace it, or--- create an entry and delete the old one.------ For more information about network ACLs, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html Network ACLs> in the /AmazonVirtual Private Cloud User Guide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateNetworkAclEntry.html>-module Network.AWS.EC2.CreateNetworkAclEntry-    (-    -- * Request-      CreateNetworkAclEntry-    -- ** Request constructor-    , createNetworkAclEntry-    -- ** Request lenses-    , cnaeCidrBlock-    , cnaeDryRun-    , cnaeEgress-    , cnaeIcmpTypeCode-    , cnaeNetworkAclId-    , cnaePortRange-    , cnaeProtocol-    , cnaeRuleAction-    , cnaeRuleNumber--    -- * Response-    , CreateNetworkAclEntryResponse-    -- ** Response constructor-    , createNetworkAclEntryResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CreateNetworkAclEntry = CreateNetworkAclEntry-    { _cnaeCidrBlock    :: Text-    , _cnaeDryRun       :: Maybe Bool-    , _cnaeEgress       :: Bool-    , _cnaeIcmpTypeCode :: Maybe IcmpTypeCode-    , _cnaeNetworkAclId :: Text-    , _cnaePortRange    :: Maybe PortRange-    , _cnaeProtocol     :: Text-    , _cnaeRuleAction   :: RuleAction-    , _cnaeRuleNumber   :: Int-    } deriving (Eq, Read, Show)---- | 'CreateNetworkAclEntry' constructor.------ The fields accessible through corresponding lenses are:------ * 'cnaeCidrBlock' @::@ 'Text'------ * 'cnaeDryRun' @::@ 'Maybe' 'Bool'------ * 'cnaeEgress' @::@ 'Bool'------ * 'cnaeIcmpTypeCode' @::@ 'Maybe' 'IcmpTypeCode'------ * 'cnaeNetworkAclId' @::@ 'Text'------ * 'cnaePortRange' @::@ 'Maybe' 'PortRange'------ * 'cnaeProtocol' @::@ 'Text'------ * 'cnaeRuleAction' @::@ 'RuleAction'------ * 'cnaeRuleNumber' @::@ 'Int'----createNetworkAclEntry :: Text -- ^ 'cnaeNetworkAclId'-                      -> Int -- ^ 'cnaeRuleNumber'-                      -> Text -- ^ 'cnaeProtocol'-                      -> RuleAction -- ^ 'cnaeRuleAction'-                      -> Bool -- ^ 'cnaeEgress'-                      -> Text -- ^ 'cnaeCidrBlock'-                      -> CreateNetworkAclEntry-createNetworkAclEntry p1 p2 p3 p4 p5 p6 = CreateNetworkAclEntry-    { _cnaeNetworkAclId = p1-    , _cnaeRuleNumber   = p2-    , _cnaeProtocol     = p3-    , _cnaeRuleAction   = p4-    , _cnaeEgress       = p5-    , _cnaeCidrBlock    = p6-    , _cnaeDryRun       = Nothing-    , _cnaeIcmpTypeCode = Nothing-    , _cnaePortRange    = Nothing-    }---- | The network range to allow or deny, in CIDR notation (for example '172.16.0.0/24').-cnaeCidrBlock :: Lens' CreateNetworkAclEntry Text-cnaeCidrBlock = lens _cnaeCidrBlock (\s a -> s { _cnaeCidrBlock = 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'.-cnaeDryRun :: Lens' CreateNetworkAclEntry (Maybe Bool)-cnaeDryRun = lens _cnaeDryRun (\s a -> s { _cnaeDryRun = a })---- | Indicates whether this is an egress rule (rule is applied to traffic leaving--- the subnet).-cnaeEgress :: Lens' CreateNetworkAclEntry Bool-cnaeEgress = lens _cnaeEgress (\s a -> s { _cnaeEgress = a })---- | ICMP protocol: The ICMP type and code. Required if specifying ICMP for the--- protocol.-cnaeIcmpTypeCode :: Lens' CreateNetworkAclEntry (Maybe IcmpTypeCode)-cnaeIcmpTypeCode = lens _cnaeIcmpTypeCode (\s a -> s { _cnaeIcmpTypeCode = a })---- | The ID of the network ACL.-cnaeNetworkAclId :: Lens' CreateNetworkAclEntry Text-cnaeNetworkAclId = lens _cnaeNetworkAclId (\s a -> s { _cnaeNetworkAclId = a })---- | TCP or UDP protocols: The range of ports the rule applies to.-cnaePortRange :: Lens' CreateNetworkAclEntry (Maybe PortRange)-cnaePortRange = lens _cnaePortRange (\s a -> s { _cnaePortRange = a })---- | The protocol. A value of -1 means all protocols.-cnaeProtocol :: Lens' CreateNetworkAclEntry Text-cnaeProtocol = lens _cnaeProtocol (\s a -> s { _cnaeProtocol = a })---- | Indicates whether to allow or deny the traffic that matches the rule.-cnaeRuleAction :: Lens' CreateNetworkAclEntry RuleAction-cnaeRuleAction = lens _cnaeRuleAction (\s a -> s { _cnaeRuleAction = a })---- | The rule number for the entry (for example, 100). ACL entries are processed--- in ascending order by rule number.------ Constraints: Positive integer from 1 to 32766-cnaeRuleNumber :: Lens' CreateNetworkAclEntry Int-cnaeRuleNumber = lens _cnaeRuleNumber (\s a -> s { _cnaeRuleNumber = a })--data CreateNetworkAclEntryResponse = CreateNetworkAclEntryResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'CreateNetworkAclEntryResponse' constructor.-createNetworkAclEntryResponse :: CreateNetworkAclEntryResponse-createNetworkAclEntryResponse = CreateNetworkAclEntryResponse--instance ToPath CreateNetworkAclEntry where-    toPath = const "/"--instance ToQuery CreateNetworkAclEntry where-    toQuery CreateNetworkAclEntry{..} = mconcat-        [ "CidrBlock"    =? _cnaeCidrBlock-        , "DryRun"       =? _cnaeDryRun-        , "Egress"       =? _cnaeEgress-        , "Icmp"         =? _cnaeIcmpTypeCode-        , "NetworkAclId" =? _cnaeNetworkAclId-        , "PortRange"    =? _cnaePortRange-        , "Protocol"     =? _cnaeProtocol-        , "RuleAction"   =? _cnaeRuleAction-        , "RuleNumber"   =? _cnaeRuleNumber-        ]--instance ToHeaders CreateNetworkAclEntry--instance AWSRequest CreateNetworkAclEntry where-    type Sv CreateNetworkAclEntry = EC2-    type Rs CreateNetworkAclEntry = CreateNetworkAclEntryResponse--    request  = post "CreateNetworkAclEntry"-    response = nullResponse CreateNetworkAclEntryResponse
gen/Network/AWS/EC2/CreateNetworkInterface.hs view
@@ -1,187 +1,204 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateNetworkInterface--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a network interface in the specified subnet.+-- Creates a network interface in the specified subnet. ----- For more information about network interfaces, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html Elastic Network Interfaces>+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateNetworkInterface.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateNetworkInterface.html AWS API Reference> for CreateNetworkInterface. module Network.AWS.EC2.CreateNetworkInterface     (-    -- * Request-      CreateNetworkInterface-    -- ** Request constructor-    , createNetworkInterface-    -- ** Request lenses-    , cniDescription-    , cniDryRun+    -- * Creating a Request+      createNetworkInterface+    , CreateNetworkInterface+    -- * Request Lenses+    , cniPrivateIPAddresses     , cniGroups-    , cniPrivateIpAddress-    , cniPrivateIpAddresses-    , cniSecondaryPrivateIpAddressCount+    , cniPrivateIPAddress+    , cniSecondaryPrivateIPAddressCount+    , cniDryRun+    , cniDescription     , cniSubnetId -    -- * Response-    , CreateNetworkInterfaceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createNetworkInterfaceResponse-    -- ** Response lenses-    , cnirNetworkInterface+    , CreateNetworkInterfaceResponse+    -- * Response Lenses+    , cnirsNetworkInterface+    , cnirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateNetworkInterface = CreateNetworkInterface-    { _cniDescription                    :: Maybe Text-    , _cniDryRun                         :: Maybe Bool-    , _cniGroups                         :: List "SecurityGroupId" Text-    , _cniPrivateIpAddress               :: Maybe Text-    , _cniPrivateIpAddresses             :: List "item" PrivateIpAddressSpecification-    , _cniSecondaryPrivateIpAddressCount :: Maybe Int-    , _cniSubnetId                       :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'createNetworkInterface' smart constructor.+data CreateNetworkInterface = CreateNetworkInterface'+    { _cniPrivateIPAddresses             :: !(Maybe [PrivateIPAddressSpecification])+    , _cniGroups                         :: !(Maybe [Text])+    , _cniPrivateIPAddress               :: !(Maybe Text)+    , _cniSecondaryPrivateIPAddressCount :: !(Maybe Int)+    , _cniDryRun                         :: !(Maybe Bool)+    , _cniDescription                    :: !(Maybe Text)+    , _cniSubnetId                       :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateNetworkInterface' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateNetworkInterface' with the minimum fields required to make a request. ----- * 'cniDescription' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cniDryRun' @::@ 'Maybe' 'Bool'+-- * 'cniPrivateIPAddresses' ----- * 'cniGroups' @::@ ['Text']+-- * 'cniGroups' ----- * 'cniPrivateIpAddress' @::@ 'Maybe' 'Text'+-- * 'cniPrivateIPAddress' ----- * 'cniPrivateIpAddresses' @::@ ['PrivateIpAddressSpecification']+-- * 'cniSecondaryPrivateIPAddressCount' ----- * 'cniSecondaryPrivateIpAddressCount' @::@ 'Maybe' 'Int'+-- * 'cniDryRun' ----- * 'cniSubnetId' @::@ 'Text'+-- * 'cniDescription' ---createNetworkInterface :: Text -- ^ 'cniSubnetId'-                       -> CreateNetworkInterface-createNetworkInterface p1 = CreateNetworkInterface-    { _cniSubnetId                       = p1-    , _cniDescription                    = Nothing-    , _cniPrivateIpAddress               = Nothing-    , _cniGroups                         = mempty-    , _cniPrivateIpAddresses             = mempty-    , _cniSecondaryPrivateIpAddressCount = Nothing-    , _cniDryRun                         = Nothing+-- * 'cniSubnetId'+createNetworkInterface+    :: Text -- ^ 'cniSubnetId'+    -> CreateNetworkInterface+createNetworkInterface pSubnetId_ =+    CreateNetworkInterface'+    { _cniPrivateIPAddresses = Nothing+    , _cniGroups = Nothing+    , _cniPrivateIPAddress = Nothing+    , _cniSecondaryPrivateIPAddressCount = Nothing+    , _cniDryRun = Nothing+    , _cniDescription = Nothing+    , _cniSubnetId = pSubnetId_     } --- | A description for the network interface.-cniDescription :: Lens' CreateNetworkInterface (Maybe Text)-cniDescription = lens _cniDescription (\s a -> s { _cniDescription = 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'.-cniDryRun :: Lens' CreateNetworkInterface (Maybe Bool)-cniDryRun = lens _cniDryRun (\s a -> s { _cniDryRun = a })+-- | One or more private IP addresses.+cniPrivateIPAddresses :: Lens' CreateNetworkInterface [PrivateIPAddressSpecification]+cniPrivateIPAddresses = lens _cniPrivateIPAddresses (\ s a -> s{_cniPrivateIPAddresses = a}) . _Default . _Coerce;  -- | The IDs of one or more security groups. cniGroups :: Lens' CreateNetworkInterface [Text]-cniGroups = lens _cniGroups (\s a -> s { _cniGroups = a }) . _List---- | The primary private IP address of the network interface. If you don't specify--- an IP address, Amazon EC2 selects one for you from the subnet range. If you--- specify an IP address, you cannot indicate any IP addresses specified in 'privateIpAddresses' as primary (only one IP address can be designated as primary).-cniPrivateIpAddress :: Lens' CreateNetworkInterface (Maybe Text)-cniPrivateIpAddress =-    lens _cniPrivateIpAddress (\s a -> s { _cniPrivateIpAddress = a })+cniGroups = lens _cniGroups (\ s a -> s{_cniGroups = a}) . _Default . _Coerce; --- | One or more private IP addresses.-cniPrivateIpAddresses :: Lens' CreateNetworkInterface [PrivateIpAddressSpecification]-cniPrivateIpAddresses =-    lens _cniPrivateIpAddresses (\s a -> s { _cniPrivateIpAddresses = a })-        . _List+-- | The primary private IP address of the network interface. If you don\'t+-- specify an IP address, Amazon EC2 selects one for you from the subnet+-- range. If you specify an IP address, you cannot indicate any IP+-- addresses specified in 'privateIpAddresses' as primary (only one IP+-- address can be designated as primary).+cniPrivateIPAddress :: Lens' CreateNetworkInterface (Maybe Text)+cniPrivateIPAddress = lens _cniPrivateIPAddress (\ s a -> s{_cniPrivateIPAddress = a});  -- | The number of secondary private IP addresses to assign to a network--- interface. When you specify a number of secondary IP addresses, Amazon EC2--- selects these IP addresses within the subnet range. You can't specify this--- option and specify more than one private IP address using 'privateIpAddresses'.+-- interface. When you specify a number of secondary IP addresses, Amazon+-- EC2 selects these IP addresses within the subnet range. You can\'t+-- specify this option and specify more than one private IP address using+-- 'privateIpAddresses'. ----- The number of IP addresses you can assign to a network interface varies by--- instance type. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI Private IP Addresses Per ENI PerInstance Type> in the /Amazon Elastic Compute Cloud User Guide/.-cniSecondaryPrivateIpAddressCount :: Lens' CreateNetworkInterface (Maybe Int)-cniSecondaryPrivateIpAddressCount =-    lens _cniSecondaryPrivateIpAddressCount-        (\s a -> s { _cniSecondaryPrivateIpAddressCount = a })+-- The number of IP addresses you can assign to a network interface varies+-- by instance type. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI Private IP Addresses Per ENI Per Instance Type>+-- in the /Amazon Elastic Compute Cloud User Guide/.+cniSecondaryPrivateIPAddressCount :: Lens' CreateNetworkInterface (Maybe Int)+cniSecondaryPrivateIPAddressCount = lens _cniSecondaryPrivateIPAddressCount (\ s a -> s{_cniSecondaryPrivateIPAddressCount = 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'.+cniDryRun :: Lens' CreateNetworkInterface (Maybe Bool)+cniDryRun = lens _cniDryRun (\ s a -> s{_cniDryRun = a});++-- | A description for the network interface.+cniDescription :: Lens' CreateNetworkInterface (Maybe Text)+cniDescription = lens _cniDescription (\ s a -> s{_cniDescription = a});+ -- | The ID of the subnet to associate with the network interface. cniSubnetId :: Lens' CreateNetworkInterface Text-cniSubnetId = lens _cniSubnetId (\s a -> s { _cniSubnetId = a })--newtype CreateNetworkInterfaceResponse = CreateNetworkInterfaceResponse-    { _cnirNetworkInterface :: Maybe NetworkInterface-    } deriving (Eq, Read, Show)+cniSubnetId = lens _cniSubnetId (\ s a -> s{_cniSubnetId = a}); --- | 'CreateNetworkInterfaceResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cnirNetworkInterface' @::@ 'Maybe' 'NetworkInterface'----createNetworkInterfaceResponse :: CreateNetworkInterfaceResponse-createNetworkInterfaceResponse = CreateNetworkInterfaceResponse-    { _cnirNetworkInterface = Nothing-    }+instance AWSRequest CreateNetworkInterface where+        type Sv CreateNetworkInterface = EC2+        type Rs CreateNetworkInterface =+             CreateNetworkInterfaceResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateNetworkInterfaceResponse' <$>+                   (x .@? "networkInterface") <*> (pure (fromEnum s))) --- | Information about the network interface.-cnirNetworkInterface :: Lens' CreateNetworkInterfaceResponse (Maybe NetworkInterface)-cnirNetworkInterface =-    lens _cnirNetworkInterface (\s a -> s { _cnirNetworkInterface = a })+instance ToHeaders CreateNetworkInterface where+        toHeaders = const mempty  instance ToPath CreateNetworkInterface where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateNetworkInterface where-    toQuery CreateNetworkInterface{..} = mconcat-        [ "Description"                    =? _cniDescription-        , "DryRun"                         =? _cniDryRun-        , "SecurityGroupId"                `toQueryList` _cniGroups-        , "PrivateIpAddress"               =? _cniPrivateIpAddress-        , "PrivateIpAddresses"             `toQueryList` _cniPrivateIpAddresses-        , "SecondaryPrivateIpAddressCount" =? _cniSecondaryPrivateIpAddressCount-        , "SubnetId"                       =? _cniSubnetId-        ]+        toQuery CreateNetworkInterface'{..}+          = mconcat+              ["Action" =:+                 ("CreateNetworkInterface" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "item" <$> _cniPrivateIPAddresses),+               toQuery+                 (toQueryList "SecurityGroupId" <$> _cniGroups),+               "PrivateIpAddress" =: _cniPrivateIPAddress,+               "SecondaryPrivateIpAddressCount" =:+                 _cniSecondaryPrivateIPAddressCount,+               "DryRun" =: _cniDryRun,+               "Description" =: _cniDescription,+               "SubnetId" =: _cniSubnetId] -instance ToHeaders CreateNetworkInterface+-- | /See:/ 'createNetworkInterfaceResponse' smart constructor.+data CreateNetworkInterfaceResponse = CreateNetworkInterfaceResponse'+    { _cnirsNetworkInterface :: !(Maybe NetworkInterface)+    , _cnirsStatus           :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateNetworkInterface where-    type Sv CreateNetworkInterface = EC2-    type Rs CreateNetworkInterface = CreateNetworkInterfaceResponse+-- | Creates a value of 'CreateNetworkInterfaceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cnirsNetworkInterface'+--+-- * 'cnirsStatus'+createNetworkInterfaceResponse+    :: Int -- ^ 'cnirsStatus'+    -> CreateNetworkInterfaceResponse+createNetworkInterfaceResponse pStatus_ =+    CreateNetworkInterfaceResponse'+    { _cnirsNetworkInterface = Nothing+    , _cnirsStatus = pStatus_+    } -    request  = post "CreateNetworkInterface"-    response = xmlResponse+-- | Information about the network interface.+cnirsNetworkInterface :: Lens' CreateNetworkInterfaceResponse (Maybe NetworkInterface)+cnirsNetworkInterface = lens _cnirsNetworkInterface (\ s a -> s{_cnirsNetworkInterface = a}); -instance FromXML CreateNetworkInterfaceResponse where-    parseXML x = CreateNetworkInterfaceResponse-        <$> x .@? "networkInterface"+-- | The response status code.+cnirsStatus :: Lens' CreateNetworkInterfaceResponse Int+cnirsStatus = lens _cnirsStatus (\ s a -> s{_cnirsStatus = a});
gen/Network/AWS/EC2/CreatePlacementGroup.hs view
@@ -1,118 +1,125 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreatePlacementGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a placement group that you launch cluster instances into. You must--- give the group a name that's unique within the scope of your account.+-- Creates a placement group that you launch cluster instances into. You+-- must give the group a name that\'s unique within the scope of your+-- account. ----- 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/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreatePlacementGroup.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreatePlacementGroup.html AWS API Reference> for CreatePlacementGroup. module Network.AWS.EC2.CreatePlacementGroup     (-    -- * Request-      CreatePlacementGroup-    -- ** Request constructor-    , createPlacementGroup-    -- ** Request lenses+    -- * Creating a Request+      createPlacementGroup+    , CreatePlacementGroup+    -- * Request Lenses     , cpgDryRun     , cpgGroupName     , cpgStrategy -    -- * Response-    , CreatePlacementGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createPlacementGroupResponse+    , CreatePlacementGroupResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreatePlacementGroup = CreatePlacementGroup-    { _cpgDryRun    :: Maybe Bool-    , _cpgGroupName :: Text-    , _cpgStrategy  :: PlacementStrategy-    } deriving (Eq, Read, Show)+-- | /See:/ 'createPlacementGroup' smart constructor.+data CreatePlacementGroup = CreatePlacementGroup'+    { _cpgDryRun    :: !(Maybe Bool)+    , _cpgGroupName :: !Text+    , _cpgStrategy  :: !PlacementStrategy+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreatePlacementGroup' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreatePlacementGroup' with the minimum fields required to make a request. ----- * 'cpgDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cpgGroupName' @::@ 'Text'+-- * 'cpgDryRun' ----- * 'cpgStrategy' @::@ 'PlacementStrategy'+-- * 'cpgGroupName' ---createPlacementGroup :: Text -- ^ 'cpgGroupName'-                     -> PlacementStrategy -- ^ 'cpgStrategy'-                     -> CreatePlacementGroup-createPlacementGroup p1 p2 = CreatePlacementGroup-    { _cpgGroupName = p1-    , _cpgStrategy  = p2-    , _cpgDryRun    = Nothing+-- * 'cpgStrategy'+createPlacementGroup+    :: Text -- ^ 'cpgGroupName'+    -> PlacementStrategy -- ^ 'cpgStrategy'+    -> CreatePlacementGroup+createPlacementGroup pGroupName_ pStrategy_ =+    CreatePlacementGroup'+    { _cpgDryRun = Nothing+    , _cpgGroupName = pGroupName_+    , _cpgStrategy = pStrategy_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. cpgDryRun :: Lens' CreatePlacementGroup (Maybe Bool)-cpgDryRun = lens _cpgDryRun (\s a -> s { _cpgDryRun = a })+cpgDryRun = lens _cpgDryRun (\ s a -> s{_cpgDryRun = a});  -- | A name for the placement group. -- -- Constraints: Up to 255 ASCII characters cpgGroupName :: Lens' CreatePlacementGroup Text-cpgGroupName = lens _cpgGroupName (\s a -> s { _cpgGroupName = a })+cpgGroupName = lens _cpgGroupName (\ s a -> s{_cpgGroupName = a});  -- | The placement strategy. cpgStrategy :: Lens' CreatePlacementGroup PlacementStrategy-cpgStrategy = lens _cpgStrategy (\s a -> s { _cpgStrategy = a })+cpgStrategy = lens _cpgStrategy (\ s a -> s{_cpgStrategy = a}); -data CreatePlacementGroupResponse = CreatePlacementGroupResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest CreatePlacementGroup where+        type Sv CreatePlacementGroup = EC2+        type Rs CreatePlacementGroup =+             CreatePlacementGroupResponse+        request = post+        response = receiveNull CreatePlacementGroupResponse' --- | 'CreatePlacementGroupResponse' constructor.-createPlacementGroupResponse :: CreatePlacementGroupResponse-createPlacementGroupResponse = CreatePlacementGroupResponse+instance ToHeaders CreatePlacementGroup where+        toHeaders = const mempty  instance ToPath CreatePlacementGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreatePlacementGroup where-    toQuery CreatePlacementGroup{..} = mconcat-        [ "DryRun"    =? _cpgDryRun-        , "GroupName" =? _cpgGroupName-        , "Strategy"  =? _cpgStrategy-        ]--instance ToHeaders CreatePlacementGroup+        toQuery CreatePlacementGroup'{..}+          = mconcat+              ["Action" =: ("CreatePlacementGroup" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _cpgDryRun, "GroupName" =: _cpgGroupName,+               "Strategy" =: _cpgStrategy] -instance AWSRequest CreatePlacementGroup where-    type Sv CreatePlacementGroup = EC2-    type Rs CreatePlacementGroup = CreatePlacementGroupResponse+-- | /See:/ 'createPlacementGroupResponse' smart constructor.+data CreatePlacementGroupResponse =+    CreatePlacementGroupResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "CreatePlacementGroup"-    response = nullResponse CreatePlacementGroupResponse+-- | Creates a value of 'CreatePlacementGroupResponse' with the minimum fields required to make a request.+--+createPlacementGroupResponse+    :: CreatePlacementGroupResponse+createPlacementGroupResponse = CreatePlacementGroupResponse'
gen/Network/AWS/EC2/CreateReservedInstancesListing.hs view
@@ -1,168 +1,185 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateReservedInstancesListing--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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 through the--- Reserved Instance Marketplace work like any other Reserved Instances.+-- 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. ----- 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.+-- 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. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html Reserved Instance Marketplace> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateReservedInstancesListing.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateReservedInstancesListing.html AWS API Reference> for CreateReservedInstancesListing. module Network.AWS.EC2.CreateReservedInstancesListing     (-    -- * Request-      CreateReservedInstancesListing-    -- ** Request constructor-    , createReservedInstancesListing-    -- ** Request lenses-    , crilClientToken+    -- * Creating a Request+      createReservedInstancesListing+    , CreateReservedInstancesListing+    -- * Request Lenses+    , crilReservedInstancesId     , crilInstanceCount     , crilPriceSchedules-    , crilReservedInstancesId+    , crilClientToken -    -- * Response-    , CreateReservedInstancesListingResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createReservedInstancesListingResponse-    -- ** Response lenses-    , crilr1ReservedInstancesListings+    , CreateReservedInstancesListingResponse+    -- * Response Lenses+    , crersReservedInstancesListings+    , crersStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateReservedInstancesListing = CreateReservedInstancesListing-    { _crilClientToken         :: Text-    , _crilInstanceCount       :: Int-    , _crilPriceSchedules      :: List "item" PriceScheduleSpecification-    , _crilReservedInstancesId :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'createReservedInstancesListing' smart constructor.+data CreateReservedInstancesListing = CreateReservedInstancesListing'+    { _crilReservedInstancesId :: !Text+    , _crilInstanceCount       :: !Int+    , _crilPriceSchedules      :: ![PriceScheduleSpecification]+    , _crilClientToken         :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateReservedInstancesListing' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateReservedInstancesListing' with the minimum fields required to make a request. ----- * 'crilClientToken' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'crilInstanceCount' @::@ 'Int'+-- * 'crilReservedInstancesId' ----- * 'crilPriceSchedules' @::@ ['PriceScheduleSpecification']+-- * 'crilInstanceCount' ----- * 'crilReservedInstancesId' @::@ 'Text'+-- * 'crilPriceSchedules' ---createReservedInstancesListing :: Text -- ^ 'crilReservedInstancesId'-                               -> Int -- ^ 'crilInstanceCount'-                               -> Text -- ^ 'crilClientToken'-                               -> CreateReservedInstancesListing-createReservedInstancesListing p1 p2 p3 = CreateReservedInstancesListing-    { _crilReservedInstancesId = p1-    , _crilInstanceCount       = p2-    , _crilClientToken         = p3-    , _crilPriceSchedules      = mempty+-- * 'crilClientToken'+createReservedInstancesListing+    :: Text -- ^ 'crilReservedInstancesId'+    -> Int -- ^ 'crilInstanceCount'+    -> Text -- ^ 'crilClientToken'+    -> CreateReservedInstancesListing+createReservedInstancesListing pReservedInstancesId_ pInstanceCount_ pClientToken_ =+    CreateReservedInstancesListing'+    { _crilReservedInstancesId = pReservedInstancesId_+    , _crilInstanceCount = pInstanceCount_+    , _crilPriceSchedules = mempty+    , _crilClientToken = pClientToken_     } --- | 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>.-crilClientToken :: Lens' CreateReservedInstancesListing Text-crilClientToken = lens _crilClientToken (\s a -> s { _crilClientToken = a })+-- | 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 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.+-- | 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. crilInstanceCount :: Lens' CreateReservedInstancesListing Int-crilInstanceCount =-    lens _crilInstanceCount (\s a -> s { _crilInstanceCount = a })+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 })-        . _List---- | The ID of the active Reserved Instance.-crilReservedInstancesId :: Lens' CreateReservedInstancesListing Text-crilReservedInstancesId =-    lens _crilReservedInstancesId (\s a -> s { _crilReservedInstancesId = a })+crilPriceSchedules = lens _crilPriceSchedules (\ s a -> s{_crilPriceSchedules = a}) . _Coerce; -newtype CreateReservedInstancesListingResponse = CreateReservedInstancesListingResponse-    { _crilr1ReservedInstancesListings :: List "item" ReservedInstancesListing-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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>.+crilClientToken :: Lens' CreateReservedInstancesListing Text+crilClientToken = lens _crilClientToken (\ s a -> s{_crilClientToken = a}); --- | 'CreateReservedInstancesListingResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'crilr1ReservedInstancesListings' @::@ ['ReservedInstancesListing']----createReservedInstancesListingResponse :: CreateReservedInstancesListingResponse-createReservedInstancesListingResponse = CreateReservedInstancesListingResponse-    { _crilr1ReservedInstancesListings = mempty-    }+instance AWSRequest CreateReservedInstancesListing+         where+        type Sv CreateReservedInstancesListing = EC2+        type Rs CreateReservedInstancesListing =+             CreateReservedInstancesListingResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateReservedInstancesListingResponse' <$>+                   (x .@? "reservedInstancesListingsSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about the Reserved Instances listing.-crilr1ReservedInstancesListings :: Lens' CreateReservedInstancesListingResponse [ReservedInstancesListing]-crilr1ReservedInstancesListings =-    lens _crilr1ReservedInstancesListings-        (\s a -> s { _crilr1ReservedInstancesListings = a })-            . _List+instance ToHeaders CreateReservedInstancesListing+         where+        toHeaders = const mempty  instance ToPath CreateReservedInstancesListing where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateReservedInstancesListing where-    toQuery CreateReservedInstancesListing{..} = mconcat-        [ "ClientToken"         =? _crilClientToken-        , "InstanceCount"       =? _crilInstanceCount-        , "PriceSchedules"      `toQueryList` _crilPriceSchedules-        , "ReservedInstancesId" =? _crilReservedInstancesId-        ]+        toQuery CreateReservedInstancesListing'{..}+          = mconcat+              ["Action" =:+                 ("CreateReservedInstancesListing" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "ReservedInstancesId" =: _crilReservedInstancesId,+               "InstanceCount" =: _crilInstanceCount,+               toQueryList "item" _crilPriceSchedules,+               "ClientToken" =: _crilClientToken] -instance ToHeaders CreateReservedInstancesListing+-- | /See:/ 'createReservedInstancesListingResponse' smart constructor.+data CreateReservedInstancesListingResponse = CreateReservedInstancesListingResponse'+    { _crersReservedInstancesListings :: !(Maybe [ReservedInstancesListing])+    , _crersStatus                    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateReservedInstancesListing where-    type Sv CreateReservedInstancesListing = EC2-    type Rs CreateReservedInstancesListing = CreateReservedInstancesListingResponse+-- | Creates a value of 'CreateReservedInstancesListingResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crersReservedInstancesListings'+--+-- * 'crersStatus'+createReservedInstancesListingResponse+    :: Int -- ^ 'crersStatus'+    -> CreateReservedInstancesListingResponse+createReservedInstancesListingResponse pStatus_ =+    CreateReservedInstancesListingResponse'+    { _crersReservedInstancesListings = Nothing+    , _crersStatus = pStatus_+    } -    request  = post "CreateReservedInstancesListing"-    response = xmlResponse+-- | Information about the Reserved Instances listing.+crersReservedInstancesListings :: Lens' CreateReservedInstancesListingResponse [ReservedInstancesListing]+crersReservedInstancesListings = lens _crersReservedInstancesListings (\ s a -> s{_crersReservedInstancesListings = a}) . _Default . _Coerce; -instance FromXML CreateReservedInstancesListingResponse where-    parseXML x = CreateReservedInstancesListingResponse-        <$> x .@? "reservedInstancesListingsSet" .!@ mempty+-- | The response status code.+crersStatus :: Lens' CreateReservedInstancesListingResponse Int+crersStatus = lens _crersStatus (\ s a -> s{_crersStatus = a});
gen/Network/AWS/EC2/CreateRoute.hs view
@@ -1,217 +1,207 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateRoute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a route in a route table within a VPC.+-- Creates a route in a route table within a VPC. ----- You must specify one of the following targets: Internet gateway or virtual--- private gateway, NAT instance, VPC peering connection, or network interface.+-- You must specify one of the following targets: Internet gateway or+-- virtual private gateway, NAT instance, VPC peering connection, or+-- network interface. -- -- When determining how to route traffic, we use the route with the most--- specific match. For example, let's say the traffic is destined for '192.0.2.3',--- and the route table includes the following two routes:+-- specific match. For example, let\'s say the traffic is destined for+-- '192.0.2.3', and the route table includes the following two routes: ----- '192.0.2.0/24' (goes to some target A)+-- -   '192.0.2.0\/24' (goes to some target A) ----- '192.0.2.0/28' (goes to some target B)+-- -   '192.0.2.0\/28' (goes to some target B) -- -- Both routes apply to the traffic destined for '192.0.2.3'. However, the -- second route in the list covers a smaller number of IP addresses and is--- therefore more specific, so we use that route to determine where to target--- the traffic.+-- therefore more specific, so we use that route to determine where to+-- target the traffic. ----- For more information about route tables, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html Route Tables> in the /AmazonVirtual Private Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateRoute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateRoute.html AWS API Reference> for CreateRoute. module Network.AWS.EC2.CreateRoute     (-    -- * Request-      CreateRoute-    -- ** Request constructor-    , createRoute-    -- ** Request lenses-    , crClientToken-    , crDestinationCidrBlock-    , crDryRun-    , crGatewayId+    -- * Creating a Request+      createRoute+    , CreateRoute+    -- * Request Lenses     , crInstanceId+    , crVPCPeeringConnectionId     , crNetworkInterfaceId+    , crGatewayId+    , crDryRun     , crRouteTableId-    , crVpcPeeringConnectionId+    , crDestinationCIdRBlock -    -- * Response-    , CreateRouteResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createRouteResponse-    -- ** Response lenses-    , crrClientToken-    , crrReturn+    , CreateRouteResponse+    -- * Response Lenses+    , crrsReturn+    , crrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateRoute = CreateRoute-    { _crClientToken            :: Maybe Text-    , _crDestinationCidrBlock   :: Text-    , _crDryRun                 :: Maybe Bool-    , _crGatewayId              :: Maybe Text-    , _crInstanceId             :: Maybe Text-    , _crNetworkInterfaceId     :: Maybe Text-    , _crRouteTableId           :: Text-    , _crVpcPeeringConnectionId :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'createRoute' smart constructor.+data CreateRoute = CreateRoute'+    { _crInstanceId             :: !(Maybe Text)+    , _crVPCPeeringConnectionId :: !(Maybe Text)+    , _crNetworkInterfaceId     :: !(Maybe Text)+    , _crGatewayId              :: !(Maybe Text)+    , _crDryRun                 :: !(Maybe Bool)+    , _crRouteTableId           :: !Text+    , _crDestinationCIdRBlock   :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateRoute' constructor.------ The fields accessible through corresponding lenses are:------ * 'crClientToken' @::@ 'Maybe' 'Text'+-- | Creates a value of 'CreateRoute' with the minimum fields required to make a request. ----- * 'crDestinationCidrBlock' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'crDryRun' @::@ 'Maybe' 'Bool'+-- * 'crInstanceId' ----- * 'crGatewayId' @::@ 'Maybe' 'Text'+-- * 'crVPCPeeringConnectionId' ----- * 'crInstanceId' @::@ 'Maybe' 'Text'+-- * 'crNetworkInterfaceId' ----- * 'crNetworkInterfaceId' @::@ 'Maybe' 'Text'+-- * 'crGatewayId' ----- * 'crRouteTableId' @::@ 'Text'+-- * 'crDryRun' ----- * 'crVpcPeeringConnectionId' @::@ 'Maybe' 'Text'+-- * 'crRouteTableId' ---createRoute :: Text -- ^ 'crRouteTableId'-            -> Text -- ^ 'crDestinationCidrBlock'-            -> CreateRoute-createRoute p1 p2 = CreateRoute-    { _crRouteTableId           = p1-    , _crDestinationCidrBlock   = p2-    , _crDryRun                 = Nothing-    , _crGatewayId              = Nothing-    , _crInstanceId             = Nothing-    , _crNetworkInterfaceId     = Nothing-    , _crVpcPeeringConnectionId = Nothing-    , _crClientToken            = Nothing+-- * 'crDestinationCIdRBlock'+createRoute+    :: Text -- ^ 'crRouteTableId'+    -> Text -- ^ 'crDestinationCIdRBlock'+    -> CreateRoute+createRoute pRouteTableId_ pDestinationCIdRBlock_ =+    CreateRoute'+    { _crInstanceId = Nothing+    , _crVPCPeeringConnectionId = Nothing+    , _crNetworkInterfaceId = Nothing+    , _crGatewayId = Nothing+    , _crDryRun = Nothing+    , _crRouteTableId = pRouteTableId_+    , _crDestinationCIdRBlock = pDestinationCIdRBlock_     } --- | Unique, case-sensitive identifier you provide to ensure the idempotency of--- the request. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html How to Ensure Idempotency>.-crClientToken :: Lens' CreateRoute (Maybe Text)-crClientToken = lens _crClientToken (\s a -> s { _crClientToken = a })+-- | The ID of a NAT instance in your VPC. The operation fails if you specify+-- an instance ID unless exactly one network interface is attached.+crInstanceId :: Lens' CreateRoute (Maybe Text)+crInstanceId = lens _crInstanceId (\ s a -> s{_crInstanceId = a}); --- | The CIDR address block used for the destination match. Routing decisions are--- based on the most specific match.-crDestinationCidrBlock :: Lens' CreateRoute Text-crDestinationCidrBlock =-    lens _crDestinationCidrBlock (\s a -> s { _crDestinationCidrBlock = a })+-- | The ID of a VPC peering connection.+crVPCPeeringConnectionId :: Lens' CreateRoute (Maybe Text)+crVPCPeeringConnectionId = lens _crVPCPeeringConnectionId (\ s a -> s{_crVPCPeeringConnectionId = 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'.-crDryRun :: Lens' CreateRoute (Maybe Bool)-crDryRun = lens _crDryRun (\s a -> s { _crDryRun = a })+-- | The ID of a network interface.+crNetworkInterfaceId :: Lens' CreateRoute (Maybe Text)+crNetworkInterfaceId = lens _crNetworkInterfaceId (\ s a -> s{_crNetworkInterfaceId = a}); --- | The ID of an Internet gateway or virtual private gateway attached to your VPC.+-- | The ID of an Internet gateway or virtual private gateway attached to+-- your VPC. crGatewayId :: Lens' CreateRoute (Maybe Text)-crGatewayId = lens _crGatewayId (\s a -> s { _crGatewayId = a })---- | The ID of a NAT instance in your VPC. The operation fails if you specify an--- instance ID unless exactly one network interface is attached.-crInstanceId :: Lens' CreateRoute (Maybe Text)-crInstanceId = lens _crInstanceId (\s a -> s { _crInstanceId = a })+crGatewayId = lens _crGatewayId (\ s a -> s{_crGatewayId = a}); --- | The ID of a network interface.-crNetworkInterfaceId :: Lens' CreateRoute (Maybe Text)-crNetworkInterfaceId =-    lens _crNetworkInterfaceId (\s a -> s { _crNetworkInterfaceId = 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'.+crDryRun :: Lens' CreateRoute (Maybe Bool)+crDryRun = lens _crDryRun (\ s a -> s{_crDryRun = a});  -- | The ID of the route table for the route. crRouteTableId :: Lens' CreateRoute Text-crRouteTableId = lens _crRouteTableId (\s a -> s { _crRouteTableId = a })---- | The ID of a VPC peering connection.-crVpcPeeringConnectionId :: Lens' CreateRoute (Maybe Text)-crVpcPeeringConnectionId =-    lens _crVpcPeeringConnectionId-        (\s a -> s { _crVpcPeeringConnectionId = a })--data CreateRouteResponse = CreateRouteResponse-    { _crrClientToken :: Maybe Text-    , _crrReturn      :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+crRouteTableId = lens _crRouteTableId (\ s a -> s{_crRouteTableId = a}); --- | 'CreateRouteResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'crrClientToken' @::@ 'Maybe' 'Text'------ * 'crrReturn' @::@ 'Maybe' 'Bool'----createRouteResponse :: CreateRouteResponse-createRouteResponse = CreateRouteResponse-    { _crrReturn      = Nothing-    , _crrClientToken = Nothing-    }+-- | The CIDR address block used for the destination match. Routing decisions+-- are based on the most specific match.+crDestinationCIdRBlock :: Lens' CreateRoute Text+crDestinationCIdRBlock = lens _crDestinationCIdRBlock (\ s a -> s{_crDestinationCIdRBlock = a}); --- | Unique, case-sensitive identifier you provide to ensure the idempotency of--- the request.-crrClientToken :: Lens' CreateRouteResponse (Maybe Text)-crrClientToken = lens _crrClientToken (\s a -> s { _crrClientToken = a })+instance AWSRequest CreateRoute where+        type Sv CreateRoute = EC2+        type Rs CreateRoute = CreateRouteResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateRouteResponse' <$>+                   (x .@? "return") <*> (pure (fromEnum s))) --- | Returns 'true' if the request succeeds; otherwise, it returns an error.-crrReturn :: Lens' CreateRouteResponse (Maybe Bool)-crrReturn = lens _crrReturn (\s a -> s { _crrReturn = a })+instance ToHeaders CreateRoute where+        toHeaders = const mempty  instance ToPath CreateRoute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateRoute where-    toQuery CreateRoute{..} = mconcat-        [ "ClientToken"            =? _crClientToken-        , "DestinationCidrBlock"   =? _crDestinationCidrBlock-        , "DryRun"                 =? _crDryRun-        , "GatewayId"              =? _crGatewayId-        , "InstanceId"             =? _crInstanceId-        , "NetworkInterfaceId"     =? _crNetworkInterfaceId-        , "RouteTableId"           =? _crRouteTableId-        , "VpcPeeringConnectionId" =? _crVpcPeeringConnectionId-        ]+        toQuery CreateRoute'{..}+          = mconcat+              ["Action" =: ("CreateRoute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "InstanceId" =: _crInstanceId,+               "VpcPeeringConnectionId" =:+                 _crVPCPeeringConnectionId,+               "NetworkInterfaceId" =: _crNetworkInterfaceId,+               "GatewayId" =: _crGatewayId, "DryRun" =: _crDryRun,+               "RouteTableId" =: _crRouteTableId,+               "DestinationCidrBlock" =: _crDestinationCIdRBlock] -instance ToHeaders CreateRoute+-- | /See:/ 'createRouteResponse' smart constructor.+data CreateRouteResponse = CreateRouteResponse'+    { _crrsReturn :: !(Maybe Bool)+    , _crrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateRoute where-    type Sv CreateRoute = EC2-    type Rs CreateRoute = CreateRouteResponse+-- | Creates a value of 'CreateRouteResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crrsReturn'+--+-- * 'crrsStatus'+createRouteResponse+    :: Int -- ^ 'crrsStatus'+    -> CreateRouteResponse+createRouteResponse pStatus_ =+    CreateRouteResponse'+    { _crrsReturn = Nothing+    , _crrsStatus = pStatus_+    } -    request  = post "CreateRoute"-    response = xmlResponse+-- | Returns 'true' if the request succeeds; otherwise, it returns an error.+crrsReturn :: Lens' CreateRouteResponse (Maybe Bool)+crrsReturn = lens _crrsReturn (\ s a -> s{_crrsReturn = a}); -instance FromXML CreateRouteResponse where-    parseXML x = CreateRouteResponse-        <$> x .@? "clientToken"-        <*> x .@? "return"+-- | The response status code.+crrsStatus :: Lens' CreateRouteResponse Int+crrsStatus = lens _crrsStatus (\ s a -> s{_crrsStatus = a});
gen/Network/AWS/EC2/CreateRouteTable.hs view
@@ -1,123 +1,136 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateRouteTable--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a route table for the specified VPC. After you create a route table,--- you can add routes and associate the table with a subnet.+-- Creates a route table for the specified VPC. After you create a route+-- table, you can add routes and associate the table with a subnet. ----- For more information about route tables, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html Route Tables> in the /AmazonVirtual Private Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateRouteTable.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateRouteTable.html AWS API Reference> for CreateRouteTable. module Network.AWS.EC2.CreateRouteTable     (-    -- * Request-      CreateRouteTable-    -- ** Request constructor-    , createRouteTable-    -- ** Request lenses+    -- * Creating a Request+      createRouteTable+    , CreateRouteTable+    -- * Request Lenses     , crtDryRun-    , crtVpcId+    , crtVPCId -    -- * Response-    , CreateRouteTableResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createRouteTableResponse-    -- ** Response lenses-    , crtrRouteTable+    , CreateRouteTableResponse+    -- * Response Lenses+    , crtrsRouteTable+    , crtrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateRouteTable = CreateRouteTable-    { _crtDryRun :: Maybe Bool-    , _crtVpcId  :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'createRouteTable' smart constructor.+data CreateRouteTable = CreateRouteTable'+    { _crtDryRun :: !(Maybe Bool)+    , _crtVPCId  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateRouteTable' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateRouteTable' with the minimum fields required to make a request. ----- * 'crtDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'crtVpcId' @::@ 'Text'+-- * 'crtDryRun' ---createRouteTable :: Text -- ^ 'crtVpcId'-                 -> CreateRouteTable-createRouteTable p1 = CreateRouteTable-    { _crtVpcId  = p1-    , _crtDryRun = Nothing+-- * 'crtVPCId'+createRouteTable+    :: Text -- ^ 'crtVPCId'+    -> CreateRouteTable+createRouteTable pVPCId_ =+    CreateRouteTable'+    { _crtDryRun = Nothing+    , _crtVPCId = pVPCId_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. crtDryRun :: Lens' CreateRouteTable (Maybe Bool)-crtDryRun = lens _crtDryRun (\s a -> s { _crtDryRun = a })+crtDryRun = lens _crtDryRun (\ s a -> s{_crtDryRun = a});  -- | The ID of the VPC.-crtVpcId :: Lens' CreateRouteTable Text-crtVpcId = lens _crtVpcId (\s a -> s { _crtVpcId = a })--newtype CreateRouteTableResponse = CreateRouteTableResponse-    { _crtrRouteTable :: Maybe RouteTable-    } deriving (Eq, Read, Show)+crtVPCId :: Lens' CreateRouteTable Text+crtVPCId = lens _crtVPCId (\ s a -> s{_crtVPCId = a}); --- | 'CreateRouteTableResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'crtrRouteTable' @::@ 'Maybe' 'RouteTable'----createRouteTableResponse :: CreateRouteTableResponse-createRouteTableResponse = CreateRouteTableResponse-    { _crtrRouteTable = Nothing-    }+instance AWSRequest CreateRouteTable where+        type Sv CreateRouteTable = EC2+        type Rs CreateRouteTable = CreateRouteTableResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateRouteTableResponse' <$>+                   (x .@? "routeTable") <*> (pure (fromEnum s))) --- | Information about the route table.-crtrRouteTable :: Lens' CreateRouteTableResponse (Maybe RouteTable)-crtrRouteTable = lens _crtrRouteTable (\s a -> s { _crtrRouteTable = a })+instance ToHeaders CreateRouteTable where+        toHeaders = const mempty  instance ToPath CreateRouteTable where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateRouteTable where-    toQuery CreateRouteTable{..} = mconcat-        [ "DryRun" =? _crtDryRun-        , "VpcId"  =? _crtVpcId-        ]+        toQuery CreateRouteTable'{..}+          = mconcat+              ["Action" =: ("CreateRouteTable" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _crtDryRun, "VpcId" =: _crtVPCId] -instance ToHeaders CreateRouteTable+-- | /See:/ 'createRouteTableResponse' smart constructor.+data CreateRouteTableResponse = CreateRouteTableResponse'+    { _crtrsRouteTable :: !(Maybe RouteTable)+    , _crtrsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateRouteTable where-    type Sv CreateRouteTable = EC2-    type Rs CreateRouteTable = CreateRouteTableResponse+-- | Creates a value of 'CreateRouteTableResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crtrsRouteTable'+--+-- * 'crtrsStatus'+createRouteTableResponse+    :: Int -- ^ 'crtrsStatus'+    -> CreateRouteTableResponse+createRouteTableResponse pStatus_ =+    CreateRouteTableResponse'+    { _crtrsRouteTable = Nothing+    , _crtrsStatus = pStatus_+    } -    request  = post "CreateRouteTable"-    response = xmlResponse+-- | Information about the route table.+crtrsRouteTable :: Lens' CreateRouteTableResponse (Maybe RouteTable)+crtrsRouteTable = lens _crtrsRouteTable (\ s a -> s{_crtrsRouteTable = a}); -instance FromXML CreateRouteTableResponse where-    parseXML x = CreateRouteTableResponse-        <$> x .@? "routeTable"+-- | The response status code.+crtrsStatus :: Lens' CreateRouteTableResponse Int+crtrsStatus = lens _crtrsStatus (\ s a -> s{_crtrsStatus = a});
gen/Network/AWS/EC2/CreateSecurityGroup.hs view
@@ -1,120 +1,120 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateSecurityGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a security group.+-- Creates a security group. -- -- A security group is for use with instances either in the EC2-Classic--- platform or in a specific VPC. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html Amazon EC2 SecurityGroups> in the /Amazon Elastic Compute Cloud User Guide/ and <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html Security Groups forYour VPC> in the /Amazon Virtual Private Cloud User Guide/.+-- platform or in a specific VPC. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html Amazon EC2 Security Groups>+-- 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/. -- -- EC2-Classic: You can have up to 500 security groups. -- -- EC2-VPC: You can create up to 100 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 same--- name as a security group for use in a VPC. However, you can't have two--- security groups for use in EC2-Classic with the same name or two security--- groups for use in a VPC with the same name.+-- choice. You can have a security group for use in EC2-Classic with the+-- same name as a security group for use in a VPC. However, you can\'t have+-- two security groups for use in EC2-Classic with the same name or two+-- security groups for use in a VPC with the same name. -- -- You have a default security group for use in EC2-Classic and a default--- security group for use in your VPC. If you don't specify a security group--- when you launch an instance, the instance is launched into the appropriate--- default security group. A default security group includes a default rule that--- grants instances unrestricted network access to each other.+-- security group for use in your VPC. If you don\'t specify a security+-- group when you launch an instance, the instance is launched into the+-- appropriate default security group. A default security group includes a+-- default rule that grants instances unrestricted network access to each+-- other. ----- You can add or remove rules from your security groups using 'AuthorizeSecurityGroupIngress', 'AuthorizeSecurityGroupEgress', 'RevokeSecurityGroupIngress', and 'RevokeSecurityGroupEgress'.+-- You can add or remove rules from your security groups using+-- AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress,+-- RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSecurityGroup.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSecurityGroup.html AWS API Reference> for CreateSecurityGroup. module Network.AWS.EC2.CreateSecurityGroup     (-    -- * Request-      CreateSecurityGroup-    -- ** Request constructor-    , createSecurityGroup-    -- ** Request lenses-    , csgDescription+    -- * Creating a Request+      createSecurityGroup+    , CreateSecurityGroup+    -- * Request Lenses+    , csgVPCId     , csgDryRun     , csgGroupName-    , csgVpcId+    , csgDescription -    -- * Response-    , CreateSecurityGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createSecurityGroupResponse-    -- ** Response lenses-    , csgrGroupId+    , CreateSecurityGroupResponse+    -- * Response Lenses+    , csgrsStatus+    , csgrsGroupId     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateSecurityGroup = CreateSecurityGroup-    { _csgDescription :: Text-    , _csgDryRun      :: Maybe Bool-    , _csgGroupName   :: Text-    , _csgVpcId       :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'createSecurityGroup' smart constructor.+data CreateSecurityGroup = CreateSecurityGroup'+    { _csgVPCId       :: !(Maybe Text)+    , _csgDryRun      :: !(Maybe Bool)+    , _csgGroupName   :: !Text+    , _csgDescription :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateSecurityGroup' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateSecurityGroup' with the minimum fields required to make a request. ----- * 'csgDescription' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'csgDryRun' @::@ 'Maybe' 'Bool'+-- * 'csgVPCId' ----- * 'csgGroupName' @::@ 'Text'+-- * 'csgDryRun' ----- * 'csgVpcId' @::@ 'Maybe' 'Text'+-- * 'csgGroupName' ---createSecurityGroup :: Text -- ^ 'csgGroupName'-                    -> Text -- ^ 'csgDescription'-                    -> CreateSecurityGroup-createSecurityGroup p1 p2 = CreateSecurityGroup-    { _csgGroupName   = p1-    , _csgDescription = p2-    , _csgDryRun      = Nothing-    , _csgVpcId       = Nothing+-- * 'csgDescription'+createSecurityGroup+    :: Text -- ^ 'csgGroupName'+    -> Text -- ^ 'csgDescription'+    -> CreateSecurityGroup+createSecurityGroup pGroupName_ pDescription_ =+    CreateSecurityGroup'+    { _csgVPCId = Nothing+    , _csgDryRun = Nothing+    , _csgGroupName = pGroupName_+    , _csgDescription = pDescription_     } --- | A description for the security group. This is informational only.------ Constraints: Up to 255 characters in length------ Constraints for EC2-Classic: ASCII characters------ Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*-csgDescription :: Lens' CreateSecurityGroup Text-csgDescription = lens _csgDescription (\s a -> s { _csgDescription = a })+-- | [EC2-VPC] The ID of the VPC. Required for EC2-VPC.+csgVPCId :: Lens' CreateSecurityGroup (Maybe Text)+csgVPCId = lens _csgVPCId (\ s a -> s{_csgVPCId = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. csgDryRun :: Lens' CreateSecurityGroup (Maybe Bool)-csgDryRun = lens _csgDryRun (\s a -> s { _csgDryRun = a })+csgDryRun = lens _csgDryRun (\ s a -> s{_csgDryRun = a});  -- | The name of the security group. --@@ -122,54 +122,75 @@ -- -- Constraints for EC2-Classic: ASCII characters ----- Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*+-- Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and+-- ._-:\/()#,\'[]+=&;{}!$* csgGroupName :: Lens' CreateSecurityGroup Text-csgGroupName = lens _csgGroupName (\s a -> s { _csgGroupName = a })---- | [EC2-VPC] The ID of the VPC. Required for EC2-VPC.-csgVpcId :: Lens' CreateSecurityGroup (Maybe Text)-csgVpcId = lens _csgVpcId (\s a -> s { _csgVpcId = a })--newtype CreateSecurityGroupResponse = CreateSecurityGroupResponse-    { _csgrGroupId :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+csgGroupName = lens _csgGroupName (\ s a -> s{_csgGroupName = a}); --- | 'CreateSecurityGroupResponse' constructor.+-- | A description for the security group. This is informational only. ----- The fields accessible through corresponding lenses are:+-- Constraints: Up to 255 characters in length ----- * 'csgrGroupId' @::@ 'Text'+-- Constraints for EC2-Classic: ASCII characters ---createSecurityGroupResponse :: Text -- ^ 'csgrGroupId'-                            -> CreateSecurityGroupResponse-createSecurityGroupResponse p1 = CreateSecurityGroupResponse-    { _csgrGroupId = p1-    }+-- Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and+-- ._-:\/()#,\'[]+=&;{}!$*+csgDescription :: Lens' CreateSecurityGroup Text+csgDescription = lens _csgDescription (\ s a -> s{_csgDescription = a}); --- | The ID of the security group.-csgrGroupId :: Lens' CreateSecurityGroupResponse Text-csgrGroupId = lens _csgrGroupId (\s a -> s { _csgrGroupId = a })+instance AWSRequest CreateSecurityGroup where+        type Sv CreateSecurityGroup = EC2+        type Rs CreateSecurityGroup =+             CreateSecurityGroupResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateSecurityGroupResponse' <$>+                   (pure (fromEnum s)) <*> (x .@ "groupId")) +instance ToHeaders CreateSecurityGroup where+        toHeaders = const mempty+ instance ToPath CreateSecurityGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateSecurityGroup where-    toQuery CreateSecurityGroup{..} = mconcat-        [ "GroupDescription" =? _csgDescription-        , "DryRun"           =? _csgDryRun-        , "GroupName"        =? _csgGroupName-        , "VpcId"            =? _csgVpcId-        ]+        toQuery CreateSecurityGroup'{..}+          = mconcat+              ["Action" =: ("CreateSecurityGroup" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "VpcId" =: _csgVPCId, "DryRun" =: _csgDryRun,+               "GroupName" =: _csgGroupName,+               "GroupDescription" =: _csgDescription] -instance ToHeaders CreateSecurityGroup+-- | /See:/ 'createSecurityGroupResponse' smart constructor.+data CreateSecurityGroupResponse = CreateSecurityGroupResponse'+    { _csgrsStatus  :: !Int+    , _csgrsGroupId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateSecurityGroup where-    type Sv CreateSecurityGroup = EC2-    type Rs CreateSecurityGroup = CreateSecurityGroupResponse+-- | Creates a value of 'CreateSecurityGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csgrsStatus'+--+-- * 'csgrsGroupId'+createSecurityGroupResponse+    :: Int -- ^ 'csgrsStatus'+    -> Text -- ^ 'csgrsGroupId'+    -> CreateSecurityGroupResponse+createSecurityGroupResponse pStatus_ pGroupId_ =+    CreateSecurityGroupResponse'+    { _csgrsStatus = pStatus_+    , _csgrsGroupId = pGroupId_+    } -    request  = post "CreateSecurityGroup"-    response = xmlResponse+-- | The response status code.+csgrsStatus :: Lens' CreateSecurityGroupResponse Int+csgrsStatus = lens _csgrsStatus (\ s a -> s{_csgrsStatus = a}); -instance FromXML CreateSecurityGroupResponse where-    parseXML x = CreateSecurityGroupResponse-        <$> x .@  "groupId"+-- | The ID of the security group.+csgrsGroupId :: Lens' CreateSecurityGroupResponse Text+csgrsGroupId = lens _csgrsGroupId (\ s a -> s{_csgrsGroupId = a});
gen/Network/AWS/EC2/CreateSnapshot.hs view
@@ -1,276 +1,148 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateSnapshot--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use--- snapshots for backups, to make copies of EBS volumes, and to save data before--- shutting down an instance.+-- Creates a snapshot of an EBS volume and stores it in Amazon S3. You can+-- use snapshots for backups, to make copies of EBS volumes, and to save+-- data before shutting down an instance. -- -- When a snapshot is created, any AWS Marketplace product codes that are -- associated with the source volume are propagated to the snapshot. -- -- You can take a snapshot of an attached volume that is in use. However,--- snapshots only capture data that has been written to your EBS volume at the--- time the snapshot command is issued; this may exclude any data that has been--- cached by any applications or the operating system. If you can pause any file--- systems on the volume long enough to take a snapshot, your snapshot should be--- complete. However, if you cannot pause all file writes to the volume, you--- should unmount the volume from within the instance, issue the snapshot--- command, and then remount the volume to ensure a consistent and complete--- snapshot. You may remount and use your volume while the snapshot status is 'pending'.+-- snapshots only capture data that has been written to your EBS volume at+-- the time the snapshot command is issued; this may exclude any data that+-- has been cached by any applications or the operating system. If you can+-- pause any file systems on the volume long enough to take a snapshot,+-- your snapshot should be complete. However, if you cannot pause all file+-- writes to the volume, you should unmount the volume from within the+-- instance, issue the snapshot command, and then remount the volume to+-- ensure a consistent and complete snapshot. You may remount and use your+-- volume while the snapshot status is 'pending'. ----- To create a snapshot for EBS volumes that serve as root devices, you should--- stop the instance before taking the snapshot.+-- To create a snapshot for EBS volumes that serve as root devices, you+-- should stop the instance before taking the snapshot. ----- Snapshots that are taken from encrypted volumes are automatically encrypted.--- Volumes that are created from encrypted snapshots are also automatically--- encrypted. Your encrypted volumes and any associated snapshots always remain--- protected.+-- Snapshots that are taken from encrypted volumes are automatically+-- encrypted. Volumes that are created from encrypted snapshots are also+-- automatically encrypted. Your encrypted volumes and any associated+-- snapshots always remain protected. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html Amazon Elastic Block Store> and <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBSEncryption> in the /Amazon Elastic Compute Cloud User Guide/.+-- For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html Amazon Elastic Block Store>+-- and+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBS Encryption>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSnapshot.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSnapshot.html AWS API Reference> for CreateSnapshot. module Network.AWS.EC2.CreateSnapshot     (-    -- * Request-      CreateSnapshot-    -- ** Request constructor-    , createSnapshot-    -- ** Request lenses-    , cs2Description-    , cs2DryRun-    , cs2VolumeId+    -- * Creating a Request+      createSnapshot+    , CreateSnapshot+    -- * Request Lenses+    , ccDryRun+    , ccDescription+    , ccVolumeId -    -- * Response-    , CreateSnapshotResponse-    -- ** Response constructor-    , createSnapshotResponse-    -- ** Response lenses-    , csr1Description-    , csr1Encrypted-    , csr1KmsKeyId-    , csr1OwnerAlias-    , csr1OwnerId-    , csr1Progress-    , csr1SnapshotId-    , csr1StartTime-    , csr1State-    , csr1Tags-    , csr1VolumeId-    , csr1VolumeSize+    -- * Destructuring the Response+    , snapshot+    , Snapshot+    -- * Response Lenses+    , sOwnerAlias+    , sKMSKeyId+    , sTags+    , sSnapshotId+    , sOwnerId+    , sVolumeId+    , sVolumeSize+    , sDescription+    , sStartTime+    , sProgress+    , sState+    , sEncrypted     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateSnapshot = CreateSnapshot-    { _cs2Description :: Maybe Text-    , _cs2DryRun      :: Maybe Bool-    , _cs2VolumeId    :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'createSnapshot' smart constructor.+data CreateSnapshot = CreateSnapshot'+    { _ccDryRun      :: !(Maybe Bool)+    , _ccDescription :: !(Maybe Text)+    , _ccVolumeId    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateSnapshot' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateSnapshot' with the minimum fields required to make a request. ----- * 'cs2Description' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cs2DryRun' @::@ 'Maybe' 'Bool'+-- * 'ccDryRun' ----- * 'cs2VolumeId' @::@ 'Text'+-- * 'ccDescription' ---createSnapshot :: Text -- ^ 'cs2VolumeId'-               -> CreateSnapshot-createSnapshot p1 = CreateSnapshot-    { _cs2VolumeId    = p1-    , _cs2DryRun      = Nothing-    , _cs2Description = Nothing+-- * 'ccVolumeId'+createSnapshot+    :: Text -- ^ 'ccVolumeId'+    -> CreateSnapshot+createSnapshot pVolumeId_ =+    CreateSnapshot'+    { _ccDryRun = Nothing+    , _ccDescription = Nothing+    , _ccVolumeId = pVolumeId_     } --- | A description for the snapshot.-cs2Description :: Lens' CreateSnapshot (Maybe Text)-cs2Description = lens _cs2Description (\s a -> s { _cs2Description = 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'.-cs2DryRun :: Lens' CreateSnapshot (Maybe Bool)-cs2DryRun = lens _cs2DryRun (\s a -> s { _cs2DryRun = a })---- | The ID of the EBS volume.-cs2VolumeId :: Lens' CreateSnapshot Text-cs2VolumeId = lens _cs2VolumeId (\s a -> s { _cs2VolumeId = a })--data CreateSnapshotResponse = CreateSnapshotResponse-    { _csr1Description :: Text-    , _csr1Encrypted   :: Bool-    , _csr1KmsKeyId    :: Maybe Text-    , _csr1OwnerAlias  :: Maybe Text-    , _csr1OwnerId     :: Text-    , _csr1Progress    :: Text-    , _csr1SnapshotId  :: Text-    , _csr1StartTime   :: ISO8601-    , _csr1State       :: SnapshotState-    , _csr1Tags        :: List "item" Tag-    , _csr1VolumeId    :: Text-    , _csr1VolumeSize  :: Int-    } deriving (Eq, Read, Show)---- | 'CreateSnapshotResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'csr1Description' @::@ 'Text'------ * 'csr1Encrypted' @::@ 'Bool'------ * 'csr1KmsKeyId' @::@ 'Maybe' 'Text'------ * 'csr1OwnerAlias' @::@ 'Maybe' 'Text'------ * 'csr1OwnerId' @::@ 'Text'------ * 'csr1Progress' @::@ 'Text'------ * 'csr1SnapshotId' @::@ 'Text'------ * 'csr1StartTime' @::@ 'UTCTime'------ * 'csr1State' @::@ 'SnapshotState'------ * 'csr1Tags' @::@ ['Tag']------ * 'csr1VolumeId' @::@ 'Text'------ * 'csr1VolumeSize' @::@ 'Int'----createSnapshotResponse :: Text -- ^ 'csr1SnapshotId'-                       -> Text -- ^ 'csr1VolumeId'-                       -> SnapshotState -- ^ 'csr1State'-                       -> UTCTime -- ^ 'csr1StartTime'-                       -> Text -- ^ 'csr1Progress'-                       -> Text -- ^ 'csr1OwnerId'-                       -> Text -- ^ 'csr1Description'-                       -> Int -- ^ 'csr1VolumeSize'-                       -> Bool -- ^ 'csr1Encrypted'-                       -> CreateSnapshotResponse-createSnapshotResponse p1 p2 p3 p4 p5 p6 p7 p8 p9 = CreateSnapshotResponse-    { _csr1SnapshotId  = p1-    , _csr1VolumeId    = p2-    , _csr1State       = p3-    , _csr1StartTime   = withIso _Time (const id) p4-    , _csr1Progress    = p5-    , _csr1OwnerId     = p6-    , _csr1Description = p7-    , _csr1VolumeSize  = p8-    , _csr1Encrypted   = p9-    , _csr1OwnerAlias  = Nothing-    , _csr1Tags        = mempty-    , _csr1KmsKeyId    = Nothing-    }---- | The description for the snapshot.-csr1Description :: Lens' CreateSnapshotResponse Text-csr1Description = lens _csr1Description (\s a -> s { _csr1Description = a })---- | Indicates whether the snapshot is encrypted.-csr1Encrypted :: Lens' CreateSnapshotResponse Bool-csr1Encrypted = lens _csr1Encrypted (\s a -> s { _csr1Encrypted = a })---- | The full ARN of the AWS Key Management Service (KMS) master key that was used--- to protect the volume encryption key for the parent volume.-csr1KmsKeyId :: Lens' CreateSnapshotResponse (Maybe Text)-csr1KmsKeyId = lens _csr1KmsKeyId (\s a -> s { _csr1KmsKeyId = a })---- | The AWS account alias (for example, 'amazon', 'self') or AWS account ID that owns--- the snapshot.-csr1OwnerAlias :: Lens' CreateSnapshotResponse (Maybe Text)-csr1OwnerAlias = lens _csr1OwnerAlias (\s a -> s { _csr1OwnerAlias = a })---- | The AWS account ID of the EBS snapshot owner.-csr1OwnerId :: Lens' CreateSnapshotResponse Text-csr1OwnerId = lens _csr1OwnerId (\s a -> s { _csr1OwnerId = a })---- | The progress of the snapshot, as a percentage.-csr1Progress :: Lens' CreateSnapshotResponse Text-csr1Progress = lens _csr1Progress (\s a -> s { _csr1Progress = a })---- | The ID of the snapshot.-csr1SnapshotId :: Lens' CreateSnapshotResponse Text-csr1SnapshotId = lens _csr1SnapshotId (\s a -> s { _csr1SnapshotId = a })---- | The time stamp when the snapshot was initiated.-csr1StartTime :: Lens' CreateSnapshotResponse UTCTime-csr1StartTime = lens _csr1StartTime (\s a -> s { _csr1StartTime = a }) . _Time+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+ccDryRun :: Lens' CreateSnapshot (Maybe Bool)+ccDryRun = lens _ccDryRun (\ s a -> s{_ccDryRun = a}); --- | The snapshot state.-csr1State :: Lens' CreateSnapshotResponse SnapshotState-csr1State = lens _csr1State (\s a -> s { _csr1State = a })+-- | A description for the snapshot.+ccDescription :: Lens' CreateSnapshot (Maybe Text)+ccDescription = lens _ccDescription (\ s a -> s{_ccDescription = a}); --- | Any tags assigned to the snapshot.-csr1Tags :: Lens' CreateSnapshotResponse [Tag]-csr1Tags = lens _csr1Tags (\s a -> s { _csr1Tags = a }) . _List+-- | The ID of the EBS volume.+ccVolumeId :: Lens' CreateSnapshot Text+ccVolumeId = lens _ccVolumeId (\ s a -> s{_ccVolumeId = a}); --- | The ID of the volume.-csr1VolumeId :: Lens' CreateSnapshotResponse Text-csr1VolumeId = lens _csr1VolumeId (\s a -> s { _csr1VolumeId = a })+instance AWSRequest CreateSnapshot where+        type Sv CreateSnapshot = EC2+        type Rs CreateSnapshot = Snapshot+        request = post+        response = receiveXML (\ s h x -> parseXML x) --- | The size of the volume, in GiB.-csr1VolumeSize :: Lens' CreateSnapshotResponse Int-csr1VolumeSize = lens _csr1VolumeSize (\s a -> s { _csr1VolumeSize = a })+instance ToHeaders CreateSnapshot where+        toHeaders = const mempty  instance ToPath CreateSnapshot where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateSnapshot where-    toQuery CreateSnapshot{..} = mconcat-        [ "Description" =? _cs2Description-        , "DryRun"      =? _cs2DryRun-        , "VolumeId"    =? _cs2VolumeId-        ]--instance ToHeaders CreateSnapshot--instance AWSRequest CreateSnapshot where-    type Sv CreateSnapshot = EC2-    type Rs CreateSnapshot = CreateSnapshotResponse--    request  = post "CreateSnapshot"-    response = xmlResponse--instance FromXML CreateSnapshotResponse where-    parseXML x = CreateSnapshotResponse-        <$> x .@  "description"-        <*> x .@  "encrypted"-        <*> x .@? "kmsKeyId"-        <*> x .@? "ownerAlias"-        <*> x .@  "ownerId"-        <*> x .@  "progress"-        <*> x .@  "snapshotId"-        <*> x .@  "startTime"-        <*> x .@  "status"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@  "volumeId"-        <*> x .@  "volumeSize"+        toQuery CreateSnapshot'{..}+          = mconcat+              ["Action" =: ("CreateSnapshot" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _ccDryRun,+               "Description" =: _ccDescription,+               "VolumeId" =: _ccVolumeId]
gen/Network/AWS/EC2/CreateSpotDatafeedSubscription.hs view
@@ -1,134 +1,154 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateSpotDatafeedSubscription--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a data feed for Spot Instances, enabling you to view Spot Instance--- usage logs. You can create one data feed per AWS account. 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 CloudUser Guide/.+-- Creates a data feed for Spot Instances, enabling you to view Spot+-- Instance usage logs. You can create one data feed per AWS account. 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSpotDatafeedSubscription.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSpotDatafeedSubscription.html AWS API Reference> for CreateSpotDatafeedSubscription. module Network.AWS.EC2.CreateSpotDatafeedSubscription     (-    -- * Request-      CreateSpotDatafeedSubscription-    -- ** Request constructor-    , createSpotDatafeedSubscription-    -- ** Request lenses-    , csdsBucket-    , csdsDryRun+    -- * Creating a Request+      createSpotDatafeedSubscription+    , CreateSpotDatafeedSubscription+    -- * Request Lenses     , csdsPrefix+    , csdsDryRun+    , csdsBucket -    -- * Response-    , CreateSpotDatafeedSubscriptionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createSpotDatafeedSubscriptionResponse-    -- ** Response lenses-    , csdsrSpotDatafeedSubscription+    , CreateSpotDatafeedSubscriptionResponse+    -- * Response Lenses+    , csdsrsSpotDatafeedSubscription+    , csdsrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CreateSpotDatafeedSubscription = CreateSpotDatafeedSubscription-    { _csdsBucket :: Text-    , _csdsDryRun :: Maybe Bool-    , _csdsPrefix :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'CreateSpotDatafeedSubscription' constructor.+-- | Contains the parameters for CreateSpotDatafeedSubscription. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createSpotDatafeedSubscription' smart constructor.+data CreateSpotDatafeedSubscription = CreateSpotDatafeedSubscription'+    { _csdsPrefix :: !(Maybe Text)+    , _csdsDryRun :: !(Maybe Bool)+    , _csdsBucket :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateSpotDatafeedSubscription' with the minimum fields required to make a request. ----- * 'csdsBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'csdsDryRun' @::@ 'Maybe' 'Bool'+-- * 'csdsPrefix' ----- * 'csdsPrefix' @::@ 'Maybe' 'Text'+-- * 'csdsDryRun' ---createSpotDatafeedSubscription :: Text -- ^ 'csdsBucket'-                               -> CreateSpotDatafeedSubscription-createSpotDatafeedSubscription p1 = CreateSpotDatafeedSubscription-    { _csdsBucket = p1+-- * 'csdsBucket'+createSpotDatafeedSubscription+    :: Text -- ^ 'csdsBucket'+    -> CreateSpotDatafeedSubscription+createSpotDatafeedSubscription pBucket_ =+    CreateSpotDatafeedSubscription'+    { _csdsPrefix = Nothing     , _csdsDryRun = Nothing-    , _csdsPrefix = Nothing+    , _csdsBucket = pBucket_     } --- | The Amazon S3 bucket in which to store the Spot Instance data feed.-csdsBucket :: Lens' CreateSpotDatafeedSubscription Text-csdsBucket = lens _csdsBucket (\s a -> s { _csdsBucket = a })+-- | A prefix for the data feed file names.+csdsPrefix :: Lens' CreateSpotDatafeedSubscription (Maybe Text)+csdsPrefix = lens _csdsPrefix (\ s a -> s{_csdsPrefix = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. csdsDryRun :: Lens' CreateSpotDatafeedSubscription (Maybe Bool)-csdsDryRun = lens _csdsDryRun (\s a -> s { _csdsDryRun = a })---- | A prefix for the data feed file names.-csdsPrefix :: Lens' CreateSpotDatafeedSubscription (Maybe Text)-csdsPrefix = lens _csdsPrefix (\s a -> s { _csdsPrefix = a })+csdsDryRun = lens _csdsDryRun (\ s a -> s{_csdsDryRun = a}); -newtype CreateSpotDatafeedSubscriptionResponse = CreateSpotDatafeedSubscriptionResponse-    { _csdsrSpotDatafeedSubscription :: Maybe SpotDatafeedSubscription-    } deriving (Eq, Read, Show)+-- | The Amazon S3 bucket in which to store the Spot Instance data feed.+csdsBucket :: Lens' CreateSpotDatafeedSubscription Text+csdsBucket = lens _csdsBucket (\ s a -> s{_csdsBucket = a}); --- | 'CreateSpotDatafeedSubscriptionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'csdsrSpotDatafeedSubscription' @::@ 'Maybe' 'SpotDatafeedSubscription'----createSpotDatafeedSubscriptionResponse :: CreateSpotDatafeedSubscriptionResponse-createSpotDatafeedSubscriptionResponse = CreateSpotDatafeedSubscriptionResponse-    { _csdsrSpotDatafeedSubscription = Nothing-    }+instance AWSRequest CreateSpotDatafeedSubscription+         where+        type Sv CreateSpotDatafeedSubscription = EC2+        type Rs CreateSpotDatafeedSubscription =+             CreateSpotDatafeedSubscriptionResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateSpotDatafeedSubscriptionResponse' <$>+                   (x .@? "spotDatafeedSubscription") <*>+                     (pure (fromEnum s))) --- | The Spot Instance data feed subscription.-csdsrSpotDatafeedSubscription :: Lens' CreateSpotDatafeedSubscriptionResponse (Maybe SpotDatafeedSubscription)-csdsrSpotDatafeedSubscription =-    lens _csdsrSpotDatafeedSubscription-        (\s a -> s { _csdsrSpotDatafeedSubscription = a })+instance ToHeaders CreateSpotDatafeedSubscription+         where+        toHeaders = const mempty  instance ToPath CreateSpotDatafeedSubscription where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateSpotDatafeedSubscription where-    toQuery CreateSpotDatafeedSubscription{..} = mconcat-        [ "Bucket" =? _csdsBucket-        , "DryRun" =? _csdsDryRun-        , "Prefix" =? _csdsPrefix-        ]+        toQuery CreateSpotDatafeedSubscription'{..}+          = mconcat+              ["Action" =:+                 ("CreateSpotDatafeedSubscription" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Prefix" =: _csdsPrefix, "DryRun" =: _csdsDryRun,+               "Bucket" =: _csdsBucket] -instance ToHeaders CreateSpotDatafeedSubscription+-- | Contains the output of CreateSpotDatafeedSubscription.+--+-- /See:/ 'createSpotDatafeedSubscriptionResponse' smart constructor.+data CreateSpotDatafeedSubscriptionResponse = CreateSpotDatafeedSubscriptionResponse'+    { _csdsrsSpotDatafeedSubscription :: !(Maybe SpotDatafeedSubscription)+    , _csdsrsStatus                   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateSpotDatafeedSubscription where-    type Sv CreateSpotDatafeedSubscription = EC2-    type Rs CreateSpotDatafeedSubscription = CreateSpotDatafeedSubscriptionResponse+-- | Creates a value of 'CreateSpotDatafeedSubscriptionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csdsrsSpotDatafeedSubscription'+--+-- * 'csdsrsStatus'+createSpotDatafeedSubscriptionResponse+    :: Int -- ^ 'csdsrsStatus'+    -> CreateSpotDatafeedSubscriptionResponse+createSpotDatafeedSubscriptionResponse pStatus_ =+    CreateSpotDatafeedSubscriptionResponse'+    { _csdsrsSpotDatafeedSubscription = Nothing+    , _csdsrsStatus = pStatus_+    } -    request  = post "CreateSpotDatafeedSubscription"-    response = xmlResponse+-- | The Spot Instance data feed subscription.+csdsrsSpotDatafeedSubscription :: Lens' CreateSpotDatafeedSubscriptionResponse (Maybe SpotDatafeedSubscription)+csdsrsSpotDatafeedSubscription = lens _csdsrsSpotDatafeedSubscription (\ s a -> s{_csdsrsSpotDatafeedSubscription = a}); -instance FromXML CreateSpotDatafeedSubscriptionResponse where-    parseXML x = CreateSpotDatafeedSubscriptionResponse-        <$> x .@? "spotDatafeedSubscription"+-- | The response status code.+csdsrsStatus :: Lens' CreateSpotDatafeedSubscriptionResponse Int+csdsrsStatus = lens _csdsrsStatus (\ s a -> s{_csdsrsStatus = a});
gen/Network/AWS/EC2/CreateSubnet.hs view
@@ -1,167 +1,181 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateSubnet--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a subnet in an existing VPC.+-- Creates a subnet in an existing VPC. ----- When you create each subnet, you provide the VPC ID and the CIDR block you--- want for the subnet. After you create a subnet, you can't change its CIDR--- block. The subnet's CIDR block can be the same as the VPC's CIDR block--- (assuming you want only a single subnet in the VPC), or a subset of the VPC's--- CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR--- blocks must not overlap. The smallest subnet (and VPC) you can create uses a--- /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP--- addresses).+-- When you create each subnet, you provide the VPC ID and the CIDR block+-- you want for the subnet. After you create a subnet, you can\'t change+-- its CIDR block. The subnet\'s CIDR block can be the same as the VPC\'s+-- CIDR block (assuming you want only a single subnet in the VPC), or a+-- subset of the VPC\'s CIDR block. If you create more than one subnet in a+-- VPC, the subnets\' CIDR blocks must not overlap. The smallest subnet+-- (and VPC) you can create uses a \/28 netmask (16 IP addresses), and the+-- largest uses a \/16 netmask (65,536 IP addresses). ----- AWS reserves both the first four and the last IP address in each subnet's--- CIDR block. They're not available for use.+-- AWS reserves both the first four and the last IP address in each+-- subnet\'s CIDR block. They\'re not available for use. ----- If you add more than one subnet to a VPC, they're set up in a star topology--- with a logical router in the middle.+-- If you add more than one subnet to a VPC, they\'re set up in a star+-- topology with a logical router in the middle. ----- If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP--- address doesn't change if you stop and restart the instance (unlike a similar--- instance launched outside a VPC, which gets a new IP address when restarted).--- It's therefore possible to have a subnet with no running instances (they're--- all stopped), but no remaining IP addresses available.+-- If you launch an instance in a VPC using an Amazon EBS-backed AMI, the+-- IP address doesn\'t change if you stop and restart the instance (unlike+-- a similar instance launched outside a VPC, which gets a new IP address+-- when restarted). It\'s therefore possible to have a subnet with no+-- running instances (they\'re all stopped), but no remaining IP addresses+-- available. ----- For more information about subnets, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html Your VPC and Subnets> in the /AmazonVirtual Private Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSubnet.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSubnet.html AWS API Reference> for CreateSubnet. module Network.AWS.EC2.CreateSubnet     (-    -- * Request-      CreateSubnet-    -- ** Request constructor-    , createSubnet-    -- ** Request lenses-    , cs1AvailabilityZone-    , cs1CidrBlock-    , cs1DryRun-    , cs1VpcId+    -- * Creating a Request+      createSubnet+    , CreateSubnet+    -- * Request Lenses+    , cssAvailabilityZone+    , cssDryRun+    , cssVPCId+    , cssCIdRBlock -    -- * Response-    , CreateSubnetResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createSubnetResponse-    -- ** Response lenses-    , csrSubnet+    , CreateSubnetResponse+    -- * Response Lenses+    , crsSubnet+    , crsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateSubnet = CreateSubnet-    { _cs1AvailabilityZone :: Maybe Text-    , _cs1CidrBlock        :: Text-    , _cs1DryRun           :: Maybe Bool-    , _cs1VpcId            :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'createSubnet' smart constructor.+data CreateSubnet = CreateSubnet'+    { _cssAvailabilityZone :: !(Maybe Text)+    , _cssDryRun           :: !(Maybe Bool)+    , _cssVPCId            :: !Text+    , _cssCIdRBlock        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateSubnet' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateSubnet' with the minimum fields required to make a request. ----- * 'cs1AvailabilityZone' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cs1CidrBlock' @::@ 'Text'+-- * 'cssAvailabilityZone' ----- * 'cs1DryRun' @::@ 'Maybe' 'Bool'+-- * 'cssDryRun' ----- * 'cs1VpcId' @::@ 'Text'+-- * 'cssVPCId' ---createSubnet :: Text -- ^ 'cs1VpcId'-             -> Text -- ^ 'cs1CidrBlock'-             -> CreateSubnet-createSubnet p1 p2 = CreateSubnet-    { _cs1VpcId            = p1-    , _cs1CidrBlock        = p2-    , _cs1DryRun           = Nothing-    , _cs1AvailabilityZone = Nothing+-- * 'cssCIdRBlock'+createSubnet+    :: Text -- ^ 'cssVPCId'+    -> Text -- ^ 'cssCIdRBlock'+    -> CreateSubnet+createSubnet pVPCId_ pCIdRBlock_ =+    CreateSubnet'+    { _cssAvailabilityZone = Nothing+    , _cssDryRun = Nothing+    , _cssVPCId = pVPCId_+    , _cssCIdRBlock = pCIdRBlock_     }  -- | The Availability Zone for the subnet. -- -- Default: Amazon EC2 selects one for you (recommended).-cs1AvailabilityZone :: Lens' CreateSubnet (Maybe Text)-cs1AvailabilityZone =-    lens _cs1AvailabilityZone (\s a -> s { _cs1AvailabilityZone = a })---- | The network range for the subnet, in CIDR notation. For example, '10.0.0.0/24'.-cs1CidrBlock :: Lens' CreateSubnet Text-cs1CidrBlock = lens _cs1CidrBlock (\s a -> s { _cs1CidrBlock = a })+cssAvailabilityZone :: Lens' CreateSubnet (Maybe Text)+cssAvailabilityZone = lens _cssAvailabilityZone (\ s a -> s{_cssAvailabilityZone = 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'.-cs1DryRun :: Lens' CreateSubnet (Maybe Bool)-cs1DryRun = lens _cs1DryRun (\s a -> s { _cs1DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+cssDryRun :: Lens' CreateSubnet (Maybe Bool)+cssDryRun = lens _cssDryRun (\ s a -> s{_cssDryRun = a});  -- | The ID of the VPC.-cs1VpcId :: Lens' CreateSubnet Text-cs1VpcId = lens _cs1VpcId (\s a -> s { _cs1VpcId = a })+cssVPCId :: Lens' CreateSubnet Text+cssVPCId = lens _cssVPCId (\ s a -> s{_cssVPCId = a}); -newtype CreateSubnetResponse = CreateSubnetResponse-    { _csrSubnet :: Maybe Subnet-    } deriving (Eq, Read, Show)+-- | The network range for the subnet, in CIDR notation. For example,+-- '10.0.0.0\/24'.+cssCIdRBlock :: Lens' CreateSubnet Text+cssCIdRBlock = lens _cssCIdRBlock (\ s a -> s{_cssCIdRBlock = a}); --- | 'CreateSubnetResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'csrSubnet' @::@ 'Maybe' 'Subnet'----createSubnetResponse :: CreateSubnetResponse-createSubnetResponse = CreateSubnetResponse-    { _csrSubnet = Nothing-    }+instance AWSRequest CreateSubnet where+        type Sv CreateSubnet = EC2+        type Rs CreateSubnet = CreateSubnetResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateSubnetResponse' <$>+                   (x .@? "subnet") <*> (pure (fromEnum s))) --- | Information about the subnet.-csrSubnet :: Lens' CreateSubnetResponse (Maybe Subnet)-csrSubnet = lens _csrSubnet (\s a -> s { _csrSubnet = a })+instance ToHeaders CreateSubnet where+        toHeaders = const mempty  instance ToPath CreateSubnet where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateSubnet where-    toQuery CreateSubnet{..} = mconcat-        [ "AvailabilityZone" =? _cs1AvailabilityZone-        , "CidrBlock"        =? _cs1CidrBlock-        , "DryRun"           =? _cs1DryRun-        , "VpcId"            =? _cs1VpcId-        ]+        toQuery CreateSubnet'{..}+          = mconcat+              ["Action" =: ("CreateSubnet" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "AvailabilityZone" =: _cssAvailabilityZone,+               "DryRun" =: _cssDryRun, "VpcId" =: _cssVPCId,+               "CidrBlock" =: _cssCIdRBlock] -instance ToHeaders CreateSubnet+-- | /See:/ 'createSubnetResponse' smart constructor.+data CreateSubnetResponse = CreateSubnetResponse'+    { _crsSubnet :: !(Maybe Subnet)+    , _crsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateSubnet where-    type Sv CreateSubnet = EC2-    type Rs CreateSubnet = CreateSubnetResponse+-- | Creates a value of 'CreateSubnetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crsSubnet'+--+-- * 'crsStatus'+createSubnetResponse+    :: Int -- ^ 'crsStatus'+    -> CreateSubnetResponse+createSubnetResponse pStatus_ =+    CreateSubnetResponse'+    { _crsSubnet = Nothing+    , _crsStatus = pStatus_+    } -    request  = post "CreateSubnet"-    response = xmlResponse+-- | Information about the subnet.+crsSubnet :: Lens' CreateSubnetResponse (Maybe Subnet)+crsSubnet = lens _crsSubnet (\ s a -> s{_crsSubnet = a}); -instance FromXML CreateSubnetResponse where-    parseXML x = CreateSubnetResponse-        <$> x .@? "subnet"+-- | The response status code.+crsStatus :: Lens' CreateSubnetResponse Int+crsStatus = lens _crsStatus (\ s a -> s{_crsStatus = a});
gen/Network/AWS/EC2/CreateTags.hs view
@@ -1,117 +1,124 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateTags--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Adds or overwrites one or more tags for the specified Amazon EC2 resource or--- resources. Each resource can have a maximum of 10 tags. Each tag consists of--- a key and optional value. Tag keys must be unique per resource.+-- Adds or overwrites one or more tags for the specified Amazon EC2+-- resource or resources. Each resource can have a maximum of 10 tags. Each+-- tag consists of a key and optional value. Tag keys must be unique per+-- resource. ----- For more information about tags, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html Tagging Your Resources> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateTags.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateTags.html AWS API Reference> for CreateTags. module Network.AWS.EC2.CreateTags     (-    -- * Request-      CreateTags-    -- ** Request constructor-    , createTags-    -- ** Request lenses-    , ct1DryRun-    , ct1Resources-    , ct1Tags+    -- * Creating a Request+      createTags+    , CreateTags+    -- * Request Lenses+    , cDryRun+    , cResources+    , cTags -    -- * Response-    , CreateTagsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createTagsResponse+    , CreateTagsResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateTags = CreateTags-    { _ct1DryRun    :: Maybe Bool-    , _ct1Resources :: List "ResourceId" Text-    , _ct1Tags      :: List "item" Tag-    } deriving (Eq, Read, Show)+-- | /See:/ 'createTags' smart constructor.+data CreateTags = CreateTags'+    { _cDryRun    :: !(Maybe Bool)+    , _cResources :: ![Text]+    , _cTags      :: ![Tag]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateTags' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateTags' with the minimum fields required to make a request. ----- * 'ct1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ct1Resources' @::@ ['Text']+-- * 'cDryRun' ----- * 'ct1Tags' @::@ ['Tag']+-- * 'cResources' ---createTags :: CreateTags-createTags = CreateTags-    { _ct1DryRun    = Nothing-    , _ct1Resources = mempty-    , _ct1Tags      = mempty+-- * 'cTags'+createTags+    :: CreateTags+createTags =+    CreateTags'+    { _cDryRun = Nothing+    , _cResources = mempty+    , _cTags = mempty     }  -- | 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'.-ct1DryRun :: Lens' CreateTags (Maybe Bool)-ct1DryRun = lens _ct1DryRun (\s a -> s { _ct1DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+cDryRun :: Lens' CreateTags (Maybe Bool)+cDryRun = lens _cDryRun (\ s a -> s{_cDryRun = a});  -- | The IDs of one or more resources to tag. For example, ami-1a2b3c4d.-ct1Resources :: Lens' CreateTags [Text]-ct1Resources = lens _ct1Resources (\s a -> s { _ct1Resources = a }) . _List+cResources :: Lens' CreateTags [Text]+cResources = lens _cResources (\ s a -> s{_cResources = a}) . _Coerce; --- | One or more tags. The 'value' parameter is required, but if you don't want the--- tag to have a value, specify the parameter with no value, and we set the--- value to an empty string.-ct1Tags :: Lens' CreateTags [Tag]-ct1Tags = lens _ct1Tags (\s a -> s { _ct1Tags = a }) . _List+-- | One or more tags. The 'value' parameter is required, but if you don\'t+-- want the tag to have a value, specify the parameter with no value, and+-- we set the value to an empty string.+cTags :: Lens' CreateTags [Tag]+cTags = lens _cTags (\ s a -> s{_cTags = a}) . _Coerce; -data CreateTagsResponse = CreateTagsResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest CreateTags where+        type Sv CreateTags = EC2+        type Rs CreateTags = CreateTagsResponse+        request = post+        response = receiveNull CreateTagsResponse' --- | 'CreateTagsResponse' constructor.-createTagsResponse :: CreateTagsResponse-createTagsResponse = CreateTagsResponse+instance ToHeaders CreateTags where+        toHeaders = const mempty  instance ToPath CreateTags where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateTags where-    toQuery CreateTags{..} = mconcat-        [ "DryRun"     =? _ct1DryRun-        , "ResourceId" `toQueryList` _ct1Resources-        , "Tag"        `toQueryList` _ct1Tags-        ]--instance ToHeaders CreateTags+        toQuery CreateTags'{..}+          = mconcat+              ["Action" =: ("CreateTags" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _cDryRun,+               toQueryList "ResourceId" _cResources,+               toQueryList "item" _cTags] -instance AWSRequest CreateTags where-    type Sv CreateTags = EC2-    type Rs CreateTags = CreateTagsResponse+-- | /See:/ 'createTagsResponse' smart constructor.+data CreateTagsResponse =+    CreateTagsResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "CreateTags"-    response = nullResponse CreateTagsResponse+-- | Creates a value of 'CreateTagsResponse' with the minimum fields required to make a request.+--+createTagsResponse+    :: CreateTagsResponse+createTagsResponse = CreateTagsResponse'
+ gen/Network/AWS/EC2/CreateVPC.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.CreateVPC+-- 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)+--+-- Creates a VPC with the specified CIDR block.+--+-- The smallest VPC you can create uses a \/28 netmask (16 IP addresses),+-- and the largest uses a \/16 netmask (65,536 IP addresses). To help you+-- decide how big to make your VPC, see+-- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html Your VPC and Subnets>+-- in the /Amazon Virtual Private Cloud User Guide/.+--+-- By default, each instance you launch in the VPC has the default DHCP+-- options, which includes only a default DNS server that we provide+-- (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+      createVPC+    , CreateVPC+    -- * Request Lenses+    , cvInstanceTenancy+    , cvDryRun+    , cvCIdRBlock++    -- * Destructuring the Response+    , createVPCResponse+    , CreateVPCResponse+    -- * Response Lenses+    , cvrsVPC+    , cvrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createVPC' smart constructor.+data CreateVPC = CreateVPC'+    { _cvInstanceTenancy :: !(Maybe Tenancy)+    , _cvDryRun          :: !(Maybe Bool)+    , _cvCIdRBlock       :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPC' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvInstanceTenancy'+--+-- * 'cvDryRun'+--+-- * 'cvCIdRBlock'+createVPC+    :: Text -- ^ 'cvCIdRBlock'+    -> CreateVPC+createVPC pCIdRBlock_ =+    CreateVPC'+    { _cvInstanceTenancy = Nothing+    , _cvDryRun = Nothing+    , _cvCIdRBlock = pCIdRBlock_+    }++-- | The supported tenancy options for instances launched into the VPC. A+-- value of 'default' means that instances can be launched with any+-- tenancy; a value of 'dedicated' means all instances launched into the+-- VPC are launched as dedicated tenancy instances regardless of the+-- tenancy assigned to the instance at launch. Dedicated tenancy instances+-- run on single-tenant hardware.+--+-- Default: 'default'+cvInstanceTenancy :: Lens' CreateVPC (Maybe Tenancy)+cvInstanceTenancy = lens _cvInstanceTenancy (\ s a -> s{_cvInstanceTenancy = 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'.+cvDryRun :: Lens' CreateVPC (Maybe Bool)+cvDryRun = lens _cvDryRun (\ s a -> s{_cvDryRun = a});++-- | The network range for the VPC, in CIDR notation. For example,+-- '10.0.0.0\/16'.+cvCIdRBlock :: Lens' CreateVPC Text+cvCIdRBlock = lens _cvCIdRBlock (\ s a -> s{_cvCIdRBlock = a});++instance AWSRequest CreateVPC where+        type Sv CreateVPC = EC2+        type Rs CreateVPC = CreateVPCResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateVPCResponse' <$>+                   (x .@? "vpc") <*> (pure (fromEnum s)))++instance ToHeaders CreateVPC where+        toHeaders = const mempty++instance ToPath CreateVPC where+        toPath = const "/"++instance ToQuery CreateVPC where+        toQuery CreateVPC'{..}+          = mconcat+              ["Action" =: ("CreateVpc" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "InstanceTenancy" =: _cvInstanceTenancy,+               "DryRun" =: _cvDryRun, "CidrBlock" =: _cvCIdRBlock]++-- | /See:/ 'createVPCResponse' smart constructor.+data CreateVPCResponse = CreateVPCResponse'+    { _cvrsVPC    :: !(Maybe VPC)+    , _cvrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPCResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvrsVPC'+--+-- * 'cvrsStatus'+createVPCResponse+    :: Int -- ^ 'cvrsStatus'+    -> CreateVPCResponse+createVPCResponse pStatus_ =+    CreateVPCResponse'+    { _cvrsVPC = Nothing+    , _cvrsStatus = pStatus_+    }++-- | Information about the VPC.+cvrsVPC :: Lens' CreateVPCResponse (Maybe VPC)+cvrsVPC = lens _cvrsVPC (\ s a -> s{_cvrsVPC = a});++-- | The response status code.+cvrsStatus :: Lens' CreateVPCResponse Int+cvrsStatus = lens _cvrsStatus (\ s a -> s{_cvrsStatus = a});
+ gen/Network/AWS/EC2/CreateVPCEndpoint.hs view
@@ -0,0 +1,197 @@+{-# 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.CreateVPCEndpoint+-- 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)+--+-- Creates a VPC endpoint for a specified AWS service. An endpoint enables+-- you to create a private connection between your VPC and another AWS+-- service in your account. You can specify an endpoint policy to attach to+-- the endpoint that will control access to the service from your VPC. You+-- 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+      createVPCEndpoint+    , CreateVPCEndpoint+    -- * Request Lenses+    , cvePolicyDocument+    , cveClientToken+    , cveDryRun+    , cveRouteTableIds+    , cveVPCId+    , cveServiceName++    -- * Destructuring the Response+    , createVPCEndpointResponse+    , CreateVPCEndpointResponse+    -- * Response Lenses+    , cversClientToken+    , cversVPCEndpoint+    , cversStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createVPCEndpoint' smart constructor.+data CreateVPCEndpoint = CreateVPCEndpoint'+    { _cvePolicyDocument :: !(Maybe Text)+    , _cveClientToken    :: !(Maybe Text)+    , _cveDryRun         :: !(Maybe Bool)+    , _cveRouteTableIds  :: !(Maybe [Text])+    , _cveVPCId          :: !Text+    , _cveServiceName    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPCEndpoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvePolicyDocument'+--+-- * 'cveClientToken'+--+-- * 'cveDryRun'+--+-- * 'cveRouteTableIds'+--+-- * 'cveVPCId'+--+-- * 'cveServiceName'+createVPCEndpoint+    :: Text -- ^ 'cveVPCId'+    -> Text -- ^ 'cveServiceName'+    -> CreateVPCEndpoint+createVPCEndpoint pVPCId_ pServiceName_ =+    CreateVPCEndpoint'+    { _cvePolicyDocument = Nothing+    , _cveClientToken = Nothing+    , _cveDryRun = Nothing+    , _cveRouteTableIds = Nothing+    , _cveVPCId = pVPCId_+    , _cveServiceName = pServiceName_+    }++-- | A policy to attach to the endpoint that controls access to the service.+-- The policy must be in valid JSON format. If this parameter is not+-- specified, we attach a default policy that allows full access to the+-- service.+cvePolicyDocument :: Lens' CreateVPCEndpoint (Maybe Text)+cvePolicyDocument = lens _cvePolicyDocument (\ s a -> s{_cvePolicyDocument = a});++-- | Unique, case-sensitive identifier you provide to ensure the idempotency+-- of the request. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html How to Ensure Idempotency>.+cveClientToken :: Lens' CreateVPCEndpoint (Maybe Text)+cveClientToken = lens _cveClientToken (\ s a -> s{_cveClientToken = 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'.+cveDryRun :: Lens' CreateVPCEndpoint (Maybe Bool)+cveDryRun = lens _cveDryRun (\ s a -> s{_cveDryRun = a});++-- | One or more route table IDs.+cveRouteTableIds :: Lens' CreateVPCEndpoint [Text]+cveRouteTableIds = lens _cveRouteTableIds (\ s a -> s{_cveRouteTableIds = a}) . _Default . _Coerce;++-- | The ID of the VPC in which the endpoint will be used.+cveVPCId :: Lens' CreateVPCEndpoint Text+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+-- request.+cveServiceName :: Lens' CreateVPCEndpoint Text+cveServiceName = lens _cveServiceName (\ s a -> s{_cveServiceName = a});++instance AWSRequest CreateVPCEndpoint where+        type Sv CreateVPCEndpoint = EC2+        type Rs CreateVPCEndpoint = CreateVPCEndpointResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateVPCEndpointResponse' <$>+                   (x .@? "clientToken") <*> (x .@? "vpcEndpoint") <*>+                     (pure (fromEnum s)))++instance ToHeaders CreateVPCEndpoint where+        toHeaders = const mempty++instance ToPath CreateVPCEndpoint where+        toPath = const "/"++instance ToQuery CreateVPCEndpoint where+        toQuery CreateVPCEndpoint'{..}+          = mconcat+              ["Action" =: ("CreateVpcEndpoint" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "PolicyDocument" =: _cvePolicyDocument,+               "ClientToken" =: _cveClientToken,+               "DryRun" =: _cveDryRun,+               toQuery (toQueryList "item" <$> _cveRouteTableIds),+               "VpcId" =: _cveVPCId,+               "ServiceName" =: _cveServiceName]++-- | /See:/ 'createVPCEndpointResponse' smart constructor.+data CreateVPCEndpointResponse = CreateVPCEndpointResponse'+    { _cversClientToken :: !(Maybe Text)+    , _cversVPCEndpoint :: !(Maybe VPCEndpoint)+    , _cversStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPCEndpointResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cversClientToken'+--+-- * 'cversVPCEndpoint'+--+-- * 'cversStatus'+createVPCEndpointResponse+    :: Int -- ^ 'cversStatus'+    -> CreateVPCEndpointResponse+createVPCEndpointResponse pStatus_ =+    CreateVPCEndpointResponse'+    { _cversClientToken = Nothing+    , _cversVPCEndpoint = Nothing+    , _cversStatus = pStatus_+    }++-- | Unique, case-sensitive identifier you provide to ensure the idempotency+-- of the request.+cversClientToken :: Lens' CreateVPCEndpointResponse (Maybe Text)+cversClientToken = lens _cversClientToken (\ s a -> s{_cversClientToken = a});++-- | Information about the endpoint.+cversVPCEndpoint :: Lens' CreateVPCEndpointResponse (Maybe VPCEndpoint)+cversVPCEndpoint = lens _cversVPCEndpoint (\ s a -> s{_cversVPCEndpoint = a});++-- | The response status code.+cversStatus :: Lens' CreateVPCEndpointResponse Int+cversStatus = lens _cversStatus (\ s a -> s{_cversStatus = a});
+ gen/Network/AWS/EC2/CreateVPCPeeringConnection.hs view
@@ -0,0 +1,167 @@+{-# 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.CreateVPCPeeringConnection+-- 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)+--+-- Requests a VPC peering connection between two VPCs: a requester VPC that+-- you own and a peer VPC with which to create the connection. The peer VPC+-- can belong to another AWS account. The requester VPC and peer VPC cannot+-- have overlapping CIDR blocks.+--+-- The owner of the peer VPC must accept the peering request to activate+-- the peering connection. The VPC peering connection request expires after+-- 7 days, after which it cannot be accepted or rejected.+--+-- 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+      createVPCPeeringConnection+    , CreateVPCPeeringConnection+    -- * Request Lenses+    , cvpcPeerVPCId+    , cvpcVPCId+    , cvpcPeerOwnerId+    , cvpcDryRun++    -- * Destructuring the Response+    , createVPCPeeringConnectionResponse+    , CreateVPCPeeringConnectionResponse+    -- * Response Lenses+    , cvpcrsVPCPeeringConnection+    , cvpcrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createVPCPeeringConnection' smart constructor.+data CreateVPCPeeringConnection = CreateVPCPeeringConnection'+    { _cvpcPeerVPCId   :: !(Maybe Text)+    , _cvpcVPCId       :: !(Maybe Text)+    , _cvpcPeerOwnerId :: !(Maybe Text)+    , _cvpcDryRun      :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPCPeeringConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvpcPeerVPCId'+--+-- * 'cvpcVPCId'+--+-- * 'cvpcPeerOwnerId'+--+-- * 'cvpcDryRun'+createVPCPeeringConnection+    :: CreateVPCPeeringConnection+createVPCPeeringConnection =+    CreateVPCPeeringConnection'+    { _cvpcPeerVPCId = Nothing+    , _cvpcVPCId = Nothing+    , _cvpcPeerOwnerId = Nothing+    , _cvpcDryRun = Nothing+    }++-- | The ID of the VPC with which you are creating the VPC peering+-- connection.+cvpcPeerVPCId :: Lens' CreateVPCPeeringConnection (Maybe Text)+cvpcPeerVPCId = lens _cvpcPeerVPCId (\ s a -> s{_cvpcPeerVPCId = a});++-- | The ID of the requester VPC.+cvpcVPCId :: Lens' CreateVPCPeeringConnection (Maybe Text)+cvpcVPCId = lens _cvpcVPCId (\ s a -> s{_cvpcVPCId = a});++-- | The AWS account ID of the owner of the peer VPC.+--+-- Default: Your AWS account ID+cvpcPeerOwnerId :: Lens' CreateVPCPeeringConnection (Maybe Text)+cvpcPeerOwnerId = lens _cvpcPeerOwnerId (\ s a -> s{_cvpcPeerOwnerId = 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'.+cvpcDryRun :: Lens' CreateVPCPeeringConnection (Maybe Bool)+cvpcDryRun = lens _cvpcDryRun (\ s a -> s{_cvpcDryRun = a});++instance AWSRequest CreateVPCPeeringConnection where+        type Sv CreateVPCPeeringConnection = EC2+        type Rs CreateVPCPeeringConnection =+             CreateVPCPeeringConnectionResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateVPCPeeringConnectionResponse' <$>+                   (x .@? "vpcPeeringConnection") <*>+                     (pure (fromEnum s)))++instance ToHeaders CreateVPCPeeringConnection where+        toHeaders = const mempty++instance ToPath CreateVPCPeeringConnection where+        toPath = const "/"++instance ToQuery CreateVPCPeeringConnection where+        toQuery CreateVPCPeeringConnection'{..}+          = mconcat+              ["Action" =:+                 ("CreateVpcPeeringConnection" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "PeerVpcId" =: _cvpcPeerVPCId, "VpcId" =: _cvpcVPCId,+               "PeerOwnerId" =: _cvpcPeerOwnerId,+               "DryRun" =: _cvpcDryRun]++-- | /See:/ 'createVPCPeeringConnectionResponse' smart constructor.+data CreateVPCPeeringConnectionResponse = CreateVPCPeeringConnectionResponse'+    { _cvpcrsVPCPeeringConnection :: !(Maybe VPCPeeringConnection)+    , _cvpcrsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPCPeeringConnectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvpcrsVPCPeeringConnection'+--+-- * 'cvpcrsStatus'+createVPCPeeringConnectionResponse+    :: Int -- ^ 'cvpcrsStatus'+    -> CreateVPCPeeringConnectionResponse+createVPCPeeringConnectionResponse pStatus_ =+    CreateVPCPeeringConnectionResponse'+    { _cvpcrsVPCPeeringConnection = Nothing+    , _cvpcrsStatus = pStatus_+    }++-- | Information about the VPC peering connection.+cvpcrsVPCPeeringConnection :: Lens' CreateVPCPeeringConnectionResponse (Maybe VPCPeeringConnection)+cvpcrsVPCPeeringConnection = lens _cvpcrsVPCPeeringConnection (\ s a -> s{_cvpcrsVPCPeeringConnection = a});++-- | The response status code.+cvpcrsStatus :: Lens' CreateVPCPeeringConnectionResponse Int+cvpcrsStatus = lens _cvpcrsStatus (\ s a -> s{_cvpcrsStatus = a});
+ gen/Network/AWS/EC2/CreateVPNConnection.hs view
@@ -0,0 +1,184 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.CreateVPNConnection+-- 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)+--+-- Creates a VPN connection between an existing virtual private gateway and+-- a VPN customer gateway. The only supported connection type is 'ipsec.1'.+--+-- The response includes information that you need to give to your network+-- administrator to configure your customer gateway.+--+-- We strongly recommend that you use HTTPS when calling this operation+-- because the response contains sensitive cryptographic information for+-- configuring your customer gateway.+--+-- If you decide to shut down your VPN connection for any reason and later+-- create a new VPN connection, you must reconfigure your customer gateway+-- with the new information returned from this call.+--+-- 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+      createVPNConnection+    , CreateVPNConnection+    -- * Request Lenses+    , cvcOptions+    , cvcDryRun+    , cvcType+    , cvcCustomerGatewayId+    , cvcVPNGatewayId++    -- * Destructuring the Response+    , createVPNConnectionResponse+    , CreateVPNConnectionResponse+    -- * Response Lenses+    , cvcrsVPNConnection+    , cvcrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createVPNConnection' smart constructor.+data CreateVPNConnection = CreateVPNConnection'+    { _cvcOptions           :: !(Maybe VPNConnectionOptionsSpecification)+    , _cvcDryRun            :: !(Maybe Bool)+    , _cvcType              :: !Text+    , _cvcCustomerGatewayId :: !Text+    , _cvcVPNGatewayId      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPNConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvcOptions'+--+-- * 'cvcDryRun'+--+-- * 'cvcType'+--+-- * 'cvcCustomerGatewayId'+--+-- * 'cvcVPNGatewayId'+createVPNConnection+    :: Text -- ^ 'cvcType'+    -> Text -- ^ 'cvcCustomerGatewayId'+    -> Text -- ^ 'cvcVPNGatewayId'+    -> CreateVPNConnection+createVPNConnection pType_ pCustomerGatewayId_ pVPNGatewayId_ =+    CreateVPNConnection'+    { _cvcOptions = Nothing+    , _cvcDryRun = Nothing+    , _cvcType = pType_+    , _cvcCustomerGatewayId = pCustomerGatewayId_+    , _cvcVPNGatewayId = pVPNGatewayId_+    }++-- | Indicates whether the VPN connection requires static routes. If you are+-- creating a VPN connection for a device that does not support BGP, you+-- must specify 'true'.+--+-- Default: 'false'+cvcOptions :: Lens' CreateVPNConnection (Maybe VPNConnectionOptionsSpecification)+cvcOptions = lens _cvcOptions (\ s a -> s{_cvcOptions = 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'.+cvcDryRun :: Lens' CreateVPNConnection (Maybe Bool)+cvcDryRun = lens _cvcDryRun (\ s a -> s{_cvcDryRun = a});++-- | The type of VPN connection ('ipsec.1').+cvcType :: Lens' CreateVPNConnection Text+cvcType = lens _cvcType (\ s a -> s{_cvcType = a});++-- | The ID of the customer gateway.+cvcCustomerGatewayId :: Lens' CreateVPNConnection Text+cvcCustomerGatewayId = lens _cvcCustomerGatewayId (\ s a -> s{_cvcCustomerGatewayId = a});++-- | The ID of the virtual private gateway.+cvcVPNGatewayId :: Lens' CreateVPNConnection Text+cvcVPNGatewayId = lens _cvcVPNGatewayId (\ s a -> s{_cvcVPNGatewayId = a});++instance AWSRequest CreateVPNConnection where+        type Sv CreateVPNConnection = EC2+        type Rs CreateVPNConnection =+             CreateVPNConnectionResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateVPNConnectionResponse' <$>+                   (x .@? "vpnConnection") <*> (pure (fromEnum s)))++instance ToHeaders CreateVPNConnection where+        toHeaders = const mempty++instance ToPath CreateVPNConnection where+        toPath = const "/"++instance ToQuery CreateVPNConnection where+        toQuery CreateVPNConnection'{..}+          = mconcat+              ["Action" =: ("CreateVpnConnection" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Options" =: _cvcOptions, "DryRun" =: _cvcDryRun,+               "Type" =: _cvcType,+               "CustomerGatewayId" =: _cvcCustomerGatewayId,+               "VpnGatewayId" =: _cvcVPNGatewayId]++-- | /See:/ 'createVPNConnectionResponse' smart constructor.+data CreateVPNConnectionResponse = CreateVPNConnectionResponse'+    { _cvcrsVPNConnection :: !(Maybe VPNConnection)+    , _cvcrsStatus        :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPNConnectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvcrsVPNConnection'+--+-- * 'cvcrsStatus'+createVPNConnectionResponse+    :: Int -- ^ 'cvcrsStatus'+    -> CreateVPNConnectionResponse+createVPNConnectionResponse pStatus_ =+    CreateVPNConnectionResponse'+    { _cvcrsVPNConnection = Nothing+    , _cvcrsStatus = pStatus_+    }++-- | Information about the VPN connection.+cvcrsVPNConnection :: Lens' CreateVPNConnectionResponse (Maybe VPNConnection)+cvcrsVPNConnection = lens _cvcrsVPNConnection (\ s a -> s{_cvcrsVPNConnection = a});++-- | The response status code.+cvcrsStatus :: Lens' CreateVPNConnectionResponse Int+cvcrsStatus = lens _cvcrsStatus (\ s a -> s{_cvcrsStatus = a});
+ gen/Network/AWS/EC2/CreateVPNConnectionRoute.hs view
@@ -0,0 +1,114 @@+{-# 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.CreateVPNConnectionRoute+-- 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)+--+-- Creates a static route associated with a VPN connection 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.+--+-- 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+      createVPNConnectionRoute+    , CreateVPNConnectionRoute+    -- * Request Lenses+    , cvcrVPNConnectionId+    , cvcrDestinationCIdRBlock++    -- * Destructuring the Response+    , createVPNConnectionRouteResponse+    , CreateVPNConnectionRouteResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createVPNConnectionRoute' smart constructor.+data CreateVPNConnectionRoute = CreateVPNConnectionRoute'+    { _cvcrVPNConnectionId      :: !Text+    , _cvcrDestinationCIdRBlock :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPNConnectionRoute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvcrVPNConnectionId'+--+-- * 'cvcrDestinationCIdRBlock'+createVPNConnectionRoute+    :: Text -- ^ 'cvcrVPNConnectionId'+    -> Text -- ^ 'cvcrDestinationCIdRBlock'+    -> CreateVPNConnectionRoute+createVPNConnectionRoute pVPNConnectionId_ pDestinationCIdRBlock_ =+    CreateVPNConnectionRoute'+    { _cvcrVPNConnectionId = pVPNConnectionId_+    , _cvcrDestinationCIdRBlock = pDestinationCIdRBlock_+    }++-- | The ID of the VPN connection.+cvcrVPNConnectionId :: Lens' CreateVPNConnectionRoute Text+cvcrVPNConnectionId = lens _cvcrVPNConnectionId (\ s a -> s{_cvcrVPNConnectionId = a});++-- | The CIDR block associated with the local subnet of the customer network.+cvcrDestinationCIdRBlock :: Lens' CreateVPNConnectionRoute Text+cvcrDestinationCIdRBlock = lens _cvcrDestinationCIdRBlock (\ s a -> s{_cvcrDestinationCIdRBlock = a});++instance AWSRequest CreateVPNConnectionRoute where+        type Sv CreateVPNConnectionRoute = EC2+        type Rs CreateVPNConnectionRoute =+             CreateVPNConnectionRouteResponse+        request = post+        response+          = receiveNull CreateVPNConnectionRouteResponse'++instance ToHeaders CreateVPNConnectionRoute where+        toHeaders = const mempty++instance ToPath CreateVPNConnectionRoute where+        toPath = const "/"++instance ToQuery CreateVPNConnectionRoute where+        toQuery CreateVPNConnectionRoute'{..}+          = mconcat+              ["Action" =:+                 ("CreateVpnConnectionRoute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "VpnConnectionId" =: _cvcrVPNConnectionId,+               "DestinationCidrBlock" =: _cvcrDestinationCIdRBlock]++-- | /See:/ 'createVPNConnectionRouteResponse' smart constructor.+data CreateVPNConnectionRouteResponse =+    CreateVPNConnectionRouteResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPNConnectionRouteResponse' with the minimum fields required to make a request.+--+createVPNConnectionRouteResponse+    :: CreateVPNConnectionRouteResponse+createVPNConnectionRouteResponse = CreateVPNConnectionRouteResponse'
+ gen/Network/AWS/EC2/CreateVPNGateway.hs view
@@ -0,0 +1,147 @@+{-# 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.CreateVPNGateway+-- 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)+--+-- Creates a virtual private gateway. A virtual private gateway is the+-- endpoint on the VPC side of your VPN connection. You can create a+-- virtual private gateway before creating the VPC itself.+--+-- 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+      createVPNGateway+    , CreateVPNGateway+    -- * Request Lenses+    , cvgAvailabilityZone+    , cvgDryRun+    , cvgType++    -- * Destructuring the Response+    , createVPNGatewayResponse+    , CreateVPNGatewayResponse+    -- * Response Lenses+    , cvgrsVPNGateway+    , cvgrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createVPNGateway' smart constructor.+data CreateVPNGateway = CreateVPNGateway'+    { _cvgAvailabilityZone :: !(Maybe Text)+    , _cvgDryRun           :: !(Maybe Bool)+    , _cvgType             :: !GatewayType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPNGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvgAvailabilityZone'+--+-- * 'cvgDryRun'+--+-- * 'cvgType'+createVPNGateway+    :: GatewayType -- ^ 'cvgType'+    -> CreateVPNGateway+createVPNGateway pType_ =+    CreateVPNGateway'+    { _cvgAvailabilityZone = Nothing+    , _cvgDryRun = Nothing+    , _cvgType = pType_+    }++-- | The Availability Zone for the virtual private gateway.+cvgAvailabilityZone :: Lens' CreateVPNGateway (Maybe Text)+cvgAvailabilityZone = lens _cvgAvailabilityZone (\ s a -> s{_cvgAvailabilityZone = 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'.+cvgDryRun :: Lens' CreateVPNGateway (Maybe Bool)+cvgDryRun = lens _cvgDryRun (\ s a -> s{_cvgDryRun = a});++-- | The type of VPN connection this virtual private gateway supports.+cvgType :: Lens' CreateVPNGateway GatewayType+cvgType = lens _cvgType (\ s a -> s{_cvgType = a});++instance AWSRequest CreateVPNGateway where+        type Sv CreateVPNGateway = EC2+        type Rs CreateVPNGateway = CreateVPNGatewayResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateVPNGatewayResponse' <$>+                   (x .@? "vpnGateway") <*> (pure (fromEnum s)))++instance ToHeaders CreateVPNGateway where+        toHeaders = const mempty++instance ToPath CreateVPNGateway where+        toPath = const "/"++instance ToQuery CreateVPNGateway where+        toQuery CreateVPNGateway'{..}+          = mconcat+              ["Action" =: ("CreateVpnGateway" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "AvailabilityZone" =: _cvgAvailabilityZone,+               "DryRun" =: _cvgDryRun, "Type" =: _cvgType]++-- | /See:/ 'createVPNGatewayResponse' smart constructor.+data CreateVPNGatewayResponse = CreateVPNGatewayResponse'+    { _cvgrsVPNGateway :: !(Maybe VPNGateway)+    , _cvgrsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVPNGatewayResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvgrsVPNGateway'+--+-- * 'cvgrsStatus'+createVPNGatewayResponse+    :: Int -- ^ 'cvgrsStatus'+    -> CreateVPNGatewayResponse+createVPNGatewayResponse pStatus_ =+    CreateVPNGatewayResponse'+    { _cvgrsVPNGateway = Nothing+    , _cvgrsStatus = pStatus_+    }++-- | Information about the virtual private gateway.+cvgrsVPNGateway :: Lens' CreateVPNGatewayResponse (Maybe VPNGateway)+cvgrsVPNGateway = lens _cvgrsVPNGateway (\ s a -> s{_cvgrsVPNGateway = a});++-- | The response status code.+cvgrsStatus :: Lens' CreateVPNGatewayResponse Int+cvgrsStatus = lens _cvgrsStatus (\ s a -> s{_cvgrsStatus = a});
gen/Network/AWS/EC2/CreateVolume.hs view
@@ -1,348 +1,218 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateVolume--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates an EBS volume that can be attached to an instance in the same--- Availability Zone. The volume is created in the regional endpoint that you--- send the HTTP request to. For more information see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints>.+-- Creates an EBS volume that can be attached to an instance in the same+-- Availability Zone. The volume is created in the regional endpoint that+-- you send the HTTP request to. For more information see+-- <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints>. ----- You can create a new empty volume or restore a volume from an EBS snapshot.--- Any AWS Marketplace product codes from the snapshot are propagated to the--- volume.+-- You can create a new empty volume or restore a volume from an EBS+-- snapshot. Any AWS Marketplace product codes from the snapshot are+-- propagated to the volume. ----- You can create encrypted volumes with the 'Encrypted' parameter. Encrypted--- volumes may only be attached to instances that support Amazon EBS encryption.--- Volumes that are created from encrypted snapshots are also automatically--- encrypted. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBS Encryption> in the /AmazonElastic Compute Cloud User Guide/.+-- You can create encrypted volumes with the 'Encrypted' parameter.+-- Encrypted volumes may only be attached to instances that support Amazon+-- EBS encryption. Volumes that are created from encrypted snapshots are+-- also automatically encrypted. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBS Encryption>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- 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/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVolume.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVolume.html AWS API Reference> for CreateVolume. module Network.AWS.EC2.CreateVolume     (-    -- * Request-      CreateVolume-    -- ** Request constructor-    , createVolume-    -- ** Request lenses-    , cv1AvailabilityZone-    , cv1DryRun-    , cv1Encrypted-    , cv1Iops-    , cv1KmsKeyId-    , cv1Size-    , cv1SnapshotId-    , cv1VolumeType+    -- * Creating a Request+      createVolume+    , CreateVolume+    -- * Request Lenses+    , creSize+    , creIOPS+    , creEncrypted+    , creKMSKeyId+    , creVolumeType+    , creDryRun+    , creSnapshotId+    , creAvailabilityZone -    -- * Response-    , CreateVolumeResponse-    -- ** Response constructor-    , createVolumeResponse-    -- ** Response lenses-    , cvrAttachments-    , cvrAvailabilityZone-    , cvrCreateTime-    , cvrEncrypted-    , cvrIops-    , cvrKmsKeyId-    , cvrSize-    , cvrSnapshotId-    , cvrState-    , cvrTags-    , cvrVolumeId-    , cvrVolumeType+    -- * Destructuring the Response+    , volume+    , Volume+    -- * Response Lenses+    , vAttachments+    , vIOPS+    , vKMSKeyId+    , vTags+    , vAvailabilityZone+    , vCreateTime+    , vEncrypted+    , vSize+    , vSnapshotId+    , vState+    , vVolumeId+    , vVolumeType     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateVolume = CreateVolume-    { _cv1AvailabilityZone :: Text-    , _cv1DryRun           :: Maybe Bool-    , _cv1Encrypted        :: Maybe Bool-    , _cv1Iops             :: Maybe Int-    , _cv1KmsKeyId         :: Maybe Text-    , _cv1Size             :: Maybe Int-    , _cv1SnapshotId       :: Maybe Text-    , _cv1VolumeType       :: Maybe VolumeType-    } deriving (Eq, Read, Show)+-- | /See:/ 'createVolume' smart constructor.+data CreateVolume = CreateVolume'+    { _creSize             :: !(Maybe Int)+    , _creIOPS             :: !(Maybe Int)+    , _creEncrypted        :: !(Maybe Bool)+    , _creKMSKeyId         :: !(Maybe Text)+    , _creVolumeType       :: !(Maybe VolumeType)+    , _creDryRun           :: !(Maybe Bool)+    , _creSnapshotId       :: !(Maybe Text)+    , _creAvailabilityZone :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateVolume' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateVolume' with the minimum fields required to make a request. ----- * 'cv1AvailabilityZone' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cv1DryRun' @::@ 'Maybe' 'Bool'+-- * 'creSize' ----- * 'cv1Encrypted' @::@ 'Maybe' 'Bool'+-- * 'creIOPS' ----- * 'cv1Iops' @::@ 'Maybe' 'Int'+-- * 'creEncrypted' ----- * 'cv1KmsKeyId' @::@ 'Maybe' 'Text'+-- * 'creKMSKeyId' ----- * 'cv1Size' @::@ 'Maybe' 'Int'+-- * 'creVolumeType' ----- * 'cv1SnapshotId' @::@ 'Maybe' 'Text'+-- * 'creDryRun' ----- * 'cv1VolumeType' @::@ 'Maybe' 'VolumeType'+-- * 'creSnapshotId' ---createVolume :: Text -- ^ 'cv1AvailabilityZone'-             -> CreateVolume-createVolume p1 = CreateVolume-    { _cv1AvailabilityZone = p1-    , _cv1DryRun           = Nothing-    , _cv1Size             = Nothing-    , _cv1SnapshotId       = Nothing-    , _cv1VolumeType       = Nothing-    , _cv1Iops             = Nothing-    , _cv1Encrypted        = Nothing-    , _cv1KmsKeyId         = Nothing+-- * 'creAvailabilityZone'+createVolume+    :: Text -- ^ 'creAvailabilityZone'+    -> CreateVolume+createVolume pAvailabilityZone_ =+    CreateVolume'+    { _creSize = Nothing+    , _creIOPS = Nothing+    , _creEncrypted = Nothing+    , _creKMSKeyId = Nothing+    , _creVolumeType = Nothing+    , _creDryRun = Nothing+    , _creSnapshotId = Nothing+    , _creAvailabilityZone = pAvailabilityZone_     } --- | The Availability Zone in which to create the volume. Use 'DescribeAvailabilityZones' to list the Availability Zones that are currently available to you.-cv1AvailabilityZone :: Lens' CreateVolume Text-cv1AvailabilityZone =-    lens _cv1AvailabilityZone (\s a -> s { _cv1AvailabilityZone = 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'.-cv1DryRun :: Lens' CreateVolume (Maybe Bool)-cv1DryRun = lens _cv1DryRun (\s a -> s { _cv1DryRun = a })---- | Specifies whether the volume should be encrypted. Encrypted Amazon EBS--- volumes may only be attached to instances that support Amazon EBS encryption.--- Volumes that are created from encrypted snapshots are automatically--- encrypted. There is no way to create an encrypted volume from an unencrypted--- snapshot or vice versa. If your AMI uses encrypted volumes, you can only--- launch it on supported instance types. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBSEncryption> in the /Amazon Elastic Compute Cloud User Guide/.-cv1Encrypted :: Lens' CreateVolume (Maybe Bool)-cv1Encrypted = lens _cv1Encrypted (\s a -> s { _cv1Encrypted = a })---- | Only valid for Provisioned IOPS (SSD) volumes. The number of I/O operations--- per second (IOPS) to provision for the volume, with a maximum ratio of 30--- IOPS/GiB.------ Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes-cv1Iops :: Lens' CreateVolume (Maybe Int)-cv1Iops = lens _cv1Iops (\s a -> s { _cv1Iops = a })---- | The full ARN of the AWS Key Management Service (KMS) master key to use when--- creating the encrypted volume. This parameter is only required if you want to--- use a non-default master key; if this parameter is not specified, the default--- master key is used. The ARN contains the 'arn:aws:kms' namespace, followed by--- the region of the master key, the AWS account ID of the master key owner, the 'key' namespace, and then the master key ID. For example, arn:aws:kms:/us-east-1/:/012345678910/:key//abcd1234-a123-456a-a12b-a123b4cd56ef/.-cv1KmsKeyId :: Lens' CreateVolume (Maybe Text)-cv1KmsKeyId = lens _cv1KmsKeyId (\s a -> s { _cv1KmsKeyId = a })- -- | The size of the volume, in GiBs. ----- 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.-cv1Size :: Lens' CreateVolume (Maybe Int)-cv1Size = lens _cv1Size (\s a -> s { _cv1Size = a })---- | The snapshot from which to create the volume.-cv1SnapshotId :: Lens' CreateVolume (Maybe Text)-cv1SnapshotId = lens _cv1SnapshotId (\s a -> s { _cv1SnapshotId = a })---- | The volume type. This can be 'gp2' for General Purpose (SSD) volumes, 'io1' for--- Provisioned IOPS (SSD) volumes, or 'standard' for Magnetic volumes.+-- 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: 'standard'-cv1VolumeType :: Lens' CreateVolume (Maybe VolumeType)-cv1VolumeType = lens _cv1VolumeType (\s a -> s { _cv1VolumeType = a })--data CreateVolumeResponse = CreateVolumeResponse-    { _cvrAttachments      :: List "item" VolumeAttachment-    , _cvrAvailabilityZone :: Text-    , _cvrCreateTime       :: ISO8601-    , _cvrEncrypted        :: Bool-    , _cvrIops             :: Maybe Int-    , _cvrKmsKeyId         :: Maybe Text-    , _cvrSize             :: Int-    , _cvrSnapshotId       :: Text-    , _cvrState            :: VolumeState-    , _cvrTags             :: List "item" Tag-    , _cvrVolumeId         :: Text-    , _cvrVolumeType       :: VolumeType-    } deriving (Eq, Read, Show)+-- Default: If you\'re creating the volume from a snapshot and don\'t+-- specify a volume size, the default is the snapshot size.+creSize :: Lens' CreateVolume (Maybe Int)+creSize = lens _creSize (\ s a -> s{_creSize = a}); --- | 'CreateVolumeResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvrAttachments' @::@ ['VolumeAttachment']------ * 'cvrAvailabilityZone' @::@ 'Text'------ * 'cvrCreateTime' @::@ 'UTCTime'------ * 'cvrEncrypted' @::@ 'Bool'------ * 'cvrIops' @::@ 'Maybe' 'Int'------ * 'cvrKmsKeyId' @::@ 'Maybe' 'Text'------ * 'cvrSize' @::@ 'Int'------ * 'cvrSnapshotId' @::@ 'Text'------ * 'cvrState' @::@ 'VolumeState'------ * 'cvrTags' @::@ ['Tag']------ * 'cvrVolumeId' @::@ 'Text'------ * 'cvrVolumeType' @::@ 'VolumeType'+-- | Only valid for Provisioned IOPS (SSD) volumes. The number of I\/O+-- operations per second (IOPS) to provision for the volume, with a maximum+-- ratio of 30 IOPS\/GiB. ---createVolumeResponse :: Text -- ^ 'cvrVolumeId'-                     -> Int -- ^ 'cvrSize'-                     -> Text -- ^ 'cvrSnapshotId'-                     -> Text -- ^ 'cvrAvailabilityZone'-                     -> VolumeState -- ^ 'cvrState'-                     -> UTCTime -- ^ 'cvrCreateTime'-                     -> VolumeType -- ^ 'cvrVolumeType'-                     -> Bool -- ^ 'cvrEncrypted'-                     -> CreateVolumeResponse-createVolumeResponse p1 p2 p3 p4 p5 p6 p7 p8 = CreateVolumeResponse-    { _cvrVolumeId         = p1-    , _cvrSize             = p2-    , _cvrSnapshotId       = p3-    , _cvrAvailabilityZone = p4-    , _cvrState            = p5-    , _cvrCreateTime       = withIso _Time (const id) p6-    , _cvrVolumeType       = p7-    , _cvrEncrypted        = p8-    , _cvrAttachments      = mempty-    , _cvrTags             = mempty-    , _cvrIops             = Nothing-    , _cvrKmsKeyId         = Nothing-    }---- | Information about the volume attachments.-cvrAttachments :: Lens' CreateVolumeResponse [VolumeAttachment]-cvrAttachments = lens _cvrAttachments (\s a -> s { _cvrAttachments = a }) . _List---- | The Availability Zone for the volume.-cvrAvailabilityZone :: Lens' CreateVolumeResponse Text-cvrAvailabilityZone =-    lens _cvrAvailabilityZone (\s a -> s { _cvrAvailabilityZone = a })+-- Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes+creIOPS :: Lens' CreateVolume (Maybe Int)+creIOPS = lens _creIOPS (\ s a -> s{_creIOPS = a}); --- | The time stamp when volume creation was initiated.-cvrCreateTime :: Lens' CreateVolumeResponse UTCTime-cvrCreateTime = lens _cvrCreateTime (\s a -> s { _cvrCreateTime = a }) . _Time+-- | Specifies whether the volume should be encrypted. Encrypted Amazon EBS+-- volumes may only be attached to instances that support Amazon EBS+-- encryption. Volumes that are created from encrypted snapshots are+-- automatically encrypted. There is no way to create an encrypted volume+-- from an unencrypted snapshot or vice versa. If your AMI uses encrypted+-- volumes, you can only launch it on supported instance types. For more+-- information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBS Encryption>+-- in the /Amazon Elastic Compute Cloud User Guide/.+creEncrypted :: Lens' CreateVolume (Maybe Bool)+creEncrypted = lens _creEncrypted (\ s a -> s{_creEncrypted = a}); --- | Indicates whether the volume will be encrypted.-cvrEncrypted :: Lens' CreateVolumeResponse Bool-cvrEncrypted = lens _cvrEncrypted (\s a -> s { _cvrEncrypted = a })+-- | The full ARN of the AWS Key Management Service (AWS KMS) customer master+-- key (CMK) to use when creating the encrypted volume. This parameter is+-- only required if you want to use a non-default CMK; if this parameter is+-- not specified, the default CMK for EBS is used. The ARN contains the+-- 'arn:aws:kms' namespace, followed by the region of the CMK, the AWS+-- account ID of the CMK owner, the 'key' namespace, and then the CMK ID.+-- For example,+-- arn:aws:kms:/us-east-1/:/012345678910/:key\//abcd1234-a123-456a-a12b-a123b4cd56ef/.+-- If a 'KmsKeyId' is specified, the 'Encrypted' flag must also be set.+creKMSKeyId :: Lens' CreateVolume (Maybe Text)+creKMSKeyId = lens _creKMSKeyId (\ s a -> s{_creKMSKeyId = 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 EBSVolume 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.+-- | The volume type. This can be 'gp2' for General Purpose (SSD) volumes,+-- 'io1' for Provisioned IOPS (SSD) volumes, or 'standard' for Magnetic+-- volumes. ----- Condition: This parameter is required for requests to create 'io1' volumes; it--- is not used in requests to create 'standard' or 'gp2' volumes.-cvrIops :: Lens' CreateVolumeResponse (Maybe Int)-cvrIops = lens _cvrIops (\s a -> s { _cvrIops = a })---- | The full ARN of the AWS Key Management Service (KMS) master key that was used--- to protect the volume encryption key for the volume.-cvrKmsKeyId :: Lens' CreateVolumeResponse (Maybe Text)-cvrKmsKeyId = lens _cvrKmsKeyId (\s a -> s { _cvrKmsKeyId = a })---- | The size of the volume, in GiBs.-cvrSize :: Lens' CreateVolumeResponse Int-cvrSize = lens _cvrSize (\s a -> s { _cvrSize = a })+-- Default: 'standard'+creVolumeType :: Lens' CreateVolume (Maybe VolumeType)+creVolumeType = lens _creVolumeType (\ s a -> s{_creVolumeType = a}); --- | The snapshot from which the volume was created, if applicable.-cvrSnapshotId :: Lens' CreateVolumeResponse Text-cvrSnapshotId = lens _cvrSnapshotId (\s a -> s { _cvrSnapshotId = 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'.+creDryRun :: Lens' CreateVolume (Maybe Bool)+creDryRun = lens _creDryRun (\ s a -> s{_creDryRun = a}); --- | The volume state.-cvrState :: Lens' CreateVolumeResponse VolumeState-cvrState = lens _cvrState (\s a -> s { _cvrState = a })+-- | The snapshot from which to create the volume.+creSnapshotId :: Lens' CreateVolume (Maybe Text)+creSnapshotId = lens _creSnapshotId (\ s a -> s{_creSnapshotId = a}); --- | Any tags assigned to the volume.-cvrTags :: Lens' CreateVolumeResponse [Tag]-cvrTags = lens _cvrTags (\s a -> s { _cvrTags = a }) . _List+-- | The Availability Zone in which to create the volume. Use+-- DescribeAvailabilityZones to list the Availability Zones that are+-- currently available to you.+creAvailabilityZone :: Lens' CreateVolume Text+creAvailabilityZone = lens _creAvailabilityZone (\ s a -> s{_creAvailabilityZone = a}); --- | The ID of the volume.-cvrVolumeId :: Lens' CreateVolumeResponse Text-cvrVolumeId = lens _cvrVolumeId (\s a -> s { _cvrVolumeId = a })+instance AWSRequest CreateVolume where+        type Sv CreateVolume = EC2+        type Rs CreateVolume = Volume+        request = post+        response = receiveXML (\ s h x -> parseXML x) --- | The volume type. This can be 'gp2' for General Purpose (SSD) volumes, 'io1' for--- Provisioned IOPS (SSD) volumes, or 'standard' for Magnetic volumes.-cvrVolumeType :: Lens' CreateVolumeResponse VolumeType-cvrVolumeType = lens _cvrVolumeType (\s a -> s { _cvrVolumeType = a })+instance ToHeaders CreateVolume where+        toHeaders = const mempty  instance ToPath CreateVolume where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateVolume where-    toQuery CreateVolume{..} = mconcat-        [ "AvailabilityZone" =? _cv1AvailabilityZone-        , "DryRun"           =? _cv1DryRun-        , "Encrypted"        =? _cv1Encrypted-        , "Iops"             =? _cv1Iops-        , "KmsKeyId"         =? _cv1KmsKeyId-        , "Size"             =? _cv1Size-        , "SnapshotId"       =? _cv1SnapshotId-        , "VolumeType"       =? _cv1VolumeType-        ]--instance ToHeaders CreateVolume--instance AWSRequest CreateVolume where-    type Sv CreateVolume = EC2-    type Rs CreateVolume = CreateVolumeResponse--    request  = post "CreateVolume"-    response = xmlResponse--instance FromXML CreateVolumeResponse where-    parseXML x = CreateVolumeResponse-        <$> x .@? "attachmentSet" .!@ mempty-        <*> x .@  "availabilityZone"-        <*> x .@  "createTime"-        <*> x .@  "encrypted"-        <*> x .@? "iops"-        <*> x .@? "kmsKeyId"-        <*> x .@  "size"-        <*> x .@  "snapshotId"-        <*> x .@  "status"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@  "volumeId"-        <*> x .@  "volumeType"+        toQuery CreateVolume'{..}+          = mconcat+              ["Action" =: ("CreateVolume" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Size" =: _creSize, "Iops" =: _creIOPS,+               "Encrypted" =: _creEncrypted,+               "KmsKeyId" =: _creKMSKeyId,+               "VolumeType" =: _creVolumeType,+               "DryRun" =: _creDryRun,+               "SnapshotId" =: _creSnapshotId,+               "AvailabilityZone" =: _creAvailabilityZone]
− gen/Network/AWS/EC2/CreateVpc.hs
@@ -1,143 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.CreateVpc--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a VPC with the specified CIDR block.------ The smallest VPC you can create uses a /28 netmask (16 IP addresses), and--- the largest uses a /16 netmask (65,536 IP addresses). To help you decide how--- big to make your VPC, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html Your VPC and Subnets> in the /Amazon Virtual PrivateCloud User Guide/.------ By default, each instance you launch in the VPC has the default DHCP--- options, which includes only a default DNS server that we provide--- (AmazonProvidedDNS). For more information about DHCP options, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html DHCPOptions Sets> in the /Amazon Virtual Private Cloud User Guide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpc.html>-module Network.AWS.EC2.CreateVpc-    (-    -- * Request-      CreateVpc-    -- ** Request constructor-    , createVpc-    -- ** Request lenses-    , cvCidrBlock-    , cvDryRun-    , cvInstanceTenancy--    -- * Response-    , CreateVpcResponse-    -- ** Response constructor-    , createVpcResponse-    -- ** Response lenses-    , cvrVpc-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CreateVpc = CreateVpc-    { _cvCidrBlock       :: Text-    , _cvDryRun          :: Maybe Bool-    , _cvInstanceTenancy :: Maybe Tenancy-    } deriving (Eq, Read, Show)---- | 'CreateVpc' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvCidrBlock' @::@ 'Text'------ * 'cvDryRun' @::@ 'Maybe' 'Bool'------ * 'cvInstanceTenancy' @::@ 'Maybe' 'Tenancy'----createVpc :: Text -- ^ 'cvCidrBlock'-          -> CreateVpc-createVpc p1 = CreateVpc-    { _cvCidrBlock       = p1-    , _cvDryRun          = Nothing-    , _cvInstanceTenancy = Nothing-    }---- | The network range for the VPC, in CIDR notation. For example, '10.0.0.0/16'.-cvCidrBlock :: Lens' CreateVpc Text-cvCidrBlock = lens _cvCidrBlock (\s a -> s { _cvCidrBlock = 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'.-cvDryRun :: Lens' CreateVpc (Maybe Bool)-cvDryRun = lens _cvDryRun (\s a -> s { _cvDryRun = a })---- | The supported tenancy options for instances launched into the VPC. A value of 'default' means that instances can be launched with any tenancy; a value of 'dedicated' means all instances launched into the VPC are launched as dedicated tenancy--- instances regardless of the tenancy assigned to the instance at launch.--- Dedicated tenancy instances run on single-tenant hardware.------ Default: 'default'-cvInstanceTenancy :: Lens' CreateVpc (Maybe Tenancy)-cvInstanceTenancy =-    lens _cvInstanceTenancy (\s a -> s { _cvInstanceTenancy = a })--newtype CreateVpcResponse = CreateVpcResponse-    { _cvrVpc :: Maybe Vpc-    } deriving (Eq, Read, Show)---- | 'CreateVpcResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvrVpc' @::@ 'Maybe' 'Vpc'----createVpcResponse :: CreateVpcResponse-createVpcResponse = CreateVpcResponse-    { _cvrVpc = Nothing-    }---- | Information about the VPC.-cvrVpc :: Lens' CreateVpcResponse (Maybe Vpc)-cvrVpc = lens _cvrVpc (\s a -> s { _cvrVpc = a })--instance ToPath CreateVpc where-    toPath = const "/"--instance ToQuery CreateVpc where-    toQuery CreateVpc{..} = mconcat-        [ "CidrBlock"       =? _cvCidrBlock-        , "DryRun"          =? _cvDryRun-        , "InstanceTenancy" =? _cvInstanceTenancy-        ]--instance ToHeaders CreateVpc--instance AWSRequest CreateVpc where-    type Sv CreateVpc = EC2-    type Rs CreateVpc = CreateVpcResponse--    request  = post "CreateVpc"-    response = xmlResponse--instance FromXML CreateVpcResponse where-    parseXML x = CreateVpcResponse-        <$> x .@? "vpc"
− gen/Network/AWS/EC2/CreateVpcEndpoint.hs
@@ -1,183 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.CreateVpcEndpoint--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a VPC endpoint for a specified AWS service. An endpoint enables you--- to create a private connection between your VPC and another AWS service in--- your account. You can specify an endpoint policy to attach to the endpoint--- that will control access to the service from your VPC. You can also specify--- the VPC route tables that use the endpoint.------ Currently, only endpoints to Amazon S3 are supported.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpcEndpoint.html>-module Network.AWS.EC2.CreateVpcEndpoint-    (-    -- * Request-      CreateVpcEndpoint-    -- ** Request constructor-    , createVpcEndpoint-    -- ** Request lenses-    , cveClientToken-    , cveDryRun-    , cvePolicyDocument-    , cveRouteTableIds-    , cveServiceName-    , cveVpcId--    -- * Response-    , CreateVpcEndpointResponse-    -- ** Response constructor-    , createVpcEndpointResponse-    -- ** Response lenses-    , cverClientToken-    , cverVpcEndpoint-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CreateVpcEndpoint = CreateVpcEndpoint-    { _cveClientToken    :: Maybe Text-    , _cveDryRun         :: Maybe Bool-    , _cvePolicyDocument :: Maybe Text-    , _cveRouteTableIds  :: List "item" Text-    , _cveServiceName    :: Text-    , _cveVpcId          :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'CreateVpcEndpoint' constructor.------ The fields accessible through corresponding lenses are:------ * 'cveClientToken' @::@ 'Maybe' 'Text'------ * 'cveDryRun' @::@ 'Maybe' 'Bool'------ * 'cvePolicyDocument' @::@ 'Maybe' 'Text'------ * 'cveRouteTableIds' @::@ ['Text']------ * 'cveServiceName' @::@ 'Text'------ * 'cveVpcId' @::@ 'Text'----createVpcEndpoint :: Text -- ^ 'cveVpcId'-                  -> Text -- ^ 'cveServiceName'-                  -> CreateVpcEndpoint-createVpcEndpoint p1 p2 = CreateVpcEndpoint-    { _cveVpcId          = p1-    , _cveServiceName    = p2-    , _cveDryRun         = Nothing-    , _cvePolicyDocument = Nothing-    , _cveRouteTableIds  = mempty-    , _cveClientToken    = Nothing-    }---- | Unique, case-sensitive identifier you provide to ensure the idempotency of--- the request. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html How to Ensure Idempotency>.-cveClientToken :: Lens' CreateVpcEndpoint (Maybe Text)-cveClientToken = lens _cveClientToken (\s a -> s { _cveClientToken = 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'.-cveDryRun :: Lens' CreateVpcEndpoint (Maybe Bool)-cveDryRun = lens _cveDryRun (\s a -> s { _cveDryRun = a })---- | A policy to attach to the endpoint that controls access to the service. The--- policy must be in valid JSON format. If this parameter is not specified, we--- attach a default policy that allows full access to the service.-cvePolicyDocument :: Lens' CreateVpcEndpoint (Maybe Text)-cvePolicyDocument =-    lens _cvePolicyDocument (\s a -> s { _cvePolicyDocument = a })---- | One or more route table IDs.-cveRouteTableIds :: Lens' CreateVpcEndpoint [Text]-cveRouteTableIds = lens _cveRouteTableIds (\s a -> s { _cveRouteTableIds = a }) . _List---- | The AWS service name, in the form com.amazonaws.<region>.<service>. To get a--- list of available services, use the DescribeVpcEndpointServices request.-cveServiceName :: Lens' CreateVpcEndpoint Text-cveServiceName = lens _cveServiceName (\s a -> s { _cveServiceName = a })---- | The ID of the VPC in which the endpoint will be used.-cveVpcId :: Lens' CreateVpcEndpoint Text-cveVpcId = lens _cveVpcId (\s a -> s { _cveVpcId = a })--data CreateVpcEndpointResponse = CreateVpcEndpointResponse-    { _cverClientToken :: Maybe Text-    , _cverVpcEndpoint :: Maybe VpcEndpoint-    } deriving (Eq, Read, Show)---- | 'CreateVpcEndpointResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cverClientToken' @::@ 'Maybe' 'Text'------ * 'cverVpcEndpoint' @::@ 'Maybe' 'VpcEndpoint'----createVpcEndpointResponse :: CreateVpcEndpointResponse-createVpcEndpointResponse = CreateVpcEndpointResponse-    { _cverVpcEndpoint = Nothing-    , _cverClientToken = Nothing-    }---- | Unique, case-sensitive identifier you provide to ensure the idempotency of--- the request.-cverClientToken :: Lens' CreateVpcEndpointResponse (Maybe Text)-cverClientToken = lens _cverClientToken (\s a -> s { _cverClientToken = a })---- | Information about the endpoint.-cverVpcEndpoint :: Lens' CreateVpcEndpointResponse (Maybe VpcEndpoint)-cverVpcEndpoint = lens _cverVpcEndpoint (\s a -> s { _cverVpcEndpoint = a })--instance ToPath CreateVpcEndpoint where-    toPath = const "/"--instance ToQuery CreateVpcEndpoint where-    toQuery CreateVpcEndpoint{..} = mconcat-        [ "ClientToken"    =? _cveClientToken-        , "DryRun"         =? _cveDryRun-        , "PolicyDocument" =? _cvePolicyDocument-        , "RouteTableId"   `toQueryList` _cveRouteTableIds-        , "ServiceName"    =? _cveServiceName-        , "VpcId"          =? _cveVpcId-        ]--instance ToHeaders CreateVpcEndpoint--instance AWSRequest CreateVpcEndpoint where-    type Sv CreateVpcEndpoint = EC2-    type Rs CreateVpcEndpoint = CreateVpcEndpointResponse--    request  = post "CreateVpcEndpoint"-    response = xmlResponse--instance FromXML CreateVpcEndpointResponse where-    parseXML x = CreateVpcEndpointResponse-        <$> x .@? "clientToken"-        <*> x .@? "vpcEndpoint"
− gen/Network/AWS/EC2/CreateVpcPeeringConnection.hs
@@ -1,153 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.CreateVpcPeeringConnection--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Requests a VPC peering connection between two VPCs: a requester VPC that you--- own and a peer VPC with which to create the connection. The peer VPC can--- belong to another AWS account. The requester VPC and peer VPC cannot have--- overlapping CIDR blocks.------ The owner of the peer VPC must accept the peering request to activate the--- peering connection. The VPC peering connection request expires after 7 days,--- after which it cannot be accepted or rejected.------ A 'CreateVpcPeeringConnection' request between VPCs with overlapping CIDR--- blocks results in the VPC peering connection having a status of 'failed'.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpcPeeringConnection.html>-module Network.AWS.EC2.CreateVpcPeeringConnection-    (-    -- * Request-      CreateVpcPeeringConnection-    -- ** Request constructor-    , createVpcPeeringConnection-    -- ** Request lenses-    , cvpcDryRun-    , cvpcPeerOwnerId-    , cvpcPeerVpcId-    , cvpcVpcId--    -- * Response-    , CreateVpcPeeringConnectionResponse-    -- ** Response constructor-    , createVpcPeeringConnectionResponse-    -- ** Response lenses-    , cvpcrVpcPeeringConnection-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CreateVpcPeeringConnection = CreateVpcPeeringConnection-    { _cvpcDryRun      :: Maybe Bool-    , _cvpcPeerOwnerId :: Maybe Text-    , _cvpcPeerVpcId   :: Maybe Text-    , _cvpcVpcId       :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'CreateVpcPeeringConnection' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvpcDryRun' @::@ 'Maybe' 'Bool'------ * 'cvpcPeerOwnerId' @::@ 'Maybe' 'Text'------ * 'cvpcPeerVpcId' @::@ 'Maybe' 'Text'------ * 'cvpcVpcId' @::@ 'Maybe' 'Text'----createVpcPeeringConnection :: CreateVpcPeeringConnection-createVpcPeeringConnection = CreateVpcPeeringConnection-    { _cvpcDryRun      = Nothing-    , _cvpcVpcId       = Nothing-    , _cvpcPeerVpcId   = Nothing-    , _cvpcPeerOwnerId = Nothing-    }---- | 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'.-cvpcDryRun :: Lens' CreateVpcPeeringConnection (Maybe Bool)-cvpcDryRun = lens _cvpcDryRun (\s a -> s { _cvpcDryRun = a })---- | The AWS account ID of the owner of the peer VPC.------ Default: Your AWS account ID-cvpcPeerOwnerId :: Lens' CreateVpcPeeringConnection (Maybe Text)-cvpcPeerOwnerId = lens _cvpcPeerOwnerId (\s a -> s { _cvpcPeerOwnerId = a })---- | The ID of the VPC with which you are creating the VPC peering connection.-cvpcPeerVpcId :: Lens' CreateVpcPeeringConnection (Maybe Text)-cvpcPeerVpcId = lens _cvpcPeerVpcId (\s a -> s { _cvpcPeerVpcId = a })---- | The ID of the requester VPC.-cvpcVpcId :: Lens' CreateVpcPeeringConnection (Maybe Text)-cvpcVpcId = lens _cvpcVpcId (\s a -> s { _cvpcVpcId = a })--newtype CreateVpcPeeringConnectionResponse = CreateVpcPeeringConnectionResponse-    { _cvpcrVpcPeeringConnection :: Maybe VpcPeeringConnection-    } deriving (Eq, Read, Show)---- | 'CreateVpcPeeringConnectionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvpcrVpcPeeringConnection' @::@ 'Maybe' 'VpcPeeringConnection'----createVpcPeeringConnectionResponse :: CreateVpcPeeringConnectionResponse-createVpcPeeringConnectionResponse = CreateVpcPeeringConnectionResponse-    { _cvpcrVpcPeeringConnection = Nothing-    }---- | Information about the VPC peering connection.-cvpcrVpcPeeringConnection :: Lens' CreateVpcPeeringConnectionResponse (Maybe VpcPeeringConnection)-cvpcrVpcPeeringConnection =-    lens _cvpcrVpcPeeringConnection-        (\s a -> s { _cvpcrVpcPeeringConnection = a })--instance ToPath CreateVpcPeeringConnection where-    toPath = const "/"--instance ToQuery CreateVpcPeeringConnection where-    toQuery CreateVpcPeeringConnection{..} = mconcat-        [ "DryRun"      =? _cvpcDryRun-        , "PeerOwnerId" =? _cvpcPeerOwnerId-        , "PeerVpcId"   =? _cvpcPeerVpcId-        , "VpcId"       =? _cvpcVpcId-        ]--instance ToHeaders CreateVpcPeeringConnection--instance AWSRequest CreateVpcPeeringConnection where-    type Sv CreateVpcPeeringConnection = EC2-    type Rs CreateVpcPeeringConnection = CreateVpcPeeringConnectionResponse--    request  = post "CreateVpcPeeringConnection"-    response = xmlResponse--instance FromXML CreateVpcPeeringConnectionResponse where-    parseXML x = CreateVpcPeeringConnectionResponse-        <$> x .@? "vpcPeeringConnection"
− gen/Network/AWS/EC2/CreateVpnConnection.hs
@@ -1,172 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.CreateVpnConnection--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a VPN connection between an existing virtual private gateway and a--- VPN customer gateway. The only supported connection type is 'ipsec.1'.------ The response includes information that you need to give to your network--- administrator to configure your customer gateway.------ We strongly recommend that you use HTTPS when calling this operation--- because the response contains sensitive cryptographic information for--- configuring your customer gateway.------ If you decide to shut down your VPN connection for any reason and later--- create a new VPN connection, you must reconfigure your customer gateway with--- the new information returned from this call.------ For more information about VPN connections, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a Hardware VirtualPrivate Gateway to Your VPC> in the /Amazon Virtual Private Cloud User Guide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpnConnection.html>-module Network.AWS.EC2.CreateVpnConnection-    (-    -- * Request-      CreateVpnConnection-    -- ** Request constructor-    , createVpnConnection-    -- ** Request lenses-    , cvcCustomerGatewayId-    , cvcDryRun-    , cvcOptions-    , cvcType-    , cvcVpnGatewayId--    -- * Response-    , CreateVpnConnectionResponse-    -- ** Response constructor-    , createVpnConnectionResponse-    -- ** Response lenses-    , cvcrVpnConnection-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CreateVpnConnection = CreateVpnConnection-    { _cvcCustomerGatewayId :: Text-    , _cvcDryRun            :: Maybe Bool-    , _cvcOptions           :: Maybe VpnConnectionOptionsSpecification-    , _cvcType              :: Text-    , _cvcVpnGatewayId      :: Text-    } deriving (Eq, Read, Show)---- | 'CreateVpnConnection' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvcCustomerGatewayId' @::@ 'Text'------ * 'cvcDryRun' @::@ 'Maybe' 'Bool'------ * 'cvcOptions' @::@ 'Maybe' 'VpnConnectionOptionsSpecification'------ * 'cvcType' @::@ 'Text'------ * 'cvcVpnGatewayId' @::@ 'Text'----createVpnConnection :: Text -- ^ 'cvcType'-                    -> Text -- ^ 'cvcCustomerGatewayId'-                    -> Text -- ^ 'cvcVpnGatewayId'-                    -> CreateVpnConnection-createVpnConnection p1 p2 p3 = CreateVpnConnection-    { _cvcType              = p1-    , _cvcCustomerGatewayId = p2-    , _cvcVpnGatewayId      = p3-    , _cvcDryRun            = Nothing-    , _cvcOptions           = Nothing-    }---- | The ID of the customer gateway.-cvcCustomerGatewayId :: Lens' CreateVpnConnection Text-cvcCustomerGatewayId =-    lens _cvcCustomerGatewayId (\s a -> s { _cvcCustomerGatewayId = 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'.-cvcDryRun :: Lens' CreateVpnConnection (Maybe Bool)-cvcDryRun = lens _cvcDryRun (\s a -> s { _cvcDryRun = a })---- | Indicates whether the VPN connection requires static routes. If you are--- creating a VPN connection for a device that does not support BGP, you must--- specify 'true'.------ Default: 'false'-cvcOptions :: Lens' CreateVpnConnection (Maybe VpnConnectionOptionsSpecification)-cvcOptions = lens _cvcOptions (\s a -> s { _cvcOptions = a })---- | The type of VPN connection ('ipsec.1').-cvcType :: Lens' CreateVpnConnection Text-cvcType = lens _cvcType (\s a -> s { _cvcType = a })---- | The ID of the virtual private gateway.-cvcVpnGatewayId :: Lens' CreateVpnConnection Text-cvcVpnGatewayId = lens _cvcVpnGatewayId (\s a -> s { _cvcVpnGatewayId = a })--newtype CreateVpnConnectionResponse = CreateVpnConnectionResponse-    { _cvcrVpnConnection :: Maybe VpnConnection-    } deriving (Eq, Read, Show)---- | 'CreateVpnConnectionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvcrVpnConnection' @::@ 'Maybe' 'VpnConnection'----createVpnConnectionResponse :: CreateVpnConnectionResponse-createVpnConnectionResponse = CreateVpnConnectionResponse-    { _cvcrVpnConnection = Nothing-    }---- | Information about the VPN connection.-cvcrVpnConnection :: Lens' CreateVpnConnectionResponse (Maybe VpnConnection)-cvcrVpnConnection =-    lens _cvcrVpnConnection (\s a -> s { _cvcrVpnConnection = a })--instance ToPath CreateVpnConnection where-    toPath = const "/"--instance ToQuery CreateVpnConnection where-    toQuery CreateVpnConnection{..} = mconcat-        [ "CustomerGatewayId" =? _cvcCustomerGatewayId-        , "DryRun"            =? _cvcDryRun-        , "Options"           =? _cvcOptions-        , "Type"              =? _cvcType-        , "VpnGatewayId"      =? _cvcVpnGatewayId-        ]--instance ToHeaders CreateVpnConnection--instance AWSRequest CreateVpnConnection where-    type Sv CreateVpnConnection = EC2-    type Rs CreateVpnConnection = CreateVpnConnectionResponse--    request  = post "CreateVpnConnection"-    response = xmlResponse--instance FromXML CreateVpnConnectionResponse where-    parseXML x = CreateVpnConnectionResponse-        <$> x .@? "vpnConnection"
− gen/Network/AWS/EC2/CreateVpnConnectionRoute.hs
@@ -1,109 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.CreateVpnConnectionRoute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a static route associated with a VPN connection 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.------ For more information about VPN connections, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a Hardware VirtualPrivate Gateway to Your VPC> in the /Amazon Virtual Private Cloud User Guide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpnConnectionRoute.html>-module Network.AWS.EC2.CreateVpnConnectionRoute-    (-    -- * Request-      CreateVpnConnectionRoute-    -- ** Request constructor-    , createVpnConnectionRoute-    -- ** Request lenses-    , cvcrDestinationCidrBlock-    , cvcrVpnConnectionId--    -- * Response-    , CreateVpnConnectionRouteResponse-    -- ** Response constructor-    , createVpnConnectionRouteResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CreateVpnConnectionRoute = CreateVpnConnectionRoute-    { _cvcrDestinationCidrBlock :: Text-    , _cvcrVpnConnectionId      :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'CreateVpnConnectionRoute' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvcrDestinationCidrBlock' @::@ 'Text'------ * 'cvcrVpnConnectionId' @::@ 'Text'----createVpnConnectionRoute :: Text -- ^ 'cvcrVpnConnectionId'-                         -> Text -- ^ 'cvcrDestinationCidrBlock'-                         -> CreateVpnConnectionRoute-createVpnConnectionRoute p1 p2 = CreateVpnConnectionRoute-    { _cvcrVpnConnectionId      = p1-    , _cvcrDestinationCidrBlock = p2-    }---- | The CIDR block associated with the local subnet of the customer network.-cvcrDestinationCidrBlock :: Lens' CreateVpnConnectionRoute Text-cvcrDestinationCidrBlock =-    lens _cvcrDestinationCidrBlock-        (\s a -> s { _cvcrDestinationCidrBlock = a })---- | The ID of the VPN connection.-cvcrVpnConnectionId :: Lens' CreateVpnConnectionRoute Text-cvcrVpnConnectionId =-    lens _cvcrVpnConnectionId (\s a -> s { _cvcrVpnConnectionId = a })--data CreateVpnConnectionRouteResponse = CreateVpnConnectionRouteResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'CreateVpnConnectionRouteResponse' constructor.-createVpnConnectionRouteResponse :: CreateVpnConnectionRouteResponse-createVpnConnectionRouteResponse = CreateVpnConnectionRouteResponse--instance ToPath CreateVpnConnectionRoute where-    toPath = const "/"--instance ToQuery CreateVpnConnectionRoute where-    toQuery CreateVpnConnectionRoute{..} = mconcat-        [ "DestinationCidrBlock" =? _cvcrDestinationCidrBlock-        , "VpnConnectionId"      =? _cvcrVpnConnectionId-        ]--instance ToHeaders CreateVpnConnectionRoute--instance AWSRequest CreateVpnConnectionRoute where-    type Sv CreateVpnConnectionRoute = EC2-    type Rs CreateVpnConnectionRoute = CreateVpnConnectionRouteResponse--    request  = post "CreateVpnConnectionRoute"-    response = nullResponse CreateVpnConnectionRouteResponse
− gen/Network/AWS/EC2/CreateVpnGateway.hs
@@ -1,135 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.CreateVpnGateway--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a virtual private gateway. A virtual private gateway is the endpoint--- on the VPC side of your VPN connection. You can create a virtual private--- gateway before creating the VPC itself.------ For more information about virtual private gateways, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a HardwareVirtual Private Gateway to Your VPC> in the /Amazon Virtual Private Cloud UserGuide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpnGateway.html>-module Network.AWS.EC2.CreateVpnGateway-    (-    -- * Request-      CreateVpnGateway-    -- ** Request constructor-    , createVpnGateway-    -- ** Request lenses-    , cvgAvailabilityZone-    , cvgDryRun-    , cvgType--    -- * Response-    , CreateVpnGatewayResponse-    -- ** Response constructor-    , createVpnGatewayResponse-    -- ** Response lenses-    , cvgrVpnGateway-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data CreateVpnGateway = CreateVpnGateway-    { _cvgAvailabilityZone :: Maybe Text-    , _cvgDryRun           :: Maybe Bool-    , _cvgType             :: GatewayType-    } deriving (Eq, Read, Show)---- | 'CreateVpnGateway' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvgAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'cvgDryRun' @::@ 'Maybe' 'Bool'------ * 'cvgType' @::@ 'GatewayType'----createVpnGateway :: GatewayType -- ^ 'cvgType'-                 -> CreateVpnGateway-createVpnGateway p1 = CreateVpnGateway-    { _cvgType             = p1-    , _cvgDryRun           = Nothing-    , _cvgAvailabilityZone = Nothing-    }---- | The Availability Zone for the virtual private gateway.-cvgAvailabilityZone :: Lens' CreateVpnGateway (Maybe Text)-cvgAvailabilityZone =-    lens _cvgAvailabilityZone (\s a -> s { _cvgAvailabilityZone = 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'.-cvgDryRun :: Lens' CreateVpnGateway (Maybe Bool)-cvgDryRun = lens _cvgDryRun (\s a -> s { _cvgDryRun = a })---- | The type of VPN connection this virtual private gateway supports.-cvgType :: Lens' CreateVpnGateway GatewayType-cvgType = lens _cvgType (\s a -> s { _cvgType = a })--newtype CreateVpnGatewayResponse = CreateVpnGatewayResponse-    { _cvgrVpnGateway :: Maybe VpnGateway-    } deriving (Eq, Read, Show)---- | 'CreateVpnGatewayResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvgrVpnGateway' @::@ 'Maybe' 'VpnGateway'----createVpnGatewayResponse :: CreateVpnGatewayResponse-createVpnGatewayResponse = CreateVpnGatewayResponse-    { _cvgrVpnGateway = Nothing-    }---- | Information about the virtual private gateway.-cvgrVpnGateway :: Lens' CreateVpnGatewayResponse (Maybe VpnGateway)-cvgrVpnGateway = lens _cvgrVpnGateway (\s a -> s { _cvgrVpnGateway = a })--instance ToPath CreateVpnGateway where-    toPath = const "/"--instance ToQuery CreateVpnGateway where-    toQuery CreateVpnGateway{..} = mconcat-        [ "AvailabilityZone" =? _cvgAvailabilityZone-        , "DryRun"           =? _cvgDryRun-        , "Type"             =? _cvgType-        ]--instance ToHeaders CreateVpnGateway--instance AWSRequest CreateVpnGateway where-    type Sv CreateVpnGateway = EC2-    type Rs CreateVpnGateway = CreateVpnGatewayResponse--    request  = post "CreateVpnGateway"-    response = xmlResponse--instance FromXML CreateVpnGatewayResponse where-    parseXML x = CreateVpnGatewayResponse-        <$> x .@? "vpnGateway"
gen/Network/AWS/EC2/DeleteCustomerGateway.hs view
@@ -1,104 +1,108 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteCustomerGateway--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified customer gateway. You must delete the VPN connection--- before you can delete the customer gateway.+-- Deletes the specified customer gateway. You must delete the VPN+-- connection before you can delete the customer gateway. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteCustomerGateway.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteCustomerGateway.html AWS API Reference> for DeleteCustomerGateway. module Network.AWS.EC2.DeleteCustomerGateway     (-    -- * Request-      DeleteCustomerGateway-    -- ** Request constructor-    , deleteCustomerGateway-    -- ** Request lenses-    , dcg1CustomerGatewayId-    , dcg1DryRun+    -- * Creating a Request+      deleteCustomerGateway+    , DeleteCustomerGateway+    -- * Request Lenses+    , dcgcDryRun+    , dcgcCustomerGatewayId -    -- * Response-    , DeleteCustomerGatewayResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteCustomerGatewayResponse+    , DeleteCustomerGatewayResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteCustomerGateway = DeleteCustomerGateway-    { _dcg1CustomerGatewayId :: Text-    , _dcg1DryRun            :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteCustomerGateway' smart constructor.+data DeleteCustomerGateway = DeleteCustomerGateway'+    { _dcgcDryRun            :: !(Maybe Bool)+    , _dcgcCustomerGatewayId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteCustomerGateway' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteCustomerGateway' with the minimum fields required to make a request. ----- * 'dcg1CustomerGatewayId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcg1DryRun' @::@ 'Maybe' 'Bool'+-- * 'dcgcDryRun' ---deleteCustomerGateway :: Text -- ^ 'dcg1CustomerGatewayId'-                      -> DeleteCustomerGateway-deleteCustomerGateway p1 = DeleteCustomerGateway-    { _dcg1CustomerGatewayId = p1-    , _dcg1DryRun            = Nothing+-- * 'dcgcCustomerGatewayId'+deleteCustomerGateway+    :: Text -- ^ 'dcgcCustomerGatewayId'+    -> DeleteCustomerGateway+deleteCustomerGateway pCustomerGatewayId_ =+    DeleteCustomerGateway'+    { _dcgcDryRun = Nothing+    , _dcgcCustomerGatewayId = pCustomerGatewayId_     } --- | The ID of the customer gateway.-dcg1CustomerGatewayId :: Lens' DeleteCustomerGateway Text-dcg1CustomerGatewayId =-    lens _dcg1CustomerGatewayId (\s a -> s { _dcg1CustomerGatewayId = 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'.-dcg1DryRun :: Lens' DeleteCustomerGateway (Maybe Bool)-dcg1DryRun = lens _dcg1DryRun (\s a -> s { _dcg1DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+dcgcDryRun :: Lens' DeleteCustomerGateway (Maybe Bool)+dcgcDryRun = lens _dcgcDryRun (\ s a -> s{_dcgcDryRun = a}); -data DeleteCustomerGatewayResponse = DeleteCustomerGatewayResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The ID of the customer gateway.+dcgcCustomerGatewayId :: Lens' DeleteCustomerGateway Text+dcgcCustomerGatewayId = lens _dcgcCustomerGatewayId (\ s a -> s{_dcgcCustomerGatewayId = a}); --- | 'DeleteCustomerGatewayResponse' constructor.-deleteCustomerGatewayResponse :: DeleteCustomerGatewayResponse-deleteCustomerGatewayResponse = DeleteCustomerGatewayResponse+instance AWSRequest DeleteCustomerGateway where+        type Sv DeleteCustomerGateway = EC2+        type Rs DeleteCustomerGateway =+             DeleteCustomerGatewayResponse+        request = post+        response = receiveNull DeleteCustomerGatewayResponse' +instance ToHeaders DeleteCustomerGateway where+        toHeaders = const mempty+ instance ToPath DeleteCustomerGateway where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteCustomerGateway where-    toQuery DeleteCustomerGateway{..} = mconcat-        [ "CustomerGatewayId" =? _dcg1CustomerGatewayId-        , "DryRun"            =? _dcg1DryRun-        ]--instance ToHeaders DeleteCustomerGateway+        toQuery DeleteCustomerGateway'{..}+          = mconcat+              ["Action" =: ("DeleteCustomerGateway" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dcgcDryRun,+               "CustomerGatewayId" =: _dcgcCustomerGatewayId] -instance AWSRequest DeleteCustomerGateway where-    type Sv DeleteCustomerGateway = EC2-    type Rs DeleteCustomerGateway = DeleteCustomerGatewayResponse+-- | /See:/ 'deleteCustomerGatewayResponse' smart constructor.+data DeleteCustomerGatewayResponse =+    DeleteCustomerGatewayResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteCustomerGateway"-    response = nullResponse DeleteCustomerGatewayResponse+-- | Creates a value of 'DeleteCustomerGatewayResponse' with the minimum fields required to make a request.+--+deleteCustomerGatewayResponse+    :: DeleteCustomerGatewayResponse+deleteCustomerGatewayResponse = DeleteCustomerGatewayResponse'
+ gen/Network/AWS/EC2/DeleteDHCPOptions.hs view
@@ -0,0 +1,109 @@+{-# 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.DeleteDHCPOptions+-- 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)+--+-- Deletes the specified set of DHCP options. You must disassociate the set+-- 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+      deleteDHCPOptions+    , DeleteDHCPOptions+    -- * Request Lenses+    , ddhcpoDryRun+    , ddhcpoDHCPOptionsId++    -- * Destructuring the Response+    , deleteDHCPOptionsResponse+    , DeleteDHCPOptionsResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteDHCPOptions' smart constructor.+data DeleteDHCPOptions = DeleteDHCPOptions'+    { _ddhcpoDryRun        :: !(Maybe Bool)+    , _ddhcpoDHCPOptionsId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDHCPOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddhcpoDryRun'+--+-- * 'ddhcpoDHCPOptionsId'+deleteDHCPOptions+    :: Text -- ^ 'ddhcpoDHCPOptionsId'+    -> DeleteDHCPOptions+deleteDHCPOptions pDHCPOptionsId_ =+    DeleteDHCPOptions'+    { _ddhcpoDryRun = Nothing+    , _ddhcpoDHCPOptionsId = pDHCPOptionsId_+    }++-- | 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'.+ddhcpoDryRun :: Lens' DeleteDHCPOptions (Maybe Bool)+ddhcpoDryRun = lens _ddhcpoDryRun (\ s a -> s{_ddhcpoDryRun = a});++-- | The ID of the DHCP options set.+ddhcpoDHCPOptionsId :: Lens' DeleteDHCPOptions Text+ddhcpoDHCPOptionsId = lens _ddhcpoDHCPOptionsId (\ s a -> s{_ddhcpoDHCPOptionsId = a});++instance AWSRequest DeleteDHCPOptions where+        type Sv DeleteDHCPOptions = EC2+        type Rs DeleteDHCPOptions = DeleteDHCPOptionsResponse+        request = post+        response = receiveNull DeleteDHCPOptionsResponse'++instance ToHeaders DeleteDHCPOptions where+        toHeaders = const mempty++instance ToPath DeleteDHCPOptions where+        toPath = const "/"++instance ToQuery DeleteDHCPOptions where+        toQuery DeleteDHCPOptions'{..}+          = mconcat+              ["Action" =: ("DeleteDhcpOptions" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _ddhcpoDryRun,+               "DhcpOptionsId" =: _ddhcpoDHCPOptionsId]++-- | /See:/ 'deleteDHCPOptionsResponse' smart constructor.+data DeleteDHCPOptionsResponse =+    DeleteDHCPOptionsResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDHCPOptionsResponse' with the minimum fields required to make a request.+--+deleteDHCPOptionsResponse+    :: DeleteDHCPOptionsResponse+deleteDHCPOptionsResponse = DeleteDHCPOptionsResponse'
− gen/Network/AWS/EC2/DeleteDhcpOptions.hs
@@ -1,106 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DeleteDhcpOptions--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified set of DHCP options. You must disassociate the set 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.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteDhcpOptions.html>-module Network.AWS.EC2.DeleteDhcpOptions-    (-    -- * Request-      DeleteDhcpOptions-    -- ** Request constructor-    , deleteDhcpOptions-    -- ** Request lenses-    , ddo1DhcpOptionsId-    , ddo1DryRun--    -- * Response-    , DeleteDhcpOptionsResponse-    -- ** Response constructor-    , deleteDhcpOptionsResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DeleteDhcpOptions = DeleteDhcpOptions-    { _ddo1DhcpOptionsId :: Text-    , _ddo1DryRun        :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'DeleteDhcpOptions' constructor.------ The fields accessible through corresponding lenses are:------ * 'ddo1DhcpOptionsId' @::@ 'Text'------ * 'ddo1DryRun' @::@ 'Maybe' 'Bool'----deleteDhcpOptions :: Text -- ^ 'ddo1DhcpOptionsId'-                  -> DeleteDhcpOptions-deleteDhcpOptions p1 = DeleteDhcpOptions-    { _ddo1DhcpOptionsId = p1-    , _ddo1DryRun        = Nothing-    }---- | The ID of the DHCP options set.-ddo1DhcpOptionsId :: Lens' DeleteDhcpOptions Text-ddo1DhcpOptionsId =-    lens _ddo1DhcpOptionsId (\s a -> s { _ddo1DhcpOptionsId = 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'.-ddo1DryRun :: Lens' DeleteDhcpOptions (Maybe Bool)-ddo1DryRun = lens _ddo1DryRun (\s a -> s { _ddo1DryRun = a })--data DeleteDhcpOptionsResponse = DeleteDhcpOptionsResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DeleteDhcpOptionsResponse' constructor.-deleteDhcpOptionsResponse :: DeleteDhcpOptionsResponse-deleteDhcpOptionsResponse = DeleteDhcpOptionsResponse--instance ToPath DeleteDhcpOptions where-    toPath = const "/"--instance ToQuery DeleteDhcpOptions where-    toQuery DeleteDhcpOptions{..} = mconcat-        [ "DhcpOptionsId" =? _ddo1DhcpOptionsId-        , "DryRun"        =? _ddo1DryRun-        ]--instance ToHeaders DeleteDhcpOptions--instance AWSRequest DeleteDhcpOptions where-    type Sv DeleteDhcpOptions = EC2-    type Rs DeleteDhcpOptions = DeleteDhcpOptionsResponse--    request  = post "DeleteDhcpOptions"-    response = nullResponse DeleteDhcpOptionsResponse
+ gen/Network/AWS/EC2/DeleteFlowLogs.hs view
@@ -0,0 +1,120 @@+{-# 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.DeleteFlowLogs+-- 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)+--+-- 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+      deleteFlowLogs+    , DeleteFlowLogs+    -- * Request Lenses+    , dflFlowLogIds++    -- * Destructuring the Response+    , deleteFlowLogsResponse+    , DeleteFlowLogsResponse+    -- * Response Lenses+    , dflrsUnsuccessful+    , dflrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteFlowLogs' smart constructor.+newtype DeleteFlowLogs = DeleteFlowLogs'+    { _dflFlowLogIds :: [Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteFlowLogs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dflFlowLogIds'+deleteFlowLogs+    :: DeleteFlowLogs+deleteFlowLogs =+    DeleteFlowLogs'+    { _dflFlowLogIds = mempty+    }++-- | One or more flow log IDs.+dflFlowLogIds :: Lens' DeleteFlowLogs [Text]+dflFlowLogIds = lens _dflFlowLogIds (\ s a -> s{_dflFlowLogIds = a}) . _Coerce;++instance AWSRequest DeleteFlowLogs where+        type Sv DeleteFlowLogs = EC2+        type Rs DeleteFlowLogs = DeleteFlowLogsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DeleteFlowLogsResponse' <$>+                   (x .@? "unsuccessful" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DeleteFlowLogs where+        toHeaders = const mempty++instance ToPath DeleteFlowLogs where+        toPath = const "/"++instance ToQuery DeleteFlowLogs where+        toQuery DeleteFlowLogs'{..}+          = mconcat+              ["Action" =: ("DeleteFlowLogs" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQueryList "item" _dflFlowLogIds]++-- | /See:/ 'deleteFlowLogsResponse' smart constructor.+data DeleteFlowLogsResponse = DeleteFlowLogsResponse'+    { _dflrsUnsuccessful :: !(Maybe [UnsuccessfulItem])+    , _dflrsStatus       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteFlowLogsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dflrsUnsuccessful'+--+-- * 'dflrsStatus'+deleteFlowLogsResponse+    :: Int -- ^ 'dflrsStatus'+    -> DeleteFlowLogsResponse+deleteFlowLogsResponse pStatus_ =+    DeleteFlowLogsResponse'+    { _dflrsUnsuccessful = Nothing+    , _dflrsStatus = pStatus_+    }++-- | Information about the flow logs that could not be deleted successfully.+dflrsUnsuccessful :: Lens' DeleteFlowLogsResponse [UnsuccessfulItem]+dflrsUnsuccessful = lens _dflrsUnsuccessful (\ s a -> s{_dflrsUnsuccessful = a}) . _Default . _Coerce;++-- | The response status code.+dflrsStatus :: Lens' DeleteFlowLogsResponse Int+dflrsStatus = lens _dflrsStatus (\ s a -> s{_dflrsStatus = a});
gen/Network/AWS/EC2/DeleteInternetGateway.hs view
@@ -1,104 +1,108 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteInternetGateway--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified Internet gateway. You must detach the Internet gateway--- from the VPC before you can delete it.+-- Deletes the specified Internet gateway. You must detach the Internet+-- gateway from the VPC before you can delete it. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteInternetGateway.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteInternetGateway.html AWS API Reference> for DeleteInternetGateway. module Network.AWS.EC2.DeleteInternetGateway     (-    -- * Request-      DeleteInternetGateway-    -- ** Request constructor-    , deleteInternetGateway-    -- ** Request lenses-    , dig2DryRun-    , dig2InternetGatewayId+    -- * Creating a Request+      deleteInternetGateway+    , DeleteInternetGateway+    -- * Request Lenses+    , digiDryRun+    , digiInternetGatewayId -    -- * Response-    , DeleteInternetGatewayResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteInternetGatewayResponse+    , DeleteInternetGatewayResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteInternetGateway = DeleteInternetGateway-    { _dig2DryRun            :: Maybe Bool-    , _dig2InternetGatewayId :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteInternetGateway' smart constructor.+data DeleteInternetGateway = DeleteInternetGateway'+    { _digiDryRun            :: !(Maybe Bool)+    , _digiInternetGatewayId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteInternetGateway' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteInternetGateway' with the minimum fields required to make a request. ----- * 'dig2DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dig2InternetGatewayId' @::@ 'Text'+-- * 'digiDryRun' ---deleteInternetGateway :: Text -- ^ 'dig2InternetGatewayId'-                      -> DeleteInternetGateway-deleteInternetGateway p1 = DeleteInternetGateway-    { _dig2InternetGatewayId = p1-    , _dig2DryRun            = Nothing+-- * 'digiInternetGatewayId'+deleteInternetGateway+    :: Text -- ^ 'digiInternetGatewayId'+    -> DeleteInternetGateway+deleteInternetGateway pInternetGatewayId_ =+    DeleteInternetGateway'+    { _digiDryRun = Nothing+    , _digiInternetGatewayId = pInternetGatewayId_     }  -- | 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'.-dig2DryRun :: Lens' DeleteInternetGateway (Maybe Bool)-dig2DryRun = lens _dig2DryRun (\s a -> s { _dig2DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+digiDryRun :: Lens' DeleteInternetGateway (Maybe Bool)+digiDryRun = lens _digiDryRun (\ s a -> s{_digiDryRun = a});  -- | The ID of the Internet gateway.-dig2InternetGatewayId :: Lens' DeleteInternetGateway Text-dig2InternetGatewayId =-    lens _dig2InternetGatewayId (\s a -> s { _dig2InternetGatewayId = a })+digiInternetGatewayId :: Lens' DeleteInternetGateway Text+digiInternetGatewayId = lens _digiInternetGatewayId (\ s a -> s{_digiInternetGatewayId = a}); -data DeleteInternetGatewayResponse = DeleteInternetGatewayResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteInternetGateway where+        type Sv DeleteInternetGateway = EC2+        type Rs DeleteInternetGateway =+             DeleteInternetGatewayResponse+        request = post+        response = receiveNull DeleteInternetGatewayResponse' --- | 'DeleteInternetGatewayResponse' constructor.-deleteInternetGatewayResponse :: DeleteInternetGatewayResponse-deleteInternetGatewayResponse = DeleteInternetGatewayResponse+instance ToHeaders DeleteInternetGateway where+        toHeaders = const mempty  instance ToPath DeleteInternetGateway where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteInternetGateway where-    toQuery DeleteInternetGateway{..} = mconcat-        [ "DryRun"            =? _dig2DryRun-        , "InternetGatewayId" =? _dig2InternetGatewayId-        ]--instance ToHeaders DeleteInternetGateway+        toQuery DeleteInternetGateway'{..}+          = mconcat+              ["Action" =: ("DeleteInternetGateway" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _digiDryRun,+               "InternetGatewayId" =: _digiInternetGatewayId] -instance AWSRequest DeleteInternetGateway where-    type Sv DeleteInternetGateway = EC2-    type Rs DeleteInternetGateway = DeleteInternetGatewayResponse+-- | /See:/ 'deleteInternetGatewayResponse' smart constructor.+data DeleteInternetGatewayResponse =+    DeleteInternetGatewayResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteInternetGateway"-    response = nullResponse DeleteInternetGatewayResponse+-- | Creates a value of 'DeleteInternetGatewayResponse' with the minimum fields required to make a request.+--+deleteInternetGatewayResponse+    :: DeleteInternetGatewayResponse+deleteInternetGatewayResponse = DeleteInternetGatewayResponse'
gen/Network/AWS/EC2/DeleteKeyPair.hs view
@@ -1,102 +1,106 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteKeyPair--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified key pair, by removing the public key from Amazon EC2.+-- Deletes the specified key pair, by removing the public key from Amazon+-- EC2. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteKeyPair.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteKeyPair.html AWS API Reference> for DeleteKeyPair. module Network.AWS.EC2.DeleteKeyPair     (-    -- * Request-      DeleteKeyPair-    -- ** Request constructor-    , deleteKeyPair-    -- ** Request lenses+    -- * Creating a Request+      deleteKeyPair+    , DeleteKeyPair+    -- * Request Lenses     , dkpDryRun     , dkpKeyName -    -- * Response-    , DeleteKeyPairResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteKeyPairResponse+    , DeleteKeyPairResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteKeyPair = DeleteKeyPair-    { _dkpDryRun  :: Maybe Bool-    , _dkpKeyName :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteKeyPair' smart constructor.+data DeleteKeyPair = DeleteKeyPair'+    { _dkpDryRun  :: !(Maybe Bool)+    , _dkpKeyName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteKeyPair' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteKeyPair' with the minimum fields required to make a request. ----- * 'dkpDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dkpKeyName' @::@ 'Text'+-- * 'dkpDryRun' ---deleteKeyPair :: Text -- ^ 'dkpKeyName'-              -> DeleteKeyPair-deleteKeyPair p1 = DeleteKeyPair-    { _dkpKeyName = p1-    , _dkpDryRun  = Nothing+-- * 'dkpKeyName'+deleteKeyPair+    :: Text -- ^ 'dkpKeyName'+    -> DeleteKeyPair+deleteKeyPair pKeyName_ =+    DeleteKeyPair'+    { _dkpDryRun = Nothing+    , _dkpKeyName = pKeyName_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. dkpDryRun :: Lens' DeleteKeyPair (Maybe Bool)-dkpDryRun = lens _dkpDryRun (\s a -> s { _dkpDryRun = a })+dkpDryRun = lens _dkpDryRun (\ s a -> s{_dkpDryRun = a});  -- | The name of the key pair. dkpKeyName :: Lens' DeleteKeyPair Text-dkpKeyName = lens _dkpKeyName (\s a -> s { _dkpKeyName = a })+dkpKeyName = lens _dkpKeyName (\ s a -> s{_dkpKeyName = a}); -data DeleteKeyPairResponse = DeleteKeyPairResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteKeyPair where+        type Sv DeleteKeyPair = EC2+        type Rs DeleteKeyPair = DeleteKeyPairResponse+        request = post+        response = receiveNull DeleteKeyPairResponse' --- | 'DeleteKeyPairResponse' constructor.-deleteKeyPairResponse :: DeleteKeyPairResponse-deleteKeyPairResponse = DeleteKeyPairResponse+instance ToHeaders DeleteKeyPair where+        toHeaders = const mempty  instance ToPath DeleteKeyPair where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteKeyPair where-    toQuery DeleteKeyPair{..} = mconcat-        [ "DryRun"  =? _dkpDryRun-        , "KeyName" =? _dkpKeyName-        ]--instance ToHeaders DeleteKeyPair+        toQuery DeleteKeyPair'{..}+          = mconcat+              ["Action" =: ("DeleteKeyPair" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dkpDryRun, "KeyName" =: _dkpKeyName] -instance AWSRequest DeleteKeyPair where-    type Sv DeleteKeyPair = EC2-    type Rs DeleteKeyPair = DeleteKeyPairResponse+-- | /See:/ 'deleteKeyPairResponse' smart constructor.+data DeleteKeyPairResponse =+    DeleteKeyPairResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteKeyPair"-    response = nullResponse DeleteKeyPairResponse+-- | Creates a value of 'DeleteKeyPairResponse' with the minimum fields required to make a request.+--+deleteKeyPairResponse+    :: DeleteKeyPairResponse+deleteKeyPairResponse = DeleteKeyPairResponse'
+ gen/Network/AWS/EC2/DeleteNetworkACL.hs view
@@ -0,0 +1,107 @@+{-# 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.DeleteNetworkACL+-- 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)+--+-- 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+      deleteNetworkACL+    , DeleteNetworkACL+    -- * Request Lenses+    , dnaDryRun+    , dnaNetworkACLId++    -- * Destructuring the Response+    , deleteNetworkACLResponse+    , DeleteNetworkACLResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteNetworkACL' smart constructor.+data DeleteNetworkACL = DeleteNetworkACL'+    { _dnaDryRun       :: !(Maybe Bool)+    , _dnaNetworkACLId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteNetworkACL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dnaDryRun'+--+-- * 'dnaNetworkACLId'+deleteNetworkACL+    :: Text -- ^ 'dnaNetworkACLId'+    -> DeleteNetworkACL+deleteNetworkACL pNetworkACLId_ =+    DeleteNetworkACL'+    { _dnaDryRun = Nothing+    , _dnaNetworkACLId = pNetworkACLId_+    }++-- | 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'.+dnaDryRun :: Lens' DeleteNetworkACL (Maybe Bool)+dnaDryRun = lens _dnaDryRun (\ s a -> s{_dnaDryRun = a});++-- | The ID of the network ACL.+dnaNetworkACLId :: Lens' DeleteNetworkACL Text+dnaNetworkACLId = lens _dnaNetworkACLId (\ s a -> s{_dnaNetworkACLId = a});++instance AWSRequest DeleteNetworkACL where+        type Sv DeleteNetworkACL = EC2+        type Rs DeleteNetworkACL = DeleteNetworkACLResponse+        request = post+        response = receiveNull DeleteNetworkACLResponse'++instance ToHeaders DeleteNetworkACL where+        toHeaders = const mempty++instance ToPath DeleteNetworkACL where+        toPath = const "/"++instance ToQuery DeleteNetworkACL where+        toQuery DeleteNetworkACL'{..}+          = mconcat+              ["Action" =: ("DeleteNetworkAcl" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dnaDryRun,+               "NetworkAclId" =: _dnaNetworkACLId]++-- | /See:/ 'deleteNetworkACLResponse' smart constructor.+data DeleteNetworkACLResponse =+    DeleteNetworkACLResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteNetworkACLResponse' with the minimum fields required to make a request.+--+deleteNetworkACLResponse+    :: DeleteNetworkACLResponse+deleteNetworkACLResponse = DeleteNetworkACLResponse'
+ gen/Network/AWS/EC2/DeleteNetworkACLEntry.hs view
@@ -0,0 +1,130 @@+{-# 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.DeleteNetworkACLEntry+-- 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)+--+-- 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+      deleteNetworkACLEntry+    , DeleteNetworkACLEntry+    -- * Request Lenses+    , dnaeDryRun+    , dnaeNetworkACLId+    , dnaeRuleNumber+    , dnaeEgress++    -- * Destructuring the Response+    , deleteNetworkACLEntryResponse+    , DeleteNetworkACLEntryResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteNetworkACLEntry' smart constructor.+data DeleteNetworkACLEntry = DeleteNetworkACLEntry'+    { _dnaeDryRun       :: !(Maybe Bool)+    , _dnaeNetworkACLId :: !Text+    , _dnaeRuleNumber   :: !Int+    , _dnaeEgress       :: !Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteNetworkACLEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dnaeDryRun'+--+-- * 'dnaeNetworkACLId'+--+-- * 'dnaeRuleNumber'+--+-- * 'dnaeEgress'+deleteNetworkACLEntry+    :: Text -- ^ 'dnaeNetworkACLId'+    -> Int -- ^ 'dnaeRuleNumber'+    -> Bool -- ^ 'dnaeEgress'+    -> DeleteNetworkACLEntry+deleteNetworkACLEntry pNetworkACLId_ pRuleNumber_ pEgress_ =+    DeleteNetworkACLEntry'+    { _dnaeDryRun = Nothing+    , _dnaeNetworkACLId = pNetworkACLId_+    , _dnaeRuleNumber = pRuleNumber_+    , _dnaeEgress = pEgress_+    }++-- | 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'.+dnaeDryRun :: Lens' DeleteNetworkACLEntry (Maybe Bool)+dnaeDryRun = lens _dnaeDryRun (\ s a -> s{_dnaeDryRun = a});++-- | The ID of the network ACL.+dnaeNetworkACLId :: Lens' DeleteNetworkACLEntry Text+dnaeNetworkACLId = lens _dnaeNetworkACLId (\ s a -> s{_dnaeNetworkACLId = a});++-- | The rule number of the entry to delete.+dnaeRuleNumber :: Lens' DeleteNetworkACLEntry Int+dnaeRuleNumber = lens _dnaeRuleNumber (\ s a -> s{_dnaeRuleNumber = a});++-- | Indicates whether the rule is an egress rule.+dnaeEgress :: Lens' DeleteNetworkACLEntry Bool+dnaeEgress = lens _dnaeEgress (\ s a -> s{_dnaeEgress = a});++instance AWSRequest DeleteNetworkACLEntry where+        type Sv DeleteNetworkACLEntry = EC2+        type Rs DeleteNetworkACLEntry =+             DeleteNetworkACLEntryResponse+        request = post+        response = receiveNull DeleteNetworkACLEntryResponse'++instance ToHeaders DeleteNetworkACLEntry where+        toHeaders = const mempty++instance ToPath DeleteNetworkACLEntry where+        toPath = const "/"++instance ToQuery DeleteNetworkACLEntry where+        toQuery DeleteNetworkACLEntry'{..}+          = mconcat+              ["Action" =: ("DeleteNetworkAclEntry" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dnaeDryRun,+               "NetworkAclId" =: _dnaeNetworkACLId,+               "RuleNumber" =: _dnaeRuleNumber,+               "Egress" =: _dnaeEgress]++-- | /See:/ 'deleteNetworkACLEntryResponse' smart constructor.+data DeleteNetworkACLEntryResponse =+    DeleteNetworkACLEntryResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteNetworkACLEntryResponse' with the minimum fields required to make a request.+--+deleteNetworkACLEntryResponse+    :: DeleteNetworkACLEntryResponse+deleteNetworkACLEntryResponse = DeleteNetworkACLEntryResponse'
− gen/Network/AWS/EC2/DeleteNetworkAcl.hs
@@ -1,103 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DeleteNetworkAcl--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteNetworkAcl.html>-module Network.AWS.EC2.DeleteNetworkAcl-    (-    -- * Request-      DeleteNetworkAcl-    -- ** Request constructor-    , deleteNetworkAcl-    -- ** Request lenses-    , dnaDryRun-    , dnaNetworkAclId--    -- * Response-    , DeleteNetworkAclResponse-    -- ** Response constructor-    , deleteNetworkAclResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DeleteNetworkAcl = DeleteNetworkAcl-    { _dnaDryRun       :: Maybe Bool-    , _dnaNetworkAclId :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'DeleteNetworkAcl' constructor.------ The fields accessible through corresponding lenses are:------ * 'dnaDryRun' @::@ 'Maybe' 'Bool'------ * 'dnaNetworkAclId' @::@ 'Text'----deleteNetworkAcl :: Text -- ^ 'dnaNetworkAclId'-                 -> DeleteNetworkAcl-deleteNetworkAcl p1 = DeleteNetworkAcl-    { _dnaNetworkAclId = p1-    , _dnaDryRun       = Nothing-    }---- | 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'.-dnaDryRun :: Lens' DeleteNetworkAcl (Maybe Bool)-dnaDryRun = lens _dnaDryRun (\s a -> s { _dnaDryRun = a })---- | The ID of the network ACL.-dnaNetworkAclId :: Lens' DeleteNetworkAcl Text-dnaNetworkAclId = lens _dnaNetworkAclId (\s a -> s { _dnaNetworkAclId = a })--data DeleteNetworkAclResponse = DeleteNetworkAclResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DeleteNetworkAclResponse' constructor.-deleteNetworkAclResponse :: DeleteNetworkAclResponse-deleteNetworkAclResponse = DeleteNetworkAclResponse--instance ToPath DeleteNetworkAcl where-    toPath = const "/"--instance ToQuery DeleteNetworkAcl where-    toQuery DeleteNetworkAcl{..} = mconcat-        [ "DryRun"       =? _dnaDryRun-        , "NetworkAclId" =? _dnaNetworkAclId-        ]--instance ToHeaders DeleteNetworkAcl--instance AWSRequest DeleteNetworkAcl where-    type Sv DeleteNetworkAcl = EC2-    type Rs DeleteNetworkAcl = DeleteNetworkAclResponse--    request  = post "DeleteNetworkAcl"-    response = nullResponse DeleteNetworkAclResponse
− gen/Network/AWS/EC2/DeleteNetworkAclEntry.hs
@@ -1,125 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DeleteNetworkAclEntry--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified ingress or egress entry (rule) from the specified--- network ACL.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteNetworkAclEntry.html>-module Network.AWS.EC2.DeleteNetworkAclEntry-    (-    -- * Request-      DeleteNetworkAclEntry-    -- ** Request constructor-    , deleteNetworkAclEntry-    -- ** Request lenses-    , dnaeDryRun-    , dnaeEgress-    , dnaeNetworkAclId-    , dnaeRuleNumber--    -- * Response-    , DeleteNetworkAclEntryResponse-    -- ** Response constructor-    , deleteNetworkAclEntryResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DeleteNetworkAclEntry = DeleteNetworkAclEntry-    { _dnaeDryRun       :: Maybe Bool-    , _dnaeEgress       :: Bool-    , _dnaeNetworkAclId :: Text-    , _dnaeRuleNumber   :: Int-    } deriving (Eq, Ord, Read, Show)---- | 'DeleteNetworkAclEntry' constructor.------ The fields accessible through corresponding lenses are:------ * 'dnaeDryRun' @::@ 'Maybe' 'Bool'------ * 'dnaeEgress' @::@ 'Bool'------ * 'dnaeNetworkAclId' @::@ 'Text'------ * 'dnaeRuleNumber' @::@ 'Int'----deleteNetworkAclEntry :: Text -- ^ 'dnaeNetworkAclId'-                      -> Int -- ^ 'dnaeRuleNumber'-                      -> Bool -- ^ 'dnaeEgress'-                      -> DeleteNetworkAclEntry-deleteNetworkAclEntry p1 p2 p3 = DeleteNetworkAclEntry-    { _dnaeNetworkAclId = p1-    , _dnaeRuleNumber   = p2-    , _dnaeEgress       = p3-    , _dnaeDryRun       = Nothing-    }---- | 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'.-dnaeDryRun :: Lens' DeleteNetworkAclEntry (Maybe Bool)-dnaeDryRun = lens _dnaeDryRun (\s a -> s { _dnaeDryRun = a })---- | Indicates whether the rule is an egress rule.-dnaeEgress :: Lens' DeleteNetworkAclEntry Bool-dnaeEgress = lens _dnaeEgress (\s a -> s { _dnaeEgress = a })---- | The ID of the network ACL.-dnaeNetworkAclId :: Lens' DeleteNetworkAclEntry Text-dnaeNetworkAclId = lens _dnaeNetworkAclId (\s a -> s { _dnaeNetworkAclId = a })---- | The rule number of the entry to delete.-dnaeRuleNumber :: Lens' DeleteNetworkAclEntry Int-dnaeRuleNumber = lens _dnaeRuleNumber (\s a -> s { _dnaeRuleNumber = a })--data DeleteNetworkAclEntryResponse = DeleteNetworkAclEntryResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DeleteNetworkAclEntryResponse' constructor.-deleteNetworkAclEntryResponse :: DeleteNetworkAclEntryResponse-deleteNetworkAclEntryResponse = DeleteNetworkAclEntryResponse--instance ToPath DeleteNetworkAclEntry where-    toPath = const "/"--instance ToQuery DeleteNetworkAclEntry where-    toQuery DeleteNetworkAclEntry{..} = mconcat-        [ "DryRun"       =? _dnaeDryRun-        , "Egress"       =? _dnaeEgress-        , "NetworkAclId" =? _dnaeNetworkAclId-        , "RuleNumber"   =? _dnaeRuleNumber-        ]--instance ToHeaders DeleteNetworkAclEntry--instance AWSRequest DeleteNetworkAclEntry where-    type Sv DeleteNetworkAclEntry = EC2-    type Rs DeleteNetworkAclEntry = DeleteNetworkAclEntryResponse--    request  = post "DeleteNetworkAclEntry"-    response = nullResponse DeleteNetworkAclEntryResponse
gen/Network/AWS/EC2/DeleteNetworkInterface.hs view
@@ -1,104 +1,110 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteNetworkInterface--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified network interface. You must detach the network+-- Deletes the specified network interface. You must detach the network -- interface before you can delete it. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteNetworkInterface.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteNetworkInterface.html AWS API Reference> for DeleteNetworkInterface. module Network.AWS.EC2.DeleteNetworkInterface     (-    -- * Request-      DeleteNetworkInterface-    -- ** Request constructor-    , deleteNetworkInterface-    -- ** Request lenses-    , dni2DryRun-    , dni2NetworkInterfaceId+    -- * Creating a Request+      deleteNetworkInterface+    , DeleteNetworkInterface+    -- * Request Lenses+    , dninDryRun+    , dninNetworkInterfaceId -    -- * Response-    , DeleteNetworkInterfaceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteNetworkInterfaceResponse+    , DeleteNetworkInterfaceResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteNetworkInterface = DeleteNetworkInterface-    { _dni2DryRun             :: Maybe Bool-    , _dni2NetworkInterfaceId :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteNetworkInterface' smart constructor.+data DeleteNetworkInterface = DeleteNetworkInterface'+    { _dninDryRun             :: !(Maybe Bool)+    , _dninNetworkInterfaceId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteNetworkInterface' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteNetworkInterface' with the minimum fields required to make a request. ----- * 'dni2DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dni2NetworkInterfaceId' @::@ 'Text'+-- * 'dninDryRun' ---deleteNetworkInterface :: Text -- ^ 'dni2NetworkInterfaceId'-                       -> DeleteNetworkInterface-deleteNetworkInterface p1 = DeleteNetworkInterface-    { _dni2NetworkInterfaceId = p1-    , _dni2DryRun             = Nothing+-- * 'dninNetworkInterfaceId'+deleteNetworkInterface+    :: Text -- ^ 'dninNetworkInterfaceId'+    -> DeleteNetworkInterface+deleteNetworkInterface pNetworkInterfaceId_ =+    DeleteNetworkInterface'+    { _dninDryRun = Nothing+    , _dninNetworkInterfaceId = pNetworkInterfaceId_     }  -- | 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'.-dni2DryRun :: Lens' DeleteNetworkInterface (Maybe Bool)-dni2DryRun = lens _dni2DryRun (\s a -> s { _dni2DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+dninDryRun :: Lens' DeleteNetworkInterface (Maybe Bool)+dninDryRun = lens _dninDryRun (\ s a -> s{_dninDryRun = a});  -- | The ID of the network interface.-dni2NetworkInterfaceId :: Lens' DeleteNetworkInterface Text-dni2NetworkInterfaceId =-    lens _dni2NetworkInterfaceId (\s a -> s { _dni2NetworkInterfaceId = a })+dninNetworkInterfaceId :: Lens' DeleteNetworkInterface Text+dninNetworkInterfaceId = lens _dninNetworkInterfaceId (\ s a -> s{_dninNetworkInterfaceId = a}); -data DeleteNetworkInterfaceResponse = DeleteNetworkInterfaceResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteNetworkInterface where+        type Sv DeleteNetworkInterface = EC2+        type Rs DeleteNetworkInterface =+             DeleteNetworkInterfaceResponse+        request = post+        response+          = receiveNull DeleteNetworkInterfaceResponse' --- | 'DeleteNetworkInterfaceResponse' constructor.-deleteNetworkInterfaceResponse :: DeleteNetworkInterfaceResponse-deleteNetworkInterfaceResponse = DeleteNetworkInterfaceResponse+instance ToHeaders DeleteNetworkInterface where+        toHeaders = const mempty  instance ToPath DeleteNetworkInterface where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteNetworkInterface where-    toQuery DeleteNetworkInterface{..} = mconcat-        [ "DryRun"             =? _dni2DryRun-        , "NetworkInterfaceId" =? _dni2NetworkInterfaceId-        ]--instance ToHeaders DeleteNetworkInterface+        toQuery DeleteNetworkInterface'{..}+          = mconcat+              ["Action" =:+                 ("DeleteNetworkInterface" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dninDryRun,+               "NetworkInterfaceId" =: _dninNetworkInterfaceId] -instance AWSRequest DeleteNetworkInterface where-    type Sv DeleteNetworkInterface = EC2-    type Rs DeleteNetworkInterface = DeleteNetworkInterfaceResponse+-- | /See:/ 'deleteNetworkInterfaceResponse' smart constructor.+data DeleteNetworkInterfaceResponse =+    DeleteNetworkInterfaceResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteNetworkInterface"-    response = nullResponse DeleteNetworkInterfaceResponse+-- | Creates a value of 'DeleteNetworkInterfaceResponse' with the minimum fields required to make a request.+--+deleteNetworkInterfaceResponse+    :: DeleteNetworkInterfaceResponse+deleteNetworkInterfaceResponse = DeleteNetworkInterfaceResponse'
gen/Network/AWS/EC2/DeletePlacementGroup.hs view
@@ -1,104 +1,110 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeletePlacementGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified placement group. You must terminate all instances in--- the placement group before you can delete the placement group. For more--- information about placement groups and cluster instances, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html ClusterInstances> in the /Amazon Elastic Compute Cloud User Guide/.+-- Deletes the specified placement group. You must terminate all instances+-- in the placement group before you can delete the placement group. 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeletePlacementGroup.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeletePlacementGroup.html AWS API Reference> for DeletePlacementGroup. module Network.AWS.EC2.DeletePlacementGroup     (-    -- * Request-      DeletePlacementGroup-    -- ** Request constructor-    , deletePlacementGroup-    -- ** Request lenses+    -- * Creating a Request+      deletePlacementGroup+    , DeletePlacementGroup+    -- * Request Lenses     , dpgDryRun     , dpgGroupName -    -- * Response-    , DeletePlacementGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deletePlacementGroupResponse+    , DeletePlacementGroupResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeletePlacementGroup = DeletePlacementGroup-    { _dpgDryRun    :: Maybe Bool-    , _dpgGroupName :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deletePlacementGroup' smart constructor.+data DeletePlacementGroup = DeletePlacementGroup'+    { _dpgDryRun    :: !(Maybe Bool)+    , _dpgGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeletePlacementGroup' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeletePlacementGroup' with the minimum fields required to make a request. ----- * 'dpgDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dpgGroupName' @::@ 'Text'+-- * 'dpgDryRun' ---deletePlacementGroup :: Text -- ^ 'dpgGroupName'-                     -> DeletePlacementGroup-deletePlacementGroup p1 = DeletePlacementGroup-    { _dpgGroupName = p1-    , _dpgDryRun    = Nothing+-- * 'dpgGroupName'+deletePlacementGroup+    :: Text -- ^ 'dpgGroupName'+    -> DeletePlacementGroup+deletePlacementGroup pGroupName_ =+    DeletePlacementGroup'+    { _dpgDryRun = Nothing+    , _dpgGroupName = pGroupName_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. dpgDryRun :: Lens' DeletePlacementGroup (Maybe Bool)-dpgDryRun = lens _dpgDryRun (\s a -> s { _dpgDryRun = a })+dpgDryRun = lens _dpgDryRun (\ s a -> s{_dpgDryRun = a});  -- | The name of the placement group. dpgGroupName :: Lens' DeletePlacementGroup Text-dpgGroupName = lens _dpgGroupName (\s a -> s { _dpgGroupName = a })+dpgGroupName = lens _dpgGroupName (\ s a -> s{_dpgGroupName = a}); -data DeletePlacementGroupResponse = DeletePlacementGroupResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeletePlacementGroup where+        type Sv DeletePlacementGroup = EC2+        type Rs DeletePlacementGroup =+             DeletePlacementGroupResponse+        request = post+        response = receiveNull DeletePlacementGroupResponse' --- | 'DeletePlacementGroupResponse' constructor.-deletePlacementGroupResponse :: DeletePlacementGroupResponse-deletePlacementGroupResponse = DeletePlacementGroupResponse+instance ToHeaders DeletePlacementGroup where+        toHeaders = const mempty  instance ToPath DeletePlacementGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeletePlacementGroup where-    toQuery DeletePlacementGroup{..} = mconcat-        [ "DryRun"    =? _dpgDryRun-        , "GroupName" =? _dpgGroupName-        ]--instance ToHeaders DeletePlacementGroup+        toQuery DeletePlacementGroup'{..}+          = mconcat+              ["Action" =: ("DeletePlacementGroup" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dpgDryRun, "GroupName" =: _dpgGroupName] -instance AWSRequest DeletePlacementGroup where-    type Sv DeletePlacementGroup = EC2-    type Rs DeletePlacementGroup = DeletePlacementGroupResponse+-- | /See:/ 'deletePlacementGroupResponse' smart constructor.+data DeletePlacementGroupResponse =+    DeletePlacementGroupResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeletePlacementGroup"-    response = nullResponse DeletePlacementGroupResponse+-- | Creates a value of 'DeletePlacementGroupResponse' with the minimum fields required to make a request.+--+deletePlacementGroupResponse+    :: DeletePlacementGroupResponse+deletePlacementGroupResponse = DeletePlacementGroupResponse'
gen/Network/AWS/EC2/DeleteRoute.hs view
@@ -1,115 +1,118 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteRoute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified route from the specified route table.+-- Deletes the specified route from the specified route table. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteRoute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteRoute.html AWS API Reference> for DeleteRoute. module Network.AWS.EC2.DeleteRoute     (-    -- * Request-      DeleteRoute-    -- ** Request constructor-    , deleteRoute-    -- ** Request lenses-    , drDestinationCidrBlock+    -- * Creating a Request+      deleteRoute+    , DeleteRoute+    -- * Request Lenses     , drDryRun     , drRouteTableId+    , drDestinationCIdRBlock -    -- * Response-    , DeleteRouteResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteRouteResponse+    , DeleteRouteResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteRoute = DeleteRoute-    { _drDestinationCidrBlock :: Text-    , _drDryRun               :: Maybe Bool-    , _drRouteTableId         :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteRoute' smart constructor.+data DeleteRoute = DeleteRoute'+    { _drDryRun               :: !(Maybe Bool)+    , _drRouteTableId         :: !Text+    , _drDestinationCIdRBlock :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteRoute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteRoute' with the minimum fields required to make a request. ----- * 'drDestinationCidrBlock' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'drDryRun' @::@ 'Maybe' 'Bool'+-- * 'drDryRun' ----- * 'drRouteTableId' @::@ 'Text'+-- * 'drRouteTableId' ---deleteRoute :: Text -- ^ 'drRouteTableId'-            -> Text -- ^ 'drDestinationCidrBlock'-            -> DeleteRoute-deleteRoute p1 p2 = DeleteRoute-    { _drRouteTableId         = p1-    , _drDestinationCidrBlock = p2-    , _drDryRun               = Nothing+-- * 'drDestinationCIdRBlock'+deleteRoute+    :: Text -- ^ 'drRouteTableId'+    -> Text -- ^ 'drDestinationCIdRBlock'+    -> DeleteRoute+deleteRoute pRouteTableId_ pDestinationCIdRBlock_ =+    DeleteRoute'+    { _drDryRun = Nothing+    , _drRouteTableId = pRouteTableId_+    , _drDestinationCIdRBlock = pDestinationCIdRBlock_     } --- | The CIDR range for the route. The value you specify must match the CIDR for--- the route exactly.-drDestinationCidrBlock :: Lens' DeleteRoute Text-drDestinationCidrBlock =-    lens _drDestinationCidrBlock (\s a -> s { _drDestinationCidrBlock = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. drDryRun :: Lens' DeleteRoute (Maybe Bool)-drDryRun = lens _drDryRun (\s a -> s { _drDryRun = a })+drDryRun = lens _drDryRun (\ s a -> s{_drDryRun = a});  -- | The ID of the route table. drRouteTableId :: Lens' DeleteRoute Text-drRouteTableId = lens _drRouteTableId (\s a -> s { _drRouteTableId = a })+drRouteTableId = lens _drRouteTableId (\ s a -> s{_drRouteTableId = a}); -data DeleteRouteResponse = DeleteRouteResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The CIDR range for the route. The value you specify must match the CIDR+-- for the route exactly.+drDestinationCIdRBlock :: Lens' DeleteRoute Text+drDestinationCIdRBlock = lens _drDestinationCIdRBlock (\ s a -> s{_drDestinationCIdRBlock = a}); --- | 'DeleteRouteResponse' constructor.-deleteRouteResponse :: DeleteRouteResponse-deleteRouteResponse = DeleteRouteResponse+instance AWSRequest DeleteRoute where+        type Sv DeleteRoute = EC2+        type Rs DeleteRoute = DeleteRouteResponse+        request = post+        response = receiveNull DeleteRouteResponse' +instance ToHeaders DeleteRoute where+        toHeaders = const mempty+ instance ToPath DeleteRoute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteRoute where-    toQuery DeleteRoute{..} = mconcat-        [ "DestinationCidrBlock" =? _drDestinationCidrBlock-        , "DryRun"               =? _drDryRun-        , "RouteTableId"         =? _drRouteTableId-        ]--instance ToHeaders DeleteRoute+        toQuery DeleteRoute'{..}+          = mconcat+              ["Action" =: ("DeleteRoute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _drDryRun,+               "RouteTableId" =: _drRouteTableId,+               "DestinationCidrBlock" =: _drDestinationCIdRBlock] -instance AWSRequest DeleteRoute where-    type Sv DeleteRoute = EC2-    type Rs DeleteRoute = DeleteRouteResponse+-- | /See:/ 'deleteRouteResponse' smart constructor.+data DeleteRouteResponse =+    DeleteRouteResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteRoute"-    response = nullResponse DeleteRouteResponse+-- | Creates a value of 'DeleteRouteResponse' with the minimum fields required to make a request.+--+deleteRouteResponse+    :: DeleteRouteResponse+deleteRouteResponse = DeleteRouteResponse'
gen/Network/AWS/EC2/DeleteRouteTable.hs view
@@ -1,103 +1,108 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteRouteTable--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteRouteTable.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteRouteTable.html AWS API Reference> for DeleteRouteTable. module Network.AWS.EC2.DeleteRouteTable     (-    -- * Request-      DeleteRouteTable-    -- ** Request constructor-    , deleteRouteTable-    -- ** Request lenses-    , drt1DryRun-    , drt1RouteTableId+    -- * Creating a Request+      deleteRouteTable+    , DeleteRouteTable+    -- * Request Lenses+    , drtrDryRun+    , drtrRouteTableId -    -- * Response-    , DeleteRouteTableResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteRouteTableResponse+    , DeleteRouteTableResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteRouteTable = DeleteRouteTable-    { _drt1DryRun       :: Maybe Bool-    , _drt1RouteTableId :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteRouteTable' smart constructor.+data DeleteRouteTable = DeleteRouteTable'+    { _drtrDryRun       :: !(Maybe Bool)+    , _drtrRouteTableId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteRouteTable' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteRouteTable' with the minimum fields required to make a request. ----- * 'drt1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'drt1RouteTableId' @::@ 'Text'+-- * 'drtrDryRun' ---deleteRouteTable :: Text -- ^ 'drt1RouteTableId'-                 -> DeleteRouteTable-deleteRouteTable p1 = DeleteRouteTable-    { _drt1RouteTableId = p1-    , _drt1DryRun       = Nothing+-- * 'drtrRouteTableId'+deleteRouteTable+    :: Text -- ^ 'drtrRouteTableId'+    -> DeleteRouteTable+deleteRouteTable pRouteTableId_ =+    DeleteRouteTable'+    { _drtrDryRun = Nothing+    , _drtrRouteTableId = pRouteTableId_     }  -- | 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'.-drt1DryRun :: Lens' DeleteRouteTable (Maybe Bool)-drt1DryRun = lens _drt1DryRun (\s a -> s { _drt1DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+drtrDryRun :: Lens' DeleteRouteTable (Maybe Bool)+drtrDryRun = lens _drtrDryRun (\ s a -> s{_drtrDryRun = a});  -- | The ID of the route table.-drt1RouteTableId :: Lens' DeleteRouteTable Text-drt1RouteTableId = lens _drt1RouteTableId (\s a -> s { _drt1RouteTableId = a })+drtrRouteTableId :: Lens' DeleteRouteTable Text+drtrRouteTableId = lens _drtrRouteTableId (\ s a -> s{_drtrRouteTableId = a}); -data DeleteRouteTableResponse = DeleteRouteTableResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteRouteTable where+        type Sv DeleteRouteTable = EC2+        type Rs DeleteRouteTable = DeleteRouteTableResponse+        request = post+        response = receiveNull DeleteRouteTableResponse' --- | 'DeleteRouteTableResponse' constructor.-deleteRouteTableResponse :: DeleteRouteTableResponse-deleteRouteTableResponse = DeleteRouteTableResponse+instance ToHeaders DeleteRouteTable where+        toHeaders = const mempty  instance ToPath DeleteRouteTable where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteRouteTable where-    toQuery DeleteRouteTable{..} = mconcat-        [ "DryRun"       =? _drt1DryRun-        , "RouteTableId" =? _drt1RouteTableId-        ]--instance ToHeaders DeleteRouteTable+        toQuery DeleteRouteTable'{..}+          = mconcat+              ["Action" =: ("DeleteRouteTable" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _drtrDryRun,+               "RouteTableId" =: _drtrRouteTableId] -instance AWSRequest DeleteRouteTable where-    type Sv DeleteRouteTable = EC2-    type Rs DeleteRouteTable = DeleteRouteTableResponse+-- | /See:/ 'deleteRouteTableResponse' smart constructor.+data DeleteRouteTableResponse =+    DeleteRouteTableResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteRouteTable"-    response = nullResponse DeleteRouteTableResponse+-- | Creates a value of 'DeleteRouteTableResponse' with the minimum fields required to make a request.+--+deleteRouteTableResponse+    :: DeleteRouteTableResponse+deleteRouteTableResponse = DeleteRouteTableResponse'
gen/Network/AWS/EC2/DeleteSecurityGroup.hs view
@@ -1,116 +1,121 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteSecurityGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes a security group.+-- Deletes a security group. -- -- If you attempt to delete a security group that is associated with an--- instance, or is referenced by another security group, the operation fails--- with 'InvalidGroup.InUse' in EC2-Classic or 'DependencyViolation' in EC2-VPC.+-- instance, or is referenced by another security group, the operation+-- fails with 'InvalidGroup.InUse' in EC2-Classic or 'DependencyViolation'+-- in EC2-VPC. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSecurityGroup.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSecurityGroup.html AWS API Reference> for DeleteSecurityGroup. module Network.AWS.EC2.DeleteSecurityGroup     (-    -- * Request-      DeleteSecurityGroup-    -- ** Request constructor-    , deleteSecurityGroup-    -- ** Request lenses-    , dsgDryRun+    -- * Creating a Request+      deleteSecurityGroup+    , DeleteSecurityGroup+    -- * Request Lenses     , dsgGroupId     , dsgGroupName+    , dsgDryRun -    -- * Response-    , DeleteSecurityGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteSecurityGroupResponse+    , DeleteSecurityGroupResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteSecurityGroup = DeleteSecurityGroup-    { _dsgDryRun    :: Maybe Bool-    , _dsgGroupId   :: Maybe Text-    , _dsgGroupName :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteSecurityGroup' smart constructor.+data DeleteSecurityGroup = DeleteSecurityGroup'+    { _dsgGroupId   :: !(Maybe Text)+    , _dsgGroupName :: !(Maybe Text)+    , _dsgDryRun    :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteSecurityGroup' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteSecurityGroup' with the minimum fields required to make a request. ----- * 'dsgDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsgGroupId' @::@ 'Maybe' 'Text'+-- * 'dsgGroupId' ----- * 'dsgGroupName' @::@ 'Maybe' 'Text'+-- * 'dsgGroupName' ---deleteSecurityGroup :: DeleteSecurityGroup-deleteSecurityGroup = DeleteSecurityGroup-    { _dsgDryRun    = Nothing+-- * 'dsgDryRun'+deleteSecurityGroup+    :: DeleteSecurityGroup+deleteSecurityGroup =+    DeleteSecurityGroup'+    { _dsgGroupId = Nothing     , _dsgGroupName = Nothing-    , _dsgGroupId   = Nothing+    , _dsgDryRun = Nothing     } --- | 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'.-dsgDryRun :: Lens' DeleteSecurityGroup (Maybe Bool)-dsgDryRun = lens _dsgDryRun (\s a -> s { _dsgDryRun = a })- -- | The ID of the security group. Required for a nondefault VPC. dsgGroupId :: Lens' DeleteSecurityGroup (Maybe Text)-dsgGroupId = lens _dsgGroupId (\s a -> s { _dsgGroupId = a })+dsgGroupId = lens _dsgGroupId (\ s a -> s{_dsgGroupId = a}); --- | [EC2-Classic, default VPC] The name of the security group. You can specify--- either the security group name or the security group ID.+-- | [EC2-Classic, default VPC] The name of the security group. You can+-- specify either the security group name or the security group ID. dsgGroupName :: Lens' DeleteSecurityGroup (Maybe Text)-dsgGroupName = lens _dsgGroupName (\s a -> s { _dsgGroupName = a })+dsgGroupName = lens _dsgGroupName (\ s a -> s{_dsgGroupName = a}); -data DeleteSecurityGroupResponse = DeleteSecurityGroupResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | 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'.+dsgDryRun :: Lens' DeleteSecurityGroup (Maybe Bool)+dsgDryRun = lens _dsgDryRun (\ s a -> s{_dsgDryRun = a}); --- | 'DeleteSecurityGroupResponse' constructor.-deleteSecurityGroupResponse :: DeleteSecurityGroupResponse-deleteSecurityGroupResponse = DeleteSecurityGroupResponse+instance AWSRequest DeleteSecurityGroup where+        type Sv DeleteSecurityGroup = EC2+        type Rs DeleteSecurityGroup =+             DeleteSecurityGroupResponse+        request = post+        response = receiveNull DeleteSecurityGroupResponse' +instance ToHeaders DeleteSecurityGroup where+        toHeaders = const mempty+ instance ToPath DeleteSecurityGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteSecurityGroup where-    toQuery DeleteSecurityGroup{..} = mconcat-        [ "DryRun"    =? _dsgDryRun-        , "GroupId"   =? _dsgGroupId-        , "GroupName" =? _dsgGroupName-        ]--instance ToHeaders DeleteSecurityGroup+        toQuery DeleteSecurityGroup'{..}+          = mconcat+              ["Action" =: ("DeleteSecurityGroup" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "GroupId" =: _dsgGroupId,+               "GroupName" =: _dsgGroupName, "DryRun" =: _dsgDryRun] -instance AWSRequest DeleteSecurityGroup where-    type Sv DeleteSecurityGroup = EC2-    type Rs DeleteSecurityGroup = DeleteSecurityGroupResponse+-- | /See:/ 'deleteSecurityGroupResponse' smart constructor.+data DeleteSecurityGroupResponse =+    DeleteSecurityGroupResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteSecurityGroup"-    response = nullResponse DeleteSecurityGroupResponse+-- | Creates a value of 'DeleteSecurityGroupResponse' with the minimum fields required to make a request.+--+deleteSecurityGroupResponse+    :: DeleteSecurityGroupResponse+deleteSecurityGroupResponse = DeleteSecurityGroupResponse'
gen/Network/AWS/EC2/DeleteSnapshot.hs view
@@ -1,115 +1,122 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteSnapshot--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified snapshot.+-- Deletes the specified snapshot. ----- When you make periodic snapshots of a volume, the snapshots are incremental,--- and only the blocks on the device that have changed since your last snapshot--- are saved in the new snapshot. When you delete a snapshot, only the data not--- needed for any other snapshot is removed. So regardless of which prior--- snapshots have been deleted, all active snapshots will have access to all the--- information needed to restore the volume.+-- When you make periodic snapshots of a volume, the snapshots are+-- incremental, and only the blocks on the device that have changed since+-- your last snapshot are saved in the new snapshot. When you delete a+-- snapshot, only the data not needed for any other snapshot is removed. So+-- regardless of which prior snapshots have been deleted, all active+-- snapshots will have access to all the information needed to restore the+-- volume. ----- You cannot delete a snapshot of the root device of an EBS volume used by a--- registered AMI. You must first de-register the AMI before you can delete the--- snapshot.+-- You cannot delete a snapshot of the root device of an EBS volume used by+-- a registered AMI. You must first de-register the AMI before you can+-- delete the snapshot. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html Deleting an Amazon EBS Snapshot> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSnapshot.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSnapshot.html AWS API Reference> for DeleteSnapshot. module Network.AWS.EC2.DeleteSnapshot     (-    -- * Request-      DeleteSnapshot-    -- ** Request constructor-    , deleteSnapshot-    -- ** Request lenses-    , ds3DryRun-    , ds3SnapshotId+    -- * Creating a Request+      deleteSnapshot+    , DeleteSnapshot+    -- * Request Lenses+    , deleDryRun+    , deleSnapshotId -    -- * Response-    , DeleteSnapshotResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteSnapshotResponse+    , DeleteSnapshotResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteSnapshot = DeleteSnapshot-    { _ds3DryRun     :: Maybe Bool-    , _ds3SnapshotId :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteSnapshot' smart constructor.+data DeleteSnapshot = DeleteSnapshot'+    { _deleDryRun     :: !(Maybe Bool)+    , _deleSnapshotId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteSnapshot' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteSnapshot' with the minimum fields required to make a request. ----- * 'ds3DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ds3SnapshotId' @::@ 'Text'+-- * 'deleDryRun' ---deleteSnapshot :: Text -- ^ 'ds3SnapshotId'-               -> DeleteSnapshot-deleteSnapshot p1 = DeleteSnapshot-    { _ds3SnapshotId = p1-    , _ds3DryRun     = Nothing+-- * 'deleSnapshotId'+deleteSnapshot+    :: Text -- ^ 'deleSnapshotId'+    -> DeleteSnapshot+deleteSnapshot pSnapshotId_ =+    DeleteSnapshot'+    { _deleDryRun = Nothing+    , _deleSnapshotId = pSnapshotId_     }  -- | 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'.-ds3DryRun :: Lens' DeleteSnapshot (Maybe Bool)-ds3DryRun = lens _ds3DryRun (\s a -> s { _ds3DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+deleDryRun :: Lens' DeleteSnapshot (Maybe Bool)+deleDryRun = lens _deleDryRun (\ s a -> s{_deleDryRun = a});  -- | The ID of the EBS snapshot.-ds3SnapshotId :: Lens' DeleteSnapshot Text-ds3SnapshotId = lens _ds3SnapshotId (\s a -> s { _ds3SnapshotId = a })+deleSnapshotId :: Lens' DeleteSnapshot Text+deleSnapshotId = lens _deleSnapshotId (\ s a -> s{_deleSnapshotId = a}); -data DeleteSnapshotResponse = DeleteSnapshotResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteSnapshot where+        type Sv DeleteSnapshot = EC2+        type Rs DeleteSnapshot = DeleteSnapshotResponse+        request = post+        response = receiveNull DeleteSnapshotResponse' --- | 'DeleteSnapshotResponse' constructor.-deleteSnapshotResponse :: DeleteSnapshotResponse-deleteSnapshotResponse = DeleteSnapshotResponse+instance ToHeaders DeleteSnapshot where+        toHeaders = const mempty  instance ToPath DeleteSnapshot where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteSnapshot where-    toQuery DeleteSnapshot{..} = mconcat-        [ "DryRun"     =? _ds3DryRun-        , "SnapshotId" =? _ds3SnapshotId-        ]--instance ToHeaders DeleteSnapshot+        toQuery DeleteSnapshot'{..}+          = mconcat+              ["Action" =: ("DeleteSnapshot" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _deleDryRun,+               "SnapshotId" =: _deleSnapshotId] -instance AWSRequest DeleteSnapshot where-    type Sv DeleteSnapshot = EC2-    type Rs DeleteSnapshot = DeleteSnapshotResponse+-- | /See:/ 'deleteSnapshotResponse' smart constructor.+data DeleteSnapshotResponse =+    DeleteSnapshotResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteSnapshot"-    response = nullResponse DeleteSnapshotResponse+-- | Creates a value of 'DeleteSnapshotResponse' with the minimum fields required to make a request.+--+deleteSnapshotResponse+    :: DeleteSnapshotResponse+deleteSnapshotResponse = DeleteSnapshotResponse'
gen/Network/AWS/EC2/DeleteSpotDatafeedSubscription.hs view
@@ -1,91 +1,105 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteSpotDatafeedSubscription--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the data feed for Spot Instances. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html SpotInstance Data Feed> in the /Amazon Elastic Compute Cloud User Guide/.+-- Deletes 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSpotDatafeedSubscription.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSpotDatafeedSubscription.html AWS API Reference> for DeleteSpotDatafeedSubscription. module Network.AWS.EC2.DeleteSpotDatafeedSubscription     (-    -- * Request-      DeleteSpotDatafeedSubscription-    -- ** Request constructor-    , deleteSpotDatafeedSubscription-    -- ** Request lenses-    , dsds1DryRun+    -- * Creating a Request+      deleteSpotDatafeedSubscription+    , DeleteSpotDatafeedSubscription+    -- * Request Lenses+    , dsdssDryRun -    -- * Response-    , DeleteSpotDatafeedSubscriptionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteSpotDatafeedSubscriptionResponse+    , DeleteSpotDatafeedSubscriptionResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--newtype DeleteSpotDatafeedSubscription = DeleteSpotDatafeedSubscription-    { _dsds1DryRun :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DeleteSpotDatafeedSubscription' constructor.+-- | Contains the parameters for DeleteSpotDatafeedSubscription. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'deleteSpotDatafeedSubscription' smart constructor.+newtype DeleteSpotDatafeedSubscription = DeleteSpotDatafeedSubscription'+    { _dsdssDryRun :: Maybe Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteSpotDatafeedSubscription' with the minimum fields required to make a request. ----- * 'dsds1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ---deleteSpotDatafeedSubscription :: DeleteSpotDatafeedSubscription-deleteSpotDatafeedSubscription = DeleteSpotDatafeedSubscription-    { _dsds1DryRun = Nothing+-- * 'dsdssDryRun'+deleteSpotDatafeedSubscription+    :: DeleteSpotDatafeedSubscription+deleteSpotDatafeedSubscription =+    DeleteSpotDatafeedSubscription'+    { _dsdssDryRun = Nothing     }  -- | 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'.-dsds1DryRun :: Lens' DeleteSpotDatafeedSubscription (Maybe Bool)-dsds1DryRun = lens _dsds1DryRun (\s a -> s { _dsds1DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+dsdssDryRun :: Lens' DeleteSpotDatafeedSubscription (Maybe Bool)+dsdssDryRun = lens _dsdssDryRun (\ s a -> s{_dsdssDryRun = a}); -data DeleteSpotDatafeedSubscriptionResponse = DeleteSpotDatafeedSubscriptionResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteSpotDatafeedSubscription+         where+        type Sv DeleteSpotDatafeedSubscription = EC2+        type Rs DeleteSpotDatafeedSubscription =+             DeleteSpotDatafeedSubscriptionResponse+        request = post+        response+          = receiveNull DeleteSpotDatafeedSubscriptionResponse' --- | 'DeleteSpotDatafeedSubscriptionResponse' constructor.-deleteSpotDatafeedSubscriptionResponse :: DeleteSpotDatafeedSubscriptionResponse-deleteSpotDatafeedSubscriptionResponse = DeleteSpotDatafeedSubscriptionResponse+instance ToHeaders DeleteSpotDatafeedSubscription+         where+        toHeaders = const mempty  instance ToPath DeleteSpotDatafeedSubscription where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteSpotDatafeedSubscription where-    toQuery DeleteSpotDatafeedSubscription{..} = mconcat-        [ "DryRun" =? _dsds1DryRun-        ]--instance ToHeaders DeleteSpotDatafeedSubscription+        toQuery DeleteSpotDatafeedSubscription'{..}+          = mconcat+              ["Action" =:+                 ("DeleteSpotDatafeedSubscription" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dsdssDryRun] -instance AWSRequest DeleteSpotDatafeedSubscription where-    type Sv DeleteSpotDatafeedSubscription = EC2-    type Rs DeleteSpotDatafeedSubscription = DeleteSpotDatafeedSubscriptionResponse+-- | /See:/ 'deleteSpotDatafeedSubscriptionResponse' smart constructor.+data DeleteSpotDatafeedSubscriptionResponse =+    DeleteSpotDatafeedSubscriptionResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteSpotDatafeedSubscription"-    response = nullResponse DeleteSpotDatafeedSubscriptionResponse+-- | Creates a value of 'DeleteSpotDatafeedSubscriptionResponse' with the minimum fields required to make a request.+--+deleteSpotDatafeedSubscriptionResponse+    :: DeleteSpotDatafeedSubscriptionResponse+deleteSpotDatafeedSubscriptionResponse =+    DeleteSpotDatafeedSubscriptionResponse'
gen/Network/AWS/EC2/DeleteSubnet.hs view
@@ -1,103 +1,106 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteSubnet--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified subnet. You must terminate all running instances in the--- subnet before you can delete the subnet.+-- Deletes the specified subnet. You must terminate all running instances+-- in the subnet before you can delete the subnet. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSubnet.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSubnet.html AWS API Reference> for DeleteSubnet. module Network.AWS.EC2.DeleteSubnet     (-    -- * Request-      DeleteSubnet-    -- ** Request constructor-    , deleteSubnet-    -- ** Request lenses-    , ds2DryRun-    , ds2SubnetId+    -- * Creating a Request+      deleteSubnet+    , DeleteSubnet+    -- * Request Lenses+    , ddDryRun+    , ddSubnetId -    -- * Response-    , DeleteSubnetResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteSubnetResponse+    , DeleteSubnetResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteSubnet = DeleteSubnet-    { _ds2DryRun   :: Maybe Bool-    , _ds2SubnetId :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteSubnet' smart constructor.+data DeleteSubnet = DeleteSubnet'+    { _ddDryRun   :: !(Maybe Bool)+    , _ddSubnetId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteSubnet' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteSubnet' with the minimum fields required to make a request. ----- * 'ds2DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ds2SubnetId' @::@ 'Text'+-- * 'ddDryRun' ---deleteSubnet :: Text -- ^ 'ds2SubnetId'-             -> DeleteSubnet-deleteSubnet p1 = DeleteSubnet-    { _ds2SubnetId = p1-    , _ds2DryRun   = Nothing+-- * 'ddSubnetId'+deleteSubnet+    :: Text -- ^ 'ddSubnetId'+    -> DeleteSubnet+deleteSubnet pSubnetId_ =+    DeleteSubnet'+    { _ddDryRun = Nothing+    , _ddSubnetId = pSubnetId_     }  -- | 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'.-ds2DryRun :: Lens' DeleteSubnet (Maybe Bool)-ds2DryRun = lens _ds2DryRun (\s a -> s { _ds2DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+ddDryRun :: Lens' DeleteSubnet (Maybe Bool)+ddDryRun = lens _ddDryRun (\ s a -> s{_ddDryRun = a});  -- | The ID of the subnet.-ds2SubnetId :: Lens' DeleteSubnet Text-ds2SubnetId = lens _ds2SubnetId (\s a -> s { _ds2SubnetId = a })+ddSubnetId :: Lens' DeleteSubnet Text+ddSubnetId = lens _ddSubnetId (\ s a -> s{_ddSubnetId = a}); -data DeleteSubnetResponse = DeleteSubnetResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteSubnet where+        type Sv DeleteSubnet = EC2+        type Rs DeleteSubnet = DeleteSubnetResponse+        request = post+        response = receiveNull DeleteSubnetResponse' --- | 'DeleteSubnetResponse' constructor.-deleteSubnetResponse :: DeleteSubnetResponse-deleteSubnetResponse = DeleteSubnetResponse+instance ToHeaders DeleteSubnet where+        toHeaders = const mempty  instance ToPath DeleteSubnet where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteSubnet where-    toQuery DeleteSubnet{..} = mconcat-        [ "DryRun"   =? _ds2DryRun-        , "SubnetId" =? _ds2SubnetId-        ]--instance ToHeaders DeleteSubnet+        toQuery DeleteSubnet'{..}+          = mconcat+              ["Action" =: ("DeleteSubnet" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _ddDryRun, "SubnetId" =: _ddSubnetId] -instance AWSRequest DeleteSubnet where-    type Sv DeleteSubnet = EC2-    type Rs DeleteSubnet = DeleteSubnetResponse+-- | /See:/ 'deleteSubnetResponse' smart constructor.+data DeleteSubnetResponse =+    DeleteSubnetResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteSubnet"-    response = nullResponse DeleteSubnetResponse+-- | Creates a value of 'DeleteSubnetResponse' with the minimum fields required to make a request.+--+deleteSubnetResponse+    :: DeleteSubnetResponse+deleteSubnetResponse = DeleteSubnetResponse'
gen/Network/AWS/EC2/DeleteTags.hs view
@@ -1,117 +1,124 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteTags--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified set of tags from the specified set of resources. This--- call is designed to follow a 'DescribeTags' request.+-- Deletes the specified set of tags from the specified set of resources.+-- This call is designed to follow a 'DescribeTags' request. ----- For more information about tags, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html Tagging Your Resources> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteTags.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteTags.html AWS API Reference> for DeleteTags. module Network.AWS.EC2.DeleteTags     (-    -- * Request-      DeleteTags-    -- ** Request constructor-    , deleteTags-    -- ** Request lenses-    , dt1DryRun-    , dt1Resources-    , dt1Tags+    -- * Creating a Request+      deleteTags+    , DeleteTags+    -- * Request Lenses+    , dtsDryRun+    , dtsTags+    , dtsResources -    -- * Response-    , DeleteTagsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteTagsResponse+    , DeleteTagsResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteTags = DeleteTags-    { _dt1DryRun    :: Maybe Bool-    , _dt1Resources :: List "resourceId" Text-    , _dt1Tags      :: List "item" Tag-    } deriving (Eq, Read, Show)+-- | /See:/ 'deleteTags' smart constructor.+data DeleteTags = DeleteTags'+    { _dtsDryRun    :: !(Maybe Bool)+    , _dtsTags      :: !(Maybe [Tag])+    , _dtsResources :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteTags' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteTags' with the minimum fields required to make a request. ----- * 'dt1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dt1Resources' @::@ ['Text']+-- * 'dtsDryRun' ----- * 'dt1Tags' @::@ ['Tag']+-- * 'dtsTags' ---deleteTags :: DeleteTags-deleteTags = DeleteTags-    { _dt1DryRun    = Nothing-    , _dt1Resources = mempty-    , _dt1Tags      = mempty+-- * 'dtsResources'+deleteTags+    :: DeleteTags+deleteTags =+    DeleteTags'+    { _dtsDryRun = Nothing+    , _dtsTags = Nothing+    , _dtsResources = mempty     }  -- | 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'.-dt1DryRun :: Lens' DeleteTags (Maybe Bool)-dt1DryRun = lens _dt1DryRun (\s a -> s { _dt1DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+dtsDryRun :: Lens' DeleteTags (Maybe Bool)+dtsDryRun = lens _dtsDryRun (\ s a -> s{_dtsDryRun = a}); --- | The ID of the resource. For example, ami-1a2b3c4d. You can specify more than--- one resource ID.-dt1Resources :: Lens' DeleteTags [Text]-dt1Resources = lens _dt1Resources (\s a -> s { _dt1Resources = a }) . _List+-- | One or more tags to delete. If you omit the 'value' parameter, we delete+-- the tag regardless of its value. If you specify this parameter with an+-- empty string as the value, we delete the key only if its value is an+-- empty string.+dtsTags :: Lens' DeleteTags [Tag]+dtsTags = lens _dtsTags (\ s a -> s{_dtsTags = a}) . _Default . _Coerce; --- | One or more tags to delete. If you omit the 'value' parameter, we delete the--- tag regardless of its value. If you specify this parameter with an empty--- string as the value, we delete the key only if its value is an empty string.-dt1Tags :: Lens' DeleteTags [Tag]-dt1Tags = lens _dt1Tags (\s a -> s { _dt1Tags = a }) . _List+-- | The ID of the resource. For example, ami-1a2b3c4d. You can specify more+-- than one resource ID.+dtsResources :: Lens' DeleteTags [Text]+dtsResources = lens _dtsResources (\ s a -> s{_dtsResources = a}) . _Coerce; -data DeleteTagsResponse = DeleteTagsResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteTags where+        type Sv DeleteTags = EC2+        type Rs DeleteTags = DeleteTagsResponse+        request = post+        response = receiveNull DeleteTagsResponse' --- | 'DeleteTagsResponse' constructor.-deleteTagsResponse :: DeleteTagsResponse-deleteTagsResponse = DeleteTagsResponse+instance ToHeaders DeleteTags where+        toHeaders = const mempty  instance ToPath DeleteTags where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteTags where-    toQuery DeleteTags{..} = mconcat-        [ "DryRun"     =? _dt1DryRun-        , "ResourceId" `toQueryList` _dt1Resources-        , "Tag"        `toQueryList` _dt1Tags-        ]--instance ToHeaders DeleteTags+        toQuery DeleteTags'{..}+          = mconcat+              ["Action" =: ("DeleteTags" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dtsDryRun,+               toQuery (toQueryList "item" <$> _dtsTags),+               toQueryList "ResourceId" _dtsResources] -instance AWSRequest DeleteTags where-    type Sv DeleteTags = EC2-    type Rs DeleteTags = DeleteTagsResponse+-- | /See:/ 'deleteTagsResponse' smart constructor.+data DeleteTagsResponse =+    DeleteTagsResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteTags"-    response = nullResponse DeleteTagsResponse+-- | Creates a value of 'DeleteTagsResponse' with the minimum fields required to make a request.+--+deleteTagsResponse+    :: DeleteTagsResponse+deleteTagsResponse = DeleteTagsResponse'
+ gen/Network/AWS/EC2/DeleteVPC.hs view
@@ -0,0 +1,110 @@+{-# 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.DeleteVPC+-- 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)+--+-- Deletes the specified VPC. You must detach or delete all gateways and+-- resources that are associated with the VPC before you can delete it. For+-- example, you must terminate all instances running in the VPC, delete all+-- 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+      deleteVPC+    , DeleteVPC+    -- * Request Lenses+    , delDryRun+    , delVPCId++    -- * Destructuring the Response+    , deleteVPCResponse+    , DeleteVPCResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteVPC' smart constructor.+data DeleteVPC = DeleteVPC'+    { _delDryRun :: !(Maybe Bool)+    , _delVPCId  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPC' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'delDryRun'+--+-- * 'delVPCId'+deleteVPC+    :: Text -- ^ 'delVPCId'+    -> DeleteVPC+deleteVPC pVPCId_ =+    DeleteVPC'+    { _delDryRun = Nothing+    , _delVPCId = pVPCId_+    }++-- | 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'.+delDryRun :: Lens' DeleteVPC (Maybe Bool)+delDryRun = lens _delDryRun (\ s a -> s{_delDryRun = a});++-- | The ID of the VPC.+delVPCId :: Lens' DeleteVPC Text+delVPCId = lens _delVPCId (\ s a -> s{_delVPCId = a});++instance AWSRequest DeleteVPC where+        type Sv DeleteVPC = EC2+        type Rs DeleteVPC = DeleteVPCResponse+        request = post+        response = receiveNull DeleteVPCResponse'++instance ToHeaders DeleteVPC where+        toHeaders = const mempty++instance ToPath DeleteVPC where+        toPath = const "/"++instance ToQuery DeleteVPC where+        toQuery DeleteVPC'{..}+          = mconcat+              ["Action" =: ("DeleteVpc" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _delDryRun, "VpcId" =: _delVPCId]++-- | /See:/ 'deleteVPCResponse' smart constructor.+data DeleteVPCResponse =+    DeleteVPCResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPCResponse' with the minimum fields required to make a request.+--+deleteVPCResponse+    :: DeleteVPCResponse+deleteVPCResponse = DeleteVPCResponse'
+ gen/Network/AWS/EC2/DeleteVPCEndpoints.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.DeleteVPCEndpoints+-- 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)+--+-- 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+      deleteVPCEndpoints+    , DeleteVPCEndpoints+    -- * Request Lenses+    , dveDryRun+    , dveVPCEndpointIds++    -- * Destructuring the Response+    , deleteVPCEndpointsResponse+    , DeleteVPCEndpointsResponse+    -- * Response Lenses+    , dversUnsuccessful+    , dversStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteVPCEndpoints' smart constructor.+data DeleteVPCEndpoints = DeleteVPCEndpoints'+    { _dveDryRun         :: !(Maybe Bool)+    , _dveVPCEndpointIds :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPCEndpoints' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dveDryRun'+--+-- * 'dveVPCEndpointIds'+deleteVPCEndpoints+    :: DeleteVPCEndpoints+deleteVPCEndpoints =+    DeleteVPCEndpoints'+    { _dveDryRun = Nothing+    , _dveVPCEndpointIds = mempty+    }++-- | 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'.+dveDryRun :: Lens' DeleteVPCEndpoints (Maybe Bool)+dveDryRun = lens _dveDryRun (\ s a -> s{_dveDryRun = a});++-- | One or more endpoint IDs.+dveVPCEndpointIds :: Lens' DeleteVPCEndpoints [Text]+dveVPCEndpointIds = lens _dveVPCEndpointIds (\ s a -> s{_dveVPCEndpointIds = a}) . _Coerce;++instance AWSRequest DeleteVPCEndpoints where+        type Sv DeleteVPCEndpoints = EC2+        type Rs DeleteVPCEndpoints =+             DeleteVPCEndpointsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DeleteVPCEndpointsResponse' <$>+                   (x .@? "unsuccessful" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DeleteVPCEndpoints where+        toHeaders = const mempty++instance ToPath DeleteVPCEndpoints where+        toPath = const "/"++instance ToQuery DeleteVPCEndpoints where+        toQuery DeleteVPCEndpoints'{..}+          = mconcat+              ["Action" =: ("DeleteVpcEndpoints" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dveDryRun,+               toQueryList "item" _dveVPCEndpointIds]++-- | /See:/ 'deleteVPCEndpointsResponse' smart constructor.+data DeleteVPCEndpointsResponse = DeleteVPCEndpointsResponse'+    { _dversUnsuccessful :: !(Maybe [UnsuccessfulItem])+    , _dversStatus       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPCEndpointsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dversUnsuccessful'+--+-- * 'dversStatus'+deleteVPCEndpointsResponse+    :: Int -- ^ 'dversStatus'+    -> DeleteVPCEndpointsResponse+deleteVPCEndpointsResponse pStatus_ =+    DeleteVPCEndpointsResponse'+    { _dversUnsuccessful = Nothing+    , _dversStatus = pStatus_+    }++-- | Information about the endpoints that were not successfully deleted.+dversUnsuccessful :: Lens' DeleteVPCEndpointsResponse [UnsuccessfulItem]+dversUnsuccessful = lens _dversUnsuccessful (\ s a -> s{_dversUnsuccessful = a}) . _Default . _Coerce;++-- | The response status code.+dversStatus :: Lens' DeleteVPCEndpointsResponse Int+dversStatus = lens _dversStatus (\ s a -> s{_dversStatus = a});
+ gen/Network/AWS/EC2/DeleteVPCPeeringConnection.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.DeleteVPCPeeringConnection+-- 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)+--+-- Deletes a VPC peering connection. Either the owner of the requester VPC+-- 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+      deleteVPCPeeringConnection+    , DeleteVPCPeeringConnection+    -- * Request Lenses+    , dvpcDryRun+    , dvpcVPCPeeringConnectionId++    -- * Destructuring the Response+    , deleteVPCPeeringConnectionResponse+    , DeleteVPCPeeringConnectionResponse+    -- * Response Lenses+    , dvpcrsReturn+    , dvpcrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteVPCPeeringConnection' smart constructor.+data DeleteVPCPeeringConnection = DeleteVPCPeeringConnection'+    { _dvpcDryRun                 :: !(Maybe Bool)+    , _dvpcVPCPeeringConnectionId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPCPeeringConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpcDryRun'+--+-- * 'dvpcVPCPeeringConnectionId'+deleteVPCPeeringConnection+    :: Text -- ^ 'dvpcVPCPeeringConnectionId'+    -> DeleteVPCPeeringConnection+deleteVPCPeeringConnection pVPCPeeringConnectionId_ =+    DeleteVPCPeeringConnection'+    { _dvpcDryRun = Nothing+    , _dvpcVPCPeeringConnectionId = pVPCPeeringConnectionId_+    }++-- | 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'.+dvpcDryRun :: Lens' DeleteVPCPeeringConnection (Maybe Bool)+dvpcDryRun = lens _dvpcDryRun (\ s a -> s{_dvpcDryRun = a});++-- | The ID of the VPC peering connection.+dvpcVPCPeeringConnectionId :: Lens' DeleteVPCPeeringConnection Text+dvpcVPCPeeringConnectionId = lens _dvpcVPCPeeringConnectionId (\ s a -> s{_dvpcVPCPeeringConnectionId = a});++instance AWSRequest DeleteVPCPeeringConnection where+        type Sv DeleteVPCPeeringConnection = EC2+        type Rs DeleteVPCPeeringConnection =+             DeleteVPCPeeringConnectionResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DeleteVPCPeeringConnectionResponse' <$>+                   (x .@? "return") <*> (pure (fromEnum s)))++instance ToHeaders DeleteVPCPeeringConnection where+        toHeaders = const mempty++instance ToPath DeleteVPCPeeringConnection where+        toPath = const "/"++instance ToQuery DeleteVPCPeeringConnection where+        toQuery DeleteVPCPeeringConnection'{..}+          = mconcat+              ["Action" =:+                 ("DeleteVpcPeeringConnection" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dvpcDryRun,+               "VpcPeeringConnectionId" =:+                 _dvpcVPCPeeringConnectionId]++-- | /See:/ 'deleteVPCPeeringConnectionResponse' smart constructor.+data DeleteVPCPeeringConnectionResponse = DeleteVPCPeeringConnectionResponse'+    { _dvpcrsReturn :: !(Maybe Bool)+    , _dvpcrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPCPeeringConnectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpcrsReturn'+--+-- * 'dvpcrsStatus'+deleteVPCPeeringConnectionResponse+    :: Int -- ^ 'dvpcrsStatus'+    -> DeleteVPCPeeringConnectionResponse+deleteVPCPeeringConnectionResponse pStatus_ =+    DeleteVPCPeeringConnectionResponse'+    { _dvpcrsReturn = Nothing+    , _dvpcrsStatus = pStatus_+    }++-- | Returns 'true' if the request succeeds; otherwise, it returns an error.+dvpcrsReturn :: Lens' DeleteVPCPeeringConnectionResponse (Maybe Bool)+dvpcrsReturn = lens _dvpcrsReturn (\ s a -> s{_dvpcrsReturn = a});++-- | The response status code.+dvpcrsStatus :: Lens' DeleteVPCPeeringConnectionResponse Int+dvpcrsStatus = lens _dvpcrsStatus (\ s a -> s{_dvpcrsStatus = a});
+ gen/Network/AWS/EC2/DeleteVPNConnection.hs view
@@ -0,0 +1,117 @@+{-# 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.DeleteVPNConnection+-- 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)+--+-- Deletes the specified VPN connection.+--+-- If you\'re deleting the VPC and its associated components, we recommend+-- that you detach the virtual private gateway from the VPC and delete the+-- VPC before deleting the VPN connection. If you believe that the tunnel+-- credentials for your VPN connection have been compromised, you can+-- delete the VPN connection and create a new one that has new keys,+-- without needing to delete the VPC or virtual private gateway. If you+-- 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+      deleteVPNConnection+    , DeleteVPNConnection+    -- * Request Lenses+    , dvcDryRun+    , dvcVPNConnectionId++    -- * Destructuring the Response+    , deleteVPNConnectionResponse+    , DeleteVPNConnectionResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteVPNConnection' smart constructor.+data DeleteVPNConnection = DeleteVPNConnection'+    { _dvcDryRun          :: !(Maybe Bool)+    , _dvcVPNConnectionId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPNConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvcDryRun'+--+-- * 'dvcVPNConnectionId'+deleteVPNConnection+    :: Text -- ^ 'dvcVPNConnectionId'+    -> DeleteVPNConnection+deleteVPNConnection pVPNConnectionId_ =+    DeleteVPNConnection'+    { _dvcDryRun = Nothing+    , _dvcVPNConnectionId = pVPNConnectionId_+    }++-- | 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'.+dvcDryRun :: Lens' DeleteVPNConnection (Maybe Bool)+dvcDryRun = lens _dvcDryRun (\ s a -> s{_dvcDryRun = a});++-- | The ID of the VPN connection.+dvcVPNConnectionId :: Lens' DeleteVPNConnection Text+dvcVPNConnectionId = lens _dvcVPNConnectionId (\ s a -> s{_dvcVPNConnectionId = a});++instance AWSRequest DeleteVPNConnection where+        type Sv DeleteVPNConnection = EC2+        type Rs DeleteVPNConnection =+             DeleteVPNConnectionResponse+        request = post+        response = receiveNull DeleteVPNConnectionResponse'++instance ToHeaders DeleteVPNConnection where+        toHeaders = const mempty++instance ToPath DeleteVPNConnection where+        toPath = const "/"++instance ToQuery DeleteVPNConnection where+        toQuery DeleteVPNConnection'{..}+          = mconcat+              ["Action" =: ("DeleteVpnConnection" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dvcDryRun,+               "VpnConnectionId" =: _dvcVPNConnectionId]++-- | /See:/ 'deleteVPNConnectionResponse' smart constructor.+data DeleteVPNConnectionResponse =+    DeleteVPNConnectionResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPNConnectionResponse' with the minimum fields required to make a request.+--+deleteVPNConnectionResponse+    :: DeleteVPNConnectionResponse+deleteVPNConnectionResponse = DeleteVPNConnectionResponse'
+ gen/Network/AWS/EC2/DeleteVPNConnectionRoute.hs view
@@ -0,0 +1,110 @@+{-# 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.DeleteVPNConnectionRoute+-- 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)+--+-- Deletes the specified static route associated with a VPN connection+-- 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+      deleteVPNConnectionRoute+    , DeleteVPNConnectionRoute+    -- * Request Lenses+    , dvcrVPNConnectionId+    , dvcrDestinationCIdRBlock++    -- * Destructuring the Response+    , deleteVPNConnectionRouteResponse+    , DeleteVPNConnectionRouteResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteVPNConnectionRoute' smart constructor.+data DeleteVPNConnectionRoute = DeleteVPNConnectionRoute'+    { _dvcrVPNConnectionId      :: !Text+    , _dvcrDestinationCIdRBlock :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPNConnectionRoute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvcrVPNConnectionId'+--+-- * 'dvcrDestinationCIdRBlock'+deleteVPNConnectionRoute+    :: Text -- ^ 'dvcrVPNConnectionId'+    -> Text -- ^ 'dvcrDestinationCIdRBlock'+    -> DeleteVPNConnectionRoute+deleteVPNConnectionRoute pVPNConnectionId_ pDestinationCIdRBlock_ =+    DeleteVPNConnectionRoute'+    { _dvcrVPNConnectionId = pVPNConnectionId_+    , _dvcrDestinationCIdRBlock = pDestinationCIdRBlock_+    }++-- | The ID of the VPN connection.+dvcrVPNConnectionId :: Lens' DeleteVPNConnectionRoute Text+dvcrVPNConnectionId = lens _dvcrVPNConnectionId (\ s a -> s{_dvcrVPNConnectionId = a});++-- | The CIDR block associated with the local subnet of the customer network.+dvcrDestinationCIdRBlock :: Lens' DeleteVPNConnectionRoute Text+dvcrDestinationCIdRBlock = lens _dvcrDestinationCIdRBlock (\ s a -> s{_dvcrDestinationCIdRBlock = a});++instance AWSRequest DeleteVPNConnectionRoute where+        type Sv DeleteVPNConnectionRoute = EC2+        type Rs DeleteVPNConnectionRoute =+             DeleteVPNConnectionRouteResponse+        request = post+        response+          = receiveNull DeleteVPNConnectionRouteResponse'++instance ToHeaders DeleteVPNConnectionRoute where+        toHeaders = const mempty++instance ToPath DeleteVPNConnectionRoute where+        toPath = const "/"++instance ToQuery DeleteVPNConnectionRoute where+        toQuery DeleteVPNConnectionRoute'{..}+          = mconcat+              ["Action" =:+                 ("DeleteVpnConnectionRoute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "VpnConnectionId" =: _dvcrVPNConnectionId,+               "DestinationCidrBlock" =: _dvcrDestinationCIdRBlock]++-- | /See:/ 'deleteVPNConnectionRouteResponse' smart constructor.+data DeleteVPNConnectionRouteResponse =+    DeleteVPNConnectionRouteResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPNConnectionRouteResponse' with the minimum fields required to make a request.+--+deleteVPNConnectionRouteResponse+    :: DeleteVPNConnectionRouteResponse+deleteVPNConnectionRouteResponse = DeleteVPNConnectionRouteResponse'
+ gen/Network/AWS/EC2/DeleteVPNGateway.hs view
@@ -0,0 +1,110 @@+{-# 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.DeleteVPNGateway+-- 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)+--+-- Deletes the specified virtual private gateway. We recommend that before+-- you delete a virtual private gateway, you detach it from the VPC and+-- 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+      deleteVPNGateway+    , DeleteVPNGateway+    -- * Request Lenses+    , dvgDryRun+    , dvgVPNGatewayId++    -- * Destructuring the Response+    , deleteVPNGatewayResponse+    , DeleteVPNGatewayResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteVPNGateway' smart constructor.+data DeleteVPNGateway = DeleteVPNGateway'+    { _dvgDryRun       :: !(Maybe Bool)+    , _dvgVPNGatewayId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPNGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvgDryRun'+--+-- * 'dvgVPNGatewayId'+deleteVPNGateway+    :: Text -- ^ 'dvgVPNGatewayId'+    -> DeleteVPNGateway+deleteVPNGateway pVPNGatewayId_ =+    DeleteVPNGateway'+    { _dvgDryRun = Nothing+    , _dvgVPNGatewayId = pVPNGatewayId_+    }++-- | 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'.+dvgDryRun :: Lens' DeleteVPNGateway (Maybe Bool)+dvgDryRun = lens _dvgDryRun (\ s a -> s{_dvgDryRun = a});++-- | The ID of the virtual private gateway.+dvgVPNGatewayId :: Lens' DeleteVPNGateway Text+dvgVPNGatewayId = lens _dvgVPNGatewayId (\ s a -> s{_dvgVPNGatewayId = a});++instance AWSRequest DeleteVPNGateway where+        type Sv DeleteVPNGateway = EC2+        type Rs DeleteVPNGateway = DeleteVPNGatewayResponse+        request = post+        response = receiveNull DeleteVPNGatewayResponse'++instance ToHeaders DeleteVPNGateway where+        toHeaders = const mempty++instance ToPath DeleteVPNGateway where+        toPath = const "/"++instance ToQuery DeleteVPNGateway where+        toQuery DeleteVPNGateway'{..}+          = mconcat+              ["Action" =: ("DeleteVpnGateway" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dvgDryRun,+               "VpnGatewayId" =: _dvgVPNGatewayId]++-- | /See:/ 'deleteVPNGatewayResponse' smart constructor.+data DeleteVPNGatewayResponse =+    DeleteVPNGatewayResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteVPNGatewayResponse' with the minimum fields required to make a request.+--+deleteVPNGatewayResponse+    :: DeleteVPNGatewayResponse+deleteVPNGatewayResponse = DeleteVPNGatewayResponse'
gen/Network/AWS/EC2/DeleteVolume.hs view
@@ -1,107 +1,112 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteVolume--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified EBS volume. The volume must be in the 'available' state--- (not attached to an instance).+-- Deletes the specified EBS volume. The volume must be in the 'available'+-- state (not attached to an instance). -- -- The volume may remain in the 'deleting' state for several minutes. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html Deleting an Amazon EBS Volume> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVolume.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVolume.html AWS API Reference> for DeleteVolume. module Network.AWS.EC2.DeleteVolume     (-    -- * Request-      DeleteVolume-    -- ** Request constructor-    , deleteVolume-    -- ** Request lenses-    , dv4DryRun-    , dv4VolumeId+    -- * Creating a Request+      deleteVolume+    , DeleteVolume+    -- * Request Lenses+    , dvvDryRun+    , dvvVolumeId -    -- * Response-    , DeleteVolumeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteVolumeResponse+    , DeleteVolumeResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteVolume = DeleteVolume-    { _dv4DryRun   :: Maybe Bool-    , _dv4VolumeId :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteVolume' smart constructor.+data DeleteVolume = DeleteVolume'+    { _dvvDryRun   :: !(Maybe Bool)+    , _dvvVolumeId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteVolume' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteVolume' with the minimum fields required to make a request. ----- * 'dv4DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dv4VolumeId' @::@ 'Text'+-- * 'dvvDryRun' ---deleteVolume :: Text -- ^ 'dv4VolumeId'-             -> DeleteVolume-deleteVolume p1 = DeleteVolume-    { _dv4VolumeId = p1-    , _dv4DryRun   = Nothing+-- * 'dvvVolumeId'+deleteVolume+    :: Text -- ^ 'dvvVolumeId'+    -> DeleteVolume+deleteVolume pVolumeId_ =+    DeleteVolume'+    { _dvvDryRun = Nothing+    , _dvvVolumeId = pVolumeId_     }  -- | 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'.-dv4DryRun :: Lens' DeleteVolume (Maybe Bool)-dv4DryRun = lens _dv4DryRun (\s a -> s { _dv4DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+dvvDryRun :: Lens' DeleteVolume (Maybe Bool)+dvvDryRun = lens _dvvDryRun (\ s a -> s{_dvvDryRun = a});  -- | The ID of the volume.-dv4VolumeId :: Lens' DeleteVolume Text-dv4VolumeId = lens _dv4VolumeId (\s a -> s { _dv4VolumeId = a })+dvvVolumeId :: Lens' DeleteVolume Text+dvvVolumeId = lens _dvvVolumeId (\ s a -> s{_dvvVolumeId = a}); -data DeleteVolumeResponse = DeleteVolumeResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteVolume where+        type Sv DeleteVolume = EC2+        type Rs DeleteVolume = DeleteVolumeResponse+        request = post+        response = receiveNull DeleteVolumeResponse' --- | 'DeleteVolumeResponse' constructor.-deleteVolumeResponse :: DeleteVolumeResponse-deleteVolumeResponse = DeleteVolumeResponse+instance ToHeaders DeleteVolume where+        toHeaders = const mempty  instance ToPath DeleteVolume where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteVolume where-    toQuery DeleteVolume{..} = mconcat-        [ "DryRun"   =? _dv4DryRun-        , "VolumeId" =? _dv4VolumeId-        ]--instance ToHeaders DeleteVolume+        toQuery DeleteVolume'{..}+          = mconcat+              ["Action" =: ("DeleteVolume" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dvvDryRun, "VolumeId" =: _dvvVolumeId] -instance AWSRequest DeleteVolume where-    type Sv DeleteVolume = EC2-    type Rs DeleteVolume = DeleteVolumeResponse+-- | /See:/ 'deleteVolumeResponse' smart constructor.+data DeleteVolumeResponse =+    DeleteVolumeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteVolume"-    response = nullResponse DeleteVolumeResponse+-- | Creates a value of 'DeleteVolumeResponse' with the minimum fields required to make a request.+--+deleteVolumeResponse+    :: DeleteVolumeResponse+deleteVolumeResponse = DeleteVolumeResponse'
− gen/Network/AWS/EC2/DeleteVpc.hs
@@ -1,106 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DeleteVpc--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified VPC. You must detach or delete all gateways and--- resources that are associated with the VPC before you can delete it. For--- example, you must terminate all instances running in the VPC, delete all--- 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.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVpc.html>-module Network.AWS.EC2.DeleteVpc-    (-    -- * Request-      DeleteVpc-    -- ** Request constructor-    , deleteVpc-    -- ** Request lenses-    , dv3DryRun-    , dv3VpcId--    -- * Response-    , DeleteVpcResponse-    -- ** Response constructor-    , deleteVpcResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DeleteVpc = DeleteVpc-    { _dv3DryRun :: Maybe Bool-    , _dv3VpcId  :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'DeleteVpc' constructor.------ The fields accessible through corresponding lenses are:------ * 'dv3DryRun' @::@ 'Maybe' 'Bool'------ * 'dv3VpcId' @::@ 'Text'----deleteVpc :: Text -- ^ 'dv3VpcId'-          -> DeleteVpc-deleteVpc p1 = DeleteVpc-    { _dv3VpcId  = p1-    , _dv3DryRun = Nothing-    }---- | 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'.-dv3DryRun :: Lens' DeleteVpc (Maybe Bool)-dv3DryRun = lens _dv3DryRun (\s a -> s { _dv3DryRun = a })---- | The ID of the VPC.-dv3VpcId :: Lens' DeleteVpc Text-dv3VpcId = lens _dv3VpcId (\s a -> s { _dv3VpcId = a })--data DeleteVpcResponse = DeleteVpcResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DeleteVpcResponse' constructor.-deleteVpcResponse :: DeleteVpcResponse-deleteVpcResponse = DeleteVpcResponse--instance ToPath DeleteVpc where-    toPath = const "/"--instance ToQuery DeleteVpc where-    toQuery DeleteVpc{..} = mconcat-        [ "DryRun" =? _dv3DryRun-        , "VpcId"  =? _dv3VpcId-        ]--instance ToHeaders DeleteVpc--instance AWSRequest DeleteVpc where-    type Sv DeleteVpc = EC2-    type Rs DeleteVpc = DeleteVpcResponse--    request  = post "DeleteVpc"-    response = nullResponse DeleteVpcResponse
− gen/Network/AWS/EC2/DeleteVpcEndpoints.hs
@@ -1,123 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DeleteVpcEndpoints--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVpcEndpoints.html>-module Network.AWS.EC2.DeleteVpcEndpoints-    (-    -- * Request-      DeleteVpcEndpoints-    -- ** Request constructor-    , deleteVpcEndpoints-    -- ** Request lenses-    , dveDryRun-    , dveVpcEndpointIds--    -- * Response-    , DeleteVpcEndpointsResponse-    -- ** Response constructor-    , deleteVpcEndpointsResponse-    -- ** Response lenses-    , dverUnsuccessful-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DeleteVpcEndpoints = DeleteVpcEndpoints-    { _dveDryRun         :: Maybe Bool-    , _dveVpcEndpointIds :: List "item" Text-    } deriving (Eq, Ord, Read, Show)---- | 'DeleteVpcEndpoints' constructor.------ The fields accessible through corresponding lenses are:------ * 'dveDryRun' @::@ 'Maybe' 'Bool'------ * 'dveVpcEndpointIds' @::@ ['Text']----deleteVpcEndpoints :: DeleteVpcEndpoints-deleteVpcEndpoints = DeleteVpcEndpoints-    { _dveDryRun         = Nothing-    , _dveVpcEndpointIds = mempty-    }---- | 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'.-dveDryRun :: Lens' DeleteVpcEndpoints (Maybe Bool)-dveDryRun = lens _dveDryRun (\s a -> s { _dveDryRun = a })---- | One or more endpoint IDs.-dveVpcEndpointIds :: Lens' DeleteVpcEndpoints [Text]-dveVpcEndpointIds =-    lens _dveVpcEndpointIds (\s a -> s { _dveVpcEndpointIds = a })-        . _List--newtype DeleteVpcEndpointsResponse = DeleteVpcEndpointsResponse-    { _dverUnsuccessful :: List "item" UnsuccessfulItem-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'DeleteVpcEndpointsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dverUnsuccessful' @::@ ['UnsuccessfulItem']----deleteVpcEndpointsResponse :: DeleteVpcEndpointsResponse-deleteVpcEndpointsResponse = DeleteVpcEndpointsResponse-    { _dverUnsuccessful = mempty-    }---- | Information about the endpoints that were not successfully deleted.-dverUnsuccessful :: Lens' DeleteVpcEndpointsResponse [UnsuccessfulItem]-dverUnsuccessful = lens _dverUnsuccessful (\s a -> s { _dverUnsuccessful = a }) . _List--instance ToPath DeleteVpcEndpoints where-    toPath = const "/"--instance ToQuery DeleteVpcEndpoints where-    toQuery DeleteVpcEndpoints{..} = mconcat-        [ "DryRun"        =? _dveDryRun-        , "VpcEndpointId" `toQueryList` _dveVpcEndpointIds-        ]--instance ToHeaders DeleteVpcEndpoints--instance AWSRequest DeleteVpcEndpoints where-    type Sv DeleteVpcEndpoints = EC2-    type Rs DeleteVpcEndpoints = DeleteVpcEndpointsResponse--    request  = post "DeleteVpcEndpoints"-    response = xmlResponse--instance FromXML DeleteVpcEndpointsResponse where-    parseXML x = DeleteVpcEndpointsResponse-        <$> x .@? "unsuccessful" .!@ mempty
− gen/Network/AWS/EC2/DeleteVpcPeeringConnection.hs
@@ -1,125 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DeleteVpcPeeringConnection--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes a VPC peering connection. Either the owner of the requester VPC 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.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVpcPeeringConnection.html>-module Network.AWS.EC2.DeleteVpcPeeringConnection-    (-    -- * Request-      DeleteVpcPeeringConnection-    -- ** Request constructor-    , deleteVpcPeeringConnection-    -- ** Request lenses-    , dvpcDryRun-    , dvpcVpcPeeringConnectionId--    -- * Response-    , DeleteVpcPeeringConnectionResponse-    -- ** Response constructor-    , deleteVpcPeeringConnectionResponse-    -- ** Response lenses-    , dvpcrReturn-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DeleteVpcPeeringConnection = DeleteVpcPeeringConnection-    { _dvpcDryRun                 :: Maybe Bool-    , _dvpcVpcPeeringConnectionId :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'DeleteVpcPeeringConnection' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvpcDryRun' @::@ 'Maybe' 'Bool'------ * 'dvpcVpcPeeringConnectionId' @::@ 'Text'----deleteVpcPeeringConnection :: Text -- ^ 'dvpcVpcPeeringConnectionId'-                           -> DeleteVpcPeeringConnection-deleteVpcPeeringConnection p1 = DeleteVpcPeeringConnection-    { _dvpcVpcPeeringConnectionId = p1-    , _dvpcDryRun                 = Nothing-    }---- | 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'.-dvpcDryRun :: Lens' DeleteVpcPeeringConnection (Maybe Bool)-dvpcDryRun = lens _dvpcDryRun (\s a -> s { _dvpcDryRun = a })---- | The ID of the VPC peering connection.-dvpcVpcPeeringConnectionId :: Lens' DeleteVpcPeeringConnection Text-dvpcVpcPeeringConnectionId =-    lens _dvpcVpcPeeringConnectionId-        (\s a -> s { _dvpcVpcPeeringConnectionId = a })--newtype DeleteVpcPeeringConnectionResponse = DeleteVpcPeeringConnectionResponse-    { _dvpcrReturn :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'DeleteVpcPeeringConnectionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvpcrReturn' @::@ 'Maybe' 'Bool'----deleteVpcPeeringConnectionResponse :: DeleteVpcPeeringConnectionResponse-deleteVpcPeeringConnectionResponse = DeleteVpcPeeringConnectionResponse-    { _dvpcrReturn = Nothing-    }---- | Returns 'true' if the request succeeds; otherwise, it returns an error.-dvpcrReturn :: Lens' DeleteVpcPeeringConnectionResponse (Maybe Bool)-dvpcrReturn = lens _dvpcrReturn (\s a -> s { _dvpcrReturn = a })--instance ToPath DeleteVpcPeeringConnection where-    toPath = const "/"--instance ToQuery DeleteVpcPeeringConnection where-    toQuery DeleteVpcPeeringConnection{..} = mconcat-        [ "DryRun"                 =? _dvpcDryRun-        , "VpcPeeringConnectionId" =? _dvpcVpcPeeringConnectionId-        ]--instance ToHeaders DeleteVpcPeeringConnection--instance AWSRequest DeleteVpcPeeringConnection where-    type Sv DeleteVpcPeeringConnection = EC2-    type Rs DeleteVpcPeeringConnection = DeleteVpcPeeringConnectionResponse--    request  = post "DeleteVpcPeeringConnection"-    response = xmlResponse--instance FromXML DeleteVpcPeeringConnectionResponse where-    parseXML x = DeleteVpcPeeringConnectionResponse-        <$> x .@? "return"
− gen/Network/AWS/EC2/DeleteVpnConnection.hs
@@ -1,112 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DeleteVpnConnection--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified VPN connection.------ If you're deleting the VPC and its associated components, we recommend that--- you detach the virtual private gateway from the VPC and delete the VPC before--- deleting the VPN connection. If you believe that the tunnel credentials for--- your VPN connection have been compromised, you can delete the VPN connection--- and create a new one that has new keys, without needing to delete the VPC or--- virtual private gateway. If you create a new VPN connection, you must--- reconfigure the customer gateway using the new configuration information--- returned with the new VPN connection ID.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVpnConnection.html>-module Network.AWS.EC2.DeleteVpnConnection-    (-    -- * Request-      DeleteVpnConnection-    -- ** Request constructor-    , deleteVpnConnection-    -- ** Request lenses-    , dvcDryRun-    , dvcVpnConnectionId--    -- * Response-    , DeleteVpnConnectionResponse-    -- ** Response constructor-    , deleteVpnConnectionResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DeleteVpnConnection = DeleteVpnConnection-    { _dvcDryRun          :: Maybe Bool-    , _dvcVpnConnectionId :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'DeleteVpnConnection' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvcDryRun' @::@ 'Maybe' 'Bool'------ * 'dvcVpnConnectionId' @::@ 'Text'----deleteVpnConnection :: Text -- ^ 'dvcVpnConnectionId'-                    -> DeleteVpnConnection-deleteVpnConnection p1 = DeleteVpnConnection-    { _dvcVpnConnectionId = p1-    , _dvcDryRun          = Nothing-    }---- | 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'.-dvcDryRun :: Lens' DeleteVpnConnection (Maybe Bool)-dvcDryRun = lens _dvcDryRun (\s a -> s { _dvcDryRun = a })---- | The ID of the VPN connection.-dvcVpnConnectionId :: Lens' DeleteVpnConnection Text-dvcVpnConnectionId =-    lens _dvcVpnConnectionId (\s a -> s { _dvcVpnConnectionId = a })--data DeleteVpnConnectionResponse = DeleteVpnConnectionResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DeleteVpnConnectionResponse' constructor.-deleteVpnConnectionResponse :: DeleteVpnConnectionResponse-deleteVpnConnectionResponse = DeleteVpnConnectionResponse--instance ToPath DeleteVpnConnection where-    toPath = const "/"--instance ToQuery DeleteVpnConnection where-    toQuery DeleteVpnConnection{..} = mconcat-        [ "DryRun"          =? _dvcDryRun-        , "VpnConnectionId" =? _dvcVpnConnectionId-        ]--instance ToHeaders DeleteVpnConnection--instance AWSRequest DeleteVpnConnection where-    type Sv DeleteVpnConnection = EC2-    type Rs DeleteVpnConnection = DeleteVpnConnectionResponse--    request  = post "DeleteVpnConnection"-    response = nullResponse DeleteVpnConnectionResponse
− gen/Network/AWS/EC2/DeleteVpnConnectionRoute.hs
@@ -1,107 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DeleteVpnConnectionRoute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified static route associated with a VPN connection 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.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVpnConnectionRoute.html>-module Network.AWS.EC2.DeleteVpnConnectionRoute-    (-    -- * Request-      DeleteVpnConnectionRoute-    -- ** Request constructor-    , deleteVpnConnectionRoute-    -- ** Request lenses-    , dvcrDestinationCidrBlock-    , dvcrVpnConnectionId--    -- * Response-    , DeleteVpnConnectionRouteResponse-    -- ** Response constructor-    , deleteVpnConnectionRouteResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DeleteVpnConnectionRoute = DeleteVpnConnectionRoute-    { _dvcrDestinationCidrBlock :: Text-    , _dvcrVpnConnectionId      :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'DeleteVpnConnectionRoute' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvcrDestinationCidrBlock' @::@ 'Text'------ * 'dvcrVpnConnectionId' @::@ 'Text'----deleteVpnConnectionRoute :: Text -- ^ 'dvcrVpnConnectionId'-                         -> Text -- ^ 'dvcrDestinationCidrBlock'-                         -> DeleteVpnConnectionRoute-deleteVpnConnectionRoute p1 p2 = DeleteVpnConnectionRoute-    { _dvcrVpnConnectionId      = p1-    , _dvcrDestinationCidrBlock = p2-    }---- | The CIDR block associated with the local subnet of the customer network.-dvcrDestinationCidrBlock :: Lens' DeleteVpnConnectionRoute Text-dvcrDestinationCidrBlock =-    lens _dvcrDestinationCidrBlock-        (\s a -> s { _dvcrDestinationCidrBlock = a })---- | The ID of the VPN connection.-dvcrVpnConnectionId :: Lens' DeleteVpnConnectionRoute Text-dvcrVpnConnectionId =-    lens _dvcrVpnConnectionId (\s a -> s { _dvcrVpnConnectionId = a })--data DeleteVpnConnectionRouteResponse = DeleteVpnConnectionRouteResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DeleteVpnConnectionRouteResponse' constructor.-deleteVpnConnectionRouteResponse :: DeleteVpnConnectionRouteResponse-deleteVpnConnectionRouteResponse = DeleteVpnConnectionRouteResponse--instance ToPath DeleteVpnConnectionRoute where-    toPath = const "/"--instance ToQuery DeleteVpnConnectionRoute where-    toQuery DeleteVpnConnectionRoute{..} = mconcat-        [ "DestinationCidrBlock" =? _dvcrDestinationCidrBlock-        , "VpnConnectionId"      =? _dvcrVpnConnectionId-        ]--instance ToHeaders DeleteVpnConnectionRoute--instance AWSRequest DeleteVpnConnectionRoute where-    type Sv DeleteVpnConnectionRoute = EC2-    type Rs DeleteVpnConnectionRoute = DeleteVpnConnectionRouteResponse--    request  = post "DeleteVpnConnectionRoute"-    response = nullResponse DeleteVpnConnectionRouteResponse
− gen/Network/AWS/EC2/DeleteVpnGateway.hs
@@ -1,106 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DeleteVpnGateway--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified virtual private gateway. We recommend that before you--- delete a virtual private gateway, you detach it from the VPC and 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.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVpnGateway.html>-module Network.AWS.EC2.DeleteVpnGateway-    (-    -- * Request-      DeleteVpnGateway-    -- ** Request constructor-    , deleteVpnGateway-    -- ** Request lenses-    , dvgDryRun-    , dvgVpnGatewayId--    -- * Response-    , DeleteVpnGatewayResponse-    -- ** Response constructor-    , deleteVpnGatewayResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DeleteVpnGateway = DeleteVpnGateway-    { _dvgDryRun       :: Maybe Bool-    , _dvgVpnGatewayId :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'DeleteVpnGateway' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvgDryRun' @::@ 'Maybe' 'Bool'------ * 'dvgVpnGatewayId' @::@ 'Text'----deleteVpnGateway :: Text -- ^ 'dvgVpnGatewayId'-                 -> DeleteVpnGateway-deleteVpnGateway p1 = DeleteVpnGateway-    { _dvgVpnGatewayId = p1-    , _dvgDryRun       = Nothing-    }---- | 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'.-dvgDryRun :: Lens' DeleteVpnGateway (Maybe Bool)-dvgDryRun = lens _dvgDryRun (\s a -> s { _dvgDryRun = a })---- | The ID of the virtual private gateway.-dvgVpnGatewayId :: Lens' DeleteVpnGateway Text-dvgVpnGatewayId = lens _dvgVpnGatewayId (\s a -> s { _dvgVpnGatewayId = a })--data DeleteVpnGatewayResponse = DeleteVpnGatewayResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DeleteVpnGatewayResponse' constructor.-deleteVpnGatewayResponse :: DeleteVpnGatewayResponse-deleteVpnGatewayResponse = DeleteVpnGatewayResponse--instance ToPath DeleteVpnGateway where-    toPath = const "/"--instance ToQuery DeleteVpnGateway where-    toQuery DeleteVpnGateway{..} = mconcat-        [ "DryRun"       =? _dvgDryRun-        , "VpnGatewayId" =? _dvgVpnGatewayId-        ]--instance ToHeaders DeleteVpnGateway--instance AWSRequest DeleteVpnGateway where-    type Sv DeleteVpnGateway = EC2-    type Rs DeleteVpnGateway = DeleteVpnGatewayResponse--    request  = post "DeleteVpnGateway"-    response = nullResponse DeleteVpnGatewayResponse
gen/Network/AWS/EC2/DeregisterImage.hs view
@@ -1,105 +1,108 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeregisterImage--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deregisters the specified AMI. After you deregister an AMI, it can't be used--- to launch new instances.+-- Deregisters the specified AMI. After you deregister an AMI, it can\'t be+-- used to launch new instances. -- -- This command does not delete the AMI. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeregisterImage.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DeregisterImage.html AWS API Reference> for DeregisterImage. module Network.AWS.EC2.DeregisterImage     (-    -- * Request-      DeregisterImage-    -- ** Request constructor-    , deregisterImage-    -- ** Request lenses+    -- * Creating a Request+      deregisterImage+    , DeregisterImage+    -- * Request Lenses     , diDryRun     , diImageId -    -- * Response-    , DeregisterImageResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deregisterImageResponse+    , DeregisterImageResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeregisterImage = DeregisterImage-    { _diDryRun  :: Maybe Bool-    , _diImageId :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deregisterImage' smart constructor.+data DeregisterImage = DeregisterImage'+    { _diDryRun  :: !(Maybe Bool)+    , _diImageId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeregisterImage' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeregisterImage' with the minimum fields required to make a request. ----- * 'diDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'diImageId' @::@ 'Text'+-- * 'diDryRun' ---deregisterImage :: Text -- ^ 'diImageId'-                -> DeregisterImage-deregisterImage p1 = DeregisterImage-    { _diImageId = p1-    , _diDryRun  = Nothing+-- * 'diImageId'+deregisterImage+    :: Text -- ^ 'diImageId'+    -> DeregisterImage+deregisterImage pImageId_ =+    DeregisterImage'+    { _diDryRun = Nothing+    , _diImageId = pImageId_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. diDryRun :: Lens' DeregisterImage (Maybe Bool)-diDryRun = lens _diDryRun (\s a -> s { _diDryRun = a })+diDryRun = lens _diDryRun (\ s a -> s{_diDryRun = a});  -- | The ID of the AMI. diImageId :: Lens' DeregisterImage Text-diImageId = lens _diImageId (\s a -> s { _diImageId = a })+diImageId = lens _diImageId (\ s a -> s{_diImageId = a}); -data DeregisterImageResponse = DeregisterImageResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeregisterImage where+        type Sv DeregisterImage = EC2+        type Rs DeregisterImage = DeregisterImageResponse+        request = post+        response = receiveNull DeregisterImageResponse' --- | 'DeregisterImageResponse' constructor.-deregisterImageResponse :: DeregisterImageResponse-deregisterImageResponse = DeregisterImageResponse+instance ToHeaders DeregisterImage where+        toHeaders = const mempty  instance ToPath DeregisterImage where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeregisterImage where-    toQuery DeregisterImage{..} = mconcat-        [ "DryRun"  =? _diDryRun-        , "ImageId" =? _diImageId-        ]--instance ToHeaders DeregisterImage+        toQuery DeregisterImage'{..}+          = mconcat+              ["Action" =: ("DeregisterImage" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _diDryRun, "ImageId" =: _diImageId] -instance AWSRequest DeregisterImage where-    type Sv DeregisterImage = EC2-    type Rs DeregisterImage = DeregisterImageResponse+-- | /See:/ 'deregisterImageResponse' smart constructor.+data DeregisterImageResponse =+    DeregisterImageResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeregisterImage"-    response = nullResponse DeregisterImageResponse+-- | Creates a value of 'DeregisterImageResponse' with the minimum fields required to make a request.+--+deregisterImageResponse+    :: DeregisterImageResponse+deregisterImageResponse = DeregisterImageResponse'
gen/Network/AWS/EC2/DescribeAccountAttributes.hs view
@@ -1,142 +1,156 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeAccountAttributes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes attributes of your AWS account. The following are the supported--- account attributes:------ 'supported-platforms': Indicates whether your account can launch instances--- into EC2-Classic and EC2-VPC, or only into EC2-VPC.+-- Describes attributes of your AWS account. The following are the+-- supported account attributes: ----- 'default-vpc': The ID of the default VPC for your account, or 'none'.+-- -   'supported-platforms': Indicates whether your account can launch+--     instances into EC2-Classic and EC2-VPC, or only into EC2-VPC. ----- 'max-instances': The maximum number of On-Demand instances that you can run.+-- -   'default-vpc': The ID of the default VPC for your account, or+--     'none'. ----- 'vpc-max-security-groups-per-interface': The maximum number of security--- groups that you can assign to a network interface.+-- -   'max-instances': The maximum number of On-Demand instances that you+--     can run. ----- 'max-elastic-ips': The maximum number of Elastic IP addresses that you can--- allocate for use with EC2-Classic.+-- -   'vpc-max-security-groups-per-interface': The maximum number of+--     security groups that you can assign to a network interface. ----- 'vpc-max-elastic-ips': The maximum number of Elastic IP addresses that you--- can allocate for use with EC2-VPC.+-- -   'max-elastic-ips': The maximum number of Elastic IP addresses that+--     you can allocate for use with EC2-Classic. --+-- -   'vpc-max-elastic-ips': The maximum number of Elastic IP addresses+--     that you can allocate for use with EC2-VPC. -- ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAccountAttributes.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAccountAttributes.html AWS API Reference> for DescribeAccountAttributes. module Network.AWS.EC2.DescribeAccountAttributes     (-    -- * Request-      DescribeAccountAttributes-    -- ** Request constructor-    , describeAccountAttributes-    -- ** Request lenses+    -- * Creating a Request+      describeAccountAttributes+    , DescribeAccountAttributes+    -- * Request Lenses     , daaAttributeNames     , daaDryRun -    -- * Response-    , DescribeAccountAttributesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeAccountAttributesResponse-    -- ** Response lenses-    , daarAccountAttributes+    , DescribeAccountAttributesResponse+    -- * Response Lenses+    , daarsAccountAttributes+    , daarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeAccountAttributes = DescribeAccountAttributes-    { _daaAttributeNames :: List "attributeName" AccountAttributeName-    , _daaDryRun         :: Maybe Bool-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeAccountAttributes' smart constructor.+data DescribeAccountAttributes = DescribeAccountAttributes'+    { _daaAttributeNames :: !(Maybe [AccountAttributeName])+    , _daaDryRun         :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeAccountAttributes' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeAccountAttributes' with the minimum fields required to make a request. ----- * 'daaAttributeNames' @::@ ['AccountAttributeName']+-- Use one of the following lenses to modify other fields as desired: ----- * 'daaDryRun' @::@ 'Maybe' 'Bool'+-- * 'daaAttributeNames' ---describeAccountAttributes :: DescribeAccountAttributes-describeAccountAttributes = DescribeAccountAttributes-    { _daaDryRun         = Nothing-    , _daaAttributeNames = mempty+-- * 'daaDryRun'+describeAccountAttributes+    :: DescribeAccountAttributes+describeAccountAttributes =+    DescribeAccountAttributes'+    { _daaAttributeNames = Nothing+    , _daaDryRun = Nothing     }  -- | One or more account attribute names. daaAttributeNames :: Lens' DescribeAccountAttributes [AccountAttributeName]-daaAttributeNames =-    lens _daaAttributeNames (\s a -> s { _daaAttributeNames = a })-        . _List+daaAttributeNames = lens _daaAttributeNames (\ s a -> s{_daaAttributeNames = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. daaDryRun :: Lens' DescribeAccountAttributes (Maybe Bool)-daaDryRun = lens _daaDryRun (\s a -> s { _daaDryRun = a })--newtype DescribeAccountAttributesResponse = DescribeAccountAttributesResponse-    { _daarAccountAttributes :: List "item" AccountAttribute-    } deriving (Eq, Read, Show, Monoid, Semigroup)+daaDryRun = lens _daaDryRun (\ s a -> s{_daaDryRun = a}); --- | 'DescribeAccountAttributesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'daarAccountAttributes' @::@ ['AccountAttribute']----describeAccountAttributesResponse :: DescribeAccountAttributesResponse-describeAccountAttributesResponse = DescribeAccountAttributesResponse-    { _daarAccountAttributes = mempty-    }+instance AWSRequest DescribeAccountAttributes where+        type Sv DescribeAccountAttributes = EC2+        type Rs DescribeAccountAttributes =+             DescribeAccountAttributesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeAccountAttributesResponse' <$>+                   (x .@? "accountAttributeSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more account attributes.-daarAccountAttributes :: Lens' DescribeAccountAttributesResponse [AccountAttribute]-daarAccountAttributes =-    lens _daarAccountAttributes (\s a -> s { _daarAccountAttributes = a })-        . _List+instance ToHeaders DescribeAccountAttributes where+        toHeaders = const mempty  instance ToPath DescribeAccountAttributes where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeAccountAttributes where-    toQuery DescribeAccountAttributes{..} = mconcat-        [ "AttributeName" `toQueryList` _daaAttributeNames-        , "DryRun"        =? _daaDryRun-        ]+        toQuery DescribeAccountAttributes'{..}+          = mconcat+              ["Action" =:+                 ("DescribeAccountAttributes" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "attributeName" <$> _daaAttributeNames),+               "DryRun" =: _daaDryRun] -instance ToHeaders DescribeAccountAttributes+-- | /See:/ 'describeAccountAttributesResponse' smart constructor.+data DescribeAccountAttributesResponse = DescribeAccountAttributesResponse'+    { _daarsAccountAttributes :: !(Maybe [AccountAttribute])+    , _daarsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeAccountAttributes where-    type Sv DescribeAccountAttributes = EC2-    type Rs DescribeAccountAttributes = DescribeAccountAttributesResponse+-- | Creates a value of 'DescribeAccountAttributesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'daarsAccountAttributes'+--+-- * 'daarsStatus'+describeAccountAttributesResponse+    :: Int -- ^ 'daarsStatus'+    -> DescribeAccountAttributesResponse+describeAccountAttributesResponse pStatus_ =+    DescribeAccountAttributesResponse'+    { _daarsAccountAttributes = Nothing+    , _daarsStatus = pStatus_+    } -    request  = post "DescribeAccountAttributes"-    response = xmlResponse+-- | Information about one or more account attributes.+daarsAccountAttributes :: Lens' DescribeAccountAttributesResponse [AccountAttribute]+daarsAccountAttributes = lens _daarsAccountAttributes (\ s a -> s{_daarsAccountAttributes = a}) . _Default . _Coerce; -instance FromXML DescribeAccountAttributesResponse where-    parseXML x = DescribeAccountAttributesResponse-        <$> x .@? "accountAttributeSet" .!@ mempty+-- | The response status code.+daarsStatus :: Lens' DescribeAccountAttributesResponse Int+daarsStatus = lens _daarsStatus (\ s a -> s{_daarsStatus = a});
gen/Network/AWS/EC2/DescribeAddresses.hs view
@@ -1,168 +1,184 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeAddresses--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your Elastic IP addresses.+-- Describes one or more of your Elastic IP addresses. ----- An Elastic IP address is for use in either the EC2-Classic platform or 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 ElasticCompute Cloud User Guide/.+-- An Elastic IP address is for use in either the EC2-Classic platform or+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAddresses.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAddresses.html AWS API Reference> for DescribeAddresses. module Network.AWS.EC2.DescribeAddresses     (-    -- * Request-      DescribeAddresses-    -- ** Request constructor-    , describeAddresses-    -- ** Request lenses-    , daAllocationIds-    , daDryRun+    -- * Creating a Request+      describeAddresses+    , DescribeAddresses+    -- * Request Lenses+    , daPublicIPs     , daFilters-    , daPublicIps+    , daDryRun+    , daAllocationIds -    -- * Response-    , DescribeAddressesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeAddressesResponse-    -- ** Response lenses-    , darAddresses+    , DescribeAddressesResponse+    -- * Response Lenses+    , darsAddresses+    , darsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeAddresses = DescribeAddresses-    { _daAllocationIds :: List "AllocationId" Text-    , _daDryRun        :: Maybe Bool-    , _daFilters       :: List "Filter" Filter-    , _daPublicIps     :: List "PublicIp" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeAddresses' smart constructor.+data DescribeAddresses = DescribeAddresses'+    { _daPublicIPs     :: !(Maybe [Text])+    , _daFilters       :: !(Maybe [Filter])+    , _daDryRun        :: !(Maybe Bool)+    , _daAllocationIds :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeAddresses' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeAddresses' with the minimum fields required to make a request. ----- * 'daAllocationIds' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ----- * 'daDryRun' @::@ 'Maybe' 'Bool'+-- * 'daPublicIPs' ----- * 'daFilters' @::@ ['Filter']+-- * 'daFilters' ----- * 'daPublicIps' @::@ ['Text']+-- * 'daDryRun' ---describeAddresses :: DescribeAddresses-describeAddresses = DescribeAddresses-    { _daDryRun        = Nothing-    , _daPublicIps     = mempty-    , _daFilters       = mempty-    , _daAllocationIds = mempty+-- * 'daAllocationIds'+describeAddresses+    :: DescribeAddresses+describeAddresses =+    DescribeAddresses'+    { _daPublicIPs = Nothing+    , _daFilters = Nothing+    , _daDryRun = Nothing+    , _daAllocationIds = Nothing     } --- | [EC2-VPC] One or more allocation IDs.+-- | [EC2-Classic] One or more Elastic IP addresses. -- -- Default: Describes all your Elastic IP addresses.-daAllocationIds :: Lens' DescribeAddresses [Text]-daAllocationIds = lens _daAllocationIds (\s a -> s { _daAllocationIds = a }) . _List---- | 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'.-daDryRun :: Lens' DescribeAddresses (Maybe Bool)-daDryRun = lens _daDryRun (\s a -> s { _daDryRun = a })+daPublicIPs :: Lens' DescribeAddresses [Text]+daPublicIPs = lens _daPublicIPs (\ s a -> s{_daPublicIPs = a}) . _Default . _Coerce;  -- | One or more filters. Filter names and values are case-sensitive. ----- 'allocation-id' - [EC2-VPC] The allocation ID for the address.------ 'association-id' - [EC2-VPC] The association ID for the address.+-- -   'allocation-id' - [EC2-VPC] The allocation ID for the address. ----- 'domain' - Indicates whether the address is for use in EC2-Classic ('standard') or in a VPC (--- 'vpc').+-- -   'association-id' - [EC2-VPC] The association ID for the address. ----- 'instance-id' - The ID of the instance the address is associated with, if--- any.+-- -   'domain' - Indicates whether the address is for use in EC2-Classic+--     ('standard') or in a VPC ('vpc'). ----- 'network-interface-id' - [EC2-VPC] The ID of the network interface that the--- address is associated with, if any.+-- -   'instance-id' - The ID of the instance the address is associated+--     with, if any. ----- 'network-interface-owner-id' - The AWS account ID of the owner.+-- -   'network-interface-id' - [EC2-VPC] The ID of the network interface+--     that the address is associated with, if any. ----- 'private-ip-address' - [EC2-VPC] The private IP address associated with the--- Elastic IP address.+-- -   'network-interface-owner-id' - The AWS account ID of the owner. ----- 'public-ip' - The Elastic IP address.+-- -   'private-ip-address' - [EC2-VPC] The private IP address associated+--     with the Elastic IP address. --+-- -   'public-ip' - The Elastic IP address. -- daFilters :: Lens' DescribeAddresses [Filter]-daFilters = lens _daFilters (\s a -> s { _daFilters = a }) . _List+daFilters = lens _daFilters (\ s a -> s{_daFilters = a}) . _Default . _Coerce; --- | [EC2-Classic] One or more Elastic IP addresses.+-- | 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'.+daDryRun :: Lens' DescribeAddresses (Maybe Bool)+daDryRun = lens _daDryRun (\ s a -> s{_daDryRun = a});++-- | [EC2-VPC] One or more allocation IDs. -- -- Default: Describes all your Elastic IP addresses.-daPublicIps :: Lens' DescribeAddresses [Text]-daPublicIps = lens _daPublicIps (\s a -> s { _daPublicIps = a }) . _List--newtype DescribeAddressesResponse = DescribeAddressesResponse-    { _darAddresses :: List "item" Address-    } deriving (Eq, Read, Show, Monoid, Semigroup)+daAllocationIds :: Lens' DescribeAddresses [Text]+daAllocationIds = lens _daAllocationIds (\ s a -> s{_daAllocationIds = a}) . _Default . _Coerce; --- | 'DescribeAddressesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'darAddresses' @::@ ['Address']----describeAddressesResponse :: DescribeAddressesResponse-describeAddressesResponse = DescribeAddressesResponse-    { _darAddresses = mempty-    }+instance AWSRequest DescribeAddresses where+        type Sv DescribeAddresses = EC2+        type Rs DescribeAddresses = DescribeAddressesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeAddressesResponse' <$>+                   (x .@? "addressesSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more Elastic IP addresses.-darAddresses :: Lens' DescribeAddressesResponse [Address]-darAddresses = lens _darAddresses (\s a -> s { _darAddresses = a }) . _List+instance ToHeaders DescribeAddresses where+        toHeaders = const mempty  instance ToPath DescribeAddresses where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeAddresses where-    toQuery DescribeAddresses{..} = mconcat-        [ "AllocationId" `toQueryList` _daAllocationIds-        , "DryRun"       =? _daDryRun-        , "Filter"       `toQueryList` _daFilters-        , "PublicIp"     `toQueryList` _daPublicIps-        ]+        toQuery DescribeAddresses'{..}+          = mconcat+              ["Action" =: ("DescribeAddresses" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "PublicIp" <$> _daPublicIPs),+               toQuery (toQueryList "Filter" <$> _daFilters),+               "DryRun" =: _daDryRun,+               toQuery+                 (toQueryList "AllocationId" <$> _daAllocationIds)] -instance ToHeaders DescribeAddresses+-- | /See:/ 'describeAddressesResponse' smart constructor.+data DescribeAddressesResponse = DescribeAddressesResponse'+    { _darsAddresses :: !(Maybe [Address])+    , _darsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeAddresses where-    type Sv DescribeAddresses = EC2-    type Rs DescribeAddresses = DescribeAddressesResponse+-- | Creates a value of 'DescribeAddressesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'darsAddresses'+--+-- * 'darsStatus'+describeAddressesResponse+    :: Int -- ^ 'darsStatus'+    -> DescribeAddressesResponse+describeAddressesResponse pStatus_ =+    DescribeAddressesResponse'+    { _darsAddresses = Nothing+    , _darsStatus = pStatus_+    } -    request  = post "DescribeAddresses"-    response = xmlResponse+-- | Information about one or more Elastic IP addresses.+darsAddresses :: Lens' DescribeAddressesResponse [Address]+darsAddresses = lens _darsAddresses (\ s a -> s{_darsAddresses = a}) . _Default . _Coerce; -instance FromXML DescribeAddressesResponse where-    parseXML x = DescribeAddressesResponse-        <$> x .@? "addressesSet" .!@ mempty+-- | The response status code.+darsStatus :: Lens' DescribeAddressesResponse Int+darsStatus = lens _darsStatus (\ s a -> s{_darsStatus = a});
gen/Network/AWS/EC2/DescribeAvailabilityZones.hs view
@@ -1,147 +1,165 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeAvailabilityZones--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of the Availability Zones that are available to you.--- The results include zones only for the region you're currently using. If--- there is an event impacting an Availability Zone, you can use this request to--- view the state and any provided message for that Availability Zone.+-- Describes one or more of the Availability Zones that are available to+-- you. The results include zones only for the region you\'re currently+-- using. If there is an event impacting an Availability Zone, you can use+-- this request to view the state and any provided message for that+-- Availability Zone. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html Regions and Availability Zones> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAvailabilityZones.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAvailabilityZones.html AWS API Reference> for DescribeAvailabilityZones. module Network.AWS.EC2.DescribeAvailabilityZones     (-    -- * Request-      DescribeAvailabilityZones-    -- ** Request constructor-    , describeAvailabilityZones-    -- ** Request lenses-    , dazDryRun-    , dazFilters+    -- * Creating a Request+      describeAvailabilityZones+    , DescribeAvailabilityZones+    -- * Request Lenses     , dazZoneNames+    , dazFilters+    , dazDryRun -    -- * Response-    , DescribeAvailabilityZonesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeAvailabilityZonesResponse-    -- ** Response lenses-    , dazrAvailabilityZones+    , DescribeAvailabilityZonesResponse+    -- * Response Lenses+    , dazrsAvailabilityZones+    , dazrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeAvailabilityZones = DescribeAvailabilityZones-    { _dazDryRun    :: Maybe Bool-    , _dazFilters   :: List "Filter" Filter-    , _dazZoneNames :: List "ZoneName" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeAvailabilityZones' smart constructor.+data DescribeAvailabilityZones = DescribeAvailabilityZones'+    { _dazZoneNames :: !(Maybe [Text])+    , _dazFilters   :: !(Maybe [Filter])+    , _dazDryRun    :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeAvailabilityZones' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeAvailabilityZones' with the minimum fields required to make a request. ----- * 'dazDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dazFilters' @::@ ['Filter']+-- * 'dazZoneNames' ----- * 'dazZoneNames' @::@ ['Text']+-- * 'dazFilters' ---describeAvailabilityZones :: DescribeAvailabilityZones-describeAvailabilityZones = DescribeAvailabilityZones-    { _dazDryRun    = Nothing-    , _dazZoneNames = mempty-    , _dazFilters   = mempty+-- * 'dazDryRun'+describeAvailabilityZones+    :: DescribeAvailabilityZones+describeAvailabilityZones =+    DescribeAvailabilityZones'+    { _dazZoneNames = Nothing+    , _dazFilters = Nothing+    , _dazDryRun = Nothing     } --- | 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'.-dazDryRun :: Lens' DescribeAvailabilityZones (Maybe Bool)-dazDryRun = lens _dazDryRun (\s a -> s { _dazDryRun = a })+-- | The names of one or more Availability Zones.+dazZoneNames :: Lens' DescribeAvailabilityZones [Text]+dazZoneNames = lens _dazZoneNames (\ s a -> s{_dazZoneNames = a}) . _Default . _Coerce;  -- | One or more filters. ----- 'message' - Information about the Availability Zone.------ 'region-name' - The name of the region for the Availability Zone (for--- example, 'us-east-1').+-- -   'message' - Information about the Availability Zone. ----- 'state' - The state of the Availability Zone ('available' | 'impaired' | 'unavailable').+-- -   'region-name' - The name of the region for the Availability Zone+--     (for example, 'us-east-1'). ----- 'zone-name' - The name of the Availability Zone (for example, 'us-east-1a').+-- -   'state' - The state of the Availability Zone ('available' |+--     'impaired' | 'unavailable'). --+-- -   'zone-name' - The name of the Availability Zone (for example,+--     'us-east-1a'). -- dazFilters :: Lens' DescribeAvailabilityZones [Filter]-dazFilters = lens _dazFilters (\s a -> s { _dazFilters = a }) . _List---- | The names of one or more Availability Zones.-dazZoneNames :: Lens' DescribeAvailabilityZones [Text]-dazZoneNames = lens _dazZoneNames (\s a -> s { _dazZoneNames = a }) . _List+dazFilters = lens _dazFilters (\ s a -> s{_dazFilters = a}) . _Default . _Coerce; -newtype DescribeAvailabilityZonesResponse = DescribeAvailabilityZonesResponse-    { _dazrAvailabilityZones :: List "item" AvailabilityZone-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+dazDryRun :: Lens' DescribeAvailabilityZones (Maybe Bool)+dazDryRun = lens _dazDryRun (\ s a -> s{_dazDryRun = a}); --- | 'DescribeAvailabilityZonesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dazrAvailabilityZones' @::@ ['AvailabilityZone']----describeAvailabilityZonesResponse :: DescribeAvailabilityZonesResponse-describeAvailabilityZonesResponse = DescribeAvailabilityZonesResponse-    { _dazrAvailabilityZones = mempty-    }+instance AWSRequest DescribeAvailabilityZones where+        type Sv DescribeAvailabilityZones = EC2+        type Rs DescribeAvailabilityZones =+             DescribeAvailabilityZonesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeAvailabilityZonesResponse' <$>+                   (x .@? "availabilityZoneInfo" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more Availability Zones.-dazrAvailabilityZones :: Lens' DescribeAvailabilityZonesResponse [AvailabilityZone]-dazrAvailabilityZones =-    lens _dazrAvailabilityZones (\s a -> s { _dazrAvailabilityZones = a })-        . _List+instance ToHeaders DescribeAvailabilityZones where+        toHeaders = const mempty  instance ToPath DescribeAvailabilityZones where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeAvailabilityZones where-    toQuery DescribeAvailabilityZones{..} = mconcat-        [ "DryRun"   =? _dazDryRun-        , "Filter"   `toQueryList` _dazFilters-        , "ZoneName" `toQueryList` _dazZoneNames-        ]+        toQuery DescribeAvailabilityZones'{..}+          = mconcat+              ["Action" =:+                 ("DescribeAvailabilityZones" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "ZoneName" <$> _dazZoneNames),+               toQuery (toQueryList "Filter" <$> _dazFilters),+               "DryRun" =: _dazDryRun] -instance ToHeaders DescribeAvailabilityZones+-- | /See:/ 'describeAvailabilityZonesResponse' smart constructor.+data DescribeAvailabilityZonesResponse = DescribeAvailabilityZonesResponse'+    { _dazrsAvailabilityZones :: !(Maybe [AvailabilityZone])+    , _dazrsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeAvailabilityZones where-    type Sv DescribeAvailabilityZones = EC2-    type Rs DescribeAvailabilityZones = DescribeAvailabilityZonesResponse+-- | Creates a value of 'DescribeAvailabilityZonesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dazrsAvailabilityZones'+--+-- * 'dazrsStatus'+describeAvailabilityZonesResponse+    :: Int -- ^ 'dazrsStatus'+    -> DescribeAvailabilityZonesResponse+describeAvailabilityZonesResponse pStatus_ =+    DescribeAvailabilityZonesResponse'+    { _dazrsAvailabilityZones = Nothing+    , _dazrsStatus = pStatus_+    } -    request  = post "DescribeAvailabilityZones"-    response = xmlResponse+-- | Information about one or more Availability Zones.+dazrsAvailabilityZones :: Lens' DescribeAvailabilityZonesResponse [AvailabilityZone]+dazrsAvailabilityZones = lens _dazrsAvailabilityZones (\ s a -> s{_dazrsAvailabilityZones = a}) . _Default . _Coerce; -instance FromXML DescribeAvailabilityZonesResponse where-    parseXML x = DescribeAvailabilityZonesResponse-        <$> x .@? "availabilityZoneInfo" .!@ mempty+-- | The response status code.+dazrsStatus :: Lens' DescribeAvailabilityZonesResponse Int+dazrsStatus = lens _dazrsStatus (\ s a -> s{_dazrsStatus = a});
gen/Network/AWS/EC2/DescribeBundleTasks.hs view
@@ -1,161 +1,175 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeBundleTasks--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your bundling tasks.------ Completed bundle tasks are listed for only a limited time. If your 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.+-- Describes one or more of your bundling tasks. --+-- Completed bundle tasks are listed for only a limited time. If your+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeBundleTasks.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeBundleTasks.html AWS API Reference> for DescribeBundleTasks. module Network.AWS.EC2.DescribeBundleTasks     (-    -- * Request-      DescribeBundleTasks-    -- ** Request constructor-    , describeBundleTasks-    -- ** Request lenses+    -- * Creating a Request+      describeBundleTasks+    , DescribeBundleTasks+    -- * Request Lenses     , dbtBundleIds-    , dbtDryRun     , dbtFilters+    , dbtDryRun -    -- * Response-    , DescribeBundleTasksResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeBundleTasksResponse-    -- ** Response lenses-    , dbtrBundleTasks+    , DescribeBundleTasksResponse+    -- * Response Lenses+    , dbtrsBundleTasks+    , dbtrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeBundleTasks = DescribeBundleTasks-    { _dbtBundleIds :: List "BundleId" Text-    , _dbtDryRun    :: Maybe Bool-    , _dbtFilters   :: List "Filter" Filter-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeBundleTasks' smart constructor.+data DescribeBundleTasks = DescribeBundleTasks'+    { _dbtBundleIds :: !(Maybe [Text])+    , _dbtFilters   :: !(Maybe [Filter])+    , _dbtDryRun    :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeBundleTasks' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeBundleTasks' with the minimum fields required to make a request. ----- * 'dbtBundleIds' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dbtDryRun' @::@ 'Maybe' 'Bool'+-- * 'dbtBundleIds' ----- * 'dbtFilters' @::@ ['Filter']+-- * 'dbtFilters' ---describeBundleTasks :: DescribeBundleTasks-describeBundleTasks = DescribeBundleTasks-    { _dbtDryRun    = Nothing-    , _dbtBundleIds = mempty-    , _dbtFilters   = mempty+-- * 'dbtDryRun'+describeBundleTasks+    :: DescribeBundleTasks+describeBundleTasks =+    DescribeBundleTasks'+    { _dbtBundleIds = Nothing+    , _dbtFilters = Nothing+    , _dbtDryRun = Nothing     }  -- | One or more bundle task IDs. -- -- Default: Describes all your bundle tasks. dbtBundleIds :: Lens' DescribeBundleTasks [Text]-dbtBundleIds = lens _dbtBundleIds (\s a -> s { _dbtBundleIds = a }) . _List---- | 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'.-dbtDryRun :: Lens' DescribeBundleTasks (Maybe Bool)-dbtDryRun = lens _dbtDryRun (\s a -> s { _dbtDryRun = a })+dbtBundleIds = lens _dbtBundleIds (\ s a -> s{_dbtBundleIds = a}) . _Default . _Coerce;  -- | One or more filters. ----- 'bundle-id' - The ID of the bundle task.------ 'error-code' - If the task failed, the error code returned.+-- -   'bundle-id' - The ID of the bundle task. ----- 'error-message' - If the task failed, the error message returned.+-- -   'error-code' - If the task failed, the error code returned. ----- 'instance-id' - The ID of the instance.+-- -   'error-message' - If the task failed, the error message returned. ----- 'progress' - The level of task completion, as a percentage (for example,--- 20%).+-- -   'instance-id' - The ID of the instance. ----- 's3-bucket' - The Amazon S3 bucket to store the AMI.+-- -   'progress' - The level of task completion, as a percentage (for+--     example, 20%). ----- 's3-prefix' - The beginning of the AMI name.+-- -   's3-bucket' - The Amazon S3 bucket to store the AMI. ----- 'start-time' - The time the task started (for example,--- 2013-09-15T17:15:20.000Z).+-- -   's3-prefix' - The beginning of the AMI name. ----- 'state' - The state of the task ('pending' | 'waiting-for-shutdown' | 'bundling' | 'storing' | 'cancelling' | 'complete' | 'failed').+-- -   'start-time' - The time the task started (for example,+--     2013-09-15T17:15:20.000Z). ----- 'update-time' - The time of the most recent update for the task.+-- -   'state' - The state of the task ('pending' | 'waiting-for-shutdown'+--     | 'bundling' | 'storing' | 'cancelling' | 'complete' | 'failed'). --+-- -   'update-time' - The time of the most recent update for the task. -- dbtFilters :: Lens' DescribeBundleTasks [Filter]-dbtFilters = lens _dbtFilters (\s a -> s { _dbtFilters = a }) . _List+dbtFilters = lens _dbtFilters (\ s a -> s{_dbtFilters = a}) . _Default . _Coerce; -newtype DescribeBundleTasksResponse = DescribeBundleTasksResponse-    { _dbtrBundleTasks :: List "item" BundleTask-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+dbtDryRun :: Lens' DescribeBundleTasks (Maybe Bool)+dbtDryRun = lens _dbtDryRun (\ s a -> s{_dbtDryRun = a}); --- | 'DescribeBundleTasksResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dbtrBundleTasks' @::@ ['BundleTask']----describeBundleTasksResponse :: DescribeBundleTasksResponse-describeBundleTasksResponse = DescribeBundleTasksResponse-    { _dbtrBundleTasks = mempty-    }+instance AWSRequest DescribeBundleTasks where+        type Sv DescribeBundleTasks = EC2+        type Rs DescribeBundleTasks =+             DescribeBundleTasksResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeBundleTasksResponse' <$>+                   (x .@? "bundleInstanceTasksSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more bundle tasks.-dbtrBundleTasks :: Lens' DescribeBundleTasksResponse [BundleTask]-dbtrBundleTasks = lens _dbtrBundleTasks (\s a -> s { _dbtrBundleTasks = a }) . _List+instance ToHeaders DescribeBundleTasks where+        toHeaders = const mempty  instance ToPath DescribeBundleTasks where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeBundleTasks where-    toQuery DescribeBundleTasks{..} = mconcat-        [ "BundleId" `toQueryList` _dbtBundleIds-        , "DryRun"   =? _dbtDryRun-        , "Filter"   `toQueryList` _dbtFilters-        ]+        toQuery DescribeBundleTasks'{..}+          = mconcat+              ["Action" =: ("DescribeBundleTasks" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "BundleId" <$> _dbtBundleIds),+               toQuery (toQueryList "Filter" <$> _dbtFilters),+               "DryRun" =: _dbtDryRun] -instance ToHeaders DescribeBundleTasks+-- | /See:/ 'describeBundleTasksResponse' smart constructor.+data DescribeBundleTasksResponse = DescribeBundleTasksResponse'+    { _dbtrsBundleTasks :: !(Maybe [BundleTask])+    , _dbtrsStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeBundleTasks where-    type Sv DescribeBundleTasks = EC2-    type Rs DescribeBundleTasks = DescribeBundleTasksResponse+-- | Creates a value of 'DescribeBundleTasksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbtrsBundleTasks'+--+-- * 'dbtrsStatus'+describeBundleTasksResponse+    :: Int -- ^ 'dbtrsStatus'+    -> DescribeBundleTasksResponse+describeBundleTasksResponse pStatus_ =+    DescribeBundleTasksResponse'+    { _dbtrsBundleTasks = Nothing+    , _dbtrsStatus = pStatus_+    } -    request  = post "DescribeBundleTasks"-    response = xmlResponse+-- | Information about one or more bundle tasks.+dbtrsBundleTasks :: Lens' DescribeBundleTasksResponse [BundleTask]+dbtrsBundleTasks = lens _dbtrsBundleTasks (\ s a -> s{_dbtrsBundleTasks = a}) . _Default . _Coerce; -instance FromXML DescribeBundleTasksResponse where-    parseXML x = DescribeBundleTasksResponse-        <$> x .@? "bundleInstanceTasksSet" .!@ mempty+-- | The response status code.+dbtrsStatus :: Lens' DescribeBundleTasksResponse Int+dbtrsStatus = lens _dbtrsStatus (\ s a -> s{_dbtrsStatus = a});
gen/Network/AWS/EC2/DescribeClassicLinkInstances.hs view
@@ -1,193 +1,212 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeClassicLinkInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your linked EC2-Classic instances. This request only--- returns information about EC2-Classic instances linked to a VPC through--- ClassicLink; you cannot use this request to return information about other--- instances.+-- Describes one or more of your linked EC2-Classic instances. This request+-- only returns information about EC2-Classic instances linked to a VPC+-- through ClassicLink; you cannot use this request to return information+-- about other instances. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeClassicLinkInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeClassicLinkInstances.html AWS API Reference> for DescribeClassicLinkInstances. module Network.AWS.EC2.DescribeClassicLinkInstances     (-    -- * Request-      DescribeClassicLinkInstances-    -- ** Request constructor-    , describeClassicLinkInstances-    -- ** Request lenses-    , dcliDryRun+    -- * Creating a Request+      describeClassicLinkInstances+    , DescribeClassicLinkInstances+    -- * Request Lenses     , dcliFilters+    , dcliNextToken     , dcliInstanceIds+    , dcliDryRun     , dcliMaxResults-    , dcliNextToken -    -- * Response-    , DescribeClassicLinkInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeClassicLinkInstancesResponse-    -- ** Response lenses-    , dclirInstances-    , dclirNextToken+    , DescribeClassicLinkInstancesResponse+    -- * Response Lenses+    , dclirsNextToken+    , dclirsInstances+    , dclirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeClassicLinkInstances = DescribeClassicLinkInstances-    { _dcliDryRun      :: Maybe Bool-    , _dcliFilters     :: List "Filter" Filter-    , _dcliInstanceIds :: List "InstanceId" Text-    , _dcliMaxResults  :: Maybe Int-    , _dcliNextToken   :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeClassicLinkInstances' smart constructor.+data DescribeClassicLinkInstances = DescribeClassicLinkInstances'+    { _dcliFilters     :: !(Maybe [Filter])+    , _dcliNextToken   :: !(Maybe Text)+    , _dcliInstanceIds :: !(Maybe [Text])+    , _dcliDryRun      :: !(Maybe Bool)+    , _dcliMaxResults  :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeClassicLinkInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeClassicLinkInstances' with the minimum fields required to make a request. ----- * 'dcliDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcliFilters' @::@ ['Filter']+-- * 'dcliFilters' ----- * 'dcliInstanceIds' @::@ ['Text']+-- * 'dcliNextToken' ----- * 'dcliMaxResults' @::@ 'Maybe' 'Int'+-- * 'dcliInstanceIds' ----- * 'dcliNextToken' @::@ 'Maybe' 'Text'+-- * 'dcliDryRun' ---describeClassicLinkInstances :: DescribeClassicLinkInstances-describeClassicLinkInstances = DescribeClassicLinkInstances-    { _dcliDryRun      = Nothing-    , _dcliInstanceIds = mempty-    , _dcliFilters     = mempty-    , _dcliNextToken   = Nothing-    , _dcliMaxResults  = Nothing+-- * 'dcliMaxResults'+describeClassicLinkInstances+    :: DescribeClassicLinkInstances+describeClassicLinkInstances =+    DescribeClassicLinkInstances'+    { _dcliFilters = Nothing+    , _dcliNextToken = Nothing+    , _dcliInstanceIds = Nothing+    , _dcliDryRun = Nothing+    , _dcliMaxResults = Nothing     } --- | 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'.-dcliDryRun :: Lens' DescribeClassicLinkInstances (Maybe Bool)-dcliDryRun = lens _dcliDryRun (\s a -> s { _dcliDryRun = a })- -- | One or more filters. ----- 'group-id' - The ID of a VPC security group that's associated with the--- instance.------ 'instance-id' - The ID of the instance.+-- -   'group-id' - The ID of a VPC security group that\'s associated with+--     the instance. ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.+-- -   'instance-id' - The ID of the instance. ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter. ----- 'vpc-id' - The ID of the VPC that the instance is linked to.+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter. --+-- -   'vpc-id' - The ID of the VPC that the instance is linked to. -- dcliFilters :: Lens' DescribeClassicLinkInstances [Filter]-dcliFilters = lens _dcliFilters (\s a -> s { _dcliFilters = a }) . _List+dcliFilters = lens _dcliFilters (\ s a -> s{_dcliFilters = a}) . _Default . _Coerce; +-- | The token to retrieve the next page of results.+dcliNextToken :: Lens' DescribeClassicLinkInstances (Maybe Text)+dcliNextToken = lens _dcliNextToken (\ s a -> s{_dcliNextToken = a});+ -- | One or more instance IDs. Must be instances linked to a VPC through -- ClassicLink. dcliInstanceIds :: Lens' DescribeClassicLinkInstances [Text]-dcliInstanceIds = lens _dcliInstanceIds (\s a -> s { _dcliInstanceIds = a }) . _List+dcliInstanceIds = lens _dcliInstanceIds (\ s a -> s{_dcliInstanceIds = a}) . _Default . _Coerce; --- | The maximum number of results to return for the request in a single page. The--- remaining results of the initial request can be seen by sending another--- request with the returned 'NextToken' value. This value can be between 5 and--- 1000; if 'MaxResults' is given a value larger than 1000, only 1000 results are--- returned. You cannot specify this parameter and the instance IDs parameter in--- the same request.+-- | 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'.+dcliDryRun :: Lens' DescribeClassicLinkInstances (Maybe Bool)+dcliDryRun = lens _dcliDryRun (\ s a -> s{_dcliDryRun = a});++-- | The maximum number of results to return for the request in a single+-- page. The remaining results of the initial request can be seen by+-- sending another request with the returned 'NextToken' value. This value+-- can be between 5 and 1000; if 'MaxResults' is given a value larger than+-- 1000, only 1000 results are returned. You cannot specify this parameter+-- and the instance IDs parameter in the same request. ----- Constraint: If the value is greater than 1000, we return only 1000 items.+-- Constraint: If the value is greater than 1000, we return only 1000+-- items. dcliMaxResults :: Lens' DescribeClassicLinkInstances (Maybe Int)-dcliMaxResults = lens _dcliMaxResults (\s a -> s { _dcliMaxResults = a })+dcliMaxResults = lens _dcliMaxResults (\ s a -> s{_dcliMaxResults = a}); --- | The token to retrieve the next page of results.-dcliNextToken :: Lens' DescribeClassicLinkInstances (Maybe Text)-dcliNextToken = lens _dcliNextToken (\s a -> s { _dcliNextToken = a })+instance AWSRequest DescribeClassicLinkInstances+         where+        type Sv DescribeClassicLinkInstances = EC2+        type Rs DescribeClassicLinkInstances =+             DescribeClassicLinkInstancesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeClassicLinkInstancesResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "instancesSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) -data DescribeClassicLinkInstancesResponse = DescribeClassicLinkInstancesResponse-    { _dclirInstances :: List "item" ClassicLinkInstance-    , _dclirNextToken :: Maybe Text-    } deriving (Eq, Read, Show)+instance ToHeaders DescribeClassicLinkInstances where+        toHeaders = const mempty --- | 'DescribeClassicLinkInstancesResponse' constructor.+instance ToPath DescribeClassicLinkInstances where+        toPath = const "/"++instance ToQuery DescribeClassicLinkInstances where+        toQuery DescribeClassicLinkInstances'{..}+          = mconcat+              ["Action" =:+                 ("DescribeClassicLinkInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dcliFilters),+               "NextToken" =: _dcliNextToken,+               toQuery+                 (toQueryList "InstanceId" <$> _dcliInstanceIds),+               "DryRun" =: _dcliDryRun,+               "MaxResults" =: _dcliMaxResults]++-- | /See:/ 'describeClassicLinkInstancesResponse' smart constructor.+data DescribeClassicLinkInstancesResponse = DescribeClassicLinkInstancesResponse'+    { _dclirsNextToken :: !(Maybe Text)+    , _dclirsInstances :: !(Maybe [ClassicLinkInstance])+    , _dclirsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeClassicLinkInstancesResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dclirInstances' @::@ ['ClassicLinkInstance']+-- * 'dclirsNextToken' ----- * 'dclirNextToken' @::@ 'Maybe' 'Text'+-- * 'dclirsInstances' ---describeClassicLinkInstancesResponse :: DescribeClassicLinkInstancesResponse-describeClassicLinkInstancesResponse = DescribeClassicLinkInstancesResponse-    { _dclirInstances = mempty-    , _dclirNextToken = Nothing+-- * 'dclirsStatus'+describeClassicLinkInstancesResponse+    :: Int -- ^ 'dclirsStatus'+    -> DescribeClassicLinkInstancesResponse+describeClassicLinkInstancesResponse pStatus_ =+    DescribeClassicLinkInstancesResponse'+    { _dclirsNextToken = Nothing+    , _dclirsInstances = Nothing+    , _dclirsStatus = pStatus_     } --- | Information about one or more linked EC2-Classic instances.-dclirInstances :: Lens' DescribeClassicLinkInstancesResponse [ClassicLinkInstance]-dclirInstances = lens _dclirInstances (\s a -> s { _dclirInstances = a }) . _List---- | The token to use to retrieve the next page of results. This value is 'null'--- when there are no more results to return.-dclirNextToken :: Lens' DescribeClassicLinkInstancesResponse (Maybe Text)-dclirNextToken = lens _dclirNextToken (\s a -> s { _dclirNextToken = a })--instance ToPath DescribeClassicLinkInstances where-    toPath = const "/"--instance ToQuery DescribeClassicLinkInstances where-    toQuery DescribeClassicLinkInstances{..} = mconcat-        [ "DryRun"     =? _dcliDryRun-        , "Filter"     `toQueryList` _dcliFilters-        , "InstanceId" `toQueryList` _dcliInstanceIds-        , "MaxResults" =? _dcliMaxResults-        , "NextToken"  =? _dcliNextToken-        ]--instance ToHeaders DescribeClassicLinkInstances--instance AWSRequest DescribeClassicLinkInstances where-    type Sv DescribeClassicLinkInstances = EC2-    type Rs DescribeClassicLinkInstances = DescribeClassicLinkInstancesResponse+-- | The token to use to retrieve the next page of results. This value is+-- 'null' when there are no more results to return.+dclirsNextToken :: Lens' DescribeClassicLinkInstancesResponse (Maybe Text)+dclirsNextToken = lens _dclirsNextToken (\ s a -> s{_dclirsNextToken = a}); -    request  = post "DescribeClassicLinkInstances"-    response = xmlResponse+-- | Information about one or more linked EC2-Classic instances.+dclirsInstances :: Lens' DescribeClassicLinkInstancesResponse [ClassicLinkInstance]+dclirsInstances = lens _dclirsInstances (\ s a -> s{_dclirsInstances = a}) . _Default . _Coerce; -instance FromXML DescribeClassicLinkInstancesResponse where-    parseXML x = DescribeClassicLinkInstancesResponse-        <$> x .@? "instancesSet" .!@ mempty-        <*> x .@? "nextToken"+-- | The response status code.+dclirsStatus :: Lens' DescribeClassicLinkInstancesResponse Int+dclirsStatus = lens _dclirsStatus (\ s a -> s{_dclirsStatus = a});
gen/Network/AWS/EC2/DescribeConversionTasks.hs view
@@ -1,133 +1,149 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeConversionTasks--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your conversion tasks. 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/.+-- Describes one or more of your conversion tasks. 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeConversionTasks.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeConversionTasks.html AWS API Reference> for DescribeConversionTasks. module Network.AWS.EC2.DescribeConversionTasks     (-    -- * Request-      DescribeConversionTasks-    -- ** Request constructor-    , describeConversionTasks-    -- ** Request lenses+    -- * Creating a Request+      describeConversionTasks+    , DescribeConversionTasks+    -- * Request Lenses     , dctConversionTaskIds-    , dctDryRun     , dctFilters+    , dctDryRun -    -- * Response-    , DescribeConversionTasksResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeConversionTasksResponse-    -- ** Response lenses-    , dctrConversionTasks+    , DescribeConversionTasksResponse+    -- * Response Lenses+    , dctrsConversionTasks+    , dctrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeConversionTasks = DescribeConversionTasks-    { _dctConversionTaskIds :: List "item" Text-    , _dctDryRun            :: Maybe Bool-    , _dctFilters           :: List "Filter" Filter-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeConversionTasks' smart constructor.+data DescribeConversionTasks = DescribeConversionTasks'+    { _dctConversionTaskIds :: !(Maybe [Text])+    , _dctFilters           :: !(Maybe [Filter])+    , _dctDryRun            :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeConversionTasks' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeConversionTasks' with the minimum fields required to make a request. ----- * 'dctConversionTaskIds' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dctDryRun' @::@ 'Maybe' 'Bool'+-- * 'dctConversionTaskIds' ----- * 'dctFilters' @::@ ['Filter']+-- * 'dctFilters' ---describeConversionTasks :: DescribeConversionTasks-describeConversionTasks = DescribeConversionTasks-    { _dctDryRun            = Nothing-    , _dctFilters           = mempty-    , _dctConversionTaskIds = mempty+-- * 'dctDryRun'+describeConversionTasks+    :: DescribeConversionTasks+describeConversionTasks =+    DescribeConversionTasks'+    { _dctConversionTaskIds = Nothing+    , _dctFilters = Nothing+    , _dctDryRun = Nothing     }  -- | One or more conversion task IDs. dctConversionTaskIds :: Lens' DescribeConversionTasks [Text]-dctConversionTaskIds =-    lens _dctConversionTaskIds (\s a -> s { _dctConversionTaskIds = a })-        . _List---- | 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'.-dctDryRun :: Lens' DescribeConversionTasks (Maybe Bool)-dctDryRun = lens _dctDryRun (\s a -> s { _dctDryRun = a })+dctConversionTaskIds = lens _dctConversionTaskIds (\ s a -> s{_dctConversionTaskIds = a}) . _Default . _Coerce;  -- | One or more filters. dctFilters :: Lens' DescribeConversionTasks [Filter]-dctFilters = lens _dctFilters (\s a -> s { _dctFilters = a }) . _List+dctFilters = lens _dctFilters (\ s a -> s{_dctFilters = a}) . _Default . _Coerce; -newtype DescribeConversionTasksResponse = DescribeConversionTasksResponse-    { _dctrConversionTasks :: List "item" ConversionTask-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+dctDryRun :: Lens' DescribeConversionTasks (Maybe Bool)+dctDryRun = lens _dctDryRun (\ s a -> s{_dctDryRun = a}); --- | 'DescribeConversionTasksResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dctrConversionTasks' @::@ ['ConversionTask']----describeConversionTasksResponse :: DescribeConversionTasksResponse-describeConversionTasksResponse = DescribeConversionTasksResponse-    { _dctrConversionTasks = mempty-    }+instance AWSRequest DescribeConversionTasks where+        type Sv DescribeConversionTasks = EC2+        type Rs DescribeConversionTasks =+             DescribeConversionTasksResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeConversionTasksResponse' <$>+                   (x .@? "conversionTasks" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about the conversion tasks.-dctrConversionTasks :: Lens' DescribeConversionTasksResponse [ConversionTask]-dctrConversionTasks =-    lens _dctrConversionTasks (\s a -> s { _dctrConversionTasks = a })-        . _List+instance ToHeaders DescribeConversionTasks where+        toHeaders = const mempty  instance ToPath DescribeConversionTasks where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeConversionTasks where-    toQuery DescribeConversionTasks{..} = mconcat-        [ "ConversionTaskId" `toQueryList` _dctConversionTaskIds-        , "DryRun"           =? _dctDryRun-        , "Filter"           `toQueryList` _dctFilters-        ]+        toQuery DescribeConversionTasks'{..}+          = mconcat+              ["Action" =:+                 ("DescribeConversionTasks" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "item" <$> _dctConversionTaskIds),+               toQuery (toQueryList "Filter" <$> _dctFilters),+               "DryRun" =: _dctDryRun] -instance ToHeaders DescribeConversionTasks+-- | /See:/ 'describeConversionTasksResponse' smart constructor.+data DescribeConversionTasksResponse = DescribeConversionTasksResponse'+    { _dctrsConversionTasks :: !(Maybe [ConversionTask])+    , _dctrsStatus          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeConversionTasks where-    type Sv DescribeConversionTasks = EC2-    type Rs DescribeConversionTasks = DescribeConversionTasksResponse+-- | Creates a value of 'DescribeConversionTasksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dctrsConversionTasks'+--+-- * 'dctrsStatus'+describeConversionTasksResponse+    :: Int -- ^ 'dctrsStatus'+    -> DescribeConversionTasksResponse+describeConversionTasksResponse pStatus_ =+    DescribeConversionTasksResponse'+    { _dctrsConversionTasks = Nothing+    , _dctrsStatus = pStatus_+    } -    request  = post "DescribeConversionTasks"-    response = xmlResponse+-- | Information about the conversion tasks.+dctrsConversionTasks :: Lens' DescribeConversionTasksResponse [ConversionTask]+dctrsConversionTasks = lens _dctrsConversionTasks (\ s a -> s{_dctrsConversionTasks = a}) . _Default . _Coerce; -instance FromXML DescribeConversionTasksResponse where-    parseXML x = DescribeConversionTasksResponse-        <$> x .@? "conversionTasks" .!@ mempty+-- | The response status code.+dctrsStatus :: Lens' DescribeConversionTasksResponse Int+dctrsStatus = lens _dctrsStatus (\ s a -> s{_dctrsStatus = a});
gen/Network/AWS/EC2/DescribeCustomerGateways.hs view
@@ -1,165 +1,182 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeCustomerGateways--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your VPN customer gateways.+-- Describes one or more of your VPN customer gateways. ----- For more information about VPN customer gateways, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a HardwareVirtual Private Gateway to Your VPC> in the /Amazon Virtual Private Cloud UserGuide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeCustomerGateways.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeCustomerGateways.html AWS API Reference> for DescribeCustomerGateways. module Network.AWS.EC2.DescribeCustomerGateways     (-    -- * Request-      DescribeCustomerGateways-    -- ** Request constructor-    , describeCustomerGateways-    -- ** Request lenses+    -- * Creating a Request+      describeCustomerGateways+    , DescribeCustomerGateways+    -- * Request Lenses     , dcgCustomerGatewayIds-    , dcgDryRun     , dcgFilters+    , dcgDryRun -    -- * Response-    , DescribeCustomerGatewaysResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeCustomerGatewaysResponse-    -- ** Response lenses-    , dcgrCustomerGateways+    , DescribeCustomerGatewaysResponse+    -- * Response Lenses+    , dcgrsCustomerGateways+    , dcgrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeCustomerGateways = DescribeCustomerGateways-    { _dcgCustomerGatewayIds :: List "CustomerGatewayId" Text-    , _dcgDryRun             :: Maybe Bool-    , _dcgFilters            :: List "Filter" Filter-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeCustomerGateways' smart constructor.+data DescribeCustomerGateways = DescribeCustomerGateways'+    { _dcgCustomerGatewayIds :: !(Maybe [Text])+    , _dcgFilters            :: !(Maybe [Filter])+    , _dcgDryRun             :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeCustomerGateways' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeCustomerGateways' with the minimum fields required to make a request. ----- * 'dcgCustomerGatewayIds' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcgDryRun' @::@ 'Maybe' 'Bool'+-- * 'dcgCustomerGatewayIds' ----- * 'dcgFilters' @::@ ['Filter']+-- * 'dcgFilters' ---describeCustomerGateways :: DescribeCustomerGateways-describeCustomerGateways = DescribeCustomerGateways-    { _dcgDryRun             = Nothing-    , _dcgCustomerGatewayIds = mempty-    , _dcgFilters            = mempty+-- * 'dcgDryRun'+describeCustomerGateways+    :: DescribeCustomerGateways+describeCustomerGateways =+    DescribeCustomerGateways'+    { _dcgCustomerGatewayIds = Nothing+    , _dcgFilters = Nothing+    , _dcgDryRun = Nothing     }  -- | One or more customer gateway IDs. -- -- Default: Describes all your customer gateways. dcgCustomerGatewayIds :: Lens' DescribeCustomerGateways [Text]-dcgCustomerGatewayIds =-    lens _dcgCustomerGatewayIds (\s a -> s { _dcgCustomerGatewayIds = a })-        . _List---- | 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'.-dcgDryRun :: Lens' DescribeCustomerGateways (Maybe Bool)-dcgDryRun = lens _dcgDryRun (\s a -> s { _dcgDryRun = a })+dcgCustomerGatewayIds = lens _dcgCustomerGatewayIds (\ s a -> s{_dcgCustomerGatewayIds = a}) . _Default . _Coerce;  -- | One or more filters. ----- 'bgp-asn' - The customer gateway's Border Gateway Protocol (BGP) Autonomous--- System Number (ASN).------ 'customer-gateway-id' - The ID of the customer gateway.+-- -   'bgp-asn' - The customer gateway\'s Border Gateway Protocol (BGP)+--     Autonomous System Number (ASN). ----- 'ip-address' - The IP address of the customer gateway's Internet-routable--- external interface.+-- -   'customer-gateway-id' - The ID of the customer gateway. ----- 'state' - The state of the customer gateway ('pending' | 'available' | 'deleting'--- | 'deleted').+-- -   'ip-address' - The IP address of the customer gateway\'s+--     Internet-routable external interface. ----- 'type' - The type of customer gateway. Currently, the only supported type is 'ipsec.1'.+-- -   'state' - The state of the customer gateway ('pending' | 'available'+--     | 'deleting' | 'deleted'). ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.+-- -   'type' - The type of customer gateway. Currently, the only supported+--     type is 'ipsec.1'. ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter. --+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter. -- dcgFilters :: Lens' DescribeCustomerGateways [Filter]-dcgFilters = lens _dcgFilters (\s a -> s { _dcgFilters = a }) . _List+dcgFilters = lens _dcgFilters (\ s a -> s{_dcgFilters = a}) . _Default . _Coerce; -newtype DescribeCustomerGatewaysResponse = DescribeCustomerGatewaysResponse-    { _dcgrCustomerGateways :: List "item" CustomerGateway-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+dcgDryRun :: Lens' DescribeCustomerGateways (Maybe Bool)+dcgDryRun = lens _dcgDryRun (\ s a -> s{_dcgDryRun = a}); --- | 'DescribeCustomerGatewaysResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcgrCustomerGateways' @::@ ['CustomerGateway']----describeCustomerGatewaysResponse :: DescribeCustomerGatewaysResponse-describeCustomerGatewaysResponse = DescribeCustomerGatewaysResponse-    { _dcgrCustomerGateways = mempty-    }+instance AWSRequest DescribeCustomerGateways where+        type Sv DescribeCustomerGateways = EC2+        type Rs DescribeCustomerGateways =+             DescribeCustomerGatewaysResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeCustomerGatewaysResponse' <$>+                   (x .@? "customerGatewaySet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more customer gateways.-dcgrCustomerGateways :: Lens' DescribeCustomerGatewaysResponse [CustomerGateway]-dcgrCustomerGateways =-    lens _dcgrCustomerGateways (\s a -> s { _dcgrCustomerGateways = a })-        . _List+instance ToHeaders DescribeCustomerGateways where+        toHeaders = const mempty  instance ToPath DescribeCustomerGateways where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeCustomerGateways where-    toQuery DescribeCustomerGateways{..} = mconcat-        [ "CustomerGatewayId" `toQueryList` _dcgCustomerGatewayIds-        , "DryRun"            =? _dcgDryRun-        , "Filter"            `toQueryList` _dcgFilters-        ]+        toQuery DescribeCustomerGateways'{..}+          = mconcat+              ["Action" =:+                 ("DescribeCustomerGateways" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "CustomerGatewayId" <$>+                    _dcgCustomerGatewayIds),+               toQuery (toQueryList "Filter" <$> _dcgFilters),+               "DryRun" =: _dcgDryRun] -instance ToHeaders DescribeCustomerGateways+-- | /See:/ 'describeCustomerGatewaysResponse' smart constructor.+data DescribeCustomerGatewaysResponse = DescribeCustomerGatewaysResponse'+    { _dcgrsCustomerGateways :: !(Maybe [CustomerGateway])+    , _dcgrsStatus           :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeCustomerGateways where-    type Sv DescribeCustomerGateways = EC2-    type Rs DescribeCustomerGateways = DescribeCustomerGatewaysResponse+-- | Creates a value of 'DescribeCustomerGatewaysResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcgrsCustomerGateways'+--+-- * 'dcgrsStatus'+describeCustomerGatewaysResponse+    :: Int -- ^ 'dcgrsStatus'+    -> DescribeCustomerGatewaysResponse+describeCustomerGatewaysResponse pStatus_ =+    DescribeCustomerGatewaysResponse'+    { _dcgrsCustomerGateways = Nothing+    , _dcgrsStatus = pStatus_+    } -    request  = post "DescribeCustomerGateways"-    response = xmlResponse+-- | Information about one or more customer gateways.+dcgrsCustomerGateways :: Lens' DescribeCustomerGatewaysResponse [CustomerGateway]+dcgrsCustomerGateways = lens _dcgrsCustomerGateways (\ s a -> s{_dcgrsCustomerGateways = a}) . _Default . _Coerce; -instance FromXML DescribeCustomerGatewaysResponse where-    parseXML x = DescribeCustomerGatewaysResponse-        <$> x .@? "customerGatewaySet" .!@ mempty+-- | The response status code.+dcgrsStatus :: Lens' DescribeCustomerGatewaysResponse Int+dcgrsStatus = lens _dcgrsStatus (\ s a -> s{_dcgrsStatus = a});
+ gen/Network/AWS/EC2/DescribeDHCPOptions.hs view
@@ -0,0 +1,172 @@+{-# 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.DescribeDHCPOptions+-- 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)+--+-- Describes one or more of your DHCP options sets.+--+-- 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+      describeDHCPOptions+    , DescribeDHCPOptions+    -- * Request Lenses+    , ddoFilters+    , ddoDHCPOptionsIds+    , ddoDryRun++    -- * Destructuring the Response+    , describeDHCPOptionsResponse+    , DescribeDHCPOptionsResponse+    -- * Response Lenses+    , ddorsDHCPOptions+    , ddorsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeDHCPOptions' smart constructor.+data DescribeDHCPOptions = DescribeDHCPOptions'+    { _ddoFilters        :: !(Maybe [Filter])+    , _ddoDHCPOptionsIds :: !(Maybe [Text])+    , _ddoDryRun         :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeDHCPOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddoFilters'+--+-- * 'ddoDHCPOptionsIds'+--+-- * 'ddoDryRun'+describeDHCPOptions+    :: DescribeDHCPOptions+describeDHCPOptions =+    DescribeDHCPOptions'+    { _ddoFilters = Nothing+    , _ddoDHCPOptionsIds = Nothing+    , _ddoDryRun = Nothing+    }++-- | One or more filters.+--+-- -   'dhcp-options-id' - The ID of a set of DHCP options.+--+-- -   'key' - The key for one of the options (for example, 'domain-name').+--+-- -   'value' - The value for one of the options.+--+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource.+--+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter.+--+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter.+--+ddoFilters :: Lens' DescribeDHCPOptions [Filter]+ddoFilters = lens _ddoFilters (\ s a -> s{_ddoFilters = a}) . _Default . _Coerce;++-- | The IDs of one or more DHCP options sets.+--+-- Default: Describes all your DHCP options sets.+ddoDHCPOptionsIds :: Lens' DescribeDHCPOptions [Text]+ddoDHCPOptionsIds = lens _ddoDHCPOptionsIds (\ s a -> s{_ddoDHCPOptionsIds = 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'.+ddoDryRun :: Lens' DescribeDHCPOptions (Maybe Bool)+ddoDryRun = lens _ddoDryRun (\ s a -> s{_ddoDryRun = a});++instance AWSRequest DescribeDHCPOptions where+        type Sv DescribeDHCPOptions = EC2+        type Rs DescribeDHCPOptions =+             DescribeDHCPOptionsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeDHCPOptionsResponse' <$>+                   (x .@? "dhcpOptionsSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeDHCPOptions where+        toHeaders = const mempty++instance ToPath DescribeDHCPOptions where+        toPath = const "/"++instance ToQuery DescribeDHCPOptions where+        toQuery DescribeDHCPOptions'{..}+          = mconcat+              ["Action" =: ("DescribeDhcpOptions" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _ddoFilters),+               toQuery+                 (toQueryList "DhcpOptionsId" <$> _ddoDHCPOptionsIds),+               "DryRun" =: _ddoDryRun]++-- | /See:/ 'describeDHCPOptionsResponse' smart constructor.+data DescribeDHCPOptionsResponse = DescribeDHCPOptionsResponse'+    { _ddorsDHCPOptions :: !(Maybe [DHCPOptions])+    , _ddorsStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeDHCPOptionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddorsDHCPOptions'+--+-- * 'ddorsStatus'+describeDHCPOptionsResponse+    :: Int -- ^ 'ddorsStatus'+    -> DescribeDHCPOptionsResponse+describeDHCPOptionsResponse pStatus_ =+    DescribeDHCPOptionsResponse'+    { _ddorsDHCPOptions = Nothing+    , _ddorsStatus = pStatus_+    }++-- | Information about one or more DHCP options sets.+ddorsDHCPOptions :: Lens' DescribeDHCPOptionsResponse [DHCPOptions]+ddorsDHCPOptions = lens _ddorsDHCPOptions (\ s a -> s{_ddorsDHCPOptions = a}) . _Default . _Coerce;++-- | The response status code.+ddorsStatus :: Lens' DescribeDHCPOptionsResponse Int+ddorsStatus = lens _ddorsStatus (\ s a -> s{_ddorsStatus = a});
− gen/Network/AWS/EC2/DescribeDhcpOptions.hs
@@ -1,156 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DescribeDhcpOptions--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your DHCP options sets.------ 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/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeDhcpOptions.html>-module Network.AWS.EC2.DescribeDhcpOptions-    (-    -- * Request-      DescribeDhcpOptions-    -- ** Request constructor-    , describeDhcpOptions-    -- ** Request lenses-    , ddoDhcpOptionsIds-    , ddoDryRun-    , ddoFilters--    -- * Response-    , DescribeDhcpOptionsResponse-    -- ** Response constructor-    , describeDhcpOptionsResponse-    -- ** Response lenses-    , ddorDhcpOptions-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeDhcpOptions = DescribeDhcpOptions-    { _ddoDhcpOptionsIds :: List "DhcpOptionsId" Text-    , _ddoDryRun         :: Maybe Bool-    , _ddoFilters        :: List "Filter" Filter-    } deriving (Eq, Read, Show)---- | 'DescribeDhcpOptions' constructor.------ The fields accessible through corresponding lenses are:------ * 'ddoDhcpOptionsIds' @::@ ['Text']------ * 'ddoDryRun' @::@ 'Maybe' 'Bool'------ * 'ddoFilters' @::@ ['Filter']----describeDhcpOptions :: DescribeDhcpOptions-describeDhcpOptions = DescribeDhcpOptions-    { _ddoDryRun         = Nothing-    , _ddoDhcpOptionsIds = mempty-    , _ddoFilters        = mempty-    }---- | The IDs of one or more DHCP options sets.------ Default: Describes all your DHCP options sets.-ddoDhcpOptionsIds :: Lens' DescribeDhcpOptions [Text]-ddoDhcpOptionsIds =-    lens _ddoDhcpOptionsIds (\s a -> s { _ddoDhcpOptionsIds = a })-        . _List---- | 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'.-ddoDryRun :: Lens' DescribeDhcpOptions (Maybe Bool)-ddoDryRun = lens _ddoDryRun (\s a -> s { _ddoDryRun = a })---- | One or more filters.------ 'dhcp-options-id' - The ID of a set of DHCP options.------ 'key' - The key for one of the options (for example, 'domain-name').------ 'value' - The value for one of the options.------ 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.------ 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.------ 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.-------ddoFilters :: Lens' DescribeDhcpOptions [Filter]-ddoFilters = lens _ddoFilters (\s a -> s { _ddoFilters = a }) . _List--newtype DescribeDhcpOptionsResponse = DescribeDhcpOptionsResponse-    { _ddorDhcpOptions :: List "item" DhcpOptions-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'DescribeDhcpOptionsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ddorDhcpOptions' @::@ ['DhcpOptions']----describeDhcpOptionsResponse :: DescribeDhcpOptionsResponse-describeDhcpOptionsResponse = DescribeDhcpOptionsResponse-    { _ddorDhcpOptions = mempty-    }---- | Information about one or more DHCP options sets.-ddorDhcpOptions :: Lens' DescribeDhcpOptionsResponse [DhcpOptions]-ddorDhcpOptions = lens _ddorDhcpOptions (\s a -> s { _ddorDhcpOptions = a }) . _List--instance ToPath DescribeDhcpOptions where-    toPath = const "/"--instance ToQuery DescribeDhcpOptions where-    toQuery DescribeDhcpOptions{..} = mconcat-        [ "DhcpOptionsId" `toQueryList` _ddoDhcpOptionsIds-        , "DryRun"        =? _ddoDryRun-        , "Filter"        `toQueryList` _ddoFilters-        ]--instance ToHeaders DescribeDhcpOptions--instance AWSRequest DescribeDhcpOptions where-    type Sv DescribeDhcpOptions = EC2-    type Rs DescribeDhcpOptions = DescribeDhcpOptionsResponse--    request  = post "DescribeDhcpOptions"-    response = xmlResponse--instance FromXML DescribeDhcpOptionsResponse where-    parseXML x = DescribeDhcpOptionsResponse-        <$> x .@? "dhcpOptionsSet" .!@ mempty
gen/Network/AWS/EC2/DescribeExportTasks.hs view
@@ -1,107 +1,122 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeExportTasks--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your export tasks.+-- Describes one or more of your export tasks. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeExportTasks.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeExportTasks.html AWS API Reference> for DescribeExportTasks. module Network.AWS.EC2.DescribeExportTasks     (-    -- * Request-      DescribeExportTasks-    -- ** Request constructor-    , describeExportTasks-    -- ** Request lenses+    -- * Creating a Request+      describeExportTasks+    , DescribeExportTasks+    -- * Request Lenses     , detExportTaskIds -    -- * Response-    , DescribeExportTasksResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeExportTasksResponse-    -- ** Response lenses-    , detrExportTasks+    , DescribeExportTasksResponse+    -- * Response Lenses+    , detrsExportTasks+    , detrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -newtype DescribeExportTasks = DescribeExportTasks-    { _detExportTaskIds :: List "ExportTaskId" Text-    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)+-- | /See:/ 'describeExportTasks' smart constructor.+newtype DescribeExportTasks = DescribeExportTasks'+    { _detExportTaskIds :: Maybe [Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeExportTasks' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeExportTasks' with the minimum fields required to make a request. ----- * 'detExportTaskIds' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ---describeExportTasks :: DescribeExportTasks-describeExportTasks = DescribeExportTasks-    { _detExportTaskIds = mempty+-- * 'detExportTaskIds'+describeExportTasks+    :: DescribeExportTasks+describeExportTasks =+    DescribeExportTasks'+    { _detExportTaskIds = Nothing     }  -- | One or more export task IDs. detExportTaskIds :: Lens' DescribeExportTasks [Text]-detExportTaskIds = lens _detExportTaskIds (\s a -> s { _detExportTaskIds = a }) . _List--newtype DescribeExportTasksResponse = DescribeExportTasksResponse-    { _detrExportTasks :: List "item" ExportTask-    } deriving (Eq, Read, Show, Monoid, Semigroup)+detExportTaskIds = lens _detExportTaskIds (\ s a -> s{_detExportTaskIds = a}) . _Default . _Coerce; --- | 'DescribeExportTasksResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'detrExportTasks' @::@ ['ExportTask']----describeExportTasksResponse :: DescribeExportTasksResponse-describeExportTasksResponse = DescribeExportTasksResponse-    { _detrExportTasks = mempty-    }+instance AWSRequest DescribeExportTasks where+        type Sv DescribeExportTasks = EC2+        type Rs DescribeExportTasks =+             DescribeExportTasksResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeExportTasksResponse' <$>+                   (x .@? "exportTaskSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about the export tasks.-detrExportTasks :: Lens' DescribeExportTasksResponse [ExportTask]-detrExportTasks = lens _detrExportTasks (\s a -> s { _detrExportTasks = a }) . _List+instance ToHeaders DescribeExportTasks where+        toHeaders = const mempty  instance ToPath DescribeExportTasks where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeExportTasks where-    toQuery DescribeExportTasks{..} = mconcat-        [ "ExportTaskId" `toQueryList` _detExportTaskIds-        ]+        toQuery DescribeExportTasks'{..}+          = mconcat+              ["Action" =: ("DescribeExportTasks" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "ExportTaskId" <$> _detExportTaskIds)] -instance ToHeaders DescribeExportTasks+-- | /See:/ 'describeExportTasksResponse' smart constructor.+data DescribeExportTasksResponse = DescribeExportTasksResponse'+    { _detrsExportTasks :: !(Maybe [ExportTask])+    , _detrsStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeExportTasks where-    type Sv DescribeExportTasks = EC2-    type Rs DescribeExportTasks = DescribeExportTasksResponse+-- | Creates a value of 'DescribeExportTasksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'detrsExportTasks'+--+-- * 'detrsStatus'+describeExportTasksResponse+    :: Int -- ^ 'detrsStatus'+    -> DescribeExportTasksResponse+describeExportTasksResponse pStatus_ =+    DescribeExportTasksResponse'+    { _detrsExportTasks = Nothing+    , _detrsStatus = pStatus_+    } -    request  = post "DescribeExportTasks"-    response = xmlResponse+-- | Information about the export tasks.+detrsExportTasks :: Lens' DescribeExportTasksResponse [ExportTask]+detrsExportTasks = lens _detrsExportTasks (\ s a -> s{_detrsExportTasks = a}) . _Default . _Coerce; -instance FromXML DescribeExportTasksResponse where-    parseXML x = DescribeExportTasksResponse-        <$> x .@? "exportTaskSet" .!@ mempty+-- | The response status code.+detrsStatus :: Lens' DescribeExportTasksResponse Int+detrsStatus = lens _detrsStatus (\ s a -> s{_detrsStatus = a});
+ gen/Network/AWS/EC2/DescribeFlowLogs.hs view
@@ -0,0 +1,180 @@+{-# 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.DescribeFlowLogs+-- 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)+--+-- 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+      describeFlowLogs+    , DescribeFlowLogs+    -- * Request Lenses+    , dNextToken+    , dFilter+    , dFlowLogIds+    , dMaxResults++    -- * Destructuring the Response+    , describeFlowLogsResponse+    , DescribeFlowLogsResponse+    -- * Response Lenses+    , dflsrsNextToken+    , dflsrsFlowLogs+    , dflsrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeFlowLogs' smart constructor.+data DescribeFlowLogs = DescribeFlowLogs'+    { _dNextToken  :: !(Maybe Text)+    , _dFilter     :: !(Maybe [Filter])+    , _dFlowLogIds :: !(Maybe [Text])+    , _dMaxResults :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFlowLogs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dNextToken'+--+-- * 'dFilter'+--+-- * 'dFlowLogIds'+--+-- * 'dMaxResults'+describeFlowLogs+    :: DescribeFlowLogs+describeFlowLogs =+    DescribeFlowLogs'+    { _dNextToken = Nothing+    , _dFilter = Nothing+    , _dFlowLogIds = Nothing+    , _dMaxResults = Nothing+    }++-- | The token to retrieve the next page of results.+dNextToken :: Lens' DescribeFlowLogs (Maybe Text)+dNextToken = lens _dNextToken (\ s a -> s{_dNextToken = a});++-- | One or more filters.+--+-- -   'deliver-log-status' - The status of the logs delivery ('SUCCESS' |+--     'FAILED').+--+-- -   'flow-log-id' - The ID of the flow log.+--+-- -   'log-group-name' - The name of the log group.+--+-- -   'resource-id' - The ID of the VPC, subnet, or network interface.+--+-- -   'traffic-type' - The type of traffic ('ACCEPT' | 'REJECT' | 'ALL')+--+dFilter :: Lens' DescribeFlowLogs [Filter]+dFilter = lens _dFilter (\ s a -> s{_dFilter = a}) . _Default . _Coerce;++-- | One or more flow log IDs.+dFlowLogIds :: Lens' DescribeFlowLogs [Text]+dFlowLogIds = lens _dFlowLogIds (\ s a -> s{_dFlowLogIds = a}) . _Default . _Coerce;++-- | The maximum number of results to return for the request in a single+-- page. The remaining results can be seen by sending another request with+-- the returned 'NextToken' value. This value can be between 5 and 1000; if+-- 'MaxResults' is given a value larger than 1000, only 1000 results are+-- returned. You cannot specify this parameter and the flow log IDs+-- parameter in the same request.+dMaxResults :: Lens' DescribeFlowLogs (Maybe Int)+dMaxResults = lens _dMaxResults (\ s a -> s{_dMaxResults = a});++instance AWSRequest DescribeFlowLogs where+        type Sv DescribeFlowLogs = EC2+        type Rs DescribeFlowLogs = DescribeFlowLogsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeFlowLogsResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "flowLogSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeFlowLogs where+        toHeaders = const mempty++instance ToPath DescribeFlowLogs where+        toPath = const "/"++instance ToQuery DescribeFlowLogs where+        toQuery DescribeFlowLogs'{..}+          = mconcat+              ["Action" =: ("DescribeFlowLogs" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "NextToken" =: _dNextToken,+               toQuery (toQueryList "Filter" <$> _dFilter),+               toQuery (toQueryList "item" <$> _dFlowLogIds),+               "MaxResults" =: _dMaxResults]++-- | /See:/ 'describeFlowLogsResponse' smart constructor.+data DescribeFlowLogsResponse = DescribeFlowLogsResponse'+    { _dflsrsNextToken :: !(Maybe Text)+    , _dflsrsFlowLogs  :: !(Maybe [FlowLog])+    , _dflsrsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFlowLogsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dflsrsNextToken'+--+-- * 'dflsrsFlowLogs'+--+-- * 'dflsrsStatus'+describeFlowLogsResponse+    :: Int -- ^ 'dflsrsStatus'+    -> DescribeFlowLogsResponse+describeFlowLogsResponse pStatus_ =+    DescribeFlowLogsResponse'+    { _dflsrsNextToken = Nothing+    , _dflsrsFlowLogs = Nothing+    , _dflsrsStatus = pStatus_+    }++-- | The token to use to retrieve the next page of results. This value is+-- 'null' when there are no more results to return.+dflsrsNextToken :: Lens' DescribeFlowLogsResponse (Maybe Text)+dflsrsNextToken = lens _dflsrsNextToken (\ s a -> s{_dflsrsNextToken = a});++-- | Information about the flow logs.+dflsrsFlowLogs :: Lens' DescribeFlowLogsResponse [FlowLog]+dflsrsFlowLogs = lens _dflsrsFlowLogs (\ s a -> s{_dflsrsFlowLogs = a}) . _Default . _Coerce;++-- | The response status code.+dflsrsStatus :: Lens' DescribeFlowLogsResponse Int+dflsrsStatus = lens _dflsrsStatus (\ s a -> s{_dflsrsStatus = a});
gen/Network/AWS/EC2/DescribeImageAttribute.hs view
@@ -1,210 +1,228 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeImageAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the specified attribute of the specified AMI. You can specify only--- one attribute at a time.+-- Describes the specified attribute of the specified AMI. You can specify+-- only one attribute at a time. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImageAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImageAttribute.html AWS API Reference> for DescribeImageAttribute. module Network.AWS.EC2.DescribeImageAttribute     (-    -- * Request-      DescribeImageAttribute-    -- ** Request constructor-    , describeImageAttribute-    -- ** Request lenses-    , dia1Attribute-    , dia1DryRun-    , dia1ImageId+    -- * Creating a Request+      describeImageAttribute+    , DescribeImageAttribute+    -- * Request Lenses+    , diaiDryRun+    , diaiImageId+    , diaiAttribute -    -- * Response-    , DescribeImageAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeImageAttributeResponse-    -- ** Response lenses-    , diarBlockDeviceMappings-    , diarDescription-    , diarImageId-    , diarKernelId-    , diarLaunchPermissions-    , diarProductCodes-    , diarRamdiskId-    , diarSriovNetSupport+    , DescribeImageAttributeResponse+    -- * Response Lenses+    , diarsLaunchPermissions+    , diarsRAMDiskId+    , diarsKernelId+    , diarsSRIOVNetSupport+    , diarsImageId+    , diarsProductCodes+    , diarsBlockDeviceMappings+    , diarsDescription+    , diarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeImageAttribute = DescribeImageAttribute-    { _dia1Attribute :: ImageAttributeName-    , _dia1DryRun    :: Maybe Bool-    , _dia1ImageId   :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeImageAttribute' smart constructor.+data DescribeImageAttribute = DescribeImageAttribute'+    { _diaiDryRun    :: !(Maybe Bool)+    , _diaiImageId   :: !Text+    , _diaiAttribute :: !ImageAttributeName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeImageAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeImageAttribute' with the minimum fields required to make a request. ----- * 'dia1Attribute' @::@ 'ImageAttributeName'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dia1DryRun' @::@ 'Maybe' 'Bool'+-- * 'diaiDryRun' ----- * 'dia1ImageId' @::@ 'Text'+-- * 'diaiImageId' ---describeImageAttribute :: Text -- ^ 'dia1ImageId'-                       -> ImageAttributeName -- ^ 'dia1Attribute'-                       -> DescribeImageAttribute-describeImageAttribute p1 p2 = DescribeImageAttribute-    { _dia1ImageId   = p1-    , _dia1Attribute = p2-    , _dia1DryRun    = Nothing+-- * 'diaiAttribute'+describeImageAttribute+    :: Text -- ^ 'diaiImageId'+    -> ImageAttributeName -- ^ 'diaiAttribute'+    -> DescribeImageAttribute+describeImageAttribute pImageId_ pAttribute_ =+    DescribeImageAttribute'+    { _diaiDryRun = Nothing+    , _diaiImageId = pImageId_+    , _diaiAttribute = pAttribute_     } +-- | 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'.+diaiDryRun :: Lens' DescribeImageAttribute (Maybe Bool)+diaiDryRun = lens _diaiDryRun (\ s a -> s{_diaiDryRun = a});++-- | The ID of the AMI.+diaiImageId :: Lens' DescribeImageAttribute Text+diaiImageId = lens _diaiImageId (\ s a -> s{_diaiImageId = a});+ -- | The AMI attribute. ----- 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.-dia1Attribute :: Lens' DescribeImageAttribute ImageAttributeName-dia1Attribute = lens _dia1Attribute (\s a -> s { _dia1Attribute = a })+-- __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.+diaiAttribute :: Lens' DescribeImageAttribute ImageAttributeName+diaiAttribute = lens _diaiAttribute (\ s a -> s{_diaiAttribute = 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'.-dia1DryRun :: Lens' DescribeImageAttribute (Maybe Bool)-dia1DryRun = lens _dia1DryRun (\s a -> s { _dia1DryRun = a })+instance AWSRequest DescribeImageAttribute where+        type Sv DescribeImageAttribute = EC2+        type Rs DescribeImageAttribute =+             DescribeImageAttributeResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeImageAttributeResponse' <$>+                   (x .@? "launchPermission" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (x .@? "ramdisk")+                     <*> (x .@? "kernel")+                     <*> (x .@? "sriovNetSupport")+                     <*> (x .@? "imageId")+                     <*>+                     (x .@? "productCodes" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*>+                     (x .@? "blockDeviceMapping" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (x .@? "description")+                     <*> (pure (fromEnum s))) --- | The ID of the AMI.-dia1ImageId :: Lens' DescribeImageAttribute Text-dia1ImageId = lens _dia1ImageId (\s a -> s { _dia1ImageId = a })+instance ToHeaders DescribeImageAttribute where+        toHeaders = const mempty -data DescribeImageAttributeResponse = DescribeImageAttributeResponse-    { _diarBlockDeviceMappings :: List "item" BlockDeviceMapping-    , _diarDescription         :: Maybe AttributeValue-    , _diarImageId             :: Maybe Text-    , _diarKernelId            :: Maybe AttributeValue-    , _diarLaunchPermissions   :: List "item" LaunchPermission-    , _diarProductCodes        :: List "item" ProductCode-    , _diarRamdiskId           :: Maybe AttributeValue-    , _diarSriovNetSupport     :: Maybe AttributeValue-    } deriving (Eq, Read, Show)+instance ToPath DescribeImageAttribute where+        toPath = const "/" --- | 'DescribeImageAttributeResponse' constructor.+instance ToQuery DescribeImageAttribute where+        toQuery DescribeImageAttribute'{..}+          = mconcat+              ["Action" =:+                 ("DescribeImageAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _diaiDryRun, "ImageId" =: _diaiImageId,+               "Attribute" =: _diaiAttribute]++-- | Describes an image attribute. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeImageAttributeResponse' smart constructor.+data DescribeImageAttributeResponse = DescribeImageAttributeResponse'+    { _diarsLaunchPermissions   :: !(Maybe [LaunchPermission])+    , _diarsRAMDiskId           :: !(Maybe AttributeValue)+    , _diarsKernelId            :: !(Maybe AttributeValue)+    , _diarsSRIOVNetSupport     :: !(Maybe AttributeValue)+    , _diarsImageId             :: !(Maybe Text)+    , _diarsProductCodes        :: !(Maybe [ProductCode])+    , _diarsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _diarsDescription         :: !(Maybe AttributeValue)+    , _diarsStatus              :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeImageAttributeResponse' with the minimum fields required to make a request. ----- * 'diarBlockDeviceMappings' @::@ ['BlockDeviceMapping']+-- Use one of the following lenses to modify other fields as desired: ----- * 'diarDescription' @::@ 'Maybe' 'AttributeValue'+-- * 'diarsLaunchPermissions' ----- * 'diarImageId' @::@ 'Maybe' 'Text'+-- * 'diarsRAMDiskId' ----- * 'diarKernelId' @::@ 'Maybe' 'AttributeValue'+-- * 'diarsKernelId' ----- * 'diarLaunchPermissions' @::@ ['LaunchPermission']+-- * 'diarsSRIOVNetSupport' ----- * 'diarProductCodes' @::@ ['ProductCode']+-- * 'diarsImageId' ----- * 'diarRamdiskId' @::@ 'Maybe' 'AttributeValue'+-- * 'diarsProductCodes' ----- * 'diarSriovNetSupport' @::@ 'Maybe' 'AttributeValue'+-- * 'diarsBlockDeviceMappings' ---describeImageAttributeResponse :: DescribeImageAttributeResponse-describeImageAttributeResponse = DescribeImageAttributeResponse-    { _diarImageId             = Nothing-    , _diarLaunchPermissions   = mempty-    , _diarProductCodes        = mempty-    , _diarKernelId            = Nothing-    , _diarRamdiskId           = Nothing-    , _diarDescription         = Nothing-    , _diarSriovNetSupport     = Nothing-    , _diarBlockDeviceMappings = mempty+-- * 'diarsDescription'+--+-- * 'diarsStatus'+describeImageAttributeResponse+    :: Int -- ^ 'diarsStatus'+    -> DescribeImageAttributeResponse+describeImageAttributeResponse pStatus_ =+    DescribeImageAttributeResponse'+    { _diarsLaunchPermissions = Nothing+    , _diarsRAMDiskId = Nothing+    , _diarsKernelId = Nothing+    , _diarsSRIOVNetSupport = Nothing+    , _diarsImageId = Nothing+    , _diarsProductCodes = Nothing+    , _diarsBlockDeviceMappings = Nothing+    , _diarsDescription = Nothing+    , _diarsStatus = pStatus_     } --- | One or more block device mapping entries.-diarBlockDeviceMappings :: Lens' DescribeImageAttributeResponse [BlockDeviceMapping]-diarBlockDeviceMappings =-    lens _diarBlockDeviceMappings (\s a -> s { _diarBlockDeviceMappings = a })-        . _List---- | A description for the AMI.-diarDescription :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)-diarDescription = lens _diarDescription (\s a -> s { _diarDescription = a })---- | The ID of the AMI.-diarImageId :: Lens' DescribeImageAttributeResponse (Maybe Text)-diarImageId = lens _diarImageId (\s a -> s { _diarImageId = a })---- | The kernel ID.-diarKernelId :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)-diarKernelId = lens _diarKernelId (\s a -> s { _diarKernelId = a })- -- | One or more launch permissions.-diarLaunchPermissions :: Lens' DescribeImageAttributeResponse [LaunchPermission]-diarLaunchPermissions =-    lens _diarLaunchPermissions (\s a -> s { _diarLaunchPermissions = a })-        . _List---- | One or more product codes.-diarProductCodes :: Lens' DescribeImageAttributeResponse [ProductCode]-diarProductCodes = lens _diarProductCodes (\s a -> s { _diarProductCodes = a }) . _List+diarsLaunchPermissions :: Lens' DescribeImageAttributeResponse [LaunchPermission]+diarsLaunchPermissions = lens _diarsLaunchPermissions (\ s a -> s{_diarsLaunchPermissions = a}) . _Default . _Coerce;  -- | The RAM disk ID.-diarRamdiskId :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)-diarRamdiskId = lens _diarRamdiskId (\s a -> s { _diarRamdiskId = a })+diarsRAMDiskId :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)+diarsRAMDiskId = lens _diarsRAMDiskId (\ s a -> s{_diarsRAMDiskId = a}); -diarSriovNetSupport :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)-diarSriovNetSupport =-    lens _diarSriovNetSupport (\s a -> s { _diarSriovNetSupport = a })+-- | The kernel ID.+diarsKernelId :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)+diarsKernelId = lens _diarsKernelId (\ s a -> s{_diarsKernelId = a}); -instance ToPath DescribeImageAttribute where-    toPath = const "/"+-- | Undocumented member.+diarsSRIOVNetSupport :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)+diarsSRIOVNetSupport = lens _diarsSRIOVNetSupport (\ s a -> s{_diarsSRIOVNetSupport = a}); -instance ToQuery DescribeImageAttribute where-    toQuery DescribeImageAttribute{..} = mconcat-        [ "Attribute" =? _dia1Attribute-        , "DryRun"    =? _dia1DryRun-        , "ImageId"   =? _dia1ImageId-        ]+-- | The ID of the AMI.+diarsImageId :: Lens' DescribeImageAttributeResponse (Maybe Text)+diarsImageId = lens _diarsImageId (\ s a -> s{_diarsImageId = a}); -instance ToHeaders DescribeImageAttribute+-- | One or more product codes.+diarsProductCodes :: Lens' DescribeImageAttributeResponse [ProductCode]+diarsProductCodes = lens _diarsProductCodes (\ s a -> s{_diarsProductCodes = a}) . _Default . _Coerce; -instance AWSRequest DescribeImageAttribute where-    type Sv DescribeImageAttribute = EC2-    type Rs DescribeImageAttribute = DescribeImageAttributeResponse+-- | One or more block device mapping entries.+diarsBlockDeviceMappings :: Lens' DescribeImageAttributeResponse [BlockDeviceMapping]+diarsBlockDeviceMappings = lens _diarsBlockDeviceMappings (\ s a -> s{_diarsBlockDeviceMappings = a}) . _Default . _Coerce; -    request  = post "DescribeImageAttribute"-    response = xmlResponse+-- | A description for the AMI.+diarsDescription :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue)+diarsDescription = lens _diarsDescription (\ s a -> s{_diarsDescription = a}); -instance FromXML DescribeImageAttributeResponse where-    parseXML x = DescribeImageAttributeResponse-        <$> x .@? "blockDeviceMapping" .!@ mempty-        <*> x .@? "description"-        <*> x .@? "imageId"-        <*> x .@? "kernel"-        <*> x .@? "launchPermission" .!@ mempty-        <*> x .@? "productCodes" .!@ mempty-        <*> x .@? "ramdisk"-        <*> x .@? "sriovNetSupport"+-- | The response status code.+diarsStatus :: Lens' DescribeImageAttributeResponse Int+diarsStatus = lens _diarsStatus (\ s a -> s{_diarsStatus = a});
gen/Network/AWS/EC2/DescribeImages.hs view
@@ -1,238 +1,258 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeImages--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.--- Images available to you include public images, private images that you own,--- and private images owned by other AWS accounts but for which you have--- explicit launch permissions.------ Deregistered images are included in the returned results for an unspecified--- interval after deregistration.+-- Describes one or more of the images (AMIs, AKIs, and ARIs) available to+-- you. Images available to you include public images, private images that+-- you own, and private images owned by other AWS accounts but for which+-- you have explicit launch permissions. --+-- Deregistered images are included in the returned results for an+-- unspecified interval after deregistration. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImages.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImages.html AWS API Reference> for DescribeImages. module Network.AWS.EC2.DescribeImages     (-    -- * Request-      DescribeImages-    -- ** Request constructor-    , describeImages-    -- ** Request lenses-    , di2DryRun-    , di2ExecutableUsers-    , di2Filters-    , di2ImageIds-    , di2Owners+    -- * Creating a Request+      describeImages+    , DescribeImages+    -- * Request Lenses+    , deseOwners+    , deseExecutableUsers+    , deseFilters+    , deseImageIds+    , deseDryRun -    -- * Response-    , DescribeImagesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeImagesResponse-    -- ** Response lenses-    , dirImages+    , DescribeImagesResponse+    -- * Response Lenses+    , desrsImages+    , desrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeImages = DescribeImages-    { _di2DryRun          :: Maybe Bool-    , _di2ExecutableUsers :: List "ExecutableBy" Text-    , _di2Filters         :: List "Filter" Filter-    , _di2ImageIds        :: List "ImageId" Text-    , _di2Owners          :: List "Owner" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeImages' smart constructor.+data DescribeImages = DescribeImages'+    { _deseOwners          :: !(Maybe [Text])+    , _deseExecutableUsers :: !(Maybe [Text])+    , _deseFilters         :: !(Maybe [Filter])+    , _deseImageIds        :: !(Maybe [Text])+    , _deseDryRun          :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeImages' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeImages' with the minimum fields required to make a request. ----- * 'di2DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'di2ExecutableUsers' @::@ ['Text']+-- * 'deseOwners' ----- * 'di2Filters' @::@ ['Filter']+-- * 'deseExecutableUsers' ----- * 'di2ImageIds' @::@ ['Text']+-- * 'deseFilters' ----- * 'di2Owners' @::@ ['Text']+-- * 'deseImageIds' ---describeImages :: DescribeImages-describeImages = DescribeImages-    { _di2DryRun          = Nothing-    , _di2ImageIds        = mempty-    , _di2Owners          = mempty-    , _di2ExecutableUsers = mempty-    , _di2Filters         = mempty+-- * 'deseDryRun'+describeImages+    :: DescribeImages+describeImages =+    DescribeImages'+    { _deseOwners = Nothing+    , _deseExecutableUsers = Nothing+    , _deseFilters = Nothing+    , _deseImageIds = Nothing+    , _deseDryRun = Nothing     } --- | 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'.-di2DryRun :: Lens' DescribeImages (Maybe Bool)-di2DryRun = lens _di2DryRun (\s a -> s { _di2DryRun = a })+-- | Filters the images by the owner. Specify an AWS account ID, 'amazon'+-- (owner is Amazon), 'aws-marketplace' (owner is AWS Marketplace), 'self'+-- (owner is the sender of the request). Omitting this option returns all+-- images for which you have launch permissions, regardless of ownership.+deseOwners :: Lens' DescribeImages [Text]+deseOwners = lens _deseOwners (\ s a -> s{_deseOwners = a}) . _Default . _Coerce; --- | Scopes the images by users with explicit launch permissions. Specify an AWS--- account ID, 'self' (the sender of the request), or 'all' (public AMIs).-di2ExecutableUsers :: Lens' DescribeImages [Text]-di2ExecutableUsers =-    lens _di2ExecutableUsers (\s a -> s { _di2ExecutableUsers = a })-        . _List+-- | Scopes the images by users with explicit launch permissions. Specify an+-- AWS account ID, 'self' (the sender of the request), or 'all' (public+-- AMIs).+deseExecutableUsers :: Lens' DescribeImages [Text]+deseExecutableUsers = lens _deseExecutableUsers (\ s a -> s{_deseExecutableUsers = a}) . _Default . _Coerce;  -- | One or more filters. ----- 'architecture' - The image architecture ('i386' | 'x86_64').------ 'block-device-mapping.delete-on-termination' - A Boolean value that--- indicates whether the Amazon EBS volume is deleted on instance termination.+-- -   'architecture' - The image architecture ('i386' | 'x86_64'). ----- 'block-device-mapping.device-name' - The device name for the EBS volume (for--- example, '/dev/sdh').+-- -   'block-device-mapping.delete-on-termination' - A Boolean value that+--     indicates whether the Amazon EBS volume is deleted on instance+--     termination. ----- 'block-device-mapping.snapshot-id' - The ID of the snapshot used for the EBS--- volume.+-- -   'block-device-mapping.device-name' - The device name for the EBS+--     volume (for example, '\/dev\/sdh'). ----- 'block-device-mapping.volume-size' - The volume size of the EBS volume, in--- GiB.+-- -   'block-device-mapping.snapshot-id' - The ID of the snapshot used for+--     the EBS volume. ----- 'block-device-mapping.volume-type' - The volume type of the EBS volume ('gp2'--- | 'standard' | 'io1').+-- -   'block-device-mapping.volume-size' - The volume size of the EBS+--     volume, in GiB. ----- 'description' - The description of the image (provided during image--- creation).+-- -   'block-device-mapping.volume-type' - The volume type of the EBS+--     volume ('gp2' | 'standard' | 'io1'). ----- 'hypervisor' - The hypervisor type ('ovm' | 'xen').+-- -   'description' - The description of the image (provided during image+--     creation). ----- 'image-id' - The ID of the image.+-- -   'hypervisor' - The hypervisor type ('ovm' | 'xen'). ----- 'image-type' - The image type ('machine' | 'kernel' | 'ramdisk').+-- -   'image-id' - The ID of the image. ----- 'is-public' - A Boolean that indicates whether the image is public.+-- -   'image-type' - The image type ('machine' | 'kernel' | 'ramdisk'). ----- 'kernel-id' - The kernel ID.+-- -   'is-public' - A Boolean that indicates whether the image is public. ----- 'manifest-location' - The location of the image manifest.+-- -   'kernel-id' - The kernel ID. ----- 'name' - The name of the AMI (provided during image creation).+-- -   'manifest-location' - The location of the image manifest. ----- 'owner-alias' - The AWS account alias (for example, 'amazon').+-- -   'name' - The name of the AMI (provided during image creation). ----- 'owner-id' - The AWS account ID of the image owner.+-- -   'owner-alias' - The AWS account alias (for example, 'amazon'). ----- 'platform' - The platform. To only list Windows-based AMIs, use 'windows'.+-- -   'owner-id' - The AWS account ID of the image owner. ----- 'product-code' - The product code.+-- -   'platform' - The platform. To only list Windows-based AMIs, use+--     'windows'. ----- 'product-code.type' - The type of the product code ('devpay' | 'marketplace').+-- -   'product-code' - The product code. ----- 'ramdisk-id' - The RAM disk ID.+-- -   'product-code.type' - The type of the product code ('devpay' |+--     'marketplace'). ----- 'root-device-name' - The name of the root device volume (for example, '/dev/sda1').+-- -   'ramdisk-id' - The RAM disk ID. ----- 'root-device-type' - The type of the root device volume ('ebs' | 'instance-store'--- ).+-- -   'root-device-name' - The name of the root device volume (for+--     example, '\/dev\/sda1'). ----- 'state' - The state of the image ('available' | 'pending' | 'failed').+-- -   'root-device-type' - The type of the root device volume ('ebs' |+--     'instance-store'). ----- 'state-reason-code' - The reason code for the state change.+-- -   'state' - The state of the image ('available' | 'pending' |+--     'failed'). ----- 'state-reason-message' - The message for the state change.+-- -   'state-reason-code' - The reason code for the state change. ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.+-- -   'state-reason-message' - The message for the state change. ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the tag-value filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the tag-value filter. For example, if you use both+--     the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you+--     get any resources assigned both the tag key Purpose (regardless of+--     what the tag\'s value is), and the tag value X (regardless of what+--     the tag\'s key is). If you want to list only resources where Purpose+--     is X, see the 'tag':/key/=/value/ filter. ----- 'virtualization-type' - The virtualization type ('paravirtual' | 'hvm').+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter. --+-- -   'virtualization-type' - The virtualization type ('paravirtual' |+--     'hvm'). ---di2Filters :: Lens' DescribeImages [Filter]-di2Filters = lens _di2Filters (\s a -> s { _di2Filters = a }) . _List+deseFilters :: Lens' DescribeImages [Filter]+deseFilters = lens _deseFilters (\ s a -> s{_deseFilters = a}) . _Default . _Coerce;  -- | One or more image IDs. -- -- Default: Describes all images available to you.-di2ImageIds :: Lens' DescribeImages [Text]-di2ImageIds = lens _di2ImageIds (\s a -> s { _di2ImageIds = a }) . _List---- | Filters the images by the owner. Specify an AWS account ID, 'amazon' (owner is--- Amazon), 'aws-marketplace' (owner is AWS Marketplace), 'self' (owner is the--- sender of the request). Omitting this option returns all images for which you--- have launch permissions, regardless of ownership.-di2Owners :: Lens' DescribeImages [Text]-di2Owners = lens _di2Owners (\s a -> s { _di2Owners = a }) . _List+deseImageIds :: Lens' DescribeImages [Text]+deseImageIds = lens _deseImageIds (\ s a -> s{_deseImageIds = a}) . _Default . _Coerce; -newtype DescribeImagesResponse = DescribeImagesResponse-    { _dirImages :: List "item" Image-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+deseDryRun :: Lens' DescribeImages (Maybe Bool)+deseDryRun = lens _deseDryRun (\ s a -> s{_deseDryRun = a}); --- | 'DescribeImagesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dirImages' @::@ ['Image']----describeImagesResponse :: DescribeImagesResponse-describeImagesResponse = DescribeImagesResponse-    { _dirImages = mempty-    }+instance AWSRequest DescribeImages where+        type Sv DescribeImages = EC2+        type Rs DescribeImages = DescribeImagesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeImagesResponse' <$>+                   (x .@? "imagesSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more images.-dirImages :: Lens' DescribeImagesResponse [Image]-dirImages = lens _dirImages (\s a -> s { _dirImages = a }) . _List+instance ToHeaders DescribeImages where+        toHeaders = const mempty  instance ToPath DescribeImages where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeImages where-    toQuery DescribeImages{..} = mconcat-        [ "DryRun"       =? _di2DryRun-        , "ExecutableBy" `toQueryList` _di2ExecutableUsers-        , "Filter"       `toQueryList` _di2Filters-        , "ImageId"      `toQueryList` _di2ImageIds-        , "Owner"        `toQueryList` _di2Owners-        ]+        toQuery DescribeImages'{..}+          = mconcat+              ["Action" =: ("DescribeImages" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Owner" <$> _deseOwners),+               toQuery+                 (toQueryList "ExecutableBy" <$>+                    _deseExecutableUsers),+               toQuery (toQueryList "Filter" <$> _deseFilters),+               toQuery (toQueryList "ImageId" <$> _deseImageIds),+               "DryRun" =: _deseDryRun] -instance ToHeaders DescribeImages+-- | /See:/ 'describeImagesResponse' smart constructor.+data DescribeImagesResponse = DescribeImagesResponse'+    { _desrsImages :: !(Maybe [Image])+    , _desrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeImages where-    type Sv DescribeImages = EC2-    type Rs DescribeImages = DescribeImagesResponse+-- | Creates a value of 'DescribeImagesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'desrsImages'+--+-- * 'desrsStatus'+describeImagesResponse+    :: Int -- ^ 'desrsStatus'+    -> DescribeImagesResponse+describeImagesResponse pStatus_ =+    DescribeImagesResponse'+    { _desrsImages = Nothing+    , _desrsStatus = pStatus_+    } -    request  = post "DescribeImages"-    response = xmlResponse+-- | Information about one or more images.+desrsImages :: Lens' DescribeImagesResponse [Image]+desrsImages = lens _desrsImages (\ s a -> s{_desrsImages = a}) . _Default . _Coerce; -instance FromXML DescribeImagesResponse where-    parseXML x = DescribeImagesResponse-        <$> x .@? "imagesSet" .!@ mempty+-- | The response status code.+desrsStatus :: Lens' DescribeImagesResponse Int+desrsStatus = lens _desrsStatus (\ s a -> s{_desrsStatus = a});
gen/Network/AWS/EC2/DescribeImportImageTasks.hs view
@@ -1,166 +1,179 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeImportImageTasks--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Displays details about an import virtual machine or import snapshot tasks--- that are already created.+-- Displays details about an import virtual machine or import snapshot+-- tasks that are already created. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImportImageTasks.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImportImageTasks.html AWS API Reference> for DescribeImportImageTasks. module Network.AWS.EC2.DescribeImportImageTasks     (-    -- * Request-      DescribeImportImageTasks-    -- ** Request constructor-    , describeImportImageTasks-    -- ** Request lenses-    , diitDryRun+    -- * Creating a Request+      describeImportImageTasks+    , DescribeImportImageTasks+    -- * Request Lenses     , diitFilters     , diitImportTaskIds-    , diitMaxResults     , diitNextToken+    , diitDryRun+    , diitMaxResults -    -- * Response-    , DescribeImportImageTasksResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeImportImageTasksResponse-    -- ** Response lenses-    , diitrImportImageTasks-    , diitrNextToken+    , DescribeImportImageTasksResponse+    -- * Response Lenses+    , diitrsImportImageTasks+    , diitrsNextToken+    , diitrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeImportImageTasks = DescribeImportImageTasks-    { _diitDryRun        :: Maybe Bool-    , _diitFilters       :: List "Filter" Filter-    , _diitImportTaskIds :: List "ImportTaskId" Text-    , _diitMaxResults    :: Maybe Int-    , _diitNextToken     :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeImportImageTasks' smart constructor.+data DescribeImportImageTasks = DescribeImportImageTasks'+    { _diitFilters       :: !(Maybe [Filter])+    , _diitImportTaskIds :: !(Maybe [Text])+    , _diitNextToken     :: !(Maybe Text)+    , _diitDryRun        :: !(Maybe Bool)+    , _diitMaxResults    :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeImportImageTasks' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeImportImageTasks' with the minimum fields required to make a request. ----- * 'diitDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'diitFilters' @::@ ['Filter']+-- * 'diitFilters' ----- * 'diitImportTaskIds' @::@ ['Text']+-- * 'diitImportTaskIds' ----- * 'diitMaxResults' @::@ 'Maybe' 'Int'+-- * 'diitNextToken' ----- * 'diitNextToken' @::@ 'Maybe' 'Text'+-- * 'diitDryRun' ---describeImportImageTasks :: DescribeImportImageTasks-describeImportImageTasks = DescribeImportImageTasks-    { _diitDryRun        = Nothing-    , _diitImportTaskIds = mempty-    , _diitNextToken     = Nothing-    , _diitMaxResults    = Nothing-    , _diitFilters       = mempty+-- * 'diitMaxResults'+describeImportImageTasks+    :: DescribeImportImageTasks+describeImportImageTasks =+    DescribeImportImageTasks'+    { _diitFilters = Nothing+    , _diitImportTaskIds = Nothing+    , _diitNextToken = Nothing+    , _diitDryRun = Nothing+    , _diitMaxResults = Nothing     } --- | 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'.-diitDryRun :: Lens' DescribeImportImageTasks (Maybe Bool)-diitDryRun = lens _diitDryRun (\s a -> s { _diitDryRun = a })- -- | One or more filters. diitFilters :: Lens' DescribeImportImageTasks [Filter]-diitFilters = lens _diitFilters (\s a -> s { _diitFilters = a }) . _List+diitFilters = lens _diitFilters (\ s a -> s{_diitFilters = a}) . _Default . _Coerce;  -- | A list of import image task IDs. diitImportTaskIds :: Lens' DescribeImportImageTasks [Text]-diitImportTaskIds =-    lens _diitImportTaskIds (\s a -> s { _diitImportTaskIds = a })-        . _List---- | The maximum number of results to return in a single request.-diitMaxResults :: Lens' DescribeImportImageTasks (Maybe Int)-diitMaxResults = lens _diitMaxResults (\s a -> s { _diitMaxResults = a })+diitImportTaskIds = lens _diitImportTaskIds (\ s a -> s{_diitImportTaskIds = a}) . _Default . _Coerce;  -- | A token that indicates the next page of results. diitNextToken :: Lens' DescribeImportImageTasks (Maybe Text)-diitNextToken = lens _diitNextToken (\s a -> s { _diitNextToken = a })+diitNextToken = lens _diitNextToken (\ s a -> s{_diitNextToken = a}); -data DescribeImportImageTasksResponse = DescribeImportImageTasksResponse-    { _diitrImportImageTasks :: List "item" ImportImageTask-    , _diitrNextToken        :: Maybe Text-    } deriving (Eq, Read, Show)+-- | 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'.+diitDryRun :: Lens' DescribeImportImageTasks (Maybe Bool)+diitDryRun = lens _diitDryRun (\ s a -> s{_diitDryRun = a}); --- | 'DescribeImportImageTasksResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'diitrImportImageTasks' @::@ ['ImportImageTask']------ * 'diitrNextToken' @::@ 'Maybe' 'Text'----describeImportImageTasksResponse :: DescribeImportImageTasksResponse-describeImportImageTasksResponse = DescribeImportImageTasksResponse-    { _diitrImportImageTasks = mempty-    , _diitrNextToken        = Nothing-    }+-- | The maximum number of results to return in a single request.+diitMaxResults :: Lens' DescribeImportImageTasks (Maybe Int)+diitMaxResults = lens _diitMaxResults (\ s a -> s{_diitMaxResults = a}); --- | A list of zero or more import image tasks that are currently active or were--- completed or canceled in the previous 7 days.-diitrImportImageTasks :: Lens' DescribeImportImageTasksResponse [ImportImageTask]-diitrImportImageTasks =-    lens _diitrImportImageTasks (\s a -> s { _diitrImportImageTasks = a })-        . _List+instance AWSRequest DescribeImportImageTasks where+        type Sv DescribeImportImageTasks = EC2+        type Rs DescribeImportImageTasks =+             DescribeImportImageTasksResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeImportImageTasksResponse' <$>+                   (x .@? "importImageTaskSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (x .@? "nextToken")+                     <*> (pure (fromEnum s))) --- | The token to use to get the next page of results. This value is 'null' when--- there are no more results to return.-diitrNextToken :: Lens' DescribeImportImageTasksResponse (Maybe Text)-diitrNextToken = lens _diitrNextToken (\s a -> s { _diitrNextToken = a })+instance ToHeaders DescribeImportImageTasks where+        toHeaders = const mempty  instance ToPath DescribeImportImageTasks where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeImportImageTasks where-    toQuery DescribeImportImageTasks{..} = mconcat-        [ "DryRun"       =? _diitDryRun-        , "Filters"      `toQueryList` _diitFilters-        , "ImportTaskId" `toQueryList` _diitImportTaskIds-        , "MaxResults"   =? _diitMaxResults-        , "NextToken"    =? _diitNextToken-        ]+        toQuery DescribeImportImageTasks'{..}+          = mconcat+              ["Action" =:+                 ("DescribeImportImageTasks" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _diitFilters),+               toQuery+                 (toQueryList "ImportTaskId" <$> _diitImportTaskIds),+               "NextToken" =: _diitNextToken,+               "DryRun" =: _diitDryRun,+               "MaxResults" =: _diitMaxResults] -instance ToHeaders DescribeImportImageTasks+-- | /See:/ 'describeImportImageTasksResponse' smart constructor.+data DescribeImportImageTasksResponse = DescribeImportImageTasksResponse'+    { _diitrsImportImageTasks :: !(Maybe [ImportImageTask])+    , _diitrsNextToken        :: !(Maybe Text)+    , _diitrsStatus           :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeImportImageTasks where-    type Sv DescribeImportImageTasks = EC2-    type Rs DescribeImportImageTasks = DescribeImportImageTasksResponse+-- | Creates a value of 'DescribeImportImageTasksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diitrsImportImageTasks'+--+-- * 'diitrsNextToken'+--+-- * 'diitrsStatus'+describeImportImageTasksResponse+    :: Int -- ^ 'diitrsStatus'+    -> DescribeImportImageTasksResponse+describeImportImageTasksResponse pStatus_ =+    DescribeImportImageTasksResponse'+    { _diitrsImportImageTasks = Nothing+    , _diitrsNextToken = Nothing+    , _diitrsStatus = pStatus_+    } -    request  = post "DescribeImportImageTasks"-    response = xmlResponse+-- | A list of zero or more import image tasks that are currently active or+-- were completed or canceled in the previous 7 days.+diitrsImportImageTasks :: Lens' DescribeImportImageTasksResponse [ImportImageTask]+diitrsImportImageTasks = lens _diitrsImportImageTasks (\ s a -> s{_diitrsImportImageTasks = a}) . _Default . _Coerce; -instance FromXML DescribeImportImageTasksResponse where-    parseXML x = DescribeImportImageTasksResponse-        <$> x .@? "importImageTaskSet" .!@ mempty-        <*> x .@? "nextToken"+-- | The token to use to get the next page of results. This value is 'null'+-- when there are no more results to return.+diitrsNextToken :: Lens' DescribeImportImageTasksResponse (Maybe Text)+diitrsNextToken = lens _diitrsNextToken (\ s a -> s{_diitrsNextToken = a});++-- | The response status code.+diitrsStatus :: Lens' DescribeImportImageTasksResponse Int+diitrsStatus = lens _diitrsStatus (\ s a -> s{_diitrsStatus = a});
gen/Network/AWS/EC2/DescribeImportSnapshotTasks.hs view
@@ -1,166 +1,178 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeImportSnapshotTasks--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes your import snapshot tasks.+-- Describes your import snapshot tasks. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImportSnapshotTasks.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImportSnapshotTasks.html AWS API Reference> for DescribeImportSnapshotTasks. module Network.AWS.EC2.DescribeImportSnapshotTasks     (-    -- * Request-      DescribeImportSnapshotTasks-    -- ** Request constructor-    , describeImportSnapshotTasks-    -- ** Request lenses-    , distDryRun+    -- * Creating a Request+      describeImportSnapshotTasks+    , DescribeImportSnapshotTasks+    -- * Request Lenses     , distFilters     , distImportTaskIds-    , distMaxResults     , distNextToken+    , distDryRun+    , distMaxResults -    -- * Response-    , DescribeImportSnapshotTasksResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeImportSnapshotTasksResponse-    -- ** Response lenses-    , distrImportSnapshotTasks-    , distrNextToken+    , DescribeImportSnapshotTasksResponse+    -- * Response Lenses+    , distrsNextToken+    , distrsImportSnapshotTasks+    , distrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeImportSnapshotTasks = DescribeImportSnapshotTasks-    { _distDryRun        :: Maybe Bool-    , _distFilters       :: List "Filter" Filter-    , _distImportTaskIds :: List "ImportTaskId" Text-    , _distMaxResults    :: Maybe Int-    , _distNextToken     :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeImportSnapshotTasks' smart constructor.+data DescribeImportSnapshotTasks = DescribeImportSnapshotTasks'+    { _distFilters       :: !(Maybe [Filter])+    , _distImportTaskIds :: !(Maybe [Text])+    , _distNextToken     :: !(Maybe Text)+    , _distDryRun        :: !(Maybe Bool)+    , _distMaxResults    :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeImportSnapshotTasks' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeImportSnapshotTasks' with the minimum fields required to make a request. ----- * 'distDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'distFilters' @::@ ['Filter']+-- * 'distFilters' ----- * 'distImportTaskIds' @::@ ['Text']+-- * 'distImportTaskIds' ----- * 'distMaxResults' @::@ 'Maybe' 'Int'+-- * 'distNextToken' ----- * 'distNextToken' @::@ 'Maybe' 'Text'+-- * 'distDryRun' ---describeImportSnapshotTasks :: DescribeImportSnapshotTasks-describeImportSnapshotTasks = DescribeImportSnapshotTasks-    { _distDryRun        = Nothing-    , _distImportTaskIds = mempty-    , _distNextToken     = Nothing-    , _distMaxResults    = Nothing-    , _distFilters       = mempty+-- * 'distMaxResults'+describeImportSnapshotTasks+    :: DescribeImportSnapshotTasks+describeImportSnapshotTasks =+    DescribeImportSnapshotTasks'+    { _distFilters = Nothing+    , _distImportTaskIds = Nothing+    , _distNextToken = Nothing+    , _distDryRun = Nothing+    , _distMaxResults = Nothing     } --- | 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'.-distDryRun :: Lens' DescribeImportSnapshotTasks (Maybe Bool)-distDryRun = lens _distDryRun (\s a -> s { _distDryRun = a })- -- | One or more filters. distFilters :: Lens' DescribeImportSnapshotTasks [Filter]-distFilters = lens _distFilters (\s a -> s { _distFilters = a }) . _List+distFilters = lens _distFilters (\ s a -> s{_distFilters = a}) . _Default . _Coerce;  -- | A list of import snapshot task IDs. distImportTaskIds :: Lens' DescribeImportSnapshotTasks [Text]-distImportTaskIds =-    lens _distImportTaskIds (\s a -> s { _distImportTaskIds = a })-        . _List---- | The maximum number of results to return in a single request.-distMaxResults :: Lens' DescribeImportSnapshotTasks (Maybe Int)-distMaxResults = lens _distMaxResults (\s a -> s { _distMaxResults = a })+distImportTaskIds = lens _distImportTaskIds (\ s a -> s{_distImportTaskIds = a}) . _Default . _Coerce;  -- | A token that indicates the next page of results. distNextToken :: Lens' DescribeImportSnapshotTasks (Maybe Text)-distNextToken = lens _distNextToken (\s a -> s { _distNextToken = a })+distNextToken = lens _distNextToken (\ s a -> s{_distNextToken = a}); -data DescribeImportSnapshotTasksResponse = DescribeImportSnapshotTasksResponse-    { _distrImportSnapshotTasks :: List "item" ImportSnapshotTask-    , _distrNextToken           :: Maybe Text-    } deriving (Eq, Read, Show)+-- | 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'.+distDryRun :: Lens' DescribeImportSnapshotTasks (Maybe Bool)+distDryRun = lens _distDryRun (\ s a -> s{_distDryRun = a}); --- | 'DescribeImportSnapshotTasksResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'distrImportSnapshotTasks' @::@ ['ImportSnapshotTask']------ * 'distrNextToken' @::@ 'Maybe' 'Text'----describeImportSnapshotTasksResponse :: DescribeImportSnapshotTasksResponse-describeImportSnapshotTasksResponse = DescribeImportSnapshotTasksResponse-    { _distrImportSnapshotTasks = mempty-    , _distrNextToken           = Nothing-    }+-- | The maximum number of results to return in a single request.+distMaxResults :: Lens' DescribeImportSnapshotTasks (Maybe Int)+distMaxResults = lens _distMaxResults (\ s a -> s{_distMaxResults = a}); --- | A list of zero or more import snapshot tasks that are currently active or--- were completed or canceled in the previous 7 days.-distrImportSnapshotTasks :: Lens' DescribeImportSnapshotTasksResponse [ImportSnapshotTask]-distrImportSnapshotTasks =-    lens _distrImportSnapshotTasks-        (\s a -> s { _distrImportSnapshotTasks = a })-            . _List+instance AWSRequest DescribeImportSnapshotTasks where+        type Sv DescribeImportSnapshotTasks = EC2+        type Rs DescribeImportSnapshotTasks =+             DescribeImportSnapshotTasksResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeImportSnapshotTasksResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "importSnapshotTaskSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | The token to use to get the next page of results. This value is 'null' when--- there are no more results to return.-distrNextToken :: Lens' DescribeImportSnapshotTasksResponse (Maybe Text)-distrNextToken = lens _distrNextToken (\s a -> s { _distrNextToken = a })+instance ToHeaders DescribeImportSnapshotTasks where+        toHeaders = const mempty  instance ToPath DescribeImportSnapshotTasks where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeImportSnapshotTasks where-    toQuery DescribeImportSnapshotTasks{..} = mconcat-        [ "DryRun"       =? _distDryRun-        , "Filters"      `toQueryList` _distFilters-        , "ImportTaskId" `toQueryList` _distImportTaskIds-        , "MaxResults"   =? _distMaxResults-        , "NextToken"    =? _distNextToken-        ]+        toQuery DescribeImportSnapshotTasks'{..}+          = mconcat+              ["Action" =:+                 ("DescribeImportSnapshotTasks" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _distFilters),+               toQuery+                 (toQueryList "ImportTaskId" <$> _distImportTaskIds),+               "NextToken" =: _distNextToken,+               "DryRun" =: _distDryRun,+               "MaxResults" =: _distMaxResults] -instance ToHeaders DescribeImportSnapshotTasks+-- | /See:/ 'describeImportSnapshotTasksResponse' smart constructor.+data DescribeImportSnapshotTasksResponse = DescribeImportSnapshotTasksResponse'+    { _distrsNextToken           :: !(Maybe Text)+    , _distrsImportSnapshotTasks :: !(Maybe [ImportSnapshotTask])+    , _distrsStatus              :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeImportSnapshotTasks where-    type Sv DescribeImportSnapshotTasks = EC2-    type Rs DescribeImportSnapshotTasks = DescribeImportSnapshotTasksResponse+-- | Creates a value of 'DescribeImportSnapshotTasksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'distrsNextToken'+--+-- * 'distrsImportSnapshotTasks'+--+-- * 'distrsStatus'+describeImportSnapshotTasksResponse+    :: Int -- ^ 'distrsStatus'+    -> DescribeImportSnapshotTasksResponse+describeImportSnapshotTasksResponse pStatus_ =+    DescribeImportSnapshotTasksResponse'+    { _distrsNextToken = Nothing+    , _distrsImportSnapshotTasks = Nothing+    , _distrsStatus = pStatus_+    } -    request  = post "DescribeImportSnapshotTasks"-    response = xmlResponse+-- | The token to use to get the next page of results. This value is 'null'+-- when there are no more results to return.+distrsNextToken :: Lens' DescribeImportSnapshotTasksResponse (Maybe Text)+distrsNextToken = lens _distrsNextToken (\ s a -> s{_distrsNextToken = a}); -instance FromXML DescribeImportSnapshotTasksResponse where-    parseXML x = DescribeImportSnapshotTasksResponse-        <$> x .@? "importSnapshotTaskSet" .!@ mempty-        <*> x .@? "nextToken"+-- | A list of zero or more import snapshot tasks that are currently active+-- or were completed or canceled in the previous 7 days.+distrsImportSnapshotTasks :: Lens' DescribeImportSnapshotTasksResponse [ImportSnapshotTask]+distrsImportSnapshotTasks = lens _distrsImportSnapshotTasks (\ s a -> s{_distrsImportSnapshotTasks = a}) . _Default . _Coerce;++-- | The response status code.+distrsStatus :: Lens' DescribeImportSnapshotTasksResponse Int+distrsStatus = lens _distrsStatus (\ s a -> s{_distrsStatus = a});
gen/Network/AWS/EC2/DescribeInstanceAttribute.hs view
@@ -1,279 +1,294 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeInstanceAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the specified attribute of the specified instance. You can specify--- only one attribute at a time. Valid attribute values are: 'instanceType' | 'kernel' | 'ramdisk' | 'userData' | 'disableApiTermination' | 'instanceInitiatedShutdownBehavior' | 'rootDeviceName' | 'blockDeviceMapping' | 'productCodes' | 'sourceDestCheck' | 'groupSet' | 'ebsOptimized' | 'sriovNetSupport'+-- Describes the specified attribute of the specified instance. You can+-- specify only one attribute at a time. Valid attribute values are:+-- 'instanceType' | 'kernel' | 'ramdisk' | 'userData' |+-- 'disableApiTermination' | 'instanceInitiatedShutdownBehavior' |+-- 'rootDeviceName' | 'blockDeviceMapping' | 'productCodes' |+-- 'sourceDestCheck' | 'groupSet' | 'ebsOptimized' | 'sriovNetSupport' ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstanceAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstanceAttribute.html AWS API Reference> for DescribeInstanceAttribute. module Network.AWS.EC2.DescribeInstanceAttribute     (-    -- * Request-      DescribeInstanceAttribute-    -- ** Request constructor-    , describeInstanceAttribute-    -- ** Request lenses-    , diaAttribute+    -- * Creating a Request+      describeInstanceAttribute+    , DescribeInstanceAttribute+    -- * Request Lenses     , diaDryRun     , diaInstanceId+    , diaAttribute -    -- * Response-    , DescribeInstanceAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeInstanceAttributeResponse-    -- ** Response lenses-    , diar1BlockDeviceMappings-    , diar1DisableApiTermination-    , diar1EbsOptimized-    , diar1Groups-    , diar1InstanceId-    , diar1InstanceInitiatedShutdownBehavior-    , diar1InstanceType-    , diar1KernelId-    , diar1ProductCodes-    , diar1RamdiskId-    , diar1RootDeviceName-    , diar1SourceDestCheck-    , diar1SriovNetSupport-    , diar1UserData+    , DescribeInstanceAttributeResponse+    -- * Response Lenses+    , drsInstanceId+    , drsGroups+    , drsSourceDestCheck+    , drsDisableAPITermination+    , drsRAMDiskId+    , drsKernelId+    , drsInstanceType+    , drsRootDeviceName+    , drsEBSOptimized+    , drsUserData+    , drsSRIOVNetSupport+    , drsInstanceInitiatedShutdownBehavior+    , drsProductCodes+    , drsBlockDeviceMappings+    , drsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeInstanceAttribute = DescribeInstanceAttribute-    { _diaAttribute  :: InstanceAttributeName-    , _diaDryRun     :: Maybe Bool-    , _diaInstanceId :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeInstanceAttribute' smart constructor.+data DescribeInstanceAttribute = DescribeInstanceAttribute'+    { _diaDryRun     :: !(Maybe Bool)+    , _diaInstanceId :: !Text+    , _diaAttribute  :: !InstanceAttributeName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeInstanceAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeInstanceAttribute' with the minimum fields required to make a request. ----- * 'diaAttribute' @::@ 'InstanceAttributeName'+-- Use one of the following lenses to modify other fields as desired: ----- * 'diaDryRun' @::@ 'Maybe' 'Bool'+-- * 'diaDryRun' ----- * 'diaInstanceId' @::@ 'Text'+-- * 'diaInstanceId' ---describeInstanceAttribute :: Text -- ^ 'diaInstanceId'-                          -> InstanceAttributeName -- ^ 'diaAttribute'-                          -> DescribeInstanceAttribute-describeInstanceAttribute p1 p2 = DescribeInstanceAttribute-    { _diaInstanceId = p1-    , _diaAttribute  = p2-    , _diaDryRun     = Nothing+-- * 'diaAttribute'+describeInstanceAttribute+    :: Text -- ^ 'diaInstanceId'+    -> InstanceAttributeName -- ^ 'diaAttribute'+    -> DescribeInstanceAttribute+describeInstanceAttribute pInstanceId_ pAttribute_ =+    DescribeInstanceAttribute'+    { _diaDryRun = Nothing+    , _diaInstanceId = pInstanceId_+    , _diaAttribute = pAttribute_     } --- | The instance attribute.-diaAttribute :: Lens' DescribeInstanceAttribute InstanceAttributeName-diaAttribute = lens _diaAttribute (\s a -> s { _diaAttribute = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. diaDryRun :: Lens' DescribeInstanceAttribute (Maybe Bool)-diaDryRun = lens _diaDryRun (\s a -> s { _diaDryRun = a })+diaDryRun = lens _diaDryRun (\ s a -> s{_diaDryRun = a});  -- | The ID of the instance. diaInstanceId :: Lens' DescribeInstanceAttribute Text-diaInstanceId = lens _diaInstanceId (\s a -> s { _diaInstanceId = a })+diaInstanceId = lens _diaInstanceId (\ s a -> s{_diaInstanceId = a}); -data DescribeInstanceAttributeResponse = DescribeInstanceAttributeResponse-    { _diar1BlockDeviceMappings               :: List "item" InstanceBlockDeviceMapping-    , _diar1DisableApiTermination             :: Maybe AttributeBooleanValue-    , _diar1EbsOptimized                      :: Maybe AttributeBooleanValue-    , _diar1Groups                            :: List "item" GroupIdentifier-    , _diar1InstanceId                        :: Maybe Text-    , _diar1InstanceInitiatedShutdownBehavior :: Maybe AttributeValue-    , _diar1InstanceType                      :: Maybe AttributeValue-    , _diar1KernelId                          :: Maybe AttributeValue-    , _diar1ProductCodes                      :: List "item" ProductCode-    , _diar1RamdiskId                         :: Maybe AttributeValue-    , _diar1RootDeviceName                    :: Maybe AttributeValue-    , _diar1SourceDestCheck                   :: Maybe AttributeBooleanValue-    , _diar1SriovNetSupport                   :: Maybe AttributeValue-    , _diar1UserData                          :: Maybe AttributeValue-    } deriving (Eq, Read, Show)+-- | The instance attribute.+diaAttribute :: Lens' DescribeInstanceAttribute InstanceAttributeName+diaAttribute = lens _diaAttribute (\ s a -> s{_diaAttribute = a}); --- | 'DescribeInstanceAttributeResponse' constructor.+instance AWSRequest DescribeInstanceAttribute where+        type Sv DescribeInstanceAttribute = EC2+        type Rs DescribeInstanceAttribute =+             DescribeInstanceAttributeResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeInstanceAttributeResponse' <$>+                   (x .@? "instanceId") <*>+                     (x .@? "groupSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (x .@? "sourceDestCheck")+                     <*> (x .@? "disableApiTermination")+                     <*> (x .@? "ramdisk")+                     <*> (x .@? "kernel")+                     <*> (x .@? "instanceType")+                     <*> (x .@? "rootDeviceName")+                     <*> (x .@? "ebsOptimized")+                     <*> (x .@? "userData")+                     <*> (x .@? "sriovNetSupport")+                     <*> (x .@? "instanceInitiatedShutdownBehavior")+                     <*>+                     (x .@? "productCodes" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*>+                     (x .@? "blockDeviceMapping" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeInstanceAttribute where+        toHeaders = const mempty++instance ToPath DescribeInstanceAttribute where+        toPath = const "/"++instance ToQuery DescribeInstanceAttribute where+        toQuery DescribeInstanceAttribute'{..}+          = mconcat+              ["Action" =:+                 ("DescribeInstanceAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _diaDryRun,+               "InstanceId" =: _diaInstanceId,+               "Attribute" =: _diaAttribute]++-- | Describes an instance attribute. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeInstanceAttributeResponse' smart constructor.+data DescribeInstanceAttributeResponse = DescribeInstanceAttributeResponse'+    { _drsInstanceId                        :: !(Maybe Text)+    , _drsGroups                            :: !(Maybe [GroupIdentifier])+    , _drsSourceDestCheck                   :: !(Maybe AttributeBooleanValue)+    , _drsDisableAPITermination             :: !(Maybe AttributeBooleanValue)+    , _drsRAMDiskId                         :: !(Maybe AttributeValue)+    , _drsKernelId                          :: !(Maybe AttributeValue)+    , _drsInstanceType                      :: !(Maybe AttributeValue)+    , _drsRootDeviceName                    :: !(Maybe AttributeValue)+    , _drsEBSOptimized                      :: !(Maybe AttributeBooleanValue)+    , _drsUserData                          :: !(Maybe AttributeValue)+    , _drsSRIOVNetSupport                   :: !(Maybe AttributeValue)+    , _drsInstanceInitiatedShutdownBehavior :: !(Maybe AttributeValue)+    , _drsProductCodes                      :: !(Maybe [ProductCode])+    , _drsBlockDeviceMappings               :: !(Maybe [InstanceBlockDeviceMapping])+    , _drsStatus                            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeInstanceAttributeResponse' with the minimum fields required to make a request. ----- * 'diar1BlockDeviceMappings' @::@ ['InstanceBlockDeviceMapping']+-- Use one of the following lenses to modify other fields as desired: ----- * 'diar1DisableApiTermination' @::@ 'Maybe' 'AttributeBooleanValue'+-- * 'drsInstanceId' ----- * 'diar1EbsOptimized' @::@ 'Maybe' 'AttributeBooleanValue'+-- * 'drsGroups' ----- * 'diar1Groups' @::@ ['GroupIdentifier']+-- * 'drsSourceDestCheck' ----- * 'diar1InstanceId' @::@ 'Maybe' 'Text'+-- * 'drsDisableAPITermination' ----- * 'diar1InstanceInitiatedShutdownBehavior' @::@ 'Maybe' 'AttributeValue'+-- * 'drsRAMDiskId' ----- * 'diar1InstanceType' @::@ 'Maybe' 'AttributeValue'+-- * 'drsKernelId' ----- * 'diar1KernelId' @::@ 'Maybe' 'AttributeValue'+-- * 'drsInstanceType' ----- * 'diar1ProductCodes' @::@ ['ProductCode']+-- * 'drsRootDeviceName' ----- * 'diar1RamdiskId' @::@ 'Maybe' 'AttributeValue'+-- * 'drsEBSOptimized' ----- * 'diar1RootDeviceName' @::@ 'Maybe' 'AttributeValue'+-- * 'drsUserData' ----- * 'diar1SourceDestCheck' @::@ 'Maybe' 'AttributeBooleanValue'+-- * 'drsSRIOVNetSupport' ----- * 'diar1SriovNetSupport' @::@ 'Maybe' 'AttributeValue'+-- * 'drsInstanceInitiatedShutdownBehavior' ----- * 'diar1UserData' @::@ 'Maybe' 'AttributeValue'+-- * 'drsProductCodes' ---describeInstanceAttributeResponse :: DescribeInstanceAttributeResponse-describeInstanceAttributeResponse = DescribeInstanceAttributeResponse-    { _diar1InstanceId                        = Nothing-    , _diar1InstanceType                      = Nothing-    , _diar1KernelId                          = Nothing-    , _diar1RamdiskId                         = Nothing-    , _diar1UserData                          = Nothing-    , _diar1DisableApiTermination             = Nothing-    , _diar1InstanceInitiatedShutdownBehavior = Nothing-    , _diar1RootDeviceName                    = Nothing-    , _diar1BlockDeviceMappings               = mempty-    , _diar1ProductCodes                      = mempty-    , _diar1EbsOptimized                      = Nothing-    , _diar1SriovNetSupport                   = Nothing-    , _diar1SourceDestCheck                   = Nothing-    , _diar1Groups                            = mempty+-- * 'drsBlockDeviceMappings'+--+-- * 'drsStatus'+describeInstanceAttributeResponse+    :: Int -- ^ 'drsStatus'+    -> DescribeInstanceAttributeResponse+describeInstanceAttributeResponse pStatus_ =+    DescribeInstanceAttributeResponse'+    { _drsInstanceId = Nothing+    , _drsGroups = Nothing+    , _drsSourceDestCheck = Nothing+    , _drsDisableAPITermination = Nothing+    , _drsRAMDiskId = Nothing+    , _drsKernelId = Nothing+    , _drsInstanceType = Nothing+    , _drsRootDeviceName = Nothing+    , _drsEBSOptimized = Nothing+    , _drsUserData = Nothing+    , _drsSRIOVNetSupport = Nothing+    , _drsInstanceInitiatedShutdownBehavior = Nothing+    , _drsProductCodes = Nothing+    , _drsBlockDeviceMappings = Nothing+    , _drsStatus = pStatus_     } --- | The block device mapping of the instance.-diar1BlockDeviceMappings :: Lens' DescribeInstanceAttributeResponse [InstanceBlockDeviceMapping]-diar1BlockDeviceMappings =-    lens _diar1BlockDeviceMappings-        (\s a -> s { _diar1BlockDeviceMappings = a })-            . _List---- | If the value is 'true', you can't terminate the instance through the Amazon EC2--- console, CLI, or API; otherwise, you can.-diar1DisableApiTermination :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)-diar1DisableApiTermination =-    lens _diar1DisableApiTermination-        (\s a -> s { _diar1DisableApiTermination = a })---- | Indicates whether the instance is optimized for EBS I/O.-diar1EbsOptimized :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)-diar1EbsOptimized =-    lens _diar1EbsOptimized (\s a -> s { _diar1EbsOptimized = a })+-- | The ID of the instance.+drsInstanceId :: Lens' DescribeInstanceAttributeResponse (Maybe Text)+drsInstanceId = lens _drsInstanceId (\ s a -> s{_drsInstanceId = a});  -- | The security groups associated with the instance.-diar1Groups :: Lens' DescribeInstanceAttributeResponse [GroupIdentifier]-diar1Groups = lens _diar1Groups (\s a -> s { _diar1Groups = a }) . _List+drsGroups :: Lens' DescribeInstanceAttributeResponse [GroupIdentifier]+drsGroups = lens _drsGroups (\ s a -> s{_drsGroups = a}) . _Default . _Coerce; --- | The ID of the instance.-diar1InstanceId :: Lens' DescribeInstanceAttributeResponse (Maybe Text)-diar1InstanceId = lens _diar1InstanceId (\s a -> s { _diar1InstanceId = a })+-- | Indicates whether source\/destination checking is enabled. A value of+-- 'true' means checking is enabled, and 'false' means checking is+-- disabled. This value must be 'false' for a NAT instance to perform NAT.+drsSourceDestCheck :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)+drsSourceDestCheck = lens _drsSourceDestCheck (\ s a -> s{_drsSourceDestCheck = a}); --- | Indicates whether an instance stops or terminates when you initiate shutdown--- from the instance (using the operating system command for system shutdown).-diar1InstanceInitiatedShutdownBehavior :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)-diar1InstanceInitiatedShutdownBehavior =-    lens _diar1InstanceInitiatedShutdownBehavior-        (\s a -> s { _diar1InstanceInitiatedShutdownBehavior = a })+-- | If the value is 'true', you can\'t terminate the instance through the+-- Amazon EC2 console, CLI, or API; otherwise, you can.+drsDisableAPITermination :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)+drsDisableAPITermination = lens _drsDisableAPITermination (\ s a -> s{_drsDisableAPITermination = a}); --- | The instance type.-diar1InstanceType :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)-diar1InstanceType =-    lens _diar1InstanceType (\s a -> s { _diar1InstanceType = a })+-- | The RAM disk ID.+drsRAMDiskId :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)+drsRAMDiskId = lens _drsRAMDiskId (\ s a -> s{_drsRAMDiskId = a});  -- | The kernel ID.-diar1KernelId :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)-diar1KernelId = lens _diar1KernelId (\s a -> s { _diar1KernelId = a })---- | A list of product codes.-diar1ProductCodes :: Lens' DescribeInstanceAttributeResponse [ProductCode]-diar1ProductCodes =-    lens _diar1ProductCodes (\s a -> s { _diar1ProductCodes = a })-        . _List---- | The RAM disk ID.-diar1RamdiskId :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)-diar1RamdiskId = lens _diar1RamdiskId (\s a -> s { _diar1RamdiskId = a })+drsKernelId :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)+drsKernelId = lens _drsKernelId (\ s a -> s{_drsKernelId = a}); --- | The name of the root device (for example, '/dev/sda1' or '/dev/xvda').-diar1RootDeviceName :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)-diar1RootDeviceName =-    lens _diar1RootDeviceName (\s a -> s { _diar1RootDeviceName = a })+-- | The instance type.+drsInstanceType :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)+drsInstanceType = lens _drsInstanceType (\ s a -> s{_drsInstanceType = a}); --- | Indicates whether source/destination checking is enabled. A value of 'true'--- means checking is enabled, and 'false' means checking is disabled. This value--- must be 'false' for a NAT instance to perform NAT.-diar1SourceDestCheck :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)-diar1SourceDestCheck =-    lens _diar1SourceDestCheck (\s a -> s { _diar1SourceDestCheck = a })+-- | The name of the root device (for example, '\/dev\/sda1' or+-- '\/dev\/xvda').+drsRootDeviceName :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)+drsRootDeviceName = lens _drsRootDeviceName (\ s a -> s{_drsRootDeviceName = a}); -diar1SriovNetSupport :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)-diar1SriovNetSupport =-    lens _diar1SriovNetSupport (\s a -> s { _diar1SriovNetSupport = a })+-- | Indicates whether the instance is optimized for EBS I\/O.+drsEBSOptimized :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue)+drsEBSOptimized = lens _drsEBSOptimized (\ s a -> s{_drsEBSOptimized = a});  -- | The Base64-encoded MIME user data.-diar1UserData :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)-diar1UserData = lens _diar1UserData (\s a -> s { _diar1UserData = a })--instance ToPath DescribeInstanceAttribute where-    toPath = const "/"+drsUserData :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)+drsUserData = lens _drsUserData (\ s a -> s{_drsUserData = a}); -instance ToQuery DescribeInstanceAttribute where-    toQuery DescribeInstanceAttribute{..} = mconcat-        [ "Attribute"  =? _diaAttribute-        , "DryRun"     =? _diaDryRun-        , "InstanceId" =? _diaInstanceId-        ]+-- | Undocumented member.+drsSRIOVNetSupport :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)+drsSRIOVNetSupport = lens _drsSRIOVNetSupport (\ s a -> s{_drsSRIOVNetSupport = a}); -instance ToHeaders DescribeInstanceAttribute+-- | Indicates whether an instance stops or terminates when you initiate+-- shutdown from the instance (using the operating system command for+-- system shutdown).+drsInstanceInitiatedShutdownBehavior :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)+drsInstanceInitiatedShutdownBehavior = lens _drsInstanceInitiatedShutdownBehavior (\ s a -> s{_drsInstanceInitiatedShutdownBehavior = a}); -instance AWSRequest DescribeInstanceAttribute where-    type Sv DescribeInstanceAttribute = EC2-    type Rs DescribeInstanceAttribute = DescribeInstanceAttributeResponse+-- | A list of product codes.+drsProductCodes :: Lens' DescribeInstanceAttributeResponse [ProductCode]+drsProductCodes = lens _drsProductCodes (\ s a -> s{_drsProductCodes = a}) . _Default . _Coerce; -    request  = post "DescribeInstanceAttribute"-    response = xmlResponse+-- | The block device mapping of the instance.+drsBlockDeviceMappings :: Lens' DescribeInstanceAttributeResponse [InstanceBlockDeviceMapping]+drsBlockDeviceMappings = lens _drsBlockDeviceMappings (\ s a -> s{_drsBlockDeviceMappings = a}) . _Default . _Coerce; -instance FromXML DescribeInstanceAttributeResponse where-    parseXML x = DescribeInstanceAttributeResponse-        <$> x .@? "blockDeviceMapping" .!@ mempty-        <*> x .@? "disableApiTermination"-        <*> x .@? "ebsOptimized"-        <*> x .@? "groupSet" .!@ mempty-        <*> x .@? "instanceId"-        <*> x .@? "instanceInitiatedShutdownBehavior"-        <*> x .@? "instanceType"-        <*> x .@? "kernel"-        <*> x .@? "productCodes" .!@ mempty-        <*> x .@? "ramdisk"-        <*> x .@? "rootDeviceName"-        <*> x .@? "sourceDestCheck"-        <*> x .@? "sriovNetSupport"-        <*> x .@? "userData"+-- | The response status code.+drsStatus :: Lens' DescribeInstanceAttributeResponse Int+drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});
gen/Network/AWS/EC2/DescribeInstanceStatus.hs view
@@ -1,156 +1,172 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeInstanceStatus--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the status of one or more instances.+-- Describes the status of one or more instances. -- -- Instance status includes the following components: ----- Status checks - Amazon EC2 performs status checks on running EC2 instances--- to identify hardware and software issues. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html StatusChecks for Your Instances> and <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html Troubleshooting Instances with Failed StatusChecks> in the /Amazon Elastic Compute Cloud User Guide/.+-- -   __Status checks__ - Amazon EC2 performs status checks on running EC2+--     instances to identify hardware and software issues. For more+--     information, see+--     <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html Status Checks for Your Instances>+--     and+--     <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html Troubleshooting Instances with Failed Status Checks>+--     in the /Amazon Elastic Compute Cloud User Guide/. ----- Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,--- or terminate) for your instances related to hardware issues, software--- updates, or system maintenance. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html Scheduled Eventsfor Your Instances> in the /Amazon Elastic Compute Cloud User Guide/.+-- -   __Scheduled events__ - Amazon EC2 can schedule events (such as+--     reboot, stop, or terminate) for your instances related to hardware+--     issues, software updates, or system maintenance. For more+--     information, see+--     <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html Scheduled Events for Your Instances>+--     in the /Amazon Elastic Compute Cloud User Guide/. ----- Instance state - You can manage your instances from the moment you launch--- them through their termination. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html Instance Lifecycle>--- in the /Amazon Elastic Compute Cloud User Guide/.+-- -   __Instance state__ - You can manage your instances from the moment+--     you launch them through their termination. For more information, see+--     <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html Instance Lifecycle>+--     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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstanceStatus.html>+-- This operation returns paginated results. module Network.AWS.EC2.DescribeInstanceStatus     (-    -- * Request-      DescribeInstanceStatus-    -- ** Request constructor-    , describeInstanceStatus-    -- ** Request lenses-    , disDryRun-    , disFilters+    -- * Creating a Request+      describeInstanceStatus+    , DescribeInstanceStatus+    -- * Request Lenses     , disIncludeAllInstances+    , disFilters+    , disNextToken     , disInstanceIds+    , disDryRun     , disMaxResults-    , disNextToken -    -- * Response-    , DescribeInstanceStatusResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeInstanceStatusResponse-    -- ** Response lenses-    , disrInstanceStatuses-    , disrNextToken+    , DescribeInstanceStatusResponse+    -- * Response Lenses+    , disrsInstanceStatuses+    , disrsNextToken+    , disrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeInstanceStatus = DescribeInstanceStatus-    { _disDryRun              :: Maybe Bool-    , _disFilters             :: List "Filter" Filter-    , _disIncludeAllInstances :: Maybe Bool-    , _disInstanceIds         :: List "InstanceId" Text-    , _disMaxResults          :: Maybe Int-    , _disNextToken           :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeInstanceStatus' smart constructor.+data DescribeInstanceStatus = DescribeInstanceStatus'+    { _disIncludeAllInstances :: !(Maybe Bool)+    , _disFilters             :: !(Maybe [Filter])+    , _disNextToken           :: !(Maybe Text)+    , _disInstanceIds         :: !(Maybe [Text])+    , _disDryRun              :: !(Maybe Bool)+    , _disMaxResults          :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeInstanceStatus' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeInstanceStatus' with the minimum fields required to make a request. ----- * 'disDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'disFilters' @::@ ['Filter']+-- * 'disIncludeAllInstances' ----- * 'disIncludeAllInstances' @::@ 'Maybe' 'Bool'+-- * 'disFilters' ----- * 'disInstanceIds' @::@ ['Text']+-- * 'disNextToken' ----- * 'disMaxResults' @::@ 'Maybe' 'Int'+-- * 'disInstanceIds' ----- * 'disNextToken' @::@ 'Maybe' 'Text'+-- * 'disDryRun' ---describeInstanceStatus :: DescribeInstanceStatus-describeInstanceStatus = DescribeInstanceStatus-    { _disDryRun              = Nothing-    , _disInstanceIds         = mempty-    , _disFilters             = mempty-    , _disNextToken           = Nothing-    , _disMaxResults          = Nothing-    , _disIncludeAllInstances = Nothing+-- * 'disMaxResults'+describeInstanceStatus+    :: DescribeInstanceStatus+describeInstanceStatus =+    DescribeInstanceStatus'+    { _disIncludeAllInstances = Nothing+    , _disFilters = Nothing+    , _disNextToken = Nothing+    , _disInstanceIds = Nothing+    , _disDryRun = Nothing+    , _disMaxResults = Nothing     } --- | 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'.-disDryRun :: Lens' DescribeInstanceStatus (Maybe Bool)-disDryRun = lens _disDryRun (\s a -> s { _disDryRun = a })+-- | When 'true', includes the health status for all instances. When 'false',+-- includes the health status for running instances only.+--+-- Default: 'false'+disIncludeAllInstances :: Lens' DescribeInstanceStatus (Maybe Bool)+disIncludeAllInstances = lens _disIncludeAllInstances (\ s a -> s{_disIncludeAllInstances = a});  -- | One or more filters. ----- 'availability-zone' - The Availability Zone of the instance.------ 'event.code' - The code for the scheduled event ('instance-reboot' | 'system-reboot' | 'system-maintenance' | 'instance-retirement' | 'instance-stop').+-- -   'availability-zone' - The Availability Zone of the instance. ----- 'event.description' - A description of the event.+-- -   'event.code' - The code for the scheduled event ('instance-reboot' |+--     'system-reboot' | 'system-maintenance' | 'instance-retirement' |+--     'instance-stop'). ----- 'event.not-after' - The latest end time for the scheduled event (for--- example, '2014-09-15T17:15:20.000Z').+-- -   'event.description' - A description of the event. ----- 'event.not-before' - The earliest start time for the scheduled event (for--- example, '2014-09-15T17:15:20.000Z').+-- -   'event.not-after' - The latest end time for the scheduled event (for+--     example, '2014-09-15T17:15:20.000Z'). ----- 'instance-state-code' - The code for the instance state, as a 16-bit--- unsigned integer. The high byte is an opaque internal value and should be--- ignored. The low byte is set based on the state represented. The valid values--- are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64--- (stopping), and 80 (stopped).+-- -   'event.not-before' - The earliest start time for the scheduled event+--     (for example, '2014-09-15T17:15:20.000Z'). ----- 'instance-state-name' - The state of the instance ('pending' | 'running' | 'shutting-down' | 'terminated' | 'stopping' | 'stopped').+-- -   'instance-state-code' - The code for the instance state, as a 16-bit+--     unsigned integer. The high byte is an opaque internal value and+--     should be ignored. The low byte is set based on the state+--     represented. The valid values are 0 (pending), 16 (running), 32+--     (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped). ----- 'instance-status.reachability' - Filters on instance status where the name--- is 'reachability' ('passed' | 'failed' | 'initializing' | 'insufficient-data').+-- -   'instance-state-name' - The state of the instance ('pending' |+--     'running' | 'shutting-down' | 'terminated' | 'stopping' |+--     'stopped'). ----- 'instance-status.status' - The status of the instance ('ok' | 'impaired' | 'initializing' | 'insufficient-data' | 'not-applicable').+-- -   'instance-status.reachability' - Filters on instance status where+--     the name is 'reachability' ('passed' | 'failed' | 'initializing' |+--     'insufficient-data'). ----- 'system-status.reachability' - Filters on system status where the name is 'reachability' ('passed' | 'failed' | 'initializing' | 'insufficient-data').+-- -   'instance-status.status' - The status of the instance ('ok' |+--     'impaired' | 'initializing' | 'insufficient-data' |+--     'not-applicable'). ----- 'system-status.status' - The system status of the instance ('ok' | 'impaired' | 'initializing' | 'insufficient-data' | 'not-applicable').+-- -   'system-status.reachability' - Filters on system status where the+--     name is 'reachability' ('passed' | 'failed' | 'initializing' |+--     'insufficient-data'). --+-- -   'system-status.status' - The system status of the instance ('ok' |+--     'impaired' | 'initializing' | 'insufficient-data' |+--     'not-applicable'). -- disFilters :: Lens' DescribeInstanceStatus [Filter]-disFilters = lens _disFilters (\s a -> s { _disFilters = a }) . _List+disFilters = lens _disFilters (\ s a -> s{_disFilters = a}) . _Default . _Coerce; --- | When 'true', includes the health status for all instances. When 'false', includes--- the health status for running instances only.------ Default: 'false'-disIncludeAllInstances :: Lens' DescribeInstanceStatus (Maybe Bool)-disIncludeAllInstances =-    lens _disIncludeAllInstances (\s a -> s { _disIncludeAllInstances = a })+-- | The token to retrieve the next page of results.+disNextToken :: Lens' DescribeInstanceStatus (Maybe Text)+disNextToken = lens _disNextToken (\ s a -> s{_disNextToken = a});  -- | One or more instance IDs. --@@ -158,80 +174,100 @@ -- -- Constraints: Maximum 100 explicitly specified instance IDs. disInstanceIds :: Lens' DescribeInstanceStatus [Text]-disInstanceIds = lens _disInstanceIds (\s a -> s { _disInstanceIds = a }) . _List---- | The maximum number of results to return for the request in a single page. The--- remaining results of the initial request can be seen by sending another--- request with the returned 'NextToken' value. This value can be between 5 and--- 1000; if 'MaxResults' is given a value larger than 1000, only 1000 results are--- returned. You cannot specify this parameter and the instance IDs parameter in--- the same request.-disMaxResults :: Lens' DescribeInstanceStatus (Maybe Int)-disMaxResults = lens _disMaxResults (\s a -> s { _disMaxResults = a })+disInstanceIds = lens _disInstanceIds (\ s a -> s{_disInstanceIds = a}) . _Default . _Coerce; --- | The token to retrieve the next page of results.-disNextToken :: Lens' DescribeInstanceStatus (Maybe Text)-disNextToken = lens _disNextToken (\s a -> s { _disNextToken = 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'.+disDryRun :: Lens' DescribeInstanceStatus (Maybe Bool)+disDryRun = lens _disDryRun (\ s a -> s{_disDryRun = a}); -data DescribeInstanceStatusResponse = DescribeInstanceStatusResponse-    { _disrInstanceStatuses :: List "item" InstanceStatus-    , _disrNextToken        :: Maybe Text-    } deriving (Eq, Read, Show)+-- | The maximum number of results to return for the request in a single+-- page. The remaining results of the initial request can be seen by+-- sending another request with the returned 'NextToken' value. This value+-- can be between 5 and 1000; if 'MaxResults' is given a value larger than+-- 1000, only 1000 results are returned. You cannot specify this parameter+-- and the instance IDs parameter in the same request.+disMaxResults :: Lens' DescribeInstanceStatus (Maybe Int)+disMaxResults = lens _disMaxResults (\ s a -> s{_disMaxResults = a}); --- | 'DescribeInstanceStatusResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'disrInstanceStatuses' @::@ ['InstanceStatus']------ * 'disrNextToken' @::@ 'Maybe' 'Text'----describeInstanceStatusResponse :: DescribeInstanceStatusResponse-describeInstanceStatusResponse = DescribeInstanceStatusResponse-    { _disrInstanceStatuses = mempty-    , _disrNextToken        = Nothing-    }+instance AWSPager DescribeInstanceStatus where+        page rq rs+          | stop (rs ^. disrsNextToken) = Nothing+          | stop (rs ^. disrsInstanceStatuses) = Nothing+          | otherwise =+            Just $ rq & disNextToken .~ rs ^. disrsNextToken --- | One or more instance status descriptions.-disrInstanceStatuses :: Lens' DescribeInstanceStatusResponse [InstanceStatus]-disrInstanceStatuses =-    lens _disrInstanceStatuses (\s a -> s { _disrInstanceStatuses = a })-        . _List+instance AWSRequest DescribeInstanceStatus where+        type Sv DescribeInstanceStatus = EC2+        type Rs DescribeInstanceStatus =+             DescribeInstanceStatusResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeInstanceStatusResponse' <$>+                   (x .@? "instanceStatusSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (x .@? "nextToken")+                     <*> (pure (fromEnum s))) --- | The token to use to retrieve the next page of results. This value is 'null'--- when there are no more results to return.-disrNextToken :: Lens' DescribeInstanceStatusResponse (Maybe Text)-disrNextToken = lens _disrNextToken (\s a -> s { _disrNextToken = a })+instance ToHeaders DescribeInstanceStatus where+        toHeaders = const mempty  instance ToPath DescribeInstanceStatus where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeInstanceStatus where-    toQuery DescribeInstanceStatus{..} = mconcat-        [ "DryRun"              =? _disDryRun-        , "Filter"              `toQueryList` _disFilters-        , "IncludeAllInstances" =? _disIncludeAllInstances-        , "InstanceId"          `toQueryList` _disInstanceIds-        , "MaxResults"          =? _disMaxResults-        , "NextToken"           =? _disNextToken-        ]+        toQuery DescribeInstanceStatus'{..}+          = mconcat+              ["Action" =:+                 ("DescribeInstanceStatus" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "IncludeAllInstances" =: _disIncludeAllInstances,+               toQuery (toQueryList "Filter" <$> _disFilters),+               "NextToken" =: _disNextToken,+               toQuery+                 (toQueryList "InstanceId" <$> _disInstanceIds),+               "DryRun" =: _disDryRun,+               "MaxResults" =: _disMaxResults] -instance ToHeaders DescribeInstanceStatus+-- | /See:/ 'describeInstanceStatusResponse' smart constructor.+data DescribeInstanceStatusResponse = DescribeInstanceStatusResponse'+    { _disrsInstanceStatuses :: !(Maybe [InstanceStatus])+    , _disrsNextToken        :: !(Maybe Text)+    , _disrsStatus           :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeInstanceStatus where-    type Sv DescribeInstanceStatus = EC2-    type Rs DescribeInstanceStatus = DescribeInstanceStatusResponse+-- | Creates a value of 'DescribeInstanceStatusResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'disrsInstanceStatuses'+--+-- * 'disrsNextToken'+--+-- * 'disrsStatus'+describeInstanceStatusResponse+    :: Int -- ^ 'disrsStatus'+    -> DescribeInstanceStatusResponse+describeInstanceStatusResponse pStatus_ =+    DescribeInstanceStatusResponse'+    { _disrsInstanceStatuses = Nothing+    , _disrsNextToken = Nothing+    , _disrsStatus = pStatus_+    } -    request  = post "DescribeInstanceStatus"-    response = xmlResponse+-- | One or more instance status descriptions.+disrsInstanceStatuses :: Lens' DescribeInstanceStatusResponse [InstanceStatus]+disrsInstanceStatuses = lens _disrsInstanceStatuses (\ s a -> s{_disrsInstanceStatuses = a}) . _Default . _Coerce; -instance FromXML DescribeInstanceStatusResponse where-    parseXML x = DescribeInstanceStatusResponse-        <$> x .@? "instanceStatusSet" .!@ mempty-        <*> x .@? "nextToken"+-- | The token to use to retrieve the next page of results. This value is+-- 'null' when there are no more results to return.+disrsNextToken :: Lens' DescribeInstanceStatusResponse (Maybe Text)+disrsNextToken = lens _disrsNextToken (\ s a -> s{_disrsNextToken = a}); -instance AWSPager DescribeInstanceStatus where-    page rq rs-        | stop (rs ^. disrNextToken) = Nothing-        | otherwise = (\x -> rq & disNextToken ?~ x)-            <$> (rs ^. disrNextToken)+-- | The response status code.+disrsStatus :: Lens' DescribeInstanceStatusResponse Int+disrsStatus = lens _disrsStatus (\ s a -> s{_disrsStatus = a});
gen/Network/AWS/EC2/DescribeInstances.hs view
@@ -1,405 +1,446 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your instances.+-- Describes one or more of your instances. ----- If you specify one or more instance IDs, Amazon EC2 returns information for--- those instances. If you do not specify instance IDs, Amazon EC2 returns--- information for all relevant instances. If you specify an instance ID that is--- not valid, an error is returned. If you specify an instance that you do not--- own, it is not included in the returned results.+-- If you specify one or more instance IDs, Amazon EC2 returns information+-- for those instances. If you do not specify instance IDs, Amazon EC2+-- returns information for all relevant instances. If you specify an+-- instance ID that is not valid, an error is returned. If you specify an+-- instance that you do not own, it is not included in the returned+-- results. -- -- Recently terminated instances might appear in the returned results. This -- interval is usually less than one hour. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html>+-- /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     (-    -- * Request-      DescribeInstances-    -- ** Request constructor-    , describeInstances-    -- ** Request lenses-    , di1DryRun-    , di1Filters-    , di1InstanceIds-    , di1MaxResults-    , di1NextToken+    -- * Creating a Request+      describeInstances+    , DescribeInstances+    -- * Request Lenses+    , diiFilters+    , diiNextToken+    , diiInstanceIds+    , diiDryRun+    , diiMaxResults -    -- * Response-    , DescribeInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeInstancesResponse-    -- ** Response lenses-    , dirNextToken-    , dirReservations+    , DescribeInstancesResponse+    -- * Response Lenses+    , dirsNextToken+    , dirsReservations+    , dirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeInstances = DescribeInstances-    { _di1DryRun      :: Maybe Bool-    , _di1Filters     :: List "Filter" Filter-    , _di1InstanceIds :: List "InstanceId" Text-    , _di1MaxResults  :: Maybe Int-    , _di1NextToken   :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeInstances' smart constructor.+data DescribeInstances = DescribeInstances'+    { _diiFilters     :: !(Maybe [Filter])+    , _diiNextToken   :: !(Maybe Text)+    , _diiInstanceIds :: !(Maybe [Text])+    , _diiDryRun      :: !(Maybe Bool)+    , _diiMaxResults  :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeInstances' with the minimum fields required to make a request. ----- * 'di1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'di1Filters' @::@ ['Filter']+-- * 'diiFilters' ----- * 'di1InstanceIds' @::@ ['Text']+-- * 'diiNextToken' ----- * 'di1MaxResults' @::@ 'Maybe' 'Int'+-- * 'diiInstanceIds' ----- * 'di1NextToken' @::@ 'Maybe' 'Text'+-- * 'diiDryRun' ---describeInstances :: DescribeInstances-describeInstances = DescribeInstances-    { _di1DryRun      = Nothing-    , _di1InstanceIds = mempty-    , _di1Filters     = mempty-    , _di1NextToken   = Nothing-    , _di1MaxResults  = Nothing+-- * 'diiMaxResults'+describeInstances+    :: DescribeInstances+describeInstances =+    DescribeInstances'+    { _diiFilters = Nothing+    , _diiNextToken = Nothing+    , _diiInstanceIds = Nothing+    , _diiDryRun = Nothing+    , _diiMaxResults = Nothing     } --- | 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'.-di1DryRun :: Lens' DescribeInstances (Maybe Bool)-di1DryRun = lens _di1DryRun (\s a -> s { _di1DryRun = a })- -- | One or more filters. ----- 'architecture' - The instance architecture ('i386' | 'x86_64').------ 'availability-zone' - The Availability Zone of the instance.+-- -   'architecture' - The instance architecture ('i386' | 'x86_64'). ----- 'block-device-mapping.attach-time' - The attach time for an EBS volume--- mapped to the instance, for example, '2010-09-15T17:15:20.000Z'.+-- -   'availability-zone' - The Availability Zone of the instance. ----- 'block-device-mapping.delete-on-termination' - A Boolean that indicates--- whether the EBS volume is deleted on instance termination.+-- -   'block-device-mapping.attach-time' - The attach time for an EBS+--     volume mapped to the instance, for example,+--     '2010-09-15T17:15:20.000Z'. ----- 'block-device-mapping.device-name' - The device name for the EBS volume (for--- example, '/dev/sdh' or 'xvdh').+-- -   'block-device-mapping.delete-on-termination' - A Boolean that+--     indicates whether the EBS volume is deleted on instance termination. ----- 'block-device-mapping.status' - The status for the EBS volume ('attaching' | 'attached' | 'detaching' | 'detached').+-- -   'block-device-mapping.device-name' - The device name for the EBS+--     volume (for example, '\/dev\/sdh' or 'xvdh'). ----- 'block-device-mapping.volume-id' - The volume ID of the EBS volume.+-- -   'block-device-mapping.status' - The status for the EBS volume+--     ('attaching' | 'attached' | 'detaching' | 'detached'). ----- 'client-token' - The idempotency token you provided when you launched the--- instance.+-- -   'block-device-mapping.volume-id' - The volume ID of the EBS volume. ----- 'dns-name' - The public DNS name of the instance.+-- -   'client-token' - The idempotency token you provided when you+--     launched the instance. ----- 'group-id' - The ID of the security group for the instance. EC2-Classic only.+-- -   'dns-name' - The public DNS name of the instance. ----- 'group-name' - The name of the security group for the instance. EC2-Classic--- only.+-- -   'group-id' - The ID of the security group for the instance.+--     EC2-Classic only. ----- 'hypervisor' - The hypervisor type of the instance ('ovm' | 'xen').+-- -   'group-name' - The name of the security group for the instance.+--     EC2-Classic only. ----- 'iam-instance-profile.arn' - The instance profile associated with the--- instance. Specified as an ARN.+-- -   'hypervisor' - The hypervisor type of the instance ('ovm' | 'xen'). ----- 'image-id' - The ID of the image used to launch the instance.+-- -   'iam-instance-profile.arn' - The instance profile associated with+--     the instance. Specified as an ARN. ----- 'instance-id' - The ID of the instance.+-- -   'image-id' - The ID of the image used to launch the instance. ----- 'instance-lifecycle' - Indicates whether this is a Spot Instance ('spot').+-- -   'instance-id' - The ID of the instance. ----- 'instance-state-code' - The state of the instance, as a 16-bit unsigned--- integer. The high byte is an opaque internal value and should be ignored. The--- low byte is set based on the state represented. The valid values are: 0--- (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),--- and 80 (stopped).+-- -   'instance-lifecycle' - Indicates whether this is a Spot Instance+--     ('spot'). ----- 'instance-state-name' - The state of the instance ('pending' | 'running' | 'shutting-down' | 'terminated' | 'stopping' | 'stopped').+-- -   'instance-state-code' - The state of the instance, as a 16-bit+--     unsigned integer. The high byte is an opaque internal value and+--     should be ignored. The low byte is set based on the state+--     represented. The valid values are: 0 (pending), 16 (running), 32+--     (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped). ----- 'instance-type' - The type of instance (for example, 't2.micro').+-- -   'instance-state-name' - The state of the instance ('pending' |+--     'running' | 'shutting-down' | 'terminated' | 'stopping' |+--     'stopped'). ----- 'instance.group-id' - The ID of the security group for the instance.+-- -   'instance-type' - The type of instance (for example, 't2.micro'). ----- 'instance.group-name' - The name of the security group for the instance.+-- -   'instance.group-id' - The ID of the security group for the instance. ----- 'ip-address' - The public IP address of the instance.+-- -   'instance.group-name' - The name of the security group for the+--     instance. ----- 'kernel-id' - The kernel ID.+-- -   'ip-address' - The public IP address of the instance. ----- 'key-name' - The name of the key pair used when the instance was launched.+-- -   'kernel-id' - The kernel ID. ----- 'launch-index' - When launching multiple instances, this is the index for--- the instance in the launch group (for example, 0, 1, 2, and so on).+-- -   'key-name' - The name of the key pair used when the instance was+--     launched. ----- 'launch-time' - The time when the instance was launched.+-- -   'launch-index' - When launching multiple instances, this is the+--     index for the instance in the launch group (for example, 0, 1, 2,+--     and so on). ----- 'monitoring-state' - Indicates whether monitoring is enabled for the--- instance ('disabled' | 'enabled').+-- -   'launch-time' - The time when the instance was launched. ----- 'owner-id' - The AWS account ID of the instance owner.+-- -   'monitoring-state' - Indicates whether monitoring is enabled for the+--     instance ('disabled' | 'enabled'). ----- 'placement-group-name' - The name of the placement group for the instance.+-- -   'owner-id' - The AWS account ID of the instance owner. ----- 'platform' - The platform. Use 'windows' if you have Windows instances;--- otherwise, leave blank.+-- -   'placement-group-name' - The name of the placement group for the+--     instance. ----- 'private-dns-name' - The private DNS name of the instance.+-- -   'platform' - The platform. Use 'windows' if you have Windows+--     instances; otherwise, leave blank. ----- 'private-ip-address' - The private IP address of the instance.+-- -   'private-dns-name' - The private DNS name of the instance. ----- 'product-code' - The product code associated with the AMI used to launch the--- instance.+-- -   'private-ip-address' - The private IP address of the instance. ----- 'product-code.type' - The type of product code ('devpay' | 'marketplace').+-- -   'product-code' - The product code associated with the AMI used to+--     launch the instance. ----- 'ramdisk-id' - The RAM disk ID.+-- -   'product-code.type' - The type of product code ('devpay' |+--     'marketplace'). ----- 'reason' - The reason for the current state of the instance (for example,--- shows "User Initiated [date]" when you stop or terminate the instance).--- Similar to the state-reason-code filter.+-- -   'ramdisk-id' - The RAM disk ID. ----- 'requester-id' - The ID of the entity that launched the instance on your--- behalf (for example, AWS Management Console, Auto Scaling, and so on).+-- -   'reason' - The reason for the current state of the instance (for+--     example, shows \"User Initiated [date]\" when you stop or terminate+--     the instance). Similar to the state-reason-code filter. ----- 'reservation-id' - The ID of the instance's reservation. A reservation ID is--- created any time you launch an instance. A reservation ID has a one-to-one--- relationship with an instance launch request, but can be associated with more--- than one instance if you launch multiple instances using the same launch--- request. For example, if you launch one instance, you'll get one reservation--- ID. If you launch ten instances using the same launch request, you'll also--- get one reservation ID.+-- -   'requester-id' - The ID of the entity that launched the instance on+--     your behalf (for example, AWS Management Console, Auto Scaling, and+--     so on). ----- 'root-device-name' - The name of the root device for the instance (for--- example, '/dev/sda1' or '/dev/xvda').+-- -   'reservation-id' - The ID of the instance\'s reservation. A+--     reservation ID is created any time you launch an instance. A+--     reservation ID has a one-to-one relationship with an instance launch+--     request, but can be associated with more than one instance if you+--     launch multiple instances using the same launch request. For+--     example, if you launch one instance, you\'ll get one reservation ID.+--     If you launch ten instances using the same launch request, you\'ll+--     also get one reservation ID. ----- 'root-device-type' - The type of root device that the instance uses ('ebs' | 'instance-store').+-- -   'root-device-name' - The name of the root device for the instance+--     (for example, '\/dev\/sda1' or '\/dev\/xvda'). ----- 'source-dest-check' - Indicates whether the instance performs--- source/destination checking. A value of 'true' means that checking is enabled,--- and 'false' means checking is disabled. The value must be 'false' for the--- instance to perform network address translation (NAT) in your VPC.+-- -   'root-device-type' - The type of root device that the instance uses+--     ('ebs' | 'instance-store'). ----- 'spot-instance-request-id' - The ID of the Spot Instance request.+-- -   'source-dest-check' - Indicates whether the instance performs+--     source\/destination checking. A value of 'true' means that checking+--     is enabled, and 'false' means checking is disabled. The value must+--     be 'false' for the instance to perform network address translation+--     (NAT) in your VPC. ----- 'state-reason-code' - The reason code for the state change.+-- -   'spot-instance-request-id' - The ID of the Spot Instance request. ----- 'state-reason-message' - A message that describes the state change.+-- -   'state-reason-code' - The reason code for the state change. ----- 'subnet-id' - The ID of the subnet for the instance.+-- -   'state-reason-message' - A message that describes the state change. ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource, where 'tag':/key/ is the tag's key.+-- -   'subnet-id' - The ID of the subnet for the instance. ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource, where 'tag':/key/ is the tag\'s key. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter. ----- 'tenancy' - The tenancy of an instance ('dedicated' | 'default').+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter. ----- 'virtualization-type' - The virtualization type of the instance ('paravirtual'--- | 'hvm').+-- -   'tenancy' - The tenancy of an instance ('dedicated' | 'default'). ----- 'vpc-id' - The ID of the VPC that the instance is running in.+-- -   'virtualization-type' - The virtualization type of the instance+--     ('paravirtual' | 'hvm'). ----- 'network-interface.description' - The description of the network interface.+-- -   'vpc-id' - The ID of the VPC that the instance is running in. ----- 'network-interface.subnet-id' - The ID of the subnet for the network--- interface.+-- -   'network-interface.description' - The description of the network+--     interface. ----- 'network-interface.vpc-id' - The ID of the VPC for the network interface.+-- -   'network-interface.subnet-id' - The ID of the subnet for the network+--     interface. ----- 'network-interface.network-interface.id' - The ID of the network interface.+-- -   'network-interface.vpc-id' - The ID of the VPC for the network+--     interface. ----- 'network-interface.owner-id' - The ID of the owner of the network interface.+-- -   'network-interface.network-interface.id' - The ID of the network+--     interface. ----- 'network-interface.availability-zone' - The Availability Zone for the--- network interface.+-- -   'network-interface.owner-id' - The ID of the owner of the network+--     interface. ----- 'network-interface.requester-id' - The requester ID for the network--- interface.+-- -   'network-interface.availability-zone' - The Availability Zone for+--     the network interface. ----- 'network-interface.requester-managed' - Indicates whether the network--- interface is being managed by AWS.+-- -   'network-interface.requester-id' - The requester ID for the network+--     interface. ----- 'network-interface.status' - The status of the network interface ('available')--- | 'in-use').+-- -   'network-interface.requester-managed' - Indicates whether the+--     network interface is being managed by AWS. ----- 'network-interface.mac-address' - The MAC address of the network interface.+-- -   'network-interface.status' - The status of the network interface+--     ('available') | 'in-use'). ----- 'network-interface-private-dns-name' - The private DNS name of the network--- interface.+-- -   'network-interface.mac-address' - The MAC address of the network+--     interface. ----- 'network-interface.source-dest-check' - Whether the network interface--- performs source/destination checking. A value of 'true' means checking is--- enabled, and 'false' means checking is disabled. The value must be 'false' for--- the network interface to perform network address translation (NAT) in your--- VPC.+-- -   'network-interface-private-dns-name' - The private DNS name of the+--     network interface. ----- 'network-interface.group-id' - The ID of a security group associated with--- the network interface.+-- -   'network-interface.source-dest-check' - Whether the network+--     interface performs source\/destination checking. A value of 'true'+--     means checking is enabled, and 'false' means checking is disabled.+--     The value must be 'false' for the network interface to perform+--     network address translation (NAT) in your VPC. ----- 'network-interface.group-name' - The name of a security group associated--- with the network interface.+-- -   'network-interface.group-id' - The ID of a security group associated+--     with the network interface. ----- 'network-interface.attachment.attachment-id' - The ID of the interface--- attachment.+-- -   'network-interface.group-name' - The name of a security group+--     associated with the network interface. ----- 'network-interface.attachment.instance-id' - The ID of the instance to which--- the network interface is attached.+-- -   'network-interface.attachment.attachment-id' - The ID of the+--     interface attachment. ----- 'network-interface.attachment.instance-owner-id' - The owner ID of the--- instance to which the network interface is attached.+-- -   'network-interface.attachment.instance-id' - The ID of the instance+--     to which the network interface is attached. ----- 'network-interface.addresses.private-ip-address' - The private IP address--- associated with the network interface.+-- -   'network-interface.attachment.instance-owner-id' - The owner ID of+--     the instance to which the network interface is attached. ----- 'network-interface.attachment.device-index' - The device index to which the--- network interface is attached.+-- -   'network-interface.addresses.private-ip-address' - The private IP+--     address associated with the network interface. ----- 'network-interface.attachment.status' - The status of the attachment ('attaching' | 'attached' | 'detaching' | 'detached').+-- -   'network-interface.attachment.device-index' - The device index to+--     which the network interface is attached. ----- 'network-interface.attachment.attach-time' - The time that the network--- interface was attached to an instance.+-- -   'network-interface.attachment.status' - The status of the attachment+--     ('attaching' | 'attached' | 'detaching' | 'detached'). ----- 'network-interface.attachment.delete-on-termination' - Specifies whether the--- attachment is deleted when an instance is terminated.+-- -   'network-interface.attachment.attach-time' - The time that the+--     network interface was attached to an instance. ----- 'network-interface.addresses.primary' - Specifies whether the IP address of--- the network interface is the primary private IP address.+-- -   'network-interface.attachment.delete-on-termination' - Specifies+--     whether the attachment is deleted when an instance is terminated. ----- 'network-interface.addresses.association.public-ip' - The ID of the--- association of an Elastic IP address with a network interface.+-- -   'network-interface.addresses.primary' - Specifies whether the IP+--     address of the network interface is the primary private IP address. ----- 'network-interface.addresses.association.ip-owner-id' - The owner ID of the--- private IP address associated with the network interface.+-- -   'network-interface.addresses.association.public-ip' - The ID of the+--     association of an Elastic IP address with a network interface. ----- 'association.public-ip' - The address of the Elastic IP address bound to the--- network interface.+-- -   'network-interface.addresses.association.ip-owner-id' - The owner ID+--     of the private IP address associated with the network interface. ----- 'association.ip-owner-id' - The owner of the Elastic IP address associated--- with the network interface.+-- -   'association.public-ip' - The address of the Elastic IP address+--     bound to the network interface. ----- 'association.allocation-id' - The allocation ID returned when you allocated--- the Elastic IP address for your network interface.+-- -   'association.ip-owner-id' - The owner of the Elastic IP address+--     associated with the network interface. ----- 'association.association-id' - The association ID returned when the network--- interface was associated with an IP address.+-- -   'association.allocation-id' - The allocation ID returned when you+--     allocated the Elastic IP address for your network interface. --+-- -   'association.association-id' - The association ID returned when the+--     network interface was associated with an IP address. ---di1Filters :: Lens' DescribeInstances [Filter]-di1Filters = lens _di1Filters (\s a -> s { _di1Filters = a }) . _List+diiFilters :: Lens' DescribeInstances [Filter]+diiFilters = lens _diiFilters (\ s a -> s{_diiFilters = a}) . _Default . _Coerce; +-- | The token to request the next page of results.+diiNextToken :: Lens' DescribeInstances (Maybe Text)+diiNextToken = lens _diiNextToken (\ s a -> s{_diiNextToken = a});+ -- | One or more instance IDs. -- -- Default: Describes all your instances.-di1InstanceIds :: Lens' DescribeInstances [Text]-di1InstanceIds = lens _di1InstanceIds (\s a -> s { _di1InstanceIds = a }) . _List---- | The maximum number of results to return for the request in a single page. The--- remaining results of the initial request can be seen by sending another--- request with the returned 'NextToken' value. This value can be between 5 and--- 1000; if 'MaxResults' is given a value larger than 1000, only 1000 results are--- returned. You cannot specify this parameter and the instance IDs parameter in--- the same request.-di1MaxResults :: Lens' DescribeInstances (Maybe Int)-di1MaxResults = lens _di1MaxResults (\s a -> s { _di1MaxResults = a })+diiInstanceIds :: Lens' DescribeInstances [Text]+diiInstanceIds = lens _diiInstanceIds (\ s a -> s{_diiInstanceIds = a}) . _Default . _Coerce; --- | The token to request the next page of results.-di1NextToken :: Lens' DescribeInstances (Maybe Text)-di1NextToken = lens _di1NextToken (\s a -> s { _di1NextToken = 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'.+diiDryRun :: Lens' DescribeInstances (Maybe Bool)+diiDryRun = lens _diiDryRun (\ s a -> s{_diiDryRun = a}); -data DescribeInstancesResponse = DescribeInstancesResponse-    { _dirNextToken    :: Maybe Text-    , _dirReservations :: List "item" Reservation-    } deriving (Eq, Read, Show)+-- | The maximum number of results to return for the request in a single+-- page. The remaining results of the initial request can be seen by+-- sending another request with the returned 'NextToken' value. This value+-- can be between 5 and 1000; if 'MaxResults' is given a value larger than+-- 1000, only 1000 results are returned. You cannot specify this parameter+-- and the instance IDs parameter in the same request.+diiMaxResults :: Lens' DescribeInstances (Maybe Int)+diiMaxResults = lens _diiMaxResults (\ s a -> s{_diiMaxResults = a}); --- | 'DescribeInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dirNextToken' @::@ 'Maybe' 'Text'------ * 'dirReservations' @::@ ['Reservation']----describeInstancesResponse :: DescribeInstancesResponse-describeInstancesResponse = DescribeInstancesResponse-    { _dirReservations = mempty-    , _dirNextToken    = Nothing-    }+instance AWSPager DescribeInstances where+        page rq rs+          | stop (rs ^. dirsNextToken) = Nothing+          | stop (rs ^. dirsReservations) = Nothing+          | otherwise =+            Just $ rq & diiNextToken .~ rs ^. dirsNextToken --- | The token to use to retrieve the next page of results. This value is 'null'--- when there are no more results to return.-dirNextToken :: Lens' DescribeInstancesResponse (Maybe Text)-dirNextToken = lens _dirNextToken (\s a -> s { _dirNextToken = a })+instance AWSRequest DescribeInstances where+        type Sv DescribeInstances = EC2+        type Rs DescribeInstances = DescribeInstancesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeInstancesResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "reservationSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | One or more reservations.-dirReservations :: Lens' DescribeInstancesResponse [Reservation]-dirReservations = lens _dirReservations (\s a -> s { _dirReservations = a }) . _List+instance ToHeaders DescribeInstances where+        toHeaders = const mempty  instance ToPath DescribeInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeInstances where-    toQuery DescribeInstances{..} = mconcat-        [ "DryRun"     =? _di1DryRun-        , "Filter"     `toQueryList` _di1Filters-        , "InstanceId" `toQueryList` _di1InstanceIds-        , "MaxResults" =? _di1MaxResults-        , "NextToken"  =? _di1NextToken-        ]+        toQuery DescribeInstances'{..}+          = mconcat+              ["Action" =: ("DescribeInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _diiFilters),+               "NextToken" =: _diiNextToken,+               toQuery+                 (toQueryList "InstanceId" <$> _diiInstanceIds),+               "DryRun" =: _diiDryRun,+               "MaxResults" =: _diiMaxResults] -instance ToHeaders DescribeInstances+-- | /See:/ 'describeInstancesResponse' smart constructor.+data DescribeInstancesResponse = DescribeInstancesResponse'+    { _dirsNextToken    :: !(Maybe Text)+    , _dirsReservations :: !(Maybe [Reservation])+    , _dirsStatus       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeInstances where-    type Sv DescribeInstances = EC2-    type Rs DescribeInstances = DescribeInstancesResponse+-- | Creates a value of 'DescribeInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dirsNextToken'+--+-- * 'dirsReservations'+--+-- * 'dirsStatus'+describeInstancesResponse+    :: Int -- ^ 'dirsStatus'+    -> DescribeInstancesResponse+describeInstancesResponse pStatus_ =+    DescribeInstancesResponse'+    { _dirsNextToken = Nothing+    , _dirsReservations = Nothing+    , _dirsStatus = pStatus_+    } -    request  = post "DescribeInstances"-    response = xmlResponse+-- | The token to use to retrieve the next page of results. This value is+-- 'null' when there are no more results to return.+dirsNextToken :: Lens' DescribeInstancesResponse (Maybe Text)+dirsNextToken = lens _dirsNextToken (\ s a -> s{_dirsNextToken = a}); -instance FromXML DescribeInstancesResponse where-    parseXML x = DescribeInstancesResponse-        <$> x .@? "nextToken"-        <*> x .@? "reservationSet" .!@ mempty+-- | One or more reservations.+dirsReservations :: Lens' DescribeInstancesResponse [Reservation]+dirsReservations = lens _dirsReservations (\ s a -> s{_dirsReservations = a}) . _Default . _Coerce; -instance AWSPager DescribeInstances where-    page rq rs-        | stop (rs ^. dirNextToken) = Nothing-        | otherwise = (\x -> rq & di1NextToken ?~ x)-            <$> (rs ^. dirNextToken)+-- | The response status code.+dirsStatus :: Lens' DescribeInstancesResponse Int+dirsStatus = lens _dirsStatus (\ s a -> s{_dirsStatus = a});
gen/Network/AWS/EC2/DescribeInternetGateways.hs view
@@ -1,157 +1,171 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeInternetGateways--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your Internet gateways.+-- Describes one or more of your Internet gateways. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInternetGateways.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInternetGateways.html AWS API Reference> for DescribeInternetGateways. module Network.AWS.EC2.DescribeInternetGateways     (-    -- * Request-      DescribeInternetGateways-    -- ** Request constructor-    , describeInternetGateways-    -- ** Request lenses-    , dig1DryRun-    , dig1Filters-    , dig1InternetGatewayIds+    -- * Creating a Request+      describeInternetGateways+    , DescribeInternetGateways+    -- * Request Lenses+    , dFilters+    , dInternetGatewayIds+    , dDryRun -    -- * Response-    , DescribeInternetGatewaysResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeInternetGatewaysResponse-    -- ** Response lenses-    , digrInternetGateways+    , DescribeInternetGatewaysResponse+    -- * Response Lenses+    , digrsInternetGateways+    , digrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeInternetGateways = DescribeInternetGateways-    { _dig1DryRun             :: Maybe Bool-    , _dig1Filters            :: List "Filter" Filter-    , _dig1InternetGatewayIds :: List "item" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeInternetGateways' smart constructor.+data DescribeInternetGateways = DescribeInternetGateways'+    { _dFilters            :: !(Maybe [Filter])+    , _dInternetGatewayIds :: !(Maybe [Text])+    , _dDryRun             :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeInternetGateways' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeInternetGateways' with the minimum fields required to make a request. ----- * 'dig1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dig1Filters' @::@ ['Filter']+-- * 'dFilters' ----- * 'dig1InternetGatewayIds' @::@ ['Text']+-- * 'dInternetGatewayIds' ---describeInternetGateways :: DescribeInternetGateways-describeInternetGateways = DescribeInternetGateways-    { _dig1DryRun             = Nothing-    , _dig1InternetGatewayIds = mempty-    , _dig1Filters            = mempty+-- * 'dDryRun'+describeInternetGateways+    :: DescribeInternetGateways+describeInternetGateways =+    DescribeInternetGateways'+    { _dFilters = Nothing+    , _dInternetGatewayIds = Nothing+    , _dDryRun = Nothing     } --- | 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'.-dig1DryRun :: Lens' DescribeInternetGateways (Maybe Bool)-dig1DryRun = lens _dig1DryRun (\s a -> s { _dig1DryRun = a })- -- | One or more filters. ----- 'attachment.state' - The current state of the attachment between the gateway--- and the VPC ('available'). Present only if a VPC is attached.------ 'attachment.vpc-id' - The ID of an attached VPC.+-- -   'attachment.state' - The current state of the attachment between the+--     gateway and the VPC ('available'). Present only if a VPC is+--     attached. ----- 'internet-gateway-id' - The ID of the Internet gateway.+-- -   'attachment.vpc-id' - The ID of an attached VPC. ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.+-- -   'internet-gateway-id' - The ID of the Internet gateway. ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter. --+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter. ---dig1Filters :: Lens' DescribeInternetGateways [Filter]-dig1Filters = lens _dig1Filters (\s a -> s { _dig1Filters = a }) . _List+dFilters :: Lens' DescribeInternetGateways [Filter]+dFilters = lens _dFilters (\ s a -> s{_dFilters = a}) . _Default . _Coerce;  -- | One or more Internet gateway IDs. -- -- Default: Describes all your Internet gateways.-dig1InternetGatewayIds :: Lens' DescribeInternetGateways [Text]-dig1InternetGatewayIds =-    lens _dig1InternetGatewayIds (\s a -> s { _dig1InternetGatewayIds = a })-        . _List+dInternetGatewayIds :: Lens' DescribeInternetGateways [Text]+dInternetGatewayIds = lens _dInternetGatewayIds (\ s a -> s{_dInternetGatewayIds = a}) . _Default . _Coerce; -newtype DescribeInternetGatewaysResponse = DescribeInternetGatewaysResponse-    { _digrInternetGateways :: List "item" InternetGateway-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+dDryRun :: Lens' DescribeInternetGateways (Maybe Bool)+dDryRun = lens _dDryRun (\ s a -> s{_dDryRun = a}); --- | 'DescribeInternetGatewaysResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'digrInternetGateways' @::@ ['InternetGateway']----describeInternetGatewaysResponse :: DescribeInternetGatewaysResponse-describeInternetGatewaysResponse = DescribeInternetGatewaysResponse-    { _digrInternetGateways = mempty-    }+instance AWSRequest DescribeInternetGateways where+        type Sv DescribeInternetGateways = EC2+        type Rs DescribeInternetGateways =+             DescribeInternetGatewaysResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeInternetGatewaysResponse' <$>+                   (x .@? "internetGatewaySet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more Internet gateways.-digrInternetGateways :: Lens' DescribeInternetGatewaysResponse [InternetGateway]-digrInternetGateways =-    lens _digrInternetGateways (\s a -> s { _digrInternetGateways = a })-        . _List+instance ToHeaders DescribeInternetGateways where+        toHeaders = const mempty  instance ToPath DescribeInternetGateways where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeInternetGateways where-    toQuery DescribeInternetGateways{..} = mconcat-        [ "DryRun"            =? _dig1DryRun-        , "Filter"            `toQueryList` _dig1Filters-        , "InternetGatewayId" `toQueryList` _dig1InternetGatewayIds-        ]+        toQuery DescribeInternetGateways'{..}+          = mconcat+              ["Action" =:+                 ("DescribeInternetGateways" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dFilters),+               toQuery+                 (toQueryList "item" <$> _dInternetGatewayIds),+               "DryRun" =: _dDryRun] -instance ToHeaders DescribeInternetGateways+-- | /See:/ 'describeInternetGatewaysResponse' smart constructor.+data DescribeInternetGatewaysResponse = DescribeInternetGatewaysResponse'+    { _digrsInternetGateways :: !(Maybe [InternetGateway])+    , _digrsStatus           :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeInternetGateways where-    type Sv DescribeInternetGateways = EC2-    type Rs DescribeInternetGateways = DescribeInternetGatewaysResponse+-- | Creates a value of 'DescribeInternetGatewaysResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'digrsInternetGateways'+--+-- * 'digrsStatus'+describeInternetGatewaysResponse+    :: Int -- ^ 'digrsStatus'+    -> DescribeInternetGatewaysResponse+describeInternetGatewaysResponse pStatus_ =+    DescribeInternetGatewaysResponse'+    { _digrsInternetGateways = Nothing+    , _digrsStatus = pStatus_+    } -    request  = post "DescribeInternetGateways"-    response = xmlResponse+-- | Information about one or more Internet gateways.+digrsInternetGateways :: Lens' DescribeInternetGatewaysResponse [InternetGateway]+digrsInternetGateways = lens _digrsInternetGateways (\ s a -> s{_digrsInternetGateways = a}) . _Default . _Coerce; -instance FromXML DescribeInternetGatewaysResponse where-    parseXML x = DescribeInternetGatewaysResponse-        <$> x .@? "internetGatewaySet" .!@ mempty+-- | The response status code.+digrsStatus :: Lens' DescribeInternetGatewaysResponse Int+digrsStatus = lens _digrsStatus (\ s a -> s{_digrsStatus = a});
gen/Network/AWS/EC2/DescribeKeyPairs.hs view
@@ -1,139 +1,154 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeKeyPairs--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your key pairs.+-- Describes one or more of your key pairs. ----- For more information about key pairs, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html Key Pairs> in the /Amazon ElasticCompute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeKeyPairs.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeKeyPairs.html AWS API Reference> for DescribeKeyPairs. module Network.AWS.EC2.DescribeKeyPairs     (-    -- * Request-      DescribeKeyPairs-    -- ** Request constructor-    , describeKeyPairs-    -- ** Request lenses-    , dkp1DryRun-    , dkp1Filters-    , dkp1KeyNames+    -- * Creating a Request+      describeKeyPairs+    , DescribeKeyPairs+    -- * Request Lenses+    , dkpsFilters+    , dkpsKeyNames+    , dkpsDryRun -    -- * Response-    , DescribeKeyPairsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeKeyPairsResponse-    -- ** Response lenses-    , dkprKeyPairs+    , DescribeKeyPairsResponse+    -- * Response Lenses+    , dkprsKeyPairs+    , dkprsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeKeyPairs = DescribeKeyPairs-    { _dkp1DryRun   :: Maybe Bool-    , _dkp1Filters  :: List "Filter" Filter-    , _dkp1KeyNames :: List "KeyName" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeKeyPairs' smart constructor.+data DescribeKeyPairs = DescribeKeyPairs'+    { _dkpsFilters  :: !(Maybe [Filter])+    , _dkpsKeyNames :: !(Maybe [Text])+    , _dkpsDryRun   :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeKeyPairs' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeKeyPairs' with the minimum fields required to make a request. ----- * 'dkp1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dkp1Filters' @::@ ['Filter']+-- * 'dkpsFilters' ----- * 'dkp1KeyNames' @::@ ['Text']+-- * 'dkpsKeyNames' ---describeKeyPairs :: DescribeKeyPairs-describeKeyPairs = DescribeKeyPairs-    { _dkp1DryRun   = Nothing-    , _dkp1KeyNames = mempty-    , _dkp1Filters  = mempty+-- * 'dkpsDryRun'+describeKeyPairs+    :: DescribeKeyPairs+describeKeyPairs =+    DescribeKeyPairs'+    { _dkpsFilters = Nothing+    , _dkpsKeyNames = Nothing+    , _dkpsDryRun = Nothing     } --- | 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'.-dkp1DryRun :: Lens' DescribeKeyPairs (Maybe Bool)-dkp1DryRun = lens _dkp1DryRun (\s a -> s { _dkp1DryRun = a })- -- | One or more filters. ----- 'fingerprint' - The fingerprint of the key pair.------ 'key-name' - The name of the key pair.+-- -   'fingerprint' - The fingerprint of the key pair. --+-- -   'key-name' - The name of the key pair. ---dkp1Filters :: Lens' DescribeKeyPairs [Filter]-dkp1Filters = lens _dkp1Filters (\s a -> s { _dkp1Filters = a }) . _List+dkpsFilters :: Lens' DescribeKeyPairs [Filter]+dkpsFilters = lens _dkpsFilters (\ s a -> s{_dkpsFilters = a}) . _Default . _Coerce;  -- | One or more key pair names. -- -- Default: Describes all your key pairs.-dkp1KeyNames :: Lens' DescribeKeyPairs [Text]-dkp1KeyNames = lens _dkp1KeyNames (\s a -> s { _dkp1KeyNames = a }) . _List+dkpsKeyNames :: Lens' DescribeKeyPairs [Text]+dkpsKeyNames = lens _dkpsKeyNames (\ s a -> s{_dkpsKeyNames = a}) . _Default . _Coerce; -newtype DescribeKeyPairsResponse = DescribeKeyPairsResponse-    { _dkprKeyPairs :: List "item" KeyPairInfo-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+dkpsDryRun :: Lens' DescribeKeyPairs (Maybe Bool)+dkpsDryRun = lens _dkpsDryRun (\ s a -> s{_dkpsDryRun = a}); --- | 'DescribeKeyPairsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dkprKeyPairs' @::@ ['KeyPairInfo']----describeKeyPairsResponse :: DescribeKeyPairsResponse-describeKeyPairsResponse = DescribeKeyPairsResponse-    { _dkprKeyPairs = mempty-    }+instance AWSRequest DescribeKeyPairs where+        type Sv DescribeKeyPairs = EC2+        type Rs DescribeKeyPairs = DescribeKeyPairsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeKeyPairsResponse' <$>+                   (x .@? "keySet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more key pairs.-dkprKeyPairs :: Lens' DescribeKeyPairsResponse [KeyPairInfo]-dkprKeyPairs = lens _dkprKeyPairs (\s a -> s { _dkprKeyPairs = a }) . _List+instance ToHeaders DescribeKeyPairs where+        toHeaders = const mempty  instance ToPath DescribeKeyPairs where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeKeyPairs where-    toQuery DescribeKeyPairs{..} = mconcat-        [ "DryRun"  =? _dkp1DryRun-        , "Filter"  `toQueryList` _dkp1Filters-        , "KeyName" `toQueryList` _dkp1KeyNames-        ]+        toQuery DescribeKeyPairs'{..}+          = mconcat+              ["Action" =: ("DescribeKeyPairs" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dkpsFilters),+               toQuery (toQueryList "KeyName" <$> _dkpsKeyNames),+               "DryRun" =: _dkpsDryRun] -instance ToHeaders DescribeKeyPairs+-- | /See:/ 'describeKeyPairsResponse' smart constructor.+data DescribeKeyPairsResponse = DescribeKeyPairsResponse'+    { _dkprsKeyPairs :: !(Maybe [KeyPairInfo])+    , _dkprsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeKeyPairs where-    type Sv DescribeKeyPairs = EC2-    type Rs DescribeKeyPairs = DescribeKeyPairsResponse+-- | Creates a value of 'DescribeKeyPairsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dkprsKeyPairs'+--+-- * 'dkprsStatus'+describeKeyPairsResponse+    :: Int -- ^ 'dkprsStatus'+    -> DescribeKeyPairsResponse+describeKeyPairsResponse pStatus_ =+    DescribeKeyPairsResponse'+    { _dkprsKeyPairs = Nothing+    , _dkprsStatus = pStatus_+    } -    request  = post "DescribeKeyPairs"-    response = xmlResponse+-- | Information about one or more key pairs.+dkprsKeyPairs :: Lens' DescribeKeyPairsResponse [KeyPairInfo]+dkprsKeyPairs = lens _dkprsKeyPairs (\ s a -> s{_dkprsKeyPairs = a}) . _Default . _Coerce; -instance FromXML DescribeKeyPairsResponse where-    parseXML x = DescribeKeyPairsResponse-        <$> x .@? "keySet" .!@ mempty+-- | The response status code.+dkprsStatus :: Lens' DescribeKeyPairsResponse Int+dkprsStatus = lens _dkprsStatus (\ s a -> s{_dkprsStatus = a});
gen/Network/AWS/EC2/DescribeMovingAddresses.hs view
@@ -1,176 +1,188 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeMovingAddresses--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes your Elastic IP addresses that are being moved to the EC2-VPC+-- Describes your Elastic IP addresses that are being moved to the EC2-VPC -- 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.+-- request does not return information about any other Elastic IP addresses+-- in your account. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeMovingAddresses.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeMovingAddresses.html AWS API Reference> for DescribeMovingAddresses. module Network.AWS.EC2.DescribeMovingAddresses     (-    -- * Request-      DescribeMovingAddresses-    -- ** Request constructor-    , describeMovingAddresses-    -- ** Request lenses-    , dmaDryRun+    -- * Creating a Request+      describeMovingAddresses+    , DescribeMovingAddresses+    -- * Request Lenses+    , dmaPublicIPs     , dmaFilters-    , dmaMaxResults     , dmaNextToken-    , dmaPublicIps+    , dmaDryRun+    , dmaMaxResults -    -- * Response-    , DescribeMovingAddressesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeMovingAddressesResponse-    -- ** Response lenses-    , dmarMovingAddressStatuses-    , dmarNextToken+    , DescribeMovingAddressesResponse+    -- * Response Lenses+    , dmarsMovingAddressStatuses+    , dmarsNextToken+    , dmarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeMovingAddresses = DescribeMovingAddresses-    { _dmaDryRun     :: Maybe Bool-    , _dmaFilters    :: List "Filter" Filter-    , _dmaMaxResults :: Maybe Int-    , _dmaNextToken  :: Maybe Text-    , _dmaPublicIps  :: List "item" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeMovingAddresses' smart constructor.+data DescribeMovingAddresses = DescribeMovingAddresses'+    { _dmaPublicIPs  :: !(Maybe [Text])+    , _dmaFilters    :: !(Maybe [Filter])+    , _dmaNextToken  :: !(Maybe Text)+    , _dmaDryRun     :: !(Maybe Bool)+    , _dmaMaxResults :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeMovingAddresses' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeMovingAddresses' with the minimum fields required to make a request. ----- * 'dmaDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dmaFilters' @::@ ['Filter']+-- * 'dmaPublicIPs' ----- * 'dmaMaxResults' @::@ 'Maybe' 'Int'+-- * 'dmaFilters' ----- * 'dmaNextToken' @::@ 'Maybe' 'Text'+-- * 'dmaNextToken' ----- * 'dmaPublicIps' @::@ ['Text']+-- * 'dmaDryRun' ---describeMovingAddresses :: DescribeMovingAddresses-describeMovingAddresses = DescribeMovingAddresses-    { _dmaDryRun     = Nothing-    , _dmaPublicIps  = mempty-    , _dmaNextToken  = Nothing-    , _dmaFilters    = mempty+-- * 'dmaMaxResults'+describeMovingAddresses+    :: DescribeMovingAddresses+describeMovingAddresses =+    DescribeMovingAddresses'+    { _dmaPublicIPs = Nothing+    , _dmaFilters = Nothing+    , _dmaNextToken = Nothing+    , _dmaDryRun = Nothing     , _dmaMaxResults = Nothing     } --- | 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'.-dmaDryRun :: Lens' DescribeMovingAddresses (Maybe Bool)-dmaDryRun = lens _dmaDryRun (\s a -> s { _dmaDryRun = a })+-- | One or more Elastic IP addresses.+dmaPublicIPs :: Lens' DescribeMovingAddresses [Text]+dmaPublicIPs = lens _dmaPublicIPs (\ s a -> s{_dmaPublicIPs = a}) . _Default . _Coerce;  -- | One or more filters. ----- 'moving-status' - The status of the Elastic IP address ('MovingToVpc' | 'RestoringToClassic').---+-- -   'moving-status' - The status of the Elastic IP address+--     ('MovingToVpc' | 'RestoringToClassic'). -- dmaFilters :: Lens' DescribeMovingAddresses [Filter]-dmaFilters = lens _dmaFilters (\s a -> s { _dmaFilters = a }) . _List+dmaFilters = lens _dmaFilters (\ s a -> s{_dmaFilters = a}) . _Default . _Coerce; --- | The maximum number of results to return for the request in a single page. The--- remaining results of the initial request can be seen by sending another--- request with the returned 'NextToken' value. This value can be between 5 and--- 1000; if 'MaxResults' is given a value outside of this range, an error is--- returned.+-- | The token to use to retrieve the next page of results.+dmaNextToken :: Lens' DescribeMovingAddresses (Maybe Text)+dmaNextToken = lens _dmaNextToken (\ s a -> s{_dmaNextToken = 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'.+dmaDryRun :: Lens' DescribeMovingAddresses (Maybe Bool)+dmaDryRun = lens _dmaDryRun (\ s a -> s{_dmaDryRun = a});++-- | The maximum number of results to return for the request in a single+-- page. The remaining results of the initial request can be seen by+-- sending another request with the returned 'NextToken' value. This value+-- can be between 5 and 1000; if 'MaxResults' is given a value outside of+-- this range, an error is returned. -- -- Default: If no value is provided, the default is 1000. dmaMaxResults :: Lens' DescribeMovingAddresses (Maybe Int)-dmaMaxResults = lens _dmaMaxResults (\s a -> s { _dmaMaxResults = a })+dmaMaxResults = lens _dmaMaxResults (\ s a -> s{_dmaMaxResults = a}); --- | The token to use to retrieve the next page of results.-dmaNextToken :: Lens' DescribeMovingAddresses (Maybe Text)-dmaNextToken = lens _dmaNextToken (\s a -> s { _dmaNextToken = a })+instance AWSRequest DescribeMovingAddresses where+        type Sv DescribeMovingAddresses = EC2+        type Rs DescribeMovingAddresses =+             DescribeMovingAddressesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeMovingAddressesResponse' <$>+                   (x .@? "movingAddressStatusSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (x .@? "nextToken")+                     <*> (pure (fromEnum s))) --- | One or more Elastic IP addresses.-dmaPublicIps :: Lens' DescribeMovingAddresses [Text]-dmaPublicIps = lens _dmaPublicIps (\s a -> s { _dmaPublicIps = a }) . _List+instance ToHeaders DescribeMovingAddresses where+        toHeaders = const mempty -data DescribeMovingAddressesResponse = DescribeMovingAddressesResponse-    { _dmarMovingAddressStatuses :: List "item" MovingAddressStatus-    , _dmarNextToken             :: Maybe Text-    } deriving (Eq, Read, Show)+instance ToPath DescribeMovingAddresses where+        toPath = const "/" --- | 'DescribeMovingAddressesResponse' constructor.+instance ToQuery DescribeMovingAddresses where+        toQuery DescribeMovingAddresses'{..}+          = mconcat+              ["Action" =:+                 ("DescribeMovingAddresses" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "item" <$> _dmaPublicIPs),+               toQuery (toQueryList "Filter" <$> _dmaFilters),+               "NextToken" =: _dmaNextToken, "DryRun" =: _dmaDryRun,+               "MaxResults" =: _dmaMaxResults]++-- | /See:/ 'describeMovingAddressesResponse' smart constructor.+data DescribeMovingAddressesResponse = DescribeMovingAddressesResponse'+    { _dmarsMovingAddressStatuses :: !(Maybe [MovingAddressStatus])+    , _dmarsNextToken             :: !(Maybe Text)+    , _dmarsStatus                :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeMovingAddressesResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dmarMovingAddressStatuses' @::@ ['MovingAddressStatus']+-- * 'dmarsMovingAddressStatuses' ----- * 'dmarNextToken' @::@ 'Maybe' 'Text'+-- * 'dmarsNextToken' ---describeMovingAddressesResponse :: DescribeMovingAddressesResponse-describeMovingAddressesResponse = DescribeMovingAddressesResponse-    { _dmarMovingAddressStatuses = mempty-    , _dmarNextToken             = Nothing+-- * 'dmarsStatus'+describeMovingAddressesResponse+    :: Int -- ^ 'dmarsStatus'+    -> DescribeMovingAddressesResponse+describeMovingAddressesResponse pStatus_ =+    DescribeMovingAddressesResponse'+    { _dmarsMovingAddressStatuses = Nothing+    , _dmarsNextToken = Nothing+    , _dmarsStatus = pStatus_     }  -- | The status for each Elastic IP address.-dmarMovingAddressStatuses :: Lens' DescribeMovingAddressesResponse [MovingAddressStatus]-dmarMovingAddressStatuses =-    lens _dmarMovingAddressStatuses-        (\s a -> s { _dmarMovingAddressStatuses = a })-            . _List---- | The token to use to retrieve the next page of results. This value is 'null'--- when there are no more results to return.-dmarNextToken :: Lens' DescribeMovingAddressesResponse (Maybe Text)-dmarNextToken = lens _dmarNextToken (\s a -> s { _dmarNextToken = a })--instance ToPath DescribeMovingAddresses where-    toPath = const "/"--instance ToQuery DescribeMovingAddresses where-    toQuery DescribeMovingAddresses{..} = mconcat-        [ "DryRun"     =? _dmaDryRun-        , "Filter"     `toQueryList` _dmaFilters-        , "MaxResults" =? _dmaMaxResults-        , "NextToken"  =? _dmaNextToken-        , "PublicIp"   `toQueryList` _dmaPublicIps-        ]--instance ToHeaders DescribeMovingAddresses--instance AWSRequest DescribeMovingAddresses where-    type Sv DescribeMovingAddresses = EC2-    type Rs DescribeMovingAddresses = DescribeMovingAddressesResponse+dmarsMovingAddressStatuses :: Lens' DescribeMovingAddressesResponse [MovingAddressStatus]+dmarsMovingAddressStatuses = lens _dmarsMovingAddressStatuses (\ s a -> s{_dmarsMovingAddressStatuses = a}) . _Default . _Coerce; -    request  = post "DescribeMovingAddresses"-    response = xmlResponse+-- | The token to use to retrieve the next page of results. This value is+-- 'null' when there are no more results to return.+dmarsNextToken :: Lens' DescribeMovingAddressesResponse (Maybe Text)+dmarsNextToken = lens _dmarsNextToken (\ s a -> s{_dmarsNextToken = a}); -instance FromXML DescribeMovingAddressesResponse where-    parseXML x = DescribeMovingAddressesResponse-        <$> x .@? "movingAddressStatusSet" .!@ mempty-        <*> x .@? "nextToken"+-- | The response status code.+dmarsStatus :: Lens' DescribeMovingAddressesResponse Int+dmarsStatus = lens _dmarsStatus (\ s a -> s{_dmarsStatus = a});
+ gen/Network/AWS/EC2/DescribeNetworkACLs.hs view
@@ -0,0 +1,205 @@+{-# 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.DescribeNetworkACLs+-- 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)+--+-- Describes one or more of your network ACLs.+--+-- 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+      describeNetworkACLs+    , DescribeNetworkACLs+    -- * Request Lenses+    , dnaclFilters+    , dnaclDryRun+    , dnaclNetworkACLIds++    -- * Destructuring the Response+    , describeNetworkACLsResponse+    , DescribeNetworkACLsResponse+    -- * Response Lenses+    , dnarsNetworkACLs+    , dnarsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeNetworkACLs' smart constructor.+data DescribeNetworkACLs = DescribeNetworkACLs'+    { _dnaclFilters       :: !(Maybe [Filter])+    , _dnaclDryRun        :: !(Maybe Bool)+    , _dnaclNetworkACLIds :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeNetworkACLs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dnaclFilters'+--+-- * 'dnaclDryRun'+--+-- * 'dnaclNetworkACLIds'+describeNetworkACLs+    :: DescribeNetworkACLs+describeNetworkACLs =+    DescribeNetworkACLs'+    { _dnaclFilters = Nothing+    , _dnaclDryRun = Nothing+    , _dnaclNetworkACLIds = Nothing+    }++-- | One or more filters.+--+-- -   'association.association-id' - The ID of an association ID for the+--     ACL.+--+-- -   'association.network-acl-id' - The ID of the network ACL involved in+--     the association.+--+-- -   'association.subnet-id' - The ID of the subnet involved in the+--     association.+--+-- -   'default' - Indicates whether the ACL is the default network ACL for+--     the VPC.+--+-- -   'entry.cidr' - The CIDR range specified in the entry.+--+-- -   'entry.egress' - Indicates whether the entry applies to egress+--     traffic.+--+-- -   'entry.icmp.code' - The ICMP code specified in the entry, if any.+--+-- -   'entry.icmp.type' - The ICMP type specified in the entry, if any.+--+-- -   'entry.port-range.from' - The start of the port range specified in+--     the entry.+--+-- -   'entry.port-range.to' - The end of the port range specified in the+--     entry.+--+-- -   'entry.protocol' - The protocol specified in the entry ('tcp' |+--     'udp' | 'icmp' or a protocol number).+--+-- -   'entry.rule-action' - Allows or denies the matching traffic ('allow'+--     | 'deny').+--+-- -   'entry.rule-number' - The number of an entry (in other words, rule)+--     in the ACL\'s set of entries.+--+-- -   'network-acl-id' - The ID of the network ACL.+--+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource.+--+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter.+--+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter.+--+-- -   'vpc-id' - The ID of the VPC for the network ACL.+--+dnaclFilters :: Lens' DescribeNetworkACLs [Filter]+dnaclFilters = lens _dnaclFilters (\ s a -> s{_dnaclFilters = 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'.+dnaclDryRun :: Lens' DescribeNetworkACLs (Maybe Bool)+dnaclDryRun = lens _dnaclDryRun (\ s a -> s{_dnaclDryRun = a});++-- | One or more network ACL IDs.+--+-- Default: Describes all your network ACLs.+dnaclNetworkACLIds :: Lens' DescribeNetworkACLs [Text]+dnaclNetworkACLIds = lens _dnaclNetworkACLIds (\ s a -> s{_dnaclNetworkACLIds = a}) . _Default . _Coerce;++instance AWSRequest DescribeNetworkACLs where+        type Sv DescribeNetworkACLs = EC2+        type Rs DescribeNetworkACLs =+             DescribeNetworkACLsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeNetworkACLsResponse' <$>+                   (x .@? "networkAclSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeNetworkACLs where+        toHeaders = const mempty++instance ToPath DescribeNetworkACLs where+        toPath = const "/"++instance ToQuery DescribeNetworkACLs where+        toQuery DescribeNetworkACLs'{..}+          = mconcat+              ["Action" =: ("DescribeNetworkAcls" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dnaclFilters),+               "DryRun" =: _dnaclDryRun,+               toQuery (toQueryList "item" <$> _dnaclNetworkACLIds)]++-- | /See:/ 'describeNetworkACLsResponse' smart constructor.+data DescribeNetworkACLsResponse = DescribeNetworkACLsResponse'+    { _dnarsNetworkACLs :: !(Maybe [NetworkACL])+    , _dnarsStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeNetworkACLsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dnarsNetworkACLs'+--+-- * 'dnarsStatus'+describeNetworkACLsResponse+    :: Int -- ^ 'dnarsStatus'+    -> DescribeNetworkACLsResponse+describeNetworkACLsResponse pStatus_ =+    DescribeNetworkACLsResponse'+    { _dnarsNetworkACLs = Nothing+    , _dnarsStatus = pStatus_+    }++-- | Information about one or more network ACLs.+dnarsNetworkACLs :: Lens' DescribeNetworkACLsResponse [NetworkACL]+dnarsNetworkACLs = lens _dnarsNetworkACLs (\ s a -> s{_dnarsNetworkACLs = a}) . _Default . _Coerce;++-- | The response status code.+dnarsStatus :: Lens' DescribeNetworkACLsResponse Int+dnarsStatus = lens _dnarsStatus (\ s a -> s{_dnarsStatus = a});
− gen/Network/AWS/EC2/DescribeNetworkAcls.hs
@@ -1,184 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DescribeNetworkAcls--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your network ACLs.------ For more information about network ACLs, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html Network ACLs> in the /AmazonVirtual Private Cloud User Guide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeNetworkAcls.html>-module Network.AWS.EC2.DescribeNetworkAcls-    (-    -- * Request-      DescribeNetworkAcls-    -- ** Request constructor-    , describeNetworkAcls-    -- ** Request lenses-    , dna1DryRun-    , dna1Filters-    , dna1NetworkAclIds--    -- * Response-    , DescribeNetworkAclsResponse-    -- ** Response constructor-    , describeNetworkAclsResponse-    -- ** Response lenses-    , dnarNetworkAcls-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeNetworkAcls = DescribeNetworkAcls-    { _dna1DryRun        :: Maybe Bool-    , _dna1Filters       :: List "Filter" Filter-    , _dna1NetworkAclIds :: List "item" Text-    } deriving (Eq, Read, Show)---- | 'DescribeNetworkAcls' constructor.------ The fields accessible through corresponding lenses are:------ * 'dna1DryRun' @::@ 'Maybe' 'Bool'------ * 'dna1Filters' @::@ ['Filter']------ * 'dna1NetworkAclIds' @::@ ['Text']----describeNetworkAcls :: DescribeNetworkAcls-describeNetworkAcls = DescribeNetworkAcls-    { _dna1DryRun        = Nothing-    , _dna1NetworkAclIds = mempty-    , _dna1Filters       = mempty-    }---- | 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'.-dna1DryRun :: Lens' DescribeNetworkAcls (Maybe Bool)-dna1DryRun = lens _dna1DryRun (\s a -> s { _dna1DryRun = a })---- | One or more filters.------ 'association.association-id' - The ID of an association ID for the ACL.------ 'association.network-acl-id' - The ID of the network ACL involved in the--- association.------ 'association.subnet-id' - The ID of the subnet involved in the association.------ 'default' - Indicates whether the ACL is the default network ACL for the VPC.------ 'entry.cidr' - The CIDR range specified in the entry.------ 'entry.egress' - Indicates whether the entry applies to egress traffic.------ 'entry.icmp.code' - The ICMP code specified in the entry, if any.------ 'entry.icmp.type' - The ICMP type specified in the entry, if any.------ 'entry.port-range.from' - The start of the port range specified in the--- entry.------ 'entry.port-range.to' - The end of the port range specified in the entry.------ 'entry.protocol' - The protocol specified in the entry ('tcp' | 'udp' | 'icmp' or--- a protocol number).------ 'entry.rule-action' - Allows or denies the matching traffic ('allow' | 'deny').------ 'entry.rule-number' - The number of an entry (in other words, rule) in the--- ACL's set of entries.------ 'network-acl-id' - The ID of the network ACL.------ 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.------ 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.------ 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.------ 'vpc-id' - The ID of the VPC for the network ACL.-------dna1Filters :: Lens' DescribeNetworkAcls [Filter]-dna1Filters = lens _dna1Filters (\s a -> s { _dna1Filters = a }) . _List---- | One or more network ACL IDs.------ Default: Describes all your network ACLs.-dna1NetworkAclIds :: Lens' DescribeNetworkAcls [Text]-dna1NetworkAclIds =-    lens _dna1NetworkAclIds (\s a -> s { _dna1NetworkAclIds = a })-        . _List--newtype DescribeNetworkAclsResponse = DescribeNetworkAclsResponse-    { _dnarNetworkAcls :: List "item" NetworkAcl-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'DescribeNetworkAclsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dnarNetworkAcls' @::@ ['NetworkAcl']----describeNetworkAclsResponse :: DescribeNetworkAclsResponse-describeNetworkAclsResponse = DescribeNetworkAclsResponse-    { _dnarNetworkAcls = mempty-    }---- | Information about one or more network ACLs.-dnarNetworkAcls :: Lens' DescribeNetworkAclsResponse [NetworkAcl]-dnarNetworkAcls = lens _dnarNetworkAcls (\s a -> s { _dnarNetworkAcls = a }) . _List--instance ToPath DescribeNetworkAcls where-    toPath = const "/"--instance ToQuery DescribeNetworkAcls where-    toQuery DescribeNetworkAcls{..} = mconcat-        [ "DryRun"       =? _dna1DryRun-        , "Filter"       `toQueryList` _dna1Filters-        , "NetworkAclId" `toQueryList` _dna1NetworkAclIds-        ]--instance ToHeaders DescribeNetworkAcls--instance AWSRequest DescribeNetworkAcls where-    type Sv DescribeNetworkAcls = EC2-    type Rs DescribeNetworkAcls = DescribeNetworkAclsResponse--    request  = post "DescribeNetworkAcls"-    response = xmlResponse--instance FromXML DescribeNetworkAclsResponse where-    parseXML x = DescribeNetworkAclsResponse-        <$> x .@? "networkAclSet" .!@ mempty
gen/Network/AWS/EC2/DescribeNetworkInterfaceAttribute.hs view
@@ -1,174 +1,191 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeNetworkInterfaceAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes a network interface attribute. You can specify only one attribute--- at a time.+-- Describes a network interface attribute. You can specify only one+-- attribute at a time. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeNetworkInterfaceAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeNetworkInterfaceAttribute.html AWS API Reference> for DescribeNetworkInterfaceAttribute. module Network.AWS.EC2.DescribeNetworkInterfaceAttribute     (-    -- * Request-      DescribeNetworkInterfaceAttribute-    -- ** Request constructor-    , describeNetworkInterfaceAttribute-    -- ** Request lenses+    -- * Creating a Request+      describeNetworkInterfaceAttribute+    , DescribeNetworkInterfaceAttribute+    -- * Request Lenses     , dniaAttribute     , dniaDryRun     , dniaNetworkInterfaceId -    -- * Response-    , DescribeNetworkInterfaceAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeNetworkInterfaceAttributeResponse-    -- ** Response lenses-    , dniarAttachment-    , dniarDescription-    , dniarGroups-    , dniarNetworkInterfaceId-    , dniarSourceDestCheck+    , DescribeNetworkInterfaceAttributeResponse+    -- * Response Lenses+    , dniarsGroups+    , dniarsSourceDestCheck+    , dniarsNetworkInterfaceId+    , dniarsAttachment+    , dniarsDescription+    , dniarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeNetworkInterfaceAttribute = DescribeNetworkInterfaceAttribute-    { _dniaAttribute          :: Maybe NetworkInterfaceAttribute-    , _dniaDryRun             :: Maybe Bool-    , _dniaNetworkInterfaceId :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeNetworkInterfaceAttribute' smart constructor.+data DescribeNetworkInterfaceAttribute = DescribeNetworkInterfaceAttribute'+    { _dniaAttribute          :: !(Maybe NetworkInterfaceAttribute)+    , _dniaDryRun             :: !(Maybe Bool)+    , _dniaNetworkInterfaceId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeNetworkInterfaceAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeNetworkInterfaceAttribute' with the minimum fields required to make a request. ----- * 'dniaAttribute' @::@ 'Maybe' 'NetworkInterfaceAttribute'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dniaDryRun' @::@ 'Maybe' 'Bool'+-- * 'dniaAttribute' ----- * 'dniaNetworkInterfaceId' @::@ 'Text'+-- * 'dniaDryRun' ---describeNetworkInterfaceAttribute :: Text -- ^ 'dniaNetworkInterfaceId'-                                  -> DescribeNetworkInterfaceAttribute-describeNetworkInterfaceAttribute p1 = DescribeNetworkInterfaceAttribute-    { _dniaNetworkInterfaceId = p1-    , _dniaDryRun             = Nothing-    , _dniaAttribute          = Nothing+-- * 'dniaNetworkInterfaceId'+describeNetworkInterfaceAttribute+    :: Text -- ^ 'dniaNetworkInterfaceId'+    -> DescribeNetworkInterfaceAttribute+describeNetworkInterfaceAttribute pNetworkInterfaceId_ =+    DescribeNetworkInterfaceAttribute'+    { _dniaAttribute = Nothing+    , _dniaDryRun = Nothing+    , _dniaNetworkInterfaceId = pNetworkInterfaceId_     }  -- | The attribute of the network interface. dniaAttribute :: Lens' DescribeNetworkInterfaceAttribute (Maybe NetworkInterfaceAttribute)-dniaAttribute = lens _dniaAttribute (\s a -> s { _dniaAttribute = a })+dniaAttribute = lens _dniaAttribute (\ s a -> s{_dniaAttribute = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. dniaDryRun :: Lens' DescribeNetworkInterfaceAttribute (Maybe Bool)-dniaDryRun = lens _dniaDryRun (\s a -> s { _dniaDryRun = a })+dniaDryRun = lens _dniaDryRun (\ s a -> s{_dniaDryRun = a});  -- | The ID of the network interface. dniaNetworkInterfaceId :: Lens' DescribeNetworkInterfaceAttribute Text-dniaNetworkInterfaceId =-    lens _dniaNetworkInterfaceId (\s a -> s { _dniaNetworkInterfaceId = a })+dniaNetworkInterfaceId = lens _dniaNetworkInterfaceId (\ s a -> s{_dniaNetworkInterfaceId = a}); -data DescribeNetworkInterfaceAttributeResponse = DescribeNetworkInterfaceAttributeResponse-    { _dniarAttachment         :: Maybe NetworkInterfaceAttachment-    , _dniarDescription        :: Maybe AttributeValue-    , _dniarGroups             :: List "item" GroupIdentifier-    , _dniarNetworkInterfaceId :: Maybe Text-    , _dniarSourceDestCheck    :: Maybe AttributeBooleanValue-    } deriving (Eq, Read, Show)+instance AWSRequest DescribeNetworkInterfaceAttribute+         where+        type Sv DescribeNetworkInterfaceAttribute = EC2+        type Rs DescribeNetworkInterfaceAttribute =+             DescribeNetworkInterfaceAttributeResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeNetworkInterfaceAttributeResponse' <$>+                   (x .@? "groupSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (x .@? "sourceDestCheck")+                     <*> (x .@? "networkInterfaceId")+                     <*> (x .@? "attachment")+                     <*> (x .@? "description")+                     <*> (pure (fromEnum s))) --- | 'DescribeNetworkInterfaceAttributeResponse' constructor.+instance ToHeaders DescribeNetworkInterfaceAttribute+         where+        toHeaders = const mempty++instance ToPath DescribeNetworkInterfaceAttribute+         where+        toPath = const "/"++instance ToQuery DescribeNetworkInterfaceAttribute+         where+        toQuery DescribeNetworkInterfaceAttribute'{..}+          = mconcat+              ["Action" =:+                 ("DescribeNetworkInterfaceAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Attribute" =: _dniaAttribute,+               "DryRun" =: _dniaDryRun,+               "NetworkInterfaceId" =: _dniaNetworkInterfaceId]++-- | /See:/ 'describeNetworkInterfaceAttributeResponse' smart constructor.+data DescribeNetworkInterfaceAttributeResponse = DescribeNetworkInterfaceAttributeResponse'+    { _dniarsGroups             :: !(Maybe [GroupIdentifier])+    , _dniarsSourceDestCheck    :: !(Maybe AttributeBooleanValue)+    , _dniarsNetworkInterfaceId :: !(Maybe Text)+    , _dniarsAttachment         :: !(Maybe NetworkInterfaceAttachment)+    , _dniarsDescription        :: !(Maybe AttributeValue)+    , _dniarsStatus             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeNetworkInterfaceAttributeResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dniarAttachment' @::@ 'Maybe' 'NetworkInterfaceAttachment'+-- * 'dniarsGroups' ----- * 'dniarDescription' @::@ 'Maybe' 'AttributeValue'+-- * 'dniarsSourceDestCheck' ----- * 'dniarGroups' @::@ ['GroupIdentifier']+-- * 'dniarsNetworkInterfaceId' ----- * 'dniarNetworkInterfaceId' @::@ 'Maybe' 'Text'+-- * 'dniarsAttachment' ----- * 'dniarSourceDestCheck' @::@ 'Maybe' 'AttributeBooleanValue'+-- * 'dniarsDescription' ---describeNetworkInterfaceAttributeResponse :: DescribeNetworkInterfaceAttributeResponse-describeNetworkInterfaceAttributeResponse = DescribeNetworkInterfaceAttributeResponse-    { _dniarNetworkInterfaceId = Nothing-    , _dniarDescription        = Nothing-    , _dniarSourceDestCheck    = Nothing-    , _dniarGroups             = mempty-    , _dniarAttachment         = Nothing+-- * 'dniarsStatus'+describeNetworkInterfaceAttributeResponse+    :: Int -- ^ 'dniarsStatus'+    -> DescribeNetworkInterfaceAttributeResponse+describeNetworkInterfaceAttributeResponse pStatus_ =+    DescribeNetworkInterfaceAttributeResponse'+    { _dniarsGroups = Nothing+    , _dniarsSourceDestCheck = Nothing+    , _dniarsNetworkInterfaceId = Nothing+    , _dniarsAttachment = Nothing+    , _dniarsDescription = Nothing+    , _dniarsStatus = pStatus_     } --- | The attachment (if any) of the network interface.-dniarAttachment :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe NetworkInterfaceAttachment)-dniarAttachment = lens _dniarAttachment (\s a -> s { _dniarAttachment = a })---- | The description of the network interface.-dniarDescription :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe AttributeValue)-dniarDescription = lens _dniarDescription (\s a -> s { _dniarDescription = a })- -- | The security groups associated with the network interface.-dniarGroups :: Lens' DescribeNetworkInterfaceAttributeResponse [GroupIdentifier]-dniarGroups = lens _dniarGroups (\s a -> s { _dniarGroups = a }) . _List---- | The ID of the network interface.-dniarNetworkInterfaceId :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe Text)-dniarNetworkInterfaceId =-    lens _dniarNetworkInterfaceId (\s a -> s { _dniarNetworkInterfaceId = a })---- | Indicates whether source/destination checking is enabled.-dniarSourceDestCheck :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe AttributeBooleanValue)-dniarSourceDestCheck =-    lens _dniarSourceDestCheck (\s a -> s { _dniarSourceDestCheck = a })--instance ToPath DescribeNetworkInterfaceAttribute where-    toPath = const "/"+dniarsGroups :: Lens' DescribeNetworkInterfaceAttributeResponse [GroupIdentifier]+dniarsGroups = lens _dniarsGroups (\ s a -> s{_dniarsGroups = a}) . _Default . _Coerce; -instance ToQuery DescribeNetworkInterfaceAttribute where-    toQuery DescribeNetworkInterfaceAttribute{..} = mconcat-        [ "Attribute"          =? _dniaAttribute-        , "DryRun"             =? _dniaDryRun-        , "NetworkInterfaceId" =? _dniaNetworkInterfaceId-        ]+-- | Indicates whether source\/destination checking is enabled.+dniarsSourceDestCheck :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe AttributeBooleanValue)+dniarsSourceDestCheck = lens _dniarsSourceDestCheck (\ s a -> s{_dniarsSourceDestCheck = a}); -instance ToHeaders DescribeNetworkInterfaceAttribute+-- | The ID of the network interface.+dniarsNetworkInterfaceId :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe Text)+dniarsNetworkInterfaceId = lens _dniarsNetworkInterfaceId (\ s a -> s{_dniarsNetworkInterfaceId = a}); -instance AWSRequest DescribeNetworkInterfaceAttribute where-    type Sv DescribeNetworkInterfaceAttribute = EC2-    type Rs DescribeNetworkInterfaceAttribute = DescribeNetworkInterfaceAttributeResponse+-- | The attachment (if any) of the network interface.+dniarsAttachment :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe NetworkInterfaceAttachment)+dniarsAttachment = lens _dniarsAttachment (\ s a -> s{_dniarsAttachment = a}); -    request  = post "DescribeNetworkInterfaceAttribute"-    response = xmlResponse+-- | The description of the network interface.+dniarsDescription :: Lens' DescribeNetworkInterfaceAttributeResponse (Maybe AttributeValue)+dniarsDescription = lens _dniarsDescription (\ s a -> s{_dniarsDescription = a}); -instance FromXML DescribeNetworkInterfaceAttributeResponse where-    parseXML x = DescribeNetworkInterfaceAttributeResponse-        <$> x .@? "attachment"-        <*> x .@? "description"-        <*> x .@? "groupSet" .!@ mempty-        <*> x .@? "networkInterfaceId"-        <*> x .@? "sourceDestCheck"+-- | The response status code.+dniarsStatus :: Lens' DescribeNetworkInterfaceAttributeResponse Int+dniarsStatus = lens _dniarsStatus (\ s a -> s{_dniarsStatus = a});
gen/Network/AWS/EC2/DescribeNetworkInterfaces.hs view
@@ -1,236 +1,255 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeNetworkInterfaces--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your network interfaces.+-- Describes one or more of your network interfaces. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeNetworkInterfaces.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeNetworkInterfaces.html AWS API Reference> for DescribeNetworkInterfaces. module Network.AWS.EC2.DescribeNetworkInterfaces     (-    -- * Request-      DescribeNetworkInterfaces-    -- ** Request constructor-    , describeNetworkInterfaces-    -- ** Request lenses-    , dni1DryRun-    , dni1Filters-    , dni1NetworkInterfaceIds+    -- * Creating a Request+      describeNetworkInterfaces+    , DescribeNetworkInterfaces+    -- * Request Lenses+    , dnisNetworkInterfaceIds+    , dnisFilters+    , dnisDryRun -    -- * Response-    , DescribeNetworkInterfacesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeNetworkInterfacesResponse-    -- ** Response lenses-    , dnirNetworkInterfaces+    , DescribeNetworkInterfacesResponse+    -- * Response Lenses+    , dnirsNetworkInterfaces+    , dnirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeNetworkInterfaces = DescribeNetworkInterfaces-    { _dni1DryRun              :: Maybe Bool-    , _dni1Filters             :: List "Filter" Filter-    , _dni1NetworkInterfaceIds :: List "item" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeNetworkInterfaces' smart constructor.+data DescribeNetworkInterfaces = DescribeNetworkInterfaces'+    { _dnisNetworkInterfaceIds :: !(Maybe [Text])+    , _dnisFilters             :: !(Maybe [Filter])+    , _dnisDryRun              :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeNetworkInterfaces' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeNetworkInterfaces' with the minimum fields required to make a request. ----- * 'dni1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dni1Filters' @::@ ['Filter']+-- * 'dnisNetworkInterfaceIds' ----- * 'dni1NetworkInterfaceIds' @::@ ['Text']+-- * 'dnisFilters' ---describeNetworkInterfaces :: DescribeNetworkInterfaces-describeNetworkInterfaces = DescribeNetworkInterfaces-    { _dni1DryRun              = Nothing-    , _dni1NetworkInterfaceIds = mempty-    , _dni1Filters             = mempty+-- * 'dnisDryRun'+describeNetworkInterfaces+    :: DescribeNetworkInterfaces+describeNetworkInterfaces =+    DescribeNetworkInterfaces'+    { _dnisNetworkInterfaceIds = Nothing+    , _dnisFilters = Nothing+    , _dnisDryRun = Nothing     } --- | 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'.-dni1DryRun :: Lens' DescribeNetworkInterfaces (Maybe Bool)-dni1DryRun = lens _dni1DryRun (\s a -> s { _dni1DryRun = a })+-- | One or more network interface IDs.+--+-- Default: Describes all your network interfaces.+dnisNetworkInterfaceIds :: Lens' DescribeNetworkInterfaces [Text]+dnisNetworkInterfaceIds = lens _dnisNetworkInterfaceIds (\ s a -> s{_dnisNetworkInterfaceIds = a}) . _Default . _Coerce;  -- | One or more filters. ----- 'addresses.private-ip-address' - The private IP addresses associated with--- the network interface.------ 'addresses.primary' - Whether the private IP address is the primary IP--- address associated with the network interface.------ 'addresses.association.public-ip' - The association ID returned when the--- network interface was associated with the Elastic IP address.+-- -   'addresses.private-ip-address' - The private IP addresses associated+--     with the network interface. ----- 'addresses.association.owner-id' - The owner ID of the addresses associated--- with the network interface.+-- -   'addresses.primary' - Whether the private IP address is the primary+--     IP address associated with the network interface. ----- 'association.association-id' - The association ID returned when the network--- interface was associated with an IP address.+-- -   'addresses.association.public-ip' - The association ID returned when+--     the network interface was associated with the Elastic IP address. ----- 'association.allocation-id' - The allocation ID returned when you allocated--- the Elastic IP address for your network interface.+-- -   'addresses.association.owner-id' - The owner ID of the addresses+--     associated with the network interface. ----- 'association.ip-owner-id' - The owner of the Elastic IP address associated--- with the network interface.+-- -   'association.association-id' - The association ID returned when the+--     network interface was associated with an IP address. ----- 'association.public-ip' - The address of the Elastic IP address bound to the--- network interface.+-- -   'association.allocation-id' - The allocation ID returned when you+--     allocated the Elastic IP address for your network interface. ----- 'association.public-dns-name' - The public DNS name for the network--- interface.+-- -   'association.ip-owner-id' - The owner of the Elastic IP address+--     associated with the network interface. ----- 'attachment.attachment-id' - The ID of the interface attachment.+-- -   'association.public-ip' - The address of the Elastic IP address+--     bound to the network interface. ----- 'attachment.instance-id' - The ID of the instance to which the network--- interface is attached.+-- -   'association.public-dns-name' - The public DNS name for the network+--     interface. ----- 'attachment.instance-owner-id' - The owner ID of the instance to which the--- network interface is attached.+-- -   'attachment.attachment-id' - The ID of the interface attachment. ----- 'attachment.device-index' - The device index to which the network interface--- is attached.+-- -   'attachment.instance-id' - The ID of the instance to which the+--     network interface is attached. ----- 'attachment.status' - The status of the attachment ('attaching' | 'attached' | 'detaching' | 'detached').+-- -   'attachment.instance-owner-id' - The owner ID of the instance to+--     which the network interface is attached. ----- 'attachment.attach.time' - The time that the network interface was attached--- to an instance.+-- -   'attachment.device-index' - The device index to which the network+--     interface is attached. ----- 'attachment.delete-on-termination' - Indicates whether the attachment is--- deleted when an instance is terminated.+-- -   'attachment.status' - The status of the attachment ('attaching' |+--     'attached' | 'detaching' | 'detached'). ----- 'availability-zone' - The Availability Zone of the network interface.+-- -   'attachment.attach.time' - The time that the network interface was+--     attached to an instance. ----- 'description' - The description of the network interface.+-- -   'attachment.delete-on-termination' - Indicates whether the+--     attachment is deleted when an instance is terminated. ----- 'group-id' - The ID of a security group associated with the network--- interface.+-- -   'availability-zone' - The Availability Zone of the network+--     interface. ----- 'group-name' - The name of a security group associated with the network--- interface.+-- -   'description' - The description of the network interface. ----- 'mac-address' - The MAC address of the network interface.+-- -   'group-id' - The ID of a security group associated with the network+--     interface. ----- 'network-interface-id' - The ID of the network interface.+-- -   'group-name' - The name of a security group associated with the+--     network interface. ----- 'owner-id' - The AWS account ID of the network interface owner.+-- -   'mac-address' - The MAC address of the network interface. ----- 'private-ip-address' - The private IP address or addresses of the network--- interface.+-- -   'network-interface-id' - The ID of the network interface. ----- 'private-dns-name' - The private DNS name of the network interface.+-- -   'owner-id' - The AWS account ID of the network interface owner. ----- 'requester-id' - The ID of the entity that launched the instance on your--- behalf (for example, AWS Management Console, Auto Scaling, and so on).+-- -   'private-ip-address' - The private IP address or addresses of the+--     network interface. ----- 'requester-managed' - Indicates whether the network interface is being--- managed by an AWS service (for example, AWS Management Console, Auto Scaling,--- and so on).+-- -   'private-dns-name' - The private DNS name of the network interface. ----- 'source-desk-check' - Indicates whether the network interface performs--- source/destination checking. A value of 'true' means checking is enabled, and 'false' means checking is disabled. The value must be 'false' for the network--- interface to perform Network Address Translation (NAT) in your VPC.+-- -   'requester-id' - The ID of the entity that launched the instance on+--     your behalf (for example, AWS Management Console, Auto Scaling, and+--     so on). ----- 'status' - The status of the network interface. If the network interface is--- not attached to an instance, the status is 'available'; if a network interface--- is attached to an instance the status is 'in-use'.+-- -   'requester-managed' - Indicates whether the network interface is+--     being managed by an AWS service (for example, AWS Management+--     Console, Auto Scaling, and so on). ----- 'subnet-id' - The ID of the subnet for the network interface.+-- -   'source-desk-check' - Indicates whether the network interface+--     performs source\/destination checking. A value of 'true' means+--     checking is enabled, and 'false' means checking is disabled. The+--     value must be 'false' for the network interface to perform Network+--     Address Translation (NAT) in your VPC. ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.+-- -   'status' - The status of the network interface. If the network+--     interface is not attached to an instance, the status is 'available';+--     if a network interface is attached to an instance the status is+--     'in-use'. ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'subnet-id' - The ID of the subnet for the network interface. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource. ----- 'vpc-id' - The ID of the VPC for the network interface.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter. --+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter. ---dni1Filters :: Lens' DescribeNetworkInterfaces [Filter]-dni1Filters = lens _dni1Filters (\s a -> s { _dni1Filters = a }) . _List---- | One or more network interface IDs.+-- -   'vpc-id' - The ID of the VPC for the network interface. ----- Default: Describes all your network interfaces.-dni1NetworkInterfaceIds :: Lens' DescribeNetworkInterfaces [Text]-dni1NetworkInterfaceIds =-    lens _dni1NetworkInterfaceIds (\s a -> s { _dni1NetworkInterfaceIds = a })-        . _List+dnisFilters :: Lens' DescribeNetworkInterfaces [Filter]+dnisFilters = lens _dnisFilters (\ s a -> s{_dnisFilters = a}) . _Default . _Coerce; -newtype DescribeNetworkInterfacesResponse = DescribeNetworkInterfacesResponse-    { _dnirNetworkInterfaces :: List "item" NetworkInterface-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+dnisDryRun :: Lens' DescribeNetworkInterfaces (Maybe Bool)+dnisDryRun = lens _dnisDryRun (\ s a -> s{_dnisDryRun = a}); --- | 'DescribeNetworkInterfacesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dnirNetworkInterfaces' @::@ ['NetworkInterface']----describeNetworkInterfacesResponse :: DescribeNetworkInterfacesResponse-describeNetworkInterfacesResponse = DescribeNetworkInterfacesResponse-    { _dnirNetworkInterfaces = mempty-    }+instance AWSRequest DescribeNetworkInterfaces where+        type Sv DescribeNetworkInterfaces = EC2+        type Rs DescribeNetworkInterfaces =+             DescribeNetworkInterfacesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeNetworkInterfacesResponse' <$>+                   (x .@? "networkInterfaceSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more network interfaces.-dnirNetworkInterfaces :: Lens' DescribeNetworkInterfacesResponse [NetworkInterface]-dnirNetworkInterfaces =-    lens _dnirNetworkInterfaces (\s a -> s { _dnirNetworkInterfaces = a })-        . _List+instance ToHeaders DescribeNetworkInterfaces where+        toHeaders = const mempty  instance ToPath DescribeNetworkInterfaces where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeNetworkInterfaces where-    toQuery DescribeNetworkInterfaces{..} = mconcat-        [ "DryRun"             =? _dni1DryRun-        , "Filter"             `toQueryList` _dni1Filters-        , "NetworkInterfaceId" `toQueryList` _dni1NetworkInterfaceIds-        ]+        toQuery DescribeNetworkInterfaces'{..}+          = mconcat+              ["Action" =:+                 ("DescribeNetworkInterfaces" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "item" <$> _dnisNetworkInterfaceIds),+               toQuery (toQueryList "Filter" <$> _dnisFilters),+               "DryRun" =: _dnisDryRun] -instance ToHeaders DescribeNetworkInterfaces+-- | /See:/ 'describeNetworkInterfacesResponse' smart constructor.+data DescribeNetworkInterfacesResponse = DescribeNetworkInterfacesResponse'+    { _dnirsNetworkInterfaces :: !(Maybe [NetworkInterface])+    , _dnirsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeNetworkInterfaces where-    type Sv DescribeNetworkInterfaces = EC2-    type Rs DescribeNetworkInterfaces = DescribeNetworkInterfacesResponse+-- | Creates a value of 'DescribeNetworkInterfacesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dnirsNetworkInterfaces'+--+-- * 'dnirsStatus'+describeNetworkInterfacesResponse+    :: Int -- ^ 'dnirsStatus'+    -> DescribeNetworkInterfacesResponse+describeNetworkInterfacesResponse pStatus_ =+    DescribeNetworkInterfacesResponse'+    { _dnirsNetworkInterfaces = Nothing+    , _dnirsStatus = pStatus_+    } -    request  = post "DescribeNetworkInterfaces"-    response = xmlResponse+-- | Information about one or more network interfaces.+dnirsNetworkInterfaces :: Lens' DescribeNetworkInterfacesResponse [NetworkInterface]+dnirsNetworkInterfaces = lens _dnirsNetworkInterfaces (\ s a -> s{_dnirsNetworkInterfaces = a}) . _Default . _Coerce; -instance FromXML DescribeNetworkInterfacesResponse where-    parseXML x = DescribeNetworkInterfacesResponse-        <$> x .@? "networkInterfaceSet" .!@ mempty+-- | The response status code.+dnirsStatus :: Lens' DescribeNetworkInterfacesResponse Int+dnirsStatus = lens _dnirsStatus (\ s a -> s{_dnirsStatus = a});
gen/Network/AWS/EC2/DescribePlacementGroups.hs view
@@ -1,143 +1,160 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribePlacementGroups--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your placement groups. 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 /AmazonElastic Compute Cloud User Guide/.+-- Describes one or more of your placement groups. 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribePlacementGroups.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribePlacementGroups.html AWS API Reference> for DescribePlacementGroups. module Network.AWS.EC2.DescribePlacementGroups     (-    -- * Request-      DescribePlacementGroups-    -- ** Request constructor-    , describePlacementGroups-    -- ** Request lenses-    , dpg1DryRun-    , dpg1Filters-    , dpg1GroupNames+    -- * Creating a Request+      describePlacementGroups+    , DescribePlacementGroups+    -- * Request Lenses+    , dpgsGroupNames+    , dpgsFilters+    , dpgsDryRun -    -- * Response-    , DescribePlacementGroupsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describePlacementGroupsResponse-    -- ** Response lenses-    , dpgrPlacementGroups+    , DescribePlacementGroupsResponse+    -- * Response Lenses+    , dpgrsPlacementGroups+    , dpgrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribePlacementGroups = DescribePlacementGroups-    { _dpg1DryRun     :: Maybe Bool-    , _dpg1Filters    :: List "Filter" Filter-    , _dpg1GroupNames :: List "groupName" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describePlacementGroups' smart constructor.+data DescribePlacementGroups = DescribePlacementGroups'+    { _dpgsGroupNames :: !(Maybe [Text])+    , _dpgsFilters    :: !(Maybe [Filter])+    , _dpgsDryRun     :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribePlacementGroups' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribePlacementGroups' with the minimum fields required to make a request. ----- * 'dpg1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dpg1Filters' @::@ ['Filter']+-- * 'dpgsGroupNames' ----- * 'dpg1GroupNames' @::@ ['Text']+-- * 'dpgsFilters' ---describePlacementGroups :: DescribePlacementGroups-describePlacementGroups = DescribePlacementGroups-    { _dpg1DryRun     = Nothing-    , _dpg1GroupNames = mempty-    , _dpg1Filters    = mempty+-- * 'dpgsDryRun'+describePlacementGroups+    :: DescribePlacementGroups+describePlacementGroups =+    DescribePlacementGroups'+    { _dpgsGroupNames = Nothing+    , _dpgsFilters = Nothing+    , _dpgsDryRun = Nothing     } --- | 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'.-dpg1DryRun :: Lens' DescribePlacementGroups (Maybe Bool)-dpg1DryRun = lens _dpg1DryRun (\s a -> s { _dpg1DryRun = a })---- | One or more filters.------ 'group-name' - The name of the placement group.------ 'state' - The state of the placement group ('pending' | 'available' | 'deleting' | 'deleted').------ 'strategy' - The strategy of the placement group ('cluster').-------dpg1Filters :: Lens' DescribePlacementGroups [Filter]-dpg1Filters = lens _dpg1Filters (\s a -> s { _dpg1Filters = a }) . _List- -- | One or more placement group names. -- -- Default: Describes all your placement groups, or only those otherwise -- specified.-dpg1GroupNames :: Lens' DescribePlacementGroups [Text]-dpg1GroupNames = lens _dpg1GroupNames (\s a -> s { _dpg1GroupNames = a }) . _List--newtype DescribePlacementGroupsResponse = DescribePlacementGroupsResponse-    { _dpgrPlacementGroups :: List "item" PlacementGroup-    } deriving (Eq, Read, Show, Monoid, Semigroup)+dpgsGroupNames :: Lens' DescribePlacementGroups [Text]+dpgsGroupNames = lens _dpgsGroupNames (\ s a -> s{_dpgsGroupNames = a}) . _Default . _Coerce; --- | 'DescribePlacementGroupsResponse' constructor.+-- | One or more filters. ----- The fields accessible through corresponding lenses are:+-- -   'group-name' - The name of the placement group. ----- * 'dpgrPlacementGroups' @::@ ['PlacementGroup']+-- -   'state' - The state of the placement group ('pending' | 'available'+--     | 'deleting' | 'deleted'). ---describePlacementGroupsResponse :: DescribePlacementGroupsResponse-describePlacementGroupsResponse = DescribePlacementGroupsResponse-    { _dpgrPlacementGroups = mempty-    }+-- -   'strategy' - The strategy of the placement group ('cluster').+--+dpgsFilters :: Lens' DescribePlacementGroups [Filter]+dpgsFilters = lens _dpgsFilters (\ s a -> s{_dpgsFilters = a}) . _Default . _Coerce; --- | One or more placement groups.-dpgrPlacementGroups :: Lens' DescribePlacementGroupsResponse [PlacementGroup]-dpgrPlacementGroups =-    lens _dpgrPlacementGroups (\s a -> s { _dpgrPlacementGroups = a })-        . _List+-- | 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'.+dpgsDryRun :: Lens' DescribePlacementGroups (Maybe Bool)+dpgsDryRun = lens _dpgsDryRun (\ s a -> s{_dpgsDryRun = a}); +instance AWSRequest DescribePlacementGroups where+        type Sv DescribePlacementGroups = EC2+        type Rs DescribePlacementGroups =+             DescribePlacementGroupsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribePlacementGroupsResponse' <$>+                   (x .@? "placementGroupSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribePlacementGroups where+        toHeaders = const mempty+ instance ToPath DescribePlacementGroups where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribePlacementGroups where-    toQuery DescribePlacementGroups{..} = mconcat-        [ "DryRun"    =? _dpg1DryRun-        , "Filter"    `toQueryList` _dpg1Filters-        , "GroupName" `toQueryList` _dpg1GroupNames-        ]+        toQuery DescribePlacementGroups'{..}+          = mconcat+              ["Action" =:+                 ("DescribePlacementGroups" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "GroupName" <$> _dpgsGroupNames),+               toQuery (toQueryList "Filter" <$> _dpgsFilters),+               "DryRun" =: _dpgsDryRun] -instance ToHeaders DescribePlacementGroups+-- | /See:/ 'describePlacementGroupsResponse' smart constructor.+data DescribePlacementGroupsResponse = DescribePlacementGroupsResponse'+    { _dpgrsPlacementGroups :: !(Maybe [PlacementGroup])+    , _dpgrsStatus          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribePlacementGroups where-    type Sv DescribePlacementGroups = EC2-    type Rs DescribePlacementGroups = DescribePlacementGroupsResponse+-- | Creates a value of 'DescribePlacementGroupsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpgrsPlacementGroups'+--+-- * 'dpgrsStatus'+describePlacementGroupsResponse+    :: Int -- ^ 'dpgrsStatus'+    -> DescribePlacementGroupsResponse+describePlacementGroupsResponse pStatus_ =+    DescribePlacementGroupsResponse'+    { _dpgrsPlacementGroups = Nothing+    , _dpgrsStatus = pStatus_+    } -    request  = post "DescribePlacementGroups"-    response = xmlResponse+-- | One or more placement groups.+dpgrsPlacementGroups :: Lens' DescribePlacementGroupsResponse [PlacementGroup]+dpgrsPlacementGroups = lens _dpgrsPlacementGroups (\ s a -> s{_dpgrsPlacementGroups = a}) . _Default . _Coerce; -instance FromXML DescribePlacementGroupsResponse where-    parseXML x = DescribePlacementGroupsResponse-        <$> x .@? "placementGroupSet" .!@ mempty+-- | The response status code.+dpgrsStatus :: Lens' DescribePlacementGroupsResponse Int+dpgrsStatus = lens _dpgrsStatus (\ s a -> s{_dpgrsStatus = a});
gen/Network/AWS/EC2/DescribePrefixLists.hs view
@@ -1,176 +1,190 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribePrefixLists--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes available AWS services in a prefix list format, which includes the--- prefix list name and prefix list ID of the service and the IP 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.+-- Describes available AWS services in a prefix list format, which includes+-- the prefix list name and prefix list ID of the service and the IP+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribePrefixLists.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribePrefixLists.html AWS API Reference> for DescribePrefixLists. module Network.AWS.EC2.DescribePrefixLists     (-    -- * Request-      DescribePrefixLists-    -- ** Request constructor-    , describePrefixLists-    -- ** Request lenses-    , dplDryRun+    -- * Creating a Request+      describePrefixLists+    , DescribePrefixLists+    -- * Request Lenses     , dplFilters-    , dplMaxResults     , dplNextToken     , dplPrefixListIds+    , dplDryRun+    , dplMaxResults -    -- * Response-    , DescribePrefixListsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describePrefixListsResponse-    -- ** Response lenses-    , dplrNextToken-    , dplrPrefixLists+    , DescribePrefixListsResponse+    -- * Response Lenses+    , dplrsNextToken+    , dplrsPrefixLists+    , dplrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribePrefixLists = DescribePrefixLists-    { _dplDryRun        :: Maybe Bool-    , _dplFilters       :: List "Filter" Filter-    , _dplMaxResults    :: Maybe Int-    , _dplNextToken     :: Maybe Text-    , _dplPrefixListIds :: List "item" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describePrefixLists' smart constructor.+data DescribePrefixLists = DescribePrefixLists'+    { _dplFilters       :: !(Maybe [Filter])+    , _dplNextToken     :: !(Maybe Text)+    , _dplPrefixListIds :: !(Maybe [Text])+    , _dplDryRun        :: !(Maybe Bool)+    , _dplMaxResults    :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribePrefixLists' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribePrefixLists' with the minimum fields required to make a request. ----- * 'dplDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dplFilters' @::@ ['Filter']+-- * 'dplFilters' ----- * 'dplMaxResults' @::@ 'Maybe' 'Int'+-- * 'dplNextToken' ----- * 'dplNextToken' @::@ 'Maybe' 'Text'+-- * 'dplPrefixListIds' ----- * 'dplPrefixListIds' @::@ ['Text']+-- * 'dplDryRun' ---describePrefixLists :: DescribePrefixLists-describePrefixLists = DescribePrefixLists-    { _dplDryRun        = Nothing-    , _dplPrefixListIds = mempty-    , _dplFilters       = mempty-    , _dplMaxResults    = Nothing-    , _dplNextToken     = Nothing+-- * 'dplMaxResults'+describePrefixLists+    :: DescribePrefixLists+describePrefixLists =+    DescribePrefixLists'+    { _dplFilters = Nothing+    , _dplNextToken = Nothing+    , _dplPrefixListIds = Nothing+    , _dplDryRun = Nothing+    , _dplMaxResults = Nothing     } --- | 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'.-dplDryRun :: Lens' DescribePrefixLists (Maybe Bool)-dplDryRun = lens _dplDryRun (\s a -> s { _dplDryRun = a })- -- | One or more filters. ----- 'prefix-list-id': The ID of a prefix list.------ 'prefix-list-name': The name of a prefix list.+-- -   'prefix-list-id': The ID of a prefix list. --+-- -   'prefix-list-name': The name of a prefix list. -- dplFilters :: Lens' DescribePrefixLists [Filter]-dplFilters = lens _dplFilters (\s a -> s { _dplFilters = a }) . _List---- | 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.------ Constraint: If the value specified is greater than 1000, we return only 1000--- items.-dplMaxResults :: Lens' DescribePrefixLists (Maybe Int)-dplMaxResults = lens _dplMaxResults (\s a -> s { _dplMaxResults = a })+dplFilters = lens _dplFilters (\ s a -> s{_dplFilters = a}) . _Default . _Coerce; --- | The token for the next set of items to return. (You received this token from--- a prior call.)+-- | The token for the next set of items to return. (You received this token+-- from a prior call.) dplNextToken :: Lens' DescribePrefixLists (Maybe Text)-dplNextToken = lens _dplNextToken (\s a -> s { _dplNextToken = a })+dplNextToken = lens _dplNextToken (\ s a -> s{_dplNextToken = a});  -- | One or more prefix list IDs. dplPrefixListIds :: Lens' DescribePrefixLists [Text]-dplPrefixListIds = lens _dplPrefixListIds (\s a -> s { _dplPrefixListIds = a }) . _List+dplPrefixListIds = lens _dplPrefixListIds (\ s a -> s{_dplPrefixListIds = a}) . _Default . _Coerce; -data DescribePrefixListsResponse = DescribePrefixListsResponse-    { _dplrNextToken   :: Maybe Text-    , _dplrPrefixLists :: List "item" PrefixList-    } deriving (Eq, Read, Show)+-- | 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'.+dplDryRun :: Lens' DescribePrefixLists (Maybe Bool)+dplDryRun = lens _dplDryRun (\ s a -> s{_dplDryRun = a}); --- | 'DescribePrefixListsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dplrNextToken' @::@ 'Maybe' 'Text'------ * 'dplrPrefixLists' @::@ ['PrefixList']+-- | 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. ---describePrefixListsResponse :: DescribePrefixListsResponse-describePrefixListsResponse = DescribePrefixListsResponse-    { _dplrPrefixLists = mempty-    , _dplrNextToken   = Nothing-    }+-- Constraint: If the value specified is greater than 1000, we return only+-- 1000 items.+dplMaxResults :: Lens' DescribePrefixLists (Maybe Int)+dplMaxResults = lens _dplMaxResults (\ s a -> s{_dplMaxResults = a}); --- | The token to use when requesting the next set of items. If there are no--- additional items to return, the string is empty.-dplrNextToken :: Lens' DescribePrefixListsResponse (Maybe Text)-dplrNextToken = lens _dplrNextToken (\s a -> s { _dplrNextToken = a })+instance AWSRequest DescribePrefixLists where+        type Sv DescribePrefixLists = EC2+        type Rs DescribePrefixLists =+             DescribePrefixListsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribePrefixListsResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "prefixListSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | All available prefix lists.-dplrPrefixLists :: Lens' DescribePrefixListsResponse [PrefixList]-dplrPrefixLists = lens _dplrPrefixLists (\s a -> s { _dplrPrefixLists = a }) . _List+instance ToHeaders DescribePrefixLists where+        toHeaders = const mempty  instance ToPath DescribePrefixLists where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribePrefixLists where-    toQuery DescribePrefixLists{..} = mconcat-        [ "DryRun"       =? _dplDryRun-        , "Filter"       `toQueryList` _dplFilters-        , "MaxResults"   =? _dplMaxResults-        , "NextToken"    =? _dplNextToken-        , "PrefixListId" `toQueryList` _dplPrefixListIds-        ]+        toQuery DescribePrefixLists'{..}+          = mconcat+              ["Action" =: ("DescribePrefixLists" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dplFilters),+               "NextToken" =: _dplNextToken,+               toQuery (toQueryList "item" <$> _dplPrefixListIds),+               "DryRun" =: _dplDryRun,+               "MaxResults" =: _dplMaxResults] -instance ToHeaders DescribePrefixLists+-- | /See:/ 'describePrefixListsResponse' smart constructor.+data DescribePrefixListsResponse = DescribePrefixListsResponse'+    { _dplrsNextToken   :: !(Maybe Text)+    , _dplrsPrefixLists :: !(Maybe [PrefixList])+    , _dplrsStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribePrefixLists where-    type Sv DescribePrefixLists = EC2-    type Rs DescribePrefixLists = DescribePrefixListsResponse+-- | Creates a value of 'DescribePrefixListsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dplrsNextToken'+--+-- * 'dplrsPrefixLists'+--+-- * 'dplrsStatus'+describePrefixListsResponse+    :: Int -- ^ 'dplrsStatus'+    -> DescribePrefixListsResponse+describePrefixListsResponse pStatus_ =+    DescribePrefixListsResponse'+    { _dplrsNextToken = Nothing+    , _dplrsPrefixLists = Nothing+    , _dplrsStatus = pStatus_+    } -    request  = post "DescribePrefixLists"-    response = xmlResponse+-- | The token to use when requesting the next set of items. If there are no+-- additional items to return, the string is empty.+dplrsNextToken :: Lens' DescribePrefixListsResponse (Maybe Text)+dplrsNextToken = lens _dplrsNextToken (\ s a -> s{_dplrsNextToken = a}); -instance FromXML DescribePrefixListsResponse where-    parseXML x = DescribePrefixListsResponse-        <$> x .@? "nextToken"-        <*> x .@? "prefixListSet" .!@ mempty+-- | All available prefix lists.+dplrsPrefixLists :: Lens' DescribePrefixListsResponse [PrefixList]+dplrsPrefixLists = lens _dplrsPrefixLists (\ s a -> s{_dplrsPrefixLists = a}) . _Default . _Coerce;++-- | The response status code.+dplrsStatus :: Lens' DescribePrefixListsResponse Int+dplrsStatus = lens _dplrsStatus (\ s a -> s{_dplrsStatus = a});
gen/Network/AWS/EC2/DescribeRegions.hs view
@@ -1,137 +1,153 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeRegions--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more regions that are currently available to you.+-- Describes one or more regions that are currently available to you. ----- 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>.+-- 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>. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeRegions.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeRegions.html AWS API Reference> for DescribeRegions. module Network.AWS.EC2.DescribeRegions     (-    -- * Request-      DescribeRegions-    -- ** Request constructor-    , describeRegions-    -- ** Request lenses-    , dr1DryRun-    , dr1Filters-    , dr1RegionNames+    -- * Creating a Request+      describeRegions+    , DescribeRegions+    -- * Request Lenses+    , drsRegionNames+    , drsFilters+    , drsDryRun -    -- * Response-    , DescribeRegionsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeRegionsResponse-    -- ** Response lenses-    , drrRegions+    , DescribeRegionsResponse+    -- * Response Lenses+    , drrsRegions+    , drrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeRegions = DescribeRegions-    { _dr1DryRun      :: Maybe Bool-    , _dr1Filters     :: List "Filter" Filter-    , _dr1RegionNames :: List "RegionName" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeRegions' smart constructor.+data DescribeRegions = DescribeRegions'+    { _drsRegionNames :: !(Maybe [Text])+    , _drsFilters     :: !(Maybe [Filter])+    , _drsDryRun      :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeRegions' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeRegions' with the minimum fields required to make a request. ----- * 'dr1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dr1Filters' @::@ ['Filter']+-- * 'drsRegionNames' ----- * 'dr1RegionNames' @::@ ['Text']+-- * 'drsFilters' ---describeRegions :: DescribeRegions-describeRegions = DescribeRegions-    { _dr1DryRun      = Nothing-    , _dr1RegionNames = mempty-    , _dr1Filters     = mempty+-- * 'drsDryRun'+describeRegions+    :: DescribeRegions+describeRegions =+    DescribeRegions'+    { _drsRegionNames = Nothing+    , _drsFilters = Nothing+    , _drsDryRun = Nothing     } --- | 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'.-dr1DryRun :: Lens' DescribeRegions (Maybe Bool)-dr1DryRun = lens _dr1DryRun (\s a -> s { _dr1DryRun = a })+-- | The names of one or more regions.+drsRegionNames :: Lens' DescribeRegions [Text]+drsRegionNames = lens _drsRegionNames (\ s a -> s{_drsRegionNames = a}) . _Default . _Coerce;  -- | One or more filters. ----- 'endpoint' - The endpoint of the region (for example, 'ec2.us-east-1.amazonaws.com').------ 'region-name' - The name of the region (for example, 'us-east-1').+-- -   'endpoint' - The endpoint of the region (for example,+--     'ec2.us-east-1.amazonaws.com'). --+-- -   'region-name' - The name of the region (for example, 'us-east-1'). ---dr1Filters :: Lens' DescribeRegions [Filter]-dr1Filters = lens _dr1Filters (\s a -> s { _dr1Filters = a }) . _List---- | The names of one or more regions.-dr1RegionNames :: Lens' DescribeRegions [Text]-dr1RegionNames = lens _dr1RegionNames (\s a -> s { _dr1RegionNames = a }) . _List+drsFilters :: Lens' DescribeRegions [Filter]+drsFilters = lens _drsFilters (\ s a -> s{_drsFilters = a}) . _Default . _Coerce; -newtype DescribeRegionsResponse = DescribeRegionsResponse-    { _drrRegions :: List "item" Region-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+drsDryRun :: Lens' DescribeRegions (Maybe Bool)+drsDryRun = lens _drsDryRun (\ s a -> s{_drsDryRun = a}); --- | 'DescribeRegionsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'drrRegions' @::@ ['Region']----describeRegionsResponse :: DescribeRegionsResponse-describeRegionsResponse = DescribeRegionsResponse-    { _drrRegions = mempty-    }+instance AWSRequest DescribeRegions where+        type Sv DescribeRegions = EC2+        type Rs DescribeRegions = DescribeRegionsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeRegionsResponse' <$>+                   (x .@? "regionInfo" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more regions.-drrRegions :: Lens' DescribeRegionsResponse [Region]-drrRegions = lens _drrRegions (\s a -> s { _drrRegions = a }) . _List+instance ToHeaders DescribeRegions where+        toHeaders = const mempty  instance ToPath DescribeRegions where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeRegions where-    toQuery DescribeRegions{..} = mconcat-        [ "DryRun"     =? _dr1DryRun-        , "Filter"     `toQueryList` _dr1Filters-        , "RegionName" `toQueryList` _dr1RegionNames-        ]+        toQuery DescribeRegions'{..}+          = mconcat+              ["Action" =: ("DescribeRegions" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "RegionName" <$> _drsRegionNames),+               toQuery (toQueryList "Filter" <$> _drsFilters),+               "DryRun" =: _drsDryRun] -instance ToHeaders DescribeRegions+-- | /See:/ 'describeRegionsResponse' smart constructor.+data DescribeRegionsResponse = DescribeRegionsResponse'+    { _drrsRegions :: !(Maybe [RegionInfo])+    , _drrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeRegions where-    type Sv DescribeRegions = EC2-    type Rs DescribeRegions = DescribeRegionsResponse+-- | Creates a value of 'DescribeRegionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drrsRegions'+--+-- * 'drrsStatus'+describeRegionsResponse+    :: Int -- ^ 'drrsStatus'+    -> DescribeRegionsResponse+describeRegionsResponse pStatus_ =+    DescribeRegionsResponse'+    { _drrsRegions = Nothing+    , _drrsStatus = pStatus_+    } -    request  = post "DescribeRegions"-    response = xmlResponse+-- | Information about one or more regions.+drrsRegions :: Lens' DescribeRegionsResponse [RegionInfo]+drrsRegions = lens _drrsRegions (\ s a -> s{_drrsRegions = a}) . _Default . _Coerce; -instance FromXML DescribeRegionsResponse where-    parseXML x = DescribeRegionsResponse-        <$> x .@? "regionInfo" .!@ mempty+-- | The response status code.+drrsStatus :: Lens' DescribeRegionsResponse Int+drrsStatus = lens _drrsStatus (\ s a -> s{_drrsStatus = a});
gen/Network/AWS/EC2/DescribeReservedInstances.hs view
@@ -1,192 +1,221 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeReservedInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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 <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html Reserved Instances> in the /Amazon Elastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeReservedInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeReservedInstances.html AWS API Reference> for DescribeReservedInstances. module Network.AWS.EC2.DescribeReservedInstances     (-    -- * Request-      DescribeReservedInstances-    -- ** Request constructor-    , describeReservedInstances-    -- ** Request lenses-    , driDryRun+    -- * Creating a Request+      describeReservedInstances+    , DescribeReservedInstances+    -- * Request Lenses     , driFilters     , driOfferingType     , driReservedInstancesIds+    , driDryRun -    -- * Response-    , DescribeReservedInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeReservedInstancesResponse-    -- ** Response lenses-    , drirReservedInstances+    , DescribeReservedInstancesResponse+    -- * Response Lenses+    , drirsReservedInstances+    , drirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeReservedInstances = DescribeReservedInstances-    { _driDryRun               :: Maybe Bool-    , _driFilters              :: List "Filter" Filter-    , _driOfferingType         :: Maybe OfferingTypeValues-    , _driReservedInstancesIds :: List "ReservedInstancesId" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeReservedInstances' smart constructor.+data DescribeReservedInstances = DescribeReservedInstances'+    { _driFilters              :: !(Maybe [Filter])+    , _driOfferingType         :: !(Maybe OfferingTypeValues)+    , _driReservedInstancesIds :: !(Maybe [Text])+    , _driDryRun               :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeReservedInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeReservedInstances' with the minimum fields required to make a request. ----- * 'driDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'driFilters' @::@ ['Filter']+-- * 'driFilters' ----- * 'driOfferingType' @::@ 'Maybe' 'OfferingTypeValues'+-- * 'driOfferingType' ----- * 'driReservedInstancesIds' @::@ ['Text']+-- * 'driReservedInstancesIds' ---describeReservedInstances :: DescribeReservedInstances-describeReservedInstances = DescribeReservedInstances-    { _driDryRun               = Nothing-    , _driReservedInstancesIds = mempty-    , _driFilters              = mempty-    , _driOfferingType         = Nothing+-- * 'driDryRun'+describeReservedInstances+    :: DescribeReservedInstances+describeReservedInstances =+    DescribeReservedInstances'+    { _driFilters = Nothing+    , _driOfferingType = Nothing+    , _driReservedInstancesIds = Nothing+    , _driDryRun = Nothing     } --- | 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'.-driDryRun :: Lens' DescribeReservedInstances (Maybe Bool)-driDryRun = lens _driDryRun (\s a -> s { _driDryRun = a })- -- | One or more filters. ----- 'availability-zone' - The Availability Zone where the Reserved Instance can--- be used.------ 'duration' - The duration of the Reserved Instance (one year or three--- years), in seconds ('31536000' | '94608000').+-- -   'availability-zone' - The Availability Zone where the Reserved+--     Instance can be used. ----- 'end' - The time when the Reserved Instance expires (for example,--- 2014-08-07T11:54:42.000Z).+-- -   'duration' - The duration of the Reserved Instance (one year or+--     three years), in seconds ('31536000' | '94608000'). ----- 'fixed-price' - The purchase price of the Reserved Instance (for example,--- 9800.0).+-- -   'end' - The time when the Reserved Instance expires (for example,+--     2015-08-07T11:54:42.000Z). ----- 'instance-type' - The instance type on which the Reserved Instance can be--- used.+-- -   'fixed-price' - The purchase price of the Reserved Instance (for+--     example, 9800.0). ----- 'product-description' - The product description of the Reserved Instance ('Linux/UNIX' | 'Linux/UNIX (Amazon VPC)' | 'Windows' | 'Windows (Amazon VPC)').+-- -   'instance-type' - The instance type on which the Reserved Instance+--     can be used. ----- 'reserved-instances-id' - The ID of the Reserved Instance.+-- -   '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' |+--     'Linux\/UNIX (Amazon VPC)' | 'SUSE Linux' |+--     'SUSE Linux (Amazon VPC)' | 'Red Hat Enterprise Linux' |+--     'Red Hat Enterprise Linux (Amazon VPC)' | 'Windows' |+--     'Windows (Amazon VPC)' | 'Windows with SQL Server Standard' |+--     'Windows with SQL Server Standard (Amazon VPC)' |+--     'Windows with SQL Server Web' |+--     'Windows with SQL Server Web (Amazon VPC)' |+--     'Windows with SQL Server Enterprise' |+--     'Windows with SQL Server Enterprise (Amazon VPC)'). ----- 'start' - The time at which the Reserved Instance purchase request was--- placed (for example, 2014-08-07T11:54:42.000Z).+-- -   'reserved-instances-id' - The ID of the Reserved Instance. ----- 'state' - The state of the Reserved Instance ('payment-pending' | 'active' | 'payment-failed' | 'retired').+-- -   'start' - The time at which the Reserved Instance purchase request+--     was placed (for example, 2014-08-07T11:54:42.000Z). ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.+-- -   'state' - The state of the Reserved Instance ('payment-pending' |+--     'active' | 'payment-failed' | 'retired'). ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter. ----- 'usage-price' - The usage price of the Reserved Instance, per hour (for--- example, 0.84).+-- -   '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+--     (for example, 0.84). -- driFilters :: Lens' DescribeReservedInstances [Filter]-driFilters = lens _driFilters (\s a -> s { _driFilters = a }) . _List+driFilters = lens _driFilters (\ s a -> s{_driFilters = a}) . _Default . _Coerce; --- | 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.+-- | 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. driOfferingType :: Lens' DescribeReservedInstances (Maybe OfferingTypeValues)-driOfferingType = lens _driOfferingType (\s a -> s { _driOfferingType = a })+driOfferingType = lens _driOfferingType (\ s a -> s{_driOfferingType = a});  -- | One or more Reserved Instance IDs. -- -- Default: Describes all your Reserved Instances, or only those otherwise -- specified. driReservedInstancesIds :: Lens' DescribeReservedInstances [Text]-driReservedInstancesIds =-    lens _driReservedInstancesIds (\s a -> s { _driReservedInstancesIds = a })-        . _List+driReservedInstancesIds = lens _driReservedInstancesIds (\ s a -> s{_driReservedInstancesIds = a}) . _Default . _Coerce; -newtype DescribeReservedInstancesResponse = DescribeReservedInstancesResponse-    { _drirReservedInstances :: List "item" ReservedInstances-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+driDryRun :: Lens' DescribeReservedInstances (Maybe Bool)+driDryRun = lens _driDryRun (\ s a -> s{_driDryRun = a}); --- | 'DescribeReservedInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'drirReservedInstances' @::@ ['ReservedInstances']----describeReservedInstancesResponse :: DescribeReservedInstancesResponse-describeReservedInstancesResponse = DescribeReservedInstancesResponse-    { _drirReservedInstances = mempty-    }+instance AWSRequest DescribeReservedInstances where+        type Sv DescribeReservedInstances = EC2+        type Rs DescribeReservedInstances =+             DescribeReservedInstancesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeReservedInstancesResponse' <$>+                   (x .@? "reservedInstancesSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | A list of Reserved Instances.-drirReservedInstances :: Lens' DescribeReservedInstancesResponse [ReservedInstances]-drirReservedInstances =-    lens _drirReservedInstances (\s a -> s { _drirReservedInstances = a })-        . _List+instance ToHeaders DescribeReservedInstances where+        toHeaders = const mempty  instance ToPath DescribeReservedInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeReservedInstances where-    toQuery DescribeReservedInstances{..} = mconcat-        [ "DryRun"              =? _driDryRun-        , "Filter"              `toQueryList` _driFilters-        , "OfferingType"        =? _driOfferingType-        , "ReservedInstancesId" `toQueryList` _driReservedInstancesIds-        ]+        toQuery DescribeReservedInstances'{..}+          = mconcat+              ["Action" =:+                 ("DescribeReservedInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _driFilters),+               "OfferingType" =: _driOfferingType,+               toQuery+                 (toQueryList "ReservedInstancesId" <$>+                    _driReservedInstancesIds),+               "DryRun" =: _driDryRun] -instance ToHeaders DescribeReservedInstances+-- | /See:/ 'describeReservedInstancesResponse' smart constructor.+data DescribeReservedInstancesResponse = DescribeReservedInstancesResponse'+    { _drirsReservedInstances :: !(Maybe [ReservedInstances])+    , _drirsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeReservedInstances where-    type Sv DescribeReservedInstances = EC2-    type Rs DescribeReservedInstances = DescribeReservedInstancesResponse+-- | Creates a value of 'DescribeReservedInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drirsReservedInstances'+--+-- * 'drirsStatus'+describeReservedInstancesResponse+    :: Int -- ^ 'drirsStatus'+    -> DescribeReservedInstancesResponse+describeReservedInstancesResponse pStatus_ =+    DescribeReservedInstancesResponse'+    { _drirsReservedInstances = Nothing+    , _drirsStatus = pStatus_+    } -    request  = post "DescribeReservedInstances"-    response = xmlResponse+-- | A list of Reserved Instances.+drirsReservedInstances :: Lens' DescribeReservedInstancesResponse [ReservedInstances]+drirsReservedInstances = lens _drirsReservedInstances (\ s a -> s{_drirsReservedInstances = a}) . _Default . _Coerce; -instance FromXML DescribeReservedInstancesResponse where-    parseXML x = DescribeReservedInstancesResponse-        <$> x .@? "reservedInstancesSet" .!@ mempty+-- | The response status code.+drirsStatus :: Lens' DescribeReservedInstancesResponse Int+drirsStatus = lens _drirsStatus (\ s a -> s{_drirsStatus = a});
gen/Network/AWS/EC2/DescribeReservedInstancesListings.hs view
@@ -1,163 +1,181 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeReservedInstancesListings--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes your account's Reserved Instance listings in the Reserved Instance--- Marketplace.+-- 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 through the--- Reserved Instance Marketplace work like any other Reserved Instances.+-- 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, and--- you specify the upfront price to receive for them. Your Reserved Instances--- are then listed in the Reserved Instance Marketplace and are available for--- purchase.+-- 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+-- available for purchase. -- -- 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 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.+-- 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+-- 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 /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeReservedInstancesListings.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeReservedInstancesListings.html AWS API Reference> for DescribeReservedInstancesListings. module Network.AWS.EC2.DescribeReservedInstancesListings     (-    -- * Request-      DescribeReservedInstancesListings-    -- ** Request constructor-    , describeReservedInstancesListings-    -- ** Request lenses+    -- * Creating a Request+      describeReservedInstancesListings+    , DescribeReservedInstancesListings+    -- * Request Lenses     , drilFilters     , drilReservedInstancesId     , drilReservedInstancesListingId -    -- * Response-    , DescribeReservedInstancesListingsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeReservedInstancesListingsResponse-    -- ** Response lenses-    , drilrReservedInstancesListings+    , DescribeReservedInstancesListingsResponse+    -- * Response Lenses+    , drilrsReservedInstancesListings+    , drilrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeReservedInstancesListings = DescribeReservedInstancesListings-    { _drilFilters                    :: List "Filter" Filter-    , _drilReservedInstancesId        :: Maybe Text-    , _drilReservedInstancesListingId :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeReservedInstancesListings' smart constructor.+data DescribeReservedInstancesListings = DescribeReservedInstancesListings'+    { _drilFilters                    :: !(Maybe [Filter])+    , _drilReservedInstancesId        :: !(Maybe Text)+    , _drilReservedInstancesListingId :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeReservedInstancesListings' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeReservedInstancesListings' with the minimum fields required to make a request. ----- * 'drilFilters' @::@ ['Filter']+-- Use one of the following lenses to modify other fields as desired: ----- * 'drilReservedInstancesId' @::@ 'Maybe' 'Text'+-- * 'drilFilters' ----- * 'drilReservedInstancesListingId' @::@ 'Maybe' 'Text'+-- * 'drilReservedInstancesId' ---describeReservedInstancesListings :: DescribeReservedInstancesListings-describeReservedInstancesListings = DescribeReservedInstancesListings-    { _drilReservedInstancesId        = Nothing+-- * 'drilReservedInstancesListingId'+describeReservedInstancesListings+    :: DescribeReservedInstancesListings+describeReservedInstancesListings =+    DescribeReservedInstancesListings'+    { _drilFilters = Nothing+    , _drilReservedInstancesId = Nothing     , _drilReservedInstancesListingId = Nothing-    , _drilFilters                    = mempty     }  -- | One or more filters. ----- 'reserved-instances-id' - The ID of the Reserved Instances.------ 'reserved-instances-listing-id' - The ID of the Reserved Instances listing.+-- -   'reserved-instances-id' - The ID of the Reserved Instances. ----- 'status' - The status of the Reserved Instance listing ('pending' | 'active' | 'cancelled' | 'closed').+-- -   'reserved-instances-listing-id' - The ID of the Reserved Instances+--     listing. ----- 'status-message' - The reason for the status.+-- -   'status' - The status of the Reserved Instance listing ('pending' |+--     'active' | 'cancelled' | 'closed'). --+-- -   'status-message' - The reason for the status. -- drilFilters :: Lens' DescribeReservedInstancesListings [Filter]-drilFilters = lens _drilFilters (\s a -> s { _drilFilters = a }) . _List+drilFilters = lens _drilFilters (\ s a -> s{_drilFilters = a}) . _Default . _Coerce;  -- | One or more Reserved Instance IDs. drilReservedInstancesId :: Lens' DescribeReservedInstancesListings (Maybe Text)-drilReservedInstancesId =-    lens _drilReservedInstancesId (\s a -> s { _drilReservedInstancesId = a })+drilReservedInstancesId = lens _drilReservedInstancesId (\ s a -> s{_drilReservedInstancesId = a});  -- | One or more Reserved Instance Listing IDs. drilReservedInstancesListingId :: Lens' DescribeReservedInstancesListings (Maybe Text)-drilReservedInstancesListingId =-    lens _drilReservedInstancesListingId-        (\s a -> s { _drilReservedInstancesListingId = a })+drilReservedInstancesListingId = lens _drilReservedInstancesListingId (\ s a -> s{_drilReservedInstancesListingId = a}); -newtype DescribeReservedInstancesListingsResponse = DescribeReservedInstancesListingsResponse-    { _drilrReservedInstancesListings :: List "item" ReservedInstancesListing-    } deriving (Eq, Read, Show, Monoid, Semigroup)+instance AWSRequest DescribeReservedInstancesListings+         where+        type Sv DescribeReservedInstancesListings = EC2+        type Rs DescribeReservedInstancesListings =+             DescribeReservedInstancesListingsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeReservedInstancesListingsResponse' <$>+                   (x .@? "reservedInstancesListingsSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | 'DescribeReservedInstancesListingsResponse' constructor.+instance ToHeaders DescribeReservedInstancesListings+         where+        toHeaders = const mempty++instance ToPath DescribeReservedInstancesListings+         where+        toPath = const "/"++instance ToQuery DescribeReservedInstancesListings+         where+        toQuery DescribeReservedInstancesListings'{..}+          = mconcat+              ["Action" =:+                 ("DescribeReservedInstancesListings" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _drilFilters),+               "ReservedInstancesId" =: _drilReservedInstancesId,+               "ReservedInstancesListingId" =:+                 _drilReservedInstancesListingId]++-- | /See:/ 'describeReservedInstancesListingsResponse' smart constructor.+data DescribeReservedInstancesListingsResponse = DescribeReservedInstancesListingsResponse'+    { _drilrsReservedInstancesListings :: !(Maybe [ReservedInstancesListing])+    , _drilrsStatus                    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeReservedInstancesListingsResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'drilrReservedInstancesListings' @::@ ['ReservedInstancesListing']+-- * 'drilrsReservedInstancesListings' ---describeReservedInstancesListingsResponse :: DescribeReservedInstancesListingsResponse-describeReservedInstancesListingsResponse = DescribeReservedInstancesListingsResponse-    { _drilrReservedInstancesListings = mempty+-- * 'drilrsStatus'+describeReservedInstancesListingsResponse+    :: Int -- ^ 'drilrsStatus'+    -> DescribeReservedInstancesListingsResponse+describeReservedInstancesListingsResponse pStatus_ =+    DescribeReservedInstancesListingsResponse'+    { _drilrsReservedInstancesListings = Nothing+    , _drilrsStatus = pStatus_     }  -- | Information about the Reserved Instance listing.-drilrReservedInstancesListings :: Lens' DescribeReservedInstancesListingsResponse [ReservedInstancesListing]-drilrReservedInstancesListings =-    lens _drilrReservedInstancesListings-        (\s a -> s { _drilrReservedInstancesListings = a })-            . _List--instance ToPath DescribeReservedInstancesListings where-    toPath = const "/"--instance ToQuery DescribeReservedInstancesListings where-    toQuery DescribeReservedInstancesListings{..} = mconcat-        [ "Filters"                    `toQueryList` _drilFilters-        , "ReservedInstancesId"        =? _drilReservedInstancesId-        , "ReservedInstancesListingId" =? _drilReservedInstancesListingId-        ]--instance ToHeaders DescribeReservedInstancesListings--instance AWSRequest DescribeReservedInstancesListings where-    type Sv DescribeReservedInstancesListings = EC2-    type Rs DescribeReservedInstancesListings = DescribeReservedInstancesListingsResponse--    request  = post "DescribeReservedInstancesListings"-    response = xmlResponse+drilrsReservedInstancesListings :: Lens' DescribeReservedInstancesListingsResponse [ReservedInstancesListing]+drilrsReservedInstancesListings = lens _drilrsReservedInstancesListings (\ s a -> s{_drilrsReservedInstancesListings = a}) . _Default . _Coerce; -instance FromXML DescribeReservedInstancesListingsResponse where-    parseXML x = DescribeReservedInstancesListingsResponse-        <$> x .@? "reservedInstancesListingsSet" .!@ mempty+-- | The response status code.+drilrsStatus :: Lens' DescribeReservedInstancesListingsResponse Int+drilrsStatus = lens _drilrsStatus (\ s a -> s{_drilrsStatus = a});
gen/Network/AWS/EC2/DescribeReservedInstancesModifications.hs view
@@ -1,190 +1,216 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeReservedInstancesModifications--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.+-- 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. ----- 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.+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeReservedInstancesModifications.html>+-- /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     (-    -- * Request-      DescribeReservedInstancesModifications-    -- ** Request constructor-    , describeReservedInstancesModifications-    -- ** Request lenses+    -- * Creating a Request+      describeReservedInstancesModifications+    , DescribeReservedInstancesModifications+    -- * Request Lenses     , drimFilters-    , drimNextToken     , drimReservedInstancesModificationIds+    , drimNextToken -    -- * Response-    , DescribeReservedInstancesModificationsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeReservedInstancesModificationsResponse-    -- ** Response lenses-    , drimrNextToken-    , drimrReservedInstancesModifications+    , DescribeReservedInstancesModificationsResponse+    -- * Response Lenses+    , drimrsNextToken+    , drimrsReservedInstancesModifications+    , drimrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeReservedInstancesModifications = DescribeReservedInstancesModifications-    { _drimFilters                          :: List "Filter" Filter-    , _drimNextToken                        :: Maybe Text-    , _drimReservedInstancesModificationIds :: List "ReservedInstancesModificationId" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeReservedInstancesModifications' smart constructor.+data DescribeReservedInstancesModifications = DescribeReservedInstancesModifications'+    { _drimFilters                          :: !(Maybe [Filter])+    , _drimReservedInstancesModificationIds :: !(Maybe [Text])+    , _drimNextToken                        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeReservedInstancesModifications' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeReservedInstancesModifications' with the minimum fields required to make a request. ----- * 'drimFilters' @::@ ['Filter']+-- Use one of the following lenses to modify other fields as desired: ----- * 'drimNextToken' @::@ 'Maybe' 'Text'+-- * 'drimFilters' ----- * 'drimReservedInstancesModificationIds' @::@ ['Text']+-- * 'drimReservedInstancesModificationIds' ---describeReservedInstancesModifications :: DescribeReservedInstancesModifications-describeReservedInstancesModifications = DescribeReservedInstancesModifications-    { _drimReservedInstancesModificationIds = mempty-    , _drimNextToken                        = Nothing-    , _drimFilters                          = mempty+-- * 'drimNextToken'+describeReservedInstancesModifications+    :: DescribeReservedInstancesModifications+describeReservedInstancesModifications =+    DescribeReservedInstancesModifications'+    { _drimFilters = Nothing+    , _drimReservedInstancesModificationIds = Nothing+    , _drimNextToken = Nothing     }  -- | One or more filters. ----- 'client-token' - The idempotency token for the modification request.------ 'create-date' - The time when the modification request was created.+-- -   'client-token' - The idempotency token for the modification request. ----- 'effective-date' - The time when the modification becomes effective.+-- -   'create-date' - The time when the modification request was created. ----- 'modification-result.reserved-instances-id' - The ID for the Reserved--- Instances created as part of the modification request. This ID is only--- available when the status of the modification is 'fulfilled'.+-- -   'effective-date' - The time when the modification becomes effective. ----- 'modification-result.target-configuration.availability-zone' - The--- Availability Zone for the new Reserved Instances.+-- -   'modification-result.reserved-instances-id' - The ID for the+--     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.instance-count ' - The number of--- new Reserved Instances.+-- -   'modification-result.target-configuration.availability-zone' - The+--     Availability Zone for the new Reserved Instances. ----- 'modification-result.target-configuration.instance-type' - The instance type--- of the new Reserved Instances.+-- -   'modification-result.target-configuration.instance-count ' - The+--     number of new Reserved Instances. ----- 'modification-result.target-configuration.platform' - The network platform--- of the new Reserved Instances ('EC2-Classic' | 'EC2-VPC').+-- -   'modification-result.target-configuration.instance-type' - The+--     instance type of the new Reserved Instances. ----- 'reserved-instances-id' - The ID of the Reserved Instances modified.+-- -   'modification-result.target-configuration.platform' - The network+--     platform of the new Reserved Instances ('EC2-Classic' | 'EC2-VPC'). ----- 'reserved-instances-modification-id' - The ID of the modification request.+-- -   'reserved-instances-id' - The ID of the Reserved Instances modified. ----- 'status' - The status of the Reserved Instances modification request ('processing' | 'fulfilled' | 'failed').+-- -   'reserved-instances-modification-id' - The ID of the modification+--     request. ----- 'status-message' - The reason for the status.+-- -   'status' - The status of the Reserved Instances modification request+--     ('processing' | 'fulfilled' | 'failed'). ----- 'update-date' - The time when the modification request was last updated.+-- -   'status-message' - The reason for the status. --+-- -   'update-date' - The time when the modification request was last+--     updated. -- drimFilters :: Lens' DescribeReservedInstancesModifications [Filter]-drimFilters = lens _drimFilters (\s a -> s { _drimFilters = a }) . _List+drimFilters = lens _drimFilters (\ s a -> s{_drimFilters = a}) . _Default . _Coerce; +-- | IDs for the submitted modification request.+drimReservedInstancesModificationIds :: Lens' DescribeReservedInstancesModifications [Text]+drimReservedInstancesModificationIds = lens _drimReservedInstancesModificationIds (\ s a -> s{_drimReservedInstancesModificationIds = a}) . _Default . _Coerce;+ -- | The token to retrieve the next page of results. drimNextToken :: Lens' DescribeReservedInstancesModifications (Maybe Text)-drimNextToken = lens _drimNextToken (\s a -> s { _drimNextToken = a })+drimNextToken = lens _drimNextToken (\ s a -> s{_drimNextToken = a}); --- | IDs for the submitted modification request.-drimReservedInstancesModificationIds :: Lens' DescribeReservedInstancesModifications [Text]-drimReservedInstancesModificationIds =-    lens _drimReservedInstancesModificationIds-        (\s a -> s { _drimReservedInstancesModificationIds = a })-            . _List+instance AWSPager+         DescribeReservedInstancesModifications where+        page rq rs+          | stop (rs ^. drimrsNextToken) = Nothing+          | stop (rs ^. drimrsReservedInstancesModifications) =+            Nothing+          | otherwise =+            Just $ rq & drimNextToken .~ rs ^. drimrsNextToken -data DescribeReservedInstancesModificationsResponse = DescribeReservedInstancesModificationsResponse-    { _drimrNextToken                      :: Maybe Text-    , _drimrReservedInstancesModifications :: List "item" ReservedInstancesModification-    } deriving (Eq, Read, Show)+instance AWSRequest+         DescribeReservedInstancesModifications where+        type Sv DescribeReservedInstancesModifications = EC2+        type Rs DescribeReservedInstancesModifications =+             DescribeReservedInstancesModificationsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeReservedInstancesModificationsResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "reservedInstancesModificationsSet" .!@ mempty+                        >>= may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | 'DescribeReservedInstancesModificationsResponse' constructor.+instance ToHeaders+         DescribeReservedInstancesModifications where+        toHeaders = const mempty++instance ToPath+         DescribeReservedInstancesModifications where+        toPath = const "/"++instance ToQuery+         DescribeReservedInstancesModifications where+        toQuery DescribeReservedInstancesModifications'{..}+          = mconcat+              ["Action" =:+                 ("DescribeReservedInstancesModifications" ::+                    ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _drimFilters),+               toQuery+                 (toQueryList "ReservedInstancesModificationId" <$>+                    _drimReservedInstancesModificationIds),+               "NextToken" =: _drimNextToken]++-- | /See:/ 'describeReservedInstancesModificationsResponse' smart constructor.+data DescribeReservedInstancesModificationsResponse = DescribeReservedInstancesModificationsResponse'+    { _drimrsNextToken                      :: !(Maybe Text)+    , _drimrsReservedInstancesModifications :: !(Maybe [ReservedInstancesModification])+    , _drimrsStatus                         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeReservedInstancesModificationsResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'drimrNextToken' @::@ 'Maybe' 'Text'+-- * 'drimrsNextToken' ----- * 'drimrReservedInstancesModifications' @::@ ['ReservedInstancesModification']+-- * 'drimrsReservedInstancesModifications' ---describeReservedInstancesModificationsResponse :: DescribeReservedInstancesModificationsResponse-describeReservedInstancesModificationsResponse = DescribeReservedInstancesModificationsResponse-    { _drimrReservedInstancesModifications = mempty-    , _drimrNextToken                      = Nothing+-- * 'drimrsStatus'+describeReservedInstancesModificationsResponse+    :: Int -- ^ 'drimrsStatus'+    -> DescribeReservedInstancesModificationsResponse+describeReservedInstancesModificationsResponse pStatus_ =+    DescribeReservedInstancesModificationsResponse'+    { _drimrsNextToken = Nothing+    , _drimrsReservedInstancesModifications = Nothing+    , _drimrsStatus = pStatus_     } --- | The token to use to retrieve the next page of results. This value is 'null'--- when there are no more results to return.-drimrNextToken :: Lens' DescribeReservedInstancesModificationsResponse (Maybe Text)-drimrNextToken = lens _drimrNextToken (\s a -> s { _drimrNextToken = a })+-- | The token to use to retrieve the next page of results. This value is+-- 'null' when there are no more results to return.+drimrsNextToken :: Lens' DescribeReservedInstancesModificationsResponse (Maybe Text)+drimrsNextToken = lens _drimrsNextToken (\ s a -> s{_drimrsNextToken = a});  -- | The Reserved Instance modification information.-drimrReservedInstancesModifications :: Lens' DescribeReservedInstancesModificationsResponse [ReservedInstancesModification]-drimrReservedInstancesModifications =-    lens _drimrReservedInstancesModifications-        (\s a -> s { _drimrReservedInstancesModifications = a })-            . _List--instance ToPath DescribeReservedInstancesModifications where-    toPath = const "/"--instance ToQuery DescribeReservedInstancesModifications where-    toQuery DescribeReservedInstancesModifications{..} = mconcat-        [ "Filter"                          `toQueryList` _drimFilters-        , "NextToken"                       =? _drimNextToken-        , "ReservedInstancesModificationId" `toQueryList` _drimReservedInstancesModificationIds-        ]--instance ToHeaders DescribeReservedInstancesModifications--instance AWSRequest DescribeReservedInstancesModifications where-    type Sv DescribeReservedInstancesModifications = EC2-    type Rs DescribeReservedInstancesModifications = DescribeReservedInstancesModificationsResponse--    request  = post "DescribeReservedInstancesModifications"-    response = xmlResponse--instance FromXML DescribeReservedInstancesModificationsResponse where-    parseXML x = DescribeReservedInstancesModificationsResponse-        <$> x .@? "nextToken"-        <*> x .@? "reservedInstancesModificationsSet" .!@ mempty+drimrsReservedInstancesModifications :: Lens' DescribeReservedInstancesModificationsResponse [ReservedInstancesModification]+drimrsReservedInstancesModifications = lens _drimrsReservedInstancesModifications (\ s a -> s{_drimrsReservedInstancesModifications = a}) . _Default . _Coerce; -instance AWSPager DescribeReservedInstancesModifications where-    page rq rs-        | stop (rs ^. drimrNextToken) = Nothing-        | otherwise = (\x -> rq & drimNextToken ?~ x)-            <$> (rs ^. drimrNextToken)+-- | The response status code.+drimrsStatus :: Lens' DescribeReservedInstancesModificationsResponse Int+drimrsStatus = lens _drimrsStatus (\ s a -> s{_drimrsStatus = a});
gen/Network/AWS/EC2/DescribeReservedInstancesOfferings.hs view
@@ -1,316 +1,353 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeReservedInstancesOfferings--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.+-- 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. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html Reserved Instance Marketplace> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeReservedInstancesOfferings.html>+-- /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     (-    -- * Request-      DescribeReservedInstancesOfferings-    -- ** Request constructor-    , describeReservedInstancesOfferings-    -- ** Request lenses-    , drioAvailabilityZone-    , drioDryRun-    , drioFilters+    -- * Creating a Request+      describeReservedInstancesOfferings+    , DescribeReservedInstancesOfferings+    -- * Request Lenses+    , drioMaxDuration+    , drioProductDescription     , drioIncludeMarketplace-    , drioInstanceTenancy+    , drioFilters     , drioInstanceType-    , drioMaxDuration-    , drioMaxInstanceCount-    , drioMaxResults-    , drioMinDuration     , drioNextToken+    , drioMinDuration+    , drioAvailabilityZone     , drioOfferingType-    , drioProductDescription     , drioReservedInstancesOfferingIds+    , drioInstanceTenancy+    , drioDryRun+    , drioMaxResults+    , drioMaxInstanceCount -    -- * Response-    , DescribeReservedInstancesOfferingsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeReservedInstancesOfferingsResponse-    -- ** Response lenses-    , driorNextToken-    , driorReservedInstancesOfferings+    , DescribeReservedInstancesOfferingsResponse+    -- * Response Lenses+    , driorsNextToken+    , driorsReservedInstancesOfferings+    , driorsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeReservedInstancesOfferings = DescribeReservedInstancesOfferings-    { _drioAvailabilityZone             :: Maybe Text-    , _drioDryRun                       :: Maybe Bool-    , _drioFilters                      :: List "Filter" Filter-    , _drioIncludeMarketplace           :: Maybe Bool-    , _drioInstanceTenancy              :: Maybe Tenancy-    , _drioInstanceType                 :: Maybe InstanceType-    , _drioMaxDuration                  :: Maybe Integer-    , _drioMaxInstanceCount             :: Maybe Int-    , _drioMaxResults                   :: Maybe Int-    , _drioMinDuration                  :: Maybe Integer-    , _drioNextToken                    :: Maybe Text-    , _drioOfferingType                 :: Maybe OfferingTypeValues-    , _drioProductDescription           :: Maybe RIProductDescription-    , _drioReservedInstancesOfferingIds :: List "ReservedInstancesOfferingId" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeReservedInstancesOfferings' smart constructor.+data DescribeReservedInstancesOfferings = DescribeReservedInstancesOfferings'+    { _drioMaxDuration                  :: !(Maybe Integer)+    , _drioProductDescription           :: !(Maybe RIProductDescription)+    , _drioIncludeMarketplace           :: !(Maybe Bool)+    , _drioFilters                      :: !(Maybe [Filter])+    , _drioInstanceType                 :: !(Maybe InstanceType)+    , _drioNextToken                    :: !(Maybe Text)+    , _drioMinDuration                  :: !(Maybe Integer)+    , _drioAvailabilityZone             :: !(Maybe Text)+    , _drioOfferingType                 :: !(Maybe OfferingTypeValues)+    , _drioReservedInstancesOfferingIds :: !(Maybe [Text])+    , _drioInstanceTenancy              :: !(Maybe Tenancy)+    , _drioDryRun                       :: !(Maybe Bool)+    , _drioMaxResults                   :: !(Maybe Int)+    , _drioMaxInstanceCount             :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeReservedInstancesOfferings' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeReservedInstancesOfferings' with the minimum fields required to make a request. ----- * 'drioAvailabilityZone' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'drioDryRun' @::@ 'Maybe' 'Bool'+-- * 'drioMaxDuration' ----- * 'drioFilters' @::@ ['Filter']+-- * 'drioProductDescription' ----- * 'drioIncludeMarketplace' @::@ 'Maybe' 'Bool'+-- * 'drioIncludeMarketplace' ----- * 'drioInstanceTenancy' @::@ 'Maybe' 'Tenancy'+-- * 'drioFilters' ----- * 'drioInstanceType' @::@ 'Maybe' 'InstanceType'+-- * 'drioInstanceType' ----- * 'drioMaxDuration' @::@ 'Maybe' 'Integer'+-- * 'drioNextToken' ----- * 'drioMaxInstanceCount' @::@ 'Maybe' 'Int'+-- * 'drioMinDuration' ----- * 'drioMaxResults' @::@ 'Maybe' 'Int'+-- * 'drioAvailabilityZone' ----- * 'drioMinDuration' @::@ 'Maybe' 'Integer'+-- * 'drioOfferingType' ----- * 'drioNextToken' @::@ 'Maybe' 'Text'+-- * 'drioReservedInstancesOfferingIds' ----- * 'drioOfferingType' @::@ 'Maybe' 'OfferingTypeValues'+-- * 'drioInstanceTenancy' ----- * 'drioProductDescription' @::@ 'Maybe' 'RIProductDescription'+-- * 'drioDryRun' ----- * 'drioReservedInstancesOfferingIds' @::@ ['Text']+-- * 'drioMaxResults' ---describeReservedInstancesOfferings :: DescribeReservedInstancesOfferings-describeReservedInstancesOfferings = DescribeReservedInstancesOfferings-    { _drioDryRun                       = Nothing-    , _drioReservedInstancesOfferingIds = mempty-    , _drioInstanceType                 = Nothing-    , _drioAvailabilityZone             = Nothing-    , _drioProductDescription           = Nothing-    , _drioFilters                      = mempty-    , _drioInstanceTenancy              = Nothing-    , _drioOfferingType                 = Nothing-    , _drioNextToken                    = Nothing-    , _drioMaxResults                   = Nothing-    , _drioIncludeMarketplace           = Nothing-    , _drioMinDuration                  = Nothing-    , _drioMaxDuration                  = Nothing-    , _drioMaxInstanceCount             = Nothing+-- * 'drioMaxInstanceCount'+describeReservedInstancesOfferings+    :: DescribeReservedInstancesOfferings+describeReservedInstancesOfferings =+    DescribeReservedInstancesOfferings'+    { _drioMaxDuration = Nothing+    , _drioProductDescription = Nothing+    , _drioIncludeMarketplace = Nothing+    , _drioFilters = Nothing+    , _drioInstanceType = Nothing+    , _drioNextToken = Nothing+    , _drioMinDuration = Nothing+    , _drioAvailabilityZone = Nothing+    , _drioOfferingType = Nothing+    , _drioReservedInstancesOfferingIds = Nothing+    , _drioInstanceTenancy = Nothing+    , _drioDryRun = Nothing+    , _drioMaxResults = Nothing+    , _drioMaxInstanceCount = Nothing     } --- | 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 maximum duration (in seconds) to filter when searching for+-- offerings.+--+-- Default: 94608000 (3 years)+drioMaxDuration :: Lens' DescribeReservedInstancesOfferings (Maybe Integer)+drioMaxDuration = lens _drioMaxDuration (\ s a -> s{_drioMaxDuration = 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'.-drioDryRun :: Lens' DescribeReservedInstancesOfferings (Maybe Bool)-drioDryRun = lens _drioDryRun (\s a -> s { _drioDryRun = a })+-- | 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}); +-- | Include Marketplace offerings in the response.+drioIncludeMarketplace :: Lens' DescribeReservedInstancesOfferings (Maybe Bool)+drioIncludeMarketplace = lens _drioIncludeMarketplace (\ s a -> s{_drioIncludeMarketplace = a});+ -- | One or more filters. ----- 'availability-zone' - The Availability Zone where the Reserved Instance can--- be used.------ 'duration' - The duration of the Reserved Instance (for example, one year or--- three years), in seconds ('31536000' | '94608000').+-- -   'availability-zone' - The Availability Zone where the Reserved+--     Instance can be used. ----- 'fixed-price' - The purchase price of the Reserved Instance (for example,--- 9800.0).+-- -   'duration' - The duration of the Reserved Instance (for example, one+--     year or three years), in seconds ('31536000' | '94608000'). ----- 'instance-type' - The instance type on which the Reserved Instance can be--- used.+-- -   'fixed-price' - The purchase price of the Reserved Instance (for+--     example, 9800.0). ----- 'marketplace' - Set to 'true' to show only Reserved Instance Marketplace--- offerings. When this filter is not used, which is the default behavior, all--- offerings from AWS and Reserved Instance Marketplace are listed.+-- -   'instance-type' - The instance type on which the Reserved Instance+--     can be used. ----- 'product-description' - The description of the Reserved Instance ('Linux/UNIX'--- | 'Linux/UNIX (Amazon VPC)' | 'Windows' | 'Windows (Amazon VPC)').+-- -   'marketplace' - Set to 'true' to show only Reserved Instance+--     Marketplace offerings. When this filter is not used, which is the+--     default behavior, all offerings from AWS and Reserved Instance+--     Marketplace are listed. ----- 'reserved-instances-offering-id' - The Reserved Instances offering ID.+-- -   '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' |+--     'Linux\/UNIX (Amazon VPC)' | 'SUSE Linux' |+--     'SUSE Linux (Amazon VPC)' | 'Red Hat Enterprise Linux' |+--     'Red Hat Enterprise Linux (Amazon VPC)' | 'Windows' |+--     'Windows (Amazon VPC)' | 'Windows with SQL Server Standard' |+--     'Windows with SQL Server Standard (Amazon VPC)' |+--     'Windows with SQL Server Web' |+--     ' Windows with SQL Server Web (Amazon VPC)' |+--     'Windows with SQL Server Enterprise' |+--     'Windows with SQL Server Enterprise (Amazon VPC)') ----- 'usage-price' - The usage price of the Reserved Instance, per hour (for--- example, 0.84).+-- -   'reserved-instances-offering-id' - The Reserved Instances offering+--     ID. --+-- -   'usage-price' - The usage price of the Reserved Instance, per hour+--     (for example, 0.84). -- drioFilters :: Lens' DescribeReservedInstancesOfferings [Filter]-drioFilters = lens _drioFilters (\s a -> s { _drioFilters = a }) . _List+drioFilters = lens _drioFilters (\ s a -> s{_drioFilters = a}) . _Default . _Coerce; --- | Include Marketplace offerings in the response.-drioIncludeMarketplace :: Lens' DescribeReservedInstancesOfferings (Maybe Bool)-drioIncludeMarketplace =-    lens _drioIncludeMarketplace (\s a -> s { _drioIncludeMarketplace = a })+-- | The instance type on which the Reserved Instance can be used. For more+-- information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Types>+-- in the /Amazon Elastic Compute Cloud User Guide/.+drioInstanceType :: Lens' DescribeReservedInstancesOfferings (Maybe InstanceType)+drioInstanceType = lens _drioInstanceType (\ s a -> s{_drioInstanceType = a}); --- | The tenancy of the Reserved Instance offering. A Reserved Instance with 'dedicated' tenancy runs on single-tenant hardware and can only be launched within a VPC.+-- | The token to retrieve the next page of results.+drioNextToken :: Lens' DescribeReservedInstancesOfferings (Maybe Text)+drioNextToken = lens _drioNextToken (\ s a -> s{_drioNextToken = a});++-- | The minimum duration (in seconds) to filter when searching for+-- offerings. --+-- Default: 2592000 (1 month)+drioMinDuration :: Lens' DescribeReservedInstancesOfferings (Maybe Integer)+drioMinDuration = lens _drioMinDuration (\ s a -> s{_drioMinDuration = a});++-- | 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 2011-11-01 API version, you only have access to the+-- '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.+drioReservedInstancesOfferingIds :: Lens' DescribeReservedInstancesOfferings [Text]+drioReservedInstancesOfferingIds = lens _drioReservedInstancesOfferingIds (\ s a -> s{_drioReservedInstancesOfferingIds = a}) . _Default . _Coerce;++-- | The tenancy of the Reserved Instance offering. A Reserved Instance with+-- 'dedicated' tenancy runs on single-tenant hardware and can only be+-- launched within a VPC.+-- -- Default: 'default' drioInstanceTenancy :: Lens' DescribeReservedInstancesOfferings (Maybe Tenancy)-drioInstanceTenancy =-    lens _drioInstanceTenancy (\s a -> s { _drioInstanceTenancy = a })+drioInstanceTenancy = lens _drioInstanceTenancy (\ s a -> s{_drioInstanceTenancy = a}); --- | The instance type on which the Reserved Instance can be used. For more--- information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Types> in the /Amazon Elastic Compute Cloud User Guide/--- .-drioInstanceType :: Lens' DescribeReservedInstancesOfferings (Maybe InstanceType)-drioInstanceType = lens _drioInstanceType (\s a -> s { _drioInstanceType = 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'.+drioDryRun :: Lens' DescribeReservedInstancesOfferings (Maybe Bool)+drioDryRun = lens _drioDryRun (\ s a -> s{_drioDryRun = a}); --- | The maximum duration (in seconds) to filter when searching for offerings.+-- | The maximum number of results to return for the request in a single+-- page. The remaining results of the initial request can be seen by+-- sending another request with the returned 'NextToken' value. The maximum+-- is 100. ----- Default: 94608000 (3 years)-drioMaxDuration :: Lens' DescribeReservedInstancesOfferings (Maybe Integer)-drioMaxDuration = lens _drioMaxDuration (\s a -> s { _drioMaxDuration = a })+-- Default: 100+drioMaxResults :: Lens' DescribeReservedInstancesOfferings (Maybe Int)+drioMaxResults = lens _drioMaxResults (\ s a -> s{_drioMaxResults = a});  -- | The maximum number of instances to filter when searching for offerings. -- -- Default: 20 drioMaxInstanceCount :: Lens' DescribeReservedInstancesOfferings (Maybe Int)-drioMaxInstanceCount =-    lens _drioMaxInstanceCount (\s a -> s { _drioMaxInstanceCount = a })---- | The maximum number of results to return for the request in a single page. The--- remaining results of the initial request can be seen by sending another--- request with the returned 'NextToken' value. The maximum is 100.------ Default: 100-drioMaxResults :: Lens' DescribeReservedInstancesOfferings (Maybe Int)-drioMaxResults = lens _drioMaxResults (\s a -> s { _drioMaxResults = a })+drioMaxInstanceCount = lens _drioMaxInstanceCount (\ s a -> s{_drioMaxInstanceCount = a}); --- | The minimum duration (in seconds) to filter when searching for offerings.------ Default: 2592000 (1 month)-drioMinDuration :: Lens' DescribeReservedInstancesOfferings (Maybe Integer)-drioMinDuration = lens _drioMinDuration (\s a -> s { _drioMinDuration = a })+instance AWSPager DescribeReservedInstancesOfferings+         where+        page rq rs+          | stop (rs ^. driorsNextToken) = Nothing+          | stop (rs ^. driorsReservedInstancesOfferings) =+            Nothing+          | otherwise =+            Just $ rq & drioNextToken .~ rs ^. driorsNextToken --- | The token to retrieve the next page of results.-drioNextToken :: Lens' DescribeReservedInstancesOfferings (Maybe Text)-drioNextToken = lens _drioNextToken (\s a -> s { _drioNextToken = a })+instance AWSRequest+         DescribeReservedInstancesOfferings where+        type Sv DescribeReservedInstancesOfferings = EC2+        type Rs DescribeReservedInstancesOfferings =+             DescribeReservedInstancesOfferingsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeReservedInstancesOfferingsResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "reservedInstancesOfferingsSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | 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.-drioOfferingType :: Lens' DescribeReservedInstancesOfferings (Maybe OfferingTypeValues)-drioOfferingType = lens _drioOfferingType (\s a -> s { _drioOfferingType = a })+instance ToHeaders DescribeReservedInstancesOfferings+         where+        toHeaders = const mempty --- | The Reserved Instance 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 })+instance ToPath DescribeReservedInstancesOfferings+         where+        toPath = const "/" --- | One or more Reserved Instances offering IDs.-drioReservedInstancesOfferingIds :: Lens' DescribeReservedInstancesOfferings [Text]-drioReservedInstancesOfferingIds =-    lens _drioReservedInstancesOfferingIds-        (\s a -> s { _drioReservedInstancesOfferingIds = a })-            . _List+instance ToQuery DescribeReservedInstancesOfferings+         where+        toQuery DescribeReservedInstancesOfferings'{..}+          = mconcat+              ["Action" =:+                 ("DescribeReservedInstancesOfferings" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "MaxDuration" =: _drioMaxDuration,+               "ProductDescription" =: _drioProductDescription,+               "IncludeMarketplace" =: _drioIncludeMarketplace,+               toQuery (toQueryList "Filter" <$> _drioFilters),+               "InstanceType" =: _drioInstanceType,+               "NextToken" =: _drioNextToken,+               "MinDuration" =: _drioMinDuration,+               "AvailabilityZone" =: _drioAvailabilityZone,+               "OfferingType" =: _drioOfferingType,+               toQuery+                 (toQueryList "ReservedInstancesOfferingId" <$>+                    _drioReservedInstancesOfferingIds),+               "InstanceTenancy" =: _drioInstanceTenancy,+               "DryRun" =: _drioDryRun,+               "MaxResults" =: _drioMaxResults,+               "MaxInstanceCount" =: _drioMaxInstanceCount] -data DescribeReservedInstancesOfferingsResponse = DescribeReservedInstancesOfferingsResponse-    { _driorNextToken                  :: Maybe Text-    , _driorReservedInstancesOfferings :: List "item" ReservedInstancesOffering-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeReservedInstancesOfferingsResponse' smart constructor.+data DescribeReservedInstancesOfferingsResponse = DescribeReservedInstancesOfferingsResponse'+    { _driorsNextToken                  :: !(Maybe Text)+    , _driorsReservedInstancesOfferings :: !(Maybe [ReservedInstancesOffering])+    , _driorsStatus                     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeReservedInstancesOfferingsResponse' constructor.+-- | Creates a value of 'DescribeReservedInstancesOfferingsResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'driorNextToken' @::@ 'Maybe' 'Text'+-- * 'driorsNextToken' ----- * 'driorReservedInstancesOfferings' @::@ ['ReservedInstancesOffering']+-- * 'driorsReservedInstancesOfferings' ---describeReservedInstancesOfferingsResponse :: DescribeReservedInstancesOfferingsResponse-describeReservedInstancesOfferingsResponse = DescribeReservedInstancesOfferingsResponse-    { _driorReservedInstancesOfferings = mempty-    , _driorNextToken                  = Nothing+-- * 'driorsStatus'+describeReservedInstancesOfferingsResponse+    :: Int -- ^ 'driorsStatus'+    -> DescribeReservedInstancesOfferingsResponse+describeReservedInstancesOfferingsResponse pStatus_ =+    DescribeReservedInstancesOfferingsResponse'+    { _driorsNextToken = Nothing+    , _driorsReservedInstancesOfferings = Nothing+    , _driorsStatus = pStatus_     } --- | The token to use to retrieve the next page of results. This value is 'null'--- when there are no more results to return.-driorNextToken :: Lens' DescribeReservedInstancesOfferingsResponse (Maybe Text)-driorNextToken = lens _driorNextToken (\s a -> s { _driorNextToken = a })+-- | The token to use to retrieve the next page of results. This value is+-- 'null' when there are no more results to return.+driorsNextToken :: Lens' DescribeReservedInstancesOfferingsResponse (Maybe Text)+driorsNextToken = lens _driorsNextToken (\ s a -> s{_driorsNextToken = a});  -- | A list of Reserved Instances offerings.-driorReservedInstancesOfferings :: Lens' DescribeReservedInstancesOfferingsResponse [ReservedInstancesOffering]-driorReservedInstancesOfferings =-    lens _driorReservedInstancesOfferings-        (\s a -> s { _driorReservedInstancesOfferings = a })-            . _List--instance ToPath DescribeReservedInstancesOfferings where-    toPath = const "/"--instance ToQuery DescribeReservedInstancesOfferings where-    toQuery DescribeReservedInstancesOfferings{..} = mconcat-        [ "AvailabilityZone"            =? _drioAvailabilityZone-        , "DryRun"                      =? _drioDryRun-        , "Filter"                      `toQueryList` _drioFilters-        , "IncludeMarketplace"          =? _drioIncludeMarketplace-        , "InstanceTenancy"             =? _drioInstanceTenancy-        , "InstanceType"                =? _drioInstanceType-        , "MaxDuration"                 =? _drioMaxDuration-        , "MaxInstanceCount"            =? _drioMaxInstanceCount-        , "MaxResults"                  =? _drioMaxResults-        , "MinDuration"                 =? _drioMinDuration-        , "NextToken"                   =? _drioNextToken-        , "OfferingType"                =? _drioOfferingType-        , "ProductDescription"          =? _drioProductDescription-        , "ReservedInstancesOfferingId" `toQueryList` _drioReservedInstancesOfferingIds-        ]--instance ToHeaders DescribeReservedInstancesOfferings--instance AWSRequest DescribeReservedInstancesOfferings where-    type Sv DescribeReservedInstancesOfferings = EC2-    type Rs DescribeReservedInstancesOfferings = DescribeReservedInstancesOfferingsResponse--    request  = post "DescribeReservedInstancesOfferings"-    response = xmlResponse--instance FromXML DescribeReservedInstancesOfferingsResponse where-    parseXML x = DescribeReservedInstancesOfferingsResponse-        <$> x .@? "nextToken"-        <*> x .@? "reservedInstancesOfferingsSet" .!@ mempty+driorsReservedInstancesOfferings :: Lens' DescribeReservedInstancesOfferingsResponse [ReservedInstancesOffering]+driorsReservedInstancesOfferings = lens _driorsReservedInstancesOfferings (\ s a -> s{_driorsReservedInstancesOfferings = a}) . _Default . _Coerce; -instance AWSPager DescribeReservedInstancesOfferings where-    page rq rs-        | stop (rs ^. driorNextToken) = Nothing-        | otherwise = (\x -> rq & drioNextToken ?~ x)-            <$> (rs ^. driorNextToken)+-- | The response status code.+driorsStatus :: Lens' DescribeReservedInstancesOfferingsResponse Int+driorsStatus = lens _driorsStatus (\ s a -> s{_driorsStatus = a});
gen/Network/AWS/EC2/DescribeRouteTables.hs view
@@ -1,188 +1,214 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeRouteTables--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your route tables.+-- Describes one or more of your route tables. ----- For more information about route tables, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html Route Tables> in the /AmazonVirtual Private Cloud User Guide/.+-- Each subnet in your VPC must be associated with a route table. If a+-- subnet is not explicitly associated with any route table, it is+-- implicitly associated with the main route table. This command does not+-- return the subnet ID for implicit associations. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeRouteTables.html>+-- 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     (-    -- * Request-      DescribeRouteTables-    -- ** Request constructor-    , describeRouteTables-    -- ** Request lenses-    , drt2DryRun-    , drt2Filters-    , drt2RouteTableIds+    -- * Creating a Request+      describeRouteTables+    , DescribeRouteTables+    -- * Request Lenses+    , drtsFilters+    , drtsDryRun+    , drtsRouteTableIds -    -- * Response-    , DescribeRouteTablesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeRouteTablesResponse-    -- ** Response lenses-    , drtrRouteTables+    , DescribeRouteTablesResponse+    -- * Response Lenses+    , drtrsRouteTables+    , drtrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeRouteTables = DescribeRouteTables-    { _drt2DryRun        :: Maybe Bool-    , _drt2Filters       :: List "Filter" Filter-    , _drt2RouteTableIds :: List "item" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeRouteTables' smart constructor.+data DescribeRouteTables = DescribeRouteTables'+    { _drtsFilters       :: !(Maybe [Filter])+    , _drtsDryRun        :: !(Maybe Bool)+    , _drtsRouteTableIds :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeRouteTables' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeRouteTables' with the minimum fields required to make a request. ----- * 'drt2DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'drt2Filters' @::@ ['Filter']+-- * 'drtsFilters' ----- * 'drt2RouteTableIds' @::@ ['Text']+-- * 'drtsDryRun' ---describeRouteTables :: DescribeRouteTables-describeRouteTables = DescribeRouteTables-    { _drt2DryRun        = Nothing-    , _drt2RouteTableIds = mempty-    , _drt2Filters       = mempty+-- * 'drtsRouteTableIds'+describeRouteTables+    :: DescribeRouteTables+describeRouteTables =+    DescribeRouteTables'+    { _drtsFilters = Nothing+    , _drtsDryRun = Nothing+    , _drtsRouteTableIds = Nothing     } --- | 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'.-drt2DryRun :: Lens' DescribeRouteTables (Maybe Bool)-drt2DryRun = lens _drt2DryRun (\s a -> s { _drt2DryRun = a })- -- | One or more filters. ----- 'association.route-table-association-id' - The ID of an association ID for--- the route table.------ 'association.route-table-id' - The ID of the route table involved in the--- association.------ 'association.subnet-id' - The ID of the subnet involved in the association.+-- -   'association.route-table-association-id' - The ID of an association+--     ID for the route table. ----- 'association.main' - Indicates whether the route table is the main route--- table for the VPC.+-- -   'association.route-table-id' - The ID of the route table involved in+--     the association. ----- 'route-table-id' - The ID of the route table.+-- -   'association.subnet-id' - The ID of the subnet involved in the+--     association. ----- 'route.destination-cidr-block' - The CIDR range specified in a route in the--- table.+-- -   'association.main' - Indicates whether the route table is the main+--     route table for the VPC. ----- 'route.destination-prefix-list-id' - The ID (prefix) of the AWS service--- specified in a route in the table.+-- -   'route-table-id' - The ID of the route table. ----- 'route.gateway-id' - The ID of a gateway specified in a route in the table.+-- -   'route.destination-cidr-block' - The CIDR range specified in a route+--     in the table. ----- 'route.instance-id' - The ID of an instance specified in a route in the--- table.+-- -   'route.destination-prefix-list-id' - The ID (prefix) of the AWS+--     service specified in a route in the table. ----- 'route.origin' - Describes how the route was created. 'CreateRouteTable'--- indicates that the 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.+-- -   'route.gateway-id' - The ID of a gateway specified in a route in the+--     table. ----- 'route.state' - The state of a route in the route table ('active' | 'blackhole'). The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, the specified NAT instance has been terminated, and so on).+-- -   'route.instance-id' - The ID of an instance specified in a route in+--     the table. --+-- -   'route.origin' - Describes how the route was created.+--     'CreateRouteTable' indicates that the 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. ----- 'route.vpc-peering-connection-id' - The ID of a VPC peering connection--- specified in a route in the table.+-- -   'route.state' - The state of a route in the route table ('active' |+--     'blackhole'). The blackhole state indicates that the route\'s target+--     isn\'t available (for example, the specified gateway isn\'t attached+--     to the VPC, the specified NAT instance has been terminated, and so+--     on). ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.+-- -   'route.vpc-peering-connection-id' - The ID of a VPC peering+--     connection specified in a route in the table. ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter. ----- 'vpc-id' - The ID of the VPC for the route table.+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter. --+-- -   'vpc-id' - The ID of the VPC for the route table. ---drt2Filters :: Lens' DescribeRouteTables [Filter]-drt2Filters = lens _drt2Filters (\s a -> s { _drt2Filters = a }) . _List+drtsFilters :: Lens' DescribeRouteTables [Filter]+drtsFilters = lens _drtsFilters (\ s a -> s{_drtsFilters = 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'.+drtsDryRun :: Lens' DescribeRouteTables (Maybe Bool)+drtsDryRun = lens _drtsDryRun (\ s a -> s{_drtsDryRun = a});+ -- | One or more route table IDs. -- -- Default: Describes all your route tables.-drt2RouteTableIds :: Lens' DescribeRouteTables [Text]-drt2RouteTableIds =-    lens _drt2RouteTableIds (\s a -> s { _drt2RouteTableIds = a })-        . _List--newtype DescribeRouteTablesResponse = DescribeRouteTablesResponse-    { _drtrRouteTables :: List "item" RouteTable-    } deriving (Eq, Read, Show, Monoid, Semigroup)+drtsRouteTableIds :: Lens' DescribeRouteTables [Text]+drtsRouteTableIds = lens _drtsRouteTableIds (\ s a -> s{_drtsRouteTableIds = a}) . _Default . _Coerce; --- | 'DescribeRouteTablesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'drtrRouteTables' @::@ ['RouteTable']----describeRouteTablesResponse :: DescribeRouteTablesResponse-describeRouteTablesResponse = DescribeRouteTablesResponse-    { _drtrRouteTables = mempty-    }+instance AWSRequest DescribeRouteTables where+        type Sv DescribeRouteTables = EC2+        type Rs DescribeRouteTables =+             DescribeRouteTablesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeRouteTablesResponse' <$>+                   (x .@? "routeTableSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more route tables.-drtrRouteTables :: Lens' DescribeRouteTablesResponse [RouteTable]-drtrRouteTables = lens _drtrRouteTables (\s a -> s { _drtrRouteTables = a }) . _List+instance ToHeaders DescribeRouteTables where+        toHeaders = const mempty  instance ToPath DescribeRouteTables where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeRouteTables where-    toQuery DescribeRouteTables{..} = mconcat-        [ "DryRun"       =? _drt2DryRun-        , "Filter"       `toQueryList` _drt2Filters-        , "RouteTableId" `toQueryList` _drt2RouteTableIds-        ]+        toQuery DescribeRouteTables'{..}+          = mconcat+              ["Action" =: ("DescribeRouteTables" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _drtsFilters),+               "DryRun" =: _drtsDryRun,+               toQuery (toQueryList "item" <$> _drtsRouteTableIds)] -instance ToHeaders DescribeRouteTables+-- | /See:/ 'describeRouteTablesResponse' smart constructor.+data DescribeRouteTablesResponse = DescribeRouteTablesResponse'+    { _drtrsRouteTables :: !(Maybe [RouteTable])+    , _drtrsStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeRouteTables where-    type Sv DescribeRouteTables = EC2-    type Rs DescribeRouteTables = DescribeRouteTablesResponse+-- | Creates a value of 'DescribeRouteTablesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drtrsRouteTables'+--+-- * 'drtrsStatus'+describeRouteTablesResponse+    :: Int -- ^ 'drtrsStatus'+    -> DescribeRouteTablesResponse+describeRouteTablesResponse pStatus_ =+    DescribeRouteTablesResponse'+    { _drtrsRouteTables = Nothing+    , _drtrsStatus = pStatus_+    } -    request  = post "DescribeRouteTables"-    response = xmlResponse+-- | Information about one or more route tables.+drtrsRouteTables :: Lens' DescribeRouteTablesResponse [RouteTable]+drtrsRouteTables = lens _drtrsRouteTables (\ s a -> s{_drtrsRouteTables = a}) . _Default . _Coerce; -instance FromXML DescribeRouteTablesResponse where-    parseXML x = DescribeRouteTablesResponse-        <$> x .@? "routeTableSet" .!@ mempty+-- | The response status code.+drtrsStatus :: Lens' DescribeRouteTablesResponse Int+drtrsStatus = lens _drtrsStatus (\ s a -> s{_drtrsStatus = a});
gen/Network/AWS/EC2/DescribeSecurityGroups.hs view
@@ -1,190 +1,211 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeSecurityGroups--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your security groups.+-- Describes one or more of your security groups. -- -- A security group is for use with instances either in the EC2-Classic--- platform or in a specific VPC. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html Amazon EC2 SecurityGroups> in the /Amazon Elastic Compute Cloud User Guide/ and <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html Security Groups forYour VPC> in the /Amazon Virtual Private Cloud User Guide/.+-- platform or in a specific VPC. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html Amazon EC2 Security Groups>+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSecurityGroups.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSecurityGroups.html AWS API Reference> for DescribeSecurityGroups. module Network.AWS.EC2.DescribeSecurityGroups     (-    -- * Request-      DescribeSecurityGroups-    -- ** Request constructor-    , describeSecurityGroups-    -- ** Request lenses-    , dsg1DryRun-    , dsg1Filters-    , dsg1GroupIds-    , dsg1GroupNames+    -- * Creating a Request+      describeSecurityGroups+    , DescribeSecurityGroups+    -- * Request Lenses+    , dsgsGroupNames+    , dsgsFilters+    , dsgsGroupIds+    , dsgsDryRun -    -- * Response-    , DescribeSecurityGroupsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeSecurityGroupsResponse-    -- ** Response lenses-    , dsgrSecurityGroups+    , DescribeSecurityGroupsResponse+    -- * Response Lenses+    , dsgrsSecurityGroups+    , dsgrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeSecurityGroups = DescribeSecurityGroups-    { _dsg1DryRun     :: Maybe Bool-    , _dsg1Filters    :: List "Filter" Filter-    , _dsg1GroupIds   :: List "groupId" Text-    , _dsg1GroupNames :: List "GroupName" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeSecurityGroups' smart constructor.+data DescribeSecurityGroups = DescribeSecurityGroups'+    { _dsgsGroupNames :: !(Maybe [Text])+    , _dsgsFilters    :: !(Maybe [Filter])+    , _dsgsGroupIds   :: !(Maybe [Text])+    , _dsgsDryRun     :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeSecurityGroups' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeSecurityGroups' with the minimum fields required to make a request. ----- * 'dsg1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsg1Filters' @::@ ['Filter']+-- * 'dsgsGroupNames' ----- * 'dsg1GroupIds' @::@ ['Text']+-- * 'dsgsFilters' ----- * 'dsg1GroupNames' @::@ ['Text']+-- * 'dsgsGroupIds' ---describeSecurityGroups :: DescribeSecurityGroups-describeSecurityGroups = DescribeSecurityGroups-    { _dsg1DryRun     = Nothing-    , _dsg1GroupNames = mempty-    , _dsg1GroupIds   = mempty-    , _dsg1Filters    = mempty+-- * 'dsgsDryRun'+describeSecurityGroups+    :: DescribeSecurityGroups+describeSecurityGroups =+    DescribeSecurityGroups'+    { _dsgsGroupNames = Nothing+    , _dsgsFilters = Nothing+    , _dsgsGroupIds = Nothing+    , _dsgsDryRun = Nothing     } --- | 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'.-dsg1DryRun :: Lens' DescribeSecurityGroups (Maybe Bool)-dsg1DryRun = lens _dsg1DryRun (\s a -> s { _dsg1DryRun = a })+-- | [EC2-Classic and default VPC only] One or more security group names. You+-- can specify either the security group name or the security group ID. For+-- security groups in a nondefault VPC, use the 'group-name' filter to+-- describe security groups by name.+--+-- Default: Describes all your security groups.+dsgsGroupNames :: Lens' DescribeSecurityGroups [Text]+dsgsGroupNames = lens _dsgsGroupNames (\ s a -> s{_dsgsGroupNames = a}) . _Default . _Coerce;  -- | One or more filters. ----- 'description' - The description of the security group.------ 'egress.ip-permission.prefix-list-id' - The ID (prefix) of the AWS service--- to which the security group allows access.------ 'group-id' - The ID of the security group.+-- -   'description' - The description of the security group. ----- 'group-name' - The name of the security group.+-- -   'egress.ip-permission.prefix-list-id' - The ID (prefix) of the AWS+--     service to which the security group allows access. ----- 'ip-permission.cidr' - A CIDR range that has been granted permission.+-- -   'group-id' - The ID of the security group. ----- 'ip-permission.from-port' - The start of port range for the TCP and UDP--- protocols, or an ICMP type number.+-- -   'group-name' - The name of the security group. ----- 'ip-permission.group-id' - The ID of a security group that has been granted--- permission.+-- -   'ip-permission.cidr' - A CIDR range that has been granted+--     permission. ----- 'ip-permission.group-name' - The name of a security group that has been--- granted permission.+-- -   'ip-permission.from-port' - The start of port range for the TCP and+--     UDP protocols, or an ICMP type number. ----- 'ip-permission.protocol' - The IP protocol for the permission ('tcp' | 'udp' | 'icmp' or a protocol number).+-- -   'ip-permission.group-id' - The ID of a security group that has been+--     granted permission. ----- 'ip-permission.to-port' - The end of port range for the TCP and UDP--- protocols, or an ICMP code.+-- -   'ip-permission.group-name' - The name of a security group that has+--     been granted permission. ----- 'ip-permission.user-id' - The ID of an AWS account that has been granted--- permission.+-- -   'ip-permission.protocol' - The IP protocol for the permission ('tcp'+--     | 'udp' | 'icmp' or a protocol number). ----- 'owner-id' - The AWS account ID of the owner of the security group.+-- -   'ip-permission.to-port' - The end of port range for the TCP and UDP+--     protocols, or an ICMP code. ----- 'tag-key' - The key of a tag assigned to the security group.+-- -   'ip-permission.user-id' - The ID of an AWS account that has been+--     granted permission. ----- 'tag-value' - The value of a tag assigned to the security group.+-- -   'owner-id' - The AWS account ID of the owner of the security group. ----- 'vpc-id' - The ID of the VPC specified when the security group was created.+-- -   'tag-key' - The key of a tag assigned to the security group. --+-- -   'tag-value' - The value of a tag assigned to the security group. ---dsg1Filters :: Lens' DescribeSecurityGroups [Filter]-dsg1Filters = lens _dsg1Filters (\s a -> s { _dsg1Filters = a }) . _List---- | One or more security group IDs. Required for security groups in a nondefault--- VPC.+-- -   'vpc-id' - The ID of the VPC specified when the security group was+--     created. ----- Default: Describes all your security groups.-dsg1GroupIds :: Lens' DescribeSecurityGroups [Text]-dsg1GroupIds = lens _dsg1GroupIds (\s a -> s { _dsg1GroupIds = a }) . _List+dsgsFilters :: Lens' DescribeSecurityGroups [Filter]+dsgsFilters = lens _dsgsFilters (\ s a -> s{_dsgsFilters = a}) . _Default . _Coerce; --- | [EC2-Classic and default VPC only] One or more security group names. You can--- specify either the security group name or the security group ID. For security--- groups in a nondefault VPC, use the 'group-name' filter to describe security--- groups by name.+-- | One or more security group IDs. Required for security groups in a+-- nondefault VPC. -- -- Default: Describes all your security groups.-dsg1GroupNames :: Lens' DescribeSecurityGroups [Text]-dsg1GroupNames = lens _dsg1GroupNames (\s a -> s { _dsg1GroupNames = a }) . _List+dsgsGroupIds :: Lens' DescribeSecurityGroups [Text]+dsgsGroupIds = lens _dsgsGroupIds (\ s a -> s{_dsgsGroupIds = a}) . _Default . _Coerce; -newtype DescribeSecurityGroupsResponse = DescribeSecurityGroupsResponse-    { _dsgrSecurityGroups :: List "item" SecurityGroup-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+dsgsDryRun :: Lens' DescribeSecurityGroups (Maybe Bool)+dsgsDryRun = lens _dsgsDryRun (\ s a -> s{_dsgsDryRun = a}); --- | 'DescribeSecurityGroupsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dsgrSecurityGroups' @::@ ['SecurityGroup']----describeSecurityGroupsResponse :: DescribeSecurityGroupsResponse-describeSecurityGroupsResponse = DescribeSecurityGroupsResponse-    { _dsgrSecurityGroups = mempty-    }+instance AWSRequest DescribeSecurityGroups where+        type Sv DescribeSecurityGroups = EC2+        type Rs DescribeSecurityGroups =+             DescribeSecurityGroupsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeSecurityGroupsResponse' <$>+                   (x .@? "securityGroupInfo" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more security groups.-dsgrSecurityGroups :: Lens' DescribeSecurityGroupsResponse [SecurityGroup]-dsgrSecurityGroups =-    lens _dsgrSecurityGroups (\s a -> s { _dsgrSecurityGroups = a })-        . _List+instance ToHeaders DescribeSecurityGroups where+        toHeaders = const mempty  instance ToPath DescribeSecurityGroups where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeSecurityGroups where-    toQuery DescribeSecurityGroups{..} = mconcat-        [ "DryRun"    =? _dsg1DryRun-        , "Filter"    `toQueryList` _dsg1Filters-        , "GroupId"   `toQueryList` _dsg1GroupIds-        , "GroupName" `toQueryList` _dsg1GroupNames-        ]+        toQuery DescribeSecurityGroups'{..}+          = mconcat+              ["Action" =:+                 ("DescribeSecurityGroups" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "GroupName" <$> _dsgsGroupNames),+               toQuery (toQueryList "Filter" <$> _dsgsFilters),+               toQuery (toQueryList "groupId" <$> _dsgsGroupIds),+               "DryRun" =: _dsgsDryRun] -instance ToHeaders DescribeSecurityGroups+-- | /See:/ 'describeSecurityGroupsResponse' smart constructor.+data DescribeSecurityGroupsResponse = DescribeSecurityGroupsResponse'+    { _dsgrsSecurityGroups :: !(Maybe [SecurityGroup])+    , _dsgrsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeSecurityGroups where-    type Sv DescribeSecurityGroups = EC2-    type Rs DescribeSecurityGroups = DescribeSecurityGroupsResponse+-- | Creates a value of 'DescribeSecurityGroupsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsgrsSecurityGroups'+--+-- * 'dsgrsStatus'+describeSecurityGroupsResponse+    :: Int -- ^ 'dsgrsStatus'+    -> DescribeSecurityGroupsResponse+describeSecurityGroupsResponse pStatus_ =+    DescribeSecurityGroupsResponse'+    { _dsgrsSecurityGroups = Nothing+    , _dsgrsStatus = pStatus_+    } -    request  = post "DescribeSecurityGroups"-    response = xmlResponse+-- | Information about one or more security groups.+dsgrsSecurityGroups :: Lens' DescribeSecurityGroupsResponse [SecurityGroup]+dsgrsSecurityGroups = lens _dsgrsSecurityGroups (\ s a -> s{_dsgrsSecurityGroups = a}) . _Default . _Coerce; -instance FromXML DescribeSecurityGroupsResponse where-    parseXML x = DescribeSecurityGroupsResponse-        <$> x .@? "securityGroupInfo" .!@ mempty+-- | The response status code.+dsgrsStatus :: Lens' DescribeSecurityGroupsResponse Int+dsgrsStatus = lens _dsgrsStatus (\ s a -> s{_dsgrsStatus = a});
gen/Network/AWS/EC2/DescribeSnapshotAttribute.hs view
@@ -1,157 +1,174 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeSnapshotAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the specified attribute of the specified snapshot. You can specify--- only one attribute at a time.+-- Describes the specified attribute of the specified snapshot. You can+-- specify only one attribute at a time. ----- 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/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshotAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshotAttribute.html AWS API Reference> for DescribeSnapshotAttribute. module Network.AWS.EC2.DescribeSnapshotAttribute     (-    -- * Request-      DescribeSnapshotAttribute-    -- ** Request constructor-    , describeSnapshotAttribute-    -- ** Request lenses-    , dsaAttribute+    -- * Creating a Request+      describeSnapshotAttribute+    , DescribeSnapshotAttribute+    -- * Request Lenses     , dsaDryRun     , dsaSnapshotId+    , dsaAttribute -    -- * Response-    , DescribeSnapshotAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeSnapshotAttributeResponse-    -- ** Response lenses-    , dsarCreateVolumePermissions-    , dsarProductCodes-    , dsarSnapshotId+    , DescribeSnapshotAttributeResponse+    -- * Response Lenses+    , dsarsCreateVolumePermissions+    , dsarsProductCodes+    , dsarsSnapshotId+    , dsarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeSnapshotAttribute = DescribeSnapshotAttribute-    { _dsaAttribute  :: SnapshotAttributeName-    , _dsaDryRun     :: Maybe Bool-    , _dsaSnapshotId :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeSnapshotAttribute' smart constructor.+data DescribeSnapshotAttribute = DescribeSnapshotAttribute'+    { _dsaDryRun     :: !(Maybe Bool)+    , _dsaSnapshotId :: !Text+    , _dsaAttribute  :: !SnapshotAttributeName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeSnapshotAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeSnapshotAttribute' with the minimum fields required to make a request. ----- * 'dsaAttribute' @::@ 'SnapshotAttributeName'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsaDryRun' @::@ 'Maybe' 'Bool'+-- * 'dsaDryRun' ----- * 'dsaSnapshotId' @::@ 'Text'+-- * 'dsaSnapshotId' ---describeSnapshotAttribute :: Text -- ^ 'dsaSnapshotId'-                          -> SnapshotAttributeName -- ^ 'dsaAttribute'-                          -> DescribeSnapshotAttribute-describeSnapshotAttribute p1 p2 = DescribeSnapshotAttribute-    { _dsaSnapshotId = p1-    , _dsaAttribute  = p2-    , _dsaDryRun     = Nothing+-- * 'dsaAttribute'+describeSnapshotAttribute+    :: Text -- ^ 'dsaSnapshotId'+    -> SnapshotAttributeName -- ^ 'dsaAttribute'+    -> DescribeSnapshotAttribute+describeSnapshotAttribute pSnapshotId_ pAttribute_ =+    DescribeSnapshotAttribute'+    { _dsaDryRun = Nothing+    , _dsaSnapshotId = pSnapshotId_+    , _dsaAttribute = pAttribute_     } --- | The snapshot attribute you would like to view.-dsaAttribute :: Lens' DescribeSnapshotAttribute SnapshotAttributeName-dsaAttribute = lens _dsaAttribute (\s a -> s { _dsaAttribute = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. dsaDryRun :: Lens' DescribeSnapshotAttribute (Maybe Bool)-dsaDryRun = lens _dsaDryRun (\s a -> s { _dsaDryRun = a })+dsaDryRun = lens _dsaDryRun (\ s a -> s{_dsaDryRun = a});  -- | The ID of the EBS snapshot. dsaSnapshotId :: Lens' DescribeSnapshotAttribute Text-dsaSnapshotId = lens _dsaSnapshotId (\s a -> s { _dsaSnapshotId = a })+dsaSnapshotId = lens _dsaSnapshotId (\ s a -> s{_dsaSnapshotId = a}); -data DescribeSnapshotAttributeResponse = DescribeSnapshotAttributeResponse-    { _dsarCreateVolumePermissions :: List "item" CreateVolumePermission-    , _dsarProductCodes            :: List "item" ProductCode-    , _dsarSnapshotId              :: Maybe Text-    } deriving (Eq, Read, Show)+-- | The snapshot attribute you would like to view.+dsaAttribute :: Lens' DescribeSnapshotAttribute SnapshotAttributeName+dsaAttribute = lens _dsaAttribute (\ s a -> s{_dsaAttribute = a}); --- | 'DescribeSnapshotAttributeResponse' constructor.+instance AWSRequest DescribeSnapshotAttribute where+        type Sv DescribeSnapshotAttribute = EC2+        type Rs DescribeSnapshotAttribute =+             DescribeSnapshotAttributeResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeSnapshotAttributeResponse' <$>+                   (x .@? "createVolumePermission" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*>+                     (x .@? "productCodes" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (x .@? "snapshotId")+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeSnapshotAttribute where+        toHeaders = const mempty++instance ToPath DescribeSnapshotAttribute where+        toPath = const "/"++instance ToQuery DescribeSnapshotAttribute where+        toQuery DescribeSnapshotAttribute'{..}+          = mconcat+              ["Action" =:+                 ("DescribeSnapshotAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dsaDryRun,+               "SnapshotId" =: _dsaSnapshotId,+               "Attribute" =: _dsaAttribute]++-- | /See:/ 'describeSnapshotAttributeResponse' smart constructor.+data DescribeSnapshotAttributeResponse = DescribeSnapshotAttributeResponse'+    { _dsarsCreateVolumePermissions :: !(Maybe [CreateVolumePermission])+    , _dsarsProductCodes            :: !(Maybe [ProductCode])+    , _dsarsSnapshotId              :: !(Maybe Text)+    , _dsarsStatus                  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSnapshotAttributeResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsarCreateVolumePermissions' @::@ ['CreateVolumePermission']+-- * 'dsarsCreateVolumePermissions' ----- * 'dsarProductCodes' @::@ ['ProductCode']+-- * 'dsarsProductCodes' ----- * 'dsarSnapshotId' @::@ 'Maybe' 'Text'+-- * 'dsarsSnapshotId' ---describeSnapshotAttributeResponse :: DescribeSnapshotAttributeResponse-describeSnapshotAttributeResponse = DescribeSnapshotAttributeResponse-    { _dsarSnapshotId              = Nothing-    , _dsarCreateVolumePermissions = mempty-    , _dsarProductCodes            = mempty+-- * 'dsarsStatus'+describeSnapshotAttributeResponse+    :: Int -- ^ 'dsarsStatus'+    -> DescribeSnapshotAttributeResponse+describeSnapshotAttributeResponse pStatus_ =+    DescribeSnapshotAttributeResponse'+    { _dsarsCreateVolumePermissions = Nothing+    , _dsarsProductCodes = Nothing+    , _dsarsSnapshotId = Nothing+    , _dsarsStatus = pStatus_     }  -- | A list of permissions for creating volumes from the snapshot.-dsarCreateVolumePermissions :: Lens' DescribeSnapshotAttributeResponse [CreateVolumePermission]-dsarCreateVolumePermissions =-    lens _dsarCreateVolumePermissions-        (\s a -> s { _dsarCreateVolumePermissions = a })-            . _List+dsarsCreateVolumePermissions :: Lens' DescribeSnapshotAttributeResponse [CreateVolumePermission]+dsarsCreateVolumePermissions = lens _dsarsCreateVolumePermissions (\ s a -> s{_dsarsCreateVolumePermissions = a}) . _Default . _Coerce;  -- | A list of product codes.-dsarProductCodes :: Lens' DescribeSnapshotAttributeResponse [ProductCode]-dsarProductCodes = lens _dsarProductCodes (\s a -> s { _dsarProductCodes = a }) . _List+dsarsProductCodes :: Lens' DescribeSnapshotAttributeResponse [ProductCode]+dsarsProductCodes = lens _dsarsProductCodes (\ s a -> s{_dsarsProductCodes = a}) . _Default . _Coerce;  -- | The ID of the EBS snapshot.-dsarSnapshotId :: Lens' DescribeSnapshotAttributeResponse (Maybe Text)-dsarSnapshotId = lens _dsarSnapshotId (\s a -> s { _dsarSnapshotId = a })--instance ToPath DescribeSnapshotAttribute where-    toPath = const "/"--instance ToQuery DescribeSnapshotAttribute where-    toQuery DescribeSnapshotAttribute{..} = mconcat-        [ "Attribute"  =? _dsaAttribute-        , "DryRun"     =? _dsaDryRun-        , "SnapshotId" =? _dsaSnapshotId-        ]--instance ToHeaders DescribeSnapshotAttribute--instance AWSRequest DescribeSnapshotAttribute where-    type Sv DescribeSnapshotAttribute = EC2-    type Rs DescribeSnapshotAttribute = DescribeSnapshotAttributeResponse--    request  = post "DescribeSnapshotAttribute"-    response = xmlResponse+dsarsSnapshotId :: Lens' DescribeSnapshotAttributeResponse (Maybe Text)+dsarsSnapshotId = lens _dsarsSnapshotId (\ s a -> s{_dsarsSnapshotId = a}); -instance FromXML DescribeSnapshotAttributeResponse where-    parseXML x = DescribeSnapshotAttributeResponse-        <$> x .@? "createVolumePermission" .!@ mempty-        <*> x .@? "productCodes" .!@ mempty-        <*> x .@? "snapshotId"+-- | The response status code.+dsarsStatus :: Lens' DescribeSnapshotAttributeResponse Int+dsarsStatus = lens _dsarsStatus (\ s a -> s{_dsarsStatus = a});
gen/Network/AWS/EC2/DescribeSnapshots.hs view
@@ -1,273 +1,307 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeSnapshots--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of the EBS snapshots available to you. Available--- snapshots include public snapshots available for any AWS account to launch,--- private snapshots that you own, and private snapshots owned by another AWS--- account but for which you've been given explicit create volume permissions.+-- Describes one or more of the EBS snapshots available to you. Available+-- snapshots include public snapshots available for any AWS account to+-- launch, private snapshots that you own, and private snapshots owned by+-- another AWS account but for which you\'ve been given explicit create+-- volume permissions. -- -- The create volume permissions fall into the following categories: ----- /public/: The owner of the snapshot granted create volume permissions for--- the snapshot to the 'all' group. All AWS accounts have create volume--- permissions for these snapshots.  /explicit/: The owner of the snapshot granted--- create volume permissions to a specific AWS account.  /implicit/: An AWS--- account has implicit create volume permissions for all snapshots it owns.  The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.+-- -   /public/: The owner of the snapshot granted create volume+--     permissions for the snapshot to the 'all' group. All AWS accounts+--     have create volume permissions for these snapshots.+-- -   /explicit/: The owner of the snapshot granted create volume+--     permissions to a specific AWS account.+-- -   /implicit/: An AWS account has implicit create volume permissions+--     for all snapshots it owns. --+-- The list of snapshots returned can be modified by specifying snapshot+-- IDs, snapshot owners, or AWS accounts with create volume permissions. If+-- no options are specified, Amazon EC2 returns all snapshots for which you+-- have create volume permissions. -- -- If you specify one or more snapshot IDs, only snapshots that have the--- specified IDs are returned. If you specify an invalid snapshot ID, an error--- is returned. If you specify a snapshot ID for which you do not have access,--- it is not included in the returned results.+-- specified IDs are returned. If you specify an invalid snapshot ID, an+-- error is returned. If you specify a snapshot ID for which you do not+-- have access, it is not included in the returned results. -- -- If you specify one or more snapshot owners, only snapshots from the--- specified owners and for which you have access are returned. The results can--- include the AWS account IDs of the specified owners, 'amazon' for snapshots--- owned by Amazon, or 'self' for snapshots that you own.+-- specified owners and for which you have access are returned. The results+-- can include the AWS account IDs of the specified owners, 'amazon' for+-- snapshots owned by Amazon, or 'self' for snapshots that you own. -- -- If you specify a list of restorable users, only snapshots with create -- snapshot permissions for those users are returned. You can specify AWS--- account IDs (if you own the snapshots), 'self' for snapshots for which you own--- or have explicit permissions, or 'all' for public snapshots.+-- account IDs (if you own the snapshots), 'self' for snapshots for which+-- you own or have explicit permissions, or 'all' for public snapshots. ----- If you are describing a long list of snapshots, you can paginate the output--- to make the list more manageable. The 'MaxResults' parameter sets the maximum--- number of results returned in a single page. If the list of results exceeds--- your 'MaxResults' value, then that number of results is returned along with a 'NextToken' value that can be passed to a subsequent 'DescribeSnapshots' request to--- retrieve the remaining results.+-- If you are describing a long list of snapshots, you can paginate the+-- output to make the list more manageable. The 'MaxResults' parameter sets+-- the maximum number of results returned in a single page. If the list of+-- results exceeds your 'MaxResults' value, then that number of results is+-- returned along with a 'NextToken' value that can be passed to a+-- subsequent 'DescribeSnapshots' request to retrieve the remaining+-- results. ----- 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/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html>+-- /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     (-    -- * Request-      DescribeSnapshots-    -- ** Request constructor-    , describeSnapshots-    -- ** Request lenses-    , ds1DryRun-    , ds1Filters-    , ds1MaxResults-    , ds1NextToken-    , ds1OwnerIds-    , ds1RestorableByUserIds-    , ds1SnapshotIds+    -- * Creating a Request+      describeSnapshots+    , DescribeSnapshots+    -- * Request Lenses+    , dssOwnerIds+    , dssFilters+    , dssNextToken+    , dssSnapshotIds+    , dssRestorableByUserIds+    , dssDryRun+    , dssMaxResults -    -- * Response-    , DescribeSnapshotsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeSnapshotsResponse-    -- ** Response lenses-    , dsrNextToken-    , dsrSnapshots+    , DescribeSnapshotsResponse+    -- * Response Lenses+    , dssrsNextToken+    , dssrsSnapshots+    , dssrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeSnapshots = DescribeSnapshots-    { _ds1DryRun              :: Maybe Bool-    , _ds1Filters             :: List "Filter" Filter-    , _ds1MaxResults          :: Maybe Int-    , _ds1NextToken           :: Maybe Text-    , _ds1OwnerIds            :: List "Owner" Text-    , _ds1RestorableByUserIds :: List "RestorableBy" Text-    , _ds1SnapshotIds         :: List "SnapshotId" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeSnapshots' smart constructor.+data DescribeSnapshots = DescribeSnapshots'+    { _dssOwnerIds            :: !(Maybe [Text])+    , _dssFilters             :: !(Maybe [Filter])+    , _dssNextToken           :: !(Maybe Text)+    , _dssSnapshotIds         :: !(Maybe [Text])+    , _dssRestorableByUserIds :: !(Maybe [Text])+    , _dssDryRun              :: !(Maybe Bool)+    , _dssMaxResults          :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeSnapshots' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeSnapshots' with the minimum fields required to make a request. ----- * 'ds1DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ds1Filters' @::@ ['Filter']+-- * 'dssOwnerIds' ----- * 'ds1MaxResults' @::@ 'Maybe' 'Int'+-- * 'dssFilters' ----- * 'ds1NextToken' @::@ 'Maybe' 'Text'+-- * 'dssNextToken' ----- * 'ds1OwnerIds' @::@ ['Text']+-- * 'dssSnapshotIds' ----- * 'ds1RestorableByUserIds' @::@ ['Text']+-- * 'dssRestorableByUserIds' ----- * 'ds1SnapshotIds' @::@ ['Text']+-- * 'dssDryRun' ---describeSnapshots :: DescribeSnapshots-describeSnapshots = DescribeSnapshots-    { _ds1DryRun              = Nothing-    , _ds1SnapshotIds         = mempty-    , _ds1OwnerIds            = mempty-    , _ds1RestorableByUserIds = mempty-    , _ds1Filters             = mempty-    , _ds1NextToken           = Nothing-    , _ds1MaxResults          = Nothing+-- * 'dssMaxResults'+describeSnapshots+    :: DescribeSnapshots+describeSnapshots =+    DescribeSnapshots'+    { _dssOwnerIds = Nothing+    , _dssFilters = Nothing+    , _dssNextToken = Nothing+    , _dssSnapshotIds = Nothing+    , _dssRestorableByUserIds = Nothing+    , _dssDryRun = Nothing+    , _dssMaxResults = Nothing     } --- | 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'.-ds1DryRun :: Lens' DescribeSnapshots (Maybe Bool)-ds1DryRun = lens _ds1DryRun (\s a -> s { _ds1DryRun = a })+-- | Returns the snapshots owned by the specified owner. Multiple owners can+-- be specified.+dssOwnerIds :: Lens' DescribeSnapshots [Text]+dssOwnerIds = lens _dssOwnerIds (\ s a -> s{_dssOwnerIds = a}) . _Default . _Coerce;  -- | One or more filters. ----- 'description' - A description of the snapshot.------ 'owner-alias' - The AWS account alias (for example, 'amazon') that owns the--- snapshot.+-- -   'description' - A description of the snapshot. ----- 'owner-id' - The ID of the AWS account that owns the snapshot.+-- -   'owner-alias' - The AWS account alias (for example, 'amazon') that+--     owns the snapshot. ----- 'progress' - The progress of the snapshot, as a percentage (for example,--- 80%).+-- -   'owner-id' - The ID of the AWS account that owns the snapshot. ----- 'snapshot-id' - The snapshot ID.+-- -   'progress' - The progress of the snapshot, as a percentage (for+--     example, 80%). ----- 'start-time' - The time stamp when the snapshot was initiated.+-- -   'snapshot-id' - The snapshot ID. ----- 'status' - The status of the snapshot ('pending' | 'completed' | 'error').+-- -   'start-time' - The time stamp when the snapshot was initiated. ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.+-- -   'status' - The status of the snapshot ('pending' | 'completed' |+--     'error'). ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter. ----- 'volume-id' - The ID of the volume the snapshot is for.+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter. ----- 'volume-size' - The size of the volume, in GiB.+-- -   'volume-id' - The ID of the volume the snapshot is for. --+-- -   'volume-size' - The size of the volume, in GiB. ---ds1Filters :: Lens' DescribeSnapshots [Filter]-ds1Filters = lens _ds1Filters (\s a -> s { _ds1Filters = a }) . _List---- | The maximum number of snapshot results returned by 'DescribeSnapshots' in--- paginated output. When this parameter is used, 'DescribeSnapshots' only returns 'MaxResults' results in a single page along with a 'NextToken' response element.--- The remaining results of the initial request can be seen by sending another 'DescribeSnapshots' request with the returned 'NextToken' value. This value can be between 5 and--- 1000; if 'MaxResults' is given a value larger than 1000, only 1000 results are--- returned. If this parameter is not used, then 'DescribeSnapshots' returns all--- results. You cannot specify this parameter and the snapshot IDs parameter in--- the same request.-ds1MaxResults :: Lens' DescribeSnapshots (Maybe Int)-ds1MaxResults = lens _ds1MaxResults (\s a -> s { _ds1MaxResults = a })---- | The 'NextToken' value returned from a previous paginated 'DescribeSnapshots'--- request where 'MaxResults' was used and the results exceeded the value of that--- parameter. Pagination continues from the end of the previous results that--- returned the 'NextToken' value. This value is 'null' when there are no more--- results to return.-ds1NextToken :: Lens' DescribeSnapshots (Maybe Text)-ds1NextToken = lens _ds1NextToken (\s a -> s { _ds1NextToken = a })---- | Returns the snapshots owned by the specified owner. Multiple owners can be--- specified.-ds1OwnerIds :: Lens' DescribeSnapshots [Text]-ds1OwnerIds = lens _ds1OwnerIds (\s a -> s { _ds1OwnerIds = a }) . _List+dssFilters :: Lens' DescribeSnapshots [Filter]+dssFilters = lens _dssFilters (\ s a -> s{_dssFilters = a}) . _Default . _Coerce; --- | One or more AWS accounts IDs that can create volumes from the snapshot.-ds1RestorableByUserIds :: Lens' DescribeSnapshots [Text]-ds1RestorableByUserIds =-    lens _ds1RestorableByUserIds (\s a -> s { _ds1RestorableByUserIds = a })-        . _List+-- | The 'NextToken' value returned from a previous paginated+-- 'DescribeSnapshots' request where 'MaxResults' was used and the results+-- exceeded the value of that parameter. Pagination continues from the end+-- of the previous results that returned the 'NextToken' value. This value+-- is 'null' when there are no more results to return.+dssNextToken :: Lens' DescribeSnapshots (Maybe Text)+dssNextToken = lens _dssNextToken (\ s a -> s{_dssNextToken = a});  -- | One or more snapshot IDs. -- -- Default: Describes snapshots for which you have launch permissions.-ds1SnapshotIds :: Lens' DescribeSnapshots [Text]-ds1SnapshotIds = lens _ds1SnapshotIds (\s a -> s { _ds1SnapshotIds = a }) . _List+dssSnapshotIds :: Lens' DescribeSnapshots [Text]+dssSnapshotIds = lens _dssSnapshotIds (\ s a -> s{_dssSnapshotIds = a}) . _Default . _Coerce; -data DescribeSnapshotsResponse = DescribeSnapshotsResponse-    { _dsrNextToken :: Maybe Text-    , _dsrSnapshots :: List "item" Snapshot-    } deriving (Eq, Read, Show)+-- | One or more AWS accounts IDs that can create volumes from the snapshot.+dssRestorableByUserIds :: Lens' DescribeSnapshots [Text]+dssRestorableByUserIds = lens _dssRestorableByUserIds (\ s a -> s{_dssRestorableByUserIds = a}) . _Default . _Coerce; --- | 'DescribeSnapshotsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dsrNextToken' @::@ 'Maybe' 'Text'------ * 'dsrSnapshots' @::@ ['Snapshot']----describeSnapshotsResponse :: DescribeSnapshotsResponse-describeSnapshotsResponse = DescribeSnapshotsResponse-    { _dsrSnapshots = mempty-    , _dsrNextToken = Nothing-    }+-- | 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'.+dssDryRun :: Lens' DescribeSnapshots (Maybe Bool)+dssDryRun = lens _dssDryRun (\ s a -> s{_dssDryRun = a}); --- | The 'NextToken' value to include in a future 'DescribeSnapshots' request. When--- the results of a 'DescribeSnapshots' request exceed 'MaxResults', this value can--- be used to retrieve the next page of results. This value is 'null' when there--- are no more results to return.-dsrNextToken :: Lens' DescribeSnapshotsResponse (Maybe Text)-dsrNextToken = lens _dsrNextToken (\s a -> s { _dsrNextToken = a })+-- | The maximum number of snapshot results returned by 'DescribeSnapshots'+-- in paginated output. When this parameter is used, 'DescribeSnapshots'+-- only returns 'MaxResults' results in a single page along with a+-- 'NextToken' response element. The remaining results of the initial+-- request can be seen by sending another 'DescribeSnapshots' request with+-- the returned 'NextToken' value. This value can be between 5 and 1000; if+-- 'MaxResults' is given a value larger than 1000, only 1000 results are+-- returned. If this parameter is not used, then 'DescribeSnapshots'+-- returns all results. You cannot specify this parameter and the snapshot+-- IDs parameter in the same request.+dssMaxResults :: Lens' DescribeSnapshots (Maybe Int)+dssMaxResults = lens _dssMaxResults (\ s a -> s{_dssMaxResults = a}); --- | Information about the snapshots.-dsrSnapshots :: Lens' DescribeSnapshotsResponse [Snapshot]-dsrSnapshots = lens _dsrSnapshots (\s a -> s { _dsrSnapshots = a }) . _List+instance AWSPager DescribeSnapshots where+        page rq rs+          | stop (rs ^. dssrsNextToken) = Nothing+          | stop (rs ^. dssrsSnapshots) = Nothing+          | otherwise =+            Just $ rq & dssNextToken .~ rs ^. dssrsNextToken +instance AWSRequest DescribeSnapshots where+        type Sv DescribeSnapshots = EC2+        type Rs DescribeSnapshots = DescribeSnapshotsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeSnapshotsResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "snapshotSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeSnapshots where+        toHeaders = const mempty+ instance ToPath DescribeSnapshots where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeSnapshots where-    toQuery DescribeSnapshots{..} = mconcat-        [ "DryRun"       =? _ds1DryRun-        , "Filter"       `toQueryList` _ds1Filters-        , "MaxResults"   =? _ds1MaxResults-        , "NextToken"    =? _ds1NextToken-        , "Owner"        `toQueryList` _ds1OwnerIds-        , "RestorableBy" `toQueryList` _ds1RestorableByUserIds-        , "SnapshotId"   `toQueryList` _ds1SnapshotIds-        ]+        toQuery DescribeSnapshots'{..}+          = mconcat+              ["Action" =: ("DescribeSnapshots" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Owner" <$> _dssOwnerIds),+               toQuery (toQueryList "Filter" <$> _dssFilters),+               "NextToken" =: _dssNextToken,+               toQuery+                 (toQueryList "SnapshotId" <$> _dssSnapshotIds),+               toQuery+                 (toQueryList "RestorableBy" <$>+                    _dssRestorableByUserIds),+               "DryRun" =: _dssDryRun,+               "MaxResults" =: _dssMaxResults] -instance ToHeaders DescribeSnapshots+-- | /See:/ 'describeSnapshotsResponse' smart constructor.+data DescribeSnapshotsResponse = DescribeSnapshotsResponse'+    { _dssrsNextToken :: !(Maybe Text)+    , _dssrsSnapshots :: !(Maybe [Snapshot])+    , _dssrsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeSnapshots where-    type Sv DescribeSnapshots = EC2-    type Rs DescribeSnapshots = DescribeSnapshotsResponse+-- | Creates a value of 'DescribeSnapshotsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssrsNextToken'+--+-- * 'dssrsSnapshots'+--+-- * 'dssrsStatus'+describeSnapshotsResponse+    :: Int -- ^ 'dssrsStatus'+    -> DescribeSnapshotsResponse+describeSnapshotsResponse pStatus_ =+    DescribeSnapshotsResponse'+    { _dssrsNextToken = Nothing+    , _dssrsSnapshots = Nothing+    , _dssrsStatus = pStatus_+    } -    request  = post "DescribeSnapshots"-    response = xmlResponse+-- | The 'NextToken' value to include in a future 'DescribeSnapshots'+-- request. When the results of a 'DescribeSnapshots' request exceed+-- 'MaxResults', this value can be used to retrieve the next page of+-- results. This value is 'null' when there are no more results to return.+dssrsNextToken :: Lens' DescribeSnapshotsResponse (Maybe Text)+dssrsNextToken = lens _dssrsNextToken (\ s a -> s{_dssrsNextToken = a}); -instance FromXML DescribeSnapshotsResponse where-    parseXML x = DescribeSnapshotsResponse-        <$> x .@? "nextToken"-        <*> x .@? "snapshotSet" .!@ mempty+-- | Information about the snapshots.+dssrsSnapshots :: Lens' DescribeSnapshotsResponse [Snapshot]+dssrsSnapshots = lens _dssrsSnapshots (\ s a -> s{_dssrsSnapshots = a}) . _Default . _Coerce; -instance AWSPager DescribeSnapshots where-    page rq rs-        | stop (rs ^. dsrNextToken) = Nothing-        | otherwise = (\x -> rq & ds1NextToken ?~ x)-            <$> (rs ^. dsrNextToken)+-- | The response status code.+dssrsStatus :: Lens' DescribeSnapshotsResponse Int+dssrsStatus = lens _dssrsStatus (\ s a -> s{_dssrsStatus = a});
gen/Network/AWS/EC2/DescribeSpotDatafeedSubscription.hs view
@@ -1,111 +1,134 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeSpotDatafeedSubscription--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the data feed for Spot Instances. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html SpotInstance Data Feed> in the /Amazon Elastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotDatafeedSubscription.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotDatafeedSubscription.html AWS API Reference> for DescribeSpotDatafeedSubscription. module Network.AWS.EC2.DescribeSpotDatafeedSubscription     (-    -- * Request-      DescribeSpotDatafeedSubscription-    -- ** Request constructor-    , describeSpotDatafeedSubscription-    -- ** Request lenses+    -- * Creating a Request+      describeSpotDatafeedSubscription+    , DescribeSpotDatafeedSubscription+    -- * Request Lenses     , dsdsDryRun -    -- * Response-    , DescribeSpotDatafeedSubscriptionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeSpotDatafeedSubscriptionResponse-    -- ** Response lenses-    , dsdsrSpotDatafeedSubscription+    , DescribeSpotDatafeedSubscriptionResponse+    -- * Response Lenses+    , dsdsrsSpotDatafeedSubscription+    , dsdsrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -newtype DescribeSpotDatafeedSubscription = DescribeSpotDatafeedSubscription+-- | Contains the parameters for DescribeSpotDatafeedSubscription.+--+-- /See:/ 'describeSpotDatafeedSubscription' smart constructor.+newtype DescribeSpotDatafeedSubscription = DescribeSpotDatafeedSubscription'     { _dsdsDryRun :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeSpotDatafeedSubscription' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeSpotDatafeedSubscription' with the minimum fields required to make a request. ----- * 'dsdsDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ---describeSpotDatafeedSubscription :: DescribeSpotDatafeedSubscription-describeSpotDatafeedSubscription = DescribeSpotDatafeedSubscription+-- * 'dsdsDryRun'+describeSpotDatafeedSubscription+    :: DescribeSpotDatafeedSubscription+describeSpotDatafeedSubscription =+    DescribeSpotDatafeedSubscription'     { _dsdsDryRun = Nothing     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. dsdsDryRun :: Lens' DescribeSpotDatafeedSubscription (Maybe Bool)-dsdsDryRun = lens _dsdsDryRun (\s a -> s { _dsdsDryRun = a })+dsdsDryRun = lens _dsdsDryRun (\ s a -> s{_dsdsDryRun = a}); -newtype DescribeSpotDatafeedSubscriptionResponse = DescribeSpotDatafeedSubscriptionResponse-    { _dsdsrSpotDatafeedSubscription :: Maybe SpotDatafeedSubscription-    } deriving (Eq, Read, Show)+instance AWSRequest DescribeSpotDatafeedSubscription+         where+        type Sv DescribeSpotDatafeedSubscription = EC2+        type Rs DescribeSpotDatafeedSubscription =+             DescribeSpotDatafeedSubscriptionResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeSpotDatafeedSubscriptionResponse' <$>+                   (x .@? "spotDatafeedSubscription") <*>+                     (pure (fromEnum s))) --- | 'DescribeSpotDatafeedSubscriptionResponse' constructor.+instance ToHeaders DescribeSpotDatafeedSubscription+         where+        toHeaders = const mempty++instance ToPath DescribeSpotDatafeedSubscription+         where+        toPath = const "/"++instance ToQuery DescribeSpotDatafeedSubscription+         where+        toQuery DescribeSpotDatafeedSubscription'{..}+          = mconcat+              ["Action" =:+                 ("DescribeSpotDatafeedSubscription" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dsdsDryRun]++-- | Contains the output of DescribeSpotDatafeedSubscription. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeSpotDatafeedSubscriptionResponse' smart constructor.+data DescribeSpotDatafeedSubscriptionResponse = DescribeSpotDatafeedSubscriptionResponse'+    { _dsdsrsSpotDatafeedSubscription :: !(Maybe SpotDatafeedSubscription)+    , _dsdsrsStatus                   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSpotDatafeedSubscriptionResponse' with the minimum fields required to make a request. ----- * 'dsdsrSpotDatafeedSubscription' @::@ 'Maybe' 'SpotDatafeedSubscription'+-- Use one of the following lenses to modify other fields as desired: ---describeSpotDatafeedSubscriptionResponse :: DescribeSpotDatafeedSubscriptionResponse-describeSpotDatafeedSubscriptionResponse = DescribeSpotDatafeedSubscriptionResponse-    { _dsdsrSpotDatafeedSubscription = Nothing+-- * 'dsdsrsSpotDatafeedSubscription'+--+-- * 'dsdsrsStatus'+describeSpotDatafeedSubscriptionResponse+    :: Int -- ^ 'dsdsrsStatus'+    -> DescribeSpotDatafeedSubscriptionResponse+describeSpotDatafeedSubscriptionResponse pStatus_ =+    DescribeSpotDatafeedSubscriptionResponse'+    { _dsdsrsSpotDatafeedSubscription = Nothing+    , _dsdsrsStatus = pStatus_     }  -- | The Spot Instance data feed subscription.-dsdsrSpotDatafeedSubscription :: Lens' DescribeSpotDatafeedSubscriptionResponse (Maybe SpotDatafeedSubscription)-dsdsrSpotDatafeedSubscription =-    lens _dsdsrSpotDatafeedSubscription-        (\s a -> s { _dsdsrSpotDatafeedSubscription = a })--instance ToPath DescribeSpotDatafeedSubscription where-    toPath = const "/"--instance ToQuery DescribeSpotDatafeedSubscription where-    toQuery DescribeSpotDatafeedSubscription{..} = mconcat-        [ "DryRun" =? _dsdsDryRun-        ]--instance ToHeaders DescribeSpotDatafeedSubscription--instance AWSRequest DescribeSpotDatafeedSubscription where-    type Sv DescribeSpotDatafeedSubscription = EC2-    type Rs DescribeSpotDatafeedSubscription = DescribeSpotDatafeedSubscriptionResponse--    request  = post "DescribeSpotDatafeedSubscription"-    response = xmlResponse+dsdsrsSpotDatafeedSubscription :: Lens' DescribeSpotDatafeedSubscriptionResponse (Maybe SpotDatafeedSubscription)+dsdsrsSpotDatafeedSubscription = lens _dsdsrsSpotDatafeedSubscription (\ s a -> s{_dsdsrsSpotDatafeedSubscription = a}); -instance FromXML DescribeSpotDatafeedSubscriptionResponse where-    parseXML x = DescribeSpotDatafeedSubscriptionResponse-        <$> x .@? "spotDatafeedSubscription"+-- | The response status code.+dsdsrsStatus :: Lens' DescribeSpotDatafeedSubscriptionResponse Int+dsdsrsStatus = lens _dsdsrsStatus (\ s a -> s{_dsdsrsStatus = a});
gen/Network/AWS/EC2/DescribeSpotFleetInstances.hs view
@@ -1,169 +1,186 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeSpotFleetInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the running instances for the specified Spot fleet.+-- Describes the running instances for the specified Spot fleet. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotFleetInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotFleetInstances.html AWS API Reference> for DescribeSpotFleetInstances. module Network.AWS.EC2.DescribeSpotFleetInstances     (-    -- * Request-      DescribeSpotFleetInstances-    -- ** Request constructor-    , describeSpotFleetInstances-    -- ** Request lenses+    -- * Creating a Request+      describeSpotFleetInstances+    , DescribeSpotFleetInstances+    -- * Request Lenses+    , dsfiNextToken     , dsfiDryRun     , dsfiMaxResults-    , dsfiNextToken     , dsfiSpotFleetRequestId -    -- * Response-    , DescribeSpotFleetInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeSpotFleetInstancesResponse-    -- ** Response lenses-    , dsfirActiveInstances-    , dsfirNextToken-    , dsfirSpotFleetRequestId+    , DescribeSpotFleetInstancesResponse+    -- * Response Lenses+    , dsfirsNextToken+    , dsfirsStatus+    , dsfirsSpotFleetRequestId+    , dsfirsActiveInstances     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeSpotFleetInstances = DescribeSpotFleetInstances-    { _dsfiDryRun             :: Maybe Bool-    , _dsfiMaxResults         :: Maybe Int-    , _dsfiNextToken          :: Maybe Text-    , _dsfiSpotFleetRequestId :: Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeSpotFleetInstances' constructor.+-- | Contains the parameters for DescribeSpotFleetInstances. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeSpotFleetInstances' smart constructor.+data DescribeSpotFleetInstances = DescribeSpotFleetInstances'+    { _dsfiNextToken          :: !(Maybe Text)+    , _dsfiDryRun             :: !(Maybe Bool)+    , _dsfiMaxResults         :: !(Maybe Int)+    , _dsfiSpotFleetRequestId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSpotFleetInstances' with the minimum fields required to make a request. ----- * 'dsfiDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsfiMaxResults' @::@ 'Maybe' 'Int'+-- * 'dsfiNextToken' ----- * 'dsfiNextToken' @::@ 'Maybe' 'Text'+-- * 'dsfiDryRun' ----- * 'dsfiSpotFleetRequestId' @::@ 'Text'+-- * 'dsfiMaxResults' ---describeSpotFleetInstances :: Text -- ^ 'dsfiSpotFleetRequestId'-                           -> DescribeSpotFleetInstances-describeSpotFleetInstances p1 = DescribeSpotFleetInstances-    { _dsfiSpotFleetRequestId = p1-    , _dsfiDryRun             = Nothing-    , _dsfiNextToken          = Nothing-    , _dsfiMaxResults         = Nothing+-- * 'dsfiSpotFleetRequestId'+describeSpotFleetInstances+    :: Text -- ^ 'dsfiSpotFleetRequestId'+    -> DescribeSpotFleetInstances+describeSpotFleetInstances pSpotFleetRequestId_ =+    DescribeSpotFleetInstances'+    { _dsfiNextToken = Nothing+    , _dsfiDryRun = Nothing+    , _dsfiMaxResults = Nothing+    , _dsfiSpotFleetRequestId = pSpotFleetRequestId_     } +-- | The token for the next set of results.+dsfiNextToken :: Lens' DescribeSpotFleetInstances (Maybe Text)+dsfiNextToken = lens _dsfiNextToken (\ s a -> s{_dsfiNextToken = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. dsfiDryRun :: Lens' DescribeSpotFleetInstances (Maybe Bool)-dsfiDryRun = lens _dsfiDryRun (\s a -> s { _dsfiDryRun = a })+dsfiDryRun = lens _dsfiDryRun (\ s a -> s{_dsfiDryRun = a}); --- | The maximum number of results to return in a single call. Specify a value--- between 1 and 1000. The default value is 1000. To retrieve the remaining--- results, make another call with the returned 'NextToken' value.+-- | The maximum number of results to return in a single call. Specify a+-- value between 1 and 1000. The default value is 1000. To retrieve the+-- remaining results, make another call with the returned 'NextToken'+-- value. dsfiMaxResults :: Lens' DescribeSpotFleetInstances (Maybe Int)-dsfiMaxResults = lens _dsfiMaxResults (\s a -> s { _dsfiMaxResults = a })---- | The token for the next set of results.-dsfiNextToken :: Lens' DescribeSpotFleetInstances (Maybe Text)-dsfiNextToken = lens _dsfiNextToken (\s a -> s { _dsfiNextToken = a })+dsfiMaxResults = lens _dsfiMaxResults (\ s a -> s{_dsfiMaxResults = a});  -- | The ID of the Spot fleet request. dsfiSpotFleetRequestId :: Lens' DescribeSpotFleetInstances Text-dsfiSpotFleetRequestId =-    lens _dsfiSpotFleetRequestId (\s a -> s { _dsfiSpotFleetRequestId = a })+dsfiSpotFleetRequestId = lens _dsfiSpotFleetRequestId (\ s a -> s{_dsfiSpotFleetRequestId = a}); -data DescribeSpotFleetInstancesResponse = DescribeSpotFleetInstancesResponse-    { _dsfirActiveInstances    :: List "item" ActiveInstance-    , _dsfirNextToken          :: Maybe Text-    , _dsfirSpotFleetRequestId :: Text-    } deriving (Eq, Read, Show)+instance AWSRequest DescribeSpotFleetInstances where+        type Sv DescribeSpotFleetInstances = EC2+        type Rs DescribeSpotFleetInstances =+             DescribeSpotFleetInstancesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeSpotFleetInstancesResponse' <$>+                   (x .@? "nextToken") <*> (pure (fromEnum s)) <*>+                     (x .@ "spotFleetRequestId")+                     <*>+                     (x .@? "activeInstanceSet" .!@ mempty >>=+                        parseXMLList "item")) --- | 'DescribeSpotFleetInstancesResponse' constructor.+instance ToHeaders DescribeSpotFleetInstances where+        toHeaders = const mempty++instance ToPath DescribeSpotFleetInstances where+        toPath = const "/"++instance ToQuery DescribeSpotFleetInstances where+        toQuery DescribeSpotFleetInstances'{..}+          = mconcat+              ["Action" =:+                 ("DescribeSpotFleetInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "NextToken" =: _dsfiNextToken,+               "DryRun" =: _dsfiDryRun,+               "MaxResults" =: _dsfiMaxResults,+               "SpotFleetRequestId" =: _dsfiSpotFleetRequestId]++-- | Contains the output of DescribeSpotFleetInstances. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeSpotFleetInstancesResponse' smart constructor.+data DescribeSpotFleetInstancesResponse = DescribeSpotFleetInstancesResponse'+    { _dsfirsNextToken          :: !(Maybe Text)+    , _dsfirsStatus             :: !Int+    , _dsfirsSpotFleetRequestId :: !Text+    , _dsfirsActiveInstances    :: ![ActiveInstance]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSpotFleetInstancesResponse' with the minimum fields required to make a request. ----- * 'dsfirActiveInstances' @::@ ['ActiveInstance']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsfirNextToken' @::@ 'Maybe' 'Text'+-- * 'dsfirsNextToken' ----- * 'dsfirSpotFleetRequestId' @::@ 'Text'+-- * 'dsfirsStatus' ---describeSpotFleetInstancesResponse :: Text -- ^ 'dsfirSpotFleetRequestId'-                                   -> DescribeSpotFleetInstancesResponse-describeSpotFleetInstancesResponse p1 = DescribeSpotFleetInstancesResponse-    { _dsfirSpotFleetRequestId = p1-    , _dsfirActiveInstances    = mempty-    , _dsfirNextToken          = Nothing+-- * 'dsfirsSpotFleetRequestId'+--+-- * 'dsfirsActiveInstances'+describeSpotFleetInstancesResponse+    :: Int -- ^ 'dsfirsStatus'+    -> Text -- ^ 'dsfirsSpotFleetRequestId'+    -> DescribeSpotFleetInstancesResponse+describeSpotFleetInstancesResponse pStatus_ pSpotFleetRequestId_ =+    DescribeSpotFleetInstancesResponse'+    { _dsfirsNextToken = Nothing+    , _dsfirsStatus = pStatus_+    , _dsfirsSpotFleetRequestId = pSpotFleetRequestId_+    , _dsfirsActiveInstances = mempty     } --- | The running instances. Note that this list is refreshed periodically and--- might be out of date.-dsfirActiveInstances :: Lens' DescribeSpotFleetInstancesResponse [ActiveInstance]-dsfirActiveInstances =-    lens _dsfirActiveInstances (\s a -> s { _dsfirActiveInstances = a })-        . _List+-- | The token required to retrieve the next set of results. This value is+-- 'null' when there are no more results to return.+dsfirsNextToken :: Lens' DescribeSpotFleetInstancesResponse (Maybe Text)+dsfirsNextToken = lens _dsfirsNextToken (\ s a -> s{_dsfirsNextToken = a}); --- | The token required to retrieve the next set of results. This value is 'null'--- when there are no more results to return.-dsfirNextToken :: Lens' DescribeSpotFleetInstancesResponse (Maybe Text)-dsfirNextToken = lens _dsfirNextToken (\s a -> s { _dsfirNextToken = a })+-- | The response status code.+dsfirsStatus :: Lens' DescribeSpotFleetInstancesResponse Int+dsfirsStatus = lens _dsfirsStatus (\ s a -> s{_dsfirsStatus = a});  -- | The ID of the Spot fleet request.-dsfirSpotFleetRequestId :: Lens' DescribeSpotFleetInstancesResponse Text-dsfirSpotFleetRequestId =-    lens _dsfirSpotFleetRequestId (\s a -> s { _dsfirSpotFleetRequestId = a })--instance ToPath DescribeSpotFleetInstances where-    toPath = const "/"--instance ToQuery DescribeSpotFleetInstances where-    toQuery DescribeSpotFleetInstances{..} = mconcat-        [ "DryRun"             =? _dsfiDryRun-        , "MaxResults"         =? _dsfiMaxResults-        , "NextToken"          =? _dsfiNextToken-        , "SpotFleetRequestId" =? _dsfiSpotFleetRequestId-        ]--instance ToHeaders DescribeSpotFleetInstances--instance AWSRequest DescribeSpotFleetInstances where-    type Sv DescribeSpotFleetInstances = EC2-    type Rs DescribeSpotFleetInstances = DescribeSpotFleetInstancesResponse--    request  = post "DescribeSpotFleetInstances"-    response = xmlResponse+dsfirsSpotFleetRequestId :: Lens' DescribeSpotFleetInstancesResponse Text+dsfirsSpotFleetRequestId = lens _dsfirsSpotFleetRequestId (\ s a -> s{_dsfirsSpotFleetRequestId = a}); -instance FromXML DescribeSpotFleetInstancesResponse where-    parseXML x = DescribeSpotFleetInstancesResponse-        <$> x .@? "activeInstanceSet" .!@ mempty-        <*> x .@? "nextToken"-        <*> x .@  "spotFleetRequestId"+-- | The running instances. Note that this list is refreshed periodically and+-- might be out of date.+dsfirsActiveInstances :: Lens' DescribeSpotFleetInstancesResponse [ActiveInstance]+dsfirsActiveInstances = lens _dsfirsActiveInstances (\ s a -> s{_dsfirsActiveInstances = a}) . _Coerce;
gen/Network/AWS/EC2/DescribeSpotFleetRequestHistory.hs view
@@ -1,224 +1,243 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeSpotFleetRequestHistory--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the events for the specified Spot fleet request during the+-- Describes the events for the specified Spot fleet request during the -- specified time. -- -- 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.+-- described. This ensures that you can query by the last evaluated time+-- and not miss a recorded event. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotFleetRequestHistory.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotFleetRequestHistory.html AWS API Reference> for DescribeSpotFleetRequestHistory. module Network.AWS.EC2.DescribeSpotFleetRequestHistory     (-    -- * Request-      DescribeSpotFleetRequestHistory-    -- ** Request constructor-    , describeSpotFleetRequestHistory-    -- ** Request lenses-    , dsfrhDryRun+    -- * Creating a Request+      describeSpotFleetRequestHistory+    , DescribeSpotFleetRequestHistory+    -- * Request Lenses+    , dsfrhNextToken     , dsfrhEventType+    , dsfrhDryRun     , dsfrhMaxResults-    , dsfrhNextToken     , dsfrhSpotFleetRequestId     , dsfrhStartTime -    -- * Response-    , DescribeSpotFleetRequestHistoryResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeSpotFleetRequestHistoryResponse-    -- ** Response lenses-    , dsfrhrHistoryRecords-    , dsfrhrLastEvaluatedTime-    , dsfrhrNextToken-    , dsfrhrSpotFleetRequestId-    , dsfrhrStartTime+    , DescribeSpotFleetRequestHistoryResponse+    -- * Response Lenses+    , dsfrhrsNextToken+    , dsfrhrsStatus+    , dsfrhrsSpotFleetRequestId+    , dsfrhrsStartTime+    , dsfrhrsLastEvaluatedTime+    , dsfrhrsHistoryRecords     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeSpotFleetRequestHistory = DescribeSpotFleetRequestHistory-    { _dsfrhDryRun             :: Maybe Bool-    , _dsfrhEventType          :: Maybe EventType-    , _dsfrhMaxResults         :: Maybe Int-    , _dsfrhNextToken          :: Maybe Text-    , _dsfrhSpotFleetRequestId :: Text-    , _dsfrhStartTime          :: ISO8601-    } deriving (Eq, Read, Show)+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeSpotFleetRequestHistory' constructor.+-- | Contains the parameters for DescribeSpotFleetRequestHistory. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeSpotFleetRequestHistory' smart constructor.+data DescribeSpotFleetRequestHistory = DescribeSpotFleetRequestHistory'+    { _dsfrhNextToken          :: !(Maybe Text)+    , _dsfrhEventType          :: !(Maybe EventType)+    , _dsfrhDryRun             :: !(Maybe Bool)+    , _dsfrhMaxResults         :: !(Maybe Int)+    , _dsfrhSpotFleetRequestId :: !Text+    , _dsfrhStartTime          :: !ISO8601+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSpotFleetRequestHistory' with the minimum fields required to make a request. ----- * 'dsfrhDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsfrhEventType' @::@ 'Maybe' 'EventType'+-- * 'dsfrhNextToken' ----- * 'dsfrhMaxResults' @::@ 'Maybe' 'Int'+-- * 'dsfrhEventType' ----- * 'dsfrhNextToken' @::@ 'Maybe' 'Text'+-- * 'dsfrhDryRun' ----- * 'dsfrhSpotFleetRequestId' @::@ 'Text'+-- * 'dsfrhMaxResults' ----- * 'dsfrhStartTime' @::@ 'UTCTime'+-- * 'dsfrhSpotFleetRequestId' ---describeSpotFleetRequestHistory :: Text -- ^ 'dsfrhSpotFleetRequestId'-                                -> UTCTime -- ^ 'dsfrhStartTime'-                                -> DescribeSpotFleetRequestHistory-describeSpotFleetRequestHistory p1 p2 = DescribeSpotFleetRequestHistory-    { _dsfrhSpotFleetRequestId = p1-    , _dsfrhStartTime          = withIso _Time (const id) p2-    , _dsfrhDryRun             = Nothing-    , _dsfrhEventType          = Nothing-    , _dsfrhNextToken          = Nothing-    , _dsfrhMaxResults         = Nothing+-- * 'dsfrhStartTime'+describeSpotFleetRequestHistory+    :: Text -- ^ 'dsfrhSpotFleetRequestId'+    -> UTCTime -- ^ 'dsfrhStartTime'+    -> DescribeSpotFleetRequestHistory+describeSpotFleetRequestHistory pSpotFleetRequestId_ pStartTime_ =+    DescribeSpotFleetRequestHistory'+    { _dsfrhNextToken = Nothing+    , _dsfrhEventType = Nothing+    , _dsfrhDryRun = Nothing+    , _dsfrhMaxResults = Nothing+    , _dsfrhSpotFleetRequestId = pSpotFleetRequestId_+    , _dsfrhStartTime = _Time # pStartTime_     } --- | 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'.-dsfrhDryRun :: Lens' DescribeSpotFleetRequestHistory (Maybe Bool)-dsfrhDryRun = lens _dsfrhDryRun (\s a -> s { _dsfrhDryRun = a })+-- | The token for the next set of results.+dsfrhNextToken :: Lens' DescribeSpotFleetRequestHistory (Maybe Text)+dsfrhNextToken = lens _dsfrhNextToken (\ s a -> s{_dsfrhNextToken = a});  -- | The type of events to describe. By default, all events are described. dsfrhEventType :: Lens' DescribeSpotFleetRequestHistory (Maybe EventType)-dsfrhEventType = lens _dsfrhEventType (\s a -> s { _dsfrhEventType = a })+dsfrhEventType = lens _dsfrhEventType (\ s a -> s{_dsfrhEventType = a}); --- | The maximum number of results to return in a single call. Specify a value--- between 1 and 1000. The default value is 1000. To retrieve the remaining--- results, make another call with the returned 'NextToken' value.-dsfrhMaxResults :: Lens' DescribeSpotFleetRequestHistory (Maybe Int)-dsfrhMaxResults = lens _dsfrhMaxResults (\s a -> s { _dsfrhMaxResults = 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'.+dsfrhDryRun :: Lens' DescribeSpotFleetRequestHistory (Maybe Bool)+dsfrhDryRun = lens _dsfrhDryRun (\ s a -> s{_dsfrhDryRun = a}); --- | The token for the next set of results.-dsfrhNextToken :: Lens' DescribeSpotFleetRequestHistory (Maybe Text)-dsfrhNextToken = lens _dsfrhNextToken (\s a -> s { _dsfrhNextToken = a })+-- | The maximum number of results to return in a single call. Specify a+-- value between 1 and 1000. The default value is 1000. To retrieve the+-- remaining results, make another call with the returned 'NextToken'+-- value.+dsfrhMaxResults :: Lens' DescribeSpotFleetRequestHistory (Maybe Int)+dsfrhMaxResults = lens _dsfrhMaxResults (\ s a -> s{_dsfrhMaxResults = a});  -- | The ID of the Spot fleet request. dsfrhSpotFleetRequestId :: Lens' DescribeSpotFleetRequestHistory Text-dsfrhSpotFleetRequestId =-    lens _dsfrhSpotFleetRequestId (\s a -> s { _dsfrhSpotFleetRequestId = a })+dsfrhSpotFleetRequestId = lens _dsfrhSpotFleetRequestId (\ s a -> s{_dsfrhSpotFleetRequestId = a}); --- | The starting date and time for the events, in UTC format (for example, /YYYY/-/MM/--- -/DD/T/HH/:/MM/:/SS/Z).+-- | The starting date and time for the events, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). dsfrhStartTime :: Lens' DescribeSpotFleetRequestHistory UTCTime-dsfrhStartTime = lens _dsfrhStartTime (\s a -> s { _dsfrhStartTime = a }) . _Time+dsfrhStartTime = lens _dsfrhStartTime (\ s a -> s{_dsfrhStartTime = a}) . _Time; -data DescribeSpotFleetRequestHistoryResponse = DescribeSpotFleetRequestHistoryResponse-    { _dsfrhrHistoryRecords     :: List "item" HistoryRecord-    , _dsfrhrLastEvaluatedTime  :: ISO8601-    , _dsfrhrNextToken          :: Maybe Text-    , _dsfrhrSpotFleetRequestId :: Text-    , _dsfrhrStartTime          :: ISO8601-    } deriving (Eq, Read, Show)+instance AWSRequest DescribeSpotFleetRequestHistory+         where+        type Sv DescribeSpotFleetRequestHistory = EC2+        type Rs DescribeSpotFleetRequestHistory =+             DescribeSpotFleetRequestHistoryResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeSpotFleetRequestHistoryResponse' <$>+                   (x .@? "nextToken") <*> (pure (fromEnum s)) <*>+                     (x .@ "spotFleetRequestId")+                     <*> (x .@ "startTime")+                     <*> (x .@ "lastEvaluatedTime")+                     <*>+                     (x .@? "historyRecordSet" .!@ mempty >>=+                        parseXMLList "item")) --- | 'DescribeSpotFleetRequestHistoryResponse' constructor.+instance ToHeaders DescribeSpotFleetRequestHistory+         where+        toHeaders = const mempty++instance ToPath DescribeSpotFleetRequestHistory where+        toPath = const "/"++instance ToQuery DescribeSpotFleetRequestHistory+         where+        toQuery DescribeSpotFleetRequestHistory'{..}+          = mconcat+              ["Action" =:+                 ("DescribeSpotFleetRequestHistory" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "NextToken" =: _dsfrhNextToken,+               "EventType" =: _dsfrhEventType,+               "DryRun" =: _dsfrhDryRun,+               "MaxResults" =: _dsfrhMaxResults,+               "SpotFleetRequestId" =: _dsfrhSpotFleetRequestId,+               "StartTime" =: _dsfrhStartTime]++-- | Contains the output of DescribeSpotFleetRequestHistory. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeSpotFleetRequestHistoryResponse' smart constructor.+data DescribeSpotFleetRequestHistoryResponse = DescribeSpotFleetRequestHistoryResponse'+    { _dsfrhrsNextToken          :: !(Maybe Text)+    , _dsfrhrsStatus             :: !Int+    , _dsfrhrsSpotFleetRequestId :: !Text+    , _dsfrhrsStartTime          :: !ISO8601+    , _dsfrhrsLastEvaluatedTime  :: !ISO8601+    , _dsfrhrsHistoryRecords     :: ![HistoryRecord]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSpotFleetRequestHistoryResponse' with the minimum fields required to make a request. ----- * 'dsfrhrHistoryRecords' @::@ ['HistoryRecord']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsfrhrLastEvaluatedTime' @::@ 'UTCTime'+-- * 'dsfrhrsNextToken' ----- * 'dsfrhrNextToken' @::@ 'Maybe' 'Text'+-- * 'dsfrhrsStatus' ----- * 'dsfrhrSpotFleetRequestId' @::@ 'Text'+-- * 'dsfrhrsSpotFleetRequestId' ----- * 'dsfrhrStartTime' @::@ 'UTCTime'+-- * 'dsfrhrsStartTime' ---describeSpotFleetRequestHistoryResponse :: Text -- ^ 'dsfrhrSpotFleetRequestId'-                                        -> UTCTime -- ^ 'dsfrhrStartTime'-                                        -> UTCTime -- ^ 'dsfrhrLastEvaluatedTime'-                                        -> DescribeSpotFleetRequestHistoryResponse-describeSpotFleetRequestHistoryResponse p1 p2 p3 = DescribeSpotFleetRequestHistoryResponse-    { _dsfrhrSpotFleetRequestId = p1-    , _dsfrhrStartTime          = withIso _Time (const id) p2-    , _dsfrhrLastEvaluatedTime  = withIso _Time (const id) p3-    , _dsfrhrHistoryRecords     = mempty-    , _dsfrhrNextToken          = Nothing+-- * 'dsfrhrsLastEvaluatedTime'+--+-- * 'dsfrhrsHistoryRecords'+describeSpotFleetRequestHistoryResponse+    :: Int -- ^ 'dsfrhrsStatus'+    -> Text -- ^ 'dsfrhrsSpotFleetRequestId'+    -> UTCTime -- ^ 'dsfrhrsStartTime'+    -> UTCTime -- ^ 'dsfrhrsLastEvaluatedTime'+    -> DescribeSpotFleetRequestHistoryResponse+describeSpotFleetRequestHistoryResponse pStatus_ pSpotFleetRequestId_ pStartTime_ pLastEvaluatedTime_ =+    DescribeSpotFleetRequestHistoryResponse'+    { _dsfrhrsNextToken = Nothing+    , _dsfrhrsStatus = pStatus_+    , _dsfrhrsSpotFleetRequestId = pSpotFleetRequestId_+    , _dsfrhrsStartTime = _Time # pStartTime_+    , _dsfrhrsLastEvaluatedTime = _Time # pLastEvaluatedTime_+    , _dsfrhrsHistoryRecords = mempty     } --- | Information about the events in the history of the Spot fleet request.-dsfrhrHistoryRecords :: Lens' DescribeSpotFleetRequestHistoryResponse [HistoryRecord]-dsfrhrHistoryRecords =-    lens _dsfrhrHistoryRecords (\s a -> s { _dsfrhrHistoryRecords = a })-        . _List---- | The last date and time for the events, in UTC format (for example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). All records up to this time were retrieved.------ If 'nextToken' indicates that there are more results, this value is not--- present.-dsfrhrLastEvaluatedTime :: Lens' DescribeSpotFleetRequestHistoryResponse UTCTime-dsfrhrLastEvaluatedTime =-    lens _dsfrhrLastEvaluatedTime (\s a -> s { _dsfrhrLastEvaluatedTime = a })-        . _Time+-- | The token required to retrieve the next set of results. This value is+-- 'null' when there are no more results to return.+dsfrhrsNextToken :: Lens' DescribeSpotFleetRequestHistoryResponse (Maybe Text)+dsfrhrsNextToken = lens _dsfrhrsNextToken (\ s a -> s{_dsfrhrsNextToken = a}); --- | The token required to retrieve the next set of results. This value is 'null'--- when there are no more results to return.-dsfrhrNextToken :: Lens' DescribeSpotFleetRequestHistoryResponse (Maybe Text)-dsfrhrNextToken = lens _dsfrhrNextToken (\s a -> s { _dsfrhrNextToken = a })+-- | The response status code.+dsfrhrsStatus :: Lens' DescribeSpotFleetRequestHistoryResponse Int+dsfrhrsStatus = lens _dsfrhrsStatus (\ s a -> s{_dsfrhrsStatus = a});  -- | The ID of the Spot fleet request.-dsfrhrSpotFleetRequestId :: Lens' DescribeSpotFleetRequestHistoryResponse Text-dsfrhrSpotFleetRequestId =-    lens _dsfrhrSpotFleetRequestId-        (\s a -> s { _dsfrhrSpotFleetRequestId = a })---- | The starting date and time for the events, in UTC format (for example, /YYYY/-/MM/--- -/DD/T/HH/:/MM/:/SS/Z).-dsfrhrStartTime :: Lens' DescribeSpotFleetRequestHistoryResponse UTCTime-dsfrhrStartTime = lens _dsfrhrStartTime (\s a -> s { _dsfrhrStartTime = a }) . _Time--instance ToPath DescribeSpotFleetRequestHistory where-    toPath = const "/"--instance ToQuery DescribeSpotFleetRequestHistory where-    toQuery DescribeSpotFleetRequestHistory{..} = mconcat-        [ "DryRun"             =? _dsfrhDryRun-        , "EventType"          =? _dsfrhEventType-        , "MaxResults"         =? _dsfrhMaxResults-        , "NextToken"          =? _dsfrhNextToken-        , "SpotFleetRequestId" =? _dsfrhSpotFleetRequestId-        , "StartTime"          =? _dsfrhStartTime-        ]--instance ToHeaders DescribeSpotFleetRequestHistory+dsfrhrsSpotFleetRequestId :: Lens' DescribeSpotFleetRequestHistoryResponse Text+dsfrhrsSpotFleetRequestId = lens _dsfrhrsSpotFleetRequestId (\ s a -> s{_dsfrhrsSpotFleetRequestId = a}); -instance AWSRequest DescribeSpotFleetRequestHistory where-    type Sv DescribeSpotFleetRequestHistory = EC2-    type Rs DescribeSpotFleetRequestHistory = DescribeSpotFleetRequestHistoryResponse+-- | The starting date and time for the events, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).+dsfrhrsStartTime :: Lens' DescribeSpotFleetRequestHistoryResponse UTCTime+dsfrhrsStartTime = lens _dsfrhrsStartTime (\ s a -> s{_dsfrhrsStartTime = a}) . _Time; -    request  = post "DescribeSpotFleetRequestHistory"-    response = xmlResponse+-- | The last date and time for the events, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). All records up to this time were+-- retrieved.+--+-- If 'nextToken' indicates that there are more results, this value is not+-- present.+dsfrhrsLastEvaluatedTime :: Lens' DescribeSpotFleetRequestHistoryResponse UTCTime+dsfrhrsLastEvaluatedTime = lens _dsfrhrsLastEvaluatedTime (\ s a -> s{_dsfrhrsLastEvaluatedTime = a}) . _Time; -instance FromXML DescribeSpotFleetRequestHistoryResponse where-    parseXML x = DescribeSpotFleetRequestHistoryResponse-        <$> x .@? "historyRecordSet" .!@ mempty-        <*> x .@  "lastEvaluatedTime"-        <*> x .@? "nextToken"-        <*> x .@  "spotFleetRequestId"-        <*> x .@  "startTime"+-- | Information about the events in the history of the Spot fleet request.+dsfrhrsHistoryRecords :: Lens' DescribeSpotFleetRequestHistoryResponse [HistoryRecord]+dsfrhrsHistoryRecords = lens _dsfrhrsHistoryRecords (\ s a -> s{_dsfrhrsHistoryRecords = a}) . _Coerce;
gen/Network/AWS/EC2/DescribeSpotFleetRequests.hs view
@@ -1,157 +1,173 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeSpotFleetRequests--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes your Spot fleet requests.+-- Describes your Spot fleet requests. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotFleetRequests.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotFleetRequests.html AWS API Reference> for DescribeSpotFleetRequests. module Network.AWS.EC2.DescribeSpotFleetRequests     (-    -- * Request-      DescribeSpotFleetRequests-    -- ** Request constructor-    , describeSpotFleetRequests-    -- ** Request lenses+    -- * Creating a Request+      describeSpotFleetRequests+    , DescribeSpotFleetRequests+    -- * Request Lenses+    , dsfrSpotFleetRequestIds+    , dsfrNextToken     , dsfrDryRun     , dsfrMaxResults-    , dsfrNextToken-    , dsfrSpotFleetRequestIds -    -- * Response-    , DescribeSpotFleetRequestsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeSpotFleetRequestsResponse-    -- ** Response lenses-    , dsfrrNextToken-    , dsfrrSpotFleetRequestConfigs+    , DescribeSpotFleetRequestsResponse+    -- * Response Lenses+    , dsfrrsNextToken+    , dsfrrsStatus+    , dsfrrsSpotFleetRequestConfigs     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeSpotFleetRequests = DescribeSpotFleetRequests-    { _dsfrDryRun              :: Maybe Bool-    , _dsfrMaxResults          :: Maybe Int-    , _dsfrNextToken           :: Maybe Text-    , _dsfrSpotFleetRequestIds :: List "item" Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeSpotFleetRequests' constructor.+-- | Contains the parameters for DescribeSpotFleetRequests. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeSpotFleetRequests' smart constructor.+data DescribeSpotFleetRequests = DescribeSpotFleetRequests'+    { _dsfrSpotFleetRequestIds :: !(Maybe [Text])+    , _dsfrNextToken           :: !(Maybe Text)+    , _dsfrDryRun              :: !(Maybe Bool)+    , _dsfrMaxResults          :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSpotFleetRequests' with the minimum fields required to make a request. ----- * 'dsfrDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsfrMaxResults' @::@ 'Maybe' 'Int'+-- * 'dsfrSpotFleetRequestIds' ----- * 'dsfrNextToken' @::@ 'Maybe' 'Text'+-- * 'dsfrNextToken' ----- * 'dsfrSpotFleetRequestIds' @::@ ['Text']+-- * 'dsfrDryRun' ---describeSpotFleetRequests :: DescribeSpotFleetRequests-describeSpotFleetRequests = DescribeSpotFleetRequests-    { _dsfrDryRun              = Nothing-    , _dsfrSpotFleetRequestIds = mempty-    , _dsfrNextToken           = Nothing-    , _dsfrMaxResults          = Nothing+-- * 'dsfrMaxResults'+describeSpotFleetRequests+    :: DescribeSpotFleetRequests+describeSpotFleetRequests =+    DescribeSpotFleetRequests'+    { _dsfrSpotFleetRequestIds = Nothing+    , _dsfrNextToken = Nothing+    , _dsfrDryRun = Nothing+    , _dsfrMaxResults = Nothing     } +-- | The IDs of the Spot fleet requests.+dsfrSpotFleetRequestIds :: Lens' DescribeSpotFleetRequests [Text]+dsfrSpotFleetRequestIds = lens _dsfrSpotFleetRequestIds (\ s a -> s{_dsfrSpotFleetRequestIds = a}) . _Default . _Coerce;++-- | The token for the next set of results.+dsfrNextToken :: Lens' DescribeSpotFleetRequests (Maybe Text)+dsfrNextToken = lens _dsfrNextToken (\ s a -> s{_dsfrNextToken = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. dsfrDryRun :: Lens' DescribeSpotFleetRequests (Maybe Bool)-dsfrDryRun = lens _dsfrDryRun (\s a -> s { _dsfrDryRun = a })+dsfrDryRun = lens _dsfrDryRun (\ s a -> s{_dsfrDryRun = a}); --- | The maximum number of results to return in a single call. Specify a value--- between 1 and 1000. The default value is 1000. To retrieve the remaining--- results, make another call with the returned 'NextToken' value.+-- | The maximum number of results to return in a single call. Specify a+-- value between 1 and 1000. The default value is 1000. To retrieve the+-- remaining results, make another call with the returned 'NextToken'+-- value. dsfrMaxResults :: Lens' DescribeSpotFleetRequests (Maybe Int)-dsfrMaxResults = lens _dsfrMaxResults (\s a -> s { _dsfrMaxResults = a })+dsfrMaxResults = lens _dsfrMaxResults (\ s a -> s{_dsfrMaxResults = a}); --- | The token for the next set of results.-dsfrNextToken :: Lens' DescribeSpotFleetRequests (Maybe Text)-dsfrNextToken = lens _dsfrNextToken (\s a -> s { _dsfrNextToken = a })+instance AWSRequest DescribeSpotFleetRequests where+        type Sv DescribeSpotFleetRequests = EC2+        type Rs DescribeSpotFleetRequests =+             DescribeSpotFleetRequestsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeSpotFleetRequestsResponse' <$>+                   (x .@? "nextToken") <*> (pure (fromEnum s)) <*>+                     (x .@? "spotFleetRequestConfigSet" .!@ mempty >>=+                        parseXMLList "item")) --- | The IDs of the Spot fleet requests.-dsfrSpotFleetRequestIds :: Lens' DescribeSpotFleetRequests [Text]-dsfrSpotFleetRequestIds =-    lens _dsfrSpotFleetRequestIds (\s a -> s { _dsfrSpotFleetRequestIds = a })-        . _List+instance ToHeaders DescribeSpotFleetRequests where+        toHeaders = const mempty -data DescribeSpotFleetRequestsResponse = DescribeSpotFleetRequestsResponse-    { _dsfrrNextToken               :: Maybe Text-    , _dsfrrSpotFleetRequestConfigs :: List "item" SpotFleetRequestConfig-    } deriving (Eq, Read, Show)+instance ToPath DescribeSpotFleetRequests where+        toPath = const "/" --- | 'DescribeSpotFleetRequestsResponse' constructor.+instance ToQuery DescribeSpotFleetRequests where+        toQuery DescribeSpotFleetRequests'{..}+          = mconcat+              ["Action" =:+                 ("DescribeSpotFleetRequests" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "item" <$> _dsfrSpotFleetRequestIds),+               "NextToken" =: _dsfrNextToken,+               "DryRun" =: _dsfrDryRun,+               "MaxResults" =: _dsfrMaxResults]++-- | Contains the output of DescribeSpotFleetRequests. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeSpotFleetRequestsResponse' smart constructor.+data DescribeSpotFleetRequestsResponse = DescribeSpotFleetRequestsResponse'+    { _dsfrrsNextToken               :: !(Maybe Text)+    , _dsfrrsStatus                  :: !Int+    , _dsfrrsSpotFleetRequestConfigs :: ![SpotFleetRequestConfig]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSpotFleetRequestsResponse' with the minimum fields required to make a request. ----- * 'dsfrrNextToken' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsfrrSpotFleetRequestConfigs' @::@ ['SpotFleetRequestConfig']+-- * 'dsfrrsNextToken' ---describeSpotFleetRequestsResponse :: DescribeSpotFleetRequestsResponse-describeSpotFleetRequestsResponse = DescribeSpotFleetRequestsResponse-    { _dsfrrSpotFleetRequestConfigs = mempty-    , _dsfrrNextToken               = Nothing+-- * 'dsfrrsStatus'+--+-- * 'dsfrrsSpotFleetRequestConfigs'+describeSpotFleetRequestsResponse+    :: Int -- ^ 'dsfrrsStatus'+    -> DescribeSpotFleetRequestsResponse+describeSpotFleetRequestsResponse pStatus_ =+    DescribeSpotFleetRequestsResponse'+    { _dsfrrsNextToken = Nothing+    , _dsfrrsStatus = pStatus_+    , _dsfrrsSpotFleetRequestConfigs = mempty     } --- | The token required to retrieve the next set of results. This value is 'null'--- when there are no more results to return.-dsfrrNextToken :: Lens' DescribeSpotFleetRequestsResponse (Maybe Text)-dsfrrNextToken = lens _dsfrrNextToken (\s a -> s { _dsfrrNextToken = a })---- | Information about the configuration of your Spot fleet.-dsfrrSpotFleetRequestConfigs :: Lens' DescribeSpotFleetRequestsResponse [SpotFleetRequestConfig]-dsfrrSpotFleetRequestConfigs =-    lens _dsfrrSpotFleetRequestConfigs-        (\s a -> s { _dsfrrSpotFleetRequestConfigs = a })-            . _List--instance ToPath DescribeSpotFleetRequests where-    toPath = const "/"--instance ToQuery DescribeSpotFleetRequests where-    toQuery DescribeSpotFleetRequests{..} = mconcat-        [ "DryRun"             =? _dsfrDryRun-        , "MaxResults"         =? _dsfrMaxResults-        , "NextToken"          =? _dsfrNextToken-        , "SpotFleetRequestId" `toQueryList` _dsfrSpotFleetRequestIds-        ]--instance ToHeaders DescribeSpotFleetRequests--instance AWSRequest DescribeSpotFleetRequests where-    type Sv DescribeSpotFleetRequests = EC2-    type Rs DescribeSpotFleetRequests = DescribeSpotFleetRequestsResponse+-- | The token required to retrieve the next set of results. This value is+-- 'null' when there are no more results to return.+dsfrrsNextToken :: Lens' DescribeSpotFleetRequestsResponse (Maybe Text)+dsfrrsNextToken = lens _dsfrrsNextToken (\ s a -> s{_dsfrrsNextToken = a}); -    request  = post "DescribeSpotFleetRequests"-    response = xmlResponse+-- | The response status code.+dsfrrsStatus :: Lens' DescribeSpotFleetRequestsResponse Int+dsfrrsStatus = lens _dsfrrsStatus (\ s a -> s{_dsfrrsStatus = a}); -instance FromXML DescribeSpotFleetRequestsResponse where-    parseXML x = DescribeSpotFleetRequestsResponse-        <$> x .@? "nextToken"-        <*> x .@? "spotFleetRequestConfigSet" .!@ mempty+-- | Information about the configuration of your Spot fleet.+dsfrrsSpotFleetRequestConfigs :: Lens' DescribeSpotFleetRequestsResponse [SpotFleetRequestConfig]+dsfrrsSpotFleetRequestConfigs = lens _dsfrrsSpotFleetRequestConfigs (\ s a -> s{_dsfrrsSpotFleetRequestConfigs = a}) . _Coerce;
gen/Network/AWS/EC2/DescribeSpotInstanceRequests.hs view
@@ -1,253 +1,283 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeSpotInstanceRequests--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the Spot Instance requests that belong to your account. Spot--- Instances are instances that Amazon EC2 launches when the bid price that you--- specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot--- Price based on available Spot Instance capacity and current Spot Instance--- requests. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html Spot Instance Requests> in the /AmazonElastic Compute Cloud User Guide/.+-- Describes the Spot Instance requests that belong to your account. Spot+-- Instances are instances that Amazon EC2 launches when the bid price that+-- you specify exceeds the current Spot Price. Amazon EC2 periodically sets+-- the Spot Price based on available Spot Instance capacity and current+-- Spot Instance requests. For 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/. ----- 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'.+-- 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'. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotInstanceRequests.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotInstanceRequests.html AWS API Reference> for DescribeSpotInstanceRequests. module Network.AWS.EC2.DescribeSpotInstanceRequests     (-    -- * Request-      DescribeSpotInstanceRequests-    -- ** Request constructor-    , describeSpotInstanceRequests-    -- ** Request lenses-    , dsirDryRun+    -- * Creating a Request+      describeSpotInstanceRequests+    , DescribeSpotInstanceRequests+    -- * Request Lenses     , dsirFilters     , dsirSpotInstanceRequestIds+    , dsirDryRun -    -- * Response-    , DescribeSpotInstanceRequestsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeSpotInstanceRequestsResponse-    -- ** Response lenses-    , dsirrSpotInstanceRequests+    , DescribeSpotInstanceRequestsResponse+    -- * Response Lenses+    , dsirrsSpotInstanceRequests+    , dsirrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeSpotInstanceRequests = DescribeSpotInstanceRequests-    { _dsirDryRun                 :: Maybe Bool-    , _dsirFilters                :: List "Filter" Filter-    , _dsirSpotInstanceRequestIds :: List "SpotInstanceRequestId" Text-    } deriving (Eq, Read, Show)+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeSpotInstanceRequests' constructor.+-- | Contains the parameters for DescribeSpotInstanceRequests. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeSpotInstanceRequests' smart constructor.+data DescribeSpotInstanceRequests = DescribeSpotInstanceRequests'+    { _dsirFilters                :: !(Maybe [Filter])+    , _dsirSpotInstanceRequestIds :: !(Maybe [Text])+    , _dsirDryRun                 :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSpotInstanceRequests' with the minimum fields required to make a request. ----- * 'dsirDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsirFilters' @::@ ['Filter']+-- * 'dsirFilters' ----- * 'dsirSpotInstanceRequestIds' @::@ ['Text']+-- * 'dsirSpotInstanceRequestIds' ---describeSpotInstanceRequests :: DescribeSpotInstanceRequests-describeSpotInstanceRequests = DescribeSpotInstanceRequests-    { _dsirDryRun                 = Nothing-    , _dsirSpotInstanceRequestIds = mempty-    , _dsirFilters                = mempty+-- * 'dsirDryRun'+describeSpotInstanceRequests+    :: DescribeSpotInstanceRequests+describeSpotInstanceRequests =+    DescribeSpotInstanceRequests'+    { _dsirFilters = Nothing+    , _dsirSpotInstanceRequestIds = Nothing+    , _dsirDryRun = Nothing     } --- | 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'.-dsirDryRun :: Lens' DescribeSpotInstanceRequests (Maybe Bool)-dsirDryRun = lens _dsirDryRun (\s a -> s { _dsirDryRun = a })- -- | One or more filters. ----- 'availability-zone-group' - The Availability Zone group.------ 'create-time' - The time stamp when the Spot Instance request was created.+-- -   'availability-zone-group' - The Availability Zone group. ----- 'fault-code' - The fault code related to the request.+-- -   'create-time' - The time stamp when the Spot Instance request was+--     created. ----- 'fault-message' - The fault message related to the request.+-- -   'fault-code' - The fault code related to the request. ----- 'instance-id' - The ID of the instance that fulfilled the request.+-- -   'fault-message' - The fault message related to the request. ----- 'launch-group' - The Spot Instance launch group.+-- -   'instance-id' - The ID of the instance that fulfilled the request. ----- 'launch.block-device-mapping.delete-on-termination' - Indicates whether the--- Amazon EBS volume is deleted on instance termination.+-- -   'launch-group' - The Spot Instance launch group. ----- 'launch.block-device-mapping.device-name' - The device name for the Amazon--- EBS volume (for example, '/dev/sdh').+-- -   'launch.block-device-mapping.delete-on-termination' - Indicates+--     whether the Amazon EBS volume is deleted on instance termination. ----- 'launch.block-device-mapping.snapshot-id' - The ID of the snapshot used for--- the Amazon EBS volume.+-- -   'launch.block-device-mapping.device-name' - The device name for the+--     Amazon EBS volume (for example, '\/dev\/sdh'). ----- 'launch.block-device-mapping.volume-size' - The size of the Amazon EBS--- volume, in GiB.+-- -   'launch.block-device-mapping.snapshot-id' - The ID of the snapshot+--     used for the Amazon EBS volume. ----- 'launch.block-device-mapping.volume-type' - The type of the Amazon EBS--- volume ('gp2' | 'standard' | 'io1').+-- -   'launch.block-device-mapping.volume-size' - The size of the Amazon+--     EBS volume, in GiB. ----- 'launch.group-id' - The security group for the instance.+-- -   'launch.block-device-mapping.volume-type' - The type of the Amazon+--     EBS volume ('gp2' | 'standard' | 'io1'). ----- 'launch.image-id' - The ID of the AMI.+-- -   'launch.group-id' - The security group for the instance. ----- 'launch.instance-type' - The type of instance (for example, 'm1.small').+-- -   'launch.image-id' - The ID of the AMI. ----- 'launch.kernel-id' - The kernel ID.+-- -   'launch.instance-type' - The type of instance (for example,+--     'm1.small'). ----- 'launch.key-name' - The name of the key pair the instance launched with.+-- -   'launch.kernel-id' - The kernel ID. ----- 'launch.monitoring-enabled' - Whether monitoring is enabled for the Spot--- Instance.+-- -   'launch.key-name' - The name of the key pair the instance launched+--     with. ----- 'launch.ramdisk-id' - The RAM disk ID.+-- -   'launch.monitoring-enabled' - Whether monitoring is enabled for the+--     Spot Instance. ----- 'network-interface.network-interface-id' - The ID of the network interface.+-- -   'launch.ramdisk-id' - The RAM disk ID. ----- 'network-interface.device-index' - The index of the device for the network--- interface attachment on the instance.+-- -   'network-interface.network-interface-id' - The ID of the network+--     interface. ----- 'network-interface.subnet-id' - The ID of the subnet for the instance.+-- -   'network-interface.device-index' - The index of the device for the+--     network interface attachment on the instance. ----- 'network-interface.description' - A description of the network interface.+-- -   'network-interface.subnet-id' - The ID of the subnet for the+--     instance. ----- 'network-interface.private-ip-address' - The primary private IP address of--- the network interface.+-- -   'network-interface.description' - A description of the network+--     interface. ----- 'network-interface.delete-on-termination' - Indicates whether the network--- interface is deleted when the instance is terminated.+-- -   'network-interface.private-ip-address' - The primary private IP+--     address of the network interface. ----- 'network-interface.group-id' - The ID of the security group associated with--- the network interface.+-- -   'network-interface.delete-on-termination' - Indicates whether the+--     network interface is deleted when the instance is terminated. ----- 'network-interface.group-name' - The name of the security group associated--- with the network interface.+-- -   'network-interface.group-id' - The ID of the security group+--     associated with the network interface. ----- 'network-interface.addresses.primary' - Indicates whether the IP address is--- the primary private IP address.+-- -   'network-interface.group-name' - The name of the security group+--     associated with the network interface. ----- 'product-description' - The product description associated with the instance--- ('Linux/UNIX' | 'Windows').+-- -   'network-interface.addresses.primary' - Indicates whether the IP+--     address is the primary private IP address. ----- 'spot-instance-request-id' - The Spot Instance request ID.+-- -   'product-description' - The product description associated with the+--     instance ('Linux\/UNIX' | 'Windows'). ----- 'spot-price' - The maximum hourly price for any Spot Instance launched to--- fulfill the request.+-- -   'spot-instance-request-id' - The Spot Instance request ID. ----- 'state' - The state of the Spot Instance request ('open' | 'active' | 'closed' | 'cancelled' | 'failed'). Spot bid status information can help you track your Amazon EC2--- 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.+-- -   'spot-price' - The maximum hourly price for any Spot Instance+--     launched to fulfill the request. ----- 'status-code' - The short code describing the most recent evaluation of your--- Spot Instance request.+-- -   'state' - The state of the Spot Instance request ('open' | 'active'+--     | 'closed' | 'cancelled' | 'failed'). Spot bid status information+--     can help you track your Amazon EC2 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. ----- 'status-message' - The message explaining the status of the Spot Instance--- request.+-- -   'status-code' - The short code describing the most recent evaluation+--     of your Spot Instance request. ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.+-- -   'status-message' - The message explaining the status of the Spot+--     Instance request. ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter. ----- 'type' - The type of Spot Instance request ('one-time' | 'persistent').+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter. ----- 'launched-availability-zone' - The Availability Zone in which the bid is--- launched.+-- -   'type' - The type of Spot Instance request ('one-time' |+--     'persistent'). ----- 'valid-from' - The start date of the request.+-- -   'launched-availability-zone' - The Availability Zone in which the+--     bid is launched. ----- 'valid-until' - The end date of the request.+-- -   'valid-from' - The start date of the request. --+-- -   'valid-until' - The end date of the request. -- dsirFilters :: Lens' DescribeSpotInstanceRequests [Filter]-dsirFilters = lens _dsirFilters (\s a -> s { _dsirFilters = a }) . _List+dsirFilters = lens _dsirFilters (\ s a -> s{_dsirFilters = a}) . _Default . _Coerce;  -- | One or more Spot Instance request IDs. dsirSpotInstanceRequestIds :: Lens' DescribeSpotInstanceRequests [Text]-dsirSpotInstanceRequestIds =-    lens _dsirSpotInstanceRequestIds-        (\s a -> s { _dsirSpotInstanceRequestIds = a })-            . _List+dsirSpotInstanceRequestIds = lens _dsirSpotInstanceRequestIds (\ s a -> s{_dsirSpotInstanceRequestIds = a}) . _Default . _Coerce; -newtype DescribeSpotInstanceRequestsResponse = DescribeSpotInstanceRequestsResponse-    { _dsirrSpotInstanceRequests :: List "item" SpotInstanceRequest-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+dsirDryRun :: Lens' DescribeSpotInstanceRequests (Maybe Bool)+dsirDryRun = lens _dsirDryRun (\ s a -> s{_dsirDryRun = a}); --- | 'DescribeSpotInstanceRequestsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dsirrSpotInstanceRequests' @::@ ['SpotInstanceRequest']----describeSpotInstanceRequestsResponse :: DescribeSpotInstanceRequestsResponse-describeSpotInstanceRequestsResponse = DescribeSpotInstanceRequestsResponse-    { _dsirrSpotInstanceRequests = mempty-    }+instance AWSRequest DescribeSpotInstanceRequests+         where+        type Sv DescribeSpotInstanceRequests = EC2+        type Rs DescribeSpotInstanceRequests =+             DescribeSpotInstanceRequestsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeSpotInstanceRequestsResponse' <$>+                   (x .@? "spotInstanceRequestSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | One or more Spot Instance requests.-dsirrSpotInstanceRequests :: Lens' DescribeSpotInstanceRequestsResponse [SpotInstanceRequest]-dsirrSpotInstanceRequests =-    lens _dsirrSpotInstanceRequests-        (\s a -> s { _dsirrSpotInstanceRequests = a })-            . _List+instance ToHeaders DescribeSpotInstanceRequests where+        toHeaders = const mempty  instance ToPath DescribeSpotInstanceRequests where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeSpotInstanceRequests where-    toQuery DescribeSpotInstanceRequests{..} = mconcat-        [ "DryRun"                =? _dsirDryRun-        , "Filter"                `toQueryList` _dsirFilters-        , "SpotInstanceRequestId" `toQueryList` _dsirSpotInstanceRequestIds-        ]+        toQuery DescribeSpotInstanceRequests'{..}+          = mconcat+              ["Action" =:+                 ("DescribeSpotInstanceRequests" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dsirFilters),+               toQuery+                 (toQueryList "SpotInstanceRequestId" <$>+                    _dsirSpotInstanceRequestIds),+               "DryRun" =: _dsirDryRun] -instance ToHeaders DescribeSpotInstanceRequests+-- | Contains the output of DescribeSpotInstanceRequests.+--+-- /See:/ 'describeSpotInstanceRequestsResponse' smart constructor.+data DescribeSpotInstanceRequestsResponse = DescribeSpotInstanceRequestsResponse'+    { _dsirrsSpotInstanceRequests :: !(Maybe [SpotInstanceRequest])+    , _dsirrsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeSpotInstanceRequests where-    type Sv DescribeSpotInstanceRequests = EC2-    type Rs DescribeSpotInstanceRequests = DescribeSpotInstanceRequestsResponse+-- | Creates a value of 'DescribeSpotInstanceRequestsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsirrsSpotInstanceRequests'+--+-- * 'dsirrsStatus'+describeSpotInstanceRequestsResponse+    :: Int -- ^ 'dsirrsStatus'+    -> DescribeSpotInstanceRequestsResponse+describeSpotInstanceRequestsResponse pStatus_ =+    DescribeSpotInstanceRequestsResponse'+    { _dsirrsSpotInstanceRequests = Nothing+    , _dsirrsStatus = pStatus_+    } -    request  = post "DescribeSpotInstanceRequests"-    response = xmlResponse+-- | One or more Spot Instance requests.+dsirrsSpotInstanceRequests :: Lens' DescribeSpotInstanceRequestsResponse [SpotInstanceRequest]+dsirrsSpotInstanceRequests = lens _dsirrsSpotInstanceRequests (\ s a -> s{_dsirrsSpotInstanceRequests = a}) . _Default . _Coerce; -instance FromXML DescribeSpotInstanceRequestsResponse where-    parseXML x = DescribeSpotInstanceRequestsResponse-        <$> x .@? "spotInstanceRequestSet" .!@ mempty+-- | The response status code.+dsirrsStatus :: Lens' DescribeSpotInstanceRequestsResponse Int+dsirrsStatus = lens _dsirrsStatus (\ s a -> s{_dsirrsStatus = a});
gen/Network/AWS/EC2/DescribeSpotPriceHistory.hs view
@@ -1,240 +1,269 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeSpotPriceHistory--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the Spot Price history. The prices returned are listed in--- chronological order, from the oldest to the most recent, for up to the past--- 90 days. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html Spot Instance Pricing History> in the /Amazon Elastic Compute Cloud User Guide/.+-- Describes the Spot Price history. The prices returned are listed in+-- chronological order, from the oldest to the most recent, for up to the+-- past 90 days. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html Spot Instance Pricing History>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- When you specify a start and end time, this operation returns the prices of--- the instance types within the time range that you specified and the time when--- the price changed. The price is valid within the time period that you--- specified; the response merely indicates the last time that the price changed.+-- When you specify a start and end time, this operation returns the prices+-- of the instance types within the time range that you specified and the+-- time when the price changed. The price is valid within the time period+-- that you specified; the response merely indicates the last time that the+-- price changed. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotPriceHistory.html>+-- /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     (-    -- * Request-      DescribeSpotPriceHistory-    -- ** Request constructor-    , describeSpotPriceHistory-    -- ** Request lenses-    , dsphAvailabilityZone-    , dsphDryRun-    , dsphEndTime-    , dsphFilters+    -- * Creating a Request+      describeSpotPriceHistory+    , DescribeSpotPriceHistory+    -- * Request Lenses     , dsphInstanceTypes-    , dsphMaxResults+    , dsphStartTime+    , dsphFilters     , dsphNextToken+    , dsphAvailabilityZone+    , dsphEndTime     , dsphProductDescriptions-    , dsphStartTime+    , dsphDryRun+    , dsphMaxResults -    -- * Response-    , DescribeSpotPriceHistoryResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeSpotPriceHistoryResponse-    -- ** Response lenses-    , dsphrNextToken-    , dsphrSpotPriceHistory+    , DescribeSpotPriceHistoryResponse+    -- * Response Lenses+    , dsphrsNextToken+    , dsphrsSpotPriceHistory+    , dsphrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeSpotPriceHistory = DescribeSpotPriceHistory-    { _dsphAvailabilityZone    :: Maybe Text-    , _dsphDryRun              :: Maybe Bool-    , _dsphEndTime             :: Maybe ISO8601-    , _dsphFilters             :: List "Filter" Filter-    , _dsphInstanceTypes       :: List "InstanceType" InstanceType-    , _dsphMaxResults          :: Maybe Int-    , _dsphNextToken           :: Maybe Text-    , _dsphProductDescriptions :: List "ProductDescription" Text-    , _dsphStartTime           :: Maybe ISO8601-    } deriving (Eq, Read, Show)+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeSpotPriceHistory' constructor.+-- | Contains the parameters for DescribeSpotPriceHistory. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeSpotPriceHistory' smart constructor.+data DescribeSpotPriceHistory = DescribeSpotPriceHistory'+    { _dsphInstanceTypes       :: !(Maybe [InstanceType])+    , _dsphStartTime           :: !(Maybe ISO8601)+    , _dsphFilters             :: !(Maybe [Filter])+    , _dsphNextToken           :: !(Maybe Text)+    , _dsphAvailabilityZone    :: !(Maybe Text)+    , _dsphEndTime             :: !(Maybe ISO8601)+    , _dsphProductDescriptions :: !(Maybe [Text])+    , _dsphDryRun              :: !(Maybe Bool)+    , _dsphMaxResults          :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSpotPriceHistory' with the minimum fields required to make a request. ----- * 'dsphAvailabilityZone' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsphDryRun' @::@ 'Maybe' 'Bool'+-- * 'dsphInstanceTypes' ----- * 'dsphEndTime' @::@ 'Maybe' 'UTCTime'+-- * 'dsphStartTime' ----- * 'dsphFilters' @::@ ['Filter']+-- * 'dsphFilters' ----- * 'dsphInstanceTypes' @::@ ['InstanceType']+-- * 'dsphNextToken' ----- * 'dsphMaxResults' @::@ 'Maybe' 'Int'+-- * 'dsphAvailabilityZone' ----- * 'dsphNextToken' @::@ 'Maybe' 'Text'+-- * 'dsphEndTime' ----- * 'dsphProductDescriptions' @::@ ['Text']+-- * 'dsphProductDescriptions' ----- * 'dsphStartTime' @::@ 'Maybe' 'UTCTime'+-- * 'dsphDryRun' ---describeSpotPriceHistory :: DescribeSpotPriceHistory-describeSpotPriceHistory = DescribeSpotPriceHistory-    { _dsphDryRun              = Nothing-    , _dsphStartTime           = Nothing-    , _dsphEndTime             = Nothing-    , _dsphInstanceTypes       = mempty-    , _dsphProductDescriptions = mempty-    , _dsphFilters             = mempty-    , _dsphAvailabilityZone    = Nothing-    , _dsphMaxResults          = Nothing-    , _dsphNextToken           = Nothing+-- * 'dsphMaxResults'+describeSpotPriceHistory+    :: DescribeSpotPriceHistory+describeSpotPriceHistory =+    DescribeSpotPriceHistory'+    { _dsphInstanceTypes = Nothing+    , _dsphStartTime = Nothing+    , _dsphFilters = Nothing+    , _dsphNextToken = Nothing+    , _dsphAvailabilityZone = Nothing+    , _dsphEndTime = Nothing+    , _dsphProductDescriptions = Nothing+    , _dsphDryRun = Nothing+    , _dsphMaxResults = Nothing     } --- | Filters the results by the specified Availability Zone.-dsphAvailabilityZone :: Lens' DescribeSpotPriceHistory (Maybe Text)-dsphAvailabilityZone =-    lens _dsphAvailabilityZone (\s a -> s { _dsphAvailabilityZone = 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'.-dsphDryRun :: Lens' DescribeSpotPriceHistory (Maybe Bool)-dsphDryRun = lens _dsphDryRun (\s a -> s { _dsphDryRun = a })+-- | Filters the results by the specified instance types.+dsphInstanceTypes :: Lens' DescribeSpotPriceHistory [InstanceType]+dsphInstanceTypes = lens _dsphInstanceTypes (\ s a -> s{_dsphInstanceTypes = a}) . _Default . _Coerce; --- | The date and time, up to the current date, from which to stop retrieving the--- price history data, in UTC format (for example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).-dsphEndTime :: Lens' DescribeSpotPriceHistory (Maybe UTCTime)-dsphEndTime = lens _dsphEndTime (\s a -> s { _dsphEndTime = a }) . mapping _Time+-- | The date and time, up to the past 90 days, from which to start+-- retrieving the price history data, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).+dsphStartTime :: Lens' DescribeSpotPriceHistory (Maybe UTCTime)+dsphStartTime = lens _dsphStartTime (\ s a -> s{_dsphStartTime = a}) . mapping _Time;  -- | One or more filters. ----- 'availability-zone' - The Availability Zone for which prices should be--- returned.------ 'instance-type' - The type of instance (for example, 'm1.small').+-- -   'availability-zone' - The Availability Zone for which prices should+--     be returned. ----- 'product-description' - The product description for the Spot Price ('Linux/UNIX' | 'SUSE Linux' | 'Windows' | 'Linux/UNIX (Amazon VPC)' | 'SUSE Linux (Amazon VPC)' | 'Windows (Amazon VPC)').+-- -   'instance-type' - The type of instance (for example, 'm1.small'). ----- 'spot-price' - The Spot Price. The value must match exactly (or use--- wildcards; greater than or less than comparison is not supported).+-- -   'product-description' - The product description for the Spot Price+--     ('Linux\/UNIX' | 'SUSE Linux' | 'Windows' |+--     'Linux\/UNIX (Amazon VPC)' | 'SUSE Linux (Amazon VPC)' |+--     'Windows (Amazon VPC)'). ----- 'timestamp' - The timestamp of the Spot Price history, in UTC format (for--- example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). You can use wildcards (* and ?). Greater than--- or less than comparison is not supported.+-- -   'spot-price' - The Spot Price. The value must match exactly (or use+--     wildcards; greater than or less than comparison is not supported). --+-- -   'timestamp' - The timestamp of the Spot Price history, in UTC format+--     (for example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). You can use+--     wildcards (* and ?). Greater than or less than comparison is not+--     supported. -- dsphFilters :: Lens' DescribeSpotPriceHistory [Filter]-dsphFilters = lens _dsphFilters (\s a -> s { _dsphFilters = a }) . _List---- | Filters the results by the specified instance types.-dsphInstanceTypes :: Lens' DescribeSpotPriceHistory [InstanceType]-dsphInstanceTypes =-    lens _dsphInstanceTypes (\s a -> s { _dsphInstanceTypes = a })-        . _List---- | The maximum number of results to return in a single call. Specify a value--- between 1 and 1000. The default value is 1000. To retrieve the remaining--- results, make another call with the returned 'NextToken' value.-dsphMaxResults :: Lens' DescribeSpotPriceHistory (Maybe Int)-dsphMaxResults = lens _dsphMaxResults (\s a -> s { _dsphMaxResults = a })+dsphFilters = lens _dsphFilters (\ s a -> s{_dsphFilters = a}) . _Default . _Coerce;  -- | The token for the next set of results. dsphNextToken :: Lens' DescribeSpotPriceHistory (Maybe Text)-dsphNextToken = lens _dsphNextToken (\s a -> s { _dsphNextToken = a })+dsphNextToken = lens _dsphNextToken (\ s a -> s{_dsphNextToken = a}); +-- | Filters the results by the specified Availability Zone.+dsphAvailabilityZone :: Lens' DescribeSpotPriceHistory (Maybe Text)+dsphAvailabilityZone = lens _dsphAvailabilityZone (\ s a -> s{_dsphAvailabilityZone = a});++-- | The date and time, up to the current date, from which to stop retrieving+-- the price history data, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).+dsphEndTime :: Lens' DescribeSpotPriceHistory (Maybe UTCTime)+dsphEndTime = lens _dsphEndTime (\ s a -> s{_dsphEndTime = a}) . mapping _Time;+ -- | Filters the results by the specified basic product descriptions. dsphProductDescriptions :: Lens' DescribeSpotPriceHistory [Text]-dsphProductDescriptions =-    lens _dsphProductDescriptions (\s a -> s { _dsphProductDescriptions = a })-        . _List+dsphProductDescriptions = lens _dsphProductDescriptions (\ s a -> s{_dsphProductDescriptions = a}) . _Default . _Coerce; --- | The date and time, up to the past 90 days, from which to start retrieving the--- price history data, in UTC format (for example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).-dsphStartTime :: Lens' DescribeSpotPriceHistory (Maybe UTCTime)-dsphStartTime = lens _dsphStartTime (\s a -> s { _dsphStartTime = 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'.+dsphDryRun :: Lens' DescribeSpotPriceHistory (Maybe Bool)+dsphDryRun = lens _dsphDryRun (\ s a -> s{_dsphDryRun = a}); -data DescribeSpotPriceHistoryResponse = DescribeSpotPriceHistoryResponse-    { _dsphrNextToken        :: Maybe Text-    , _dsphrSpotPriceHistory :: List "item" SpotPrice-    } deriving (Eq, Read, Show)+-- | The maximum number of results to return in a single call. Specify a+-- value between 1 and 1000. The default value is 1000. To retrieve the+-- remaining results, make another call with the returned 'NextToken'+-- value.+dsphMaxResults :: Lens' DescribeSpotPriceHistory (Maybe Int)+dsphMaxResults = lens _dsphMaxResults (\ s a -> s{_dsphMaxResults = a}); --- | 'DescribeSpotPriceHistoryResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dsphrNextToken' @::@ 'Maybe' 'Text'------ * 'dsphrSpotPriceHistory' @::@ ['SpotPrice']----describeSpotPriceHistoryResponse :: DescribeSpotPriceHistoryResponse-describeSpotPriceHistoryResponse = DescribeSpotPriceHistoryResponse-    { _dsphrSpotPriceHistory = mempty-    , _dsphrNextToken        = Nothing-    }+instance AWSPager DescribeSpotPriceHistory where+        page rq rs+          | stop (rs ^. dsphrsNextToken) = Nothing+          | stop (rs ^. dsphrsSpotPriceHistory) = Nothing+          | otherwise =+            Just $ rq & dsphNextToken .~ rs ^. dsphrsNextToken --- | The token required to retrieve the next set of results. This value is 'null'--- when there are no more results to return.-dsphrNextToken :: Lens' DescribeSpotPriceHistoryResponse (Maybe Text)-dsphrNextToken = lens _dsphrNextToken (\s a -> s { _dsphrNextToken = a })+instance AWSRequest DescribeSpotPriceHistory where+        type Sv DescribeSpotPriceHistory = EC2+        type Rs DescribeSpotPriceHistory =+             DescribeSpotPriceHistoryResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeSpotPriceHistoryResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "spotPriceHistorySet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | The historical Spot Prices.-dsphrSpotPriceHistory :: Lens' DescribeSpotPriceHistoryResponse [SpotPrice]-dsphrSpotPriceHistory =-    lens _dsphrSpotPriceHistory (\s a -> s { _dsphrSpotPriceHistory = a })-        . _List+instance ToHeaders DescribeSpotPriceHistory where+        toHeaders = const mempty  instance ToPath DescribeSpotPriceHistory where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeSpotPriceHistory where-    toQuery DescribeSpotPriceHistory{..} = mconcat-        [ "AvailabilityZone"   =? _dsphAvailabilityZone-        , "DryRun"             =? _dsphDryRun-        , "EndTime"            =? _dsphEndTime-        , "Filter"             `toQueryList` _dsphFilters-        , "InstanceType"       `toQueryList` _dsphInstanceTypes-        , "MaxResults"         =? _dsphMaxResults-        , "NextToken"          =? _dsphNextToken-        , "ProductDescription" `toQueryList` _dsphProductDescriptions-        , "StartTime"          =? _dsphStartTime-        ]+        toQuery DescribeSpotPriceHistory'{..}+          = mconcat+              ["Action" =:+                 ("DescribeSpotPriceHistory" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "InstanceType" <$> _dsphInstanceTypes),+               "StartTime" =: _dsphStartTime,+               toQuery (toQueryList "Filter" <$> _dsphFilters),+               "NextToken" =: _dsphNextToken,+               "AvailabilityZone" =: _dsphAvailabilityZone,+               "EndTime" =: _dsphEndTime,+               toQuery+                 (toQueryList "ProductDescription" <$>+                    _dsphProductDescriptions),+               "DryRun" =: _dsphDryRun,+               "MaxResults" =: _dsphMaxResults] -instance ToHeaders DescribeSpotPriceHistory+-- | Contains the output of DescribeSpotPriceHistory.+--+-- /See:/ 'describeSpotPriceHistoryResponse' smart constructor.+data DescribeSpotPriceHistoryResponse = DescribeSpotPriceHistoryResponse'+    { _dsphrsNextToken        :: !(Maybe Text)+    , _dsphrsSpotPriceHistory :: !(Maybe [SpotPrice])+    , _dsphrsStatus           :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeSpotPriceHistory where-    type Sv DescribeSpotPriceHistory = EC2-    type Rs DescribeSpotPriceHistory = DescribeSpotPriceHistoryResponse+-- | Creates a value of 'DescribeSpotPriceHistoryResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsphrsNextToken'+--+-- * 'dsphrsSpotPriceHistory'+--+-- * 'dsphrsStatus'+describeSpotPriceHistoryResponse+    :: Int -- ^ 'dsphrsStatus'+    -> DescribeSpotPriceHistoryResponse+describeSpotPriceHistoryResponse pStatus_ =+    DescribeSpotPriceHistoryResponse'+    { _dsphrsNextToken = Nothing+    , _dsphrsSpotPriceHistory = Nothing+    , _dsphrsStatus = pStatus_+    } -    request  = post "DescribeSpotPriceHistory"-    response = xmlResponse+-- | The token required to retrieve the next set of results. This value is+-- 'null' when there are no more results to return.+dsphrsNextToken :: Lens' DescribeSpotPriceHistoryResponse (Maybe Text)+dsphrsNextToken = lens _dsphrsNextToken (\ s a -> s{_dsphrsNextToken = a}); -instance FromXML DescribeSpotPriceHistoryResponse where-    parseXML x = DescribeSpotPriceHistoryResponse-        <$> x .@? "nextToken"-        <*> x .@? "spotPriceHistorySet" .!@ mempty+-- | The historical Spot Prices.+dsphrsSpotPriceHistory :: Lens' DescribeSpotPriceHistoryResponse [SpotPrice]+dsphrsSpotPriceHistory = lens _dsphrsSpotPriceHistory (\ s a -> s{_dsphrsSpotPriceHistory = a}) . _Default . _Coerce; -instance AWSPager DescribeSpotPriceHistory where-    page rq rs-        | stop (rs ^. dsphrNextToken) = Nothing-        | otherwise = (\x -> rq & dsphNextToken ?~ x)-            <$> (rs ^. dsphrNextToken)+-- | The response status code.+dsphrsStatus :: Lens' DescribeSpotPriceHistoryResponse Int+dsphrsStatus = lens _dsphrsStatus (\ s a -> s{_dsphrsStatus = a});
gen/Network/AWS/EC2/DescribeSubnets.hs view
@@ -1,166 +1,185 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeSubnets--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your subnets.+-- Describes one or more of your subnets. ----- For more information about subnets, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html Your VPC and Subnets> in the /AmazonVirtual Private Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSubnets.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSubnets.html AWS API Reference> for DescribeSubnets. module Network.AWS.EC2.DescribeSubnets     (-    -- * Request-      DescribeSubnets-    -- ** Request constructor-    , describeSubnets-    -- ** Request lenses-    , dsDryRun-    , dsFilters+    -- * Creating a Request+      describeSubnets+    , DescribeSubnets+    -- * Request Lenses     , dsSubnetIds+    , dsFilters+    , dsDryRun -    -- * Response-    , DescribeSubnetsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeSubnetsResponse-    -- ** Response lenses-    , dsrSubnets+    , DescribeSubnetsResponse+    -- * Response Lenses+    , dsrsSubnets+    , dsrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeSubnets = DescribeSubnets-    { _dsDryRun    :: Maybe Bool-    , _dsFilters   :: List "Filter" Filter-    , _dsSubnetIds :: List "SubnetId" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeSubnets' smart constructor.+data DescribeSubnets = DescribeSubnets'+    { _dsSubnetIds :: !(Maybe [Text])+    , _dsFilters   :: !(Maybe [Filter])+    , _dsDryRun    :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeSubnets' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeSubnets' with the minimum fields required to make a request. ----- * 'dsDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsFilters' @::@ ['Filter']+-- * 'dsSubnetIds' ----- * 'dsSubnetIds' @::@ ['Text']+-- * 'dsFilters' ---describeSubnets :: DescribeSubnets-describeSubnets = DescribeSubnets-    { _dsDryRun    = Nothing-    , _dsSubnetIds = mempty-    , _dsFilters   = mempty+-- * 'dsDryRun'+describeSubnets+    :: DescribeSubnets+describeSubnets =+    DescribeSubnets'+    { _dsSubnetIds = Nothing+    , _dsFilters = Nothing+    , _dsDryRun = Nothing     } --- | 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'.-dsDryRun :: Lens' DescribeSubnets (Maybe Bool)-dsDryRun = lens _dsDryRun (\s a -> s { _dsDryRun = a })+-- | One or more subnet IDs.+--+-- Default: Describes all your subnets.+dsSubnetIds :: Lens' DescribeSubnets [Text]+dsSubnetIds = lens _dsSubnetIds (\ s a -> s{_dsSubnetIds = a}) . _Default . _Coerce;  -- | One or more filters. ----- 'availabilityZone' - The Availability Zone for the subnet. You can also use 'availability-zone' as the filter name.------ 'available-ip-address-count' - The number of IP addresses in the subnet that--- are available.+-- -   'availabilityZone' - The Availability Zone for the subnet. You can+--     also use 'availability-zone' as the filter name. ----- 'cidrBlock' - The CIDR block of the subnet. The CIDR block you specify must--- exactly match the subnet's CIDR block for information to be returned for the--- subnet. You can also use 'cidr' or 'cidr-block' as the filter names.+-- -   'available-ip-address-count' - The number of IP addresses in the+--     subnet that are available. ----- 'defaultForAz' - Indicates whether this is the default subnet for the--- Availability Zone. You can also use 'default-for-az' as the filter name.+-- -   'cidrBlock' - The CIDR block of the subnet. The CIDR block you+--     specify must exactly match the subnet\'s CIDR block for information+--     to be returned for the subnet. You can also use 'cidr' or+--     'cidr-block' as the filter names. ----- 'state' - The state of the subnet ('pending' | 'available').+-- -   'defaultForAz' - Indicates whether this is the default subnet for+--     the Availability Zone. You can also use 'default-for-az' as the+--     filter name. ----- 'subnet-id' - The ID of the subnet.+-- -   'state' - The state of the subnet ('pending' | 'available'). ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.+-- -   'subnet-id' - The ID of the subnet. ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter. ----- 'vpc-id' - The ID of the VPC for the subnet.+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter. --+-- -   'vpc-id' - The ID of the VPC for the subnet. -- dsFilters :: Lens' DescribeSubnets [Filter]-dsFilters = lens _dsFilters (\s a -> s { _dsFilters = a }) . _List---- | One or more subnet IDs.------ Default: Describes all your subnets.-dsSubnetIds :: Lens' DescribeSubnets [Text]-dsSubnetIds = lens _dsSubnetIds (\s a -> s { _dsSubnetIds = a }) . _List+dsFilters = lens _dsFilters (\ s a -> s{_dsFilters = a}) . _Default . _Coerce; -newtype DescribeSubnetsResponse = DescribeSubnetsResponse-    { _dsrSubnets :: List "item" Subnet-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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'.+dsDryRun :: Lens' DescribeSubnets (Maybe Bool)+dsDryRun = lens _dsDryRun (\ s a -> s{_dsDryRun = a}); --- | 'DescribeSubnetsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dsrSubnets' @::@ ['Subnet']----describeSubnetsResponse :: DescribeSubnetsResponse-describeSubnetsResponse = DescribeSubnetsResponse-    { _dsrSubnets = mempty-    }+instance AWSRequest DescribeSubnets where+        type Sv DescribeSubnets = EC2+        type Rs DescribeSubnets = DescribeSubnetsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeSubnetsResponse' <$>+                   (x .@? "subnetSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more subnets.-dsrSubnets :: Lens' DescribeSubnetsResponse [Subnet]-dsrSubnets = lens _dsrSubnets (\s a -> s { _dsrSubnets = a }) . _List+instance ToHeaders DescribeSubnets where+        toHeaders = const mempty  instance ToPath DescribeSubnets where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeSubnets where-    toQuery DescribeSubnets{..} = mconcat-        [ "DryRun"   =? _dsDryRun-        , "Filter"   `toQueryList` _dsFilters-        , "SubnetId" `toQueryList` _dsSubnetIds-        ]+        toQuery DescribeSubnets'{..}+          = mconcat+              ["Action" =: ("DescribeSubnets" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "SubnetId" <$> _dsSubnetIds),+               toQuery (toQueryList "Filter" <$> _dsFilters),+               "DryRun" =: _dsDryRun] -instance ToHeaders DescribeSubnets+-- | /See:/ 'describeSubnetsResponse' smart constructor.+data DescribeSubnetsResponse = DescribeSubnetsResponse'+    { _dsrsSubnets :: !(Maybe [Subnet])+    , _dsrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeSubnets where-    type Sv DescribeSubnets = EC2-    type Rs DescribeSubnets = DescribeSubnetsResponse+-- | Creates a value of 'DescribeSubnetsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsrsSubnets'+--+-- * 'dsrsStatus'+describeSubnetsResponse+    :: Int -- ^ 'dsrsStatus'+    -> DescribeSubnetsResponse+describeSubnetsResponse pStatus_ =+    DescribeSubnetsResponse'+    { _dsrsSubnets = Nothing+    , _dsrsStatus = pStatus_+    } -    request  = post "DescribeSubnets"-    response = xmlResponse+-- | Information about one or more subnets.+dsrsSubnets :: Lens' DescribeSubnetsResponse [Subnet]+dsrsSubnets = lens _dsrsSubnets (\ s a -> s{_dsrsSubnets = a}) . _Default . _Coerce; -instance FromXML DescribeSubnetsResponse where-    parseXML x = DescribeSubnetsResponse-        <$> x .@? "subnetSet" .!@ mempty+-- | The response status code.+dsrsStatus :: Lens' DescribeSubnetsResponse Int+dsrsStatus = lens _dsrsStatus (\ s a -> s{_dsrsStatus = a});
gen/Network/AWS/EC2/DescribeTags.hs view
@@ -1,174 +1,195 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeTags--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of the tags for your EC2 resources.+-- Describes one or more of the tags for your EC2 resources. ----- For more information about tags, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html Tagging Your Resources> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeTags.html>+-- /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     (-    -- * Request-      DescribeTags-    -- ** Request constructor-    , describeTags-    -- ** Request lenses-    , dtDryRun+    -- * Creating a Request+      describeTags+    , DescribeTags+    -- * Request Lenses     , dtFilters-    , dtMaxResults     , dtNextToken+    , dtDryRun+    , dtMaxResults -    -- * Response-    , DescribeTagsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeTagsResponse-    -- ** Response lenses-    , dtrNextToken-    , dtrTags+    , DescribeTagsResponse+    -- * Response Lenses+    , dtrsNextToken+    , dtrsTags+    , dtrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeTags = DescribeTags-    { _dtDryRun     :: Maybe Bool-    , _dtFilters    :: List "Filter" Filter-    , _dtMaxResults :: Maybe Int-    , _dtNextToken  :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeTags' smart constructor.+data DescribeTags = DescribeTags'+    { _dtFilters    :: !(Maybe [Filter])+    , _dtNextToken  :: !(Maybe Text)+    , _dtDryRun     :: !(Maybe Bool)+    , _dtMaxResults :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeTags' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeTags' with the minimum fields required to make a request. ----- * 'dtDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dtFilters' @::@ ['Filter']+-- * 'dtFilters' ----- * 'dtMaxResults' @::@ 'Maybe' 'Int'+-- * 'dtNextToken' ----- * 'dtNextToken' @::@ 'Maybe' 'Text'+-- * 'dtDryRun' ---describeTags :: DescribeTags-describeTags = DescribeTags-    { _dtDryRun     = Nothing-    , _dtFilters    = mempty+-- * 'dtMaxResults'+describeTags+    :: DescribeTags+describeTags =+    DescribeTags'+    { _dtFilters = Nothing+    , _dtNextToken = Nothing+    , _dtDryRun = Nothing     , _dtMaxResults = Nothing-    , _dtNextToken  = Nothing     } --- | 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'.-dtDryRun :: Lens' DescribeTags (Maybe Bool)-dtDryRun = lens _dtDryRun (\s a -> s { _dtDryRun = a })- -- | One or more filters. ----- 'key' - The tag key.------ 'resource-id' - The resource ID.+-- -   'key' - The tag key. ----- 'resource-type' - The resource type ('customer-gateway' | 'dhcp-options' | 'image'--- | 'instance' | 'internet-gateway' | 'network-acl' | 'network-interface' | 'reserved-instances' | 'route-table' | 'security-group' | 'snapshot' | 'spot-instances-request' | 'subnet'--- | 'volume' | 'vpc' | 'vpn-connection' | 'vpn-gateway').+-- -   'resource-id' - The resource ID. ----- 'value' - The tag value.+-- -   'resource-type' - The resource type ('customer-gateway' |+--     'dhcp-options' | 'image' | 'instance' | 'internet-gateway' |+--     'network-acl' | 'network-interface' | 'reserved-instances' |+--     'route-table' | 'security-group' | 'snapshot' |+--     'spot-instances-request' | 'subnet' | 'volume' | 'vpc' |+--     'vpn-connection' | 'vpn-gateway'). --+-- -   'value' - The tag value. -- dtFilters :: Lens' DescribeTags [Filter]-dtFilters = lens _dtFilters (\s a -> s { _dtFilters = a }) . _List---- | The maximum number of results to return for the request in a single page. The--- remaining results of the initial request can be seen by sending another--- request with the returned 'NextToken' value. This value can be between 5 and--- 1000; if 'MaxResults' is given a value larger than 1000, only 1000 results are--- returned.-dtMaxResults :: Lens' DescribeTags (Maybe Int)-dtMaxResults = lens _dtMaxResults (\s a -> s { _dtMaxResults = a })+dtFilters = lens _dtFilters (\ s a -> s{_dtFilters = a}) . _Default . _Coerce;  -- | The token to retrieve the next page of results. dtNextToken :: Lens' DescribeTags (Maybe Text)-dtNextToken = lens _dtNextToken (\s a -> s { _dtNextToken = a })+dtNextToken = lens _dtNextToken (\ s a -> s{_dtNextToken = a}); -data DescribeTagsResponse = DescribeTagsResponse-    { _dtrNextToken :: Maybe Text-    , _dtrTags      :: List "item" TagDescription-    } deriving (Eq, Read, Show)+-- | 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'.+dtDryRun :: Lens' DescribeTags (Maybe Bool)+dtDryRun = lens _dtDryRun (\ s a -> s{_dtDryRun = a}); --- | 'DescribeTagsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dtrNextToken' @::@ 'Maybe' 'Text'------ * 'dtrTags' @::@ ['TagDescription']----describeTagsResponse :: DescribeTagsResponse-describeTagsResponse = DescribeTagsResponse-    { _dtrTags      = mempty-    , _dtrNextToken = Nothing-    }+-- | The maximum number of results to return for the request in a single+-- page. The remaining results of the initial request can be seen by+-- sending another request with the returned 'NextToken' value. This value+-- can be between 5 and 1000; if 'MaxResults' is given a value larger than+-- 1000, only 1000 results are returned.+dtMaxResults :: Lens' DescribeTags (Maybe Int)+dtMaxResults = lens _dtMaxResults (\ s a -> s{_dtMaxResults = a}); --- | The token to use to retrieve the next page of results. This value is 'null'--- when there are no more results to return..-dtrNextToken :: Lens' DescribeTagsResponse (Maybe Text)-dtrNextToken = lens _dtrNextToken (\s a -> s { _dtrNextToken = a })+instance AWSPager DescribeTags where+        page rq rs+          | stop (rs ^. dtrsNextToken) = Nothing+          | stop (rs ^. dtrsTags) = Nothing+          | otherwise =+            Just $ rq & dtNextToken .~ rs ^. dtrsNextToken --- | A list of tags.-dtrTags :: Lens' DescribeTagsResponse [TagDescription]-dtrTags = lens _dtrTags (\s a -> s { _dtrTags = a }) . _List+instance AWSRequest DescribeTags where+        type Sv DescribeTags = EC2+        type Rs DescribeTags = DescribeTagsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeTagsResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "tagSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) +instance ToHeaders DescribeTags where+        toHeaders = const mempty+ instance ToPath DescribeTags where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeTags where-    toQuery DescribeTags{..} = mconcat-        [ "DryRun"     =? _dtDryRun-        , "Filter"     `toQueryList` _dtFilters-        , "MaxResults" =? _dtMaxResults-        , "NextToken"  =? _dtNextToken-        ]+        toQuery DescribeTags'{..}+          = mconcat+              ["Action" =: ("DescribeTags" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dtFilters),+               "NextToken" =: _dtNextToken, "DryRun" =: _dtDryRun,+               "MaxResults" =: _dtMaxResults] -instance ToHeaders DescribeTags+-- | /See:/ 'describeTagsResponse' smart constructor.+data DescribeTagsResponse = DescribeTagsResponse'+    { _dtrsNextToken :: !(Maybe Text)+    , _dtrsTags      :: !(Maybe [TagDescription])+    , _dtrsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeTags where-    type Sv DescribeTags = EC2-    type Rs DescribeTags = DescribeTagsResponse+-- | Creates a value of 'DescribeTagsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtrsNextToken'+--+-- * 'dtrsTags'+--+-- * 'dtrsStatus'+describeTagsResponse+    :: Int -- ^ 'dtrsStatus'+    -> DescribeTagsResponse+describeTagsResponse pStatus_ =+    DescribeTagsResponse'+    { _dtrsNextToken = Nothing+    , _dtrsTags = Nothing+    , _dtrsStatus = pStatus_+    } -    request  = post "DescribeTags"-    response = xmlResponse+-- | The token to use to retrieve the next page of results. This value is+-- 'null' when there are no more results to return..+dtrsNextToken :: Lens' DescribeTagsResponse (Maybe Text)+dtrsNextToken = lens _dtrsNextToken (\ s a -> s{_dtrsNextToken = a}); -instance FromXML DescribeTagsResponse where-    parseXML x = DescribeTagsResponse-        <$> x .@? "nextToken"-        <*> x .@? "tagSet" .!@ mempty+-- | A list of tags.+dtrsTags :: Lens' DescribeTagsResponse [TagDescription]+dtrsTags = lens _dtrsTags (\ s a -> s{_dtrsTags = a}) . _Default . _Coerce; -instance AWSPager DescribeTags where-    page rq rs-        | stop (rs ^. dtrNextToken) = Nothing-        | otherwise = (\x -> rq & dtNextToken ?~ x)-            <$> (rs ^. dtrNextToken)+-- | The response status code.+dtrsStatus :: Lens' DescribeTagsResponse Int+dtrsStatus = lens _dtrsStatus (\ s a -> s{_dtrsStatus = a});
+ gen/Network/AWS/EC2/DescribeVPCAttribute.hs view
@@ -0,0 +1,169 @@+{-# 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.DescribeVPCAttribute+-- 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)+--+-- 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+      describeVPCAttribute+    , DescribeVPCAttribute+    -- * Request Lenses+    , dvpcaAttribute+    , dvpcaDryRun+    , dvpcaVPCId++    -- * Destructuring the Response+    , describeVPCAttributeResponse+    , DescribeVPCAttributeResponse+    -- * Response Lenses+    , dvpcarsEnableDNSHostnames+    , dvpcarsEnableDNSSupport+    , dvpcarsVPCId+    , dvpcarsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeVPCAttribute' smart constructor.+data DescribeVPCAttribute = DescribeVPCAttribute'+    { _dvpcaAttribute :: !(Maybe VPCAttributeName)+    , _dvpcaDryRun    :: !(Maybe Bool)+    , _dvpcaVPCId     :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCAttribute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpcaAttribute'+--+-- * 'dvpcaDryRun'+--+-- * 'dvpcaVPCId'+describeVPCAttribute+    :: Text -- ^ 'dvpcaVPCId'+    -> DescribeVPCAttribute+describeVPCAttribute pVPCId_ =+    DescribeVPCAttribute'+    { _dvpcaAttribute = Nothing+    , _dvpcaDryRun = Nothing+    , _dvpcaVPCId = pVPCId_+    }++-- | The VPC attribute.+dvpcaAttribute :: Lens' DescribeVPCAttribute (Maybe VPCAttributeName)+dvpcaAttribute = lens _dvpcaAttribute (\ s a -> s{_dvpcaAttribute = 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'.+dvpcaDryRun :: Lens' DescribeVPCAttribute (Maybe Bool)+dvpcaDryRun = lens _dvpcaDryRun (\ s a -> s{_dvpcaDryRun = a});++-- | The ID of the VPC.+dvpcaVPCId :: Lens' DescribeVPCAttribute Text+dvpcaVPCId = lens _dvpcaVPCId (\ s a -> s{_dvpcaVPCId = a});++instance AWSRequest DescribeVPCAttribute where+        type Sv DescribeVPCAttribute = EC2+        type Rs DescribeVPCAttribute =+             DescribeVPCAttributeResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeVPCAttributeResponse' <$>+                   (x .@? "enableDnsHostnames") <*>+                     (x .@? "enableDnsSupport")+                     <*> (x .@? "vpcId")+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeVPCAttribute where+        toHeaders = const mempty++instance ToPath DescribeVPCAttribute where+        toPath = const "/"++instance ToQuery DescribeVPCAttribute where+        toQuery DescribeVPCAttribute'{..}+          = mconcat+              ["Action" =: ("DescribeVpcAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Attribute" =: _dvpcaAttribute,+               "DryRun" =: _dvpcaDryRun, "VpcId" =: _dvpcaVPCId]++-- | /See:/ 'describeVPCAttributeResponse' smart constructor.+data DescribeVPCAttributeResponse = DescribeVPCAttributeResponse'+    { _dvpcarsEnableDNSHostnames :: !(Maybe AttributeBooleanValue)+    , _dvpcarsEnableDNSSupport   :: !(Maybe AttributeBooleanValue)+    , _dvpcarsVPCId              :: !(Maybe Text)+    , _dvpcarsStatus             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCAttributeResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpcarsEnableDNSHostnames'+--+-- * 'dvpcarsEnableDNSSupport'+--+-- * 'dvpcarsVPCId'+--+-- * 'dvpcarsStatus'+describeVPCAttributeResponse+    :: Int -- ^ 'dvpcarsStatus'+    -> DescribeVPCAttributeResponse+describeVPCAttributeResponse pStatus_ =+    DescribeVPCAttributeResponse'+    { _dvpcarsEnableDNSHostnames = Nothing+    , _dvpcarsEnableDNSSupport = Nothing+    , _dvpcarsVPCId = Nothing+    , _dvpcarsStatus = pStatus_+    }++-- | Indicates whether the instances launched in the VPC get DNS hostnames.+-- If this attribute is 'true', instances in the VPC get DNS hostnames;+-- otherwise, they do not.+dvpcarsEnableDNSHostnames :: Lens' DescribeVPCAttributeResponse (Maybe AttributeBooleanValue)+dvpcarsEnableDNSHostnames = lens _dvpcarsEnableDNSHostnames (\ s a -> s{_dvpcarsEnableDNSHostnames = a});++-- | Indicates whether DNS resolution is enabled for the VPC. If this+-- attribute is 'true', the Amazon DNS server resolves DNS hostnames for+-- your instances to their corresponding IP addresses; otherwise, it does+-- not.+dvpcarsEnableDNSSupport :: Lens' DescribeVPCAttributeResponse (Maybe AttributeBooleanValue)+dvpcarsEnableDNSSupport = lens _dvpcarsEnableDNSSupport (\ s a -> s{_dvpcarsEnableDNSSupport = a});++-- | The ID of the VPC.+dvpcarsVPCId :: Lens' DescribeVPCAttributeResponse (Maybe Text)+dvpcarsVPCId = lens _dvpcarsVPCId (\ s a -> s{_dvpcarsVPCId = a});++-- | The response status code.+dvpcarsStatus :: Lens' DescribeVPCAttributeResponse Int+dvpcarsStatus = lens _dvpcarsStatus (\ s a -> s{_dvpcarsStatus = a});
+ gen/Network/AWS/EC2/DescribeVPCClassicLink.hs view
@@ -0,0 +1,163 @@+{-# 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.DescribeVPCClassicLink+-- 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)+--+-- 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+      describeVPCClassicLink+    , DescribeVPCClassicLink+    -- * Request Lenses+    , dvclFilters+    , dvclVPCIds+    , dvclDryRun++    -- * Destructuring the Response+    , describeVPCClassicLinkResponse+    , DescribeVPCClassicLinkResponse+    -- * Response Lenses+    , dvclrsVPCs+    , dvclrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeVPCClassicLink' smart constructor.+data DescribeVPCClassicLink = DescribeVPCClassicLink'+    { _dvclFilters :: !(Maybe [Filter])+    , _dvclVPCIds  :: !(Maybe [Text])+    , _dvclDryRun  :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCClassicLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvclFilters'+--+-- * 'dvclVPCIds'+--+-- * 'dvclDryRun'+describeVPCClassicLink+    :: DescribeVPCClassicLink+describeVPCClassicLink =+    DescribeVPCClassicLink'+    { _dvclFilters = Nothing+    , _dvclVPCIds = Nothing+    , _dvclDryRun = Nothing+    }++-- | One or more filters.+--+-- -   'is-classic-link-enabled' - Whether the VPC is enabled for+--     ClassicLink ('true' | 'false').+--+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource.+--+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter.+--+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter.+--+dvclFilters :: Lens' DescribeVPCClassicLink [Filter]+dvclFilters = lens _dvclFilters (\ s a -> s{_dvclFilters = a}) . _Default . _Coerce;++-- | One or more VPCs for which you want to describe the ClassicLink status.+dvclVPCIds :: Lens' DescribeVPCClassicLink [Text]+dvclVPCIds = lens _dvclVPCIds (\ s a -> s{_dvclVPCIds = 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'.+dvclDryRun :: Lens' DescribeVPCClassicLink (Maybe Bool)+dvclDryRun = lens _dvclDryRun (\ s a -> s{_dvclDryRun = a});++instance AWSRequest DescribeVPCClassicLink where+        type Sv DescribeVPCClassicLink = EC2+        type Rs DescribeVPCClassicLink =+             DescribeVPCClassicLinkResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeVPCClassicLinkResponse' <$>+                   (x .@? "vpcSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeVPCClassicLink where+        toHeaders = const mempty++instance ToPath DescribeVPCClassicLink where+        toPath = const "/"++instance ToQuery DescribeVPCClassicLink where+        toQuery DescribeVPCClassicLink'{..}+          = mconcat+              ["Action" =:+                 ("DescribeVpcClassicLink" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dvclFilters),+               toQuery (toQueryList "VpcId" <$> _dvclVPCIds),+               "DryRun" =: _dvclDryRun]++-- | /See:/ 'describeVPCClassicLinkResponse' smart constructor.+data DescribeVPCClassicLinkResponse = DescribeVPCClassicLinkResponse'+    { _dvclrsVPCs   :: !(Maybe [VPCClassicLink])+    , _dvclrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCClassicLinkResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvclrsVPCs'+--+-- * 'dvclrsStatus'+describeVPCClassicLinkResponse+    :: Int -- ^ 'dvclrsStatus'+    -> DescribeVPCClassicLinkResponse+describeVPCClassicLinkResponse pStatus_ =+    DescribeVPCClassicLinkResponse'+    { _dvclrsVPCs = Nothing+    , _dvclrsStatus = pStatus_+    }++-- | The ClassicLink status of one or more VPCs.+dvclrsVPCs :: Lens' DescribeVPCClassicLinkResponse [VPCClassicLink]+dvclrsVPCs = lens _dvclrsVPCs (\ s a -> s{_dvclrsVPCs = a}) . _Default . _Coerce;++-- | The response status code.+dvclrsStatus :: Lens' DescribeVPCClassicLinkResponse Int+dvclrsStatus = lens _dvclrsStatus (\ s a -> s{_dvclrsStatus = a});
+ gen/Network/AWS/EC2/DescribeVPCEndpointServices.hs view
@@ -0,0 +1,163 @@+{-# 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.DescribeVPCEndpointServices+-- 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)+--+-- 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+      describeVPCEndpointServices+    , DescribeVPCEndpointServices+    -- * Request Lenses+    , dvesNextToken+    , dvesDryRun+    , dvesMaxResults++    -- * Destructuring the Response+    , describeVPCEndpointServicesResponse+    , DescribeVPCEndpointServicesResponse+    -- * Response Lenses+    , dvesrsServiceNames+    , dvesrsNextToken+    , dvesrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeVPCEndpointServices' smart constructor.+data DescribeVPCEndpointServices = DescribeVPCEndpointServices'+    { _dvesNextToken  :: !(Maybe Text)+    , _dvesDryRun     :: !(Maybe Bool)+    , _dvesMaxResults :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCEndpointServices' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvesNextToken'+--+-- * 'dvesDryRun'+--+-- * 'dvesMaxResults'+describeVPCEndpointServices+    :: DescribeVPCEndpointServices+describeVPCEndpointServices =+    DescribeVPCEndpointServices'+    { _dvesNextToken = Nothing+    , _dvesDryRun = Nothing+    , _dvesMaxResults = Nothing+    }++-- | The token for the next set of items to return. (You received this token+-- from a prior call.)+dvesNextToken :: Lens' DescribeVPCEndpointServices (Maybe Text)+dvesNextToken = lens _dvesNextToken (\ s a -> s{_dvesNextToken = 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'.+dvesDryRun :: Lens' DescribeVPCEndpointServices (Maybe Bool)+dvesDryRun = lens _dvesDryRun (\ s a -> s{_dvesDryRun = a});++-- | 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.+--+-- Constraint: If the value is greater than 1000, we return only 1000+-- items.+dvesMaxResults :: Lens' DescribeVPCEndpointServices (Maybe Int)+dvesMaxResults = lens _dvesMaxResults (\ s a -> s{_dvesMaxResults = a});++instance AWSRequest DescribeVPCEndpointServices where+        type Sv DescribeVPCEndpointServices = EC2+        type Rs DescribeVPCEndpointServices =+             DescribeVPCEndpointServicesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeVPCEndpointServicesResponse' <$>+                   (x .@? "serviceNameSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (x .@? "nextToken")+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeVPCEndpointServices where+        toHeaders = const mempty++instance ToPath DescribeVPCEndpointServices where+        toPath = const "/"++instance ToQuery DescribeVPCEndpointServices where+        toQuery DescribeVPCEndpointServices'{..}+          = mconcat+              ["Action" =:+                 ("DescribeVpcEndpointServices" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "NextToken" =: _dvesNextToken,+               "DryRun" =: _dvesDryRun,+               "MaxResults" =: _dvesMaxResults]++-- | /See:/ 'describeVPCEndpointServicesResponse' smart constructor.+data DescribeVPCEndpointServicesResponse = DescribeVPCEndpointServicesResponse'+    { _dvesrsServiceNames :: !(Maybe [Text])+    , _dvesrsNextToken    :: !(Maybe Text)+    , _dvesrsStatus       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCEndpointServicesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvesrsServiceNames'+--+-- * 'dvesrsNextToken'+--+-- * 'dvesrsStatus'+describeVPCEndpointServicesResponse+    :: Int -- ^ 'dvesrsStatus'+    -> DescribeVPCEndpointServicesResponse+describeVPCEndpointServicesResponse pStatus_ =+    DescribeVPCEndpointServicesResponse'+    { _dvesrsServiceNames = Nothing+    , _dvesrsNextToken = Nothing+    , _dvesrsStatus = pStatus_+    }++-- | A list of supported AWS services.+dvesrsServiceNames :: Lens' DescribeVPCEndpointServicesResponse [Text]+dvesrsServiceNames = lens _dvesrsServiceNames (\ s a -> s{_dvesrsServiceNames = a}) . _Default . _Coerce;++-- | The token to use when requesting the next set of items. If there are no+-- additional items to return, the string is empty.+dvesrsNextToken :: Lens' DescribeVPCEndpointServicesResponse (Maybe Text)+dvesrsNextToken = lens _dvesrsNextToken (\ s a -> s{_dvesrsNextToken = a});++-- | The response status code.+dvesrsStatus :: Lens' DescribeVPCEndpointServicesResponse Int+dvesrsStatus = lens _dvesrsStatus (\ s a -> s{_dvesrsStatus = a});
+ gen/Network/AWS/EC2/DescribeVPCEndpoints.hs view
@@ -0,0 +1,192 @@+{-# 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.DescribeVPCEndpoints+-- 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)+--+-- 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+      describeVPCEndpoints+    , DescribeVPCEndpoints+    -- * Request Lenses+    , dvpceFilters+    , dvpceNextToken+    , dvpceVPCEndpointIds+    , dvpceDryRun+    , dvpceMaxResults++    -- * Destructuring the Response+    , describeVPCEndpointsResponse+    , DescribeVPCEndpointsResponse+    -- * Response Lenses+    , dvpcersNextToken+    , dvpcersVPCEndpoints+    , dvpcersStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeVPCEndpoints' smart constructor.+data DescribeVPCEndpoints = DescribeVPCEndpoints'+    { _dvpceFilters        :: !(Maybe [Filter])+    , _dvpceNextToken      :: !(Maybe Text)+    , _dvpceVPCEndpointIds :: !(Maybe [Text])+    , _dvpceDryRun         :: !(Maybe Bool)+    , _dvpceMaxResults     :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCEndpoints' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpceFilters'+--+-- * 'dvpceNextToken'+--+-- * 'dvpceVPCEndpointIds'+--+-- * 'dvpceDryRun'+--+-- * 'dvpceMaxResults'+describeVPCEndpoints+    :: DescribeVPCEndpoints+describeVPCEndpoints =+    DescribeVPCEndpoints'+    { _dvpceFilters = Nothing+    , _dvpceNextToken = Nothing+    , _dvpceVPCEndpointIds = Nothing+    , _dvpceDryRun = Nothing+    , _dvpceMaxResults = Nothing+    }++-- | One or more filters.+--+-- -   'service-name': The name of the AWS service.+--+-- -   'vpc-id': The ID of the VPC in which the endpoint resides.+--+-- -   'vpc-endpoint-id': The ID of the endpoint.+--+-- -   'vpc-endpoint-state': The state of the endpoint. ('pending' |+--     'available' | 'deleting' | 'deleted')+--+dvpceFilters :: Lens' DescribeVPCEndpoints [Filter]+dvpceFilters = lens _dvpceFilters (\ s a -> s{_dvpceFilters = a}) . _Default . _Coerce;++-- | The token for the next set of items to return. (You received this token+-- from a prior call.)+dvpceNextToken :: Lens' DescribeVPCEndpoints (Maybe Text)+dvpceNextToken = lens _dvpceNextToken (\ s a -> s{_dvpceNextToken = a});++-- | One or more endpoint IDs.+dvpceVPCEndpointIds :: Lens' DescribeVPCEndpoints [Text]+dvpceVPCEndpointIds = lens _dvpceVPCEndpointIds (\ s a -> s{_dvpceVPCEndpointIds = 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'.+dvpceDryRun :: Lens' DescribeVPCEndpoints (Maybe Bool)+dvpceDryRun = lens _dvpceDryRun (\ s a -> s{_dvpceDryRun = a});++-- | 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.+--+-- Constraint: If the value is greater than 1000, we return only 1000+-- items.+dvpceMaxResults :: Lens' DescribeVPCEndpoints (Maybe Int)+dvpceMaxResults = lens _dvpceMaxResults (\ s a -> s{_dvpceMaxResults = a});++instance AWSRequest DescribeVPCEndpoints where+        type Sv DescribeVPCEndpoints = EC2+        type Rs DescribeVPCEndpoints =+             DescribeVPCEndpointsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeVPCEndpointsResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "vpcEndpointSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeVPCEndpoints where+        toHeaders = const mempty++instance ToPath DescribeVPCEndpoints where+        toPath = const "/"++instance ToQuery DescribeVPCEndpoints where+        toQuery DescribeVPCEndpoints'{..}+          = mconcat+              ["Action" =: ("DescribeVpcEndpoints" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dvpceFilters),+               "NextToken" =: _dvpceNextToken,+               toQuery+                 (toQueryList "item" <$> _dvpceVPCEndpointIds),+               "DryRun" =: _dvpceDryRun,+               "MaxResults" =: _dvpceMaxResults]++-- | /See:/ 'describeVPCEndpointsResponse' smart constructor.+data DescribeVPCEndpointsResponse = DescribeVPCEndpointsResponse'+    { _dvpcersNextToken    :: !(Maybe Text)+    , _dvpcersVPCEndpoints :: !(Maybe [VPCEndpoint])+    , _dvpcersStatus       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCEndpointsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpcersNextToken'+--+-- * 'dvpcersVPCEndpoints'+--+-- * 'dvpcersStatus'+describeVPCEndpointsResponse+    :: Int -- ^ 'dvpcersStatus'+    -> DescribeVPCEndpointsResponse+describeVPCEndpointsResponse pStatus_ =+    DescribeVPCEndpointsResponse'+    { _dvpcersNextToken = Nothing+    , _dvpcersVPCEndpoints = Nothing+    , _dvpcersStatus = pStatus_+    }++-- | The token to use when requesting the next set of items. If there are no+-- additional items to return, the string is empty.+dvpcersNextToken :: Lens' DescribeVPCEndpointsResponse (Maybe Text)+dvpcersNextToken = lens _dvpcersNextToken (\ s a -> s{_dvpcersNextToken = a});++-- | Information about the endpoints.+dvpcersVPCEndpoints :: Lens' DescribeVPCEndpointsResponse [VPCEndpoint]+dvpcersVPCEndpoints = lens _dvpcersVPCEndpoints (\ s a -> s{_dvpcersVPCEndpoints = a}) . _Default . _Coerce;++-- | The response status code.+dvpcersStatus :: Lens' DescribeVPCEndpointsResponse Int+dvpcersStatus = lens _dvpcersStatus (\ s a -> s{_dvpcersStatus = a});
+ gen/Network/AWS/EC2/DescribeVPCPeeringConnections.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.DescribeVPCPeeringConnections+-- 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)+--+-- 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+      describeVPCPeeringConnections+    , DescribeVPCPeeringConnections+    -- * Request Lenses+    , dvpcpcFilters+    , dvpcpcVPCPeeringConnectionIds+    , dvpcpcDryRun++    -- * Destructuring the Response+    , describeVPCPeeringConnectionsResponse+    , DescribeVPCPeeringConnectionsResponse+    -- * Response Lenses+    , dvpcpcrsVPCPeeringConnections+    , dvpcpcrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeVPCPeeringConnections' smart constructor.+data DescribeVPCPeeringConnections = DescribeVPCPeeringConnections'+    { _dvpcpcFilters                 :: !(Maybe [Filter])+    , _dvpcpcVPCPeeringConnectionIds :: !(Maybe [Text])+    , _dvpcpcDryRun                  :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCPeeringConnections' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpcpcFilters'+--+-- * 'dvpcpcVPCPeeringConnectionIds'+--+-- * 'dvpcpcDryRun'+describeVPCPeeringConnections+    :: DescribeVPCPeeringConnections+describeVPCPeeringConnections =+    DescribeVPCPeeringConnections'+    { _dvpcpcFilters = Nothing+    , _dvpcpcVPCPeeringConnectionIds = Nothing+    , _dvpcpcDryRun = Nothing+    }++-- | One or more filters.+--+-- -   'accepter-vpc-info.cidr-block' - The CIDR block of the peer VPC.+--+-- -   'accepter-vpc-info.owner-id' - The AWS account ID of the owner of+--     the peer VPC.+--+-- -   'accepter-vpc-info.vpc-id' - The ID of the peer VPC.+--+-- -   'expiration-time' - The expiration date and time for the VPC peering+--     connection.+--+-- -   'requester-vpc-info.cidr-block' - The CIDR block of the requester\'s+--     VPC.+--+-- -   'requester-vpc-info.owner-id' - The AWS account ID of the owner of+--     the requester VPC.+--+-- -   'requester-vpc-info.vpc-id' - The ID of the requester VPC.+--+-- -   'status-code' - The status of the VPC peering connection+--     ('pending-acceptance' | 'failed' | 'expired' | 'provisioning' |+--     'active' | 'deleted' | 'rejected').+--+-- -   'status-message' - A message that provides more information about+--     the status of the VPC peering connection, if applicable.+--+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource.+--+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter.+--+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter.+--+-- -   'vpc-peering-connection-id' - The ID of the VPC peering connection.+--+dvpcpcFilters :: Lens' DescribeVPCPeeringConnections [Filter]+dvpcpcFilters = lens _dvpcpcFilters (\ s a -> s{_dvpcpcFilters = a}) . _Default . _Coerce;++-- | One or more VPC peering connection IDs.+--+-- Default: Describes all your VPC peering connections.+dvpcpcVPCPeeringConnectionIds :: Lens' DescribeVPCPeeringConnections [Text]+dvpcpcVPCPeeringConnectionIds = lens _dvpcpcVPCPeeringConnectionIds (\ s a -> s{_dvpcpcVPCPeeringConnectionIds = 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'.+dvpcpcDryRun :: Lens' DescribeVPCPeeringConnections (Maybe Bool)+dvpcpcDryRun = lens _dvpcpcDryRun (\ s a -> s{_dvpcpcDryRun = a});++instance AWSRequest DescribeVPCPeeringConnections+         where+        type Sv DescribeVPCPeeringConnections = EC2+        type Rs DescribeVPCPeeringConnections =+             DescribeVPCPeeringConnectionsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeVPCPeeringConnectionsResponse' <$>+                   (x .@? "vpcPeeringConnectionSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeVPCPeeringConnections+         where+        toHeaders = const mempty++instance ToPath DescribeVPCPeeringConnections where+        toPath = const "/"++instance ToQuery DescribeVPCPeeringConnections where+        toQuery DescribeVPCPeeringConnections'{..}+          = mconcat+              ["Action" =:+                 ("DescribeVpcPeeringConnections" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dvpcpcFilters),+               toQuery+                 (toQueryList "item" <$>+                    _dvpcpcVPCPeeringConnectionIds),+               "DryRun" =: _dvpcpcDryRun]++-- | /See:/ 'describeVPCPeeringConnectionsResponse' smart constructor.+data DescribeVPCPeeringConnectionsResponse = DescribeVPCPeeringConnectionsResponse'+    { _dvpcpcrsVPCPeeringConnections :: !(Maybe [VPCPeeringConnection])+    , _dvpcpcrsStatus                :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCPeeringConnectionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpcpcrsVPCPeeringConnections'+--+-- * 'dvpcpcrsStatus'+describeVPCPeeringConnectionsResponse+    :: Int -- ^ 'dvpcpcrsStatus'+    -> DescribeVPCPeeringConnectionsResponse+describeVPCPeeringConnectionsResponse pStatus_ =+    DescribeVPCPeeringConnectionsResponse'+    { _dvpcpcrsVPCPeeringConnections = Nothing+    , _dvpcpcrsStatus = pStatus_+    }++-- | Information about the VPC peering connections.+dvpcpcrsVPCPeeringConnections :: Lens' DescribeVPCPeeringConnectionsResponse [VPCPeeringConnection]+dvpcpcrsVPCPeeringConnections = lens _dvpcpcrsVPCPeeringConnections (\ s a -> s{_dvpcpcrsVPCPeeringConnections = a}) . _Default . _Coerce;++-- | The response status code.+dvpcpcrsStatus :: Lens' DescribeVPCPeeringConnectionsResponse Int+dvpcpcrsStatus = lens _dvpcpcrsStatus (\ s a -> s{_dvpcpcrsStatus = a});
+ gen/Network/AWS/EC2/DescribeVPCs.hs view
@@ -0,0 +1,173 @@+{-# 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.DescribeVPCs+-- 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)+--+-- 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+      describeVPCs+    , DescribeVPCs+    -- * Request Lenses+    , dvsFilters+    , dvsVPCIds+    , dvsDryRun++    -- * Destructuring the Response+    , describeVPCsResponse+    , DescribeVPCsResponse+    -- * Response Lenses+    , dvrsVPCs+    , dvrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeVPCs' smart constructor.+data DescribeVPCs = DescribeVPCs'+    { _dvsFilters :: !(Maybe [Filter])+    , _dvsVPCIds  :: !(Maybe [Text])+    , _dvsDryRun  :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvsFilters'+--+-- * 'dvsVPCIds'+--+-- * 'dvsDryRun'+describeVPCs+    :: DescribeVPCs+describeVPCs =+    DescribeVPCs'+    { _dvsFilters = Nothing+    , _dvsVPCIds = Nothing+    , _dvsDryRun = Nothing+    }++-- | One or more filters.+--+-- -   'cidr' - The CIDR block of the VPC. The CIDR block you specify must+--     exactly match the VPC\'s CIDR block for information to be returned+--     for the VPC. Must contain the slash followed by one or two digits+--     (for example, '\/28').+--+-- -   'dhcp-options-id' - The ID of a set of DHCP options.+--+-- -   'isDefault' - Indicates whether the VPC is the default VPC.+--+-- -   'state' - The state of the VPC ('pending' | 'available').+--+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource.+--+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter.+--+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter.+--+-- -   'vpc-id' - The ID of the VPC.+--+dvsFilters :: Lens' DescribeVPCs [Filter]+dvsFilters = lens _dvsFilters (\ s a -> s{_dvsFilters = a}) . _Default . _Coerce;++-- | One or more VPC IDs.+--+-- Default: Describes all your VPCs.+dvsVPCIds :: Lens' DescribeVPCs [Text]+dvsVPCIds = lens _dvsVPCIds (\ s a -> s{_dvsVPCIds = 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'.+dvsDryRun :: Lens' DescribeVPCs (Maybe Bool)+dvsDryRun = lens _dvsDryRun (\ s a -> s{_dvsDryRun = a});++instance AWSRequest DescribeVPCs where+        type Sv DescribeVPCs = EC2+        type Rs DescribeVPCs = DescribeVPCsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeVPCsResponse' <$>+                   (x .@? "vpcSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeVPCs where+        toHeaders = const mempty++instance ToPath DescribeVPCs where+        toPath = const "/"++instance ToQuery DescribeVPCs where+        toQuery DescribeVPCs'{..}+          = mconcat+              ["Action" =: ("DescribeVpcs" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dvsFilters),+               toQuery (toQueryList "VpcId" <$> _dvsVPCIds),+               "DryRun" =: _dvsDryRun]++-- | /See:/ 'describeVPCsResponse' smart constructor.+data DescribeVPCsResponse = DescribeVPCsResponse'+    { _dvrsVPCs   :: !(Maybe [VPC])+    , _dvrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPCsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvrsVPCs'+--+-- * 'dvrsStatus'+describeVPCsResponse+    :: Int -- ^ 'dvrsStatus'+    -> DescribeVPCsResponse+describeVPCsResponse pStatus_ =+    DescribeVPCsResponse'+    { _dvrsVPCs = Nothing+    , _dvrsStatus = pStatus_+    }++-- | Information about one or more VPCs.+dvrsVPCs :: Lens' DescribeVPCsResponse [VPC]+dvrsVPCs = lens _dvrsVPCs (\ s a -> s{_dvrsVPCs = a}) . _Default . _Coerce;++-- | The response status code.+dvrsStatus :: Lens' DescribeVPCsResponse Int+dvrsStatus = lens _dvrsStatus (\ s a -> s{_dvrsStatus = a});
+ gen/Network/AWS/EC2/DescribeVPNConnections.hs view
@@ -0,0 +1,195 @@+{-# 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.DescribeVPNConnections+-- 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)+--+-- Describes one or more of your VPN connections.+--+-- 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+      describeVPNConnections+    , DescribeVPNConnections+    -- * Request Lenses+    , dvpncFilters+    , dvpncVPNConnectionIds+    , dvpncDryRun++    -- * Destructuring the Response+    , describeVPNConnectionsResponse+    , DescribeVPNConnectionsResponse+    -- * Response Lenses+    , dvcrsVPNConnections+    , dvcrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeVPNConnections' smart constructor.+data DescribeVPNConnections = DescribeVPNConnections'+    { _dvpncFilters          :: !(Maybe [Filter])+    , _dvpncVPNConnectionIds :: !(Maybe [Text])+    , _dvpncDryRun           :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPNConnections' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpncFilters'+--+-- * 'dvpncVPNConnectionIds'+--+-- * 'dvpncDryRun'+describeVPNConnections+    :: DescribeVPNConnections+describeVPNConnections =+    DescribeVPNConnections'+    { _dvpncFilters = Nothing+    , _dvpncVPNConnectionIds = Nothing+    , _dvpncDryRun = Nothing+    }++-- | One or more filters.+--+-- -   'customer-gateway-configuration' - The configuration information for+--     the customer gateway.+--+-- -   'customer-gateway-id' - The ID of a customer gateway associated with+--     the VPN connection.+--+-- -   'state' - The state of the VPN connection ('pending' | 'available' |+--     'deleting' | 'deleted').+--+-- -   'option.static-routes-only' - Indicates whether the connection has+--     static routes only. Used for devices that do not support Border+--     Gateway Protocol (BGP).+--+-- -   'route.destination-cidr-block' - The destination CIDR block. This+--     corresponds to the subnet used in a customer data center.+--+-- -   'bgp-asn' - The BGP Autonomous System Number (ASN) associated with a+--     BGP device.+--+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource.+--+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter.+--+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter.+--+-- -   'type' - The type of VPN connection. Currently the only supported+--     type is 'ipsec.1'.+--+-- -   'vpn-connection-id' - The ID of the VPN connection.+--+-- -   'vpn-gateway-id' - The ID of a virtual private gateway associated+--     with the VPN connection.+--+dvpncFilters :: Lens' DescribeVPNConnections [Filter]+dvpncFilters = lens _dvpncFilters (\ s a -> s{_dvpncFilters = a}) . _Default . _Coerce;++-- | One or more VPN connection IDs.+--+-- Default: Describes your VPN connections.+dvpncVPNConnectionIds :: Lens' DescribeVPNConnections [Text]+dvpncVPNConnectionIds = lens _dvpncVPNConnectionIds (\ s a -> s{_dvpncVPNConnectionIds = 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'.+dvpncDryRun :: Lens' DescribeVPNConnections (Maybe Bool)+dvpncDryRun = lens _dvpncDryRun (\ s a -> s{_dvpncDryRun = a});++instance AWSRequest DescribeVPNConnections where+        type Sv DescribeVPNConnections = EC2+        type Rs DescribeVPNConnections =+             DescribeVPNConnectionsResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeVPNConnectionsResponse' <$>+                   (x .@? "vpnConnectionSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeVPNConnections where+        toHeaders = const mempty++instance ToPath DescribeVPNConnections where+        toPath = const "/"++instance ToQuery DescribeVPNConnections where+        toQuery DescribeVPNConnections'{..}+          = mconcat+              ["Action" =:+                 ("DescribeVpnConnections" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dvpncFilters),+               toQuery+                 (toQueryList "VpnConnectionId" <$>+                    _dvpncVPNConnectionIds),+               "DryRun" =: _dvpncDryRun]++-- | /See:/ 'describeVPNConnectionsResponse' smart constructor.+data DescribeVPNConnectionsResponse = DescribeVPNConnectionsResponse'+    { _dvcrsVPNConnections :: !(Maybe [VPNConnection])+    , _dvcrsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPNConnectionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvcrsVPNConnections'+--+-- * 'dvcrsStatus'+describeVPNConnectionsResponse+    :: Int -- ^ 'dvcrsStatus'+    -> DescribeVPNConnectionsResponse+describeVPNConnectionsResponse pStatus_ =+    DescribeVPNConnectionsResponse'+    { _dvcrsVPNConnections = Nothing+    , _dvcrsStatus = pStatus_+    }++-- | Information about one or more VPN connections.+dvcrsVPNConnections :: Lens' DescribeVPNConnectionsResponse [VPNConnection]+dvcrsVPNConnections = lens _dvcrsVPNConnections (\ s a -> s{_dvcrsVPNConnections = a}) . _Default . _Coerce;++-- | The response status code.+dvcrsStatus :: Lens' DescribeVPNConnectionsResponse Int+dvcrsStatus = lens _dvcrsStatus (\ s a -> s{_dvcrsStatus = a});
+ gen/Network/AWS/EC2/DescribeVPNGateways.hs view
@@ -0,0 +1,183 @@+{-# 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.DescribeVPNGateways+-- 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)+--+-- Describes one or more of your virtual private gateways.+--+-- 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+      describeVPNGateways+    , DescribeVPNGateways+    -- * Request Lenses+    , dvgsFilters+    , dvgsDryRun+    , dvgsVPNGatewayIds++    -- * Destructuring the Response+    , describeVPNGatewaysResponse+    , DescribeVPNGatewaysResponse+    -- * Response Lenses+    , dvgrsVPNGateways+    , dvgrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeVPNGateways' smart constructor.+data DescribeVPNGateways = DescribeVPNGateways'+    { _dvgsFilters       :: !(Maybe [Filter])+    , _dvgsDryRun        :: !(Maybe Bool)+    , _dvgsVPNGatewayIds :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPNGateways' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvgsFilters'+--+-- * 'dvgsDryRun'+--+-- * 'dvgsVPNGatewayIds'+describeVPNGateways+    :: DescribeVPNGateways+describeVPNGateways =+    DescribeVPNGateways'+    { _dvgsFilters = Nothing+    , _dvgsDryRun = Nothing+    , _dvgsVPNGatewayIds = Nothing+    }++-- | One or more filters.+--+-- -   'attachment.state' - The current state of the attachment between the+--     gateway and the VPC ('attaching' | 'attached' | 'detaching' |+--     'detached').+--+-- -   'attachment.vpc-id' - The ID of an attached VPC.+--+-- -   'availability-zone' - The Availability Zone for the virtual private+--     gateway.+--+-- -   'state' - The state of the virtual private gateway ('pending' |+--     'available' | 'deleting' | 'deleted').+--+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource.+--+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter.+--+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter.+--+-- -   'type' - The type of virtual private gateway. Currently the only+--     supported type is 'ipsec.1'.+--+-- -   'vpn-gateway-id' - The ID of the virtual private gateway.+--+dvgsFilters :: Lens' DescribeVPNGateways [Filter]+dvgsFilters = lens _dvgsFilters (\ s a -> s{_dvgsFilters = 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'.+dvgsDryRun :: Lens' DescribeVPNGateways (Maybe Bool)+dvgsDryRun = lens _dvgsDryRun (\ s a -> s{_dvgsDryRun = a});++-- | One or more virtual private gateway IDs.+--+-- Default: Describes all your virtual private gateways.+dvgsVPNGatewayIds :: Lens' DescribeVPNGateways [Text]+dvgsVPNGatewayIds = lens _dvgsVPNGatewayIds (\ s a -> s{_dvgsVPNGatewayIds = a}) . _Default . _Coerce;++instance AWSRequest DescribeVPNGateways where+        type Sv DescribeVPNGateways = EC2+        type Rs DescribeVPNGateways =+             DescribeVPNGatewaysResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeVPNGatewaysResponse' <$>+                   (x .@? "vpnGatewaySet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeVPNGateways where+        toHeaders = const mempty++instance ToPath DescribeVPNGateways where+        toPath = const "/"++instance ToQuery DescribeVPNGateways where+        toQuery DescribeVPNGateways'{..}+          = mconcat+              ["Action" =: ("DescribeVpnGateways" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dvgsFilters),+               "DryRun" =: _dvgsDryRun,+               toQuery+                 (toQueryList "VpnGatewayId" <$> _dvgsVPNGatewayIds)]++-- | /See:/ 'describeVPNGatewaysResponse' smart constructor.+data DescribeVPNGatewaysResponse = DescribeVPNGatewaysResponse'+    { _dvgrsVPNGateways :: !(Maybe [VPNGateway])+    , _dvgrsStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVPNGatewaysResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvgrsVPNGateways'+--+-- * 'dvgrsStatus'+describeVPNGatewaysResponse+    :: Int -- ^ 'dvgrsStatus'+    -> DescribeVPNGatewaysResponse+describeVPNGatewaysResponse pStatus_ =+    DescribeVPNGatewaysResponse'+    { _dvgrsVPNGateways = Nothing+    , _dvgrsStatus = pStatus_+    }++-- | Information about one or more virtual private gateways.+dvgrsVPNGateways :: Lens' DescribeVPNGatewaysResponse [VPNGateway]+dvgrsVPNGateways = lens _dvgrsVPNGateways (\ s a -> s{_dvgrsVPNGateways = a}) . _Default . _Coerce;++-- | The response status code.+dvgrsStatus :: Lens' DescribeVPNGatewaysResponse Int+dvgrsStatus = lens _dvgrsStatus (\ s a -> s{_dvgrsStatus = a});
gen/Network/AWS/EC2/DescribeVolumeAttribute.hs view
@@ -1,153 +1,170 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeVolumeAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the specified attribute of the specified volume. You can specify--- only one attribute at a time.+-- Describes the specified attribute of the specified volume. You can+-- specify only one attribute at a time. ----- For more information about EBS volumes, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html Amazon EBS Volumes> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumeAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumeAttribute.html AWS API Reference> for DescribeVolumeAttribute. module Network.AWS.EC2.DescribeVolumeAttribute     (-    -- * Request-      DescribeVolumeAttribute-    -- ** Request constructor-    , describeVolumeAttribute-    -- ** Request lenses+    -- * Creating a Request+      describeVolumeAttribute+    , DescribeVolumeAttribute+    -- * Request Lenses     , dvaAttribute     , dvaDryRun     , dvaVolumeId -    -- * Response-    , DescribeVolumeAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeVolumeAttributeResponse-    -- ** Response lenses-    , dvarAutoEnableIO-    , dvarProductCodes-    , dvarVolumeId+    , DescribeVolumeAttributeResponse+    -- * Response Lenses+    , dvarsProductCodes+    , dvarsVolumeId+    , dvarsAutoEnableIO+    , dvarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeVolumeAttribute = DescribeVolumeAttribute-    { _dvaAttribute :: Maybe VolumeAttributeName-    , _dvaDryRun    :: Maybe Bool-    , _dvaVolumeId  :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeVolumeAttribute' smart constructor.+data DescribeVolumeAttribute = DescribeVolumeAttribute'+    { _dvaAttribute :: !(Maybe VolumeAttributeName)+    , _dvaDryRun    :: !(Maybe Bool)+    , _dvaVolumeId  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeVolumeAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeVolumeAttribute' with the minimum fields required to make a request. ----- * 'dvaAttribute' @::@ 'Maybe' 'VolumeAttributeName'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dvaDryRun' @::@ 'Maybe' 'Bool'+-- * 'dvaAttribute' ----- * 'dvaVolumeId' @::@ 'Text'+-- * 'dvaDryRun' ---describeVolumeAttribute :: Text -- ^ 'dvaVolumeId'-                        -> DescribeVolumeAttribute-describeVolumeAttribute p1 = DescribeVolumeAttribute-    { _dvaVolumeId  = p1-    , _dvaDryRun    = Nothing-    , _dvaAttribute = Nothing+-- * 'dvaVolumeId'+describeVolumeAttribute+    :: Text -- ^ 'dvaVolumeId'+    -> DescribeVolumeAttribute+describeVolumeAttribute pVolumeId_ =+    DescribeVolumeAttribute'+    { _dvaAttribute = Nothing+    , _dvaDryRun = Nothing+    , _dvaVolumeId = pVolumeId_     }  -- | The instance attribute. dvaAttribute :: Lens' DescribeVolumeAttribute (Maybe VolumeAttributeName)-dvaAttribute = lens _dvaAttribute (\s a -> s { _dvaAttribute = a })+dvaAttribute = lens _dvaAttribute (\ s a -> s{_dvaAttribute = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. dvaDryRun :: Lens' DescribeVolumeAttribute (Maybe Bool)-dvaDryRun = lens _dvaDryRun (\s a -> s { _dvaDryRun = a })+dvaDryRun = lens _dvaDryRun (\ s a -> s{_dvaDryRun = a});  -- | The ID of the volume. dvaVolumeId :: Lens' DescribeVolumeAttribute Text-dvaVolumeId = lens _dvaVolumeId (\s a -> s { _dvaVolumeId = a })+dvaVolumeId = lens _dvaVolumeId (\ s a -> s{_dvaVolumeId = a}); -data DescribeVolumeAttributeResponse = DescribeVolumeAttributeResponse-    { _dvarAutoEnableIO :: Maybe AttributeBooleanValue-    , _dvarProductCodes :: List "item" ProductCode-    , _dvarVolumeId     :: Maybe Text-    } deriving (Eq, Read, Show)+instance AWSRequest DescribeVolumeAttribute where+        type Sv DescribeVolumeAttribute = EC2+        type Rs DescribeVolumeAttribute =+             DescribeVolumeAttributeResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeVolumeAttributeResponse' <$>+                   (x .@? "productCodes" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (x .@? "volumeId")+                     <*> (x .@? "autoEnableIO")+                     <*> (pure (fromEnum s))) --- | 'DescribeVolumeAttributeResponse' constructor.+instance ToHeaders DescribeVolumeAttribute where+        toHeaders = const mempty++instance ToPath DescribeVolumeAttribute where+        toPath = const "/"++instance ToQuery DescribeVolumeAttribute where+        toQuery DescribeVolumeAttribute'{..}+          = mconcat+              ["Action" =:+                 ("DescribeVolumeAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Attribute" =: _dvaAttribute, "DryRun" =: _dvaDryRun,+               "VolumeId" =: _dvaVolumeId]++-- | /See:/ 'describeVolumeAttributeResponse' smart constructor.+data DescribeVolumeAttributeResponse = DescribeVolumeAttributeResponse'+    { _dvarsProductCodes :: !(Maybe [ProductCode])+    , _dvarsVolumeId     :: !(Maybe Text)+    , _dvarsAutoEnableIO :: !(Maybe AttributeBooleanValue)+    , _dvarsStatus       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeVolumeAttributeResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dvarAutoEnableIO' @::@ 'Maybe' 'AttributeBooleanValue'+-- * 'dvarsProductCodes' ----- * 'dvarProductCodes' @::@ ['ProductCode']+-- * 'dvarsVolumeId' ----- * 'dvarVolumeId' @::@ 'Maybe' 'Text'+-- * 'dvarsAutoEnableIO' ---describeVolumeAttributeResponse :: DescribeVolumeAttributeResponse-describeVolumeAttributeResponse = DescribeVolumeAttributeResponse-    { _dvarVolumeId     = Nothing-    , _dvarAutoEnableIO = Nothing-    , _dvarProductCodes = mempty+-- * 'dvarsStatus'+describeVolumeAttributeResponse+    :: Int -- ^ 'dvarsStatus'+    -> DescribeVolumeAttributeResponse+describeVolumeAttributeResponse pStatus_ =+    DescribeVolumeAttributeResponse'+    { _dvarsProductCodes = Nothing+    , _dvarsVolumeId = Nothing+    , _dvarsAutoEnableIO = Nothing+    , _dvarsStatus = pStatus_     } --- | The state of 'autoEnableIO' attribute.-dvarAutoEnableIO :: Lens' DescribeVolumeAttributeResponse (Maybe AttributeBooleanValue)-dvarAutoEnableIO = lens _dvarAutoEnableIO (\s a -> s { _dvarAutoEnableIO = a })- -- | A list of product codes.-dvarProductCodes :: Lens' DescribeVolumeAttributeResponse [ProductCode]-dvarProductCodes = lens _dvarProductCodes (\s a -> s { _dvarProductCodes = a }) . _List+dvarsProductCodes :: Lens' DescribeVolumeAttributeResponse [ProductCode]+dvarsProductCodes = lens _dvarsProductCodes (\ s a -> s{_dvarsProductCodes = a}) . _Default . _Coerce;  -- | The ID of the volume.-dvarVolumeId :: Lens' DescribeVolumeAttributeResponse (Maybe Text)-dvarVolumeId = lens _dvarVolumeId (\s a -> s { _dvarVolumeId = a })--instance ToPath DescribeVolumeAttribute where-    toPath = const "/"--instance ToQuery DescribeVolumeAttribute where-    toQuery DescribeVolumeAttribute{..} = mconcat-        [ "Attribute" =? _dvaAttribute-        , "DryRun"    =? _dvaDryRun-        , "VolumeId"  =? _dvaVolumeId-        ]--instance ToHeaders DescribeVolumeAttribute--instance AWSRequest DescribeVolumeAttribute where-    type Sv DescribeVolumeAttribute = EC2-    type Rs DescribeVolumeAttribute = DescribeVolumeAttributeResponse+dvarsVolumeId :: Lens' DescribeVolumeAttributeResponse (Maybe Text)+dvarsVolumeId = lens _dvarsVolumeId (\ s a -> s{_dvarsVolumeId = a}); -    request  = post "DescribeVolumeAttribute"-    response = xmlResponse+-- | The state of 'autoEnableIO' attribute.+dvarsAutoEnableIO :: Lens' DescribeVolumeAttributeResponse (Maybe AttributeBooleanValue)+dvarsAutoEnableIO = lens _dvarsAutoEnableIO (\ s a -> s{_dvarsAutoEnableIO = a}); -instance FromXML DescribeVolumeAttributeResponse where-    parseXML x = DescribeVolumeAttributeResponse-        <$> x .@? "autoEnableIO"-        <*> x .@? "productCodes" .!@ mempty-        <*> x .@? "volumeId"+-- | The response status code.+dvarsStatus :: Lens' DescribeVolumeAttributeResponse Int+dvarsStatus = lens _dvarsStatus (\ s a -> s{_dvarsStatus = a});
gen/Network/AWS/EC2/DescribeVolumeStatus.hs view
@@ -1,244 +1,269 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeVolumeStatus--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the status of the specified volumes. Volume status provides the--- result of the checks performed on your volumes to determine events that can--- impair the performance of your volumes. The performance of a volume can be--- affected if an issue occurs on the volume's underlying host. If the volume's--- underlying host experiences a power outage or system issue, after the system--- is restored, there could be data inconsistencies on the volume. Volume events--- notify you if this occurs. Volume actions notify you if any action needs to--- be taken in response to the event.+-- Describes the status of the specified volumes. Volume status provides+-- the result of the checks performed on your volumes to determine events+-- that can impair the performance of your volumes. The performance of a+-- volume can be affected if an issue occurs on the volume\'s underlying+-- host. If the volume\'s underlying host experiences a power outage or+-- system issue, after the system is restored, there could be data+-- inconsistencies on the volume. Volume events notify you if this occurs.+-- Volume actions notify you if any action needs to be taken in response to+-- the event. ----- The 'DescribeVolumeStatus' operation provides the following information about--- the specified volumes:+-- The 'DescribeVolumeStatus' operation provides the following information+-- about the specified volumes: ----- /Status/: Reflects the current status of the volume. The possible values are 'ok'--- , 'impaired' , 'warning', or 'insufficient-data'. If all checks pass, the overall--- status of the volume is 'ok'. If the check fails, the overall status is 'impaired'--- . If the status is 'insufficient-data', then the checks may still be taking--- place on your volume at the time. We recommend that you retry the request.--- For more information on volume status, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html Monitoring the Status of YourVolumes>.+-- /Status/: Reflects the current status of the volume. The possible values+-- are 'ok', 'impaired' , 'warning', or 'insufficient-data'. If all checks+-- pass, the overall status of the volume is 'ok'. If the check fails, the+-- overall status is 'impaired'. If the status is 'insufficient-data', then+-- the checks may still be taking place on your volume at the time. We+-- recommend that you retry the request. For more information on volume+-- status, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html Monitoring the Status of Your Volumes>. ----- /Events/: Reflect the cause of a volume status and may require you to take--- action. For example, if your volume returns an 'impaired' status, then the--- volume event might be 'potential-data-inconsistency'. This means that your--- volume has been affected by an issue with the underlying host, has all I/O--- operations disabled, and may have inconsistent data.+-- /Events/: Reflect the cause of a volume status and may require you to+-- take action. For example, if your volume returns an 'impaired' status,+-- then the volume event might be 'potential-data-inconsistency'. This+-- means that your volume has been affected by an issue with the underlying+-- host, has all I\/O operations disabled, and may have inconsistent data. ----- /Actions/: Reflect the actions you may have to take in response to an 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.+-- /Actions/: Reflect the actions you may have to take in response to an+-- 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. -- -- 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.)---+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumeStatus.html>+-- This operation returns paginated results. module Network.AWS.EC2.DescribeVolumeStatus     (-    -- * Request-      DescribeVolumeStatus-    -- ** Request constructor-    , describeVolumeStatus-    -- ** Request lenses-    , dvsDryRun-    , dvsFilters-    , dvsMaxResults-    , dvsNextToken-    , dvsVolumeIds+    -- * Creating a Request+      describeVolumeStatus+    , DescribeVolumeStatus+    -- * Request Lenses+    , dvssFilters+    , dvssVolumeIds+    , dvssNextToken+    , dvssDryRun+    , dvssMaxResults -    -- * Response-    , DescribeVolumeStatusResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeVolumeStatusResponse-    -- ** Response lenses-    , dvsrNextToken-    , dvsrVolumeStatuses+    , DescribeVolumeStatusResponse+    -- * Response Lenses+    , dvsrsNextToken+    , dvsrsVolumeStatuses+    , dvsrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeVolumeStatus = DescribeVolumeStatus-    { _dvsDryRun     :: Maybe Bool-    , _dvsFilters    :: List "Filter" Filter-    , _dvsMaxResults :: Maybe Int-    , _dvsNextToken  :: Maybe Text-    , _dvsVolumeIds  :: List "VolumeId" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeVolumeStatus' smart constructor.+data DescribeVolumeStatus = DescribeVolumeStatus'+    { _dvssFilters    :: !(Maybe [Filter])+    , _dvssVolumeIds  :: !(Maybe [Text])+    , _dvssNextToken  :: !(Maybe Text)+    , _dvssDryRun     :: !(Maybe Bool)+    , _dvssMaxResults :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeVolumeStatus' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeVolumeStatus' with the minimum fields required to make a request. ----- * 'dvsDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dvsFilters' @::@ ['Filter']+-- * 'dvssFilters' ----- * 'dvsMaxResults' @::@ 'Maybe' 'Int'+-- * 'dvssVolumeIds' ----- * 'dvsNextToken' @::@ 'Maybe' 'Text'+-- * 'dvssNextToken' ----- * 'dvsVolumeIds' @::@ ['Text']+-- * 'dvssDryRun' ---describeVolumeStatus :: DescribeVolumeStatus-describeVolumeStatus = DescribeVolumeStatus-    { _dvsDryRun     = Nothing-    , _dvsVolumeIds  = mempty-    , _dvsFilters    = mempty-    , _dvsNextToken  = Nothing-    , _dvsMaxResults = Nothing+-- * 'dvssMaxResults'+describeVolumeStatus+    :: DescribeVolumeStatus+describeVolumeStatus =+    DescribeVolumeStatus'+    { _dvssFilters = Nothing+    , _dvssVolumeIds = Nothing+    , _dvssNextToken = Nothing+    , _dvssDryRun = Nothing+    , _dvssMaxResults = Nothing     } --- | 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'.-dvsDryRun :: Lens' DescribeVolumeStatus (Maybe Bool)-dvsDryRun = lens _dvsDryRun (\s a -> s { _dvsDryRun = a })- -- | One or more filters. ----- 'action.code' - The action code for the event (for example, 'enable-volume-io').--------- 'action.description' - A description of the action.+-- -   'action.code' - The action code for the event (for example,+--     'enable-volume-io'). ----- 'action.event-id' - The event ID associated with the action.+-- -   'action.description' - A description of the action. ----- 'availability-zone' - The Availability Zone of the instance.+-- -   'action.event-id' - The event ID associated with the action. ----- 'event.description' - A description of the event.+-- -   'availability-zone' - The Availability Zone of the instance. ----- 'event.event-id' - The event ID.+-- -   'event.description' - A description of the event. ----- 'event.event-type' - The event type (for 'io-enabled': 'passed' | 'failed'; for 'io-performance': 'io-performance:degraded' | 'io-performance:severely-degraded' | 'io-performance:stalled').+-- -   'event.event-id' - The event ID. ----- 'event.not-after' - The latest end time for the event.+-- -   'event.event-type' - The event type (for 'io-enabled': 'passed' |+--     'failed'; for 'io-performance': 'io-performance:degraded' |+--     'io-performance:severely-degraded' | 'io-performance:stalled'). ----- 'event.not-before' - The earliest start time for the event.+-- -   'event.not-after' - The latest end time for the event. ----- 'volume-status.details-name' - The cause for 'volume-status.status' ('io-enabled'--- | 'io-performance').+-- -   'event.not-before' - The earliest start time for the event. ----- 'volume-status.details-status' - The status of 'volume-status.details-name'--- (for 'io-enabled': 'passed' | 'failed'; for 'io-performance': 'normal' | 'degraded' | 'severely-degraded' | 'stalled').+-- -   'volume-status.details-name' - The cause for 'volume-status.status'+--     ('io-enabled' | 'io-performance'). ----- 'volume-status.status' - The status of the volume ('ok' | 'impaired' | 'warning' | 'insufficient-data').+-- -   'volume-status.details-status' - The status of+--     'volume-status.details-name' (for 'io-enabled': 'passed' | 'failed';+--     for 'io-performance': 'normal' | 'degraded' | 'severely-degraded' |+--     'stalled'). --+-- -   'volume-status.status' - The status of the volume ('ok' | 'impaired'+--     | 'warning' | 'insufficient-data'). ---dvsFilters :: Lens' DescribeVolumeStatus [Filter]-dvsFilters = lens _dvsFilters (\s a -> s { _dvsFilters = a }) . _List---- | The maximum number of volume results returned by 'DescribeVolumeStatus' in--- paginated output. When this parameter is used, the request only returns 'MaxResults' results in a single page along with a 'NextToken' response element. The--- remaining results of the initial request can be seen by sending another--- request with the returned 'NextToken' value. This value can be between 5 and--- 1000; if 'MaxResults' is given a value larger than 1000, only 1000 results are--- returned. If this parameter is not used, then 'DescribeVolumeStatus' returns--- all results. You cannot specify this parameter and the volume IDs parameter--- in the same request.-dvsMaxResults :: Lens' DescribeVolumeStatus (Maybe Int)-dvsMaxResults = lens _dvsMaxResults (\s a -> s { _dvsMaxResults = a })---- | The 'NextToken' value to include in a future 'DescribeVolumeStatus' request. When--- the results of the request exceed 'MaxResults', this value can be used to--- retrieve the next page of results. This value is 'null' when there are no more--- results to return.-dvsNextToken :: Lens' DescribeVolumeStatus (Maybe Text)-dvsNextToken = lens _dvsNextToken (\s a -> s { _dvsNextToken = a })+dvssFilters :: Lens' DescribeVolumeStatus [Filter]+dvssFilters = lens _dvssFilters (\ s a -> s{_dvssFilters = a}) . _Default . _Coerce;  -- | One or more volume IDs. -- -- Default: Describes all your volumes.-dvsVolumeIds :: Lens' DescribeVolumeStatus [Text]-dvsVolumeIds = lens _dvsVolumeIds (\s a -> s { _dvsVolumeIds = a }) . _List+dvssVolumeIds :: Lens' DescribeVolumeStatus [Text]+dvssVolumeIds = lens _dvssVolumeIds (\ s a -> s{_dvssVolumeIds = a}) . _Default . _Coerce; -data DescribeVolumeStatusResponse = DescribeVolumeStatusResponse-    { _dvsrNextToken      :: Maybe Text-    , _dvsrVolumeStatuses :: List "item" VolumeStatusItem-    } deriving (Eq, Read, Show)+-- | The 'NextToken' value to include in a future 'DescribeVolumeStatus'+-- request. When the results of the request exceed 'MaxResults', this value+-- can be used to retrieve the next page of results. This value is 'null'+-- when there are no more results to return.+dvssNextToken :: Lens' DescribeVolumeStatus (Maybe Text)+dvssNextToken = lens _dvssNextToken (\ s a -> s{_dvssNextToken = a}); --- | 'DescribeVolumeStatusResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvsrNextToken' @::@ 'Maybe' 'Text'------ * 'dvsrVolumeStatuses' @::@ ['VolumeStatusItem']----describeVolumeStatusResponse :: DescribeVolumeStatusResponse-describeVolumeStatusResponse = DescribeVolumeStatusResponse-    { _dvsrVolumeStatuses = mempty-    , _dvsrNextToken      = Nothing-    }+-- | 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'.+dvssDryRun :: Lens' DescribeVolumeStatus (Maybe Bool)+dvssDryRun = lens _dvssDryRun (\ s a -> s{_dvssDryRun = a}); --- | The token to use to retrieve the next page of results. This value is 'null'--- when there are no more results to return.-dvsrNextToken :: Lens' DescribeVolumeStatusResponse (Maybe Text)-dvsrNextToken = lens _dvsrNextToken (\s a -> s { _dvsrNextToken = a })+-- | The maximum number of volume results returned by 'DescribeVolumeStatus'+-- in paginated output. When this parameter is used, the request only+-- returns 'MaxResults' results in a single page along with a 'NextToken'+-- response element. The remaining results of the initial request can be+-- seen by sending another request with the returned 'NextToken' value.+-- This value can be between 5 and 1000; if 'MaxResults' is given a value+-- larger than 1000, only 1000 results are returned. If this parameter is+-- not used, then 'DescribeVolumeStatus' returns all results. You cannot+-- specify this parameter and the volume IDs parameter in the same request.+dvssMaxResults :: Lens' DescribeVolumeStatus (Maybe Int)+dvssMaxResults = lens _dvssMaxResults (\ s a -> s{_dvssMaxResults = a}); --- | A list of volumes.-dvsrVolumeStatuses :: Lens' DescribeVolumeStatusResponse [VolumeStatusItem]-dvsrVolumeStatuses =-    lens _dvsrVolumeStatuses (\s a -> s { _dvsrVolumeStatuses = a })-        . _List+instance AWSPager DescribeVolumeStatus where+        page rq rs+          | stop (rs ^. dvsrsNextToken) = Nothing+          | stop (rs ^. dvsrsVolumeStatuses) = Nothing+          | otherwise =+            Just $ rq & dvssNextToken .~ rs ^. dvsrsNextToken +instance AWSRequest DescribeVolumeStatus where+        type Sv DescribeVolumeStatus = EC2+        type Rs DescribeVolumeStatus =+             DescribeVolumeStatusResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeVolumeStatusResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "volumeStatusSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeVolumeStatus where+        toHeaders = const mempty+ instance ToPath DescribeVolumeStatus where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeVolumeStatus where-    toQuery DescribeVolumeStatus{..} = mconcat-        [ "DryRun"     =? _dvsDryRun-        , "Filter"     `toQueryList` _dvsFilters-        , "MaxResults" =? _dvsMaxResults-        , "NextToken"  =? _dvsNextToken-        , "VolumeId"   `toQueryList` _dvsVolumeIds-        ]+        toQuery DescribeVolumeStatus'{..}+          = mconcat+              ["Action" =: ("DescribeVolumeStatus" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dvssFilters),+               toQuery (toQueryList "VolumeId" <$> _dvssVolumeIds),+               "NextToken" =: _dvssNextToken,+               "DryRun" =: _dvssDryRun,+               "MaxResults" =: _dvssMaxResults] -instance ToHeaders DescribeVolumeStatus+-- | /See:/ 'describeVolumeStatusResponse' smart constructor.+data DescribeVolumeStatusResponse = DescribeVolumeStatusResponse'+    { _dvsrsNextToken      :: !(Maybe Text)+    , _dvsrsVolumeStatuses :: !(Maybe [VolumeStatusItem])+    , _dvsrsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeVolumeStatus where-    type Sv DescribeVolumeStatus = EC2-    type Rs DescribeVolumeStatus = DescribeVolumeStatusResponse+-- | Creates a value of 'DescribeVolumeStatusResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvsrsNextToken'+--+-- * 'dvsrsVolumeStatuses'+--+-- * 'dvsrsStatus'+describeVolumeStatusResponse+    :: Int -- ^ 'dvsrsStatus'+    -> DescribeVolumeStatusResponse+describeVolumeStatusResponse pStatus_ =+    DescribeVolumeStatusResponse'+    { _dvsrsNextToken = Nothing+    , _dvsrsVolumeStatuses = Nothing+    , _dvsrsStatus = pStatus_+    } -    request  = post "DescribeVolumeStatus"-    response = xmlResponse+-- | The token to use to retrieve the next page of results. This value is+-- 'null' when there are no more results to return.+dvsrsNextToken :: Lens' DescribeVolumeStatusResponse (Maybe Text)+dvsrsNextToken = lens _dvsrsNextToken (\ s a -> s{_dvsrsNextToken = a}); -instance FromXML DescribeVolumeStatusResponse where-    parseXML x = DescribeVolumeStatusResponse-        <$> x .@? "nextToken"-        <*> x .@? "volumeStatusSet" .!@ mempty+-- | A list of volumes.+dvsrsVolumeStatuses :: Lens' DescribeVolumeStatusResponse [VolumeStatusItem]+dvsrsVolumeStatuses = lens _dvsrsVolumeStatuses (\ s a -> s{_dvsrsVolumeStatuses = a}) . _Default . _Coerce; -instance AWSPager DescribeVolumeStatus where-    page rq rs-        | stop (rs ^. dvsrNextToken) = Nothing-        | otherwise = (\x -> rq & dvsNextToken ?~ x)-            <$> (rs ^. dvsrNextToken)+-- | The response status code.+dvsrsStatus :: Lens' DescribeVolumeStatusResponse Int+dvsrsStatus = lens _dvsrsStatus (\ s a -> s{_dvsrsStatus = a});
gen/Network/AWS/EC2/DescribeVolumes.hs view
@@ -1,228 +1,249 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeVolumes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the specified EBS volumes.+-- Describes the specified EBS volumes. ----- If you are describing a long list of volumes, you can paginate the output to--- make the list more manageable. The 'MaxResults' parameter sets the maximum--- number of results returned in a single page. If the list of results exceeds--- your 'MaxResults' value, then that number of results is returned along with a 'NextToken' value that can be passed to a subsequent 'DescribeVolumes' request to retrieve--- the remaining results.+-- If you are describing a long list of volumes, you can paginate the+-- output to make the list more manageable. The 'MaxResults' parameter sets+-- the maximum number of results returned in a single page. If the list of+-- results exceeds your 'MaxResults' value, then that number of results is+-- returned along with a 'NextToken' value that can be passed to a+-- subsequent 'DescribeVolumes' request to retrieve the remaining results. ----- For more information about EBS volumes, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html Amazon EBS Volumes> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html AWS API Reference> for DescribeVolumes. module Network.AWS.EC2.DescribeVolumes     (-    -- * Request-      DescribeVolumes-    -- ** Request constructor-    , describeVolumes-    -- ** Request lenses-    , dv2DryRun-    , dv2Filters-    , dv2MaxResults-    , dv2NextToken-    , dv2VolumeIds+    -- * Creating a Request+      describeVolumes+    , DescribeVolumes+    -- * Request Lenses+    , desFilters+    , desVolumeIds+    , desNextToken+    , desDryRun+    , desMaxResults -    -- * Response-    , DescribeVolumesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeVolumesResponse-    -- ** Response lenses-    , dvrNextToken-    , dvrVolumes+    , DescribeVolumesResponse+    -- * Response Lenses+    , dvvrsNextToken+    , dvvrsVolumes+    , dvvrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeVolumes = DescribeVolumes-    { _dv2DryRun     :: Maybe Bool-    , _dv2Filters    :: List "Filter" Filter-    , _dv2MaxResults :: Maybe Int-    , _dv2NextToken  :: Maybe Text-    , _dv2VolumeIds  :: List "VolumeId" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeVolumes' smart constructor.+data DescribeVolumes = DescribeVolumes'+    { _desFilters    :: !(Maybe [Filter])+    , _desVolumeIds  :: !(Maybe [Text])+    , _desNextToken  :: !(Maybe Text)+    , _desDryRun     :: !(Maybe Bool)+    , _desMaxResults :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeVolumes' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeVolumes' with the minimum fields required to make a request. ----- * 'dv2DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dv2Filters' @::@ ['Filter']+-- * 'desFilters' ----- * 'dv2MaxResults' @::@ 'Maybe' 'Int'+-- * 'desVolumeIds' ----- * 'dv2NextToken' @::@ 'Maybe' 'Text'+-- * 'desNextToken' ----- * 'dv2VolumeIds' @::@ ['Text']+-- * 'desDryRun' ---describeVolumes :: DescribeVolumes-describeVolumes = DescribeVolumes-    { _dv2DryRun     = Nothing-    , _dv2VolumeIds  = mempty-    , _dv2Filters    = mempty-    , _dv2NextToken  = Nothing-    , _dv2MaxResults = Nothing+-- * 'desMaxResults'+describeVolumes+    :: DescribeVolumes+describeVolumes =+    DescribeVolumes'+    { _desFilters = Nothing+    , _desVolumeIds = Nothing+    , _desNextToken = Nothing+    , _desDryRun = Nothing+    , _desMaxResults = Nothing     } --- | 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'.-dv2DryRun :: Lens' DescribeVolumes (Maybe Bool)-dv2DryRun = lens _dv2DryRun (\s a -> s { _dv2DryRun = a })- -- | One or more filters. ----- 'attachment.attach-time' - The time stamp when the attachment initiated.------ 'attachment.delete-on-termination' - Whether the volume is deleted on--- instance termination.+-- -   'attachment.attach-time' - The time stamp when the attachment+--     initiated. ----- 'attachment.device' - The device name that is exposed to the instance (for--- example, '/dev/sda1').+-- -   'attachment.delete-on-termination' - Whether the volume is deleted+--     on instance termination. ----- 'attachment.instance-id' - The ID of the instance the volume is attached to.+-- -   'attachment.device' - The device name that is exposed to the+--     instance (for example, '\/dev\/sda1'). ----- 'attachment.status' - The attachment state ('attaching' | 'attached' | 'detaching'--- | 'detached').+-- -   'attachment.instance-id' - The ID of the instance the volume is+--     attached to. ----- 'availability-zone' - The Availability Zone in which the volume was created.+-- -   'attachment.status' - The attachment state ('attaching' | 'attached'+--     | 'detaching' | 'detached'). ----- 'create-time' - The time stamp when the volume was created.+-- -   'availability-zone' - The Availability Zone in which the volume was+--     created. ----- 'encrypted' - The encryption status of the volume.+-- -   'create-time' - The time stamp when the volume was created. ----- 'size' - The size of the volume, in GiB.+-- -   'encrypted' - The encryption status of the volume. ----- 'snapshot-id' - The snapshot from which the volume was created.+-- -   'size' - The size of the volume, in GiB. ----- 'status' - The status of the volume ('creating' | 'available' | 'in-use' | 'deleting'--- | 'deleted' | 'error').+-- -   'snapshot-id' - The snapshot from which the volume was created. ----- 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.+-- -   'status' - The status of the volume ('creating' | 'available' |+--     'in-use' | 'deleting' | 'deleted' | 'error'). ----- 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.+-- -   'tag':/key/=/value/ - The key\/value combination of a tag assigned+--     to the resource. ----- 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.+-- -   'tag-key' - The key of a tag assigned to the resource. This filter+--     is independent of the 'tag-value' filter. For example, if you use+--     both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\",+--     you get any resources assigned both the tag key Purpose (regardless+--     of what the tag\'s value is), and the tag value X (regardless of+--     what the tag\'s key is). If you want to list only resources where+--     Purpose is X, see the 'tag':/key/=/value/ filter. ----- 'volume-id' - The volume ID.+-- -   'tag-value' - The value of a tag assigned to the resource. This+--     filter is independent of the 'tag-key' filter. ----- 'volume-type' - The Amazon EBS volume type. This can be 'gp2' for General--- Purpose (SSD) volumes, 'io1' for Provisioned IOPS (SSD) volumes, or 'standard'--- for Magnetic volumes.+-- -   'volume-id' - The volume ID. --+-- -   'volume-type' - The Amazon EBS volume type. This can be 'gp2' for+--     General Purpose (SSD) volumes, 'io1' for Provisioned IOPS (SSD)+--     volumes, or 'standard' for Magnetic volumes. ---dv2Filters :: Lens' DescribeVolumes [Filter]-dv2Filters = lens _dv2Filters (\s a -> s { _dv2Filters = a }) . _List---- | The maximum number of volume results returned by 'DescribeVolumes' in paginated--- output. When this parameter is used, 'DescribeVolumes' only returns 'MaxResults'--- results in a single page along with a 'NextToken' response element. The--- remaining results of the initial request can be seen by sending another 'DescribeVolumes' request with the returned 'NextToken' value. This value can be between 5 and--- 1000; if 'MaxResults' is given a value larger than 1000, only 1000 results are--- returned. If this parameter is not used, then 'DescribeVolumes' returns all--- results. You cannot specify this parameter and the volume IDs parameter in--- the same request.-dv2MaxResults :: Lens' DescribeVolumes (Maybe Int)-dv2MaxResults = lens _dv2MaxResults (\s a -> s { _dv2MaxResults = a })---- | The 'NextToken' value returned from a previous paginated 'DescribeVolumes'--- request where 'MaxResults' was used and the results exceeded the value of that--- parameter. Pagination continues from the end of the previous results that--- returned the 'NextToken' value. This value is 'null' when there are no more--- results to return.-dv2NextToken :: Lens' DescribeVolumes (Maybe Text)-dv2NextToken = lens _dv2NextToken (\s a -> s { _dv2NextToken = a })+desFilters :: Lens' DescribeVolumes [Filter]+desFilters = lens _desFilters (\ s a -> s{_desFilters = a}) . _Default . _Coerce;  -- | One or more volume IDs.-dv2VolumeIds :: Lens' DescribeVolumes [Text]-dv2VolumeIds = lens _dv2VolumeIds (\s a -> s { _dv2VolumeIds = a }) . _List+desVolumeIds :: Lens' DescribeVolumes [Text]+desVolumeIds = lens _desVolumeIds (\ s a -> s{_desVolumeIds = a}) . _Default . _Coerce; -data DescribeVolumesResponse = DescribeVolumesResponse-    { _dvrNextToken :: Maybe Text-    , _dvrVolumes   :: List "item" Volume-    } deriving (Eq, Read, Show)+-- | The 'NextToken' value returned from a previous paginated+-- 'DescribeVolumes' request where 'MaxResults' was used and the results+-- exceeded the value of that parameter. Pagination continues from the end+-- of the previous results that returned the 'NextToken' value. This value+-- is 'null' when there are no more results to return.+desNextToken :: Lens' DescribeVolumes (Maybe Text)+desNextToken = lens _desNextToken (\ s a -> s{_desNextToken = a}); --- | 'DescribeVolumesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvrNextToken' @::@ 'Maybe' 'Text'------ * 'dvrVolumes' @::@ ['Volume']----describeVolumesResponse :: DescribeVolumesResponse-describeVolumesResponse = DescribeVolumesResponse-    { _dvrVolumes   = mempty-    , _dvrNextToken = Nothing-    }+-- | 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'.+desDryRun :: Lens' DescribeVolumes (Maybe Bool)+desDryRun = lens _desDryRun (\ s a -> s{_desDryRun = a}); --- | The 'NextToken' value to include in a future 'DescribeVolumes' request. When the--- results of a 'DescribeVolumes' request exceed 'MaxResults', this value can be--- used to retrieve the next page of results. This value is 'null' when there are--- no more results to return.-dvrNextToken :: Lens' DescribeVolumesResponse (Maybe Text)-dvrNextToken = lens _dvrNextToken (\s a -> s { _dvrNextToken = a })+-- | The maximum number of volume results returned by 'DescribeVolumes' in+-- paginated output. When this parameter is used, 'DescribeVolumes' only+-- returns 'MaxResults' results in a single page along with a 'NextToken'+-- response element. The remaining results of the initial request can be+-- seen by sending another 'DescribeVolumes' request with the returned+-- 'NextToken' value. This value can be between 5 and 1000; if 'MaxResults'+-- is given a value larger than 1000, only 1000 results are returned. If+-- this parameter is not used, then 'DescribeVolumes' returns all results.+-- You cannot specify this parameter and the volume IDs parameter in the+-- same request.+desMaxResults :: Lens' DescribeVolumes (Maybe Int)+desMaxResults = lens _desMaxResults (\ s a -> s{_desMaxResults = a}); --- | Information about the volumes.-dvrVolumes :: Lens' DescribeVolumesResponse [Volume]-dvrVolumes = lens _dvrVolumes (\s a -> s { _dvrVolumes = a }) . _List+instance AWSRequest DescribeVolumes where+        type Sv DescribeVolumes = EC2+        type Rs DescribeVolumes = DescribeVolumesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DescribeVolumesResponse' <$>+                   (x .@? "nextToken") <*>+                     (x .@? "volumeSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) +instance ToHeaders DescribeVolumes where+        toHeaders = const mempty+ instance ToPath DescribeVolumes where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeVolumes where-    toQuery DescribeVolumes{..} = mconcat-        [ "DryRun"     =? _dv2DryRun-        , "Filter"     `toQueryList` _dv2Filters-        , "MaxResults" =? _dv2MaxResults-        , "NextToken"  =? _dv2NextToken-        , "VolumeId"   `toQueryList` _dv2VolumeIds-        ]+        toQuery DescribeVolumes'{..}+          = mconcat+              ["Action" =: ("DescribeVolumes" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _desFilters),+               toQuery (toQueryList "VolumeId" <$> _desVolumeIds),+               "NextToken" =: _desNextToken, "DryRun" =: _desDryRun,+               "MaxResults" =: _desMaxResults] -instance ToHeaders DescribeVolumes+-- | /See:/ 'describeVolumesResponse' smart constructor.+data DescribeVolumesResponse = DescribeVolumesResponse'+    { _dvvrsNextToken :: !(Maybe Text)+    , _dvvrsVolumes   :: !(Maybe [Volume])+    , _dvvrsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeVolumes where-    type Sv DescribeVolumes = EC2-    type Rs DescribeVolumes = DescribeVolumesResponse+-- | Creates a value of 'DescribeVolumesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvvrsNextToken'+--+-- * 'dvvrsVolumes'+--+-- * 'dvvrsStatus'+describeVolumesResponse+    :: Int -- ^ 'dvvrsStatus'+    -> DescribeVolumesResponse+describeVolumesResponse pStatus_ =+    DescribeVolumesResponse'+    { _dvvrsNextToken = Nothing+    , _dvvrsVolumes = Nothing+    , _dvvrsStatus = pStatus_+    } -    request  = post "DescribeVolumes"-    response = xmlResponse+-- | The 'NextToken' value to include in a future 'DescribeVolumes' request.+-- When the results of a 'DescribeVolumes' request exceed 'MaxResults',+-- this value can be used to retrieve the next page of results. This value+-- is 'null' when there are no more results to return.+dvvrsNextToken :: Lens' DescribeVolumesResponse (Maybe Text)+dvvrsNextToken = lens _dvvrsNextToken (\ s a -> s{_dvvrsNextToken = a}); -instance FromXML DescribeVolumesResponse where-    parseXML x = DescribeVolumesResponse-        <$> x .@? "nextToken"-        <*> x .@? "volumeSet" .!@ mempty+-- | Information about the volumes.+dvvrsVolumes :: Lens' DescribeVolumesResponse [Volume]+dvvrsVolumes = lens _dvvrsVolumes (\ s a -> s{_dvvrsVolumes = a}) . _Default . _Coerce;++-- | The response status code.+dvvrsStatus :: Lens' DescribeVolumesResponse Int+dvvrsStatus = lens _dvvrsStatus (\ s a -> s{_dvvrsStatus = a});
− gen/Network/AWS/EC2/DescribeVpcAttribute.hs
@@ -1,156 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DescribeVpcAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the specified attribute of the specified VPC. You can specify only--- one attribute at a time.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVpcAttribute.html>-module Network.AWS.EC2.DescribeVpcAttribute-    (-    -- * Request-      DescribeVpcAttribute-    -- ** Request constructor-    , describeVpcAttribute-    -- ** Request lenses-    , dva1Attribute-    , dva1DryRun-    , dva1VpcId--    -- * Response-    , DescribeVpcAttributeResponse-    -- ** Response constructor-    , describeVpcAttributeResponse-    -- ** Response lenses-    , dvarEnableDnsHostnames-    , dvarEnableDnsSupport-    , dvarVpcId-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeVpcAttribute = DescribeVpcAttribute-    { _dva1Attribute :: Maybe VpcAttributeName-    , _dva1DryRun    :: Maybe Bool-    , _dva1VpcId     :: Text-    } deriving (Eq, Read, Show)---- | 'DescribeVpcAttribute' constructor.------ The fields accessible through corresponding lenses are:------ * 'dva1Attribute' @::@ 'Maybe' 'VpcAttributeName'------ * 'dva1DryRun' @::@ 'Maybe' 'Bool'------ * 'dva1VpcId' @::@ 'Text'----describeVpcAttribute :: Text -- ^ 'dva1VpcId'-                     -> DescribeVpcAttribute-describeVpcAttribute p1 = DescribeVpcAttribute-    { _dva1VpcId     = p1-    , _dva1DryRun    = Nothing-    , _dva1Attribute = Nothing-    }---- | The VPC attribute.-dva1Attribute :: Lens' DescribeVpcAttribute (Maybe VpcAttributeName)-dva1Attribute = lens _dva1Attribute (\s a -> s { _dva1Attribute = 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'.-dva1DryRun :: Lens' DescribeVpcAttribute (Maybe Bool)-dva1DryRun = lens _dva1DryRun (\s a -> s { _dva1DryRun = a })---- | The ID of the VPC.-dva1VpcId :: Lens' DescribeVpcAttribute Text-dva1VpcId = lens _dva1VpcId (\s a -> s { _dva1VpcId = a })--data DescribeVpcAttributeResponse = DescribeVpcAttributeResponse-    { _dvarEnableDnsHostnames :: Maybe AttributeBooleanValue-    , _dvarEnableDnsSupport   :: Maybe AttributeBooleanValue-    , _dvarVpcId              :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'DescribeVpcAttributeResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvarEnableDnsHostnames' @::@ 'Maybe' 'AttributeBooleanValue'------ * 'dvarEnableDnsSupport' @::@ 'Maybe' 'AttributeBooleanValue'------ * 'dvarVpcId' @::@ 'Maybe' 'Text'----describeVpcAttributeResponse :: DescribeVpcAttributeResponse-describeVpcAttributeResponse = DescribeVpcAttributeResponse-    { _dvarVpcId              = Nothing-    , _dvarEnableDnsSupport   = Nothing-    , _dvarEnableDnsHostnames = Nothing-    }---- | Indicates whether the instances launched in the VPC get DNS hostnames. If--- this attribute is 'true', instances in the VPC get DNS hostnames; otherwise,--- they do not.-dvarEnableDnsHostnames :: Lens' DescribeVpcAttributeResponse (Maybe AttributeBooleanValue)-dvarEnableDnsHostnames =-    lens _dvarEnableDnsHostnames (\s a -> s { _dvarEnableDnsHostnames = a })---- | Indicates whether DNS resolution is enabled for the VPC. If this attribute is 'true', the Amazon DNS server resolves DNS hostnames for your instances to--- their corresponding IP addresses; otherwise, it does not.-dvarEnableDnsSupport :: Lens' DescribeVpcAttributeResponse (Maybe AttributeBooleanValue)-dvarEnableDnsSupport =-    lens _dvarEnableDnsSupport (\s a -> s { _dvarEnableDnsSupport = a })---- | The ID of the VPC.-dvarVpcId :: Lens' DescribeVpcAttributeResponse (Maybe Text)-dvarVpcId = lens _dvarVpcId (\s a -> s { _dvarVpcId = a })--instance ToPath DescribeVpcAttribute where-    toPath = const "/"--instance ToQuery DescribeVpcAttribute where-    toQuery DescribeVpcAttribute{..} = mconcat-        [ "Attribute" =? _dva1Attribute-        , "DryRun"    =? _dva1DryRun-        , "VpcId"     =? _dva1VpcId-        ]--instance ToHeaders DescribeVpcAttribute--instance AWSRequest DescribeVpcAttribute where-    type Sv DescribeVpcAttribute = EC2-    type Rs DescribeVpcAttribute = DescribeVpcAttributeResponse--    request  = post "DescribeVpcAttribute"-    response = xmlResponse--instance FromXML DescribeVpcAttributeResponse where-    parseXML x = DescribeVpcAttributeResponse-        <$> x .@? "enableDnsHostnames"-        <*> x .@? "enableDnsSupport"-        <*> x .@? "vpcId"
− gen/Network/AWS/EC2/DescribeVpcClassicLink.hs
@@ -1,147 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DescribeVpcClassicLink--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the ClassicLink status of one or more VPCs.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVpcClassicLink.html>-module Network.AWS.EC2.DescribeVpcClassicLink-    (-    -- * Request-      DescribeVpcClassicLink-    -- ** Request constructor-    , describeVpcClassicLink-    -- ** Request lenses-    , dvclDryRun-    , dvclFilters-    , dvclVpcIds--    -- * Response-    , DescribeVpcClassicLinkResponse-    -- ** Response constructor-    , describeVpcClassicLinkResponse-    -- ** Response lenses-    , dvclrVpcs-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeVpcClassicLink = DescribeVpcClassicLink-    { _dvclDryRun  :: Maybe Bool-    , _dvclFilters :: List "Filter" Filter-    , _dvclVpcIds  :: List "VpcId" Text-    } deriving (Eq, Read, Show)---- | 'DescribeVpcClassicLink' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvclDryRun' @::@ 'Maybe' 'Bool'------ * 'dvclFilters' @::@ ['Filter']------ * 'dvclVpcIds' @::@ ['Text']----describeVpcClassicLink :: DescribeVpcClassicLink-describeVpcClassicLink = DescribeVpcClassicLink-    { _dvclDryRun  = Nothing-    , _dvclVpcIds  = mempty-    , _dvclFilters = mempty-    }---- | 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'.-dvclDryRun :: Lens' DescribeVpcClassicLink (Maybe Bool)-dvclDryRun = lens _dvclDryRun (\s a -> s { _dvclDryRun = a })---- | One or more filters.------ 'is-classic-link-enabled' - Whether the VPC is enabled for ClassicLink ('true'--- | 'false').------ 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.------ 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.------ 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.-------dvclFilters :: Lens' DescribeVpcClassicLink [Filter]-dvclFilters = lens _dvclFilters (\s a -> s { _dvclFilters = a }) . _List---- | One or more VPCs for which you want to describe the ClassicLink status.-dvclVpcIds :: Lens' DescribeVpcClassicLink [Text]-dvclVpcIds = lens _dvclVpcIds (\s a -> s { _dvclVpcIds = a }) . _List--newtype DescribeVpcClassicLinkResponse = DescribeVpcClassicLinkResponse-    { _dvclrVpcs :: List "item" VpcClassicLink-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'DescribeVpcClassicLinkResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvclrVpcs' @::@ ['VpcClassicLink']----describeVpcClassicLinkResponse :: DescribeVpcClassicLinkResponse-describeVpcClassicLinkResponse = DescribeVpcClassicLinkResponse-    { _dvclrVpcs = mempty-    }---- | The ClassicLink status of one or more VPCs.-dvclrVpcs :: Lens' DescribeVpcClassicLinkResponse [VpcClassicLink]-dvclrVpcs = lens _dvclrVpcs (\s a -> s { _dvclrVpcs = a }) . _List--instance ToPath DescribeVpcClassicLink where-    toPath = const "/"--instance ToQuery DescribeVpcClassicLink where-    toQuery DescribeVpcClassicLink{..} = mconcat-        [ "DryRun" =? _dvclDryRun-        , "Filter" `toQueryList` _dvclFilters-        , "VpcId"  `toQueryList` _dvclVpcIds-        ]--instance ToHeaders DescribeVpcClassicLink--instance AWSRequest DescribeVpcClassicLink where-    type Sv DescribeVpcClassicLink = EC2-    type Rs DescribeVpcClassicLink = DescribeVpcClassicLinkResponse--    request  = post "DescribeVpcClassicLink"-    response = xmlResponse--instance FromXML DescribeVpcClassicLinkResponse where-    parseXML x = DescribeVpcClassicLinkResponse-        <$> x .@? "vpcSet" .!@ mempty
− gen/Network/AWS/EC2/DescribeVpcEndpointServices.hs
@@ -1,148 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DescribeVpcEndpointServices--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes all supported AWS services that can be specified when creating a--- VPC endpoint.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVpcEndpointServices.html>-module Network.AWS.EC2.DescribeVpcEndpointServices-    (-    -- * Request-      DescribeVpcEndpointServices-    -- ** Request constructor-    , describeVpcEndpointServices-    -- ** Request lenses-    , dvesDryRun-    , dvesMaxResults-    , dvesNextToken--    -- * Response-    , DescribeVpcEndpointServicesResponse-    -- ** Response constructor-    , describeVpcEndpointServicesResponse-    -- ** Response lenses-    , dvesrNextToken-    , dvesrServiceNames-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeVpcEndpointServices = DescribeVpcEndpointServices-    { _dvesDryRun     :: Maybe Bool-    , _dvesMaxResults :: Maybe Int-    , _dvesNextToken  :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'DescribeVpcEndpointServices' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvesDryRun' @::@ 'Maybe' 'Bool'------ * 'dvesMaxResults' @::@ 'Maybe' 'Int'------ * 'dvesNextToken' @::@ 'Maybe' 'Text'----describeVpcEndpointServices :: DescribeVpcEndpointServices-describeVpcEndpointServices = DescribeVpcEndpointServices-    { _dvesDryRun     = Nothing-    , _dvesMaxResults = Nothing-    , _dvesNextToken  = Nothing-    }---- | 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'.-dvesDryRun :: Lens' DescribeVpcEndpointServices (Maybe Bool)-dvesDryRun = lens _dvesDryRun (\s a -> s { _dvesDryRun = a })---- | 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.------ Constraint: If the value is greater than 1000, we return only 1000 items.-dvesMaxResults :: Lens' DescribeVpcEndpointServices (Maybe Int)-dvesMaxResults = lens _dvesMaxResults (\s a -> s { _dvesMaxResults = a })---- | The token for the next set of items to return. (You received this token from--- a prior call.)-dvesNextToken :: Lens' DescribeVpcEndpointServices (Maybe Text)-dvesNextToken = lens _dvesNextToken (\s a -> s { _dvesNextToken = a })--data DescribeVpcEndpointServicesResponse = DescribeVpcEndpointServicesResponse-    { _dvesrNextToken    :: Maybe Text-    , _dvesrServiceNames :: List "item" Text-    } deriving (Eq, Ord, Read, Show)---- | 'DescribeVpcEndpointServicesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvesrNextToken' @::@ 'Maybe' 'Text'------ * 'dvesrServiceNames' @::@ ['Text']----describeVpcEndpointServicesResponse :: DescribeVpcEndpointServicesResponse-describeVpcEndpointServicesResponse = DescribeVpcEndpointServicesResponse-    { _dvesrServiceNames = mempty-    , _dvesrNextToken    = Nothing-    }---- | The token to use when requesting the next set of items. If there are no--- additional items to return, the string is empty.-dvesrNextToken :: Lens' DescribeVpcEndpointServicesResponse (Maybe Text)-dvesrNextToken = lens _dvesrNextToken (\s a -> s { _dvesrNextToken = a })---- | A list of supported AWS services.-dvesrServiceNames :: Lens' DescribeVpcEndpointServicesResponse [Text]-dvesrServiceNames =-    lens _dvesrServiceNames (\s a -> s { _dvesrServiceNames = a })-        . _List--instance ToPath DescribeVpcEndpointServices where-    toPath = const "/"--instance ToQuery DescribeVpcEndpointServices where-    toQuery DescribeVpcEndpointServices{..} = mconcat-        [ "DryRun"     =? _dvesDryRun-        , "MaxResults" =? _dvesMaxResults-        , "NextToken"  =? _dvesNextToken-        ]--instance ToHeaders DescribeVpcEndpointServices--instance AWSRequest DescribeVpcEndpointServices where-    type Sv DescribeVpcEndpointServices = EC2-    type Rs DescribeVpcEndpointServices = DescribeVpcEndpointServicesResponse--    request  = post "DescribeVpcEndpointServices"-    response = xmlResponse--instance FromXML DescribeVpcEndpointServicesResponse where-    parseXML x = DescribeVpcEndpointServicesResponse-        <$> x .@? "nextToken"-        <*> x .@? "serviceNameSet" .!@ mempty
− gen/Network/AWS/EC2/DescribeVpcEndpoints.hs
@@ -1,177 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DescribeVpcEndpoints--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your VPC endpoints.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVpcEndpoints.html>-module Network.AWS.EC2.DescribeVpcEndpoints-    (-    -- * Request-      DescribeVpcEndpoints-    -- ** Request constructor-    , describeVpcEndpoints-    -- ** Request lenses-    , dve1DryRun-    , dve1Filters-    , dve1MaxResults-    , dve1NextToken-    , dve1VpcEndpointIds--    -- * Response-    , DescribeVpcEndpointsResponse-    -- ** Response constructor-    , describeVpcEndpointsResponse-    -- ** Response lenses-    , dverNextToken-    , dverVpcEndpoints-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeVpcEndpoints = DescribeVpcEndpoints-    { _dve1DryRun         :: Maybe Bool-    , _dve1Filters        :: List "Filter" Filter-    , _dve1MaxResults     :: Maybe Int-    , _dve1NextToken      :: Maybe Text-    , _dve1VpcEndpointIds :: List "item" Text-    } deriving (Eq, Read, Show)---- | 'DescribeVpcEndpoints' constructor.------ The fields accessible through corresponding lenses are:------ * 'dve1DryRun' @::@ 'Maybe' 'Bool'------ * 'dve1Filters' @::@ ['Filter']------ * 'dve1MaxResults' @::@ 'Maybe' 'Int'------ * 'dve1NextToken' @::@ 'Maybe' 'Text'------ * 'dve1VpcEndpointIds' @::@ ['Text']----describeVpcEndpoints :: DescribeVpcEndpoints-describeVpcEndpoints = DescribeVpcEndpoints-    { _dve1DryRun         = Nothing-    , _dve1VpcEndpointIds = mempty-    , _dve1Filters        = mempty-    , _dve1MaxResults     = Nothing-    , _dve1NextToken      = Nothing-    }---- | 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'.-dve1DryRun :: Lens' DescribeVpcEndpoints (Maybe Bool)-dve1DryRun = lens _dve1DryRun (\s a -> s { _dve1DryRun = a })---- | One or more filters.------ 'service-name': The name of the AWS service.------ 'vpc-id': The ID of the VPC in which the endpoint resides.------ 'vpc-endpoint-id': The ID of the endpoint.------ 'vpc-endpoint-state': The state of the endpoint. ('pending' | 'available' | 'deleting' | 'deleted')-------dve1Filters :: Lens' DescribeVpcEndpoints [Filter]-dve1Filters = lens _dve1Filters (\s a -> s { _dve1Filters = a }) . _List---- | 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.------ Constraint: If the value is greater than 1000, we return only 1000 items.-dve1MaxResults :: Lens' DescribeVpcEndpoints (Maybe Int)-dve1MaxResults = lens _dve1MaxResults (\s a -> s { _dve1MaxResults = a })---- | The token for the next set of items to return. (You received this token from--- a prior call.)-dve1NextToken :: Lens' DescribeVpcEndpoints (Maybe Text)-dve1NextToken = lens _dve1NextToken (\s a -> s { _dve1NextToken = a })---- | One or more endpoint IDs.-dve1VpcEndpointIds :: Lens' DescribeVpcEndpoints [Text]-dve1VpcEndpointIds =-    lens _dve1VpcEndpointIds (\s a -> s { _dve1VpcEndpointIds = a })-        . _List--data DescribeVpcEndpointsResponse = DescribeVpcEndpointsResponse-    { _dverNextToken    :: Maybe Text-    , _dverVpcEndpoints :: List "item" VpcEndpoint-    } deriving (Eq, Read, Show)---- | 'DescribeVpcEndpointsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dverNextToken' @::@ 'Maybe' 'Text'------ * 'dverVpcEndpoints' @::@ ['VpcEndpoint']----describeVpcEndpointsResponse :: DescribeVpcEndpointsResponse-describeVpcEndpointsResponse = DescribeVpcEndpointsResponse-    { _dverVpcEndpoints = mempty-    , _dverNextToken    = Nothing-    }---- | The token to use when requesting the next set of items. If there are no--- additional items to return, the string is empty.-dverNextToken :: Lens' DescribeVpcEndpointsResponse (Maybe Text)-dverNextToken = lens _dverNextToken (\s a -> s { _dverNextToken = a })---- | Information about the endpoints.-dverVpcEndpoints :: Lens' DescribeVpcEndpointsResponse [VpcEndpoint]-dverVpcEndpoints = lens _dverVpcEndpoints (\s a -> s { _dverVpcEndpoints = a }) . _List--instance ToPath DescribeVpcEndpoints where-    toPath = const "/"--instance ToQuery DescribeVpcEndpoints where-    toQuery DescribeVpcEndpoints{..} = mconcat-        [ "DryRun"        =? _dve1DryRun-        , "Filter"        `toQueryList` _dve1Filters-        , "MaxResults"    =? _dve1MaxResults-        , "NextToken"     =? _dve1NextToken-        , "VpcEndpointId" `toQueryList` _dve1VpcEndpointIds-        ]--instance ToHeaders DescribeVpcEndpoints--instance AWSRequest DescribeVpcEndpoints where-    type Sv DescribeVpcEndpoints = EC2-    type Rs DescribeVpcEndpoints = DescribeVpcEndpointsResponse--    request  = post "DescribeVpcEndpoints"-    response = xmlResponse--instance FromXML DescribeVpcEndpointsResponse where-    parseXML x = DescribeVpcEndpointsResponse-        <$> x .@? "nextToken"-        <*> x .@? "vpcEndpointSet" .!@ mempty
− gen/Network/AWS/EC2/DescribeVpcPeeringConnections.hs
@@ -1,177 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DescribeVpcPeeringConnections--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your VPC peering connections.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVpcPeeringConnections.html>-module Network.AWS.EC2.DescribeVpcPeeringConnections-    (-    -- * Request-      DescribeVpcPeeringConnections-    -- ** Request constructor-    , describeVpcPeeringConnections-    -- ** Request lenses-    , dvpc1DryRun-    , dvpc1Filters-    , dvpc1VpcPeeringConnectionIds--    -- * Response-    , DescribeVpcPeeringConnectionsResponse-    -- ** Response constructor-    , describeVpcPeeringConnectionsResponse-    -- ** Response lenses-    , dvpcrVpcPeeringConnections-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeVpcPeeringConnections = DescribeVpcPeeringConnections-    { _dvpc1DryRun                  :: Maybe Bool-    , _dvpc1Filters                 :: List "Filter" Filter-    , _dvpc1VpcPeeringConnectionIds :: List "item" Text-    } deriving (Eq, Read, Show)---- | 'DescribeVpcPeeringConnections' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvpc1DryRun' @::@ 'Maybe' 'Bool'------ * 'dvpc1Filters' @::@ ['Filter']------ * 'dvpc1VpcPeeringConnectionIds' @::@ ['Text']----describeVpcPeeringConnections :: DescribeVpcPeeringConnections-describeVpcPeeringConnections = DescribeVpcPeeringConnections-    { _dvpc1DryRun                  = Nothing-    , _dvpc1VpcPeeringConnectionIds = mempty-    , _dvpc1Filters                 = mempty-    }---- | 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'.-dvpc1DryRun :: Lens' DescribeVpcPeeringConnections (Maybe Bool)-dvpc1DryRun = lens _dvpc1DryRun (\s a -> s { _dvpc1DryRun = a })---- | One or more filters.------ 'accepter-vpc-info.cidr-block' - The CIDR block of the peer VPC.------ 'accepter-vpc-info.owner-id' - The AWS account ID of the owner of the peer--- VPC.------ 'accepter-vpc-info.vpc-id' - The ID of the peer VPC.------ 'expiration-time' - The expiration date and time for the VPC peering--- connection.------ 'requester-vpc-info.cidr-block' - The CIDR block of the requester's VPC.------ 'requester-vpc-info.owner-id' - The AWS account ID of the owner of the--- requester VPC.------ 'requester-vpc-info.vpc-id' - The ID of the requester VPC.------ 'status-code' - The status of the VPC peering connection ('pending-acceptance'--- | 'failed' | 'expired' | 'provisioning' | 'active' | 'deleted' | 'rejected').------ 'status-message' - A message that provides more information about the status--- of the VPC peering connection, if applicable.------ 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.------ 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.------ 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.------ 'vpc-peering-connection-id' - The ID of the VPC peering connection.-------dvpc1Filters :: Lens' DescribeVpcPeeringConnections [Filter]-dvpc1Filters = lens _dvpc1Filters (\s a -> s { _dvpc1Filters = a }) . _List---- | One or more VPC peering connection IDs.------ Default: Describes all your VPC peering connections.-dvpc1VpcPeeringConnectionIds :: Lens' DescribeVpcPeeringConnections [Text]-dvpc1VpcPeeringConnectionIds =-    lens _dvpc1VpcPeeringConnectionIds-        (\s a -> s { _dvpc1VpcPeeringConnectionIds = a })-            . _List--newtype DescribeVpcPeeringConnectionsResponse = DescribeVpcPeeringConnectionsResponse-    { _dvpcrVpcPeeringConnections :: List "item" VpcPeeringConnection-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'DescribeVpcPeeringConnectionsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvpcrVpcPeeringConnections' @::@ ['VpcPeeringConnection']----describeVpcPeeringConnectionsResponse :: DescribeVpcPeeringConnectionsResponse-describeVpcPeeringConnectionsResponse = DescribeVpcPeeringConnectionsResponse-    { _dvpcrVpcPeeringConnections = mempty-    }---- | Information about the VPC peering connections.-dvpcrVpcPeeringConnections :: Lens' DescribeVpcPeeringConnectionsResponse [VpcPeeringConnection]-dvpcrVpcPeeringConnections =-    lens _dvpcrVpcPeeringConnections-        (\s a -> s { _dvpcrVpcPeeringConnections = a })-            . _List--instance ToPath DescribeVpcPeeringConnections where-    toPath = const "/"--instance ToQuery DescribeVpcPeeringConnections where-    toQuery DescribeVpcPeeringConnections{..} = mconcat-        [ "DryRun"                 =? _dvpc1DryRun-        , "Filter"                 `toQueryList` _dvpc1Filters-        , "VpcPeeringConnectionId" `toQueryList` _dvpc1VpcPeeringConnectionIds-        ]--instance ToHeaders DescribeVpcPeeringConnections--instance AWSRequest DescribeVpcPeeringConnections where-    type Sv DescribeVpcPeeringConnections = EC2-    type Rs DescribeVpcPeeringConnections = DescribeVpcPeeringConnectionsResponse--    request  = post "DescribeVpcPeeringConnections"-    response = xmlResponse--instance FromXML DescribeVpcPeeringConnectionsResponse where-    parseXML x = DescribeVpcPeeringConnectionsResponse-        <$> x .@? "vpcPeeringConnectionSet" .!@ mempty
− gen/Network/AWS/EC2/DescribeVpcs.hs
@@ -1,158 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DescribeVpcs--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your VPCs.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVpcs.html>-module Network.AWS.EC2.DescribeVpcs-    (-    -- * Request-      DescribeVpcs-    -- ** Request constructor-    , describeVpcs-    -- ** Request lenses-    , dv1DryRun-    , dv1Filters-    , dv1VpcIds--    -- * Response-    , DescribeVpcsResponse-    -- ** Response constructor-    , describeVpcsResponse-    -- ** Response lenses-    , dvrVpcs-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeVpcs = DescribeVpcs-    { _dv1DryRun  :: Maybe Bool-    , _dv1Filters :: List "Filter" Filter-    , _dv1VpcIds  :: List "VpcId" Text-    } deriving (Eq, Read, Show)---- | 'DescribeVpcs' constructor.------ The fields accessible through corresponding lenses are:------ * 'dv1DryRun' @::@ 'Maybe' 'Bool'------ * 'dv1Filters' @::@ ['Filter']------ * 'dv1VpcIds' @::@ ['Text']----describeVpcs :: DescribeVpcs-describeVpcs = DescribeVpcs-    { _dv1DryRun  = Nothing-    , _dv1VpcIds  = mempty-    , _dv1Filters = mempty-    }---- | 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'.-dv1DryRun :: Lens' DescribeVpcs (Maybe Bool)-dv1DryRun = lens _dv1DryRun (\s a -> s { _dv1DryRun = a })---- | One or more filters.------ 'cidr' - The CIDR block of the VPC. The CIDR block you specify must exactly--- match the VPC's CIDR block for information to be returned for the VPC. Must--- contain the slash followed by one or two digits (for example, '/28').------ 'dhcp-options-id' - The ID of a set of DHCP options.------ 'isDefault' - Indicates whether the VPC is the default VPC.------ 'state' - The state of the VPC ('pending' | 'available').------ 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.------ 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.------ 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.------ 'vpc-id' - The ID of the VPC.-------dv1Filters :: Lens' DescribeVpcs [Filter]-dv1Filters = lens _dv1Filters (\s a -> s { _dv1Filters = a }) . _List---- | One or more VPC IDs.------ Default: Describes all your VPCs.-dv1VpcIds :: Lens' DescribeVpcs [Text]-dv1VpcIds = lens _dv1VpcIds (\s a -> s { _dv1VpcIds = a }) . _List--newtype DescribeVpcsResponse = DescribeVpcsResponse-    { _dvrVpcs :: List "item" Vpc-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'DescribeVpcsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvrVpcs' @::@ ['Vpc']----describeVpcsResponse :: DescribeVpcsResponse-describeVpcsResponse = DescribeVpcsResponse-    { _dvrVpcs = mempty-    }---- | Information about one or more VPCs.-dvrVpcs :: Lens' DescribeVpcsResponse [Vpc]-dvrVpcs = lens _dvrVpcs (\s a -> s { _dvrVpcs = a }) . _List--instance ToPath DescribeVpcs where-    toPath = const "/"--instance ToQuery DescribeVpcs where-    toQuery DescribeVpcs{..} = mconcat-        [ "DryRun" =? _dv1DryRun-        , "Filter" `toQueryList` _dv1Filters-        , "VpcId"  `toQueryList` _dv1VpcIds-        ]--instance ToHeaders DescribeVpcs--instance AWSRequest DescribeVpcs where-    type Sv DescribeVpcs = EC2-    type Rs DescribeVpcs = DescribeVpcsResponse--    request  = post "DescribeVpcs"-    response = xmlResponse--instance FromXML DescribeVpcsResponse where-    parseXML x = DescribeVpcsResponse-        <$> x .@? "vpcSet" .!@ mempty
− gen/Network/AWS/EC2/DescribeVpnConnections.hs
@@ -1,177 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DescribeVpnConnections--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your VPN connections.------ For more information about VPN connections, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding a Hardware VirtualPrivate Gateway to Your VPC> in the /Amazon Virtual Private Cloud User Guide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVpnConnections.html>-module Network.AWS.EC2.DescribeVpnConnections-    (-    -- * Request-      DescribeVpnConnections-    -- ** Request constructor-    , describeVpnConnections-    -- ** Request lenses-    , dvc1DryRun-    , dvc1Filters-    , dvc1VpnConnectionIds--    -- * Response-    , DescribeVpnConnectionsResponse-    -- ** Response constructor-    , describeVpnConnectionsResponse-    -- ** Response lenses-    , dvcrVpnConnections-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeVpnConnections = DescribeVpnConnections-    { _dvc1DryRun           :: Maybe Bool-    , _dvc1Filters          :: List "Filter" Filter-    , _dvc1VpnConnectionIds :: List "VpnConnectionId" Text-    } deriving (Eq, Read, Show)---- | 'DescribeVpnConnections' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvc1DryRun' @::@ 'Maybe' 'Bool'------ * 'dvc1Filters' @::@ ['Filter']------ * 'dvc1VpnConnectionIds' @::@ ['Text']----describeVpnConnections :: DescribeVpnConnections-describeVpnConnections = DescribeVpnConnections-    { _dvc1DryRun           = Nothing-    , _dvc1VpnConnectionIds = mempty-    , _dvc1Filters          = mempty-    }---- | 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'.-dvc1DryRun :: Lens' DescribeVpnConnections (Maybe Bool)-dvc1DryRun = lens _dvc1DryRun (\s a -> s { _dvc1DryRun = a })---- | One or more filters.------ 'customer-gateway-configuration' - The configuration information for the--- customer gateway.------ 'customer-gateway-id' - The ID of a customer gateway associated with the VPN--- connection.------ 'state' - The state of the VPN connection ('pending' | 'available' | 'deleting' | 'deleted').------ 'option.static-routes-only' - Indicates whether the connection has static--- routes only. Used for devices that do not support Border Gateway Protocol--- (BGP).------ 'route.destination-cidr-block' - The destination CIDR block. This--- corresponds to the subnet used in a customer data center.------ 'bgp-asn' - The BGP Autonomous System Number (ASN) associated with a BGP--- device.------ 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.------ 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.------ 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.------ 'type' - The type of VPN connection. Currently the only supported type is 'ipsec.1'.------ 'vpn-connection-id' - The ID of the VPN connection.------ 'vpn-gateway-id' - The ID of a virtual private gateway associated with the--- VPN connection.-------dvc1Filters :: Lens' DescribeVpnConnections [Filter]-dvc1Filters = lens _dvc1Filters (\s a -> s { _dvc1Filters = a }) . _List---- | One or more VPN connection IDs.------ Default: Describes your VPN connections.-dvc1VpnConnectionIds :: Lens' DescribeVpnConnections [Text]-dvc1VpnConnectionIds =-    lens _dvc1VpnConnectionIds (\s a -> s { _dvc1VpnConnectionIds = a })-        . _List--newtype DescribeVpnConnectionsResponse = DescribeVpnConnectionsResponse-    { _dvcrVpnConnections :: List "item" VpnConnection-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'DescribeVpnConnectionsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvcrVpnConnections' @::@ ['VpnConnection']----describeVpnConnectionsResponse :: DescribeVpnConnectionsResponse-describeVpnConnectionsResponse = DescribeVpnConnectionsResponse-    { _dvcrVpnConnections = mempty-    }---- | Information about one or more VPN connections.-dvcrVpnConnections :: Lens' DescribeVpnConnectionsResponse [VpnConnection]-dvcrVpnConnections =-    lens _dvcrVpnConnections (\s a -> s { _dvcrVpnConnections = a })-        . _List--instance ToPath DescribeVpnConnections where-    toPath = const "/"--instance ToQuery DescribeVpnConnections where-    toQuery DescribeVpnConnections{..} = mconcat-        [ "DryRun"          =? _dvc1DryRun-        , "Filter"          `toQueryList` _dvc1Filters-        , "VpnConnectionId" `toQueryList` _dvc1VpnConnectionIds-        ]--instance ToHeaders DescribeVpnConnections--instance AWSRequest DescribeVpnConnections where-    type Sv DescribeVpnConnections = EC2-    type Rs DescribeVpnConnections = DescribeVpnConnectionsResponse--    request  = post "DescribeVpnConnections"-    response = xmlResponse--instance FromXML DescribeVpnConnectionsResponse where-    parseXML x = DescribeVpnConnectionsResponse-        <$> x .@? "vpnConnectionSet" .!@ mempty
− gen/Network/AWS/EC2/DescribeVpnGateways.hs
@@ -1,164 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DescribeVpnGateways--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your virtual private gateways.------ For more information about virtual private gateways, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html Adding an IPsecHardware VPN to Your VPC> in the /Amazon Virtual Private Cloud User Guide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVpnGateways.html>-module Network.AWS.EC2.DescribeVpnGateways-    (-    -- * Request-      DescribeVpnGateways-    -- ** Request constructor-    , describeVpnGateways-    -- ** Request lenses-    , dvg2DryRun-    , dvg2Filters-    , dvg2VpnGatewayIds--    -- * Response-    , DescribeVpnGatewaysResponse-    -- ** Response constructor-    , describeVpnGatewaysResponse-    -- ** Response lenses-    , dvgrVpnGateways-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DescribeVpnGateways = DescribeVpnGateways-    { _dvg2DryRun        :: Maybe Bool-    , _dvg2Filters       :: List "Filter" Filter-    , _dvg2VpnGatewayIds :: List "VpnGatewayId" Text-    } deriving (Eq, Read, Show)---- | 'DescribeVpnGateways' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvg2DryRun' @::@ 'Maybe' 'Bool'------ * 'dvg2Filters' @::@ ['Filter']------ * 'dvg2VpnGatewayIds' @::@ ['Text']----describeVpnGateways :: DescribeVpnGateways-describeVpnGateways = DescribeVpnGateways-    { _dvg2DryRun        = Nothing-    , _dvg2VpnGatewayIds = mempty-    , _dvg2Filters       = mempty-    }---- | 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'.-dvg2DryRun :: Lens' DescribeVpnGateways (Maybe Bool)-dvg2DryRun = lens _dvg2DryRun (\s a -> s { _dvg2DryRun = a })---- | One or more filters.------ 'attachment.state' - The current state of the attachment between the gateway--- and the VPC ('attaching' | 'attached' | 'detaching' | 'detached').------ 'attachment.vpc-id' - The ID of an attached VPC.------ 'availability-zone' - The Availability Zone for the virtual private gateway.------ 'state' - The state of the virtual private gateway ('pending' | 'available' | 'deleting' | 'deleted').------ 'tag':/key/=/value/ - The key/value combination of a tag assigned to the--- resource.------ 'tag-key' - The key of a tag assigned to the resource. This filter is--- independent of the 'tag-value' filter. For example, if you use both the filter--- "tag-key=Purpose" and the filter "tag-value=X", you get any resources--- assigned both the tag key Purpose (regardless of what the tag's value is),--- and the tag value X (regardless of what the tag's key is). If you want to--- list only resources where Purpose is X, see the 'tag':/key/=/value/ filter.------ 'tag-value' - The value of a tag assigned to the resource. This filter is--- independent of the 'tag-key' filter.------ 'type' - The type of virtual private gateway. Currently the only supported--- type is 'ipsec.1'.------ 'vpn-gateway-id' - The ID of the virtual private gateway.-------dvg2Filters :: Lens' DescribeVpnGateways [Filter]-dvg2Filters = lens _dvg2Filters (\s a -> s { _dvg2Filters = a }) . _List---- | One or more virtual private gateway IDs.------ Default: Describes all your virtual private gateways.-dvg2VpnGatewayIds :: Lens' DescribeVpnGateways [Text]-dvg2VpnGatewayIds =-    lens _dvg2VpnGatewayIds (\s a -> s { _dvg2VpnGatewayIds = a })-        . _List--newtype DescribeVpnGatewaysResponse = DescribeVpnGatewaysResponse-    { _dvgrVpnGateways :: List "item" VpnGateway-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'DescribeVpnGatewaysResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvgrVpnGateways' @::@ ['VpnGateway']----describeVpnGatewaysResponse :: DescribeVpnGatewaysResponse-describeVpnGatewaysResponse = DescribeVpnGatewaysResponse-    { _dvgrVpnGateways = mempty-    }---- | Information about one or more virtual private gateways.-dvgrVpnGateways :: Lens' DescribeVpnGatewaysResponse [VpnGateway]-dvgrVpnGateways = lens _dvgrVpnGateways (\s a -> s { _dvgrVpnGateways = a }) . _List--instance ToPath DescribeVpnGateways where-    toPath = const "/"--instance ToQuery DescribeVpnGateways where-    toQuery DescribeVpnGateways{..} = mconcat-        [ "DryRun"       =? _dvg2DryRun-        , "Filter"       `toQueryList` _dvg2Filters-        , "VpnGatewayId" `toQueryList` _dvg2VpnGatewayIds-        ]--instance ToHeaders DescribeVpnGateways--instance AWSRequest DescribeVpnGateways where-    type Sv DescribeVpnGateways = EC2-    type Rs DescribeVpnGateways = DescribeVpnGatewaysResponse--    request  = post "DescribeVpnGateways"-    response = xmlResponse--instance FromXML DescribeVpnGatewaysResponse where-    parseXML x = DescribeVpnGatewaysResponse-        <$> x .@? "vpnGatewaySet" .!@ mempty
+ gen/Network/AWS/EC2/DetachClassicLinkVPC.hs view
@@ -0,0 +1,147 @@+{-# 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.DetachClassicLinkVPC+-- 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)+--+-- Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the+-- 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+      detachClassicLinkVPC+    , DetachClassicLinkVPC+    -- * Request Lenses+    , dclvDryRun+    , dclvInstanceId+    , dclvVPCId++    -- * Destructuring the Response+    , detachClassicLinkVPCResponse+    , DetachClassicLinkVPCResponse+    -- * Response Lenses+    , dclvrsReturn+    , dclvrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'detachClassicLinkVPC' smart constructor.+data DetachClassicLinkVPC = DetachClassicLinkVPC'+    { _dclvDryRun     :: !(Maybe Bool)+    , _dclvInstanceId :: !Text+    , _dclvVPCId      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DetachClassicLinkVPC' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dclvDryRun'+--+-- * 'dclvInstanceId'+--+-- * 'dclvVPCId'+detachClassicLinkVPC+    :: Text -- ^ 'dclvInstanceId'+    -> Text -- ^ 'dclvVPCId'+    -> DetachClassicLinkVPC+detachClassicLinkVPC pInstanceId_ pVPCId_ =+    DetachClassicLinkVPC'+    { _dclvDryRun = Nothing+    , _dclvInstanceId = pInstanceId_+    , _dclvVPCId = pVPCId_+    }++-- | 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'.+dclvDryRun :: Lens' DetachClassicLinkVPC (Maybe Bool)+dclvDryRun = lens _dclvDryRun (\ s a -> s{_dclvDryRun = a});++-- | The ID of the instance to unlink from the VPC.+dclvInstanceId :: Lens' DetachClassicLinkVPC Text+dclvInstanceId = lens _dclvInstanceId (\ s a -> s{_dclvInstanceId = a});++-- | The ID of the VPC to which the instance is linked.+dclvVPCId :: Lens' DetachClassicLinkVPC Text+dclvVPCId = lens _dclvVPCId (\ s a -> s{_dclvVPCId = a});++instance AWSRequest DetachClassicLinkVPC where+        type Sv DetachClassicLinkVPC = EC2+        type Rs DetachClassicLinkVPC =+             DetachClassicLinkVPCResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DetachClassicLinkVPCResponse' <$>+                   (x .@? "return") <*> (pure (fromEnum s)))++instance ToHeaders DetachClassicLinkVPC where+        toHeaders = const mempty++instance ToPath DetachClassicLinkVPC where+        toPath = const "/"++instance ToQuery DetachClassicLinkVPC where+        toQuery DetachClassicLinkVPC'{..}+          = mconcat+              ["Action" =: ("DetachClassicLinkVpc" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dclvDryRun,+               "InstanceId" =: _dclvInstanceId,+               "VpcId" =: _dclvVPCId]++-- | /See:/ 'detachClassicLinkVPCResponse' smart constructor.+data DetachClassicLinkVPCResponse = DetachClassicLinkVPCResponse'+    { _dclvrsReturn :: !(Maybe Bool)+    , _dclvrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DetachClassicLinkVPCResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dclvrsReturn'+--+-- * 'dclvrsStatus'+detachClassicLinkVPCResponse+    :: Int -- ^ 'dclvrsStatus'+    -> DetachClassicLinkVPCResponse+detachClassicLinkVPCResponse pStatus_ =+    DetachClassicLinkVPCResponse'+    { _dclvrsReturn = Nothing+    , _dclvrsStatus = pStatus_+    }++-- | Returns 'true' if the request succeeds; otherwise, it returns an error.+dclvrsReturn :: Lens' DetachClassicLinkVPCResponse (Maybe Bool)+dclvrsReturn = lens _dclvrsReturn (\ s a -> s{_dclvrsReturn = a});++-- | The response status code.+dclvrsStatus :: Lens' DetachClassicLinkVPCResponse Int+dclvrsStatus = lens _dclvrsStatus (\ s a -> s{_dclvrsStatus = a});
− gen/Network/AWS/EC2/DetachClassicLinkVpc.hs
@@ -1,133 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DetachClassicLinkVpc--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the--- 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.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachClassicLinkVpc.html>-module Network.AWS.EC2.DetachClassicLinkVpc-    (-    -- * Request-      DetachClassicLinkVpc-    -- ** Request constructor-    , detachClassicLinkVpc-    -- ** Request lenses-    , dclvDryRun-    , dclvInstanceId-    , dclvVpcId--    -- * Response-    , DetachClassicLinkVpcResponse-    -- ** Response constructor-    , detachClassicLinkVpcResponse-    -- ** Response lenses-    , dclvrReturn-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DetachClassicLinkVpc = DetachClassicLinkVpc-    { _dclvDryRun     :: Maybe Bool-    , _dclvInstanceId :: Text-    , _dclvVpcId      :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'DetachClassicLinkVpc' constructor.------ The fields accessible through corresponding lenses are:------ * 'dclvDryRun' @::@ 'Maybe' 'Bool'------ * 'dclvInstanceId' @::@ 'Text'------ * 'dclvVpcId' @::@ 'Text'----detachClassicLinkVpc :: Text -- ^ 'dclvInstanceId'-                     -> Text -- ^ 'dclvVpcId'-                     -> DetachClassicLinkVpc-detachClassicLinkVpc p1 p2 = DetachClassicLinkVpc-    { _dclvInstanceId = p1-    , _dclvVpcId      = p2-    , _dclvDryRun     = Nothing-    }---- | 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'.-dclvDryRun :: Lens' DetachClassicLinkVpc (Maybe Bool)-dclvDryRun = lens _dclvDryRun (\s a -> s { _dclvDryRun = a })---- | The ID of the instance to unlink from the VPC.-dclvInstanceId :: Lens' DetachClassicLinkVpc Text-dclvInstanceId = lens _dclvInstanceId (\s a -> s { _dclvInstanceId = a })---- | The ID of the VPC to which the instance is linked.-dclvVpcId :: Lens' DetachClassicLinkVpc Text-dclvVpcId = lens _dclvVpcId (\s a -> s { _dclvVpcId = a })--newtype DetachClassicLinkVpcResponse = DetachClassicLinkVpcResponse-    { _dclvrReturn :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'DetachClassicLinkVpcResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dclvrReturn' @::@ 'Maybe' 'Bool'----detachClassicLinkVpcResponse :: DetachClassicLinkVpcResponse-detachClassicLinkVpcResponse = DetachClassicLinkVpcResponse-    { _dclvrReturn = Nothing-    }---- | Returns 'true' if the request succeeds; otherwise, it returns an error.-dclvrReturn :: Lens' DetachClassicLinkVpcResponse (Maybe Bool)-dclvrReturn = lens _dclvrReturn (\s a -> s { _dclvrReturn = a })--instance ToPath DetachClassicLinkVpc where-    toPath = const "/"--instance ToQuery DetachClassicLinkVpc where-    toQuery DetachClassicLinkVpc{..} = mconcat-        [ "DryRun"     =? _dclvDryRun-        , "InstanceId" =? _dclvInstanceId-        , "VpcId"      =? _dclvVpcId-        ]--instance ToHeaders DetachClassicLinkVpc--instance AWSRequest DetachClassicLinkVpc where-    type Sv DetachClassicLinkVpc = EC2-    type Rs DetachClassicLinkVpc = DetachClassicLinkVpcResponse--    request  = post "DetachClassicLinkVpc"-    response = xmlResponse--instance FromXML DetachClassicLinkVpcResponse where-    parseXML x = DetachClassicLinkVpcResponse-        <$> x .@? "return"
gen/Network/AWS/EC2/DetachInternetGateway.hs view
@@ -1,116 +1,120 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DetachInternetGateway--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachInternetGateway.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachInternetGateway.html AWS API Reference> for DetachInternetGateway. module Network.AWS.EC2.DetachInternetGateway     (-    -- * Request-      DetachInternetGateway-    -- ** Request constructor-    , detachInternetGateway-    -- ** Request lenses+    -- * Creating a Request+      detachInternetGateway+    , DetachInternetGateway+    -- * Request Lenses     , digDryRun     , digInternetGatewayId-    , digVpcId+    , digVPCId -    -- * Response-    , DetachInternetGatewayResponse-    -- ** Response constructor+    -- * Destructuring the Response     , detachInternetGatewayResponse+    , DetachInternetGatewayResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DetachInternetGateway = DetachInternetGateway-    { _digDryRun            :: Maybe Bool-    , _digInternetGatewayId :: Text-    , _digVpcId             :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'detachInternetGateway' smart constructor.+data DetachInternetGateway = DetachInternetGateway'+    { _digDryRun            :: !(Maybe Bool)+    , _digInternetGatewayId :: !Text+    , _digVPCId             :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DetachInternetGateway' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DetachInternetGateway' with the minimum fields required to make a request. ----- * 'digDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'digInternetGatewayId' @::@ 'Text'+-- * 'digDryRun' ----- * 'digVpcId' @::@ 'Text'+-- * 'digInternetGatewayId' ---detachInternetGateway :: Text -- ^ 'digInternetGatewayId'-                      -> Text -- ^ 'digVpcId'-                      -> DetachInternetGateway-detachInternetGateway p1 p2 = DetachInternetGateway-    { _digInternetGatewayId = p1-    , _digVpcId             = p2-    , _digDryRun            = Nothing+-- * 'digVPCId'+detachInternetGateway+    :: Text -- ^ 'digInternetGatewayId'+    -> Text -- ^ 'digVPCId'+    -> DetachInternetGateway+detachInternetGateway pInternetGatewayId_ pVPCId_ =+    DetachInternetGateway'+    { _digDryRun = Nothing+    , _digInternetGatewayId = pInternetGatewayId_+    , _digVPCId = pVPCId_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. digDryRun :: Lens' DetachInternetGateway (Maybe Bool)-digDryRun = lens _digDryRun (\s a -> s { _digDryRun = a })+digDryRun = lens _digDryRun (\ s a -> s{_digDryRun = a});  -- | The ID of the Internet gateway. digInternetGatewayId :: Lens' DetachInternetGateway Text-digInternetGatewayId =-    lens _digInternetGatewayId (\s a -> s { _digInternetGatewayId = a })+digInternetGatewayId = lens _digInternetGatewayId (\ s a -> s{_digInternetGatewayId = a});  -- | The ID of the VPC.-digVpcId :: Lens' DetachInternetGateway Text-digVpcId = lens _digVpcId (\s a -> s { _digVpcId = a })+digVPCId :: Lens' DetachInternetGateway Text+digVPCId = lens _digVPCId (\ s a -> s{_digVPCId = a}); -data DetachInternetGatewayResponse = DetachInternetGatewayResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DetachInternetGateway where+        type Sv DetachInternetGateway = EC2+        type Rs DetachInternetGateway =+             DetachInternetGatewayResponse+        request = post+        response = receiveNull DetachInternetGatewayResponse' --- | 'DetachInternetGatewayResponse' constructor.-detachInternetGatewayResponse :: DetachInternetGatewayResponse-detachInternetGatewayResponse = DetachInternetGatewayResponse+instance ToHeaders DetachInternetGateway where+        toHeaders = const mempty  instance ToPath DetachInternetGateway where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DetachInternetGateway where-    toQuery DetachInternetGateway{..} = mconcat-        [ "DryRun"            =? _digDryRun-        , "InternetGatewayId" =? _digInternetGatewayId-        , "VpcId"             =? _digVpcId-        ]--instance ToHeaders DetachInternetGateway+        toQuery DetachInternetGateway'{..}+          = mconcat+              ["Action" =: ("DetachInternetGateway" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _digDryRun,+               "InternetGatewayId" =: _digInternetGatewayId,+               "VpcId" =: _digVPCId] -instance AWSRequest DetachInternetGateway where-    type Sv DetachInternetGateway = EC2-    type Rs DetachInternetGateway = DetachInternetGatewayResponse+-- | /See:/ 'detachInternetGatewayResponse' smart constructor.+data DetachInternetGatewayResponse =+    DetachInternetGatewayResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DetachInternetGateway"-    response = nullResponse DetachInternetGatewayResponse+-- | Creates a value of 'DetachInternetGatewayResponse' with the minimum fields required to make a request.+--+detachInternetGatewayResponse+    :: DetachInternetGatewayResponse+detachInternetGatewayResponse = DetachInternetGatewayResponse'
gen/Network/AWS/EC2/DetachNetworkInterface.hs view
@@ -1,112 +1,118 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DetachNetworkInterface--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Detaches a network interface from an instance.+-- Detaches a network interface from an instance. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachNetworkInterface.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachNetworkInterface.html AWS API Reference> for DetachNetworkInterface. module Network.AWS.EC2.DetachNetworkInterface     (-    -- * Request-      DetachNetworkInterface-    -- ** Request constructor-    , detachNetworkInterface-    -- ** Request lenses-    , dniAttachmentId-    , dniDryRun+    -- * Creating a Request+      detachNetworkInterface+    , DetachNetworkInterface+    -- * Request Lenses     , dniForce+    , dniDryRun+    , dniAttachmentId -    -- * Response-    , DetachNetworkInterfaceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , detachNetworkInterfaceResponse+    , DetachNetworkInterfaceResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DetachNetworkInterface = DetachNetworkInterface-    { _dniAttachmentId :: Text-    , _dniDryRun       :: Maybe Bool-    , _dniForce        :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'detachNetworkInterface' smart constructor.+data DetachNetworkInterface = DetachNetworkInterface'+    { _dniForce        :: !(Maybe Bool)+    , _dniDryRun       :: !(Maybe Bool)+    , _dniAttachmentId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DetachNetworkInterface' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DetachNetworkInterface' with the minimum fields required to make a request. ----- * 'dniAttachmentId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dniDryRun' @::@ 'Maybe' 'Bool'+-- * 'dniForce' ----- * 'dniForce' @::@ 'Maybe' 'Bool'+-- * 'dniDryRun' ---detachNetworkInterface :: Text -- ^ 'dniAttachmentId'-                       -> DetachNetworkInterface-detachNetworkInterface p1 = DetachNetworkInterface-    { _dniAttachmentId = p1-    , _dniDryRun       = Nothing-    , _dniForce        = Nothing+-- * 'dniAttachmentId'+detachNetworkInterface+    :: Text -- ^ 'dniAttachmentId'+    -> DetachNetworkInterface+detachNetworkInterface pAttachmentId_ =+    DetachNetworkInterface'+    { _dniForce = Nothing+    , _dniDryRun = Nothing+    , _dniAttachmentId = pAttachmentId_     } --- | The ID of the attachment.-dniAttachmentId :: Lens' DetachNetworkInterface Text-dniAttachmentId = lens _dniAttachmentId (\s a -> s { _dniAttachmentId = a })+-- | Specifies whether to force a detachment.+dniForce :: Lens' DetachNetworkInterface (Maybe Bool)+dniForce = lens _dniForce (\ s a -> s{_dniForce = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. dniDryRun :: Lens' DetachNetworkInterface (Maybe Bool)-dniDryRun = lens _dniDryRun (\s a -> s { _dniDryRun = a })+dniDryRun = lens _dniDryRun (\ s a -> s{_dniDryRun = a}); --- | Specifies whether to force a detachment.-dniForce :: Lens' DetachNetworkInterface (Maybe Bool)-dniForce = lens _dniForce (\s a -> s { _dniForce = a })+-- | The ID of the attachment.+dniAttachmentId :: Lens' DetachNetworkInterface Text+dniAttachmentId = lens _dniAttachmentId (\ s a -> s{_dniAttachmentId = a}); -data DetachNetworkInterfaceResponse = DetachNetworkInterfaceResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DetachNetworkInterface where+        type Sv DetachNetworkInterface = EC2+        type Rs DetachNetworkInterface =+             DetachNetworkInterfaceResponse+        request = post+        response+          = receiveNull DetachNetworkInterfaceResponse' --- | 'DetachNetworkInterfaceResponse' constructor.-detachNetworkInterfaceResponse :: DetachNetworkInterfaceResponse-detachNetworkInterfaceResponse = DetachNetworkInterfaceResponse+instance ToHeaders DetachNetworkInterface where+        toHeaders = const mempty  instance ToPath DetachNetworkInterface where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DetachNetworkInterface where-    toQuery DetachNetworkInterface{..} = mconcat-        [ "AttachmentId" =? _dniAttachmentId-        , "DryRun"       =? _dniDryRun-        , "Force"        =? _dniForce-        ]--instance ToHeaders DetachNetworkInterface+        toQuery DetachNetworkInterface'{..}+          = mconcat+              ["Action" =:+                 ("DetachNetworkInterface" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Force" =: _dniForce, "DryRun" =: _dniDryRun,+               "AttachmentId" =: _dniAttachmentId] -instance AWSRequest DetachNetworkInterface where-    type Sv DetachNetworkInterface = EC2-    type Rs DetachNetworkInterface = DetachNetworkInterfaceResponse+-- | /See:/ 'detachNetworkInterfaceResponse' smart constructor.+data DetachNetworkInterfaceResponse =+    DetachNetworkInterfaceResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DetachNetworkInterface"-    response = nullResponse DetachNetworkInterfaceResponse+-- | Creates a value of 'DetachNetworkInterfaceResponse' with the minimum fields required to make a request.+--+detachNetworkInterfaceResponse+    :: DetachNetworkInterfaceResponse+detachNetworkInterfaceResponse = DetachNetworkInterfaceResponse'
+ gen/Network/AWS/EC2/DetachVPNGateway.hs view
@@ -0,0 +1,125 @@+{-# 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.DetachVPNGateway+-- 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)+--+-- Detaches a virtual private gateway from a VPC. You do this if you\'re+-- planning to turn off the VPC and not use it anymore. You can confirm a+-- virtual private gateway has been completely detached from a VPC by+-- describing the virtual private gateway (any attachments to the virtual+-- private gateway are also described).+--+-- 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+      detachVPNGateway+    , DetachVPNGateway+    -- * Request Lenses+    , dvpngDryRun+    , dvpngVPNGatewayId+    , dvpngVPCId++    -- * Destructuring the Response+    , detachVPNGatewayResponse+    , DetachVPNGatewayResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'detachVPNGateway' smart constructor.+data DetachVPNGateway = DetachVPNGateway'+    { _dvpngDryRun       :: !(Maybe Bool)+    , _dvpngVPNGatewayId :: !Text+    , _dvpngVPCId        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DetachVPNGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpngDryRun'+--+-- * 'dvpngVPNGatewayId'+--+-- * 'dvpngVPCId'+detachVPNGateway+    :: Text -- ^ 'dvpngVPNGatewayId'+    -> Text -- ^ 'dvpngVPCId'+    -> DetachVPNGateway+detachVPNGateway pVPNGatewayId_ pVPCId_ =+    DetachVPNGateway'+    { _dvpngDryRun = Nothing+    , _dvpngVPNGatewayId = pVPNGatewayId_+    , _dvpngVPCId = pVPCId_+    }++-- | 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'.+dvpngDryRun :: Lens' DetachVPNGateway (Maybe Bool)+dvpngDryRun = lens _dvpngDryRun (\ s a -> s{_dvpngDryRun = a});++-- | The ID of the virtual private gateway.+dvpngVPNGatewayId :: Lens' DetachVPNGateway Text+dvpngVPNGatewayId = lens _dvpngVPNGatewayId (\ s a -> s{_dvpngVPNGatewayId = a});++-- | The ID of the VPC.+dvpngVPCId :: Lens' DetachVPNGateway Text+dvpngVPCId = lens _dvpngVPCId (\ s a -> s{_dvpngVPCId = a});++instance AWSRequest DetachVPNGateway where+        type Sv DetachVPNGateway = EC2+        type Rs DetachVPNGateway = DetachVPNGatewayResponse+        request = post+        response = receiveNull DetachVPNGatewayResponse'++instance ToHeaders DetachVPNGateway where+        toHeaders = const mempty++instance ToPath DetachVPNGateway where+        toPath = const "/"++instance ToQuery DetachVPNGateway where+        toQuery DetachVPNGateway'{..}+          = mconcat+              ["Action" =: ("DetachVpnGateway" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dvpngDryRun,+               "VpnGatewayId" =: _dvpngVPNGatewayId,+               "VpcId" =: _dvpngVPCId]++-- | /See:/ 'detachVPNGatewayResponse' smart constructor.+data DetachVPNGatewayResponse =+    DetachVPNGatewayResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DetachVPNGatewayResponse' with the minimum fields required to make a request.+--+detachVPNGatewayResponse+    :: DetachVPNGatewayResponse+detachVPNGatewayResponse = DetachVPNGatewayResponse'
gen/Network/AWS/EC2/DetachVolume.hs view
@@ -1,219 +1,150 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DetachVolume--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Detaches an EBS volume from an instance. Make sure to unmount any file+-- Detaches an EBS volume from an instance. Make sure to unmount any file -- systems on the device within your operating system before detaching the--- volume. Failure to do so results in the volume being stuck in a busy state--- while detaching.+-- volume. Failure to do so results in the volume being stuck in a busy+-- state while detaching. ----- If an Amazon EBS volume is the root device of an instance, it can't be--- detached while the instance is running. To detach the root volume, stop the--- instance first.+-- If an Amazon EBS volume is the root device of an instance, it can\'t be+-- detached while the instance is running. To detach the root volume, stop+-- the instance first. -- -- When a volume with an AWS Marketplace product code is detached from an -- instance, the product code is no longer associated with the instance. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html Detaching an Amazon EBS Volume> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachVolume.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachVolume.html AWS API Reference> for DetachVolume. module Network.AWS.EC2.DetachVolume     (-    -- * Request-      DetachVolume-    -- ** Request constructor-    , detachVolume-    -- ** Request lenses+    -- * Creating a Request+      detachVolume+    , DetachVolume+    -- * Request Lenses+    , dvInstanceId+    , dvForce     , dvDevice     , dvDryRun-    , dvForce-    , dvInstanceId     , dvVolumeId -    -- * Response-    , DetachVolumeResponse-    -- ** Response constructor-    , detachVolumeResponse-    -- ** Response lenses-    , dvrAttachTime-    , dvrDeleteOnTermination-    , dvrDevice-    , dvrInstanceId-    , dvrState-    , dvrVolumeId+    -- * Destructuring the Response+    , volumeAttachment+    , VolumeAttachment+    -- * Response Lenses+    , volInstanceId+    , volDeleteOnTermination+    , volState+    , volDevice+    , volVolumeId+    , volAttachTime     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DetachVolume = DetachVolume-    { _dvDevice     :: Maybe Text-    , _dvDryRun     :: Maybe Bool-    , _dvForce      :: Maybe Bool-    , _dvInstanceId :: Maybe Text-    , _dvVolumeId   :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'detachVolume' smart constructor.+data DetachVolume = DetachVolume'+    { _dvInstanceId :: !(Maybe Text)+    , _dvForce      :: !(Maybe Bool)+    , _dvDevice     :: !(Maybe Text)+    , _dvDryRun     :: !(Maybe Bool)+    , _dvVolumeId   :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DetachVolume' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DetachVolume' with the minimum fields required to make a request. ----- * 'dvDevice' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dvDryRun' @::@ 'Maybe' 'Bool'+-- * 'dvInstanceId' ----- * 'dvForce' @::@ 'Maybe' 'Bool'+-- * 'dvForce' ----- * 'dvInstanceId' @::@ 'Maybe' 'Text'+-- * 'dvDevice' ----- * 'dvVolumeId' @::@ 'Text'+-- * 'dvDryRun' ---detachVolume :: Text -- ^ 'dvVolumeId'-             -> DetachVolume-detachVolume p1 = DetachVolume-    { _dvVolumeId   = p1-    , _dvDryRun     = Nothing-    , _dvInstanceId = Nothing-    , _dvDevice     = Nothing-    , _dvForce      = Nothing+-- * 'dvVolumeId'+detachVolume+    :: Text -- ^ 'dvVolumeId'+    -> DetachVolume+detachVolume pVolumeId_ =+    DetachVolume'+    { _dvInstanceId = Nothing+    , _dvForce = Nothing+    , _dvDevice = Nothing+    , _dvDryRun = Nothing+    , _dvVolumeId = pVolumeId_     } +-- | The ID of the instance.+dvInstanceId :: Lens' DetachVolume (Maybe Text)+dvInstanceId = lens _dvInstanceId (\ s a -> s{_dvInstanceId = a});++-- | Forces detachment if the previous detachment attempt did not occur+-- cleanly (for example, logging into an instance, unmounting the volume,+-- and detaching normally). This option can lead to data loss or a+-- corrupted file system. Use this option only as a last resort to detach a+-- volume from a failed instance. The instance won\'t have an opportunity+-- to flush file system caches or file system metadata. If you use this+-- option, you must perform file system check and repair procedures.+dvForce :: Lens' DetachVolume (Maybe Bool)+dvForce = lens _dvForce (\ s a -> s{_dvForce = a});+ -- | The device name. dvDevice :: Lens' DetachVolume (Maybe Text)-dvDevice = lens _dvDevice (\s a -> s { _dvDevice = a })+dvDevice = lens _dvDevice (\ s a -> s{_dvDevice = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. dvDryRun :: Lens' DetachVolume (Maybe Bool)-dvDryRun = lens _dvDryRun (\s a -> s { _dvDryRun = a })---- | Forces detachment if the previous detachment attempt did not occur cleanly--- (for example, logging into an instance, unmounting the volume, and detaching--- normally). This option can lead to data loss or a corrupted file system. Use--- this option only as a last resort to detach a volume from a failed instance.--- The instance won't have an opportunity to flush file system caches or file--- system metadata. If you use this option, you must perform file system check--- and repair procedures.-dvForce :: Lens' DetachVolume (Maybe Bool)-dvForce = lens _dvForce (\s a -> s { _dvForce = a })---- | The ID of the instance.-dvInstanceId :: Lens' DetachVolume (Maybe Text)-dvInstanceId = lens _dvInstanceId (\s a -> s { _dvInstanceId = a })+dvDryRun = lens _dvDryRun (\ s a -> s{_dvDryRun = a});  -- | The ID of the volume. dvVolumeId :: Lens' DetachVolume Text-dvVolumeId = lens _dvVolumeId (\s a -> s { _dvVolumeId = a })--data DetachVolumeResponse = DetachVolumeResponse-    { _dvrAttachTime          :: Maybe ISO8601-    , _dvrDeleteOnTermination :: Maybe Bool-    , _dvrDevice              :: Maybe Text-    , _dvrInstanceId          :: Maybe Text-    , _dvrState               :: Maybe VolumeAttachmentState-    , _dvrVolumeId            :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'DetachVolumeResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvrAttachTime' @::@ 'Maybe' 'UTCTime'------ * 'dvrDeleteOnTermination' @::@ 'Maybe' 'Bool'------ * 'dvrDevice' @::@ 'Maybe' 'Text'------ * 'dvrInstanceId' @::@ 'Maybe' 'Text'------ * 'dvrState' @::@ 'Maybe' 'VolumeAttachmentState'------ * 'dvrVolumeId' @::@ 'Maybe' 'Text'----detachVolumeResponse :: DetachVolumeResponse-detachVolumeResponse = DetachVolumeResponse-    { _dvrVolumeId            = Nothing-    , _dvrInstanceId          = Nothing-    , _dvrDevice              = Nothing-    , _dvrState               = Nothing-    , _dvrAttachTime          = Nothing-    , _dvrDeleteOnTermination = Nothing-    }---- | The time stamp when the attachment initiated.-dvrAttachTime :: Lens' DetachVolumeResponse (Maybe UTCTime)-dvrAttachTime = lens _dvrAttachTime (\s a -> s { _dvrAttachTime = a }) . mapping _Time---- | Indicates whether the EBS volume is deleted on instance termination.-dvrDeleteOnTermination :: Lens' DetachVolumeResponse (Maybe Bool)-dvrDeleteOnTermination =-    lens _dvrDeleteOnTermination (\s a -> s { _dvrDeleteOnTermination = a })---- | The device name.-dvrDevice :: Lens' DetachVolumeResponse (Maybe Text)-dvrDevice = lens _dvrDevice (\s a -> s { _dvrDevice = a })---- | The ID of the instance.-dvrInstanceId :: Lens' DetachVolumeResponse (Maybe Text)-dvrInstanceId = lens _dvrInstanceId (\s a -> s { _dvrInstanceId = a })+dvVolumeId = lens _dvVolumeId (\ s a -> s{_dvVolumeId = a}); --- | The attachment state of the volume.-dvrState :: Lens' DetachVolumeResponse (Maybe VolumeAttachmentState)-dvrState = lens _dvrState (\s a -> s { _dvrState = a })+instance AWSRequest DetachVolume where+        type Sv DetachVolume = EC2+        type Rs DetachVolume = VolumeAttachment+        request = post+        response = receiveXML (\ s h x -> parseXML x) --- | The ID of the volume.-dvrVolumeId :: Lens' DetachVolumeResponse (Maybe Text)-dvrVolumeId = lens _dvrVolumeId (\s a -> s { _dvrVolumeId = a })+instance ToHeaders DetachVolume where+        toHeaders = const mempty  instance ToPath DetachVolume where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DetachVolume where-    toQuery DetachVolume{..} = mconcat-        [ "Device"     =? _dvDevice-        , "DryRun"     =? _dvDryRun-        , "Force"      =? _dvForce-        , "InstanceId" =? _dvInstanceId-        , "VolumeId"   =? _dvVolumeId-        ]--instance ToHeaders DetachVolume--instance AWSRequest DetachVolume where-    type Sv DetachVolume = EC2-    type Rs DetachVolume = DetachVolumeResponse--    request  = post "DetachVolume"-    response = xmlResponse--instance FromXML DetachVolumeResponse where-    parseXML x = DetachVolumeResponse-        <$> x .@? "attachTime"-        <*> x .@? "deleteOnTermination"-        <*> x .@? "device"-        <*> x .@? "instanceId"-        <*> x .@? "status"-        <*> x .@? "volumeId"+        toQuery DetachVolume'{..}+          = mconcat+              ["Action" =: ("DetachVolume" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "InstanceId" =: _dvInstanceId, "Force" =: _dvForce,+               "Device" =: _dvDevice, "DryRun" =: _dvDryRun,+               "VolumeId" =: _dvVolumeId]
− gen/Network/AWS/EC2/DetachVpnGateway.hs
@@ -1,120 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DetachVpnGateway--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Detaches a virtual private gateway from a VPC. You do this if you're planning--- to turn off the VPC and not use it anymore. You can confirm a virtual private--- gateway has been completely detached from a VPC by describing the virtual--- private gateway (any attachments to the virtual private gateway are also--- described).------ 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.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DetachVpnGateway.html>-module Network.AWS.EC2.DetachVpnGateway-    (-    -- * Request-      DetachVpnGateway-    -- ** Request constructor-    , detachVpnGateway-    -- ** Request lenses-    , dvg1DryRun-    , dvg1VpcId-    , dvg1VpnGatewayId--    -- * Response-    , DetachVpnGatewayResponse-    -- ** Response constructor-    , detachVpnGatewayResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DetachVpnGateway = DetachVpnGateway-    { _dvg1DryRun       :: Maybe Bool-    , _dvg1VpcId        :: Text-    , _dvg1VpnGatewayId :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'DetachVpnGateway' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvg1DryRun' @::@ 'Maybe' 'Bool'------ * 'dvg1VpcId' @::@ 'Text'------ * 'dvg1VpnGatewayId' @::@ 'Text'----detachVpnGateway :: Text -- ^ 'dvg1VpnGatewayId'-                 -> Text -- ^ 'dvg1VpcId'-                 -> DetachVpnGateway-detachVpnGateway p1 p2 = DetachVpnGateway-    { _dvg1VpnGatewayId = p1-    , _dvg1VpcId        = p2-    , _dvg1DryRun       = Nothing-    }---- | 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'.-dvg1DryRun :: Lens' DetachVpnGateway (Maybe Bool)-dvg1DryRun = lens _dvg1DryRun (\s a -> s { _dvg1DryRun = a })---- | The ID of the VPC.-dvg1VpcId :: Lens' DetachVpnGateway Text-dvg1VpcId = lens _dvg1VpcId (\s a -> s { _dvg1VpcId = a })---- | The ID of the virtual private gateway.-dvg1VpnGatewayId :: Lens' DetachVpnGateway Text-dvg1VpnGatewayId = lens _dvg1VpnGatewayId (\s a -> s { _dvg1VpnGatewayId = a })--data DetachVpnGatewayResponse = DetachVpnGatewayResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DetachVpnGatewayResponse' constructor.-detachVpnGatewayResponse :: DetachVpnGatewayResponse-detachVpnGatewayResponse = DetachVpnGatewayResponse--instance ToPath DetachVpnGateway where-    toPath = const "/"--instance ToQuery DetachVpnGateway where-    toQuery DetachVpnGateway{..} = mconcat-        [ "DryRun"       =? _dvg1DryRun-        , "VpcId"        =? _dvg1VpcId-        , "VpnGatewayId" =? _dvg1VpnGatewayId-        ]--instance ToHeaders DetachVpnGateway--instance AWSRequest DetachVpnGateway where-    type Sv DetachVpnGateway = EC2-    type Rs DetachVpnGateway = DetachVpnGatewayResponse--    request  = post "DetachVpnGateway"-    response = nullResponse DetachVpnGatewayResponse
+ gen/Network/AWS/EC2/DisableVGWRoutePropagation.hs view
@@ -0,0 +1,108 @@+{-# 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.DisableVGWRoutePropagation+-- 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)+--+-- 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+      disableVGWRoutePropagation+    , DisableVGWRoutePropagation+    -- * Request Lenses+    , dvrpRouteTableId+    , dvrpGatewayId++    -- * Destructuring the Response+    , disableVGWRoutePropagationResponse+    , DisableVGWRoutePropagationResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'disableVGWRoutePropagation' smart constructor.+data DisableVGWRoutePropagation = DisableVGWRoutePropagation'+    { _dvrpRouteTableId :: !Text+    , _dvrpGatewayId    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableVGWRoutePropagation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvrpRouteTableId'+--+-- * 'dvrpGatewayId'+disableVGWRoutePropagation+    :: Text -- ^ 'dvrpRouteTableId'+    -> Text -- ^ 'dvrpGatewayId'+    -> DisableVGWRoutePropagation+disableVGWRoutePropagation pRouteTableId_ pGatewayId_ =+    DisableVGWRoutePropagation'+    { _dvrpRouteTableId = pRouteTableId_+    , _dvrpGatewayId = pGatewayId_+    }++-- | The ID of the route table.+dvrpRouteTableId :: Lens' DisableVGWRoutePropagation Text+dvrpRouteTableId = lens _dvrpRouteTableId (\ s a -> s{_dvrpRouteTableId = a});++-- | The ID of the virtual private gateway.+dvrpGatewayId :: Lens' DisableVGWRoutePropagation Text+dvrpGatewayId = lens _dvrpGatewayId (\ s a -> s{_dvrpGatewayId = a});++instance AWSRequest DisableVGWRoutePropagation where+        type Sv DisableVGWRoutePropagation = EC2+        type Rs DisableVGWRoutePropagation =+             DisableVGWRoutePropagationResponse+        request = post+        response+          = receiveNull DisableVGWRoutePropagationResponse'++instance ToHeaders DisableVGWRoutePropagation where+        toHeaders = const mempty++instance ToPath DisableVGWRoutePropagation where+        toPath = const "/"++instance ToQuery DisableVGWRoutePropagation where+        toQuery DisableVGWRoutePropagation'{..}+          = mconcat+              ["Action" =:+                 ("DisableVgwRoutePropagation" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "RouteTableId" =: _dvrpRouteTableId,+               "GatewayId" =: _dvrpGatewayId]++-- | /See:/ 'disableVGWRoutePropagationResponse' smart constructor.+data DisableVGWRoutePropagationResponse =+    DisableVGWRoutePropagationResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableVGWRoutePropagationResponse' with the minimum fields required to make a request.+--+disableVGWRoutePropagationResponse+    :: DisableVGWRoutePropagationResponse+disableVGWRoutePropagationResponse = DisableVGWRoutePropagationResponse'
+ gen/Network/AWS/EC2/DisableVPCClassicLink.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.DisableVPCClassicLink+-- 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)+--+-- 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+      disableVPCClassicLink+    , DisableVPCClassicLink+    -- * Request Lenses+    , dvpcclDryRun+    , dvpcclVPCId++    -- * Destructuring the Response+    , disableVPCClassicLinkResponse+    , DisableVPCClassicLinkResponse+    -- * Response Lenses+    , dvpcclrsReturn+    , dvpcclrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'disableVPCClassicLink' smart constructor.+data DisableVPCClassicLink = DisableVPCClassicLink'+    { _dvpcclDryRun :: !(Maybe Bool)+    , _dvpcclVPCId  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableVPCClassicLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpcclDryRun'+--+-- * 'dvpcclVPCId'+disableVPCClassicLink+    :: Text -- ^ 'dvpcclVPCId'+    -> DisableVPCClassicLink+disableVPCClassicLink pVPCId_ =+    DisableVPCClassicLink'+    { _dvpcclDryRun = Nothing+    , _dvpcclVPCId = pVPCId_+    }++-- | 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'.+dvpcclDryRun :: Lens' DisableVPCClassicLink (Maybe Bool)+dvpcclDryRun = lens _dvpcclDryRun (\ s a -> s{_dvpcclDryRun = a});++-- | The ID of the VPC.+dvpcclVPCId :: Lens' DisableVPCClassicLink Text+dvpcclVPCId = lens _dvpcclVPCId (\ s a -> s{_dvpcclVPCId = a});++instance AWSRequest DisableVPCClassicLink where+        type Sv DisableVPCClassicLink = EC2+        type Rs DisableVPCClassicLink =+             DisableVPCClassicLinkResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 DisableVPCClassicLinkResponse' <$>+                   (x .@? "return") <*> (pure (fromEnum s)))++instance ToHeaders DisableVPCClassicLink where+        toHeaders = const mempty++instance ToPath DisableVPCClassicLink where+        toPath = const "/"++instance ToQuery DisableVPCClassicLink where+        toQuery DisableVPCClassicLink'{..}+          = mconcat+              ["Action" =: ("DisableVpcClassicLink" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _dvpcclDryRun, "VpcId" =: _dvpcclVPCId]++-- | /See:/ 'disableVPCClassicLinkResponse' smart constructor.+data DisableVPCClassicLinkResponse = DisableVPCClassicLinkResponse'+    { _dvpcclrsReturn :: !(Maybe Bool)+    , _dvpcclrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableVPCClassicLinkResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvpcclrsReturn'+--+-- * 'dvpcclrsStatus'+disableVPCClassicLinkResponse+    :: Int -- ^ 'dvpcclrsStatus'+    -> DisableVPCClassicLinkResponse+disableVPCClassicLinkResponse pStatus_ =+    DisableVPCClassicLinkResponse'+    { _dvpcclrsReturn = Nothing+    , _dvpcclrsStatus = pStatus_+    }++-- | Returns 'true' if the request succeeds; otherwise, it returns an error.+dvpcclrsReturn :: Lens' DisableVPCClassicLinkResponse (Maybe Bool)+dvpcclrsReturn = lens _dvpcclrsReturn (\ s a -> s{_dvpcclrsReturn = a});++-- | The response status code.+dvpcclrsStatus :: Lens' DisableVPCClassicLinkResponse Int+dvpcclrsStatus = lens _dvpcclrsStatus (\ s a -> s{_dvpcclrsStatus = a});
− gen/Network/AWS/EC2/DisableVgwRoutePropagation.hs
@@ -1,102 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DisableVgwRoutePropagation--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Disables a virtual private gateway (VGW) from propagating routes to a--- specified route table of a VPC.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DisableVgwRoutePropagation.html>-module Network.AWS.EC2.DisableVgwRoutePropagation-    (-    -- * Request-      DisableVgwRoutePropagation-    -- ** Request constructor-    , disableVgwRoutePropagation-    -- ** Request lenses-    , dvrpGatewayId-    , dvrpRouteTableId--    -- * Response-    , DisableVgwRoutePropagationResponse-    -- ** Response constructor-    , disableVgwRoutePropagationResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DisableVgwRoutePropagation = DisableVgwRoutePropagation-    { _dvrpGatewayId    :: Text-    , _dvrpRouteTableId :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'DisableVgwRoutePropagation' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvrpGatewayId' @::@ 'Text'------ * 'dvrpRouteTableId' @::@ 'Text'----disableVgwRoutePropagation :: Text -- ^ 'dvrpRouteTableId'-                           -> Text -- ^ 'dvrpGatewayId'-                           -> DisableVgwRoutePropagation-disableVgwRoutePropagation p1 p2 = DisableVgwRoutePropagation-    { _dvrpRouteTableId = p1-    , _dvrpGatewayId    = p2-    }---- | The ID of the virtual private gateway.-dvrpGatewayId :: Lens' DisableVgwRoutePropagation Text-dvrpGatewayId = lens _dvrpGatewayId (\s a -> s { _dvrpGatewayId = a })---- | The ID of the route table.-dvrpRouteTableId :: Lens' DisableVgwRoutePropagation Text-dvrpRouteTableId = lens _dvrpRouteTableId (\s a -> s { _dvrpRouteTableId = a })--data DisableVgwRoutePropagationResponse = DisableVgwRoutePropagationResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DisableVgwRoutePropagationResponse' constructor.-disableVgwRoutePropagationResponse :: DisableVgwRoutePropagationResponse-disableVgwRoutePropagationResponse = DisableVgwRoutePropagationResponse--instance ToPath DisableVgwRoutePropagation where-    toPath = const "/"--instance ToQuery DisableVgwRoutePropagation where-    toQuery DisableVgwRoutePropagation{..} = mconcat-        [ "GatewayId"    =? _dvrpGatewayId-        , "RouteTableId" =? _dvrpRouteTableId-        ]--instance ToHeaders DisableVgwRoutePropagation--instance AWSRequest DisableVgwRoutePropagation where-    type Sv DisableVgwRoutePropagation = EC2-    type Rs DisableVgwRoutePropagation = DisableVgwRoutePropagationResponse--    request  = post "DisableVgwRoutePropagation"-    response = nullResponse DisableVgwRoutePropagationResponse
− gen/Network/AWS/EC2/DisableVpcClassicLink.hs
@@ -1,121 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.DisableVpcClassicLink--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that--- has EC2-Classic instances linked to it.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DisableVpcClassicLink.html>-module Network.AWS.EC2.DisableVpcClassicLink-    (-    -- * Request-      DisableVpcClassicLink-    -- ** Request constructor-    , disableVpcClassicLink-    -- ** Request lenses-    , dvcl1DryRun-    , dvcl1VpcId--    -- * Response-    , DisableVpcClassicLinkResponse-    -- ** Response constructor-    , disableVpcClassicLinkResponse-    -- ** Response lenses-    , dvclrReturn-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data DisableVpcClassicLink = DisableVpcClassicLink-    { _dvcl1DryRun :: Maybe Bool-    , _dvcl1VpcId  :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'DisableVpcClassicLink' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvcl1DryRun' @::@ 'Maybe' 'Bool'------ * 'dvcl1VpcId' @::@ 'Text'----disableVpcClassicLink :: Text -- ^ 'dvcl1VpcId'-                      -> DisableVpcClassicLink-disableVpcClassicLink p1 = DisableVpcClassicLink-    { _dvcl1VpcId  = p1-    , _dvcl1DryRun = Nothing-    }---- | 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'.-dvcl1DryRun :: Lens' DisableVpcClassicLink (Maybe Bool)-dvcl1DryRun = lens _dvcl1DryRun (\s a -> s { _dvcl1DryRun = a })---- | The ID of the VPC.-dvcl1VpcId :: Lens' DisableVpcClassicLink Text-dvcl1VpcId = lens _dvcl1VpcId (\s a -> s { _dvcl1VpcId = a })--newtype DisableVpcClassicLinkResponse = DisableVpcClassicLinkResponse-    { _dvclrReturn :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'DisableVpcClassicLinkResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dvclrReturn' @::@ 'Maybe' 'Bool'----disableVpcClassicLinkResponse :: DisableVpcClassicLinkResponse-disableVpcClassicLinkResponse = DisableVpcClassicLinkResponse-    { _dvclrReturn = Nothing-    }---- | Returns 'true' if the request succeeds; otherwise, it returns an error.-dvclrReturn :: Lens' DisableVpcClassicLinkResponse (Maybe Bool)-dvclrReturn = lens _dvclrReturn (\s a -> s { _dvclrReturn = a })--instance ToPath DisableVpcClassicLink where-    toPath = const "/"--instance ToQuery DisableVpcClassicLink where-    toQuery DisableVpcClassicLink{..} = mconcat-        [ "DryRun" =? _dvcl1DryRun-        , "VpcId"  =? _dvcl1VpcId-        ]--instance ToHeaders DisableVpcClassicLink--instance AWSRequest DisableVpcClassicLink where-    type Sv DisableVpcClassicLink = EC2-    type Rs DisableVpcClassicLink = DisableVpcClassicLinkResponse--    request  = post "DisableVpcClassicLink"-    response = xmlResponse--instance FromXML DisableVpcClassicLinkResponse where-    parseXML x = DisableVpcClassicLinkResponse-        <$> x .@? "return"
gen/Network/AWS/EC2/DisassociateAddress.hs view
@@ -1,118 +1,124 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DisassociateAddress--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Disassociates an Elastic IP address from the instance or network interface--- it's associated with.+-- Disassociates an Elastic IP address from the instance or network+-- interface it\'s associated with. ----- An Elastic IP address is for use in either the EC2-Classic platform or 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 ElasticCompute Cloud User Guide/.+-- An Elastic IP address is for use in either the EC2-Classic platform or+-- 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/. -- -- This is an idempotent operation. If you perform the operation more than--- once, Amazon EC2 doesn't return an error.+-- once, Amazon EC2 doesn\'t return an error. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DisassociateAddress.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DisassociateAddress.html AWS API Reference> for DisassociateAddress. module Network.AWS.EC2.DisassociateAddress     (-    -- * Request-      DisassociateAddress-    -- ** Request constructor-    , disassociateAddress-    -- ** Request lenses-    , da1AssociationId-    , da1DryRun-    , da1PublicIp+    -- * Creating a Request+      disassociateAddress+    , DisassociateAddress+    -- * Request Lenses+    , dasAssociationId+    , dasPublicIP+    , dasDryRun -    -- * Response-    , DisassociateAddressResponse-    -- ** Response constructor+    -- * Destructuring the Response     , disassociateAddressResponse+    , DisassociateAddressResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DisassociateAddress = DisassociateAddress-    { _da1AssociationId :: Maybe Text-    , _da1DryRun        :: Maybe Bool-    , _da1PublicIp      :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'disassociateAddress' smart constructor.+data DisassociateAddress = DisassociateAddress'+    { _dasAssociationId :: !(Maybe Text)+    , _dasPublicIP      :: !(Maybe Text)+    , _dasDryRun        :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DisassociateAddress' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DisassociateAddress' with the minimum fields required to make a request. ----- * 'da1AssociationId' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'da1DryRun' @::@ 'Maybe' 'Bool'+-- * 'dasAssociationId' ----- * 'da1PublicIp' @::@ 'Maybe' 'Text'+-- * 'dasPublicIP' ---disassociateAddress :: DisassociateAddress-disassociateAddress = DisassociateAddress-    { _da1DryRun        = Nothing-    , _da1PublicIp      = Nothing-    , _da1AssociationId = Nothing+-- * 'dasDryRun'+disassociateAddress+    :: DisassociateAddress+disassociateAddress =+    DisassociateAddress'+    { _dasAssociationId = Nothing+    , _dasPublicIP = Nothing+    , _dasDryRun = Nothing     }  -- | [EC2-VPC] The association ID. Required for EC2-VPC.-da1AssociationId :: Lens' DisassociateAddress (Maybe Text)-da1AssociationId = lens _da1AssociationId (\s a -> s { _da1AssociationId = 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'.-da1DryRun :: Lens' DisassociateAddress (Maybe Bool)-da1DryRun = lens _da1DryRun (\s a -> s { _da1DryRun = a })+dasAssociationId :: Lens' DisassociateAddress (Maybe Text)+dasAssociationId = lens _dasAssociationId (\ s a -> s{_dasAssociationId = a});  -- | [EC2-Classic] The Elastic IP address. Required for EC2-Classic.-da1PublicIp :: Lens' DisassociateAddress (Maybe Text)-da1PublicIp = lens _da1PublicIp (\s a -> s { _da1PublicIp = a })+dasPublicIP :: Lens' DisassociateAddress (Maybe Text)+dasPublicIP = lens _dasPublicIP (\ s a -> s{_dasPublicIP = a}); -data DisassociateAddressResponse = DisassociateAddressResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | 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'.+dasDryRun :: Lens' DisassociateAddress (Maybe Bool)+dasDryRun = lens _dasDryRun (\ s a -> s{_dasDryRun = a}); --- | 'DisassociateAddressResponse' constructor.-disassociateAddressResponse :: DisassociateAddressResponse-disassociateAddressResponse = DisassociateAddressResponse+instance AWSRequest DisassociateAddress where+        type Sv DisassociateAddress = EC2+        type Rs DisassociateAddress =+             DisassociateAddressResponse+        request = post+        response = receiveNull DisassociateAddressResponse' +instance ToHeaders DisassociateAddress where+        toHeaders = const mempty+ instance ToPath DisassociateAddress where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DisassociateAddress where-    toQuery DisassociateAddress{..} = mconcat-        [ "AssociationId" =? _da1AssociationId-        , "DryRun"        =? _da1DryRun-        , "PublicIp"      =? _da1PublicIp-        ]--instance ToHeaders DisassociateAddress+        toQuery DisassociateAddress'{..}+          = mconcat+              ["Action" =: ("DisassociateAddress" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "AssociationId" =: _dasAssociationId,+               "PublicIp" =: _dasPublicIP, "DryRun" =: _dasDryRun] -instance AWSRequest DisassociateAddress where-    type Sv DisassociateAddress = EC2-    type Rs DisassociateAddress = DisassociateAddressResponse+-- | /See:/ 'disassociateAddressResponse' smart constructor.+data DisassociateAddressResponse =+    DisassociateAddressResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DisassociateAddress"-    response = nullResponse DisassociateAddressResponse+-- | Creates a value of 'DisassociateAddressResponse' with the minimum fields required to make a request.+--+disassociateAddressResponse+    :: DisassociateAddressResponse+disassociateAddressResponse = DisassociateAddressResponse'
gen/Network/AWS/EC2/DisassociateRouteTable.hs view
@@ -1,107 +1,116 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DisassociateRouteTable--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Disassociates a subnet from a route table.+-- Disassociates a subnet from a route table. ----- After you perform this action, the subnet no longer uses the routes in the--- route table. Instead, it uses the routes in the VPC's main route 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 VirtualPrivate Cloud User Guide/.+-- After you perform this action, the subnet no longer uses the routes in+-- the route table. Instead, it uses the routes in the VPC\'s main route+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DisassociateRouteTable.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DisassociateRouteTable.html AWS API Reference> for DisassociateRouteTable. module Network.AWS.EC2.DisassociateRouteTable     (-    -- * Request-      DisassociateRouteTable-    -- ** Request constructor-    , disassociateRouteTable-    -- ** Request lenses-    , drtAssociationId+    -- * Creating a Request+      disassociateRouteTable+    , DisassociateRouteTable+    -- * Request Lenses     , drtDryRun+    , drtAssociationId -    -- * Response-    , DisassociateRouteTableResponse-    -- ** Response constructor+    -- * Destructuring the Response     , disassociateRouteTableResponse+    , DisassociateRouteTableResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DisassociateRouteTable = DisassociateRouteTable-    { _drtAssociationId :: Text-    , _drtDryRun        :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'disassociateRouteTable' smart constructor.+data DisassociateRouteTable = DisassociateRouteTable'+    { _drtDryRun        :: !(Maybe Bool)+    , _drtAssociationId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DisassociateRouteTable' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DisassociateRouteTable' with the minimum fields required to make a request. ----- * 'drtAssociationId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'drtDryRun' @::@ 'Maybe' 'Bool'+-- * 'drtDryRun' ---disassociateRouteTable :: Text -- ^ 'drtAssociationId'-                       -> DisassociateRouteTable-disassociateRouteTable p1 = DisassociateRouteTable-    { _drtAssociationId = p1-    , _drtDryRun        = Nothing+-- * 'drtAssociationId'+disassociateRouteTable+    :: Text -- ^ 'drtAssociationId'+    -> DisassociateRouteTable+disassociateRouteTable pAssociationId_ =+    DisassociateRouteTable'+    { _drtDryRun = Nothing+    , _drtAssociationId = pAssociationId_     } --- | The association ID representing the current association between the route--- table and subnet.-drtAssociationId :: Lens' DisassociateRouteTable Text-drtAssociationId = lens _drtAssociationId (\s a -> s { _drtAssociationId = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. drtDryRun :: Lens' DisassociateRouteTable (Maybe Bool)-drtDryRun = lens _drtDryRun (\s a -> s { _drtDryRun = a })+drtDryRun = lens _drtDryRun (\ s a -> s{_drtDryRun = a}); -data DisassociateRouteTableResponse = DisassociateRouteTableResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The association ID representing the current association between the+-- route table and subnet.+drtAssociationId :: Lens' DisassociateRouteTable Text+drtAssociationId = lens _drtAssociationId (\ s a -> s{_drtAssociationId = a}); --- | 'DisassociateRouteTableResponse' constructor.-disassociateRouteTableResponse :: DisassociateRouteTableResponse-disassociateRouteTableResponse = DisassociateRouteTableResponse+instance AWSRequest DisassociateRouteTable where+        type Sv DisassociateRouteTable = EC2+        type Rs DisassociateRouteTable =+             DisassociateRouteTableResponse+        request = post+        response+          = receiveNull DisassociateRouteTableResponse' +instance ToHeaders DisassociateRouteTable where+        toHeaders = const mempty+ instance ToPath DisassociateRouteTable where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DisassociateRouteTable where-    toQuery DisassociateRouteTable{..} = mconcat-        [ "AssociationId" =? _drtAssociationId-        , "DryRun"        =? _drtDryRun-        ]--instance ToHeaders DisassociateRouteTable+        toQuery DisassociateRouteTable'{..}+          = mconcat+              ["Action" =:+                 ("DisassociateRouteTable" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _drtDryRun,+               "AssociationId" =: _drtAssociationId] -instance AWSRequest DisassociateRouteTable where-    type Sv DisassociateRouteTable = EC2-    type Rs DisassociateRouteTable = DisassociateRouteTableResponse+-- | /See:/ 'disassociateRouteTableResponse' smart constructor.+data DisassociateRouteTableResponse =+    DisassociateRouteTableResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DisassociateRouteTable"-    response = nullResponse DisassociateRouteTableResponse+-- | Creates a value of 'DisassociateRouteTableResponse' with the minimum fields required to make a request.+--+disassociateRouteTableResponse+    :: DisassociateRouteTableResponse+disassociateRouteTableResponse = DisassociateRouteTableResponse'
+ gen/Network/AWS/EC2/EnableVGWRoutePropagation.hs view
@@ -0,0 +1,108 @@+{-# 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.EnableVGWRoutePropagation+-- 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)+--+-- 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+      enableVGWRoutePropagation+    , EnableVGWRoutePropagation+    -- * Request Lenses+    , evrpRouteTableId+    , evrpGatewayId++    -- * Destructuring the Response+    , enableVGWRoutePropagationResponse+    , EnableVGWRoutePropagationResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'enableVGWRoutePropagation' smart constructor.+data EnableVGWRoutePropagation = EnableVGWRoutePropagation'+    { _evrpRouteTableId :: !Text+    , _evrpGatewayId    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableVGWRoutePropagation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evrpRouteTableId'+--+-- * 'evrpGatewayId'+enableVGWRoutePropagation+    :: Text -- ^ 'evrpRouteTableId'+    -> Text -- ^ 'evrpGatewayId'+    -> EnableVGWRoutePropagation+enableVGWRoutePropagation pRouteTableId_ pGatewayId_ =+    EnableVGWRoutePropagation'+    { _evrpRouteTableId = pRouteTableId_+    , _evrpGatewayId = pGatewayId_+    }++-- | The ID of the route table.+evrpRouteTableId :: Lens' EnableVGWRoutePropagation Text+evrpRouteTableId = lens _evrpRouteTableId (\ s a -> s{_evrpRouteTableId = a});++-- | The ID of the virtual private gateway.+evrpGatewayId :: Lens' EnableVGWRoutePropagation Text+evrpGatewayId = lens _evrpGatewayId (\ s a -> s{_evrpGatewayId = a});++instance AWSRequest EnableVGWRoutePropagation where+        type Sv EnableVGWRoutePropagation = EC2+        type Rs EnableVGWRoutePropagation =+             EnableVGWRoutePropagationResponse+        request = post+        response+          = receiveNull EnableVGWRoutePropagationResponse'++instance ToHeaders EnableVGWRoutePropagation where+        toHeaders = const mempty++instance ToPath EnableVGWRoutePropagation where+        toPath = const "/"++instance ToQuery EnableVGWRoutePropagation where+        toQuery EnableVGWRoutePropagation'{..}+          = mconcat+              ["Action" =:+                 ("EnableVgwRoutePropagation" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "RouteTableId" =: _evrpRouteTableId,+               "GatewayId" =: _evrpGatewayId]++-- | /See:/ 'enableVGWRoutePropagationResponse' smart constructor.+data EnableVGWRoutePropagationResponse =+    EnableVGWRoutePropagationResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableVGWRoutePropagationResponse' with the minimum fields required to make a request.+--+enableVGWRoutePropagationResponse+    :: EnableVGWRoutePropagationResponse+enableVGWRoutePropagationResponse = EnableVGWRoutePropagationResponse'
+ gen/Network/AWS/EC2/EnableVPCClassicLink.hs view
@@ -0,0 +1,140 @@+{-# 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.EnableVPCClassicLink+-- 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)+--+-- Enables a VPC for ClassicLink. You can then link EC2-Classic instances+-- to your ClassicLink-enabled VPC to allow communication over private IP+-- addresses. You cannot enable your VPC for ClassicLink if any of your+-- VPC\'s route tables have existing routes for address ranges within the+-- '10.0.0.0\/8' IP address range, excluding local routes for VPCs in the+-- '10.0.0.0\/16' and '10.1.0.0\/16' IP address ranges. For more+-- 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+      enableVPCClassicLink+    , EnableVPCClassicLink+    -- * Request Lenses+    , evclDryRun+    , evclVPCId++    -- * Destructuring the Response+    , enableVPCClassicLinkResponse+    , EnableVPCClassicLinkResponse+    -- * Response Lenses+    , evclrsReturn+    , evclrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'enableVPCClassicLink' smart constructor.+data EnableVPCClassicLink = EnableVPCClassicLink'+    { _evclDryRun :: !(Maybe Bool)+    , _evclVPCId  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableVPCClassicLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evclDryRun'+--+-- * 'evclVPCId'+enableVPCClassicLink+    :: Text -- ^ 'evclVPCId'+    -> EnableVPCClassicLink+enableVPCClassicLink pVPCId_ =+    EnableVPCClassicLink'+    { _evclDryRun = Nothing+    , _evclVPCId = pVPCId_+    }++-- | 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'.+evclDryRun :: Lens' EnableVPCClassicLink (Maybe Bool)+evclDryRun = lens _evclDryRun (\ s a -> s{_evclDryRun = a});++-- | The ID of the VPC.+evclVPCId :: Lens' EnableVPCClassicLink Text+evclVPCId = lens _evclVPCId (\ s a -> s{_evclVPCId = a});++instance AWSRequest EnableVPCClassicLink where+        type Sv EnableVPCClassicLink = EC2+        type Rs EnableVPCClassicLink =+             EnableVPCClassicLinkResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 EnableVPCClassicLinkResponse' <$>+                   (x .@? "return") <*> (pure (fromEnum s)))++instance ToHeaders EnableVPCClassicLink where+        toHeaders = const mempty++instance ToPath EnableVPCClassicLink where+        toPath = const "/"++instance ToQuery EnableVPCClassicLink where+        toQuery EnableVPCClassicLink'{..}+          = mconcat+              ["Action" =: ("EnableVpcClassicLink" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _evclDryRun, "VpcId" =: _evclVPCId]++-- | /See:/ 'enableVPCClassicLinkResponse' smart constructor.+data EnableVPCClassicLinkResponse = EnableVPCClassicLinkResponse'+    { _evclrsReturn :: !(Maybe Bool)+    , _evclrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableVPCClassicLinkResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evclrsReturn'+--+-- * 'evclrsStatus'+enableVPCClassicLinkResponse+    :: Int -- ^ 'evclrsStatus'+    -> EnableVPCClassicLinkResponse+enableVPCClassicLinkResponse pStatus_ =+    EnableVPCClassicLinkResponse'+    { _evclrsReturn = Nothing+    , _evclrsStatus = pStatus_+    }++-- | Returns 'true' if the request succeeds; otherwise, it returns an error.+evclrsReturn :: Lens' EnableVPCClassicLinkResponse (Maybe Bool)+evclrsReturn = lens _evclrsReturn (\ s a -> s{_evclrsReturn = a});++-- | The response status code.+evclrsStatus :: Lens' EnableVPCClassicLinkResponse Int+evclrsStatus = lens _evclrsStatus (\ s a -> s{_evclrsStatus = a});
− gen/Network/AWS/EC2/EnableVgwRoutePropagation.hs
@@ -1,102 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.EnableVgwRoutePropagation--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Enables a virtual private gateway (VGW) to propagate routes to the specified--- route table of a VPC.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-EnableVgwRoutePropagation.html>-module Network.AWS.EC2.EnableVgwRoutePropagation-    (-    -- * Request-      EnableVgwRoutePropagation-    -- ** Request constructor-    , enableVgwRoutePropagation-    -- ** Request lenses-    , evrpGatewayId-    , evrpRouteTableId--    -- * Response-    , EnableVgwRoutePropagationResponse-    -- ** Response constructor-    , enableVgwRoutePropagationResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data EnableVgwRoutePropagation = EnableVgwRoutePropagation-    { _evrpGatewayId    :: Text-    , _evrpRouteTableId :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'EnableVgwRoutePropagation' constructor.------ The fields accessible through corresponding lenses are:------ * 'evrpGatewayId' @::@ 'Text'------ * 'evrpRouteTableId' @::@ 'Text'----enableVgwRoutePropagation :: Text -- ^ 'evrpRouteTableId'-                          -> Text -- ^ 'evrpGatewayId'-                          -> EnableVgwRoutePropagation-enableVgwRoutePropagation p1 p2 = EnableVgwRoutePropagation-    { _evrpRouteTableId = p1-    , _evrpGatewayId    = p2-    }---- | The ID of the virtual private gateway.-evrpGatewayId :: Lens' EnableVgwRoutePropagation Text-evrpGatewayId = lens _evrpGatewayId (\s a -> s { _evrpGatewayId = a })---- | The ID of the route table.-evrpRouteTableId :: Lens' EnableVgwRoutePropagation Text-evrpRouteTableId = lens _evrpRouteTableId (\s a -> s { _evrpRouteTableId = a })--data EnableVgwRoutePropagationResponse = EnableVgwRoutePropagationResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'EnableVgwRoutePropagationResponse' constructor.-enableVgwRoutePropagationResponse :: EnableVgwRoutePropagationResponse-enableVgwRoutePropagationResponse = EnableVgwRoutePropagationResponse--instance ToPath EnableVgwRoutePropagation where-    toPath = const "/"--instance ToQuery EnableVgwRoutePropagation where-    toQuery EnableVgwRoutePropagation{..} = mconcat-        [ "GatewayId"    =? _evrpGatewayId-        , "RouteTableId" =? _evrpRouteTableId-        ]--instance ToHeaders EnableVgwRoutePropagation--instance AWSRequest EnableVgwRoutePropagation where-    type Sv EnableVgwRoutePropagation = EC2-    type Rs EnableVgwRoutePropagation = EnableVgwRoutePropagationResponse--    request  = post "EnableVgwRoutePropagation"-    response = nullResponse EnableVgwRoutePropagationResponse
gen/Network/AWS/EC2/EnableVolumeIO.hs view
@@ -1,103 +1,106 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.EnableVolumeIO--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Enables I/O operations for a volume that had I/O operations disabled because--- the data on the volume was potentially inconsistent.+-- Enables I\/O operations for a volume that had I\/O operations disabled+-- because the data on the volume was potentially inconsistent. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-EnableVolumeIO.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-EnableVolumeIO.html AWS API Reference> for EnableVolumeIO. module Network.AWS.EC2.EnableVolumeIO     (-    -- * Request-      EnableVolumeIO-    -- ** Request constructor-    , enableVolumeIO-    -- ** Request lenses+    -- * Creating a Request+      enableVolumeIO+    , EnableVolumeIO+    -- * Request Lenses     , evioDryRun     , evioVolumeId -    -- * Response-    , EnableVolumeIOResponse-    -- ** Response constructor+    -- * Destructuring the Response     , enableVolumeIOResponse+    , EnableVolumeIOResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data EnableVolumeIO = EnableVolumeIO-    { _evioDryRun   :: Maybe Bool-    , _evioVolumeId :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'enableVolumeIO' smart constructor.+data EnableVolumeIO = EnableVolumeIO'+    { _evioDryRun   :: !(Maybe Bool)+    , _evioVolumeId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'EnableVolumeIO' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'EnableVolumeIO' with the minimum fields required to make a request. ----- * 'evioDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'evioVolumeId' @::@ 'Text'+-- * 'evioDryRun' ---enableVolumeIO :: Text -- ^ 'evioVolumeId'-               -> EnableVolumeIO-enableVolumeIO p1 = EnableVolumeIO-    { _evioVolumeId = p1-    , _evioDryRun   = Nothing+-- * 'evioVolumeId'+enableVolumeIO+    :: Text -- ^ 'evioVolumeId'+    -> EnableVolumeIO+enableVolumeIO pVolumeId_ =+    EnableVolumeIO'+    { _evioDryRun = Nothing+    , _evioVolumeId = pVolumeId_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. evioDryRun :: Lens' EnableVolumeIO (Maybe Bool)-evioDryRun = lens _evioDryRun (\s a -> s { _evioDryRun = a })+evioDryRun = lens _evioDryRun (\ s a -> s{_evioDryRun = a});  -- | The ID of the volume. evioVolumeId :: Lens' EnableVolumeIO Text-evioVolumeId = lens _evioVolumeId (\s a -> s { _evioVolumeId = a })+evioVolumeId = lens _evioVolumeId (\ s a -> s{_evioVolumeId = a}); -data EnableVolumeIOResponse = EnableVolumeIOResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest EnableVolumeIO where+        type Sv EnableVolumeIO = EC2+        type Rs EnableVolumeIO = EnableVolumeIOResponse+        request = post+        response = receiveNull EnableVolumeIOResponse' --- | 'EnableVolumeIOResponse' constructor.-enableVolumeIOResponse :: EnableVolumeIOResponse-enableVolumeIOResponse = EnableVolumeIOResponse+instance ToHeaders EnableVolumeIO where+        toHeaders = const mempty  instance ToPath EnableVolumeIO where-    toPath = const "/"+        toPath = const "/"  instance ToQuery EnableVolumeIO where-    toQuery EnableVolumeIO{..} = mconcat-        [ "DryRun"   =? _evioDryRun-        , "VolumeId" =? _evioVolumeId-        ]--instance ToHeaders EnableVolumeIO+        toQuery EnableVolumeIO'{..}+          = mconcat+              ["Action" =: ("EnableVolumeIO" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _evioDryRun, "VolumeId" =: _evioVolumeId] -instance AWSRequest EnableVolumeIO where-    type Sv EnableVolumeIO = EC2-    type Rs EnableVolumeIO = EnableVolumeIOResponse+-- | /See:/ 'enableVolumeIOResponse' smart constructor.+data EnableVolumeIOResponse =+    EnableVolumeIOResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "EnableVolumeIO"-    response = nullResponse EnableVolumeIOResponse+-- | Creates a value of 'EnableVolumeIOResponse' with the minimum fields required to make a request.+--+enableVolumeIOResponse+    :: EnableVolumeIOResponse+enableVolumeIOResponse = EnableVolumeIOResponse'
− gen/Network/AWS/EC2/EnableVpcClassicLink.hs
@@ -1,125 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.EnableVpcClassicLink--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Enables a VPC for ClassicLink. You can then link EC2-Classic instances to--- your ClassicLink-enabled VPC to allow communication over private IP--- addresses. You cannot enable your VPC for ClassicLink if any of your VPC's--- route tables have existing routes for address ranges within the '10.0.0.0/8' IP--- address range, excluding local routes for VPCs in the '10.0.0.0/16' and '10.1.0.0/16' IP address ranges. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink> in the Amazon--- Elastic Compute Cloud User Guide.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-EnableVpcClassicLink.html>-module Network.AWS.EC2.EnableVpcClassicLink-    (-    -- * Request-      EnableVpcClassicLink-    -- ** Request constructor-    , enableVpcClassicLink-    -- ** Request lenses-    , evclDryRun-    , evclVpcId--    -- * Response-    , EnableVpcClassicLinkResponse-    -- ** Response constructor-    , enableVpcClassicLinkResponse-    -- ** Response lenses-    , evclrReturn-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data EnableVpcClassicLink = EnableVpcClassicLink-    { _evclDryRun :: Maybe Bool-    , _evclVpcId  :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'EnableVpcClassicLink' constructor.------ The fields accessible through corresponding lenses are:------ * 'evclDryRun' @::@ 'Maybe' 'Bool'------ * 'evclVpcId' @::@ 'Text'----enableVpcClassicLink :: Text -- ^ 'evclVpcId'-                     -> EnableVpcClassicLink-enableVpcClassicLink p1 = EnableVpcClassicLink-    { _evclVpcId  = p1-    , _evclDryRun = Nothing-    }---- | 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'.-evclDryRun :: Lens' EnableVpcClassicLink (Maybe Bool)-evclDryRun = lens _evclDryRun (\s a -> s { _evclDryRun = a })---- | The ID of the VPC.-evclVpcId :: Lens' EnableVpcClassicLink Text-evclVpcId = lens _evclVpcId (\s a -> s { _evclVpcId = a })--newtype EnableVpcClassicLinkResponse = EnableVpcClassicLinkResponse-    { _evclrReturn :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'EnableVpcClassicLinkResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'evclrReturn' @::@ 'Maybe' 'Bool'----enableVpcClassicLinkResponse :: EnableVpcClassicLinkResponse-enableVpcClassicLinkResponse = EnableVpcClassicLinkResponse-    { _evclrReturn = Nothing-    }---- | Returns 'true' if the request succeeds; otherwise, it returns an error.-evclrReturn :: Lens' EnableVpcClassicLinkResponse (Maybe Bool)-evclrReturn = lens _evclrReturn (\s a -> s { _evclrReturn = a })--instance ToPath EnableVpcClassicLink where-    toPath = const "/"--instance ToQuery EnableVpcClassicLink where-    toQuery EnableVpcClassicLink{..} = mconcat-        [ "DryRun" =? _evclDryRun-        , "VpcId"  =? _evclVpcId-        ]--instance ToHeaders EnableVpcClassicLink--instance AWSRequest EnableVpcClassicLink where-    type Sv EnableVpcClassicLink = EC2-    type Rs EnableVpcClassicLink = EnableVpcClassicLinkResponse--    request  = post "EnableVpcClassicLink"-    response = xmlResponse--instance FromXML EnableVpcClassicLinkResponse where-    parseXML x = EnableVpcClassicLinkResponse-        <$> x .@? "return"
gen/Network/AWS/EC2/GetConsoleOutput.hs view
@@ -1,157 +1,171 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.GetConsoleOutput--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Gets the console output for the specified instance.+-- Gets the console output for the specified instance. ----- Instances do not have a physical monitor through which you can view their--- console output. They also lack physical controls that allow you to power up,--- reboot, or shut them down. To allow these actions, we provide them through--- the Amazon EC2 API and command line interface.+-- Instances do not have a physical monitor through which you can view+-- their console output. They also lack physical controls that allow you to+-- power up, reboot, or shut them down. To allow these actions, we provide+-- them through the Amazon EC2 API and command line interface. ----- Instance console output is buffered and posted shortly after instance boot,--- reboot, and termination. Amazon EC2 preserves the most recent 64 KB output--- which is available for at least one hour after the most recent post.+-- Instance console output is buffered and posted shortly after instance+-- boot, reboot, and termination. Amazon EC2 preserves the most recent 64+-- KB output which is available for at least one hour after the most recent+-- post. ----- For Linux instances, the instance console output displays the exact console--- output that would normally be displayed on a physical monitor attached to a--- computer. This output is buffered because the instance produces it and then--- posts it to a store where the instance's owner can retrieve it.+-- For Linux instances, the instance console output displays the exact+-- console output that would normally be displayed on a physical monitor+-- attached to a computer. This output is buffered because the instance+-- produces it and then posts it to a store where the instance\'s owner can+-- retrieve it. ----- For Windows instances, the instance console output includes output from the--- EC2Config service.+-- For Windows instances, the instance console output includes output from+-- the EC2Config service. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-GetConsoleOutput.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-GetConsoleOutput.html AWS API Reference> for GetConsoleOutput. module Network.AWS.EC2.GetConsoleOutput     (-    -- * Request-      GetConsoleOutput-    -- ** Request constructor-    , getConsoleOutput-    -- ** Request lenses+    -- * Creating a Request+      getConsoleOutput+    , GetConsoleOutput+    -- * Request Lenses     , gcoDryRun     , gcoInstanceId -    -- * Response-    , GetConsoleOutputResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getConsoleOutputResponse-    -- ** Response lenses-    , gcorInstanceId-    , gcorOutput-    , gcorTimestamp+    , GetConsoleOutputResponse+    -- * Response Lenses+    , gcorsInstanceId+    , gcorsOutput+    , gcorsTimestamp+    , gcorsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data GetConsoleOutput = GetConsoleOutput-    { _gcoDryRun     :: Maybe Bool-    , _gcoInstanceId :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'getConsoleOutput' smart constructor.+data GetConsoleOutput = GetConsoleOutput'+    { _gcoDryRun     :: !(Maybe Bool)+    , _gcoInstanceId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetConsoleOutput' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetConsoleOutput' with the minimum fields required to make a request. ----- * 'gcoDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'gcoInstanceId' @::@ 'Text'+-- * 'gcoDryRun' ---getConsoleOutput :: Text -- ^ 'gcoInstanceId'-                 -> GetConsoleOutput-getConsoleOutput p1 = GetConsoleOutput-    { _gcoInstanceId = p1-    , _gcoDryRun     = Nothing+-- * 'gcoInstanceId'+getConsoleOutput+    :: Text -- ^ 'gcoInstanceId'+    -> GetConsoleOutput+getConsoleOutput pInstanceId_ =+    GetConsoleOutput'+    { _gcoDryRun = Nothing+    , _gcoInstanceId = pInstanceId_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. gcoDryRun :: Lens' GetConsoleOutput (Maybe Bool)-gcoDryRun = lens _gcoDryRun (\s a -> s { _gcoDryRun = a })+gcoDryRun = lens _gcoDryRun (\ s a -> s{_gcoDryRun = a});  -- | The ID of the instance. gcoInstanceId :: Lens' GetConsoleOutput Text-gcoInstanceId = lens _gcoInstanceId (\s a -> s { _gcoInstanceId = a })+gcoInstanceId = lens _gcoInstanceId (\ s a -> s{_gcoInstanceId = a}); -data GetConsoleOutputResponse = GetConsoleOutputResponse-    { _gcorInstanceId :: Maybe Text-    , _gcorOutput     :: Maybe Text-    , _gcorTimestamp  :: Maybe ISO8601-    } deriving (Eq, Ord, Read, Show)+instance AWSRequest GetConsoleOutput where+        type Sv GetConsoleOutput = EC2+        type Rs GetConsoleOutput = GetConsoleOutputResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 GetConsoleOutputResponse' <$>+                   (x .@? "instanceId") <*> (x .@? "output") <*>+                     (x .@? "timestamp")+                     <*> (pure (fromEnum s))) --- | 'GetConsoleOutputResponse' constructor.+instance ToHeaders GetConsoleOutput where+        toHeaders = const mempty++instance ToPath GetConsoleOutput where+        toPath = const "/"++instance ToQuery GetConsoleOutput where+        toQuery GetConsoleOutput'{..}+          = mconcat+              ["Action" =: ("GetConsoleOutput" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _gcoDryRun,+               "InstanceId" =: _gcoInstanceId]++-- | /See:/ 'getConsoleOutputResponse' smart constructor.+data GetConsoleOutputResponse = GetConsoleOutputResponse'+    { _gcorsInstanceId :: !(Maybe Text)+    , _gcorsOutput     :: !(Maybe Text)+    , _gcorsTimestamp  :: !(Maybe ISO8601)+    , _gcorsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetConsoleOutputResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'gcorInstanceId' @::@ 'Maybe' 'Text'+-- * 'gcorsInstanceId' ----- * 'gcorOutput' @::@ 'Maybe' 'Text'+-- * 'gcorsOutput' ----- * 'gcorTimestamp' @::@ 'Maybe' 'UTCTime'+-- * 'gcorsTimestamp' ---getConsoleOutputResponse :: GetConsoleOutputResponse-getConsoleOutputResponse = GetConsoleOutputResponse-    { _gcorInstanceId = Nothing-    , _gcorTimestamp  = Nothing-    , _gcorOutput     = Nothing+-- * 'gcorsStatus'+getConsoleOutputResponse+    :: Int -- ^ 'gcorsStatus'+    -> GetConsoleOutputResponse+getConsoleOutputResponse pStatus_ =+    GetConsoleOutputResponse'+    { _gcorsInstanceId = Nothing+    , _gcorsOutput = Nothing+    , _gcorsTimestamp = Nothing+    , _gcorsStatus = pStatus_     }  -- | The ID of the instance.-gcorInstanceId :: Lens' GetConsoleOutputResponse (Maybe Text)-gcorInstanceId = lens _gcorInstanceId (\s a -> s { _gcorInstanceId = a })+gcorsInstanceId :: Lens' GetConsoleOutputResponse (Maybe Text)+gcorsInstanceId = lens _gcorsInstanceId (\ s a -> s{_gcorsInstanceId = a});  -- | The console output, Base64 encoded.-gcorOutput :: Lens' GetConsoleOutputResponse (Maybe Text)-gcorOutput = lens _gcorOutput (\s a -> s { _gcorOutput = a })+gcorsOutput :: Lens' GetConsoleOutputResponse (Maybe Text)+gcorsOutput = lens _gcorsOutput (\ s a -> s{_gcorsOutput = a});  -- | The time the output was last updated.-gcorTimestamp :: Lens' GetConsoleOutputResponse (Maybe UTCTime)-gcorTimestamp = lens _gcorTimestamp (\s a -> s { _gcorTimestamp = a }) . mapping _Time--instance ToPath GetConsoleOutput where-    toPath = const "/"--instance ToQuery GetConsoleOutput where-    toQuery GetConsoleOutput{..} = mconcat-        [ "DryRun"     =? _gcoDryRun-        , "InstanceId" =? _gcoInstanceId-        ]--instance ToHeaders GetConsoleOutput--instance AWSRequest GetConsoleOutput where-    type Sv GetConsoleOutput = EC2-    type Rs GetConsoleOutput = GetConsoleOutputResponse--    request  = post "GetConsoleOutput"-    response = xmlResponse+gcorsTimestamp :: Lens' GetConsoleOutputResponse (Maybe UTCTime)+gcorsTimestamp = lens _gcorsTimestamp (\ s a -> s{_gcorsTimestamp = a}) . mapping _Time; -instance FromXML GetConsoleOutputResponse where-    parseXML x = GetConsoleOutputResponse-        <$> x .@? "instanceId"-        <*> x .@? "output"-        <*> x .@? "timestamp"+-- | The response status code.+gcorsStatus :: Lens' GetConsoleOutputResponse Int+gcorsStatus = lens _gcorsStatus (\ s a -> s{_gcorsStatus = a});
gen/Network/AWS/EC2/GetPasswordData.hs view
@@ -1,155 +1,169 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.GetPasswordData--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Retrieves the encrypted administrator password for an instance running+-- Retrieves the encrypted administrator password for an instance running -- Windows. ----- The Windows password is generated at boot if the 'EC2Config' service plugin, 'Ec2SetPassword', is enabled. This usually only happens the first time an AMI is launched,--- and then 'Ec2SetPassword' is automatically disabled. The password is not--- generated for rebundled AMIs unless 'Ec2SetPassword' is enabled before bundling.+-- The Windows password is generated at boot if the 'EC2Config' service+-- plugin, 'Ec2SetPassword', is enabled. This usually only happens the+-- first time an AMI is launched, and then 'Ec2SetPassword' is+-- automatically disabled. The password is not generated for rebundled AMIs+-- unless 'Ec2SetPassword' is enabled before bundling. -- -- The password is encrypted using the key pair that you specified when you -- launched the instance. You must provide the corresponding key pair file. ----- 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.+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-GetPasswordData.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-GetPasswordData.html AWS API Reference> for GetPasswordData. module Network.AWS.EC2.GetPasswordData     (-    -- * Request-      GetPasswordData-    -- ** Request constructor-    , getPasswordData-    -- ** Request lenses+    -- * Creating a Request+      getPasswordData+    , GetPasswordData+    -- * Request Lenses     , gpdDryRun     , gpdInstanceId -    -- * Response-    , GetPasswordDataResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getPasswordDataResponse-    -- ** Response lenses-    , gpdrInstanceId-    , gpdrPasswordData-    , gpdrTimestamp+    , GetPasswordDataResponse+    -- * Response Lenses+    , gpdrsStatus+    , gpdrsInstanceId+    , gpdrsPasswordData+    , gpdrsTimestamp     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data GetPasswordData = GetPasswordData-    { _gpdDryRun     :: Maybe Bool-    , _gpdInstanceId :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'getPasswordData' smart constructor.+data GetPasswordData = GetPasswordData'+    { _gpdDryRun     :: !(Maybe Bool)+    , _gpdInstanceId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetPasswordData' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetPasswordData' with the minimum fields required to make a request. ----- * 'gpdDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'gpdInstanceId' @::@ 'Text'+-- * 'gpdDryRun' ---getPasswordData :: Text -- ^ 'gpdInstanceId'-                -> GetPasswordData-getPasswordData p1 = GetPasswordData-    { _gpdInstanceId = p1-    , _gpdDryRun     = Nothing+-- * 'gpdInstanceId'+getPasswordData+    :: Text -- ^ 'gpdInstanceId'+    -> GetPasswordData+getPasswordData pInstanceId_ =+    GetPasswordData'+    { _gpdDryRun = Nothing+    , _gpdInstanceId = pInstanceId_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. gpdDryRun :: Lens' GetPasswordData (Maybe Bool)-gpdDryRun = lens _gpdDryRun (\s a -> s { _gpdDryRun = a })+gpdDryRun = lens _gpdDryRun (\ s a -> s{_gpdDryRun = a});  -- | The ID of the Windows instance. gpdInstanceId :: Lens' GetPasswordData Text-gpdInstanceId = lens _gpdInstanceId (\s a -> s { _gpdInstanceId = a })+gpdInstanceId = lens _gpdInstanceId (\ s a -> s{_gpdInstanceId = a}); -data GetPasswordDataResponse = GetPasswordDataResponse-    { _gpdrInstanceId   :: Text-    , _gpdrPasswordData :: Text-    , _gpdrTimestamp    :: ISO8601-    } deriving (Eq, Ord, Read, Show)+instance AWSRequest GetPasswordData where+        type Sv GetPasswordData = EC2+        type Rs GetPasswordData = GetPasswordDataResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 GetPasswordDataResponse' <$>+                   (pure (fromEnum s)) <*> (x .@ "instanceId") <*>+                     (x .@ "passwordData")+                     <*> (x .@ "timestamp")) --- | 'GetPasswordDataResponse' constructor.+instance ToHeaders GetPasswordData where+        toHeaders = const mempty++instance ToPath GetPasswordData where+        toPath = const "/"++instance ToQuery GetPasswordData where+        toQuery GetPasswordData'{..}+          = mconcat+              ["Action" =: ("GetPasswordData" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _gpdDryRun,+               "InstanceId" =: _gpdInstanceId]++-- | /See:/ 'getPasswordDataResponse' smart constructor.+data GetPasswordDataResponse = GetPasswordDataResponse'+    { _gpdrsStatus       :: !Int+    , _gpdrsInstanceId   :: !Text+    , _gpdrsPasswordData :: !Text+    , _gpdrsTimestamp    :: !ISO8601+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetPasswordDataResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'gpdrInstanceId' @::@ 'Text'+-- * 'gpdrsStatus' ----- * 'gpdrPasswordData' @::@ 'Text'+-- * 'gpdrsInstanceId' ----- * 'gpdrTimestamp' @::@ 'UTCTime'+-- * 'gpdrsPasswordData' ---getPasswordDataResponse :: Text -- ^ 'gpdrInstanceId'-                        -> UTCTime -- ^ 'gpdrTimestamp'-                        -> Text -- ^ 'gpdrPasswordData'-                        -> GetPasswordDataResponse-getPasswordDataResponse p1 p2 p3 = GetPasswordDataResponse-    { _gpdrInstanceId   = p1-    , _gpdrTimestamp    = withIso _Time (const id) p2-    , _gpdrPasswordData = p3+-- * 'gpdrsTimestamp'+getPasswordDataResponse+    :: Int -- ^ 'gpdrsStatus'+    -> Text -- ^ 'gpdrsInstanceId'+    -> Text -- ^ 'gpdrsPasswordData'+    -> UTCTime -- ^ 'gpdrsTimestamp'+    -> GetPasswordDataResponse+getPasswordDataResponse pStatus_ pInstanceId_ pPasswordData_ pTimestamp_ =+    GetPasswordDataResponse'+    { _gpdrsStatus = pStatus_+    , _gpdrsInstanceId = pInstanceId_+    , _gpdrsPasswordData = pPasswordData_+    , _gpdrsTimestamp = _Time # pTimestamp_     } +-- | The response status code.+gpdrsStatus :: Lens' GetPasswordDataResponse Int+gpdrsStatus = lens _gpdrsStatus (\ s a -> s{_gpdrsStatus = a});+ -- | The ID of the Windows instance.-gpdrInstanceId :: Lens' GetPasswordDataResponse Text-gpdrInstanceId = lens _gpdrInstanceId (\s a -> s { _gpdrInstanceId = a })+gpdrsInstanceId :: Lens' GetPasswordDataResponse Text+gpdrsInstanceId = lens _gpdrsInstanceId (\ s a -> s{_gpdrsInstanceId = a});  -- | The password of the instance.-gpdrPasswordData :: Lens' GetPasswordDataResponse Text-gpdrPasswordData = lens _gpdrPasswordData (\s a -> s { _gpdrPasswordData = a })+gpdrsPasswordData :: Lens' GetPasswordDataResponse Text+gpdrsPasswordData = lens _gpdrsPasswordData (\ s a -> s{_gpdrsPasswordData = a});  -- | The time the data was last updated.-gpdrTimestamp :: Lens' GetPasswordDataResponse UTCTime-gpdrTimestamp = lens _gpdrTimestamp (\s a -> s { _gpdrTimestamp = a }) . _Time--instance ToPath GetPasswordData where-    toPath = const "/"--instance ToQuery GetPasswordData where-    toQuery GetPasswordData{..} = mconcat-        [ "DryRun"     =? _gpdDryRun-        , "InstanceId" =? _gpdInstanceId-        ]--instance ToHeaders GetPasswordData--instance AWSRequest GetPasswordData where-    type Sv GetPasswordData = EC2-    type Rs GetPasswordData = GetPasswordDataResponse--    request  = post "GetPasswordData"-    response = xmlResponse--instance FromXML GetPasswordDataResponse where-    parseXML x = GetPasswordDataResponse-        <$> x .@  "instanceId"-        <*> x .@  "passwordData"-        <*> x .@  "timestamp"+gpdrsTimestamp :: Lens' GetPasswordDataResponse UTCTime+gpdrsTimestamp = lens _gpdrsTimestamp (\ s a -> s{_gpdrsTimestamp = a}) . _Time;
gen/Network/AWS/EC2/ImportImage.hs view
@@ -1,316 +1,320 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ImportImage--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Import single or multi-volume disk images or EBS snapshots into an Amazon--- Machine Image (AMI).+-- Import single or multi-volume disk images or EBS snapshots into an+-- Amazon Machine Image (AMI). ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportImage.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportImage.html AWS API Reference> for ImportImage. module Network.AWS.EC2.ImportImage     (-    -- * Request-      ImportImage-    -- ** Request constructor-    , importImage-    -- ** Request lenses-    , ii1Architecture-    , ii1ClientData-    , ii1ClientToken-    , ii1Description-    , ii1DiskContainers-    , ii1DryRun-    , ii1Hypervisor-    , ii1LicenseType-    , ii1Platform-    , ii1RoleName+    -- * Creating a Request+      importImage+    , ImportImage+    -- * Request Lenses+    , impHypervisor+    , impPlatform+    , impClientToken+    , impLicenseType+    , impRoleName+    , impArchitecture+    , impDryRun+    , impDescription+    , impClientData+    , impDiskContainers -    -- * Response-    , ImportImageResponse-    -- ** Response constructor+    -- * Destructuring the Response     , importImageResponse-    -- ** Response lenses-    , iirArchitecture-    , iirDescription-    , iirHypervisor-    , iirImageId-    , iirImportTaskId-    , iirLicenseType-    , iirPlatform-    , iirProgress-    , iirSnapshotDetails-    , iirStatus-    , iirStatusMessage+    , ImportImageResponse+    -- * Response Lenses+    , irsHypervisor+    , irsPlatform+    , irsProgress+    , irsLicenseType+    , irsSnapshotDetails+    , irsStatusMessage+    , irsImageId+    , irsImportTaskId+    , irsArchitecture+    , irsDescription+    , irsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ImportImage = ImportImage-    { _ii1Architecture   :: Maybe Text-    , _ii1ClientData     :: Maybe ClientData-    , _ii1ClientToken    :: Maybe Text-    , _ii1Description    :: Maybe Text-    , _ii1DiskContainers :: List "item" ImageDiskContainer-    , _ii1DryRun         :: Maybe Bool-    , _ii1Hypervisor     :: Maybe Text-    , _ii1LicenseType    :: Maybe Text-    , _ii1Platform       :: Maybe Text-    , _ii1RoleName       :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'importImage' smart constructor.+data ImportImage = ImportImage'+    { _impHypervisor     :: !(Maybe Text)+    , _impPlatform       :: !(Maybe Text)+    , _impClientToken    :: !(Maybe Text)+    , _impLicenseType    :: !(Maybe Text)+    , _impRoleName       :: !(Maybe Text)+    , _impArchitecture   :: !(Maybe Text)+    , _impDryRun         :: !(Maybe Bool)+    , _impDescription    :: !(Maybe Text)+    , _impClientData     :: !(Maybe ClientData)+    , _impDiskContainers :: !(Maybe [ImageDiskContainer])+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ImportImage' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ImportImage' with the minimum fields required to make a request. ----- * 'ii1Architecture' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ii1ClientData' @::@ 'Maybe' 'ClientData'+-- * 'impHypervisor' ----- * 'ii1ClientToken' @::@ 'Maybe' 'Text'+-- * 'impPlatform' ----- * 'ii1Description' @::@ 'Maybe' 'Text'+-- * 'impClientToken' ----- * 'ii1DiskContainers' @::@ ['ImageDiskContainer']+-- * 'impLicenseType' ----- * 'ii1DryRun' @::@ 'Maybe' 'Bool'+-- * 'impRoleName' ----- * 'ii1Hypervisor' @::@ 'Maybe' 'Text'+-- * 'impArchitecture' ----- * 'ii1LicenseType' @::@ 'Maybe' 'Text'+-- * 'impDryRun' ----- * 'ii1Platform' @::@ 'Maybe' 'Text'+-- * 'impDescription' ----- * 'ii1RoleName' @::@ 'Maybe' 'Text'+-- * 'impClientData' ---importImage :: ImportImage-importImage = ImportImage-    { _ii1DryRun         = Nothing-    , _ii1Description    = Nothing-    , _ii1DiskContainers = mempty-    , _ii1LicenseType    = Nothing-    , _ii1Hypervisor     = Nothing-    , _ii1Architecture   = Nothing-    , _ii1Platform       = Nothing-    , _ii1ClientData     = Nothing-    , _ii1ClientToken    = Nothing-    , _ii1RoleName       = Nothing+-- * 'impDiskContainers'+importImage+    :: ImportImage+importImage =+    ImportImage'+    { _impHypervisor = Nothing+    , _impPlatform = Nothing+    , _impClientToken = Nothing+    , _impLicenseType = Nothing+    , _impRoleName = Nothing+    , _impArchitecture = Nothing+    , _impDryRun = Nothing+    , _impDescription = Nothing+    , _impClientData = Nothing+    , _impDiskContainers = Nothing     } --- | The architecture of the virtual machine.+-- | The target hypervisor platform. ----- Valid values: 'i386' | 'x86_64'-ii1Architecture :: Lens' ImportImage (Maybe Text)-ii1Architecture = lens _ii1Architecture (\s a -> s { _ii1Architecture = a })+-- Valid values: 'xen'+impHypervisor :: Lens' ImportImage (Maybe Text)+impHypervisor = lens _impHypervisor (\ s a -> s{_impHypervisor = a}); --- | The client-specific data.-ii1ClientData :: Lens' ImportImage (Maybe ClientData)-ii1ClientData = lens _ii1ClientData (\s a -> s { _ii1ClientData = a })+-- | The operating system of the virtual machine.+--+-- Valid values: 'Windows' | 'Linux'+impPlatform :: Lens' ImportImage (Maybe Text)+impPlatform = lens _impPlatform (\ s a -> s{_impPlatform = a});  -- | The token to enable idempotency for VM import requests.-ii1ClientToken :: Lens' ImportImage (Maybe Text)-ii1ClientToken = lens _ii1ClientToken (\s a -> s { _ii1ClientToken = a })---- | A description string for the import image task.-ii1Description :: Lens' ImportImage (Maybe Text)-ii1Description = lens _ii1Description (\s a -> s { _ii1Description = a })---- | Information about the disk containers.-ii1DiskContainers :: Lens' ImportImage [ImageDiskContainer]-ii1DiskContainers =-    lens _ii1DiskContainers (\s a -> s { _ii1DiskContainers = a })-        . _List---- | 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'.-ii1DryRun :: Lens' ImportImage (Maybe Bool)-ii1DryRun = lens _ii1DryRun (\s a -> s { _ii1DryRun = a })---- | The target hypervisor platform.------ Valid values: 'xen'-ii1Hypervisor :: Lens' ImportImage (Maybe Text)-ii1Hypervisor = lens _ii1Hypervisor (\s a -> s { _ii1Hypervisor = a })+impClientToken :: Lens' ImportImage (Maybe Text)+impClientToken = lens _impClientToken (\ s a -> s{_impClientToken = a});  -- | The license type to be used for the Amazon Machine Image (AMI) after -- importing. ----- Note: You may only use BYOL if you have existing licenses with rights to use--- these licenses in a third party cloud like AWS. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/VMImportPrerequisites.html VMImport/Export Prerequisites> in the /Amazon Elastic Compute Cloud User Guide/.+-- __Note:__ You may only use BYOL if you have existing licenses with+-- rights to use these licenses in a third party cloud like AWS. For more+-- information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/VMImportPrerequisites.html VM Import\/Export Prerequisites>+-- in the /Amazon Elastic Compute Cloud User Guide/. -- -- Valid values: 'AWS' | 'BYOL'-ii1LicenseType :: Lens' ImportImage (Maybe Text)-ii1LicenseType = lens _ii1LicenseType (\s a -> s { _ii1LicenseType = a })+impLicenseType :: Lens' ImportImage (Maybe Text)+impLicenseType = lens _impLicenseType (\ s a -> s{_impLicenseType = a}); --- | The operating system of the virtual machine.+-- | The name of the role to use when not using the default role,+-- \'vmimport\'.+impRoleName :: Lens' ImportImage (Maybe Text)+impRoleName = lens _impRoleName (\ s a -> s{_impRoleName = a});++-- | The architecture of the virtual machine. ----- Valid values: 'Windows' | 'Linux'-ii1Platform :: Lens' ImportImage (Maybe Text)-ii1Platform = lens _ii1Platform (\s a -> s { _ii1Platform = a })+-- Valid values: 'i386' | 'x86_64'+impArchitecture :: Lens' ImportImage (Maybe Text)+impArchitecture = lens _impArchitecture (\ s a -> s{_impArchitecture = a}); --- | The name of the role to use when not using the default role, 'vmimport'.-ii1RoleName :: Lens' ImportImage (Maybe Text)-ii1RoleName = lens _ii1RoleName (\s a -> s { _ii1RoleName = 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'.+impDryRun :: Lens' ImportImage (Maybe Bool)+impDryRun = lens _impDryRun (\ s a -> s{_impDryRun = a}); -data ImportImageResponse = ImportImageResponse-    { _iirArchitecture    :: Maybe Text-    , _iirDescription     :: Maybe Text-    , _iirHypervisor      :: Maybe Text-    , _iirImageId         :: Maybe Text-    , _iirImportTaskId    :: Maybe Text-    , _iirLicenseType     :: Maybe Text-    , _iirPlatform        :: Maybe Text-    , _iirProgress        :: Maybe Text-    , _iirSnapshotDetails :: List "item" SnapshotDetail-    , _iirStatus          :: Maybe Text-    , _iirStatusMessage   :: Maybe Text-    } deriving (Eq, Read, Show)+-- | A description string for the import image task.+impDescription :: Lens' ImportImage (Maybe Text)+impDescription = lens _impDescription (\ s a -> s{_impDescription = a}); --- | 'ImportImageResponse' constructor.------ The fields accessible through corresponding lenses are:+-- | The client-specific data.+impClientData :: Lens' ImportImage (Maybe ClientData)+impClientData = lens _impClientData (\ s a -> s{_impClientData = a});++-- | Information about the disk containers.+impDiskContainers :: Lens' ImportImage [ImageDiskContainer]+impDiskContainers = lens _impDiskContainers (\ s a -> s{_impDiskContainers = a}) . _Default . _Coerce;++instance AWSRequest ImportImage where+        type Sv ImportImage = EC2+        type Rs ImportImage = ImportImageResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 ImportImageResponse' <$>+                   (x .@? "hypervisor") <*> (x .@? "platform") <*>+                     (x .@? "progress")+                     <*> (x .@? "licenseType")+                     <*>+                     (x .@? "snapshotDetailSet" .!@ mempty >>=+                        may (parseXMLList "item"))+                     <*> (x .@? "statusMessage")+                     <*> (x .@? "imageId")+                     <*> (x .@? "importTaskId")+                     <*> (x .@? "architecture")+                     <*> (x .@? "description")+                     <*> (pure (fromEnum s)))++instance ToHeaders ImportImage where+        toHeaders = const mempty++instance ToPath ImportImage where+        toPath = const "/"++instance ToQuery ImportImage where+        toQuery ImportImage'{..}+          = mconcat+              ["Action" =: ("ImportImage" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Hypervisor" =: _impHypervisor,+               "Platform" =: _impPlatform,+               "ClientToken" =: _impClientToken,+               "LicenseType" =: _impLicenseType,+               "RoleName" =: _impRoleName,+               "Architecture" =: _impArchitecture,+               "DryRun" =: _impDryRun,+               "Description" =: _impDescription,+               "ClientData" =: _impClientData,+               toQuery (toQueryList "item" <$> _impDiskContainers)]++-- | /See:/ 'importImageResponse' smart constructor.+data ImportImageResponse = ImportImageResponse'+    { _irsHypervisor      :: !(Maybe Text)+    , _irsPlatform        :: !(Maybe Text)+    , _irsProgress        :: !(Maybe Text)+    , _irsLicenseType     :: !(Maybe Text)+    , _irsSnapshotDetails :: !(Maybe [SnapshotDetail])+    , _irsStatusMessage   :: !(Maybe Text)+    , _irsImageId         :: !(Maybe Text)+    , _irsImportTaskId    :: !(Maybe Text)+    , _irsArchitecture    :: !(Maybe Text)+    , _irsDescription     :: !(Maybe Text)+    , _irsStatus          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportImageResponse' with the minimum fields required to make a request. ----- * 'iirArchitecture' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'iirDescription' @::@ 'Maybe' 'Text'+-- * 'irsHypervisor' ----- * 'iirHypervisor' @::@ 'Maybe' 'Text'+-- * 'irsPlatform' ----- * 'iirImageId' @::@ 'Maybe' 'Text'+-- * 'irsProgress' ----- * 'iirImportTaskId' @::@ 'Maybe' 'Text'+-- * 'irsLicenseType' ----- * 'iirLicenseType' @::@ 'Maybe' 'Text'+-- * 'irsSnapshotDetails' ----- * 'iirPlatform' @::@ 'Maybe' 'Text'+-- * 'irsStatusMessage' ----- * 'iirProgress' @::@ 'Maybe' 'Text'+-- * 'irsImageId' ----- * 'iirSnapshotDetails' @::@ ['SnapshotDetail']+-- * 'irsImportTaskId' ----- * 'iirStatus' @::@ 'Maybe' 'Text'+-- * 'irsArchitecture' ----- * 'iirStatusMessage' @::@ 'Maybe' 'Text'+-- * 'irsDescription' ---importImageResponse :: ImportImageResponse-importImageResponse = ImportImageResponse-    { _iirImportTaskId    = Nothing-    , _iirArchitecture    = Nothing-    , _iirLicenseType     = Nothing-    , _iirPlatform        = Nothing-    , _iirHypervisor      = Nothing-    , _iirDescription     = Nothing-    , _iirSnapshotDetails = mempty-    , _iirImageId         = Nothing-    , _iirProgress        = Nothing-    , _iirStatusMessage   = Nothing-    , _iirStatus          = Nothing+-- * 'irsStatus'+importImageResponse+    :: Int -- ^ 'irsStatus'+    -> ImportImageResponse+importImageResponse pStatus_ =+    ImportImageResponse'+    { _irsHypervisor = Nothing+    , _irsPlatform = Nothing+    , _irsProgress = Nothing+    , _irsLicenseType = Nothing+    , _irsSnapshotDetails = Nothing+    , _irsStatusMessage = Nothing+    , _irsImageId = Nothing+    , _irsImportTaskId = Nothing+    , _irsArchitecture = Nothing+    , _irsDescription = Nothing+    , _irsStatus = pStatus_     } --- | The architecture of the virtual machine.-iirArchitecture :: Lens' ImportImageResponse (Maybe Text)-iirArchitecture = lens _iirArchitecture (\s a -> s { _iirArchitecture = a })---- | A description of the import task.-iirDescription :: Lens' ImportImageResponse (Maybe Text)-iirDescription = lens _iirDescription (\s a -> s { _iirDescription = a })- -- | The target hypervisor of the import task.-iirHypervisor :: Lens' ImportImageResponse (Maybe Text)-iirHypervisor = lens _iirHypervisor (\s a -> s { _iirHypervisor = a })---- | The ID of the Amazon Machine Image (AMI) created by the import task.-iirImageId :: Lens' ImportImageResponse (Maybe Text)-iirImageId = lens _iirImageId (\s a -> s { _iirImageId = a })---- | The task ID of the import image task.-iirImportTaskId :: Lens' ImportImageResponse (Maybe Text)-iirImportTaskId = lens _iirImportTaskId (\s a -> s { _iirImportTaskId = a })---- | The license type of the virtual machine.-iirLicenseType :: Lens' ImportImageResponse (Maybe Text)-iirLicenseType = lens _iirLicenseType (\s a -> s { _iirLicenseType = a })+irsHypervisor :: Lens' ImportImageResponse (Maybe Text)+irsHypervisor = lens _irsHypervisor (\ s a -> s{_irsHypervisor = a});  -- | The operating system of the virtual machine.-iirPlatform :: Lens' ImportImageResponse (Maybe Text)-iirPlatform = lens _iirPlatform (\s a -> s { _iirPlatform = a })+irsPlatform :: Lens' ImportImageResponse (Maybe Text)+irsPlatform = lens _irsPlatform (\ s a -> s{_irsPlatform = a});  -- | The progress of the task.-iirProgress :: Lens' ImportImageResponse (Maybe Text)-iirProgress = lens _iirProgress (\s a -> s { _iirProgress = a })+irsProgress :: Lens' ImportImageResponse (Maybe Text)+irsProgress = lens _irsProgress (\ s a -> s{_irsProgress = a}); --- | Information about the snapshots.-iirSnapshotDetails :: Lens' ImportImageResponse [SnapshotDetail]-iirSnapshotDetails =-    lens _iirSnapshotDetails (\s a -> s { _iirSnapshotDetails = a })-        . _List+-- | The license type of the virtual machine.+irsLicenseType :: Lens' ImportImageResponse (Maybe Text)+irsLicenseType = lens _irsLicenseType (\ s a -> s{_irsLicenseType = a}); --- | A brief status of the task.-iirStatus :: Lens' ImportImageResponse (Maybe Text)-iirStatus = lens _iirStatus (\s a -> s { _iirStatus = a })+-- | Information about the snapshots.+irsSnapshotDetails :: Lens' ImportImageResponse [SnapshotDetail]+irsSnapshotDetails = lens _irsSnapshotDetails (\ s a -> s{_irsSnapshotDetails = a}) . _Default . _Coerce;  -- | A detailed status message of the import task.-iirStatusMessage :: Lens' ImportImageResponse (Maybe Text)-iirStatusMessage = lens _iirStatusMessage (\s a -> s { _iirStatusMessage = a })--instance ToPath ImportImage where-    toPath = const "/"+irsStatusMessage :: Lens' ImportImageResponse (Maybe Text)+irsStatusMessage = lens _irsStatusMessage (\ s a -> s{_irsStatusMessage = a}); -instance ToQuery ImportImage where-    toQuery ImportImage{..} = mconcat-        [ "Architecture"  =? _ii1Architecture-        , "ClientData"    =? _ii1ClientData-        , "ClientToken"   =? _ii1ClientToken-        , "Description"   =? _ii1Description-        , "DiskContainer" `toQueryList` _ii1DiskContainers-        , "DryRun"        =? _ii1DryRun-        , "Hypervisor"    =? _ii1Hypervisor-        , "LicenseType"   =? _ii1LicenseType-        , "Platform"      =? _ii1Platform-        , "RoleName"      =? _ii1RoleName-        ]+-- | The ID of the Amazon Machine Image (AMI) created by the import task.+irsImageId :: Lens' ImportImageResponse (Maybe Text)+irsImageId = lens _irsImageId (\ s a -> s{_irsImageId = a}); -instance ToHeaders ImportImage+-- | The task ID of the import image task.+irsImportTaskId :: Lens' ImportImageResponse (Maybe Text)+irsImportTaskId = lens _irsImportTaskId (\ s a -> s{_irsImportTaskId = a}); -instance AWSRequest ImportImage where-    type Sv ImportImage = EC2-    type Rs ImportImage = ImportImageResponse+-- | The architecture of the virtual machine.+irsArchitecture :: Lens' ImportImageResponse (Maybe Text)+irsArchitecture = lens _irsArchitecture (\ s a -> s{_irsArchitecture = a}); -    request  = post "ImportImage"-    response = xmlResponse+-- | A description of the import task.+irsDescription :: Lens' ImportImageResponse (Maybe Text)+irsDescription = lens _irsDescription (\ s a -> s{_irsDescription = a}); -instance FromXML ImportImageResponse where-    parseXML x = ImportImageResponse-        <$> x .@? "architecture"-        <*> x .@? "description"-        <*> x .@? "hypervisor"-        <*> x .@? "imageId"-        <*> x .@? "importTaskId"-        <*> x .@? "licenseType"-        <*> x .@? "platform"-        <*> x .@? "progress"-        <*> x .@? "snapshotDetailSet" .!@ mempty-        <*> x .@? "status"-        <*> x .@? "statusMessage"+-- | The response status code.+irsStatus :: Lens' ImportImageResponse Int+irsStatus = lens _irsStatus (\ s a -> s{_irsStatus = a});
gen/Network/AWS/EC2/ImportInstance.hs view
@@ -1,153 +1,168 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ImportInstance--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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 <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html Using theCommand Line Tools to Import Your Virtual Machine to Amazon EC2> in the /AmazonElastic Compute Cloud User Guide/.+-- 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+-- <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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportInstance.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportInstance.html AWS API Reference> for ImportInstance. module Network.AWS.EC2.ImportInstance     (-    -- * Request-      ImportInstance-    -- ** Request constructor-    , importInstance-    -- ** Request lenses-    , iiDescription+    -- * Creating a Request+      importInstance+    , ImportInstance+    -- * Request Lenses+    , iiLaunchSpecification     , iiDiskImages     , iiDryRun-    , iiLaunchSpecification+    , iiDescription     , iiPlatform -    -- * Response-    , ImportInstanceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , importInstanceResponse-    -- ** Response lenses-    , iirConversionTask+    , ImportInstanceResponse+    -- * Response Lenses+    , iirsConversionTask+    , iirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ImportInstance = ImportInstance-    { _iiDescription         :: Maybe Text-    , _iiDiskImages          :: List "diskImage" DiskImage-    , _iiDryRun              :: Maybe Bool-    , _iiLaunchSpecification :: Maybe ImportInstanceLaunchSpecification-    , _iiPlatform            :: PlatformValues-    } deriving (Eq, Read, Show)+-- | /See:/ 'importInstance' smart constructor.+data ImportInstance = ImportInstance'+    { _iiLaunchSpecification :: !(Maybe ImportInstanceLaunchSpecification)+    , _iiDiskImages          :: !(Maybe [DiskImage])+    , _iiDryRun              :: !(Maybe Bool)+    , _iiDescription         :: !(Maybe Text)+    , _iiPlatform            :: !PlatformValues+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ImportInstance' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ImportInstance' with the minimum fields required to make a request. ----- * 'iiDescription' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'iiDiskImages' @::@ ['DiskImage']+-- * 'iiLaunchSpecification' ----- * 'iiDryRun' @::@ 'Maybe' 'Bool'+-- * 'iiDiskImages' ----- * 'iiLaunchSpecification' @::@ 'Maybe' 'ImportInstanceLaunchSpecification'+-- * 'iiDryRun' ----- * 'iiPlatform' @::@ 'PlatformValues'+-- * 'iiDescription' ---importInstance :: PlatformValues -- ^ 'iiPlatform'-               -> ImportInstance-importInstance p1 = ImportInstance-    { _iiPlatform            = p1-    , _iiDryRun              = Nothing-    , _iiDescription         = Nothing-    , _iiLaunchSpecification = Nothing-    , _iiDiskImages          = mempty+-- * 'iiPlatform'+importInstance+    :: PlatformValues -- ^ 'iiPlatform'+    -> ImportInstance+importInstance pPlatform_ =+    ImportInstance'+    { _iiLaunchSpecification = Nothing+    , _iiDiskImages = Nothing+    , _iiDryRun = Nothing+    , _iiDescription = Nothing+    , _iiPlatform = pPlatform_     } --- | A description for the instance being imported.-iiDescription :: Lens' ImportInstance (Maybe Text)-iiDescription = lens _iiDescription (\s a -> s { _iiDescription = a })+-- | The launch specification.+iiLaunchSpecification :: Lens' ImportInstance (Maybe ImportInstanceLaunchSpecification)+iiLaunchSpecification = lens _iiLaunchSpecification (\ s a -> s{_iiLaunchSpecification = a});  -- | The disk image. iiDiskImages :: Lens' ImportInstance [DiskImage]-iiDiskImages = lens _iiDiskImages (\s a -> s { _iiDiskImages = a }) . _List+iiDiskImages = lens _iiDiskImages (\ s a -> s{_iiDiskImages = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. iiDryRun :: Lens' ImportInstance (Maybe Bool)-iiDryRun = lens _iiDryRun (\s a -> s { _iiDryRun = a })+iiDryRun = lens _iiDryRun (\ s a -> s{_iiDryRun = a}); --- | The launch specification.-iiLaunchSpecification :: Lens' ImportInstance (Maybe ImportInstanceLaunchSpecification)-iiLaunchSpecification =-    lens _iiLaunchSpecification (\s a -> s { _iiLaunchSpecification = a })+-- | A description for the instance being imported.+iiDescription :: Lens' ImportInstance (Maybe Text)+iiDescription = lens _iiDescription (\ s a -> s{_iiDescription = a});  -- | The instance operating system. iiPlatform :: Lens' ImportInstance PlatformValues-iiPlatform = lens _iiPlatform (\s a -> s { _iiPlatform = a })--newtype ImportInstanceResponse = ImportInstanceResponse-    { _iirConversionTask :: Maybe ConversionTask-    } deriving (Eq, Read, Show)+iiPlatform = lens _iiPlatform (\ s a -> s{_iiPlatform = a}); --- | 'ImportInstanceResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'iirConversionTask' @::@ 'Maybe' 'ConversionTask'----importInstanceResponse :: ImportInstanceResponse-importInstanceResponse = ImportInstanceResponse-    { _iirConversionTask = Nothing-    }+instance AWSRequest ImportInstance where+        type Sv ImportInstance = EC2+        type Rs ImportInstance = ImportInstanceResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 ImportInstanceResponse' <$>+                   (x .@? "conversionTask") <*> (pure (fromEnum s))) --- | Information about the conversion task.-iirConversionTask :: Lens' ImportInstanceResponse (Maybe ConversionTask)-iirConversionTask =-    lens _iirConversionTask (\s a -> s { _iirConversionTask = a })+instance ToHeaders ImportInstance where+        toHeaders = const mempty  instance ToPath ImportInstance where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ImportInstance where-    toQuery ImportInstance{..} = mconcat-        [ "Description"         =? _iiDescription-        , "DiskImage"           `toQueryList` _iiDiskImages-        , "DryRun"              =? _iiDryRun-        , "LaunchSpecification" =? _iiLaunchSpecification-        , "Platform"            =? _iiPlatform-        ]+        toQuery ImportInstance'{..}+          = mconcat+              ["Action" =: ("ImportInstance" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "LaunchSpecification" =: _iiLaunchSpecification,+               toQuery (toQueryList "DiskImage" <$> _iiDiskImages),+               "DryRun" =: _iiDryRun,+               "Description" =: _iiDescription,+               "Platform" =: _iiPlatform] -instance ToHeaders ImportInstance+-- | /See:/ 'importInstanceResponse' smart constructor.+data ImportInstanceResponse = ImportInstanceResponse'+    { _iirsConversionTask :: !(Maybe ConversionTask)+    , _iirsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest ImportInstance where-    type Sv ImportInstance = EC2-    type Rs ImportInstance = ImportInstanceResponse+-- | Creates a value of 'ImportInstanceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iirsConversionTask'+--+-- * 'iirsStatus'+importInstanceResponse+    :: Int -- ^ 'iirsStatus'+    -> ImportInstanceResponse+importInstanceResponse pStatus_ =+    ImportInstanceResponse'+    { _iirsConversionTask = Nothing+    , _iirsStatus = pStatus_+    } -    request  = post "ImportInstance"-    response = xmlResponse+-- | Information about the conversion task.+iirsConversionTask :: Lens' ImportInstanceResponse (Maybe ConversionTask)+iirsConversionTask = lens _iirsConversionTask (\ s a -> s{_iirsConversionTask = a}); -instance FromXML ImportInstanceResponse where-    parseXML x = ImportInstanceResponse-        <$> x .@? "conversionTask"+-- | The response status code.+iirsStatus :: Lens' ImportInstanceResponse Int+iirsStatus = lens _iirsStatus (\ s a -> s{_iirsStatus = a});
gen/Network/AWS/EC2/ImportKeyPair.hs view
@@ -1,150 +1,161 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ImportKeyPair--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.+-- 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. ----- For more information about key pairs, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html Key Pairs> in the /Amazon ElasticCompute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportKeyPair.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportKeyPair.html AWS API Reference> for ImportKeyPair. module Network.AWS.EC2.ImportKeyPair     (-    -- * Request-      ImportKeyPair-    -- ** Request constructor-    , importKeyPair-    -- ** Request lenses+    -- * Creating a Request+      importKeyPair+    , ImportKeyPair+    -- * Request Lenses     , ikpDryRun     , ikpKeyName     , ikpPublicKeyMaterial -    -- * Response-    , ImportKeyPairResponse-    -- ** Response constructor+    -- * Destructuring the Response     , importKeyPairResponse-    -- ** Response lenses-    , ikprKeyFingerprint-    , ikprKeyName+    , ImportKeyPairResponse+    -- * Response Lenses+    , ikprsKeyFingerprint+    , ikprsKeyName+    , ikprsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ImportKeyPair = ImportKeyPair-    { _ikpDryRun            :: Maybe Bool-    , _ikpKeyName           :: Text-    , _ikpPublicKeyMaterial :: Base64-    } deriving (Eq, Read, Show)+-- | /See:/ 'importKeyPair' smart constructor.+data ImportKeyPair = ImportKeyPair'+    { _ikpDryRun            :: !(Maybe Bool)+    , _ikpKeyName           :: !Text+    , _ikpPublicKeyMaterial :: !Base64+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ImportKeyPair' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ImportKeyPair' with the minimum fields required to make a request. ----- * 'ikpDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ikpKeyName' @::@ 'Text'+-- * 'ikpDryRun' ----- * 'ikpPublicKeyMaterial' @::@ 'Base64'+-- * 'ikpKeyName' ---importKeyPair :: Text -- ^ 'ikpKeyName'-              -> Base64 -- ^ 'ikpPublicKeyMaterial'-              -> ImportKeyPair-importKeyPair p1 p2 = ImportKeyPair-    { _ikpKeyName           = p1-    , _ikpPublicKeyMaterial = p2-    , _ikpDryRun            = Nothing+-- * 'ikpPublicKeyMaterial'+importKeyPair+    :: Text -- ^ 'ikpKeyName'+    -> ByteString -- ^ 'ikpPublicKeyMaterial'+    -> ImportKeyPair+importKeyPair pKeyName_ pPublicKeyMaterial_ =+    ImportKeyPair'+    { _ikpDryRun = Nothing+    , _ikpKeyName = pKeyName_+    , _ikpPublicKeyMaterial = _Base64 # pPublicKeyMaterial_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. ikpDryRun :: Lens' ImportKeyPair (Maybe Bool)-ikpDryRun = lens _ikpDryRun (\s a -> s { _ikpDryRun = a })+ikpDryRun = lens _ikpDryRun (\ s a -> s{_ikpDryRun = a});  -- | A unique name for the key pair. ikpKeyName :: Lens' ImportKeyPair Text-ikpKeyName = lens _ikpKeyName (\s a -> s { _ikpKeyName = a })+ikpKeyName = lens _ikpKeyName (\ s a -> s{_ikpKeyName = a}); --- | The public key. You must base64 encode the public key material before sending--- it to AWS.-ikpPublicKeyMaterial :: Lens' ImportKeyPair Base64-ikpPublicKeyMaterial =-    lens _ikpPublicKeyMaterial (\s a -> s { _ikpPublicKeyMaterial = a })+-- | The public key. You must base64 encode the public key material before+-- sending it to AWS.+ikpPublicKeyMaterial :: Lens' ImportKeyPair ByteString+ikpPublicKeyMaterial = lens _ikpPublicKeyMaterial (\ s a -> s{_ikpPublicKeyMaterial = a}) . _Base64; -data ImportKeyPairResponse = ImportKeyPairResponse-    { _ikprKeyFingerprint :: Maybe Text-    , _ikprKeyName        :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+instance AWSRequest ImportKeyPair where+        type Sv ImportKeyPair = EC2+        type Rs ImportKeyPair = ImportKeyPairResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 ImportKeyPairResponse' <$>+                   (x .@? "keyFingerprint") <*> (x .@? "keyName") <*>+                     (pure (fromEnum s))) --- | 'ImportKeyPairResponse' constructor.+instance ToHeaders ImportKeyPair where+        toHeaders = const mempty++instance ToPath ImportKeyPair where+        toPath = const "/"++instance ToQuery ImportKeyPair where+        toQuery ImportKeyPair'{..}+          = mconcat+              ["Action" =: ("ImportKeyPair" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _ikpDryRun, "KeyName" =: _ikpKeyName,+               "PublicKeyMaterial" =: _ikpPublicKeyMaterial]++-- | /See:/ 'importKeyPairResponse' smart constructor.+data ImportKeyPairResponse = ImportKeyPairResponse'+    { _ikprsKeyFingerprint :: !(Maybe Text)+    , _ikprsKeyName        :: !(Maybe Text)+    , _ikprsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportKeyPairResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'ikprKeyFingerprint' @::@ 'Maybe' 'Text'+-- * 'ikprsKeyFingerprint' ----- * 'ikprKeyName' @::@ 'Maybe' 'Text'+-- * 'ikprsKeyName' ---importKeyPairResponse :: ImportKeyPairResponse-importKeyPairResponse = ImportKeyPairResponse-    { _ikprKeyName        = Nothing-    , _ikprKeyFingerprint = Nothing+-- * 'ikprsStatus'+importKeyPairResponse+    :: Int -- ^ 'ikprsStatus'+    -> ImportKeyPairResponse+importKeyPairResponse pStatus_ =+    ImportKeyPairResponse'+    { _ikprsKeyFingerprint = Nothing+    , _ikprsKeyName = Nothing+    , _ikprsStatus = pStatus_     }  -- | The MD5 public key fingerprint as specified in section 4 of RFC 4716.-ikprKeyFingerprint :: Lens' ImportKeyPairResponse (Maybe Text)-ikprKeyFingerprint =-    lens _ikprKeyFingerprint (\s a -> s { _ikprKeyFingerprint = a })+ikprsKeyFingerprint :: Lens' ImportKeyPairResponse (Maybe Text)+ikprsKeyFingerprint = lens _ikprsKeyFingerprint (\ s a -> s{_ikprsKeyFingerprint = a});  -- | The key pair name you provided.-ikprKeyName :: Lens' ImportKeyPairResponse (Maybe Text)-ikprKeyName = lens _ikprKeyName (\s a -> s { _ikprKeyName = a })--instance ToPath ImportKeyPair where-    toPath = const "/"--instance ToQuery ImportKeyPair where-    toQuery ImportKeyPair{..} = mconcat-        [ "DryRun"            =? _ikpDryRun-        , "KeyName"           =? _ikpKeyName-        , "PublicKeyMaterial" =? _ikpPublicKeyMaterial-        ]--instance ToHeaders ImportKeyPair--instance AWSRequest ImportKeyPair where-    type Sv ImportKeyPair = EC2-    type Rs ImportKeyPair = ImportKeyPairResponse--    request  = post "ImportKeyPair"-    response = xmlResponse+ikprsKeyName :: Lens' ImportKeyPairResponse (Maybe Text)+ikprsKeyName = lens _ikprsKeyName (\ s a -> s{_ikprsKeyName = a}); -instance FromXML ImportKeyPairResponse where-    parseXML x = ImportKeyPairResponse-        <$> x .@? "keyFingerprint"-        <*> x .@? "keyName"+-- | The response status code.+ikprsStatus :: Lens' ImportKeyPairResponse Int+ikprsStatus = lens _ikprsStatus (\ s a -> s{_ikprsStatus = a});
gen/Network/AWS/EC2/ImportSnapshot.hs view
@@ -1,180 +1,192 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ImportSnapshot--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Imports a disk into an EBS snapshot.+-- Imports a disk into an EBS snapshot. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportSnapshot.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportSnapshot.html AWS API Reference> for ImportSnapshot. module Network.AWS.EC2.ImportSnapshot     (-    -- * Request-      ImportSnapshot-    -- ** Request constructor-    , importSnapshot-    -- ** Request lenses-    , isClientData-    , isClientToken-    , isDescription+    -- * Creating a Request+      importSnapshot+    , ImportSnapshot+    -- * Request Lenses     , isDiskContainer-    , isDryRun+    , isClientToken     , isRoleName+    , isDryRun+    , isDescription+    , isClientData -    -- * Response-    , ImportSnapshotResponse-    -- ** Response constructor+    -- * Destructuring the Response     , importSnapshotResponse-    -- ** Response lenses-    , isrDescription-    , isrImportTaskId-    , isrSnapshotTaskDetail+    , ImportSnapshotResponse+    -- * Response Lenses+    , isrsSnapshotTaskDetail+    , isrsImportTaskId+    , isrsDescription+    , isrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ImportSnapshot = ImportSnapshot-    { _isClientData    :: Maybe ClientData-    , _isClientToken   :: Maybe Text-    , _isDescription   :: Maybe Text-    , _isDiskContainer :: Maybe SnapshotDiskContainer-    , _isDryRun        :: Maybe Bool-    , _isRoleName      :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'importSnapshot' smart constructor.+data ImportSnapshot = ImportSnapshot'+    { _isDiskContainer :: !(Maybe SnapshotDiskContainer)+    , _isClientToken   :: !(Maybe Text)+    , _isRoleName      :: !(Maybe Text)+    , _isDryRun        :: !(Maybe Bool)+    , _isDescription   :: !(Maybe Text)+    , _isClientData    :: !(Maybe ClientData)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ImportSnapshot' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ImportSnapshot' with the minimum fields required to make a request. ----- * 'isClientData' @::@ 'Maybe' 'ClientData'+-- Use one of the following lenses to modify other fields as desired: ----- * 'isClientToken' @::@ 'Maybe' 'Text'+-- * 'isDiskContainer' ----- * 'isDescription' @::@ 'Maybe' 'Text'+-- * 'isClientToken' ----- * 'isDiskContainer' @::@ 'Maybe' 'SnapshotDiskContainer'+-- * 'isRoleName' ----- * 'isDryRun' @::@ 'Maybe' 'Bool'+-- * 'isDryRun' ----- * 'isRoleName' @::@ 'Maybe' 'Text'+-- * 'isDescription' ---importSnapshot :: ImportSnapshot-importSnapshot = ImportSnapshot-    { _isDryRun        = Nothing-    , _isDescription   = Nothing-    , _isDiskContainer = Nothing-    , _isClientData    = Nothing-    , _isClientToken   = Nothing-    , _isRoleName      = Nothing+-- * 'isClientData'+importSnapshot+    :: ImportSnapshot+importSnapshot =+    ImportSnapshot'+    { _isDiskContainer = Nothing+    , _isClientToken = Nothing+    , _isRoleName = Nothing+    , _isDryRun = Nothing+    , _isDescription = Nothing+    , _isClientData = Nothing     } --- | The client-specific data.-isClientData :: Lens' ImportSnapshot (Maybe ClientData)-isClientData = lens _isClientData (\s a -> s { _isClientData = a })+-- | Information about the disk container.+isDiskContainer :: Lens' ImportSnapshot (Maybe SnapshotDiskContainer)+isDiskContainer = lens _isDiskContainer (\ s a -> s{_isDiskContainer = a});  -- | Token to enable idempotency for VM import requests. isClientToken :: Lens' ImportSnapshot (Maybe Text)-isClientToken = lens _isClientToken (\s a -> s { _isClientToken = a })+isClientToken = lens _isClientToken (\ s a -> s{_isClientToken = a}); +-- | The name of the role to use when not using the default role,+-- \'vmimport\'.+isRoleName :: Lens' ImportSnapshot (Maybe Text)+isRoleName = lens _isRoleName (\ s a -> s{_isRoleName = 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'.+isDryRun :: Lens' ImportSnapshot (Maybe Bool)+isDryRun = lens _isDryRun (\ s a -> s{_isDryRun = a});+ -- | The description string for the import snapshot task. isDescription :: Lens' ImportSnapshot (Maybe Text)-isDescription = lens _isDescription (\s a -> s { _isDescription = a })+isDescription = lens _isDescription (\ s a -> s{_isDescription = a}); --- | Information about the disk container.-isDiskContainer :: Lens' ImportSnapshot (Maybe SnapshotDiskContainer)-isDiskContainer = lens _isDiskContainer (\s a -> s { _isDiskContainer = a })+-- | The client-specific data.+isClientData :: Lens' ImportSnapshot (Maybe ClientData)+isClientData = lens _isClientData (\ s a -> s{_isClientData = 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'.-isDryRun :: Lens' ImportSnapshot (Maybe Bool)-isDryRun = lens _isDryRun (\s a -> s { _isDryRun = a })+instance AWSRequest ImportSnapshot where+        type Sv ImportSnapshot = EC2+        type Rs ImportSnapshot = ImportSnapshotResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 ImportSnapshotResponse' <$>+                   (x .@? "snapshotTaskDetail") <*>+                     (x .@? "importTaskId")+                     <*> (x .@? "description")+                     <*> (pure (fromEnum s))) --- | The name of the role to use when not using the default role, 'vmimport'.-isRoleName :: Lens' ImportSnapshot (Maybe Text)-isRoleName = lens _isRoleName (\s a -> s { _isRoleName = a })+instance ToHeaders ImportSnapshot where+        toHeaders = const mempty -data ImportSnapshotResponse = ImportSnapshotResponse-    { _isrDescription        :: Maybe Text-    , _isrImportTaskId       :: Maybe Text-    , _isrSnapshotTaskDetail :: Maybe SnapshotTaskDetail-    } deriving (Eq, Read, Show)+instance ToPath ImportSnapshot where+        toPath = const "/" --- | 'ImportSnapshotResponse' constructor.+instance ToQuery ImportSnapshot where+        toQuery ImportSnapshot'{..}+          = mconcat+              ["Action" =: ("ImportSnapshot" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DiskContainer" =: _isDiskContainer,+               "ClientToken" =: _isClientToken,+               "RoleName" =: _isRoleName, "DryRun" =: _isDryRun,+               "Description" =: _isDescription,+               "ClientData" =: _isClientData]++-- | /See:/ 'importSnapshotResponse' smart constructor.+data ImportSnapshotResponse = ImportSnapshotResponse'+    { _isrsSnapshotTaskDetail :: !(Maybe SnapshotTaskDetail)+    , _isrsImportTaskId       :: !(Maybe Text)+    , _isrsDescription        :: !(Maybe Text)+    , _isrsStatus             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportSnapshotResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'isrDescription' @::@ 'Maybe' 'Text'+-- * 'isrsSnapshotTaskDetail' ----- * 'isrImportTaskId' @::@ 'Maybe' 'Text'+-- * 'isrsImportTaskId' ----- * 'isrSnapshotTaskDetail' @::@ 'Maybe' 'SnapshotTaskDetail'+-- * 'isrsDescription' ---importSnapshotResponse :: ImportSnapshotResponse-importSnapshotResponse = ImportSnapshotResponse-    { _isrImportTaskId       = Nothing-    , _isrSnapshotTaskDetail = Nothing-    , _isrDescription        = Nothing+-- * 'isrsStatus'+importSnapshotResponse+    :: Int -- ^ 'isrsStatus'+    -> ImportSnapshotResponse+importSnapshotResponse pStatus_ =+    ImportSnapshotResponse'+    { _isrsSnapshotTaskDetail = Nothing+    , _isrsImportTaskId = Nothing+    , _isrsDescription = Nothing+    , _isrsStatus = pStatus_     } --- | A description of the import snapshot task.-isrDescription :: Lens' ImportSnapshotResponse (Maybe Text)-isrDescription = lens _isrDescription (\s a -> s { _isrDescription = a })---- | The ID of the import snapshot task.-isrImportTaskId :: Lens' ImportSnapshotResponse (Maybe Text)-isrImportTaskId = lens _isrImportTaskId (\s a -> s { _isrImportTaskId = a })- -- | Information about the import snapshot task.-isrSnapshotTaskDetail :: Lens' ImportSnapshotResponse (Maybe SnapshotTaskDetail)-isrSnapshotTaskDetail =-    lens _isrSnapshotTaskDetail (\s a -> s { _isrSnapshotTaskDetail = a })--instance ToPath ImportSnapshot where-    toPath = const "/"--instance ToQuery ImportSnapshot where-    toQuery ImportSnapshot{..} = mconcat-        [ "ClientData"    =? _isClientData-        , "ClientToken"   =? _isClientToken-        , "Description"   =? _isDescription-        , "DiskContainer" =? _isDiskContainer-        , "DryRun"        =? _isDryRun-        , "RoleName"      =? _isRoleName-        ]--instance ToHeaders ImportSnapshot+isrsSnapshotTaskDetail :: Lens' ImportSnapshotResponse (Maybe SnapshotTaskDetail)+isrsSnapshotTaskDetail = lens _isrsSnapshotTaskDetail (\ s a -> s{_isrsSnapshotTaskDetail = a}); -instance AWSRequest ImportSnapshot where-    type Sv ImportSnapshot = EC2-    type Rs ImportSnapshot = ImportSnapshotResponse+-- | The ID of the import snapshot task.+isrsImportTaskId :: Lens' ImportSnapshotResponse (Maybe Text)+isrsImportTaskId = lens _isrsImportTaskId (\ s a -> s{_isrsImportTaskId = a}); -    request  = post "ImportSnapshot"-    response = xmlResponse+-- | A description of the import snapshot task.+isrsDescription :: Lens' ImportSnapshotResponse (Maybe Text)+isrsDescription = lens _isrsDescription (\ s a -> s{_isrsDescription = a}); -instance FromXML ImportSnapshotResponse where-    parseXML x = ImportSnapshotResponse-        <$> x .@? "description"-        <*> x .@? "importTaskId"-        <*> x .@? "snapshotTaskDetail"+-- | The response status code.+isrsStatus :: Lens' ImportSnapshotResponse Int+isrsStatus = lens _isrsStatus (\ s a -> s{_isrsStatus = a});
gen/Network/AWS/EC2/ImportVolume.hs view
@@ -1,157 +1,168 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ImportVolume--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates an import volume task using metadata from the specified disk image.--- After importing the image, you then upload it using the 'ec2-import-volume'--- command in the Amazon EC2 command-line interface (CLI) tools. For more--- information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html Using the Command Line Tools to Import Your Virtual Machineto Amazon EC2> in the /Amazon Elastic Compute Cloud User Guide/.+-- Creates an import volume task using metadata from the specified disk+-- image. After importing the image, you then upload it using the+-- 'ec2-import-volume' command in the Amazon EC2 command-line interface+-- (CLI) 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportVolume.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ImportVolume.html AWS API Reference> for ImportVolume. module Network.AWS.EC2.ImportVolume     (-    -- * Request-      ImportVolume-    -- ** Request constructor-    , importVolume-    -- ** Request lenses-    , ivAvailabilityZone-    , ivDescription+    -- * Creating a Request+      importVolume+    , ImportVolume+    -- * Request Lenses     , ivDryRun+    , ivDescription+    , ivAvailabilityZone     , ivImage     , ivVolume -    -- * Response-    , ImportVolumeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , importVolumeResponse-    -- ** Response lenses-    , ivrConversionTask+    , ImportVolumeResponse+    -- * Response Lenses+    , ivrsConversionTask+    , ivrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ImportVolume = ImportVolume-    { _ivAvailabilityZone :: Text-    , _ivDescription      :: Maybe Text-    , _ivDryRun           :: Maybe Bool-    , _ivImage            :: DiskImageDetail-    , _ivVolume           :: VolumeDetail-    } deriving (Eq, Read, Show)+-- | /See:/ 'importVolume' smart constructor.+data ImportVolume = ImportVolume'+    { _ivDryRun           :: !(Maybe Bool)+    , _ivDescription      :: !(Maybe Text)+    , _ivAvailabilityZone :: !Text+    , _ivImage            :: !DiskImageDetail+    , _ivVolume           :: !VolumeDetail+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ImportVolume' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ImportVolume' with the minimum fields required to make a request. ----- * 'ivAvailabilityZone' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ivDescription' @::@ 'Maybe' 'Text'+-- * 'ivDryRun' ----- * 'ivDryRun' @::@ 'Maybe' 'Bool'+-- * 'ivDescription' ----- * 'ivImage' @::@ 'DiskImageDetail'+-- * 'ivAvailabilityZone' ----- * 'ivVolume' @::@ 'VolumeDetail'+-- * 'ivImage' ---importVolume :: Text -- ^ 'ivAvailabilityZone'-             -> DiskImageDetail -- ^ 'ivImage'-             -> VolumeDetail -- ^ 'ivVolume'-             -> ImportVolume-importVolume p1 p2 p3 = ImportVolume-    { _ivAvailabilityZone = p1-    , _ivImage            = p2-    , _ivVolume           = p3-    , _ivDryRun           = Nothing-    , _ivDescription      = Nothing+-- * 'ivVolume'+importVolume+    :: Text -- ^ 'ivAvailabilityZone'+    -> DiskImageDetail -- ^ 'ivImage'+    -> VolumeDetail -- ^ 'ivVolume'+    -> ImportVolume+importVolume pAvailabilityZone_ pImage_ pVolume_ =+    ImportVolume'+    { _ivDryRun = Nothing+    , _ivDescription = Nothing+    , _ivAvailabilityZone = pAvailabilityZone_+    , _ivImage = pImage_+    , _ivVolume = pVolume_     } --- | The Availability Zone for the resulting EBS volume.-ivAvailabilityZone :: Lens' ImportVolume Text-ivAvailabilityZone =-    lens _ivAvailabilityZone (\s a -> s { _ivAvailabilityZone = 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'.+ivDryRun :: Lens' ImportVolume (Maybe Bool)+ivDryRun = lens _ivDryRun (\ s a -> s{_ivDryRun = a});  -- | A description of the volume. ivDescription :: Lens' ImportVolume (Maybe Text)-ivDescription = lens _ivDescription (\s a -> s { _ivDescription = a })+ivDescription = lens _ivDescription (\ s a -> s{_ivDescription = 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'.-ivDryRun :: Lens' ImportVolume (Maybe Bool)-ivDryRun = lens _ivDryRun (\s a -> s { _ivDryRun = a })+-- | The Availability Zone for the resulting EBS volume.+ivAvailabilityZone :: Lens' ImportVolume Text+ivAvailabilityZone = lens _ivAvailabilityZone (\ s a -> s{_ivAvailabilityZone = a});  -- | The disk image. ivImage :: Lens' ImportVolume DiskImageDetail-ivImage = lens _ivImage (\s a -> s { _ivImage = a })+ivImage = lens _ivImage (\ s a -> s{_ivImage = a});  -- | The volume size. ivVolume :: Lens' ImportVolume VolumeDetail-ivVolume = lens _ivVolume (\s a -> s { _ivVolume = a })--newtype ImportVolumeResponse = ImportVolumeResponse-    { _ivrConversionTask :: Maybe ConversionTask-    } deriving (Eq, Read, Show)+ivVolume = lens _ivVolume (\ s a -> s{_ivVolume = a}); --- | 'ImportVolumeResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ivrConversionTask' @::@ 'Maybe' 'ConversionTask'----importVolumeResponse :: ImportVolumeResponse-importVolumeResponse = ImportVolumeResponse-    { _ivrConversionTask = Nothing-    }+instance AWSRequest ImportVolume where+        type Sv ImportVolume = EC2+        type Rs ImportVolume = ImportVolumeResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 ImportVolumeResponse' <$>+                   (x .@? "conversionTask") <*> (pure (fromEnum s))) --- | Information about the conversion task.-ivrConversionTask :: Lens' ImportVolumeResponse (Maybe ConversionTask)-ivrConversionTask =-    lens _ivrConversionTask (\s a -> s { _ivrConversionTask = a })+instance ToHeaders ImportVolume where+        toHeaders = const mempty  instance ToPath ImportVolume where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ImportVolume where-    toQuery ImportVolume{..} = mconcat-        [ "AvailabilityZone" =? _ivAvailabilityZone-        , "Description"      =? _ivDescription-        , "DryRun"           =? _ivDryRun-        , "Image"            =? _ivImage-        , "Volume"           =? _ivVolume-        ]+        toQuery ImportVolume'{..}+          = mconcat+              ["Action" =: ("ImportVolume" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _ivDryRun,+               "Description" =: _ivDescription,+               "AvailabilityZone" =: _ivAvailabilityZone,+               "Image" =: _ivImage, "Volume" =: _ivVolume] -instance ToHeaders ImportVolume+-- | /See:/ 'importVolumeResponse' smart constructor.+data ImportVolumeResponse = ImportVolumeResponse'+    { _ivrsConversionTask :: !(Maybe ConversionTask)+    , _ivrsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest ImportVolume where-    type Sv ImportVolume = EC2-    type Rs ImportVolume = ImportVolumeResponse+-- | Creates a value of 'ImportVolumeResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ivrsConversionTask'+--+-- * 'ivrsStatus'+importVolumeResponse+    :: Int -- ^ 'ivrsStatus'+    -> ImportVolumeResponse+importVolumeResponse pStatus_ =+    ImportVolumeResponse'+    { _ivrsConversionTask = Nothing+    , _ivrsStatus = pStatus_+    } -    request  = post "ImportVolume"-    response = xmlResponse+-- | Information about the conversion task.+ivrsConversionTask :: Lens' ImportVolumeResponse (Maybe ConversionTask)+ivrsConversionTask = lens _ivrsConversionTask (\ s a -> s{_ivrsConversionTask = a}); -instance FromXML ImportVolumeResponse where-    parseXML x = ImportVolumeResponse-        <$> x .@? "conversionTask"+-- | The response status code.+ivrsStatus :: Lens' ImportVolumeResponse Int+ivrsStatus = lens _ivrsStatus (\ s a -> s{_ivrsStatus = a});
gen/Network/AWS/EC2/ModifyImageAttribute.hs view
@@ -1,190 +1,197 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ModifyImageAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modifies the specified attribute of the specified AMI. You can specify only--- one attribute at a time.+-- Modifies the specified attribute of the specified AMI. You can specify+-- only one attribute at a time. -- -- AWS Marketplace product codes cannot be modified. Images with an AWS -- Marketplace product code cannot be made public. -------- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyImageAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyImageAttribute.html AWS API Reference> for ModifyImageAttribute. module Network.AWS.EC2.ModifyImageAttribute     (-    -- * Request-      ModifyImageAttribute-    -- ** Request constructor-    , modifyImageAttribute-    -- ** Request lenses+    -- * Creating a Request+      modifyImageAttribute+    , ModifyImageAttribute+    -- * Request Lenses     , miaAttribute-    , miaDescription-    , miaDryRun-    , miaImageId+    , miaUserIds+    , miaUserGroups+    , miaValue     , miaLaunchPermission     , miaOperationType     , miaProductCodes-    , miaUserGroups-    , miaUserIds-    , miaValue+    , miaDryRun+    , miaDescription+    , miaImageId -    -- * Response-    , ModifyImageAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , modifyImageAttributeResponse+    , ModifyImageAttributeResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ModifyImageAttribute = ModifyImageAttribute-    { _miaAttribute        :: Maybe Text-    , _miaDescription      :: Maybe AttributeValue-    , _miaDryRun           :: Maybe Bool-    , _miaImageId          :: Text-    , _miaLaunchPermission :: Maybe LaunchPermissionModifications-    , _miaOperationType    :: Maybe Text-    , _miaProductCodes     :: List "ProductCode" Text-    , _miaUserGroups       :: List "UserGroup" Text-    , _miaUserIds          :: List "UserId" Text-    , _miaValue            :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'modifyImageAttribute' smart constructor.+data ModifyImageAttribute = ModifyImageAttribute'+    { _miaAttribute        :: !(Maybe Text)+    , _miaUserIds          :: !(Maybe [Text])+    , _miaUserGroups       :: !(Maybe [Text])+    , _miaValue            :: !(Maybe Text)+    , _miaLaunchPermission :: !(Maybe LaunchPermissionModifications)+    , _miaOperationType    :: !(Maybe Text)+    , _miaProductCodes     :: !(Maybe [Text])+    , _miaDryRun           :: !(Maybe Bool)+    , _miaDescription      :: !(Maybe AttributeValue)+    , _miaImageId          :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ModifyImageAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ModifyImageAttribute' with the minimum fields required to make a request. ----- * 'miaAttribute' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'miaDescription' @::@ 'Maybe' 'AttributeValue'+-- * 'miaAttribute' ----- * 'miaDryRun' @::@ 'Maybe' 'Bool'+-- * 'miaUserIds' ----- * 'miaImageId' @::@ 'Text'+-- * 'miaUserGroups' ----- * 'miaLaunchPermission' @::@ 'Maybe' 'LaunchPermissionModifications'+-- * 'miaValue' ----- * 'miaOperationType' @::@ 'Maybe' 'Text'+-- * 'miaLaunchPermission' ----- * 'miaProductCodes' @::@ ['Text']+-- * 'miaOperationType' ----- * 'miaUserGroups' @::@ ['Text']+-- * 'miaProductCodes' ----- * 'miaUserIds' @::@ ['Text']+-- * 'miaDryRun' ----- * 'miaValue' @::@ 'Maybe' 'Text'+-- * 'miaDescription' ---modifyImageAttribute :: Text -- ^ 'miaImageId'-                     -> ModifyImageAttribute-modifyImageAttribute p1 = ModifyImageAttribute-    { _miaImageId          = p1-    , _miaDryRun           = Nothing-    , _miaAttribute        = Nothing-    , _miaOperationType    = Nothing-    , _miaUserIds          = mempty-    , _miaUserGroups       = mempty-    , _miaProductCodes     = mempty-    , _miaValue            = Nothing+-- * 'miaImageId'+modifyImageAttribute+    :: Text -- ^ 'miaImageId'+    -> ModifyImageAttribute+modifyImageAttribute pImageId_ =+    ModifyImageAttribute'+    { _miaAttribute = Nothing+    , _miaUserIds = Nothing+    , _miaUserGroups = Nothing+    , _miaValue = Nothing     , _miaLaunchPermission = Nothing-    , _miaDescription      = Nothing+    , _miaOperationType = Nothing+    , _miaProductCodes = Nothing+    , _miaDryRun = Nothing+    , _miaDescription = Nothing+    , _miaImageId = pImageId_     }  -- | The name of the attribute to modify. miaAttribute :: Lens' ModifyImageAttribute (Maybe Text)-miaAttribute = lens _miaAttribute (\s a -> s { _miaAttribute = a })+miaAttribute = lens _miaAttribute (\ s a -> s{_miaAttribute = a}); --- | A description for the AMI.-miaDescription :: Lens' ModifyImageAttribute (Maybe AttributeValue)-miaDescription = lens _miaDescription (\s a -> s { _miaDescription = a })+-- | One or more AWS account IDs. This is only valid when modifying the+-- 'launchPermission' attribute.+miaUserIds :: Lens' ModifyImageAttribute [Text]+miaUserIds = lens _miaUserIds (\ s a -> s{_miaUserIds = 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'.-miaDryRun :: Lens' ModifyImageAttribute (Maybe Bool)-miaDryRun = lens _miaDryRun (\s a -> s { _miaDryRun = a })+-- | One or more user groups. This is only valid when modifying the+-- 'launchPermission' attribute.+miaUserGroups :: Lens' ModifyImageAttribute [Text]+miaUserGroups = lens _miaUserGroups (\ s a -> s{_miaUserGroups = a}) . _Default . _Coerce; --- | The ID of the AMI.-miaImageId :: Lens' ModifyImageAttribute Text-miaImageId = lens _miaImageId (\s a -> s { _miaImageId = a })+-- | The value of the attribute being modified. This is only valid when+-- modifying the 'description' attribute.+miaValue :: Lens' ModifyImageAttribute (Maybe Text)+miaValue = lens _miaValue (\ s a -> s{_miaValue = a});  -- | A launch permission modification. miaLaunchPermission :: Lens' ModifyImageAttribute (Maybe LaunchPermissionModifications)-miaLaunchPermission =-    lens _miaLaunchPermission (\s a -> s { _miaLaunchPermission = a })+miaLaunchPermission = lens _miaLaunchPermission (\ s a -> s{_miaLaunchPermission = a});  -- | The operation type. miaOperationType :: Lens' ModifyImageAttribute (Maybe Text)-miaOperationType = lens _miaOperationType (\s a -> s { _miaOperationType = a })+miaOperationType = lens _miaOperationType (\ s a -> s{_miaOperationType = a}); --- | One or more product codes. After you add a product code to an AMI, it can't--- be removed. This is only valid when modifying the 'productCodes' attribute.+-- | One or more product codes. After you add a product code to an AMI, it+-- can\'t be removed. This is only valid when modifying the 'productCodes'+-- attribute. miaProductCodes :: Lens' ModifyImageAttribute [Text]-miaProductCodes = lens _miaProductCodes (\s a -> s { _miaProductCodes = a }) . _List+miaProductCodes = lens _miaProductCodes (\ s a -> s{_miaProductCodes = a}) . _Default . _Coerce; --- | One or more user groups. This is only valid when modifying the 'launchPermission' attribute.-miaUserGroups :: Lens' ModifyImageAttribute [Text]-miaUserGroups = lens _miaUserGroups (\s a -> s { _miaUserGroups = a }) . _List+-- | 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'.+miaDryRun :: Lens' ModifyImageAttribute (Maybe Bool)+miaDryRun = lens _miaDryRun (\ s a -> s{_miaDryRun = a}); --- | One or more AWS account IDs. This is only valid when modifying the 'launchPermission' attribute.-miaUserIds :: Lens' ModifyImageAttribute [Text]-miaUserIds = lens _miaUserIds (\s a -> s { _miaUserIds = a }) . _List+-- | A description for the AMI.+miaDescription :: Lens' ModifyImageAttribute (Maybe AttributeValue)+miaDescription = lens _miaDescription (\ s a -> s{_miaDescription = a}); --- | The value of the attribute being modified. This is only valid when modifying--- the 'description' attribute.-miaValue :: Lens' ModifyImageAttribute (Maybe Text)-miaValue = lens _miaValue (\s a -> s { _miaValue = a })+-- | The ID of the AMI.+miaImageId :: Lens' ModifyImageAttribute Text+miaImageId = lens _miaImageId (\ s a -> s{_miaImageId = a}); -data ModifyImageAttributeResponse = ModifyImageAttributeResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest ModifyImageAttribute where+        type Sv ModifyImageAttribute = EC2+        type Rs ModifyImageAttribute =+             ModifyImageAttributeResponse+        request = post+        response = receiveNull ModifyImageAttributeResponse' --- | 'ModifyImageAttributeResponse' constructor.-modifyImageAttributeResponse :: ModifyImageAttributeResponse-modifyImageAttributeResponse = ModifyImageAttributeResponse+instance ToHeaders ModifyImageAttribute where+        toHeaders = const mempty  instance ToPath ModifyImageAttribute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ModifyImageAttribute where-    toQuery ModifyImageAttribute{..} = mconcat-        [ "Attribute"        =? _miaAttribute-        , "Description"      =? _miaDescription-        , "DryRun"           =? _miaDryRun-        , "ImageId"          =? _miaImageId-        , "LaunchPermission" =? _miaLaunchPermission-        , "OperationType"    =? _miaOperationType-        , "ProductCode"      `toQueryList` _miaProductCodes-        , "UserGroup"        `toQueryList` _miaUserGroups-        , "UserId"           `toQueryList` _miaUserIds-        , "Value"            =? _miaValue-        ]--instance ToHeaders ModifyImageAttribute+        toQuery ModifyImageAttribute'{..}+          = mconcat+              ["Action" =: ("ModifyImageAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Attribute" =: _miaAttribute,+               toQuery (toQueryList "UserId" <$> _miaUserIds),+               toQuery (toQueryList "UserGroup" <$> _miaUserGroups),+               "Value" =: _miaValue,+               "LaunchPermission" =: _miaLaunchPermission,+               "OperationType" =: _miaOperationType,+               toQuery+                 (toQueryList "ProductCode" <$> _miaProductCodes),+               "DryRun" =: _miaDryRun,+               "Description" =: _miaDescription,+               "ImageId" =: _miaImageId] -instance AWSRequest ModifyImageAttribute where-    type Sv ModifyImageAttribute = EC2-    type Rs ModifyImageAttribute = ModifyImageAttributeResponse+-- | /See:/ 'modifyImageAttributeResponse' smart constructor.+data ModifyImageAttributeResponse =+    ModifyImageAttributeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ModifyImageAttribute"-    response = nullResponse ModifyImageAttributeResponse+-- | Creates a value of 'ModifyImageAttributeResponse' with the minimum fields required to make a request.+--+modifyImageAttributeResponse+    :: ModifyImageAttributeResponse+modifyImageAttributeResponse = ModifyImageAttributeResponse'
gen/Network/AWS/EC2/ModifyInstanceAttribute.hs view
@@ -1,267 +1,282 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ModifyInstanceAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modifies the specified attribute of the specified instance. You can specify--- only one attribute at a time.+-- Modifies the specified attribute of the specified instance. You can+-- specify only one attribute at a time. -- -- To modify some attributes, the instance must be stopped. For more--- information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html Modifying Attributes of a Stopped Instance> in the /AmazonElastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html AWS API Reference> for ModifyInstanceAttribute. module Network.AWS.EC2.ModifyInstanceAttribute     (-    -- * Request-      ModifyInstanceAttribute-    -- ** Request constructor-    , modifyInstanceAttribute-    -- ** Request lenses-    , mia1Attribute-    , mia1BlockDeviceMappings-    , mia1DisableApiTermination-    , mia1DryRun-    , mia1EbsOptimized-    , mia1Groups-    , mia1InstanceId-    , mia1InstanceInitiatedShutdownBehavior-    , mia1InstanceType-    , mia1Kernel-    , mia1Ramdisk-    , mia1SourceDestCheck-    , mia1SriovNetSupport-    , mia1UserData-    , mia1Value+    -- * Creating a Request+      modifyInstanceAttribute+    , ModifyInstanceAttribute+    -- * Request Lenses+    , mAttribute+    , mGroups+    , mSourceDestCheck+    , mDisableAPITermination+    , mRAMDisk+    , mValue+    , mKernel+    , mInstanceType+    , mEBSOptimized+    , mUserData+    , mSRIOVNetSupport+    , mInstanceInitiatedShutdownBehavior+    , mBlockDeviceMappings+    , mDryRun+    , mInstanceId -    -- * Response-    , ModifyInstanceAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , modifyInstanceAttributeResponse+    , ModifyInstanceAttributeResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ModifyInstanceAttribute = ModifyInstanceAttribute-    { _mia1Attribute                         :: Maybe InstanceAttributeName-    , _mia1BlockDeviceMappings               :: List "item" InstanceBlockDeviceMappingSpecification-    , _mia1DisableApiTermination             :: Maybe AttributeBooleanValue-    , _mia1DryRun                            :: Maybe Bool-    , _mia1EbsOptimized                      :: Maybe AttributeBooleanValue-    , _mia1Groups                            :: List "groupId" Text-    , _mia1InstanceId                        :: Text-    , _mia1InstanceInitiatedShutdownBehavior :: Maybe AttributeValue-    , _mia1InstanceType                      :: Maybe AttributeValue-    , _mia1Kernel                            :: Maybe AttributeValue-    , _mia1Ramdisk                           :: Maybe AttributeValue-    , _mia1SourceDestCheck                   :: Maybe AttributeBooleanValue-    , _mia1SriovNetSupport                   :: Maybe AttributeValue-    , _mia1UserData                          :: Maybe BlobAttributeValue-    , _mia1Value                             :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'modifyInstanceAttribute' smart constructor.+data ModifyInstanceAttribute = ModifyInstanceAttribute'+    { _mAttribute                         :: !(Maybe InstanceAttributeName)+    , _mGroups                            :: !(Maybe [Text])+    , _mSourceDestCheck                   :: !(Maybe AttributeBooleanValue)+    , _mDisableAPITermination             :: !(Maybe AttributeBooleanValue)+    , _mRAMDisk                           :: !(Maybe AttributeValue)+    , _mValue                             :: !(Maybe Text)+    , _mKernel                            :: !(Maybe AttributeValue)+    , _mInstanceType                      :: !(Maybe AttributeValue)+    , _mEBSOptimized                      :: !(Maybe AttributeBooleanValue)+    , _mUserData                          :: !(Maybe BlobAttributeValue)+    , _mSRIOVNetSupport                   :: !(Maybe AttributeValue)+    , _mInstanceInitiatedShutdownBehavior :: !(Maybe AttributeValue)+    , _mBlockDeviceMappings               :: !(Maybe [InstanceBlockDeviceMappingSpecification])+    , _mDryRun                            :: !(Maybe Bool)+    , _mInstanceId                        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ModifyInstanceAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ModifyInstanceAttribute' with the minimum fields required to make a request. ----- * 'mia1Attribute' @::@ 'Maybe' 'InstanceAttributeName'+-- Use one of the following lenses to modify other fields as desired: ----- * 'mia1BlockDeviceMappings' @::@ ['InstanceBlockDeviceMappingSpecification']+-- * 'mAttribute' ----- * 'mia1DisableApiTermination' @::@ 'Maybe' 'AttributeBooleanValue'+-- * 'mGroups' ----- * 'mia1DryRun' @::@ 'Maybe' 'Bool'+-- * 'mSourceDestCheck' ----- * 'mia1EbsOptimized' @::@ 'Maybe' 'AttributeBooleanValue'+-- * 'mDisableAPITermination' ----- * 'mia1Groups' @::@ ['Text']+-- * 'mRAMDisk' ----- * 'mia1InstanceId' @::@ 'Text'+-- * 'mValue' ----- * 'mia1InstanceInitiatedShutdownBehavior' @::@ 'Maybe' 'AttributeValue'+-- * 'mKernel' ----- * 'mia1InstanceType' @::@ 'Maybe' 'AttributeValue'+-- * 'mInstanceType' ----- * 'mia1Kernel' @::@ 'Maybe' 'AttributeValue'+-- * 'mEBSOptimized' ----- * 'mia1Ramdisk' @::@ 'Maybe' 'AttributeValue'+-- * 'mUserData' ----- * 'mia1SourceDestCheck' @::@ 'Maybe' 'AttributeBooleanValue'+-- * 'mSRIOVNetSupport' ----- * 'mia1SriovNetSupport' @::@ 'Maybe' 'AttributeValue'+-- * 'mInstanceInitiatedShutdownBehavior' ----- * 'mia1UserData' @::@ 'Maybe' 'BlobAttributeValue'+-- * 'mBlockDeviceMappings' ----- * 'mia1Value' @::@ 'Maybe' 'Text'+-- * 'mDryRun' ---modifyInstanceAttribute :: Text -- ^ 'mia1InstanceId'-                        -> ModifyInstanceAttribute-modifyInstanceAttribute p1 = ModifyInstanceAttribute-    { _mia1InstanceId                        = p1-    , _mia1DryRun                            = Nothing-    , _mia1Attribute                         = Nothing-    , _mia1Value                             = Nothing-    , _mia1BlockDeviceMappings               = mempty-    , _mia1SourceDestCheck                   = Nothing-    , _mia1DisableApiTermination             = Nothing-    , _mia1InstanceType                      = Nothing-    , _mia1Kernel                            = Nothing-    , _mia1Ramdisk                           = Nothing-    , _mia1UserData                          = Nothing-    , _mia1InstanceInitiatedShutdownBehavior = Nothing-    , _mia1Groups                            = mempty-    , _mia1EbsOptimized                      = Nothing-    , _mia1SriovNetSupport                   = Nothing+-- * 'mInstanceId'+modifyInstanceAttribute+    :: Text -- ^ 'mInstanceId'+    -> ModifyInstanceAttribute+modifyInstanceAttribute pInstanceId_ =+    ModifyInstanceAttribute'+    { _mAttribute = Nothing+    , _mGroups = Nothing+    , _mSourceDestCheck = Nothing+    , _mDisableAPITermination = Nothing+    , _mRAMDisk = Nothing+    , _mValue = Nothing+    , _mKernel = Nothing+    , _mInstanceType = Nothing+    , _mEBSOptimized = Nothing+    , _mUserData = Nothing+    , _mSRIOVNetSupport = Nothing+    , _mInstanceInitiatedShutdownBehavior = Nothing+    , _mBlockDeviceMappings = Nothing+    , _mDryRun = Nothing+    , _mInstanceId = pInstanceId_     }  -- | The name of the attribute.-mia1Attribute :: Lens' ModifyInstanceAttribute (Maybe InstanceAttributeName)-mia1Attribute = lens _mia1Attribute (\s a -> s { _mia1Attribute = a })---- | Modifies the 'DeleteOnTermination' attribute for volumes that are currently--- attached. The volume must be owned by the caller. If no value is specified--- for 'DeleteOnTermination', the default is 'true' and the volume is deleted when--- the instance is terminated.------ To add instance store volumes to an Amazon EBS-backed instance, you must add--- them when you launch the instance. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM Updating theBlock Device Mapping when Launching an Instance> in the /Amazon Elastic ComputeCloud User Guide/.-mia1BlockDeviceMappings :: Lens' ModifyInstanceAttribute [InstanceBlockDeviceMappingSpecification]-mia1BlockDeviceMappings =-    lens _mia1BlockDeviceMappings (\s a -> s { _mia1BlockDeviceMappings = a })-        . _List---- | If the value is 'true', you can't terminate the instance using the Amazon EC2--- console, CLI, or API; otherwise, you can.-mia1DisableApiTermination :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)-mia1DisableApiTermination =-    lens _mia1DisableApiTermination-        (\s a -> s { _mia1DisableApiTermination = a })+mAttribute :: Lens' ModifyInstanceAttribute (Maybe InstanceAttributeName)+mAttribute = lens _mAttribute (\ s a -> s{_mAttribute = 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'.-mia1DryRun :: Lens' ModifyInstanceAttribute (Maybe Bool)-mia1DryRun = lens _mia1DryRun (\s a -> s { _mia1DryRun = a })+-- | [EC2-VPC] Changes the security groups of the instance. You must specify+-- at least one security group, even if it\'s just the default security+-- group for the VPC. You must specify the security group ID, not the+-- security group name.+mGroups :: Lens' ModifyInstanceAttribute [Text]+mGroups = lens _mGroups (\ s a -> s{_mGroups = a}) . _Default . _Coerce; --- | Specifies 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.-mia1EbsOptimized :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)-mia1EbsOptimized = lens _mia1EbsOptimized (\s a -> s { _mia1EbsOptimized = a })+-- | Specifies whether source\/destination checking is enabled. A value of+-- 'true' means that checking is enabled, and 'false' means checking is+-- disabled. This value must be 'false' for a NAT instance to perform NAT.+mSourceDestCheck :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)+mSourceDestCheck = lens _mSourceDestCheck (\ s a -> s{_mSourceDestCheck = a}); --- | [EC2-VPC] Changes the security groups of the instance. You must specify at--- least one security group, even if it's just the default security group for--- the VPC. You must specify the security group ID, not the security group name.-mia1Groups :: Lens' ModifyInstanceAttribute [Text]-mia1Groups = lens _mia1Groups (\s a -> s { _mia1Groups = a }) . _List+-- | If the value is 'true', you can\'t terminate the instance using the+-- Amazon EC2 console, CLI, or API; otherwise, you can.+mDisableAPITermination :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)+mDisableAPITermination = lens _mDisableAPITermination (\ s a -> s{_mDisableAPITermination = a}); --- | The ID of the instance.-mia1InstanceId :: Lens' ModifyInstanceAttribute Text-mia1InstanceId = lens _mia1InstanceId (\s a -> s { _mia1InstanceId = a })+-- | Changes the instance\'s RAM disk to the specified value. We recommend+-- that you use PV-GRUB instead of kernels and RAM disks. For more+-- information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html PV-GRUB>.+mRAMDisk :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)+mRAMDisk = lens _mRAMDisk (\ s a -> s{_mRAMDisk = a}); --- | Specifies whether an instance stops or terminates when you initiate shutdown--- from the instance (using the operating system command for system shutdown).-mia1InstanceInitiatedShutdownBehavior :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)-mia1InstanceInitiatedShutdownBehavior =-    lens _mia1InstanceInitiatedShutdownBehavior-        (\s a -> s { _mia1InstanceInitiatedShutdownBehavior = a })+-- | A new value for the attribute. Use only with the 'kernel', 'ramdisk',+-- 'userData', 'disableApiTermination', or+-- 'intanceInitiateShutdownBehavior' attribute.+mValue :: Lens' ModifyInstanceAttribute (Maybe Text)+mValue = lens _mValue (\ s a -> s{_mValue = a}); --- | Changes the instance type to the specified value. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Types>. If the instance type is not valid, the error returned is 'InvalidInstanceAttributeValue'.-mia1InstanceType :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)-mia1InstanceType = lens _mia1InstanceType (\s a -> s { _mia1InstanceType = a })+-- | Changes the instance\'s kernel to the specified value. We recommend that+-- you use PV-GRUB instead of kernels and RAM disks. For more information,+-- see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html PV-GRUB>.+mKernel :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)+mKernel = lens _mKernel (\ s a -> s{_mKernel = a}); --- | Changes the instance's kernel to the specified value. We recommend that you--- use PV-GRUB instead of kernels and RAM disks. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html PV-GRUB>.-mia1Kernel :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)-mia1Kernel = lens _mia1Kernel (\s a -> s { _mia1Kernel = a })+-- | Changes the instance type to the specified value. For more information,+-- see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Types>.+-- If the instance type is not valid, the error returned is+-- 'InvalidInstanceAttributeValue'.+mInstanceType :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)+mInstanceType = lens _mInstanceType (\ s a -> s{_mInstanceType = a}); --- | Changes the instance's RAM disk to the specified value. We recommend that you--- use PV-GRUB instead of kernels and RAM disks. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html PV-GRUB>.-mia1Ramdisk :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)-mia1Ramdisk = lens _mia1Ramdisk (\s a -> s { _mia1Ramdisk = a })+-- | Specifies 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.+mEBSOptimized :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)+mEBSOptimized = lens _mEBSOptimized (\ s a -> s{_mEBSOptimized = a}); --- | Specifies whether source/destination checking is enabled. A value of 'true'--- means that checking is enabled, and 'false' means checking is disabled. This--- value must be 'false' for a NAT instance to perform NAT.-mia1SourceDestCheck :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue)-mia1SourceDestCheck =-    lens _mia1SourceDestCheck (\s a -> s { _mia1SourceDestCheck = a })+-- | Changes the instance\'s user data to the specified value.+mUserData :: Lens' ModifyInstanceAttribute (Maybe BlobAttributeValue)+mUserData = lens _mUserData (\ s a -> s{_mUserData = a});  -- | Set to 'simple' to enable enhanced networking for the instance. -- -- There is no way to disable enhanced networking at this time. ----- This option is supported only for HVM instances. Specifying this option with--- a PV instance can make it unreachable.-mia1SriovNetSupport :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)-mia1SriovNetSupport =-    lens _mia1SriovNetSupport (\s a -> s { _mia1SriovNetSupport = a })+-- This option is supported only for HVM instances. Specifying this option+-- with a PV instance can make it unreachable.+mSRIOVNetSupport :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)+mSRIOVNetSupport = lens _mSRIOVNetSupport (\ s a -> s{_mSRIOVNetSupport = a}); --- | Changes the instance's user data to the specified value.-mia1UserData :: Lens' ModifyInstanceAttribute (Maybe BlobAttributeValue)-mia1UserData = lens _mia1UserData (\s a -> s { _mia1UserData = a })+-- | Specifies whether an instance stops or terminates when you initiate+-- shutdown from the instance (using the operating system command for+-- system shutdown).+mInstanceInitiatedShutdownBehavior :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)+mInstanceInitiatedShutdownBehavior = lens _mInstanceInitiatedShutdownBehavior (\ s a -> s{_mInstanceInitiatedShutdownBehavior = a}); --- | A new value for the attribute. Use only with the 'kernel', 'ramdisk', 'userData', 'disableApiTermination', or 'intanceInitiateShutdownBehavior' attribute.-mia1Value :: Lens' ModifyInstanceAttribute (Maybe Text)-mia1Value = lens _mia1Value (\s a -> s { _mia1Value = a })+-- | Modifies the 'DeleteOnTermination' attribute for volumes that are+-- currently attached. The volume must be owned by the caller. If no value+-- is specified for 'DeleteOnTermination', the default is 'true' and the+-- volume is deleted when the instance is terminated.+--+-- To add instance store volumes to an Amazon EBS-backed instance, you must+-- add them when you launch the instance. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM Updating the Block Device Mapping when Launching an Instance>+-- in the /Amazon Elastic Compute Cloud User Guide/.+mBlockDeviceMappings :: Lens' ModifyInstanceAttribute [InstanceBlockDeviceMappingSpecification]+mBlockDeviceMappings = lens _mBlockDeviceMappings (\ s a -> s{_mBlockDeviceMappings = a}) . _Default . _Coerce; -data ModifyInstanceAttributeResponse = ModifyInstanceAttributeResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | 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'.+mDryRun :: Lens' ModifyInstanceAttribute (Maybe Bool)+mDryRun = lens _mDryRun (\ s a -> s{_mDryRun = a}); --- | 'ModifyInstanceAttributeResponse' constructor.-modifyInstanceAttributeResponse :: ModifyInstanceAttributeResponse-modifyInstanceAttributeResponse = ModifyInstanceAttributeResponse+-- | The ID of the instance.+mInstanceId :: Lens' ModifyInstanceAttribute Text+mInstanceId = lens _mInstanceId (\ s a -> s{_mInstanceId = a}); +instance AWSRequest ModifyInstanceAttribute where+        type Sv ModifyInstanceAttribute = EC2+        type Rs ModifyInstanceAttribute =+             ModifyInstanceAttributeResponse+        request = post+        response+          = receiveNull ModifyInstanceAttributeResponse'++instance ToHeaders ModifyInstanceAttribute where+        toHeaders = const mempty+ instance ToPath ModifyInstanceAttribute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ModifyInstanceAttribute where-    toQuery ModifyInstanceAttribute{..} = mconcat-        [ "Attribute"                         =? _mia1Attribute-        , "BlockDeviceMapping"                `toQueryList` _mia1BlockDeviceMappings-        , "DisableApiTermination"             =? _mia1DisableApiTermination-        , "DryRun"                            =? _mia1DryRun-        , "EbsOptimized"                      =? _mia1EbsOptimized-        , "GroupId"                           `toQueryList` _mia1Groups-        , "InstanceId"                        =? _mia1InstanceId-        , "InstanceInitiatedShutdownBehavior" =? _mia1InstanceInitiatedShutdownBehavior-        , "InstanceType"                      =? _mia1InstanceType-        , "Kernel"                            =? _mia1Kernel-        , "Ramdisk"                           =? _mia1Ramdisk-        , "SourceDestCheck"                   =? _mia1SourceDestCheck-        , "SriovNetSupport"                   =? _mia1SriovNetSupport-        , "UserData"                          =? _mia1UserData-        , "Value"                             =? _mia1Value-        ]--instance ToHeaders ModifyInstanceAttribute+        toQuery ModifyInstanceAttribute'{..}+          = mconcat+              ["Action" =:+                 ("ModifyInstanceAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Attribute" =: _mAttribute,+               toQuery (toQueryList "groupId" <$> _mGroups),+               "SourceDestCheck" =: _mSourceDestCheck,+               "DisableApiTermination" =: _mDisableAPITermination,+               "Ramdisk" =: _mRAMDisk, "Value" =: _mValue,+               "Kernel" =: _mKernel,+               "InstanceType" =: _mInstanceType,+               "EbsOptimized" =: _mEBSOptimized,+               "UserData" =: _mUserData,+               "SriovNetSupport" =: _mSRIOVNetSupport,+               "InstanceInitiatedShutdownBehavior" =:+                 _mInstanceInitiatedShutdownBehavior,+               toQuery+                 (toQueryList "item" <$> _mBlockDeviceMappings),+               "DryRun" =: _mDryRun, "InstanceId" =: _mInstanceId] -instance AWSRequest ModifyInstanceAttribute where-    type Sv ModifyInstanceAttribute = EC2-    type Rs ModifyInstanceAttribute = ModifyInstanceAttributeResponse+-- | /See:/ 'modifyInstanceAttributeResponse' smart constructor.+data ModifyInstanceAttributeResponse =+    ModifyInstanceAttributeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ModifyInstanceAttribute"-    response = nullResponse ModifyInstanceAttributeResponse+-- | Creates a value of 'ModifyInstanceAttributeResponse' with the minimum fields required to make a request.+--+modifyInstanceAttributeResponse+    :: ModifyInstanceAttributeResponse+modifyInstanceAttributeResponse = ModifyInstanceAttributeResponse'
gen/Network/AWS/EC2/ModifyNetworkInterfaceAttribute.hs view
@@ -1,151 +1,166 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ModifyNetworkInterfaceAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modifies the specified network interface attribute. You can specify only one--- attribute at a time.+-- Modifies the specified network interface attribute. You can specify only+-- one attribute at a time. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyNetworkInterfaceAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyNetworkInterfaceAttribute.html AWS API Reference> for ModifyNetworkInterfaceAttribute. module Network.AWS.EC2.ModifyNetworkInterfaceAttribute     (-    -- * Request-      ModifyNetworkInterfaceAttribute-    -- ** Request constructor-    , modifyNetworkInterfaceAttribute-    -- ** Request lenses+    -- * Creating a Request+      modifyNetworkInterfaceAttribute+    , ModifyNetworkInterfaceAttribute+    -- * Request Lenses+    , mniaGroups+    , mniaSourceDestCheck     , mniaAttachment-    , mniaDescription     , mniaDryRun-    , mniaGroups+    , mniaDescription     , mniaNetworkInterfaceId-    , mniaSourceDestCheck -    -- * Response-    , ModifyNetworkInterfaceAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , modifyNetworkInterfaceAttributeResponse+    , ModifyNetworkInterfaceAttributeResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ModifyNetworkInterfaceAttribute = ModifyNetworkInterfaceAttribute-    { _mniaAttachment         :: Maybe NetworkInterfaceAttachmentChanges-    , _mniaDescription        :: Maybe AttributeValue-    , _mniaDryRun             :: Maybe Bool-    , _mniaGroups             :: List "SecurityGroupId" Text-    , _mniaNetworkInterfaceId :: Text-    , _mniaSourceDestCheck    :: Maybe AttributeBooleanValue-    } deriving (Eq, Read, Show)+-- | /See:/ 'modifyNetworkInterfaceAttribute' smart constructor.+data ModifyNetworkInterfaceAttribute = ModifyNetworkInterfaceAttribute'+    { _mniaGroups             :: !(Maybe [Text])+    , _mniaSourceDestCheck    :: !(Maybe AttributeBooleanValue)+    , _mniaAttachment         :: !(Maybe NetworkInterfaceAttachmentChanges)+    , _mniaDryRun             :: !(Maybe Bool)+    , _mniaDescription        :: !(Maybe AttributeValue)+    , _mniaNetworkInterfaceId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ModifyNetworkInterfaceAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ModifyNetworkInterfaceAttribute' with the minimum fields required to make a request. ----- * 'mniaAttachment' @::@ 'Maybe' 'NetworkInterfaceAttachmentChanges'+-- Use one of the following lenses to modify other fields as desired: ----- * 'mniaDescription' @::@ 'Maybe' 'AttributeValue'+-- * 'mniaGroups' ----- * 'mniaDryRun' @::@ 'Maybe' 'Bool'+-- * 'mniaSourceDestCheck' ----- * 'mniaGroups' @::@ ['Text']+-- * 'mniaAttachment' ----- * 'mniaNetworkInterfaceId' @::@ 'Text'+-- * 'mniaDryRun' ----- * 'mniaSourceDestCheck' @::@ 'Maybe' 'AttributeBooleanValue'+-- * 'mniaDescription' ---modifyNetworkInterfaceAttribute :: Text -- ^ 'mniaNetworkInterfaceId'-                                -> ModifyNetworkInterfaceAttribute-modifyNetworkInterfaceAttribute p1 = ModifyNetworkInterfaceAttribute-    { _mniaNetworkInterfaceId = p1-    , _mniaDryRun             = Nothing-    , _mniaDescription        = Nothing-    , _mniaSourceDestCheck    = Nothing-    , _mniaGroups             = mempty-    , _mniaAttachment         = Nothing+-- * 'mniaNetworkInterfaceId'+modifyNetworkInterfaceAttribute+    :: Text -- ^ 'mniaNetworkInterfaceId'+    -> ModifyNetworkInterfaceAttribute+modifyNetworkInterfaceAttribute pNetworkInterfaceId_ =+    ModifyNetworkInterfaceAttribute'+    { _mniaGroups = Nothing+    , _mniaSourceDestCheck = Nothing+    , _mniaAttachment = Nothing+    , _mniaDryRun = Nothing+    , _mniaDescription = Nothing+    , _mniaNetworkInterfaceId = pNetworkInterfaceId_     } --- | Information about the interface attachment. If modifying the 'delete on--- termination' attribute, you must specify the ID of the interface attachment.-mniaAttachment :: Lens' ModifyNetworkInterfaceAttribute (Maybe NetworkInterfaceAttachmentChanges)-mniaAttachment = lens _mniaAttachment (\s a -> s { _mniaAttachment = a })+-- | Changes the security groups for the network interface. The new set of+-- groups you specify replaces the current set. You must specify at least+-- one group, even if it\'s just the default security group in the VPC. You+-- must specify the ID of the security group, not the name.+mniaGroups :: Lens' ModifyNetworkInterfaceAttribute [Text]+mniaGroups = lens _mniaGroups (\ s a -> s{_mniaGroups = a}) . _Default . _Coerce; --- | A description for the network interface.-mniaDescription :: Lens' ModifyNetworkInterfaceAttribute (Maybe AttributeValue)-mniaDescription = lens _mniaDescription (\s a -> s { _mniaDescription = a })+-- | Indicates whether source\/destination checking is enabled. A value of+-- 'true' means checking is enabled, and 'false' means checking is+-- disabled. This value must be 'false' for a NAT 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/.+mniaSourceDestCheck :: Lens' ModifyNetworkInterfaceAttribute (Maybe AttributeBooleanValue)+mniaSourceDestCheck = lens _mniaSourceDestCheck (\ s a -> s{_mniaSourceDestCheck = a}); +-- | Information about the interface attachment. If modifying the \'delete on+-- termination\' attribute, you must specify the ID of the interface+-- attachment.+mniaAttachment :: Lens' ModifyNetworkInterfaceAttribute (Maybe NetworkInterfaceAttachmentChanges)+mniaAttachment = lens _mniaAttachment (\ s a -> s{_mniaAttachment = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. mniaDryRun :: Lens' ModifyNetworkInterfaceAttribute (Maybe Bool)-mniaDryRun = lens _mniaDryRun (\s a -> s { _mniaDryRun = a })+mniaDryRun = lens _mniaDryRun (\ s a -> s{_mniaDryRun = a}); --- | Changes the security groups for the network interface. The new set of groups--- you specify replaces the current set. You must specify at least one group,--- even if it's just the default security group in the VPC. You must specify the--- ID of the security group, not the name.-mniaGroups :: Lens' ModifyNetworkInterfaceAttribute [Text]-mniaGroups = lens _mniaGroups (\s a -> s { _mniaGroups = a }) . _List+-- | A description for the network interface.+mniaDescription :: Lens' ModifyNetworkInterfaceAttribute (Maybe AttributeValue)+mniaDescription = lens _mniaDescription (\ s a -> s{_mniaDescription = a});  -- | The ID of the network interface. mniaNetworkInterfaceId :: Lens' ModifyNetworkInterfaceAttribute Text-mniaNetworkInterfaceId =-    lens _mniaNetworkInterfaceId (\s a -> s { _mniaNetworkInterfaceId = a })---- | Indicates whether source/destination checking is enabled. A value of 'true'--- means checking is enabled, and 'false' means checking is disabled. This value--- must be 'false' for a NAT 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/.-mniaSourceDestCheck :: Lens' ModifyNetworkInterfaceAttribute (Maybe AttributeBooleanValue)-mniaSourceDestCheck =-    lens _mniaSourceDestCheck (\s a -> s { _mniaSourceDestCheck = a })+mniaNetworkInterfaceId = lens _mniaNetworkInterfaceId (\ s a -> s{_mniaNetworkInterfaceId = a}); -data ModifyNetworkInterfaceAttributeResponse = ModifyNetworkInterfaceAttributeResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest ModifyNetworkInterfaceAttribute+         where+        type Sv ModifyNetworkInterfaceAttribute = EC2+        type Rs ModifyNetworkInterfaceAttribute =+             ModifyNetworkInterfaceAttributeResponse+        request = post+        response+          = receiveNull+              ModifyNetworkInterfaceAttributeResponse' --- | 'ModifyNetworkInterfaceAttributeResponse' constructor.-modifyNetworkInterfaceAttributeResponse :: ModifyNetworkInterfaceAttributeResponse-modifyNetworkInterfaceAttributeResponse = ModifyNetworkInterfaceAttributeResponse+instance ToHeaders ModifyNetworkInterfaceAttribute+         where+        toHeaders = const mempty  instance ToPath ModifyNetworkInterfaceAttribute where-    toPath = const "/"--instance ToQuery ModifyNetworkInterfaceAttribute where-    toQuery ModifyNetworkInterfaceAttribute{..} = mconcat-        [ "Attachment"         =? _mniaAttachment-        , "Description"        =? _mniaDescription-        , "DryRun"             =? _mniaDryRun-        , "SecurityGroupId"    `toQueryList` _mniaGroups-        , "NetworkInterfaceId" =? _mniaNetworkInterfaceId-        , "SourceDestCheck"    =? _mniaSourceDestCheck-        ]+        toPath = const "/" -instance ToHeaders ModifyNetworkInterfaceAttribute+instance ToQuery ModifyNetworkInterfaceAttribute+         where+        toQuery ModifyNetworkInterfaceAttribute'{..}+          = mconcat+              ["Action" =:+                 ("ModifyNetworkInterfaceAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "SecurityGroupId" <$> _mniaGroups),+               "SourceDestCheck" =: _mniaSourceDestCheck,+               "Attachment" =: _mniaAttachment,+               "DryRun" =: _mniaDryRun,+               "Description" =: _mniaDescription,+               "NetworkInterfaceId" =: _mniaNetworkInterfaceId] -instance AWSRequest ModifyNetworkInterfaceAttribute where-    type Sv ModifyNetworkInterfaceAttribute = EC2-    type Rs ModifyNetworkInterfaceAttribute = ModifyNetworkInterfaceAttributeResponse+-- | /See:/ 'modifyNetworkInterfaceAttributeResponse' smart constructor.+data ModifyNetworkInterfaceAttributeResponse =+    ModifyNetworkInterfaceAttributeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ModifyNetworkInterfaceAttribute"-    response = nullResponse ModifyNetworkInterfaceAttributeResponse+-- | Creates a value of 'ModifyNetworkInterfaceAttributeResponse' with the minimum fields required to make a request.+--+modifyNetworkInterfaceAttributeResponse+    :: ModifyNetworkInterfaceAttributeResponse+modifyNetworkInterfaceAttributeResponse =+    ModifyNetworkInterfaceAttributeResponse'
gen/Network/AWS/EC2/ModifyReservedInstances.hs view
@@ -1,140 +1,151 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ModifyReservedInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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 Availability Zone,--- network platform, and instance type.+-- 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+-- 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.+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyReservedInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyReservedInstances.html AWS API Reference> for ModifyReservedInstances. module Network.AWS.EC2.ModifyReservedInstances     (-    -- * Request-      ModifyReservedInstances-    -- ** Request constructor-    , modifyReservedInstances-    -- ** Request lenses+    -- * Creating a Request+      modifyReservedInstances+    , ModifyReservedInstances+    -- * Request Lenses     , mriClientToken     , mriReservedInstancesIds     , mriTargetConfigurations -    -- * Response-    , ModifyReservedInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , modifyReservedInstancesResponse-    -- ** Response lenses-    , mrirReservedInstancesModificationId+    , ModifyReservedInstancesResponse+    -- * Response Lenses+    , mrirsReservedInstancesModificationId+    , mrirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ModifyReservedInstances = ModifyReservedInstances-    { _mriClientToken          :: Maybe Text-    , _mriReservedInstancesIds :: List "ReservedInstancesId" Text-    , _mriTargetConfigurations :: List "item" ReservedInstancesConfiguration-    } deriving (Eq, Read, Show)+-- | /See:/ 'modifyReservedInstances' smart constructor.+data ModifyReservedInstances = ModifyReservedInstances'+    { _mriClientToken          :: !(Maybe Text)+    , _mriReservedInstancesIds :: ![Text]+    , _mriTargetConfigurations :: ![ReservedInstancesConfiguration]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ModifyReservedInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ModifyReservedInstances' with the minimum fields required to make a request. ----- * 'mriClientToken' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'mriReservedInstancesIds' @::@ ['Text']+-- * 'mriClientToken' ----- * 'mriTargetConfigurations' @::@ ['ReservedInstancesConfiguration']+-- * 'mriReservedInstancesIds' ---modifyReservedInstances :: ModifyReservedInstances-modifyReservedInstances = ModifyReservedInstances-    { _mriClientToken          = Nothing+-- * 'mriTargetConfigurations'+modifyReservedInstances+    :: ModifyReservedInstances+modifyReservedInstances =+    ModifyReservedInstances'+    { _mriClientToken = Nothing     , _mriReservedInstancesIds = mempty     , _mriTargetConfigurations = mempty     }  -- | A unique, case-sensitive token you provide to ensure idempotency of your--- modification request. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.+-- modification request. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>. mriClientToken :: Lens' ModifyReservedInstances (Maybe Text)-mriClientToken = lens _mriClientToken (\s a -> s { _mriClientToken = a })+mriClientToken = lens _mriClientToken (\ s a -> s{_mriClientToken = a});  -- | The IDs of the Reserved Instances to modify. mriReservedInstancesIds :: Lens' ModifyReservedInstances [Text]-mriReservedInstancesIds =-    lens _mriReservedInstancesIds (\s a -> s { _mriReservedInstancesIds = a })-        . _List+mriReservedInstancesIds = lens _mriReservedInstancesIds (\ s a -> s{_mriReservedInstancesIds = a}) . _Coerce;  -- | The configuration settings for the Reserved Instances to modify. mriTargetConfigurations :: Lens' ModifyReservedInstances [ReservedInstancesConfiguration]-mriTargetConfigurations =-    lens _mriTargetConfigurations (\s a -> s { _mriTargetConfigurations = a })-        . _List--newtype ModifyReservedInstancesResponse = ModifyReservedInstancesResponse-    { _mrirReservedInstancesModificationId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+mriTargetConfigurations = lens _mriTargetConfigurations (\ s a -> s{_mriTargetConfigurations = a}) . _Coerce; --- | 'ModifyReservedInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'mrirReservedInstancesModificationId' @::@ 'Maybe' 'Text'----modifyReservedInstancesResponse :: ModifyReservedInstancesResponse-modifyReservedInstancesResponse = ModifyReservedInstancesResponse-    { _mrirReservedInstancesModificationId = Nothing-    }+instance AWSRequest ModifyReservedInstances where+        type Sv ModifyReservedInstances = EC2+        type Rs ModifyReservedInstances =+             ModifyReservedInstancesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 ModifyReservedInstancesResponse' <$>+                   (x .@? "reservedInstancesModificationId") <*>+                     (pure (fromEnum s))) --- | The ID for the modification.-mrirReservedInstancesModificationId :: Lens' ModifyReservedInstancesResponse (Maybe Text)-mrirReservedInstancesModificationId =-    lens _mrirReservedInstancesModificationId-        (\s a -> s { _mrirReservedInstancesModificationId = a })+instance ToHeaders ModifyReservedInstances where+        toHeaders = const mempty  instance ToPath ModifyReservedInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ModifyReservedInstances where-    toQuery ModifyReservedInstances{..} = mconcat-        [ "ClientToken"                               =? _mriClientToken-        , "ReservedInstancesId"                       `toQueryList` _mriReservedInstancesIds-        , "ReservedInstancesConfigurationSetItemType" `toQueryList` _mriTargetConfigurations-        ]+        toQuery ModifyReservedInstances'{..}+          = mconcat+              ["Action" =:+                 ("ModifyReservedInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "ClientToken" =: _mriClientToken,+               toQueryList "ReservedInstancesId"+                 _mriReservedInstancesIds,+               toQueryList "item" _mriTargetConfigurations] -instance ToHeaders ModifyReservedInstances+-- | /See:/ 'modifyReservedInstancesResponse' smart constructor.+data ModifyReservedInstancesResponse = ModifyReservedInstancesResponse'+    { _mrirsReservedInstancesModificationId :: !(Maybe Text)+    , _mrirsStatus                          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest ModifyReservedInstances where-    type Sv ModifyReservedInstances = EC2-    type Rs ModifyReservedInstances = ModifyReservedInstancesResponse+-- | Creates a value of 'ModifyReservedInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mrirsReservedInstancesModificationId'+--+-- * 'mrirsStatus'+modifyReservedInstancesResponse+    :: Int -- ^ 'mrirsStatus'+    -> ModifyReservedInstancesResponse+modifyReservedInstancesResponse pStatus_ =+    ModifyReservedInstancesResponse'+    { _mrirsReservedInstancesModificationId = Nothing+    , _mrirsStatus = pStatus_+    } -    request  = post "ModifyReservedInstances"-    response = xmlResponse+-- | The ID for the modification.+mrirsReservedInstancesModificationId :: Lens' ModifyReservedInstancesResponse (Maybe Text)+mrirsReservedInstancesModificationId = lens _mrirsReservedInstancesModificationId (\ s a -> s{_mrirsReservedInstancesModificationId = a}); -instance FromXML ModifyReservedInstancesResponse where-    parseXML x = ModifyReservedInstancesResponse-        <$> x .@? "reservedInstancesModificationId"+-- | The response status code.+mrirsStatus :: Lens' ModifyReservedInstancesResponse Int+mrirsStatus = lens _mrirsStatus (\ s a -> s{_mrirsStatus = a});
gen/Network/AWS/EC2/ModifySnapshotAttribute.hs view
@@ -1,164 +1,172 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ModifySnapshotAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Adds or removes permission settings for the specified snapshot. You may add--- or remove specified AWS account IDs from a snapshot's list of create volume--- permissions, but you cannot do both in a single API call. If you need to both--- add and remove account IDs for a snapshot, you must use multiple API calls.+-- Adds or removes permission settings for the specified snapshot. You may+-- add or remove specified AWS account IDs from a snapshot\'s list of+-- create volume permissions, but you cannot do both in a single API call.+-- If you need to both add and remove account IDs for a snapshot, you must+-- use multiple API calls. ----- For more information on modifying snapshot permissions, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html Sharing Snapshots>+-- 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/. -- -- Snapshots with AWS Marketplace product codes cannot be made public. ----------- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifySnapshotAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifySnapshotAttribute.html AWS API Reference> for ModifySnapshotAttribute. module Network.AWS.EC2.ModifySnapshotAttribute     (-    -- * Request-      ModifySnapshotAttribute-    -- ** Request constructor-    , modifySnapshotAttribute-    -- ** Request lenses+    -- * Creating a Request+      modifySnapshotAttribute+    , ModifySnapshotAttribute+    -- * Request Lenses     , msaAttribute+    , msaUserIds     , msaCreateVolumePermission-    , msaDryRun     , msaGroupNames     , msaOperationType+    , msaDryRun     , msaSnapshotId-    , msaUserIds -    -- * Response-    , ModifySnapshotAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , modifySnapshotAttributeResponse+    , ModifySnapshotAttributeResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ModifySnapshotAttribute = ModifySnapshotAttribute-    { _msaAttribute              :: Maybe SnapshotAttributeName-    , _msaCreateVolumePermission :: Maybe CreateVolumePermissionModifications-    , _msaDryRun                 :: Maybe Bool-    , _msaGroupNames             :: List "GroupName" Text-    , _msaOperationType          :: Maybe Text-    , _msaSnapshotId             :: Text-    , _msaUserIds                :: List "UserId" Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'modifySnapshotAttribute' smart constructor.+data ModifySnapshotAttribute = ModifySnapshotAttribute'+    { _msaAttribute              :: !(Maybe SnapshotAttributeName)+    , _msaUserIds                :: !(Maybe [Text])+    , _msaCreateVolumePermission :: !(Maybe CreateVolumePermissionModifications)+    , _msaGroupNames             :: !(Maybe [Text])+    , _msaOperationType          :: !(Maybe Text)+    , _msaDryRun                 :: !(Maybe Bool)+    , _msaSnapshotId             :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ModifySnapshotAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ModifySnapshotAttribute' with the minimum fields required to make a request. ----- * 'msaAttribute' @::@ 'Maybe' 'SnapshotAttributeName'+-- Use one of the following lenses to modify other fields as desired: ----- * 'msaCreateVolumePermission' @::@ 'Maybe' 'CreateVolumePermissionModifications'+-- * 'msaAttribute' ----- * 'msaDryRun' @::@ 'Maybe' 'Bool'+-- * 'msaUserIds' ----- * 'msaGroupNames' @::@ ['Text']+-- * 'msaCreateVolumePermission' ----- * 'msaOperationType' @::@ 'Maybe' 'Text'+-- * 'msaGroupNames' ----- * 'msaSnapshotId' @::@ 'Text'+-- * 'msaOperationType' ----- * 'msaUserIds' @::@ ['Text']+-- * 'msaDryRun' ---modifySnapshotAttribute :: Text -- ^ 'msaSnapshotId'-                        -> ModifySnapshotAttribute-modifySnapshotAttribute p1 = ModifySnapshotAttribute-    { _msaSnapshotId             = p1-    , _msaDryRun                 = Nothing-    , _msaAttribute              = Nothing-    , _msaOperationType          = Nothing-    , _msaUserIds                = mempty-    , _msaGroupNames             = mempty+-- * 'msaSnapshotId'+modifySnapshotAttribute+    :: Text -- ^ 'msaSnapshotId'+    -> ModifySnapshotAttribute+modifySnapshotAttribute pSnapshotId_ =+    ModifySnapshotAttribute'+    { _msaAttribute = Nothing+    , _msaUserIds = Nothing     , _msaCreateVolumePermission = Nothing+    , _msaGroupNames = Nothing+    , _msaOperationType = Nothing+    , _msaDryRun = Nothing+    , _msaSnapshotId = pSnapshotId_     }  -- | The snapshot attribute to modify.+--+-- Only volume creation permissions may be modified at the customer level. msaAttribute :: Lens' ModifySnapshotAttribute (Maybe SnapshotAttributeName)-msaAttribute = lens _msaAttribute (\s a -> s { _msaAttribute = a })+msaAttribute = lens _msaAttribute (\ s a -> s{_msaAttribute = a}); +-- | The account ID to modify for the snapshot.+msaUserIds :: Lens' ModifySnapshotAttribute [Text]+msaUserIds = lens _msaUserIds (\ s a -> s{_msaUserIds = a}) . _Default . _Coerce;+ -- | A JSON representation of the snapshot attribute modification. msaCreateVolumePermission :: Lens' ModifySnapshotAttribute (Maybe CreateVolumePermissionModifications)-msaCreateVolumePermission =-    lens _msaCreateVolumePermission-        (\s a -> s { _msaCreateVolumePermission = 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'.-msaDryRun :: Lens' ModifySnapshotAttribute (Maybe Bool)-msaDryRun = lens _msaDryRun (\s a -> s { _msaDryRun = a })+msaCreateVolumePermission = lens _msaCreateVolumePermission (\ s a -> s{_msaCreateVolumePermission = a});  -- | The group to modify for the snapshot. msaGroupNames :: Lens' ModifySnapshotAttribute [Text]-msaGroupNames = lens _msaGroupNames (\s a -> s { _msaGroupNames = a }) . _List+msaGroupNames = lens _msaGroupNames (\ s a -> s{_msaGroupNames = a}) . _Default . _Coerce;  -- | The type of operation to perform to the attribute. msaOperationType :: Lens' ModifySnapshotAttribute (Maybe Text)-msaOperationType = lens _msaOperationType (\s a -> s { _msaOperationType = a })+msaOperationType = lens _msaOperationType (\ s a -> s{_msaOperationType = 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'.+msaDryRun :: Lens' ModifySnapshotAttribute (Maybe Bool)+msaDryRun = lens _msaDryRun (\ s a -> s{_msaDryRun = a});+ -- | The ID of the snapshot. msaSnapshotId :: Lens' ModifySnapshotAttribute Text-msaSnapshotId = lens _msaSnapshotId (\s a -> s { _msaSnapshotId = a })---- | The account ID to modify for the snapshot.-msaUserIds :: Lens' ModifySnapshotAttribute [Text]-msaUserIds = lens _msaUserIds (\s a -> s { _msaUserIds = a }) . _List+msaSnapshotId = lens _msaSnapshotId (\ s a -> s{_msaSnapshotId = a}); -data ModifySnapshotAttributeResponse = ModifySnapshotAttributeResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest ModifySnapshotAttribute where+        type Sv ModifySnapshotAttribute = EC2+        type Rs ModifySnapshotAttribute =+             ModifySnapshotAttributeResponse+        request = post+        response+          = receiveNull ModifySnapshotAttributeResponse' --- | 'ModifySnapshotAttributeResponse' constructor.-modifySnapshotAttributeResponse :: ModifySnapshotAttributeResponse-modifySnapshotAttributeResponse = ModifySnapshotAttributeResponse+instance ToHeaders ModifySnapshotAttribute where+        toHeaders = const mempty  instance ToPath ModifySnapshotAttribute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ModifySnapshotAttribute where-    toQuery ModifySnapshotAttribute{..} = mconcat-        [ "Attribute"              =? _msaAttribute-        , "CreateVolumePermission" =? _msaCreateVolumePermission-        , "DryRun"                 =? _msaDryRun-        , "UserGroup"              `toQueryList` _msaGroupNames-        , "OperationType"          =? _msaOperationType-        , "SnapshotId"             =? _msaSnapshotId-        , "UserId"                 `toQueryList` _msaUserIds-        ]--instance ToHeaders ModifySnapshotAttribute+        toQuery ModifySnapshotAttribute'{..}+          = mconcat+              ["Action" =:+                 ("ModifySnapshotAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Attribute" =: _msaAttribute,+               toQuery (toQueryList "UserId" <$> _msaUserIds),+               "CreateVolumePermission" =:+                 _msaCreateVolumePermission,+               toQuery (toQueryList "GroupName" <$> _msaGroupNames),+               "OperationType" =: _msaOperationType,+               "DryRun" =: _msaDryRun,+               "SnapshotId" =: _msaSnapshotId] -instance AWSRequest ModifySnapshotAttribute where-    type Sv ModifySnapshotAttribute = EC2-    type Rs ModifySnapshotAttribute = ModifySnapshotAttributeResponse+-- | /See:/ 'modifySnapshotAttributeResponse' smart constructor.+data ModifySnapshotAttributeResponse =+    ModifySnapshotAttributeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ModifySnapshotAttribute"-    response = nullResponse ModifySnapshotAttributeResponse+-- | Creates a value of 'ModifySnapshotAttributeResponse' with the minimum fields required to make a request.+--+modifySnapshotAttributeResponse+    :: ModifySnapshotAttributeResponse+modifySnapshotAttributeResponse = ModifySnapshotAttributeResponse'
gen/Network/AWS/EC2/ModifySubnetAttribute.hs view
@@ -1,102 +1,105 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ModifySubnetAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modifies a subnet attribute.+-- Modifies a subnet attribute. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifySubnetAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifySubnetAttribute.html AWS API Reference> for ModifySubnetAttribute. module Network.AWS.EC2.ModifySubnetAttribute     (-    -- * Request-      ModifySubnetAttribute-    -- ** Request constructor-    , modifySubnetAttribute-    -- ** Request lenses-    , msaMapPublicIpOnLaunch+    -- * Creating a Request+      modifySubnetAttribute+    , ModifySubnetAttribute+    -- * Request Lenses+    , msaMapPublicIPOnLaunch     , msaSubnetId -    -- * Response-    , ModifySubnetAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , modifySubnetAttributeResponse+    , ModifySubnetAttributeResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ModifySubnetAttribute = ModifySubnetAttribute-    { _msaMapPublicIpOnLaunch :: Maybe AttributeBooleanValue-    , _msaSubnetId            :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'modifySubnetAttribute' smart constructor.+data ModifySubnetAttribute = ModifySubnetAttribute'+    { _msaMapPublicIPOnLaunch :: !(Maybe AttributeBooleanValue)+    , _msaSubnetId            :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ModifySubnetAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ModifySubnetAttribute' with the minimum fields required to make a request. ----- * 'msaMapPublicIpOnLaunch' @::@ 'Maybe' 'AttributeBooleanValue'+-- Use one of the following lenses to modify other fields as desired: ----- * 'msaSubnetId' @::@ 'Text'+-- * 'msaMapPublicIPOnLaunch' ---modifySubnetAttribute :: Text -- ^ 'msaSubnetId'-                      -> ModifySubnetAttribute-modifySubnetAttribute p1 = ModifySubnetAttribute-    { _msaSubnetId            = p1-    , _msaMapPublicIpOnLaunch = Nothing+-- * 'msaSubnetId'+modifySubnetAttribute+    :: Text -- ^ 'msaSubnetId'+    -> ModifySubnetAttribute+modifySubnetAttribute pSubnetId_ =+    ModifySubnetAttribute'+    { _msaMapPublicIPOnLaunch = Nothing+    , _msaSubnetId = pSubnetId_     } --- | Specify 'true' to indicate that instances launched into the specified subnet--- should be assigned public IP address.-msaMapPublicIpOnLaunch :: Lens' ModifySubnetAttribute (Maybe AttributeBooleanValue)-msaMapPublicIpOnLaunch =-    lens _msaMapPublicIpOnLaunch (\s a -> s { _msaMapPublicIpOnLaunch = a })+-- | Specify 'true' to indicate that instances launched into the specified+-- subnet should be assigned public IP address.+msaMapPublicIPOnLaunch :: Lens' ModifySubnetAttribute (Maybe AttributeBooleanValue)+msaMapPublicIPOnLaunch = lens _msaMapPublicIPOnLaunch (\ s a -> s{_msaMapPublicIPOnLaunch = a});  -- | The ID of the subnet. msaSubnetId :: Lens' ModifySubnetAttribute Text-msaSubnetId = lens _msaSubnetId (\s a -> s { _msaSubnetId = a })+msaSubnetId = lens _msaSubnetId (\ s a -> s{_msaSubnetId = a}); -data ModifySubnetAttributeResponse = ModifySubnetAttributeResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest ModifySubnetAttribute where+        type Sv ModifySubnetAttribute = EC2+        type Rs ModifySubnetAttribute =+             ModifySubnetAttributeResponse+        request = post+        response = receiveNull ModifySubnetAttributeResponse' --- | 'ModifySubnetAttributeResponse' constructor.-modifySubnetAttributeResponse :: ModifySubnetAttributeResponse-modifySubnetAttributeResponse = ModifySubnetAttributeResponse+instance ToHeaders ModifySubnetAttribute where+        toHeaders = const mempty  instance ToPath ModifySubnetAttribute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ModifySubnetAttribute where-    toQuery ModifySubnetAttribute{..} = mconcat-        [ "MapPublicIpOnLaunch" =? _msaMapPublicIpOnLaunch-        , "SubnetId"            =? _msaSubnetId-        ]--instance ToHeaders ModifySubnetAttribute+        toQuery ModifySubnetAttribute'{..}+          = mconcat+              ["Action" =: ("ModifySubnetAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "MapPublicIpOnLaunch" =: _msaMapPublicIPOnLaunch,+               "SubnetId" =: _msaSubnetId] -instance AWSRequest ModifySubnetAttribute where-    type Sv ModifySubnetAttribute = EC2-    type Rs ModifySubnetAttribute = ModifySubnetAttributeResponse+-- | /See:/ 'modifySubnetAttributeResponse' smart constructor.+data ModifySubnetAttributeResponse =+    ModifySubnetAttributeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ModifySubnetAttribute"-    response = nullResponse ModifySubnetAttributeResponse+-- | Creates a value of 'ModifySubnetAttributeResponse' with the minimum fields required to make a request.+--+modifySubnetAttributeResponse+    :: ModifySubnetAttributeResponse+modifySubnetAttributeResponse = ModifySubnetAttributeResponse'
+ gen/Network/AWS/EC2/ModifyVPCAttribute.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.ModifyVPCAttribute+-- 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)+--+-- 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+      modifyVPCAttribute+    , ModifyVPCAttribute+    -- * Request Lenses+    , mvaEnableDNSHostnames+    , mvaEnableDNSSupport+    , mvaVPCId++    -- * Destructuring the Response+    , modifyVPCAttributeResponse+    , ModifyVPCAttributeResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'modifyVPCAttribute' smart constructor.+data ModifyVPCAttribute = ModifyVPCAttribute'+    { _mvaEnableDNSHostnames :: !(Maybe AttributeBooleanValue)+    , _mvaEnableDNSSupport   :: !(Maybe AttributeBooleanValue)+    , _mvaVPCId              :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ModifyVPCAttribute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mvaEnableDNSHostnames'+--+-- * 'mvaEnableDNSSupport'+--+-- * 'mvaVPCId'+modifyVPCAttribute+    :: Text -- ^ 'mvaVPCId'+    -> ModifyVPCAttribute+modifyVPCAttribute pVPCId_ =+    ModifyVPCAttribute'+    { _mvaEnableDNSHostnames = Nothing+    , _mvaEnableDNSSupport = Nothing+    , _mvaVPCId = pVPCId_+    }++-- | Indicates whether the instances launched in the VPC get DNS hostnames.+-- If enabled, instances in the VPC get DNS hostnames; otherwise, they do+-- not.+--+-- You can only enable DNS hostnames if you also enable DNS support.+mvaEnableDNSHostnames :: Lens' ModifyVPCAttribute (Maybe AttributeBooleanValue)+mvaEnableDNSHostnames = lens _mvaEnableDNSHostnames (\ s a -> s{_mvaEnableDNSHostnames = a});++-- | Indicates whether the DNS resolution is supported for the VPC. If+-- enabled, queries to the Amazon provided DNS server at the+-- 169.254.169.253 IP address, or the reserved IP address at the base of+-- the VPC network range \"plus two\" will succeed. If disabled, the Amazon+-- provided DNS service in the VPC that resolves public DNS hostnames to IP+-- addresses is not enabled.+mvaEnableDNSSupport :: Lens' ModifyVPCAttribute (Maybe AttributeBooleanValue)+mvaEnableDNSSupport = lens _mvaEnableDNSSupport (\ s a -> s{_mvaEnableDNSSupport = a});++-- | The ID of the VPC.+mvaVPCId :: Lens' ModifyVPCAttribute Text+mvaVPCId = lens _mvaVPCId (\ s a -> s{_mvaVPCId = a});++instance AWSRequest ModifyVPCAttribute where+        type Sv ModifyVPCAttribute = EC2+        type Rs ModifyVPCAttribute =+             ModifyVPCAttributeResponse+        request = post+        response = receiveNull ModifyVPCAttributeResponse'++instance ToHeaders ModifyVPCAttribute where+        toHeaders = const mempty++instance ToPath ModifyVPCAttribute where+        toPath = const "/"++instance ToQuery ModifyVPCAttribute where+        toQuery ModifyVPCAttribute'{..}+          = mconcat+              ["Action" =: ("ModifyVpcAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "EnableDnsHostnames" =: _mvaEnableDNSHostnames,+               "EnableDnsSupport" =: _mvaEnableDNSSupport,+               "VpcId" =: _mvaVPCId]++-- | /See:/ 'modifyVPCAttributeResponse' smart constructor.+data ModifyVPCAttributeResponse =+    ModifyVPCAttributeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ModifyVPCAttributeResponse' with the minimum fields required to make a request.+--+modifyVPCAttributeResponse+    :: ModifyVPCAttributeResponse+modifyVPCAttributeResponse = ModifyVPCAttributeResponse'
+ gen/Network/AWS/EC2/ModifyVPCEndpoint.hs view
@@ -0,0 +1,178 @@+{-# 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.ModifyVPCEndpoint+-- 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)+--+-- 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+      modifyVPCEndpoint+    , ModifyVPCEndpoint+    -- * Request Lenses+    , mvePolicyDocument+    , mveRemoveRouteTableIds+    , mveResetPolicy+    , mveAddRouteTableIds+    , mveDryRun+    , mveVPCEndpointId++    -- * Destructuring the Response+    , modifyVPCEndpointResponse+    , ModifyVPCEndpointResponse+    -- * Response Lenses+    , mversReturn+    , mversStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'modifyVPCEndpoint' smart constructor.+data ModifyVPCEndpoint = ModifyVPCEndpoint'+    { _mvePolicyDocument      :: !(Maybe Text)+    , _mveRemoveRouteTableIds :: !(Maybe [Text])+    , _mveResetPolicy         :: !(Maybe Bool)+    , _mveAddRouteTableIds    :: !(Maybe [Text])+    , _mveDryRun              :: !(Maybe Bool)+    , _mveVPCEndpointId       :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ModifyVPCEndpoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mvePolicyDocument'+--+-- * 'mveRemoveRouteTableIds'+--+-- * 'mveResetPolicy'+--+-- * 'mveAddRouteTableIds'+--+-- * 'mveDryRun'+--+-- * 'mveVPCEndpointId'+modifyVPCEndpoint+    :: Text -- ^ 'mveVPCEndpointId'+    -> ModifyVPCEndpoint+modifyVPCEndpoint pVPCEndpointId_ =+    ModifyVPCEndpoint'+    { _mvePolicyDocument = Nothing+    , _mveRemoveRouteTableIds = Nothing+    , _mveResetPolicy = Nothing+    , _mveAddRouteTableIds = Nothing+    , _mveDryRun = Nothing+    , _mveVPCEndpointId = pVPCEndpointId_+    }++-- | A policy document to attach to the endpoint. The policy must be in valid+-- JSON format.+mvePolicyDocument :: Lens' ModifyVPCEndpoint (Maybe Text)+mvePolicyDocument = lens _mvePolicyDocument (\ s a -> s{_mvePolicyDocument = a});++-- | One or more route table IDs to disassociate from the endpoint.+mveRemoveRouteTableIds :: Lens' ModifyVPCEndpoint [Text]+mveRemoveRouteTableIds = lens _mveRemoveRouteTableIds (\ s a -> s{_mveRemoveRouteTableIds = a}) . _Default . _Coerce;++-- | Specify 'true' to reset the policy document to the default policy. The+-- default policy allows access to the service.+mveResetPolicy :: Lens' ModifyVPCEndpoint (Maybe Bool)+mveResetPolicy = lens _mveResetPolicy (\ s a -> s{_mveResetPolicy = a});++-- | One or more route tables IDs to associate with the endpoint.+mveAddRouteTableIds :: Lens' ModifyVPCEndpoint [Text]+mveAddRouteTableIds = lens _mveAddRouteTableIds (\ s a -> s{_mveAddRouteTableIds = 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'.+mveDryRun :: Lens' ModifyVPCEndpoint (Maybe Bool)+mveDryRun = lens _mveDryRun (\ s a -> s{_mveDryRun = a});++-- | The ID of the endpoint.+mveVPCEndpointId :: Lens' ModifyVPCEndpoint Text+mveVPCEndpointId = lens _mveVPCEndpointId (\ s a -> s{_mveVPCEndpointId = a});++instance AWSRequest ModifyVPCEndpoint where+        type Sv ModifyVPCEndpoint = EC2+        type Rs ModifyVPCEndpoint = ModifyVPCEndpointResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 ModifyVPCEndpointResponse' <$>+                   (x .@? "return") <*> (pure (fromEnum s)))++instance ToHeaders ModifyVPCEndpoint where+        toHeaders = const mempty++instance ToPath ModifyVPCEndpoint where+        toPath = const "/"++instance ToQuery ModifyVPCEndpoint where+        toQuery ModifyVPCEndpoint'{..}+          = mconcat+              ["Action" =: ("ModifyVpcEndpoint" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "PolicyDocument" =: _mvePolicyDocument,+               toQuery+                 (toQueryList "item" <$> _mveRemoveRouteTableIds),+               "ResetPolicy" =: _mveResetPolicy,+               toQuery+                 (toQueryList "item" <$> _mveAddRouteTableIds),+               "DryRun" =: _mveDryRun,+               "VpcEndpointId" =: _mveVPCEndpointId]++-- | /See:/ 'modifyVPCEndpointResponse' smart constructor.+data ModifyVPCEndpointResponse = ModifyVPCEndpointResponse'+    { _mversReturn :: !(Maybe Bool)+    , _mversStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ModifyVPCEndpointResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mversReturn'+--+-- * 'mversStatus'+modifyVPCEndpointResponse+    :: Int -- ^ 'mversStatus'+    -> ModifyVPCEndpointResponse+modifyVPCEndpointResponse pStatus_ =+    ModifyVPCEndpointResponse'+    { _mversReturn = Nothing+    , _mversStatus = pStatus_+    }++-- | Returns 'true' if the request succeeds; otherwise, it returns an error.+mversReturn :: Lens' ModifyVPCEndpointResponse (Maybe Bool)+mversReturn = lens _mversReturn (\ s a -> s{_mversReturn = a});++-- | The response status code.+mversStatus :: Lens' ModifyVPCEndpointResponse Int+mversStatus = lens _mversStatus (\ s a -> s{_mversStatus = a});
gen/Network/AWS/EC2/ModifyVolumeAttribute.hs view
@@ -1,122 +1,126 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ModifyVolumeAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modifies a volume attribute.+-- Modifies a volume attribute. ----- By default, all I/O operations for the volume are suspended when the data on--- the volume is determined to be potentially inconsistent, to prevent--- undetectable, latent data corruption. The I/O access to the volume can be--- resumed by first enabling I/O access and then checking the data consistency--- on your volume.+-- By default, all I\/O operations for the volume are suspended when the+-- data on the volume is determined to be potentially inconsistent, to+-- prevent undetectable, latent data corruption. The I\/O access to the+-- volume can be resumed by first enabling I\/O access and then checking+-- the data consistency on your volume. ----- 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.+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyVolumeAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyVolumeAttribute.html AWS API Reference> for ModifyVolumeAttribute. module Network.AWS.EC2.ModifyVolumeAttribute     (-    -- * Request-      ModifyVolumeAttribute-    -- ** Request constructor-    , modifyVolumeAttribute-    -- ** Request lenses+    -- * Creating a Request+      modifyVolumeAttribute+    , ModifyVolumeAttribute+    -- * Request Lenses     , mvaAutoEnableIO     , mvaDryRun     , mvaVolumeId -    -- * Response-    , ModifyVolumeAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , modifyVolumeAttributeResponse+    , ModifyVolumeAttributeResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ModifyVolumeAttribute = ModifyVolumeAttribute-    { _mvaAutoEnableIO :: Maybe AttributeBooleanValue-    , _mvaDryRun       :: Maybe Bool-    , _mvaVolumeId     :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'modifyVolumeAttribute' smart constructor.+data ModifyVolumeAttribute = ModifyVolumeAttribute'+    { _mvaAutoEnableIO :: !(Maybe AttributeBooleanValue)+    , _mvaDryRun       :: !(Maybe Bool)+    , _mvaVolumeId     :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ModifyVolumeAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ModifyVolumeAttribute' with the minimum fields required to make a request. ----- * 'mvaAutoEnableIO' @::@ 'Maybe' 'AttributeBooleanValue'+-- Use one of the following lenses to modify other fields as desired: ----- * 'mvaDryRun' @::@ 'Maybe' 'Bool'+-- * 'mvaAutoEnableIO' ----- * 'mvaVolumeId' @::@ 'Text'+-- * 'mvaDryRun' ---modifyVolumeAttribute :: Text -- ^ 'mvaVolumeId'-                      -> ModifyVolumeAttribute-modifyVolumeAttribute p1 = ModifyVolumeAttribute-    { _mvaVolumeId     = p1-    , _mvaDryRun       = Nothing-    , _mvaAutoEnableIO = Nothing+-- * 'mvaVolumeId'+modifyVolumeAttribute+    :: Text -- ^ 'mvaVolumeId'+    -> ModifyVolumeAttribute+modifyVolumeAttribute pVolumeId_ =+    ModifyVolumeAttribute'+    { _mvaAutoEnableIO = Nothing+    , _mvaDryRun = Nothing+    , _mvaVolumeId = pVolumeId_     } --- | Indicates whether the volume should be auto-enabled for I/O operations.+-- | Indicates whether the volume should be auto-enabled for I\/O operations. mvaAutoEnableIO :: Lens' ModifyVolumeAttribute (Maybe AttributeBooleanValue)-mvaAutoEnableIO = lens _mvaAutoEnableIO (\s a -> s { _mvaAutoEnableIO = a })+mvaAutoEnableIO = lens _mvaAutoEnableIO (\ s a -> s{_mvaAutoEnableIO = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. mvaDryRun :: Lens' ModifyVolumeAttribute (Maybe Bool)-mvaDryRun = lens _mvaDryRun (\s a -> s { _mvaDryRun = a })+mvaDryRun = lens _mvaDryRun (\ s a -> s{_mvaDryRun = a});  -- | The ID of the volume. mvaVolumeId :: Lens' ModifyVolumeAttribute Text-mvaVolumeId = lens _mvaVolumeId (\s a -> s { _mvaVolumeId = a })+mvaVolumeId = lens _mvaVolumeId (\ s a -> s{_mvaVolumeId = a}); -data ModifyVolumeAttributeResponse = ModifyVolumeAttributeResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest ModifyVolumeAttribute where+        type Sv ModifyVolumeAttribute = EC2+        type Rs ModifyVolumeAttribute =+             ModifyVolumeAttributeResponse+        request = post+        response = receiveNull ModifyVolumeAttributeResponse' --- | 'ModifyVolumeAttributeResponse' constructor.-modifyVolumeAttributeResponse :: ModifyVolumeAttributeResponse-modifyVolumeAttributeResponse = ModifyVolumeAttributeResponse+instance ToHeaders ModifyVolumeAttribute where+        toHeaders = const mempty  instance ToPath ModifyVolumeAttribute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ModifyVolumeAttribute where-    toQuery ModifyVolumeAttribute{..} = mconcat-        [ "AutoEnableIO" =? _mvaAutoEnableIO-        , "DryRun"       =? _mvaDryRun-        , "VolumeId"     =? _mvaVolumeId-        ]--instance ToHeaders ModifyVolumeAttribute+        toQuery ModifyVolumeAttribute'{..}+          = mconcat+              ["Action" =: ("ModifyVolumeAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "AutoEnableIO" =: _mvaAutoEnableIO,+               "DryRun" =: _mvaDryRun, "VolumeId" =: _mvaVolumeId] -instance AWSRequest ModifyVolumeAttribute where-    type Sv ModifyVolumeAttribute = EC2-    type Rs ModifyVolumeAttribute = ModifyVolumeAttributeResponse+-- | /See:/ 'modifyVolumeAttributeResponse' smart constructor.+data ModifyVolumeAttributeResponse =+    ModifyVolumeAttributeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ModifyVolumeAttribute"-    response = nullResponse ModifyVolumeAttributeResponse+-- | Creates a value of 'ModifyVolumeAttributeResponse' with the minimum fields required to make a request.+--+modifyVolumeAttributeResponse+    :: ModifyVolumeAttributeResponse+modifyVolumeAttributeResponse = ModifyVolumeAttributeResponse'
− gen/Network/AWS/EC2/ModifyVpcAttribute.hs
@@ -1,119 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.ModifyVpcAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modifies the specified attribute of the specified VPC.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyVpcAttribute.html>-module Network.AWS.EC2.ModifyVpcAttribute-    (-    -- * Request-      ModifyVpcAttribute-    -- ** Request constructor-    , modifyVpcAttribute-    -- ** Request lenses-    , mvaEnableDnsHostnames-    , mvaEnableDnsSupport-    , mvaVpcId--    -- * Response-    , ModifyVpcAttributeResponse-    -- ** Response constructor-    , modifyVpcAttributeResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data ModifyVpcAttribute = ModifyVpcAttribute-    { _mvaEnableDnsHostnames :: Maybe AttributeBooleanValue-    , _mvaEnableDnsSupport   :: Maybe AttributeBooleanValue-    , _mvaVpcId              :: Text-    } deriving (Eq, Read, Show)---- | 'ModifyVpcAttribute' constructor.------ The fields accessible through corresponding lenses are:------ * 'mvaEnableDnsHostnames' @::@ 'Maybe' 'AttributeBooleanValue'------ * 'mvaEnableDnsSupport' @::@ 'Maybe' 'AttributeBooleanValue'------ * 'mvaVpcId' @::@ 'Text'----modifyVpcAttribute :: Text -- ^ 'mvaVpcId'-                   -> ModifyVpcAttribute-modifyVpcAttribute p1 = ModifyVpcAttribute-    { _mvaVpcId              = p1-    , _mvaEnableDnsSupport   = Nothing-    , _mvaEnableDnsHostnames = Nothing-    }---- | Indicates whether the instances launched in the VPC get DNS hostnames. If--- enabled, instances in the VPC get DNS hostnames; otherwise, they do not.------ You can only enable DNS hostnames if you also enable DNS support.-mvaEnableDnsHostnames :: Lens' ModifyVpcAttribute (Maybe AttributeBooleanValue)-mvaEnableDnsHostnames =-    lens _mvaEnableDnsHostnames (\s a -> s { _mvaEnableDnsHostnames = a })---- | Indicates whether the DNS resolution is supported for the VPC. If enabled,--- queries to the Amazon provided DNS server at the 169.254.169.253 IP address,--- or the reserved IP address at the base of the VPC network range "plus two"--- will succeed. If disabled, the Amazon provided DNS service in the VPC that--- resolves public DNS hostnames to IP addresses is not enabled.-mvaEnableDnsSupport :: Lens' ModifyVpcAttribute (Maybe AttributeBooleanValue)-mvaEnableDnsSupport =-    lens _mvaEnableDnsSupport (\s a -> s { _mvaEnableDnsSupport = a })---- | The ID of the VPC.-mvaVpcId :: Lens' ModifyVpcAttribute Text-mvaVpcId = lens _mvaVpcId (\s a -> s { _mvaVpcId = a })--data ModifyVpcAttributeResponse = ModifyVpcAttributeResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'ModifyVpcAttributeResponse' constructor.-modifyVpcAttributeResponse :: ModifyVpcAttributeResponse-modifyVpcAttributeResponse = ModifyVpcAttributeResponse--instance ToPath ModifyVpcAttribute where-    toPath = const "/"--instance ToQuery ModifyVpcAttribute where-    toQuery ModifyVpcAttribute{..} = mconcat-        [ "EnableDnsHostnames" =? _mvaEnableDnsHostnames-        , "EnableDnsSupport"   =? _mvaEnableDnsSupport-        , "VpcId"              =? _mvaVpcId-        ]--instance ToHeaders ModifyVpcAttribute--instance AWSRequest ModifyVpcAttribute where-    type Sv ModifyVpcAttribute = EC2-    type Rs ModifyVpcAttribute = ModifyVpcAttributeResponse--    request  = post "ModifyVpcAttribute"-    response = nullResponse ModifyVpcAttributeResponse
− gen/Network/AWS/EC2/ModifyVpcEndpoint.hs
@@ -1,169 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.ModifyVpcEndpoint--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyVpcEndpoint.html>-module Network.AWS.EC2.ModifyVpcEndpoint-    (-    -- * Request-      ModifyVpcEndpoint-    -- ** Request constructor-    , modifyVpcEndpoint-    -- ** Request lenses-    , mveAddRouteTableIds-    , mveDryRun-    , mvePolicyDocument-    , mveRemoveRouteTableIds-    , mveResetPolicy-    , mveVpcEndpointId--    -- * Response-    , ModifyVpcEndpointResponse-    -- ** Response constructor-    , modifyVpcEndpointResponse-    -- ** Response lenses-    , mverReturn-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data ModifyVpcEndpoint = ModifyVpcEndpoint-    { _mveAddRouteTableIds    :: List "item" Text-    , _mveDryRun              :: Maybe Bool-    , _mvePolicyDocument      :: Maybe Text-    , _mveRemoveRouteTableIds :: List "item" Text-    , _mveResetPolicy         :: Maybe Bool-    , _mveVpcEndpointId       :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'ModifyVpcEndpoint' constructor.------ The fields accessible through corresponding lenses are:------ * 'mveAddRouteTableIds' @::@ ['Text']------ * 'mveDryRun' @::@ 'Maybe' 'Bool'------ * 'mvePolicyDocument' @::@ 'Maybe' 'Text'------ * 'mveRemoveRouteTableIds' @::@ ['Text']------ * 'mveResetPolicy' @::@ 'Maybe' 'Bool'------ * 'mveVpcEndpointId' @::@ 'Text'----modifyVpcEndpoint :: Text -- ^ 'mveVpcEndpointId'-                  -> ModifyVpcEndpoint-modifyVpcEndpoint p1 = ModifyVpcEndpoint-    { _mveVpcEndpointId       = p1-    , _mveDryRun              = Nothing-    , _mveResetPolicy         = Nothing-    , _mvePolicyDocument      = Nothing-    , _mveAddRouteTableIds    = mempty-    , _mveRemoveRouteTableIds = mempty-    }---- | One or more route tables IDs to associate with the endpoint.-mveAddRouteTableIds :: Lens' ModifyVpcEndpoint [Text]-mveAddRouteTableIds =-    lens _mveAddRouteTableIds (\s a -> s { _mveAddRouteTableIds = a })-        . _List---- | 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'.-mveDryRun :: Lens' ModifyVpcEndpoint (Maybe Bool)-mveDryRun = lens _mveDryRun (\s a -> s { _mveDryRun = a })---- | A policy document to attach to the endpoint. The policy must be in valid JSON--- format.-mvePolicyDocument :: Lens' ModifyVpcEndpoint (Maybe Text)-mvePolicyDocument =-    lens _mvePolicyDocument (\s a -> s { _mvePolicyDocument = a })---- | One or more route table IDs to disassociate from the endpoint.-mveRemoveRouteTableIds :: Lens' ModifyVpcEndpoint [Text]-mveRemoveRouteTableIds =-    lens _mveRemoveRouteTableIds (\s a -> s { _mveRemoveRouteTableIds = a })-        . _List---- | Specify 'true' to reset the policy document to the default policy. The default--- policy allows access to the service.-mveResetPolicy :: Lens' ModifyVpcEndpoint (Maybe Bool)-mveResetPolicy = lens _mveResetPolicy (\s a -> s { _mveResetPolicy = a })---- | The ID of the endpoint.-mveVpcEndpointId :: Lens' ModifyVpcEndpoint Text-mveVpcEndpointId = lens _mveVpcEndpointId (\s a -> s { _mveVpcEndpointId = a })--newtype ModifyVpcEndpointResponse = ModifyVpcEndpointResponse-    { _mverReturn :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'ModifyVpcEndpointResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'mverReturn' @::@ 'Maybe' 'Bool'----modifyVpcEndpointResponse :: ModifyVpcEndpointResponse-modifyVpcEndpointResponse = ModifyVpcEndpointResponse-    { _mverReturn = Nothing-    }---- | Returns 'true' if the request succeeds; otherwise, it returns an error.-mverReturn :: Lens' ModifyVpcEndpointResponse (Maybe Bool)-mverReturn = lens _mverReturn (\s a -> s { _mverReturn = a })--instance ToPath ModifyVpcEndpoint where-    toPath = const "/"--instance ToQuery ModifyVpcEndpoint where-    toQuery ModifyVpcEndpoint{..} = mconcat-        [ "AddRouteTableId"    `toQueryList` _mveAddRouteTableIds-        , "DryRun"             =? _mveDryRun-        , "PolicyDocument"     =? _mvePolicyDocument-        , "RemoveRouteTableId" `toQueryList` _mveRemoveRouteTableIds-        , "ResetPolicy"        =? _mveResetPolicy-        , "VpcEndpointId"      =? _mveVpcEndpointId-        ]--instance ToHeaders ModifyVpcEndpoint--instance AWSRequest ModifyVpcEndpoint where-    type Sv ModifyVpcEndpoint = EC2-    type Rs ModifyVpcEndpoint = ModifyVpcEndpointResponse--    request  = post "ModifyVpcEndpoint"-    response = xmlResponse--instance FromXML ModifyVpcEndpointResponse where-    parseXML x = ModifyVpcEndpointResponse-        <$> x .@? "return"
gen/Network/AWS/EC2/MonitorInstances.hs view
@@ -1,122 +1,136 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.MonitorInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Enables monitoring for a running instance. For more information about--- monitoring instances, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html Monitoring Your Instances and Volumes> in the /AmazonElastic Compute Cloud User Guide/.+-- Enables monitoring for a running instance. For more information about+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-MonitorInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-MonitorInstances.html AWS API Reference> for MonitorInstances. module Network.AWS.EC2.MonitorInstances     (-    -- * Request-      MonitorInstances-    -- ** Request constructor-    , monitorInstances-    -- ** Request lenses+    -- * Creating a Request+      monitorInstances+    , MonitorInstances+    -- * Request Lenses     , miDryRun     , miInstanceIds -    -- * Response-    , MonitorInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , monitorInstancesResponse-    -- ** Response lenses-    , mirInstanceMonitorings+    , MonitorInstancesResponse+    -- * Response Lenses+    , mirsInstanceMonitorings+    , mirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data MonitorInstances = MonitorInstances-    { _miDryRun      :: Maybe Bool-    , _miInstanceIds :: List "InstanceId" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'monitorInstances' smart constructor.+data MonitorInstances = MonitorInstances'+    { _miDryRun      :: !(Maybe Bool)+    , _miInstanceIds :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'MonitorInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'MonitorInstances' with the minimum fields required to make a request. ----- * 'miDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'miInstanceIds' @::@ ['Text']+-- * 'miDryRun' ---monitorInstances :: MonitorInstances-monitorInstances = MonitorInstances-    { _miDryRun      = Nothing+-- * 'miInstanceIds'+monitorInstances+    :: MonitorInstances+monitorInstances =+    MonitorInstances'+    { _miDryRun = Nothing     , _miInstanceIds = mempty     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. miDryRun :: Lens' MonitorInstances (Maybe Bool)-miDryRun = lens _miDryRun (\s a -> s { _miDryRun = a })+miDryRun = lens _miDryRun (\ s a -> s{_miDryRun = a});  -- | One or more instance IDs. miInstanceIds :: Lens' MonitorInstances [Text]-miInstanceIds = lens _miInstanceIds (\s a -> s { _miInstanceIds = a }) . _List--newtype MonitorInstancesResponse = MonitorInstancesResponse-    { _mirInstanceMonitorings :: List "item" InstanceMonitoring-    } deriving (Eq, Read, Show, Monoid, Semigroup)+miInstanceIds = lens _miInstanceIds (\ s a -> s{_miInstanceIds = a}) . _Coerce; --- | 'MonitorInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'mirInstanceMonitorings' @::@ ['InstanceMonitoring']----monitorInstancesResponse :: MonitorInstancesResponse-monitorInstancesResponse = MonitorInstancesResponse-    { _mirInstanceMonitorings = mempty-    }+instance AWSRequest MonitorInstances where+        type Sv MonitorInstances = EC2+        type Rs MonitorInstances = MonitorInstancesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 MonitorInstancesResponse' <$>+                   (x .@? "instancesSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Monitoring information for one or more instances.-mirInstanceMonitorings :: Lens' MonitorInstancesResponse [InstanceMonitoring]-mirInstanceMonitorings =-    lens _mirInstanceMonitorings (\s a -> s { _mirInstanceMonitorings = a })-        . _List+instance ToHeaders MonitorInstances where+        toHeaders = const mempty  instance ToPath MonitorInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery MonitorInstances where-    toQuery MonitorInstances{..} = mconcat-        [ "DryRun"     =? _miDryRun-        , "InstanceId" `toQueryList` _miInstanceIds-        ]+        toQuery MonitorInstances'{..}+          = mconcat+              ["Action" =: ("MonitorInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _miDryRun,+               toQueryList "InstanceId" _miInstanceIds] -instance ToHeaders MonitorInstances+-- | /See:/ 'monitorInstancesResponse' smart constructor.+data MonitorInstancesResponse = MonitorInstancesResponse'+    { _mirsInstanceMonitorings :: !(Maybe [InstanceMonitoring])+    , _mirsStatus              :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest MonitorInstances where-    type Sv MonitorInstances = EC2-    type Rs MonitorInstances = MonitorInstancesResponse+-- | Creates a value of 'MonitorInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mirsInstanceMonitorings'+--+-- * 'mirsStatus'+monitorInstancesResponse+    :: Int -- ^ 'mirsStatus'+    -> MonitorInstancesResponse+monitorInstancesResponse pStatus_ =+    MonitorInstancesResponse'+    { _mirsInstanceMonitorings = Nothing+    , _mirsStatus = pStatus_+    } -    request  = post "MonitorInstances"-    response = xmlResponse+-- | Monitoring information for one or more instances.+mirsInstanceMonitorings :: Lens' MonitorInstancesResponse [InstanceMonitoring]+mirsInstanceMonitorings = lens _mirsInstanceMonitorings (\ s a -> s{_mirsInstanceMonitorings = a}) . _Default . _Coerce; -instance FromXML MonitorInstancesResponse where-    parseXML x = MonitorInstancesResponse-        <$> x .@? "instancesSet" .!@ mempty+-- | The response status code.+mirsStatus :: Lens' MonitorInstancesResponse Int+mirsStatus = lens _mirsStatus (\ s a -> s{_mirsStatus = a});
+ gen/Network/AWS/EC2/MoveAddressToVPC.hs view
@@ -0,0 +1,137 @@+{-# 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.MoveAddressToVPC+-- 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)+--+-- 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.+module Network.AWS.EC2.MoveAddressToVPC+    (+    -- * Creating a Request+      moveAddressToVPC+    , MoveAddressToVPC+    -- * Request Lenses+    , matvDryRun+    , matvPublicIP++    -- * Destructuring the Response+    , moveAddressToVPCResponse+    , MoveAddressToVPCResponse+    -- * Response Lenses+    , matvrsAllocationId+    , matvrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'moveAddressToVPC' smart constructor.+data MoveAddressToVPC = MoveAddressToVPC'+    { _matvDryRun   :: !(Maybe Bool)+    , _matvPublicIP :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MoveAddressToVPC' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'matvDryRun'+--+-- * 'matvPublicIP'+moveAddressToVPC+    :: Text -- ^ 'matvPublicIP'+    -> MoveAddressToVPC+moveAddressToVPC pPublicIP_ =+    MoveAddressToVPC'+    { _matvDryRun = Nothing+    , _matvPublicIP = pPublicIP_+    }++-- | 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'.+matvDryRun :: Lens' MoveAddressToVPC (Maybe Bool)+matvDryRun = lens _matvDryRun (\ s a -> s{_matvDryRun = a});++-- | The Elastic IP address.+matvPublicIP :: Lens' MoveAddressToVPC Text+matvPublicIP = lens _matvPublicIP (\ s a -> s{_matvPublicIP = a});++instance AWSRequest MoveAddressToVPC where+        type Sv MoveAddressToVPC = EC2+        type Rs MoveAddressToVPC = MoveAddressToVPCResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 MoveAddressToVPCResponse' <$>+                   (x .@? "allocationId") <*> (pure (fromEnum s)))++instance ToHeaders MoveAddressToVPC where+        toHeaders = const mempty++instance ToPath MoveAddressToVPC where+        toPath = const "/"++instance ToQuery MoveAddressToVPC where+        toQuery MoveAddressToVPC'{..}+          = mconcat+              ["Action" =: ("MoveAddressToVpc" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _matvDryRun, "PublicIp" =: _matvPublicIP]++-- | /See:/ 'moveAddressToVPCResponse' smart constructor.+data MoveAddressToVPCResponse = MoveAddressToVPCResponse'+    { _matvrsAllocationId :: !(Maybe Text)+    , _matvrsStatus       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MoveAddressToVPCResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'matvrsAllocationId'+--+-- * 'matvrsStatus'+moveAddressToVPCResponse+    :: Int -- ^ 'matvrsStatus'+    -> MoveAddressToVPCResponse+moveAddressToVPCResponse pStatus_ =+    MoveAddressToVPCResponse'+    { _matvrsAllocationId = Nothing+    , _matvrsStatus = pStatus_+    }++-- | The allocation ID for the Elastic IP address.+matvrsAllocationId :: Lens' MoveAddressToVPCResponse (Maybe Text)+matvrsAllocationId = lens _matvrsAllocationId (\ s a -> s{_matvrsAllocationId = a});++-- | The response status code.+matvrsStatus :: Lens' MoveAddressToVPCResponse Int+matvrsStatus = lens _matvrsStatus (\ s a -> s{_matvrsStatus = a});
− gen/Network/AWS/EC2/MoveAddressToVpc.hs
@@ -1,137 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.MoveAddressToVpc--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-MoveAddressToVpc.html>-module Network.AWS.EC2.MoveAddressToVpc-    (-    -- * Request-      MoveAddressToVpc-    -- ** Request constructor-    , moveAddressToVpc-    -- ** Request lenses-    , matvDryRun-    , matvPublicIp--    -- * Response-    , MoveAddressToVpcResponse-    -- ** Response constructor-    , moveAddressToVpcResponse-    -- ** Response lenses-    , matvrAllocationId-    , matvrStatus-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data MoveAddressToVpc = MoveAddressToVpc-    { _matvDryRun   :: Maybe Bool-    , _matvPublicIp :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'MoveAddressToVpc' constructor.------ The fields accessible through corresponding lenses are:------ * 'matvDryRun' @::@ 'Maybe' 'Bool'------ * 'matvPublicIp' @::@ 'Text'----moveAddressToVpc :: Text -- ^ 'matvPublicIp'-                 -> MoveAddressToVpc-moveAddressToVpc p1 = MoveAddressToVpc-    { _matvPublicIp = p1-    , _matvDryRun   = Nothing-    }---- | 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'.-matvDryRun :: Lens' MoveAddressToVpc (Maybe Bool)-matvDryRun = lens _matvDryRun (\s a -> s { _matvDryRun = a })---- | The Elastic IP address.-matvPublicIp :: Lens' MoveAddressToVpc Text-matvPublicIp = lens _matvPublicIp (\s a -> s { _matvPublicIp = a })--data MoveAddressToVpcResponse = MoveAddressToVpcResponse-    { _matvrAllocationId :: Maybe Text-    , _matvrStatus       :: Maybe AddressStatus-    } deriving (Eq, Read, Show)---- | 'MoveAddressToVpcResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'matvrAllocationId' @::@ 'Maybe' 'Text'------ * 'matvrStatus' @::@ 'Maybe' 'AddressStatus'----moveAddressToVpcResponse :: MoveAddressToVpcResponse-moveAddressToVpcResponse = MoveAddressToVpcResponse-    { _matvrAllocationId = Nothing-    , _matvrStatus       = Nothing-    }---- | The allocation ID for the Elastic IP address.-matvrAllocationId :: Lens' MoveAddressToVpcResponse (Maybe Text)-matvrAllocationId =-    lens _matvrAllocationId (\s a -> s { _matvrAllocationId = a })---- | The status of the move of the IP address.-matvrStatus :: Lens' MoveAddressToVpcResponse (Maybe AddressStatus)-matvrStatus = lens _matvrStatus (\s a -> s { _matvrStatus = a })--instance ToPath MoveAddressToVpc where-    toPath = const "/"--instance ToQuery MoveAddressToVpc where-    toQuery MoveAddressToVpc{..} = mconcat-        [ "DryRun"   =? _matvDryRun-        , "PublicIp" =? _matvPublicIp-        ]--instance ToHeaders MoveAddressToVpc--instance AWSRequest MoveAddressToVpc where-    type Sv MoveAddressToVpc = EC2-    type Rs MoveAddressToVpc = MoveAddressToVpcResponse--    request  = post "MoveAddressToVpc"-    response = xmlResponse--instance FromXML MoveAddressToVpcResponse where-    parseXML x = MoveAddressToVpcResponse-        <$> x .@? "allocationId"-        <*> x .@? "status"
gen/Network/AWS/EC2/PurchaseReservedInstancesOffering.hs view
@@ -1,158 +1,177 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.PurchaseReservedInstancesOffering--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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. You pay a lower usage rate--- than with On-Demand instances for the time that you actually use the capacity--- reservation.+-- 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. ----- 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 InstanceMarketplace> in the /Amazon Elastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-PurchaseReservedInstancesOffering.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-PurchaseReservedInstancesOffering.html AWS API Reference> for PurchaseReservedInstancesOffering. module Network.AWS.EC2.PurchaseReservedInstancesOffering     (-    -- * Request-      PurchaseReservedInstancesOffering-    -- ** Request constructor-    , purchaseReservedInstancesOffering-    -- ** Request lenses-    , prioDryRun-    , prioInstanceCount+    -- * Creating a Request+      purchaseReservedInstancesOffering+    , PurchaseReservedInstancesOffering+    -- * Request Lenses     , prioLimitPrice+    , prioDryRun     , prioReservedInstancesOfferingId+    , prioInstanceCount -    -- * Response-    , PurchaseReservedInstancesOfferingResponse-    -- ** Response constructor+    -- * Destructuring the Response     , purchaseReservedInstancesOfferingResponse-    -- ** Response lenses-    , priorReservedInstancesId+    , PurchaseReservedInstancesOfferingResponse+    -- * Response Lenses+    , priorsReservedInstancesId+    , priorsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data PurchaseReservedInstancesOffering = PurchaseReservedInstancesOffering-    { _prioDryRun                      :: Maybe Bool-    , _prioInstanceCount               :: Int-    , _prioLimitPrice                  :: Maybe ReservedInstanceLimitPrice-    , _prioReservedInstancesOfferingId :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'purchaseReservedInstancesOffering' smart constructor.+data PurchaseReservedInstancesOffering = PurchaseReservedInstancesOffering'+    { _prioLimitPrice                  :: !(Maybe ReservedInstanceLimitPrice)+    , _prioDryRun                      :: !(Maybe Bool)+    , _prioReservedInstancesOfferingId :: !Text+    , _prioInstanceCount               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PurchaseReservedInstancesOffering' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PurchaseReservedInstancesOffering' with the minimum fields required to make a request. ----- * 'prioDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'prioInstanceCount' @::@ 'Int'+-- * 'prioLimitPrice' ----- * 'prioLimitPrice' @::@ 'Maybe' 'ReservedInstanceLimitPrice'+-- * 'prioDryRun' ----- * 'prioReservedInstancesOfferingId' @::@ 'Text'+-- * 'prioReservedInstancesOfferingId' ---purchaseReservedInstancesOffering :: Text -- ^ 'prioReservedInstancesOfferingId'-                                  -> Int -- ^ 'prioInstanceCount'-                                  -> PurchaseReservedInstancesOffering-purchaseReservedInstancesOffering p1 p2 = PurchaseReservedInstancesOffering-    { _prioReservedInstancesOfferingId = p1-    , _prioInstanceCount               = p2-    , _prioDryRun                      = Nothing-    , _prioLimitPrice                  = Nothing+-- * 'prioInstanceCount'+purchaseReservedInstancesOffering+    :: Text -- ^ 'prioReservedInstancesOfferingId'+    -> Int -- ^ 'prioInstanceCount'+    -> PurchaseReservedInstancesOffering+purchaseReservedInstancesOffering pReservedInstancesOfferingId_ pInstanceCount_ =+    PurchaseReservedInstancesOffering'+    { _prioLimitPrice = Nothing+    , _prioDryRun = Nothing+    , _prioReservedInstancesOfferingId = pReservedInstancesOfferingId_+    , _prioInstanceCount = pInstanceCount_     } +-- | Specified for Reserved Instance Marketplace offerings to limit the total+-- 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});+ -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. prioDryRun :: Lens' PurchaseReservedInstancesOffering (Maybe Bool)-prioDryRun = lens _prioDryRun (\s a -> s { _prioDryRun = a })+prioDryRun = lens _prioDryRun (\ s a -> s{_prioDryRun = a}); +-- | 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. prioInstanceCount :: Lens' PurchaseReservedInstancesOffering Int-prioInstanceCount =-    lens _prioInstanceCount (\s a -> s { _prioInstanceCount = a })+prioInstanceCount = lens _prioInstanceCount (\ s a -> s{_prioInstanceCount = a}); --- | Specified for Reserved Instance Marketplace offerings to limit the total--- 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 })+instance AWSRequest PurchaseReservedInstancesOffering+         where+        type Sv PurchaseReservedInstancesOffering = EC2+        type Rs PurchaseReservedInstancesOffering =+             PurchaseReservedInstancesOfferingResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 PurchaseReservedInstancesOfferingResponse' <$>+                   (x .@? "reservedInstancesId") <*>+                     (pure (fromEnum s))) --- | The ID of the Reserved Instance offering to purchase.-prioReservedInstancesOfferingId :: Lens' PurchaseReservedInstancesOffering Text-prioReservedInstancesOfferingId =-    lens _prioReservedInstancesOfferingId-        (\s a -> s { _prioReservedInstancesOfferingId = a })+instance ToHeaders PurchaseReservedInstancesOffering+         where+        toHeaders = const mempty -newtype PurchaseReservedInstancesOfferingResponse = PurchaseReservedInstancesOfferingResponse-    { _priorReservedInstancesId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+instance ToPath PurchaseReservedInstancesOffering+         where+        toPath = const "/" --- | 'PurchaseReservedInstancesOfferingResponse' constructor.+instance ToQuery PurchaseReservedInstancesOffering+         where+        toQuery PurchaseReservedInstancesOffering'{..}+          = mconcat+              ["Action" =:+                 ("PurchaseReservedInstancesOffering" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "LimitPrice" =: _prioLimitPrice,+               "DryRun" =: _prioDryRun,+               "ReservedInstancesOfferingId" =:+                 _prioReservedInstancesOfferingId,+               "InstanceCount" =: _prioInstanceCount]++-- | /See:/ 'purchaseReservedInstancesOfferingResponse' smart constructor.+data PurchaseReservedInstancesOfferingResponse = PurchaseReservedInstancesOfferingResponse'+    { _priorsReservedInstancesId :: !(Maybe Text)+    , _priorsStatus              :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PurchaseReservedInstancesOfferingResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'priorReservedInstancesId' @::@ 'Maybe' 'Text'+-- * 'priorsReservedInstancesId' ---purchaseReservedInstancesOfferingResponse :: PurchaseReservedInstancesOfferingResponse-purchaseReservedInstancesOfferingResponse = PurchaseReservedInstancesOfferingResponse-    { _priorReservedInstancesId = Nothing+-- * 'priorsStatus'+purchaseReservedInstancesOfferingResponse+    :: Int -- ^ 'priorsStatus'+    -> PurchaseReservedInstancesOfferingResponse+purchaseReservedInstancesOfferingResponse pStatus_ =+    PurchaseReservedInstancesOfferingResponse'+    { _priorsReservedInstancesId = Nothing+    , _priorsStatus = pStatus_     }  -- | The IDs of the purchased Reserved Instances.-priorReservedInstancesId :: Lens' PurchaseReservedInstancesOfferingResponse (Maybe Text)-priorReservedInstancesId =-    lens _priorReservedInstancesId-        (\s a -> s { _priorReservedInstancesId = a })--instance ToPath PurchaseReservedInstancesOffering where-    toPath = const "/"--instance ToQuery PurchaseReservedInstancesOffering where-    toQuery PurchaseReservedInstancesOffering{..} = mconcat-        [ "DryRun"                      =? _prioDryRun-        , "InstanceCount"               =? _prioInstanceCount-        , "LimitPrice"                  =? _prioLimitPrice-        , "ReservedInstancesOfferingId" =? _prioReservedInstancesOfferingId-        ]--instance ToHeaders PurchaseReservedInstancesOffering--instance AWSRequest PurchaseReservedInstancesOffering where-    type Sv PurchaseReservedInstancesOffering = EC2-    type Rs PurchaseReservedInstancesOffering = PurchaseReservedInstancesOfferingResponse--    request  = post "PurchaseReservedInstancesOffering"-    response = xmlResponse+priorsReservedInstancesId :: Lens' PurchaseReservedInstancesOfferingResponse (Maybe Text)+priorsReservedInstancesId = lens _priorsReservedInstancesId (\ s a -> s{_priorsReservedInstancesId = a}); -instance FromXML PurchaseReservedInstancesOfferingResponse where-    parseXML x = PurchaseReservedInstancesOfferingResponse-        <$> x .@? "reservedInstancesId"+-- | The response status code.+priorsStatus :: Lens' PurchaseReservedInstancesOfferingResponse Int+priorsStatus = lens _priorsStatus (\ s a -> s{_priorsStatus = a});
gen/Network/AWS/EC2/RebootInstances.hs view
@@ -1,109 +1,115 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.RebootInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Requests a reboot of one or more instances. This operation is asynchronous;--- it only queues a request to reboot the specified instances. The operation--- succeeds if the instances are valid and belong to you. Requests to reboot--- terminated instances are ignored.+-- Requests a reboot of one or more instances. This operation is+-- asynchronous; it only queues a request to reboot the specified+-- instances. The operation succeeds if the instances are valid and belong+-- to you. Requests to reboot terminated instances are ignored. ----- If a Linux/Unix instance does not cleanly shut down within four minutes,--- Amazon EC2 performs a hard reboot.+-- If a Linux\/Unix instance does not cleanly shut down within four+-- minutes, Amazon EC2 performs a hard reboot. ----- For more information about troubleshooting, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html Getting Console Output andRebooting Instances> in the /Amazon Elastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RebootInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RebootInstances.html AWS API Reference> for RebootInstances. module Network.AWS.EC2.RebootInstances     (-    -- * Request-      RebootInstances-    -- ** Request constructor-    , rebootInstances-    -- ** Request lenses-    , ri2DryRun-    , ri2InstanceIds+    -- * Creating a Request+      rebootInstances+    , RebootInstances+    -- * Request Lenses+    , rebDryRun+    , rebInstanceIds -    -- * Response-    , RebootInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , rebootInstancesResponse+    , RebootInstancesResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data RebootInstances = RebootInstances-    { _ri2DryRun      :: Maybe Bool-    , _ri2InstanceIds :: List "InstanceId" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'rebootInstances' smart constructor.+data RebootInstances = RebootInstances'+    { _rebDryRun      :: !(Maybe Bool)+    , _rebInstanceIds :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RebootInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RebootInstances' with the minimum fields required to make a request. ----- * 'ri2DryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ri2InstanceIds' @::@ ['Text']+-- * 'rebDryRun' ---rebootInstances :: RebootInstances-rebootInstances = RebootInstances-    { _ri2DryRun      = Nothing-    , _ri2InstanceIds = mempty+-- * 'rebInstanceIds'+rebootInstances+    :: RebootInstances+rebootInstances =+    RebootInstances'+    { _rebDryRun = Nothing+    , _rebInstanceIds = mempty     }  -- | 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'.-ri2DryRun :: Lens' RebootInstances (Maybe Bool)-ri2DryRun = lens _ri2DryRun (\s a -> s { _ri2DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+rebDryRun :: Lens' RebootInstances (Maybe Bool)+rebDryRun = lens _rebDryRun (\ s a -> s{_rebDryRun = a});  -- | One or more instance IDs.-ri2InstanceIds :: Lens' RebootInstances [Text]-ri2InstanceIds = lens _ri2InstanceIds (\s a -> s { _ri2InstanceIds = a }) . _List+rebInstanceIds :: Lens' RebootInstances [Text]+rebInstanceIds = lens _rebInstanceIds (\ s a -> s{_rebInstanceIds = a}) . _Coerce; -data RebootInstancesResponse = RebootInstancesResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest RebootInstances where+        type Sv RebootInstances = EC2+        type Rs RebootInstances = RebootInstancesResponse+        request = post+        response = receiveNull RebootInstancesResponse' --- | 'RebootInstancesResponse' constructor.-rebootInstancesResponse :: RebootInstancesResponse-rebootInstancesResponse = RebootInstancesResponse+instance ToHeaders RebootInstances where+        toHeaders = const mempty  instance ToPath RebootInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RebootInstances where-    toQuery RebootInstances{..} = mconcat-        [ "DryRun"     =? _ri2DryRun-        , "InstanceId" `toQueryList` _ri2InstanceIds-        ]--instance ToHeaders RebootInstances+        toQuery RebootInstances'{..}+          = mconcat+              ["Action" =: ("RebootInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _rebDryRun,+               toQueryList "InstanceId" _rebInstanceIds] -instance AWSRequest RebootInstances where-    type Sv RebootInstances = EC2-    type Rs RebootInstances = RebootInstancesResponse+-- | /See:/ 'rebootInstancesResponse' smart constructor.+data RebootInstancesResponse =+    RebootInstancesResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "RebootInstances"-    response = nullResponse RebootInstancesResponse+-- | Creates a value of 'RebootInstancesResponse' with the minimum fields required to make a request.+--+rebootInstancesResponse+    :: RebootInstancesResponse+rebootInstancesResponse = RebootInstancesResponse'
gen/Network/AWS/EC2/RegisterImage.hs view
@@ -1,247 +1,265 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.RegisterImage--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Registers an AMI. When you're creating an AMI, this is the final step you--- must complete before you can launch an instance from the AMI. For more--- information about creating AMIs, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html Creating Your Own AMIs> in the /AmazonElastic 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 yourself.+-- Registers an AMI. When you\'re creating an AMI, this is the final step+-- you must complete before you can launch an instance from the AMI. This+-- step is required if you\'re creating an instance store-backed Linux or+-- Windows AMI. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-instance-store.html Creating an Instance Store-Backed Linux AMI>+-- and+-- <http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html Creating an Instance Store-Backed Windows AMI>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- You can also use 'RegisterImage' to create an Amazon EBS-backed AMI from a--- snapshot of a root device volume. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_LaunchingInstanceFromSnapshot.html Launching anInstance from a Snapshot> 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+-- yourself. ----- 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 registration. If--- you make changes to an image, deregister the previous image and register the--- new image.+-- You can also use 'RegisterImage' to create an Amazon EBS-backed AMI from+-- a snapshot of a root device volume. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html Launching an Instance from a Backup>+-- in the /Amazon Elastic Compute Cloud User Guide/. Note that although you+-- can create a Windows AMI from a snapshot, you can\'t launch an instance+-- from the AMI - use the CreateImage command instead. ----- You can't register an image where a secondary (non-root) snapshot has AWS--- Marketplace product codes.+-- 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+-- registration. If you make changes to an image, deregister the previous+-- image and register the new image. --+-- You can\'t register an image where a secondary (non-root) snapshot has+-- AWS Marketplace product codes. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RegisterImage.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RegisterImage.html AWS API Reference> for RegisterImage. module Network.AWS.EC2.RegisterImage     (-    -- * Request-      RegisterImage-    -- ** Request constructor-    , registerImage-    -- ** Request lenses-    , ri1Architecture-    , ri1BlockDeviceMappings-    , ri1Description-    , ri1DryRun-    , ri1ImageLocation-    , ri1KernelId-    , ri1Name-    , ri1RamdiskId-    , ri1RootDeviceName-    , ri1SriovNetSupport-    , ri1VirtualizationType+    -- * Creating a Request+      registerImage+    , RegisterImage+    -- * Request Lenses+    , riVirtualizationType+    , riImageLocation+    , riRAMDiskId+    , riKernelId+    , riRootDeviceName+    , riSRIOVNetSupport+    , riArchitecture+    , riBlockDeviceMappings+    , riDryRun+    , riDescription+    , riName -    -- * Response-    , RegisterImageResponse-    -- ** Response constructor+    -- * Destructuring the Response     , registerImageResponse-    -- ** Response lenses-    , rirImageId+    , RegisterImageResponse+    -- * Response Lenses+    , rirsImageId+    , rirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data RegisterImage = RegisterImage-    { _ri1Architecture        :: Maybe ArchitectureValues-    , _ri1BlockDeviceMappings :: List "BlockDeviceMapping" BlockDeviceMapping-    , _ri1Description         :: Maybe Text-    , _ri1DryRun              :: Maybe Bool-    , _ri1ImageLocation       :: Maybe Text-    , _ri1KernelId            :: Maybe Text-    , _ri1Name                :: Text-    , _ri1RamdiskId           :: Maybe Text-    , _ri1RootDeviceName      :: Maybe Text-    , _ri1SriovNetSupport     :: Maybe Text-    , _ri1VirtualizationType  :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'registerImage' smart constructor.+data RegisterImage = RegisterImage'+    { _riVirtualizationType  :: !(Maybe Text)+    , _riImageLocation       :: !(Maybe Text)+    , _riRAMDiskId           :: !(Maybe Text)+    , _riKernelId            :: !(Maybe Text)+    , _riRootDeviceName      :: !(Maybe Text)+    , _riSRIOVNetSupport     :: !(Maybe Text)+    , _riArchitecture        :: !(Maybe ArchitectureValues)+    , _riBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _riDryRun              :: !(Maybe Bool)+    , _riDescription         :: !(Maybe Text)+    , _riName                :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RegisterImage' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RegisterImage' with the minimum fields required to make a request. ----- * 'ri1Architecture' @::@ 'Maybe' 'ArchitectureValues'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ri1BlockDeviceMappings' @::@ ['BlockDeviceMapping']+-- * 'riVirtualizationType' ----- * 'ri1Description' @::@ 'Maybe' 'Text'+-- * 'riImageLocation' ----- * 'ri1DryRun' @::@ 'Maybe' 'Bool'+-- * 'riRAMDiskId' ----- * 'ri1ImageLocation' @::@ 'Maybe' 'Text'+-- * 'riKernelId' ----- * 'ri1KernelId' @::@ 'Maybe' 'Text'+-- * 'riRootDeviceName' ----- * 'ri1Name' @::@ 'Text'+-- * 'riSRIOVNetSupport' ----- * 'ri1RamdiskId' @::@ 'Maybe' 'Text'+-- * 'riArchitecture' ----- * 'ri1RootDeviceName' @::@ 'Maybe' 'Text'+-- * 'riBlockDeviceMappings' ----- * 'ri1SriovNetSupport' @::@ 'Maybe' 'Text'+-- * 'riDryRun' ----- * 'ri1VirtualizationType' @::@ 'Maybe' 'Text'+-- * 'riDescription' ---registerImage :: Text -- ^ 'ri1Name'-              -> RegisterImage-registerImage p1 = RegisterImage-    { _ri1Name                = p1-    , _ri1DryRun              = Nothing-    , _ri1ImageLocation       = Nothing-    , _ri1Description         = Nothing-    , _ri1Architecture        = Nothing-    , _ri1KernelId            = Nothing-    , _ri1RamdiskId           = Nothing-    , _ri1RootDeviceName      = Nothing-    , _ri1BlockDeviceMappings = mempty-    , _ri1VirtualizationType  = Nothing-    , _ri1SriovNetSupport     = Nothing+-- * 'riName'+registerImage+    :: Text -- ^ 'riName'+    -> RegisterImage+registerImage pName_ =+    RegisterImage'+    { _riVirtualizationType = Nothing+    , _riImageLocation = Nothing+    , _riRAMDiskId = Nothing+    , _riKernelId = Nothing+    , _riRootDeviceName = Nothing+    , _riSRIOVNetSupport = Nothing+    , _riArchitecture = Nothing+    , _riBlockDeviceMappings = Nothing+    , _riDryRun = Nothing+    , _riDescription = Nothing+    , _riName = pName_     } --- | The architecture of the AMI.+-- | The type of virtualization. ----- Default: For Amazon EBS-backed AMIs, 'i386'. For instance store-backed AMIs,--- the architecture specified in the manifest file.-ri1Architecture :: Lens' RegisterImage (Maybe ArchitectureValues)-ri1Architecture = lens _ri1Architecture (\s a -> s { _ri1Architecture = a })---- | One or more block device mapping entries.-ri1BlockDeviceMappings :: Lens' RegisterImage [BlockDeviceMapping]-ri1BlockDeviceMappings =-    lens _ri1BlockDeviceMappings (\s a -> s { _ri1BlockDeviceMappings = a })-        . _List---- | A description for your AMI.-ri1Description :: Lens' RegisterImage (Maybe Text)-ri1Description = lens _ri1Description (\s a -> s { _ri1Description = 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'.-ri1DryRun :: Lens' RegisterImage (Maybe Bool)-ri1DryRun = lens _ri1DryRun (\s a -> s { _ri1DryRun = a })+-- Default: 'paravirtual'+riVirtualizationType :: Lens' RegisterImage (Maybe Text)+riVirtualizationType = lens _riVirtualizationType (\ s a -> s{_riVirtualizationType = a});  -- | The full path to your AMI manifest in Amazon S3 storage.-ri1ImageLocation :: Lens' RegisterImage (Maybe Text)-ri1ImageLocation = lens _ri1ImageLocation (\s a -> s { _ri1ImageLocation = a })---- | The ID of the kernel.-ri1KernelId :: Lens' RegisterImage (Maybe Text)-ri1KernelId = lens _ri1KernelId (\s a -> s { _ri1KernelId = a })---- | A name for your AMI.------ Constraints: 3-128 alphanumeric characters, parentheses (()), square--- brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single--- quotes ('), at-signs (@), or underscores(_)-ri1Name :: Lens' RegisterImage Text-ri1Name = lens _ri1Name (\s a -> s { _ri1Name = a })+riImageLocation :: Lens' RegisterImage (Maybe Text)+riImageLocation = lens _riImageLocation (\ s a -> s{_riImageLocation = a});  -- | The ID of the RAM disk.-ri1RamdiskId :: Lens' RegisterImage (Maybe Text)-ri1RamdiskId = lens _ri1RamdiskId (\s a -> s { _ri1RamdiskId = a })+riRAMDiskId :: Lens' RegisterImage (Maybe Text)+riRAMDiskId = lens _riRAMDiskId (\ s a -> s{_riRAMDiskId = a}); --- | The name of the root device (for example, '/dev/sda1', or '/dev/xvda').-ri1RootDeviceName :: Lens' RegisterImage (Maybe Text)-ri1RootDeviceName =-    lens _ri1RootDeviceName (\s a -> s { _ri1RootDeviceName = a })+-- | The ID of the kernel.+riKernelId :: Lens' RegisterImage (Maybe Text)+riKernelId = lens _riKernelId (\ s a -> s{_riKernelId = a}); --- | Set to 'simple' to enable enhanced networking for the AMI and any instances--- that you launch from the AMI.+-- | The name of the root device (for example, '\/dev\/sda1', or+-- '\/dev\/xvda').+riRootDeviceName :: Lens' RegisterImage (Maybe Text)+riRootDeviceName = lens _riRootDeviceName (\ s a -> s{_riRootDeviceName = a});++-- | Set to 'simple' to enable enhanced networking for the AMI and any+-- instances that you launch from the AMI. -- -- There is no way to disable enhanced networking at this time. ----- This option is supported only for HVM AMIs. Specifying this option with a PV--- AMI can make instances launched from the AMI unreachable.-ri1SriovNetSupport :: Lens' RegisterImage (Maybe Text)-ri1SriovNetSupport =-    lens _ri1SriovNetSupport (\s a -> s { _ri1SriovNetSupport = a })+-- This option is supported only for HVM AMIs. Specifying this option with+-- a PV AMI can make instances launched from the AMI unreachable.+riSRIOVNetSupport :: Lens' RegisterImage (Maybe Text)+riSRIOVNetSupport = lens _riSRIOVNetSupport (\ s a -> s{_riSRIOVNetSupport = a}); --- | The type of virtualization.+-- | The architecture of the AMI. ----- Default: 'paravirtual'-ri1VirtualizationType :: Lens' RegisterImage (Maybe Text)-ri1VirtualizationType =-    lens _ri1VirtualizationType (\s a -> s { _ri1VirtualizationType = a })+-- Default: For Amazon EBS-backed AMIs, 'i386'. For instance store-backed+-- AMIs, the architecture specified in the manifest file.+riArchitecture :: Lens' RegisterImage (Maybe ArchitectureValues)+riArchitecture = lens _riArchitecture (\ s a -> s{_riArchitecture = a}); -newtype RegisterImageResponse = RegisterImageResponse-    { _rirImageId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+-- | One or more block device mapping entries.+riBlockDeviceMappings :: Lens' RegisterImage [BlockDeviceMapping]+riBlockDeviceMappings = lens _riBlockDeviceMappings (\ s a -> s{_riBlockDeviceMappings = a}) . _Default . _Coerce; --- | 'RegisterImageResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rirImageId' @::@ 'Maybe' 'Text'+-- | 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'.+riDryRun :: Lens' RegisterImage (Maybe Bool)+riDryRun = lens _riDryRun (\ s a -> s{_riDryRun = a});++-- | A description for your AMI.+riDescription :: Lens' RegisterImage (Maybe Text)+riDescription = lens _riDescription (\ s a -> s{_riDescription = a});++-- | A name for your AMI. ---registerImageResponse :: RegisterImageResponse-registerImageResponse = RegisterImageResponse-    { _rirImageId = Nothing-    }+-- Constraints: 3-128 alphanumeric characters, parentheses (()), square+-- brackets ([]), spaces ( ), periods (.), slashes (\/), dashes (-), single+-- quotes (\'), at-signs (\'), or underscores(_)+riName :: Lens' RegisterImage Text+riName = lens _riName (\ s a -> s{_riName = a}); --- | The ID of the newly registered AMI.-rirImageId :: Lens' RegisterImageResponse (Maybe Text)-rirImageId = lens _rirImageId (\s a -> s { _rirImageId = a })+instance AWSRequest RegisterImage where+        type Sv RegisterImage = EC2+        type Rs RegisterImage = RegisterImageResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 RegisterImageResponse' <$>+                   (x .@? "imageId") <*> (pure (fromEnum s))) +instance ToHeaders RegisterImage where+        toHeaders = const mempty+ instance ToPath RegisterImage where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RegisterImage where-    toQuery RegisterImage{..} = mconcat-        [ "Architecture"       =? _ri1Architecture-        , "BlockDeviceMapping" `toQueryList` _ri1BlockDeviceMappings-        , "Description"        =? _ri1Description-        , "DryRun"             =? _ri1DryRun-        , "ImageLocation"      =? _ri1ImageLocation-        , "KernelId"           =? _ri1KernelId-        , "Name"               =? _ri1Name-        , "RamdiskId"          =? _ri1RamdiskId-        , "RootDeviceName"     =? _ri1RootDeviceName-        , "SriovNetSupport"    =? _ri1SriovNetSupport-        , "VirtualizationType" =? _ri1VirtualizationType-        ]+        toQuery RegisterImage'{..}+          = mconcat+              ["Action" =: ("RegisterImage" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "VirtualizationType" =: _riVirtualizationType,+               "ImageLocation" =: _riImageLocation,+               "RamdiskId" =: _riRAMDiskId,+               "KernelId" =: _riKernelId,+               "RootDeviceName" =: _riRootDeviceName,+               "SriovNetSupport" =: _riSRIOVNetSupport,+               "Architecture" =: _riArchitecture,+               toQuery+                 (toQueryList "BlockDeviceMapping" <$>+                    _riBlockDeviceMappings),+               "DryRun" =: _riDryRun,+               "Description" =: _riDescription, "Name" =: _riName] -instance ToHeaders RegisterImage+-- | /See:/ 'registerImageResponse' smart constructor.+data RegisterImageResponse = RegisterImageResponse'+    { _rirsImageId :: !(Maybe Text)+    , _rirsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest RegisterImage where-    type Sv RegisterImage = EC2-    type Rs RegisterImage = RegisterImageResponse+-- | Creates a value of 'RegisterImageResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rirsImageId'+--+-- * 'rirsStatus'+registerImageResponse+    :: Int -- ^ 'rirsStatus'+    -> RegisterImageResponse+registerImageResponse pStatus_ =+    RegisterImageResponse'+    { _rirsImageId = Nothing+    , _rirsStatus = pStatus_+    } -    request  = post "RegisterImage"-    response = xmlResponse+-- | The ID of the newly registered AMI.+rirsImageId :: Lens' RegisterImageResponse (Maybe Text)+rirsImageId = lens _rirsImageId (\ s a -> s{_rirsImageId = a}); -instance FromXML RegisterImageResponse where-    parseXML x = RegisterImageResponse-        <$> x .@? "imageId"+-- | The response status code.+rirsStatus :: Lens' RegisterImageResponse Int+rirsStatus = lens _rirsStatus (\ s a -> s{_rirsStatus = a});
+ gen/Network/AWS/EC2/RejectVPCPeeringConnection.hs view
@@ -0,0 +1,140 @@+{-# 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.RejectVPCPeeringConnection+-- 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)+--+-- 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+-- 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.+module Network.AWS.EC2.RejectVPCPeeringConnection+    (+    -- * Creating a Request+      rejectVPCPeeringConnection+    , RejectVPCPeeringConnection+    -- * Request Lenses+    , rvpcDryRun+    , rvpcVPCPeeringConnectionId++    -- * Destructuring the Response+    , rejectVPCPeeringConnectionResponse+    , RejectVPCPeeringConnectionResponse+    -- * Response Lenses+    , rvpcrsReturn+    , rvpcrsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'rejectVPCPeeringConnection' smart constructor.+data RejectVPCPeeringConnection = RejectVPCPeeringConnection'+    { _rvpcDryRun                 :: !(Maybe Bool)+    , _rvpcVPCPeeringConnectionId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RejectVPCPeeringConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rvpcDryRun'+--+-- * 'rvpcVPCPeeringConnectionId'+rejectVPCPeeringConnection+    :: Text -- ^ 'rvpcVPCPeeringConnectionId'+    -> RejectVPCPeeringConnection+rejectVPCPeeringConnection pVPCPeeringConnectionId_ =+    RejectVPCPeeringConnection'+    { _rvpcDryRun = Nothing+    , _rvpcVPCPeeringConnectionId = pVPCPeeringConnectionId_+    }++-- | 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'.+rvpcDryRun :: Lens' RejectVPCPeeringConnection (Maybe Bool)+rvpcDryRun = lens _rvpcDryRun (\ s a -> s{_rvpcDryRun = a});++-- | The ID of the VPC peering connection.+rvpcVPCPeeringConnectionId :: Lens' RejectVPCPeeringConnection Text+rvpcVPCPeeringConnectionId = lens _rvpcVPCPeeringConnectionId (\ s a -> s{_rvpcVPCPeeringConnectionId = a});++instance AWSRequest RejectVPCPeeringConnection where+        type Sv RejectVPCPeeringConnection = EC2+        type Rs RejectVPCPeeringConnection =+             RejectVPCPeeringConnectionResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 RejectVPCPeeringConnectionResponse' <$>+                   (x .@? "return") <*> (pure (fromEnum s)))++instance ToHeaders RejectVPCPeeringConnection where+        toHeaders = const mempty++instance ToPath RejectVPCPeeringConnection where+        toPath = const "/"++instance ToQuery RejectVPCPeeringConnection where+        toQuery RejectVPCPeeringConnection'{..}+          = mconcat+              ["Action" =:+                 ("RejectVpcPeeringConnection" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _rvpcDryRun,+               "VpcPeeringConnectionId" =:+                 _rvpcVPCPeeringConnectionId]++-- | /See:/ 'rejectVPCPeeringConnectionResponse' smart constructor.+data RejectVPCPeeringConnectionResponse = RejectVPCPeeringConnectionResponse'+    { _rvpcrsReturn :: !(Maybe Bool)+    , _rvpcrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RejectVPCPeeringConnectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rvpcrsReturn'+--+-- * 'rvpcrsStatus'+rejectVPCPeeringConnectionResponse+    :: Int -- ^ 'rvpcrsStatus'+    -> RejectVPCPeeringConnectionResponse+rejectVPCPeeringConnectionResponse pStatus_ =+    RejectVPCPeeringConnectionResponse'+    { _rvpcrsReturn = Nothing+    , _rvpcrsStatus = pStatus_+    }++-- | Returns 'true' if the request succeeds; otherwise, it returns an error.+rvpcrsReturn :: Lens' RejectVPCPeeringConnectionResponse (Maybe Bool)+rvpcrsReturn = lens _rvpcrsReturn (\ s a -> s{_rvpcrsReturn = a});++-- | The response status code.+rvpcrsStatus :: Lens' RejectVPCPeeringConnectionResponse Int+rvpcrsStatus = lens _rvpcrsStatus (\ s a -> s{_rvpcrsStatus = a});
− gen/Network/AWS/EC2/RejectVpcPeeringConnection.hs
@@ -1,126 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.RejectVpcPeeringConnection--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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 peering connection requests. To delete--- an active VPC peering connection, or to delete a VPC peering connection--- request that you initiated, use 'DeleteVpcPeeringConnection'.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RejectVpcPeeringConnection.html>-module Network.AWS.EC2.RejectVpcPeeringConnection-    (-    -- * Request-      RejectVpcPeeringConnection-    -- ** Request constructor-    , rejectVpcPeeringConnection-    -- ** Request lenses-    , rvpcDryRun-    , rvpcVpcPeeringConnectionId--    -- * Response-    , RejectVpcPeeringConnectionResponse-    -- ** Response constructor-    , rejectVpcPeeringConnectionResponse-    -- ** Response lenses-    , rvpcrReturn-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data RejectVpcPeeringConnection = RejectVpcPeeringConnection-    { _rvpcDryRun                 :: Maybe Bool-    , _rvpcVpcPeeringConnectionId :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'RejectVpcPeeringConnection' constructor.------ The fields accessible through corresponding lenses are:------ * 'rvpcDryRun' @::@ 'Maybe' 'Bool'------ * 'rvpcVpcPeeringConnectionId' @::@ 'Text'----rejectVpcPeeringConnection :: Text -- ^ 'rvpcVpcPeeringConnectionId'-                           -> RejectVpcPeeringConnection-rejectVpcPeeringConnection p1 = RejectVpcPeeringConnection-    { _rvpcVpcPeeringConnectionId = p1-    , _rvpcDryRun                 = Nothing-    }---- | 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'.-rvpcDryRun :: Lens' RejectVpcPeeringConnection (Maybe Bool)-rvpcDryRun = lens _rvpcDryRun (\s a -> s { _rvpcDryRun = a })---- | The ID of the VPC peering connection.-rvpcVpcPeeringConnectionId :: Lens' RejectVpcPeeringConnection Text-rvpcVpcPeeringConnectionId =-    lens _rvpcVpcPeeringConnectionId-        (\s a -> s { _rvpcVpcPeeringConnectionId = a })--newtype RejectVpcPeeringConnectionResponse = RejectVpcPeeringConnectionResponse-    { _rvpcrReturn :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'RejectVpcPeeringConnectionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rvpcrReturn' @::@ 'Maybe' 'Bool'----rejectVpcPeeringConnectionResponse :: RejectVpcPeeringConnectionResponse-rejectVpcPeeringConnectionResponse = RejectVpcPeeringConnectionResponse-    { _rvpcrReturn = Nothing-    }---- | Returns 'true' if the request succeeds; otherwise, it returns an error.-rvpcrReturn :: Lens' RejectVpcPeeringConnectionResponse (Maybe Bool)-rvpcrReturn = lens _rvpcrReturn (\s a -> s { _rvpcrReturn = a })--instance ToPath RejectVpcPeeringConnection where-    toPath = const "/"--instance ToQuery RejectVpcPeeringConnection where-    toQuery RejectVpcPeeringConnection{..} = mconcat-        [ "DryRun"                 =? _rvpcDryRun-        , "VpcPeeringConnectionId" =? _rvpcVpcPeeringConnectionId-        ]--instance ToHeaders RejectVpcPeeringConnection--instance AWSRequest RejectVpcPeeringConnection where-    type Sv RejectVpcPeeringConnection = EC2-    type Rs RejectVpcPeeringConnection = RejectVpcPeeringConnectionResponse--    request  = post "RejectVpcPeeringConnection"-    response = xmlResponse--instance FromXML RejectVpcPeeringConnectionResponse where-    parseXML x = RejectVpcPeeringConnectionResponse-        <$> x .@? "return"
gen/Network/AWS/EC2/ReleaseAddress.hs view
@@ -1,124 +1,130 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ReleaseAddress--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Releases the specified Elastic IP address.+-- Releases the specified Elastic IP address. ----- After releasing an Elastic IP address, it is released to the IP address pool--- and might be unavailable to you. Be sure to update your DNS records and any--- servers or devices that communicate with the address. If you attempt to--- release an Elastic IP address that you already released, you'll get an 'AuthFailure' error if the address is already allocated to another AWS account.+-- After releasing an Elastic IP address, it is released to the IP address+-- pool and might be unavailable to you. Be sure to update your DNS records+-- and any servers or devices that communicate with the address. If you+-- attempt to release an Elastic IP address that you already released,+-- you\'ll get an 'AuthFailure' error if the address is already allocated+-- to another AWS account. -- -- [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'.+-- disassociates it from any instance that it\'s associated with. To+-- disassociate an Elastic IP address without releasing it, use+-- 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'). ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReleaseAddress.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReleaseAddress.html AWS API Reference> for ReleaseAddress. module Network.AWS.EC2.ReleaseAddress     (-    -- * Request-      ReleaseAddress-    -- ** Request constructor-    , releaseAddress-    -- ** Request lenses+    -- * Creating a Request+      releaseAddress+    , ReleaseAddress+    -- * Request Lenses     , raAllocationId+    , raPublicIP     , raDryRun-    , raPublicIp -    -- * Response-    , ReleaseAddressResponse-    -- ** Response constructor+    -- * Destructuring the Response     , releaseAddressResponse+    , ReleaseAddressResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ReleaseAddress = ReleaseAddress-    { _raAllocationId :: Maybe Text-    , _raDryRun       :: Maybe Bool-    , _raPublicIp     :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'releaseAddress' smart constructor.+data ReleaseAddress = ReleaseAddress'+    { _raAllocationId :: !(Maybe Text)+    , _raPublicIP     :: !(Maybe Text)+    , _raDryRun       :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ReleaseAddress' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ReleaseAddress' with the minimum fields required to make a request. ----- * 'raAllocationId' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'raDryRun' @::@ 'Maybe' 'Bool'+-- * 'raAllocationId' ----- * 'raPublicIp' @::@ 'Maybe' 'Text'+-- * 'raPublicIP' ---releaseAddress :: ReleaseAddress-releaseAddress = ReleaseAddress-    { _raDryRun       = Nothing-    , _raPublicIp     = Nothing-    , _raAllocationId = Nothing+-- * 'raDryRun'+releaseAddress+    :: ReleaseAddress+releaseAddress =+    ReleaseAddress'+    { _raAllocationId = Nothing+    , _raPublicIP = Nothing+    , _raDryRun = Nothing     }  -- | [EC2-VPC] The allocation ID. Required for EC2-VPC. raAllocationId :: Lens' ReleaseAddress (Maybe Text)-raAllocationId = lens _raAllocationId (\s a -> s { _raAllocationId = a })+raAllocationId = lens _raAllocationId (\ s a -> s{_raAllocationId = a}); +-- | [EC2-Classic] The Elastic IP address. Required for EC2-Classic.+raPublicIP :: Lens' ReleaseAddress (Maybe Text)+raPublicIP = lens _raPublicIP (\ s a -> s{_raPublicIP = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. raDryRun :: Lens' ReleaseAddress (Maybe Bool)-raDryRun = lens _raDryRun (\s a -> s { _raDryRun = a })---- | [EC2-Classic] The Elastic IP address. Required for EC2-Classic.-raPublicIp :: Lens' ReleaseAddress (Maybe Text)-raPublicIp = lens _raPublicIp (\s a -> s { _raPublicIp = a })+raDryRun = lens _raDryRun (\ s a -> s{_raDryRun = a}); -data ReleaseAddressResponse = ReleaseAddressResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest ReleaseAddress where+        type Sv ReleaseAddress = EC2+        type Rs ReleaseAddress = ReleaseAddressResponse+        request = post+        response = receiveNull ReleaseAddressResponse' --- | 'ReleaseAddressResponse' constructor.-releaseAddressResponse :: ReleaseAddressResponse-releaseAddressResponse = ReleaseAddressResponse+instance ToHeaders ReleaseAddress where+        toHeaders = const mempty  instance ToPath ReleaseAddress where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ReleaseAddress where-    toQuery ReleaseAddress{..} = mconcat-        [ "AllocationId" =? _raAllocationId-        , "DryRun"       =? _raDryRun-        , "PublicIp"     =? _raPublicIp-        ]--instance ToHeaders ReleaseAddress+        toQuery ReleaseAddress'{..}+          = mconcat+              ["Action" =: ("ReleaseAddress" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "AllocationId" =: _raAllocationId,+               "PublicIp" =: _raPublicIP, "DryRun" =: _raDryRun] -instance AWSRequest ReleaseAddress where-    type Sv ReleaseAddress = EC2-    type Rs ReleaseAddress = ReleaseAddressResponse+-- | /See:/ 'releaseAddressResponse' smart constructor.+data ReleaseAddressResponse =+    ReleaseAddressResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ReleaseAddress"-    response = nullResponse ReleaseAddressResponse+-- | Creates a value of 'ReleaseAddressResponse' with the minimum fields required to make a request.+--+releaseAddressResponse+    :: ReleaseAddressResponse+releaseAddressResponse = ReleaseAddressResponse'
+ gen/Network/AWS/EC2/ReplaceNetworkACLAssociation.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.ReplaceNetworkACLAssociation+-- 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)+--+-- Changes which network ACL a subnet is associated with. By default when+-- you create a subnet, it\'s automatically associated with the default+-- 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+      replaceNetworkACLAssociation+    , ReplaceNetworkACLAssociation+    -- * Request Lenses+    , rnaaDryRun+    , rnaaAssociationId+    , rnaaNetworkACLId++    -- * Destructuring the Response+    , replaceNetworkACLAssociationResponse+    , ReplaceNetworkACLAssociationResponse+    -- * Response Lenses+    , rnaarsNewAssociationId+    , rnaarsStatus+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'replaceNetworkACLAssociation' smart constructor.+data ReplaceNetworkACLAssociation = ReplaceNetworkACLAssociation'+    { _rnaaDryRun        :: !(Maybe Bool)+    , _rnaaAssociationId :: !Text+    , _rnaaNetworkACLId  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReplaceNetworkACLAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rnaaDryRun'+--+-- * 'rnaaAssociationId'+--+-- * 'rnaaNetworkACLId'+replaceNetworkACLAssociation+    :: Text -- ^ 'rnaaAssociationId'+    -> Text -- ^ 'rnaaNetworkACLId'+    -> ReplaceNetworkACLAssociation+replaceNetworkACLAssociation pAssociationId_ pNetworkACLId_ =+    ReplaceNetworkACLAssociation'+    { _rnaaDryRun = Nothing+    , _rnaaAssociationId = pAssociationId_+    , _rnaaNetworkACLId = pNetworkACLId_+    }++-- | 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'.+rnaaDryRun :: Lens' ReplaceNetworkACLAssociation (Maybe Bool)+rnaaDryRun = lens _rnaaDryRun (\ s a -> s{_rnaaDryRun = a});++-- | The ID of the current association between the original network ACL and+-- the subnet.+rnaaAssociationId :: Lens' ReplaceNetworkACLAssociation Text+rnaaAssociationId = lens _rnaaAssociationId (\ s a -> s{_rnaaAssociationId = a});++-- | The ID of the new network ACL to associate with the subnet.+rnaaNetworkACLId :: Lens' ReplaceNetworkACLAssociation Text+rnaaNetworkACLId = lens _rnaaNetworkACLId (\ s a -> s{_rnaaNetworkACLId = a});++instance AWSRequest ReplaceNetworkACLAssociation+         where+        type Sv ReplaceNetworkACLAssociation = EC2+        type Rs ReplaceNetworkACLAssociation =+             ReplaceNetworkACLAssociationResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 ReplaceNetworkACLAssociationResponse' <$>+                   (x .@? "newAssociationId") <*> (pure (fromEnum s)))++instance ToHeaders ReplaceNetworkACLAssociation where+        toHeaders = const mempty++instance ToPath ReplaceNetworkACLAssociation where+        toPath = const "/"++instance ToQuery ReplaceNetworkACLAssociation where+        toQuery ReplaceNetworkACLAssociation'{..}+          = mconcat+              ["Action" =:+                 ("ReplaceNetworkAclAssociation" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _rnaaDryRun,+               "AssociationId" =: _rnaaAssociationId,+               "NetworkAclId" =: _rnaaNetworkACLId]++-- | /See:/ 'replaceNetworkACLAssociationResponse' smart constructor.+data ReplaceNetworkACLAssociationResponse = ReplaceNetworkACLAssociationResponse'+    { _rnaarsNewAssociationId :: !(Maybe Text)+    , _rnaarsStatus           :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReplaceNetworkACLAssociationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rnaarsNewAssociationId'+--+-- * 'rnaarsStatus'+replaceNetworkACLAssociationResponse+    :: Int -- ^ 'rnaarsStatus'+    -> ReplaceNetworkACLAssociationResponse+replaceNetworkACLAssociationResponse pStatus_ =+    ReplaceNetworkACLAssociationResponse'+    { _rnaarsNewAssociationId = Nothing+    , _rnaarsStatus = pStatus_+    }++-- | The ID of the new association.+rnaarsNewAssociationId :: Lens' ReplaceNetworkACLAssociationResponse (Maybe Text)+rnaarsNewAssociationId = lens _rnaarsNewAssociationId (\ s a -> s{_rnaarsNewAssociationId = a});++-- | The response status code.+rnaarsStatus :: Lens' ReplaceNetworkACLAssociationResponse Int+rnaarsStatus = lens _rnaarsStatus (\ s a -> s{_rnaarsStatus = a});
+ gen/Network/AWS/EC2/ReplaceNetworkACLEntry.hs view
@@ -0,0 +1,191 @@+{-# 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.ReplaceNetworkACLEntry+-- 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)+--+-- Replaces an entry (rule) in a 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-ReplaceNetworkACLEntry.html AWS API Reference> for ReplaceNetworkACLEntry.+module Network.AWS.EC2.ReplaceNetworkACLEntry+    (+    -- * Creating a Request+      replaceNetworkACLEntry+    , ReplaceNetworkACLEntry+    -- * Request Lenses+    , rnaeICMPTypeCode+    , rnaePortRange+    , rnaeDryRun+    , rnaeNetworkACLId+    , rnaeRuleNumber+    , rnaeProtocol+    , rnaeRuleAction+    , rnaeEgress+    , rnaeCIdRBlock++    -- * Destructuring the Response+    , replaceNetworkACLEntryResponse+    , ReplaceNetworkACLEntryResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'replaceNetworkACLEntry' smart constructor.+data ReplaceNetworkACLEntry = ReplaceNetworkACLEntry'+    { _rnaeICMPTypeCode :: !(Maybe ICMPTypeCode)+    , _rnaePortRange    :: !(Maybe PortRange)+    , _rnaeDryRun       :: !(Maybe Bool)+    , _rnaeNetworkACLId :: !Text+    , _rnaeRuleNumber   :: !Int+    , _rnaeProtocol     :: !Text+    , _rnaeRuleAction   :: !RuleAction+    , _rnaeEgress       :: !Bool+    , _rnaeCIdRBlock    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReplaceNetworkACLEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rnaeICMPTypeCode'+--+-- * 'rnaePortRange'+--+-- * 'rnaeDryRun'+--+-- * 'rnaeNetworkACLId'+--+-- * 'rnaeRuleNumber'+--+-- * 'rnaeProtocol'+--+-- * 'rnaeRuleAction'+--+-- * 'rnaeEgress'+--+-- * 'rnaeCIdRBlock'+replaceNetworkACLEntry+    :: Text -- ^ 'rnaeNetworkACLId'+    -> Int -- ^ 'rnaeRuleNumber'+    -> Text -- ^ 'rnaeProtocol'+    -> RuleAction -- ^ 'rnaeRuleAction'+    -> Bool -- ^ 'rnaeEgress'+    -> Text -- ^ 'rnaeCIdRBlock'+    -> ReplaceNetworkACLEntry+replaceNetworkACLEntry pNetworkACLId_ pRuleNumber_ pProtocol_ pRuleAction_ pEgress_ pCIdRBlock_ =+    ReplaceNetworkACLEntry'+    { _rnaeICMPTypeCode = Nothing+    , _rnaePortRange = Nothing+    , _rnaeDryRun = Nothing+    , _rnaeNetworkACLId = pNetworkACLId_+    , _rnaeRuleNumber = pRuleNumber_+    , _rnaeProtocol = pProtocol_+    , _rnaeRuleAction = pRuleAction_+    , _rnaeEgress = pEgress_+    , _rnaeCIdRBlock = pCIdRBlock_+    }++-- | ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP)+-- for the protocol.+rnaeICMPTypeCode :: Lens' ReplaceNetworkACLEntry (Maybe ICMPTypeCode)+rnaeICMPTypeCode = lens _rnaeICMPTypeCode (\ s a -> s{_rnaeICMPTypeCode = a});++-- | TCP or UDP protocols: The range of ports the rule applies to. Required+-- if specifying 6 (TCP) or 17 (UDP) for the protocol.+rnaePortRange :: Lens' ReplaceNetworkACLEntry (Maybe PortRange)+rnaePortRange = lens _rnaePortRange (\ s a -> s{_rnaePortRange = 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'.+rnaeDryRun :: Lens' ReplaceNetworkACLEntry (Maybe Bool)+rnaeDryRun = lens _rnaeDryRun (\ s a -> s{_rnaeDryRun = a});++-- | The ID of the ACL.+rnaeNetworkACLId :: Lens' ReplaceNetworkACLEntry Text+rnaeNetworkACLId = lens _rnaeNetworkACLId (\ s a -> s{_rnaeNetworkACLId = a});++-- | The rule number of the entry to replace.+rnaeRuleNumber :: Lens' ReplaceNetworkACLEntry Int+rnaeRuleNumber = lens _rnaeRuleNumber (\ s a -> s{_rnaeRuleNumber = a});++-- | The IP protocol. You can specify 'all' or '-1' to mean all protocols.+rnaeProtocol :: Lens' ReplaceNetworkACLEntry Text+rnaeProtocol = lens _rnaeProtocol (\ s a -> s{_rnaeProtocol = a});++-- | Indicates whether to allow or deny the traffic that matches the rule.+rnaeRuleAction :: Lens' ReplaceNetworkACLEntry RuleAction+rnaeRuleAction = lens _rnaeRuleAction (\ s a -> s{_rnaeRuleAction = a});++-- | Indicates whether to replace the egress rule.+--+-- Default: If no value is specified, we replace the ingress rule.+rnaeEgress :: Lens' ReplaceNetworkACLEntry Bool+rnaeEgress = lens _rnaeEgress (\ s a -> s{_rnaeEgress = a});++-- | The network range to allow or deny, in CIDR notation.+rnaeCIdRBlock :: Lens' ReplaceNetworkACLEntry Text+rnaeCIdRBlock = lens _rnaeCIdRBlock (\ s a -> s{_rnaeCIdRBlock = a});++instance AWSRequest ReplaceNetworkACLEntry where+        type Sv ReplaceNetworkACLEntry = EC2+        type Rs ReplaceNetworkACLEntry =+             ReplaceNetworkACLEntryResponse+        request = post+        response+          = receiveNull ReplaceNetworkACLEntryResponse'++instance ToHeaders ReplaceNetworkACLEntry where+        toHeaders = const mempty++instance ToPath ReplaceNetworkACLEntry where+        toPath = const "/"++instance ToQuery ReplaceNetworkACLEntry where+        toQuery ReplaceNetworkACLEntry'{..}+          = mconcat+              ["Action" =:+                 ("ReplaceNetworkAclEntry" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Icmp" =: _rnaeICMPTypeCode,+               "PortRange" =: _rnaePortRange,+               "DryRun" =: _rnaeDryRun,+               "NetworkAclId" =: _rnaeNetworkACLId,+               "RuleNumber" =: _rnaeRuleNumber,+               "Protocol" =: _rnaeProtocol,+               "RuleAction" =: _rnaeRuleAction,+               "Egress" =: _rnaeEgress,+               "CidrBlock" =: _rnaeCIdRBlock]++-- | /See:/ 'replaceNetworkACLEntryResponse' smart constructor.+data ReplaceNetworkACLEntryResponse =+    ReplaceNetworkACLEntryResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReplaceNetworkACLEntryResponse' with the minimum fields required to make a request.+--+replaceNetworkACLEntryResponse+    :: ReplaceNetworkACLEntryResponse+replaceNetworkACLEntryResponse = ReplaceNetworkACLEntryResponse'
− gen/Network/AWS/EC2/ReplaceNetworkAclAssociation.hs
@@ -1,136 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.ReplaceNetworkAclAssociation--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Changes which network ACL a subnet is associated with. By default when you--- create a subnet, it's automatically associated with the default network ACL.--- For more information about network ACLs, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html Network ACLs> in the /AmazonVirtual Private Cloud User Guide/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReplaceNetworkAclAssociation.html>-module Network.AWS.EC2.ReplaceNetworkAclAssociation-    (-    -- * Request-      ReplaceNetworkAclAssociation-    -- ** Request constructor-    , replaceNetworkAclAssociation-    -- ** Request lenses-    , rnaaAssociationId-    , rnaaDryRun-    , rnaaNetworkAclId--    -- * Response-    , ReplaceNetworkAclAssociationResponse-    -- ** Response constructor-    , replaceNetworkAclAssociationResponse-    -- ** Response lenses-    , rnaarNewAssociationId-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data ReplaceNetworkAclAssociation = ReplaceNetworkAclAssociation-    { _rnaaAssociationId :: Text-    , _rnaaDryRun        :: Maybe Bool-    , _rnaaNetworkAclId  :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'ReplaceNetworkAclAssociation' constructor.------ The fields accessible through corresponding lenses are:------ * 'rnaaAssociationId' @::@ 'Text'------ * 'rnaaDryRun' @::@ 'Maybe' 'Bool'------ * 'rnaaNetworkAclId' @::@ 'Text'----replaceNetworkAclAssociation :: Text -- ^ 'rnaaAssociationId'-                             -> Text -- ^ 'rnaaNetworkAclId'-                             -> ReplaceNetworkAclAssociation-replaceNetworkAclAssociation p1 p2 = ReplaceNetworkAclAssociation-    { _rnaaAssociationId = p1-    , _rnaaNetworkAclId  = p2-    , _rnaaDryRun        = Nothing-    }---- | The ID of the current association between the original network ACL and the--- subnet.-rnaaAssociationId :: Lens' ReplaceNetworkAclAssociation Text-rnaaAssociationId =-    lens _rnaaAssociationId (\s a -> s { _rnaaAssociationId = 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'.-rnaaDryRun :: Lens' ReplaceNetworkAclAssociation (Maybe Bool)-rnaaDryRun = lens _rnaaDryRun (\s a -> s { _rnaaDryRun = a })---- | The ID of the new network ACL to associate with the subnet.-rnaaNetworkAclId :: Lens' ReplaceNetworkAclAssociation Text-rnaaNetworkAclId = lens _rnaaNetworkAclId (\s a -> s { _rnaaNetworkAclId = a })--newtype ReplaceNetworkAclAssociationResponse = ReplaceNetworkAclAssociationResponse-    { _rnaarNewAssociationId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'ReplaceNetworkAclAssociationResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rnaarNewAssociationId' @::@ 'Maybe' 'Text'----replaceNetworkAclAssociationResponse :: ReplaceNetworkAclAssociationResponse-replaceNetworkAclAssociationResponse = ReplaceNetworkAclAssociationResponse-    { _rnaarNewAssociationId = Nothing-    }---- | The ID of the new association.-rnaarNewAssociationId :: Lens' ReplaceNetworkAclAssociationResponse (Maybe Text)-rnaarNewAssociationId =-    lens _rnaarNewAssociationId (\s a -> s { _rnaarNewAssociationId = a })--instance ToPath ReplaceNetworkAclAssociation where-    toPath = const "/"--instance ToQuery ReplaceNetworkAclAssociation where-    toQuery ReplaceNetworkAclAssociation{..} = mconcat-        [ "AssociationId" =? _rnaaAssociationId-        , "DryRun"        =? _rnaaDryRun-        , "NetworkAclId"  =? _rnaaNetworkAclId-        ]--instance ToHeaders ReplaceNetworkAclAssociation--instance AWSRequest ReplaceNetworkAclAssociation where-    type Sv ReplaceNetworkAclAssociation = EC2-    type Rs ReplaceNetworkAclAssociation = ReplaceNetworkAclAssociationResponse--    request  = post "ReplaceNetworkAclAssociation"-    response = xmlResponse--instance FromXML ReplaceNetworkAclAssociationResponse where-    parseXML x = ReplaceNetworkAclAssociationResponse-        <$> x .@? "newAssociationId"
− gen/Network/AWS/EC2/ReplaceNetworkAclEntry.hs
@@ -1,182 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.ReplaceNetworkAclEntry--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Replaces an entry (rule) in a 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/.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReplaceNetworkAclEntry.html>-module Network.AWS.EC2.ReplaceNetworkAclEntry-    (-    -- * Request-      ReplaceNetworkAclEntry-    -- ** Request constructor-    , replaceNetworkAclEntry-    -- ** Request lenses-    , rnaeCidrBlock-    , rnaeDryRun-    , rnaeEgress-    , rnaeIcmpTypeCode-    , rnaeNetworkAclId-    , rnaePortRange-    , rnaeProtocol-    , rnaeRuleAction-    , rnaeRuleNumber--    -- * Response-    , ReplaceNetworkAclEntryResponse-    -- ** Response constructor-    , replaceNetworkAclEntryResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data ReplaceNetworkAclEntry = ReplaceNetworkAclEntry-    { _rnaeCidrBlock    :: Text-    , _rnaeDryRun       :: Maybe Bool-    , _rnaeEgress       :: Bool-    , _rnaeIcmpTypeCode :: Maybe IcmpTypeCode-    , _rnaeNetworkAclId :: Text-    , _rnaePortRange    :: Maybe PortRange-    , _rnaeProtocol     :: Text-    , _rnaeRuleAction   :: RuleAction-    , _rnaeRuleNumber   :: Int-    } deriving (Eq, Read, Show)---- | 'ReplaceNetworkAclEntry' constructor.------ The fields accessible through corresponding lenses are:------ * 'rnaeCidrBlock' @::@ 'Text'------ * 'rnaeDryRun' @::@ 'Maybe' 'Bool'------ * 'rnaeEgress' @::@ 'Bool'------ * 'rnaeIcmpTypeCode' @::@ 'Maybe' 'IcmpTypeCode'------ * 'rnaeNetworkAclId' @::@ 'Text'------ * 'rnaePortRange' @::@ 'Maybe' 'PortRange'------ * 'rnaeProtocol' @::@ 'Text'------ * 'rnaeRuleAction' @::@ 'RuleAction'------ * 'rnaeRuleNumber' @::@ 'Int'----replaceNetworkAclEntry :: Text -- ^ 'rnaeNetworkAclId'-                       -> Int -- ^ 'rnaeRuleNumber'-                       -> Text -- ^ 'rnaeProtocol'-                       -> RuleAction -- ^ 'rnaeRuleAction'-                       -> Bool -- ^ 'rnaeEgress'-                       -> Text -- ^ 'rnaeCidrBlock'-                       -> ReplaceNetworkAclEntry-replaceNetworkAclEntry p1 p2 p3 p4 p5 p6 = ReplaceNetworkAclEntry-    { _rnaeNetworkAclId = p1-    , _rnaeRuleNumber   = p2-    , _rnaeProtocol     = p3-    , _rnaeRuleAction   = p4-    , _rnaeEgress       = p5-    , _rnaeCidrBlock    = p6-    , _rnaeDryRun       = Nothing-    , _rnaeIcmpTypeCode = Nothing-    , _rnaePortRange    = Nothing-    }---- | The network range to allow or deny, in CIDR notation.-rnaeCidrBlock :: Lens' ReplaceNetworkAclEntry Text-rnaeCidrBlock = lens _rnaeCidrBlock (\s a -> s { _rnaeCidrBlock = 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'.-rnaeDryRun :: Lens' ReplaceNetworkAclEntry (Maybe Bool)-rnaeDryRun = lens _rnaeDryRun (\s a -> s { _rnaeDryRun = a })---- | Indicates whether to replace the egress rule.------ Default: If no value is specified, we replace the ingress rule.-rnaeEgress :: Lens' ReplaceNetworkAclEntry Bool-rnaeEgress = lens _rnaeEgress (\s a -> s { _rnaeEgress = a })---- | ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for--- the protocol.-rnaeIcmpTypeCode :: Lens' ReplaceNetworkAclEntry (Maybe IcmpTypeCode)-rnaeIcmpTypeCode = lens _rnaeIcmpTypeCode (\s a -> s { _rnaeIcmpTypeCode = a })---- | The ID of the ACL.-rnaeNetworkAclId :: Lens' ReplaceNetworkAclEntry Text-rnaeNetworkAclId = lens _rnaeNetworkAclId (\s a -> s { _rnaeNetworkAclId = a })---- | TCP or UDP protocols: The range of ports the rule applies to. Required if--- specifying 6 (TCP) or 17 (UDP) for the protocol.-rnaePortRange :: Lens' ReplaceNetworkAclEntry (Maybe PortRange)-rnaePortRange = lens _rnaePortRange (\s a -> s { _rnaePortRange = a })---- | The IP protocol. You can specify 'all' or '-1' to mean all protocols.-rnaeProtocol :: Lens' ReplaceNetworkAclEntry Text-rnaeProtocol = lens _rnaeProtocol (\s a -> s { _rnaeProtocol = a })---- | Indicates whether to allow or deny the traffic that matches the rule.-rnaeRuleAction :: Lens' ReplaceNetworkAclEntry RuleAction-rnaeRuleAction = lens _rnaeRuleAction (\s a -> s { _rnaeRuleAction = a })---- | The rule number of the entry to replace.-rnaeRuleNumber :: Lens' ReplaceNetworkAclEntry Int-rnaeRuleNumber = lens _rnaeRuleNumber (\s a -> s { _rnaeRuleNumber = a })--data ReplaceNetworkAclEntryResponse = ReplaceNetworkAclEntryResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'ReplaceNetworkAclEntryResponse' constructor.-replaceNetworkAclEntryResponse :: ReplaceNetworkAclEntryResponse-replaceNetworkAclEntryResponse = ReplaceNetworkAclEntryResponse--instance ToPath ReplaceNetworkAclEntry where-    toPath = const "/"--instance ToQuery ReplaceNetworkAclEntry where-    toQuery ReplaceNetworkAclEntry{..} = mconcat-        [ "CidrBlock"    =? _rnaeCidrBlock-        , "DryRun"       =? _rnaeDryRun-        , "Egress"       =? _rnaeEgress-        , "Icmp"         =? _rnaeIcmpTypeCode-        , "NetworkAclId" =? _rnaeNetworkAclId-        , "PortRange"    =? _rnaePortRange-        , "Protocol"     =? _rnaeProtocol-        , "RuleAction"   =? _rnaeRuleAction-        , "RuleNumber"   =? _rnaeRuleNumber-        ]--instance ToHeaders ReplaceNetworkAclEntry--instance AWSRequest ReplaceNetworkAclEntry where-    type Sv ReplaceNetworkAclEntry = EC2-    type Rs ReplaceNetworkAclEntry = ReplaceNetworkAclEntryResponse--    request  = post "ReplaceNetworkAclEntry"-    response = nullResponse ReplaceNetworkAclEntryResponse
gen/Network/AWS/EC2/ReplaceRoute.hs view
@@ -1,162 +1,164 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ReplaceRoute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Replaces an existing route within a route table in a VPC. You must provide--- only one of the following: Internet gateway or virtual private gateway, NAT--- instance, VPC peering connection, or network interface.+-- Replaces an existing route within a route table in a VPC. You must+-- provide only one of the following: Internet gateway or virtual private+-- gateway, NAT instance, VPC peering connection, or network interface. ----- For more information about route tables, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html Route Tables> in the /AmazonVirtual Private Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReplaceRoute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReplaceRoute.html AWS API Reference> for ReplaceRoute. module Network.AWS.EC2.ReplaceRoute     (-    -- * Request-      ReplaceRoute-    -- ** Request constructor-    , replaceRoute-    -- ** Request lenses-    , rrDestinationCidrBlock-    , rrDryRun-    , rrGatewayId+    -- * Creating a Request+      replaceRoute+    , ReplaceRoute+    -- * Request Lenses     , rrInstanceId+    , rrVPCPeeringConnectionId     , rrNetworkInterfaceId+    , rrGatewayId+    , rrDryRun     , rrRouteTableId-    , rrVpcPeeringConnectionId+    , rrDestinationCIdRBlock -    -- * Response-    , ReplaceRouteResponse-    -- ** Response constructor+    -- * Destructuring the Response     , replaceRouteResponse+    , ReplaceRouteResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ReplaceRoute = ReplaceRoute-    { _rrDestinationCidrBlock   :: Text-    , _rrDryRun                 :: Maybe Bool-    , _rrGatewayId              :: Maybe Text-    , _rrInstanceId             :: Maybe Text-    , _rrNetworkInterfaceId     :: Maybe Text-    , _rrRouteTableId           :: Text-    , _rrVpcPeeringConnectionId :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'replaceRoute' smart constructor.+data ReplaceRoute = ReplaceRoute'+    { _rrInstanceId             :: !(Maybe Text)+    , _rrVPCPeeringConnectionId :: !(Maybe Text)+    , _rrNetworkInterfaceId     :: !(Maybe Text)+    , _rrGatewayId              :: !(Maybe Text)+    , _rrDryRun                 :: !(Maybe Bool)+    , _rrRouteTableId           :: !Text+    , _rrDestinationCIdRBlock   :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ReplaceRoute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ReplaceRoute' with the minimum fields required to make a request. ----- * 'rrDestinationCidrBlock' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rrDryRun' @::@ 'Maybe' 'Bool'+-- * 'rrInstanceId' ----- * 'rrGatewayId' @::@ 'Maybe' 'Text'+-- * 'rrVPCPeeringConnectionId' ----- * 'rrInstanceId' @::@ 'Maybe' 'Text'+-- * 'rrNetworkInterfaceId' ----- * 'rrNetworkInterfaceId' @::@ 'Maybe' 'Text'+-- * 'rrGatewayId' ----- * 'rrRouteTableId' @::@ 'Text'+-- * 'rrDryRun' ----- * 'rrVpcPeeringConnectionId' @::@ 'Maybe' 'Text'+-- * 'rrRouteTableId' ---replaceRoute :: Text -- ^ 'rrRouteTableId'-             -> Text -- ^ 'rrDestinationCidrBlock'-             -> ReplaceRoute-replaceRoute p1 p2 = ReplaceRoute-    { _rrRouteTableId           = p1-    , _rrDestinationCidrBlock   = p2-    , _rrDryRun                 = Nothing-    , _rrGatewayId              = Nothing-    , _rrInstanceId             = Nothing-    , _rrNetworkInterfaceId     = Nothing-    , _rrVpcPeeringConnectionId = Nothing+-- * 'rrDestinationCIdRBlock'+replaceRoute+    :: Text -- ^ 'rrRouteTableId'+    -> Text -- ^ 'rrDestinationCIdRBlock'+    -> ReplaceRoute+replaceRoute pRouteTableId_ pDestinationCIdRBlock_ =+    ReplaceRoute'+    { _rrInstanceId = Nothing+    , _rrVPCPeeringConnectionId = Nothing+    , _rrNetworkInterfaceId = Nothing+    , _rrGatewayId = Nothing+    , _rrDryRun = Nothing+    , _rrRouteTableId = pRouteTableId_+    , _rrDestinationCIdRBlock = pDestinationCIdRBlock_     } --- | The CIDR address block used for the destination match. The value you provide--- must match the CIDR of an existing route in the table.-rrDestinationCidrBlock :: Lens' ReplaceRoute Text-rrDestinationCidrBlock =-    lens _rrDestinationCidrBlock (\s a -> s { _rrDestinationCidrBlock = 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'.-rrDryRun :: Lens' ReplaceRoute (Maybe Bool)-rrDryRun = lens _rrDryRun (\s a -> s { _rrDryRun = a })---- | The ID of an Internet gateway or virtual private gateway.-rrGatewayId :: Lens' ReplaceRoute (Maybe Text)-rrGatewayId = lens _rrGatewayId (\s a -> s { _rrGatewayId = a })- -- | The ID of a NAT instance in your VPC. rrInstanceId :: Lens' ReplaceRoute (Maybe Text)-rrInstanceId = lens _rrInstanceId (\s a -> s { _rrInstanceId = a })+rrInstanceId = lens _rrInstanceId (\ s a -> s{_rrInstanceId = a}); +-- | The ID of a VPC peering connection.+rrVPCPeeringConnectionId :: Lens' ReplaceRoute (Maybe Text)+rrVPCPeeringConnectionId = lens _rrVPCPeeringConnectionId (\ s a -> s{_rrVPCPeeringConnectionId = a});+ -- | The ID of a network interface. rrNetworkInterfaceId :: Lens' ReplaceRoute (Maybe Text)-rrNetworkInterfaceId =-    lens _rrNetworkInterfaceId (\s a -> s { _rrNetworkInterfaceId = a })+rrNetworkInterfaceId = lens _rrNetworkInterfaceId (\ s a -> s{_rrNetworkInterfaceId = a}); +-- | The ID of an Internet gateway or virtual private gateway.+rrGatewayId :: Lens' ReplaceRoute (Maybe Text)+rrGatewayId = lens _rrGatewayId (\ s a -> s{_rrGatewayId = 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'.+rrDryRun :: Lens' ReplaceRoute (Maybe Bool)+rrDryRun = lens _rrDryRun (\ s a -> s{_rrDryRun = a});+ -- | The ID of the route table. rrRouteTableId :: Lens' ReplaceRoute Text-rrRouteTableId = lens _rrRouteTableId (\s a -> s { _rrRouteTableId = a })+rrRouteTableId = lens _rrRouteTableId (\ s a -> s{_rrRouteTableId = a}); --- | The ID of a VPC peering connection.-rrVpcPeeringConnectionId :: Lens' ReplaceRoute (Maybe Text)-rrVpcPeeringConnectionId =-    lens _rrVpcPeeringConnectionId-        (\s a -> s { _rrVpcPeeringConnectionId = a })+-- | The CIDR address block used for the destination match. The value you+-- provide must match the CIDR of an existing route in the table.+rrDestinationCIdRBlock :: Lens' ReplaceRoute Text+rrDestinationCIdRBlock = lens _rrDestinationCIdRBlock (\ s a -> s{_rrDestinationCIdRBlock = a}); -data ReplaceRouteResponse = ReplaceRouteResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest ReplaceRoute where+        type Sv ReplaceRoute = EC2+        type Rs ReplaceRoute = ReplaceRouteResponse+        request = post+        response = receiveNull ReplaceRouteResponse' --- | 'ReplaceRouteResponse' constructor.-replaceRouteResponse :: ReplaceRouteResponse-replaceRouteResponse = ReplaceRouteResponse+instance ToHeaders ReplaceRoute where+        toHeaders = const mempty  instance ToPath ReplaceRoute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ReplaceRoute where-    toQuery ReplaceRoute{..} = mconcat-        [ "DestinationCidrBlock"   =? _rrDestinationCidrBlock-        , "DryRun"                 =? _rrDryRun-        , "GatewayId"              =? _rrGatewayId-        , "InstanceId"             =? _rrInstanceId-        , "NetworkInterfaceId"     =? _rrNetworkInterfaceId-        , "RouteTableId"           =? _rrRouteTableId-        , "VpcPeeringConnectionId" =? _rrVpcPeeringConnectionId-        ]--instance ToHeaders ReplaceRoute+        toQuery ReplaceRoute'{..}+          = mconcat+              ["Action" =: ("ReplaceRoute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "InstanceId" =: _rrInstanceId,+               "VpcPeeringConnectionId" =:+                 _rrVPCPeeringConnectionId,+               "NetworkInterfaceId" =: _rrNetworkInterfaceId,+               "GatewayId" =: _rrGatewayId, "DryRun" =: _rrDryRun,+               "RouteTableId" =: _rrRouteTableId,+               "DestinationCidrBlock" =: _rrDestinationCIdRBlock] -instance AWSRequest ReplaceRoute where-    type Sv ReplaceRoute = EC2-    type Rs ReplaceRoute = ReplaceRouteResponse+-- | /See:/ 'replaceRouteResponse' smart constructor.+data ReplaceRouteResponse =+    ReplaceRouteResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ReplaceRoute"-    response = nullResponse ReplaceRouteResponse+-- | Creates a value of 'ReplaceRouteResponse' with the minimum fields required to make a request.+--+replaceRouteResponse+    :: ReplaceRouteResponse+replaceRouteResponse = ReplaceRouteResponse'
gen/Network/AWS/EC2/ReplaceRouteTableAssociation.hs view
@@ -1,140 +1,156 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ReplaceRouteTableAssociation--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Changes the route table associated with a given subnet in a VPC. After the--- operation completes, the subnet uses the routes in the new route table it's--- associated with. 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/.+-- Changes the route table associated with a given subnet in a VPC. After+-- the operation completes, the subnet uses the routes in the new route+-- table it\'s associated with. 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/. ----- You can also use ReplaceRouteTableAssociation to change which table is 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.+-- You can also use ReplaceRouteTableAssociation to change which table is+-- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReplaceRouteTableAssociation.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReplaceRouteTableAssociation.html AWS API Reference> for ReplaceRouteTableAssociation. module Network.AWS.EC2.ReplaceRouteTableAssociation     (-    -- * Request-      ReplaceRouteTableAssociation-    -- ** Request constructor-    , replaceRouteTableAssociation-    -- ** Request lenses-    , rrtaAssociationId+    -- * Creating a Request+      replaceRouteTableAssociation+    , ReplaceRouteTableAssociation+    -- * Request Lenses     , rrtaDryRun+    , rrtaAssociationId     , rrtaRouteTableId -    -- * Response-    , ReplaceRouteTableAssociationResponse-    -- ** Response constructor+    -- * Destructuring the Response     , replaceRouteTableAssociationResponse-    -- ** Response lenses-    , rrtarNewAssociationId+    , ReplaceRouteTableAssociationResponse+    -- * Response Lenses+    , rrtarsNewAssociationId+    , rrtarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ReplaceRouteTableAssociation = ReplaceRouteTableAssociation-    { _rrtaAssociationId :: Text-    , _rrtaDryRun        :: Maybe Bool-    , _rrtaRouteTableId  :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'replaceRouteTableAssociation' smart constructor.+data ReplaceRouteTableAssociation = ReplaceRouteTableAssociation'+    { _rrtaDryRun        :: !(Maybe Bool)+    , _rrtaAssociationId :: !Text+    , _rrtaRouteTableId  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ReplaceRouteTableAssociation' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ReplaceRouteTableAssociation' with the minimum fields required to make a request. ----- * 'rrtaAssociationId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rrtaDryRun' @::@ 'Maybe' 'Bool'+-- * 'rrtaDryRun' ----- * 'rrtaRouteTableId' @::@ 'Text'+-- * 'rrtaAssociationId' ---replaceRouteTableAssociation :: Text -- ^ 'rrtaAssociationId'-                             -> Text -- ^ 'rrtaRouteTableId'-                             -> ReplaceRouteTableAssociation-replaceRouteTableAssociation p1 p2 = ReplaceRouteTableAssociation-    { _rrtaAssociationId = p1-    , _rrtaRouteTableId  = p2-    , _rrtaDryRun        = Nothing+-- * 'rrtaRouteTableId'+replaceRouteTableAssociation+    :: Text -- ^ 'rrtaAssociationId'+    -> Text -- ^ 'rrtaRouteTableId'+    -> ReplaceRouteTableAssociation+replaceRouteTableAssociation pAssociationId_ pRouteTableId_ =+    ReplaceRouteTableAssociation'+    { _rrtaDryRun = Nothing+    , _rrtaAssociationId = pAssociationId_+    , _rrtaRouteTableId = pRouteTableId_     } --- | The association ID.-rrtaAssociationId :: Lens' ReplaceRouteTableAssociation Text-rrtaAssociationId =-    lens _rrtaAssociationId (\s a -> s { _rrtaAssociationId = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. rrtaDryRun :: Lens' ReplaceRouteTableAssociation (Maybe Bool)-rrtaDryRun = lens _rrtaDryRun (\s a -> s { _rrtaDryRun = a })+rrtaDryRun = lens _rrtaDryRun (\ s a -> s{_rrtaDryRun = a}); +-- | The association ID.+rrtaAssociationId :: Lens' ReplaceRouteTableAssociation Text+rrtaAssociationId = lens _rrtaAssociationId (\ s a -> s{_rrtaAssociationId = a});+ -- | The ID of the new route table to associate with the subnet. rrtaRouteTableId :: Lens' ReplaceRouteTableAssociation Text-rrtaRouteTableId = lens _rrtaRouteTableId (\s a -> s { _rrtaRouteTableId = a })--newtype ReplaceRouteTableAssociationResponse = ReplaceRouteTableAssociationResponse-    { _rrtarNewAssociationId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+rrtaRouteTableId = lens _rrtaRouteTableId (\ s a -> s{_rrtaRouteTableId = a}); --- | 'ReplaceRouteTableAssociationResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rrtarNewAssociationId' @::@ 'Maybe' 'Text'----replaceRouteTableAssociationResponse :: ReplaceRouteTableAssociationResponse-replaceRouteTableAssociationResponse = ReplaceRouteTableAssociationResponse-    { _rrtarNewAssociationId = Nothing-    }+instance AWSRequest ReplaceRouteTableAssociation+         where+        type Sv ReplaceRouteTableAssociation = EC2+        type Rs ReplaceRouteTableAssociation =+             ReplaceRouteTableAssociationResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 ReplaceRouteTableAssociationResponse' <$>+                   (x .@? "newAssociationId") <*> (pure (fromEnum s))) --- | The ID of the new association.-rrtarNewAssociationId :: Lens' ReplaceRouteTableAssociationResponse (Maybe Text)-rrtarNewAssociationId =-    lens _rrtarNewAssociationId (\s a -> s { _rrtarNewAssociationId = a })+instance ToHeaders ReplaceRouteTableAssociation where+        toHeaders = const mempty  instance ToPath ReplaceRouteTableAssociation where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ReplaceRouteTableAssociation where-    toQuery ReplaceRouteTableAssociation{..} = mconcat-        [ "AssociationId" =? _rrtaAssociationId-        , "DryRun"        =? _rrtaDryRun-        , "RouteTableId"  =? _rrtaRouteTableId-        ]+        toQuery ReplaceRouteTableAssociation'{..}+          = mconcat+              ["Action" =:+                 ("ReplaceRouteTableAssociation" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _rrtaDryRun,+               "AssociationId" =: _rrtaAssociationId,+               "RouteTableId" =: _rrtaRouteTableId] -instance ToHeaders ReplaceRouteTableAssociation+-- | /See:/ 'replaceRouteTableAssociationResponse' smart constructor.+data ReplaceRouteTableAssociationResponse = ReplaceRouteTableAssociationResponse'+    { _rrtarsNewAssociationId :: !(Maybe Text)+    , _rrtarsStatus           :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest ReplaceRouteTableAssociation where-    type Sv ReplaceRouteTableAssociation = EC2-    type Rs ReplaceRouteTableAssociation = ReplaceRouteTableAssociationResponse+-- | Creates a value of 'ReplaceRouteTableAssociationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrtarsNewAssociationId'+--+-- * 'rrtarsStatus'+replaceRouteTableAssociationResponse+    :: Int -- ^ 'rrtarsStatus'+    -> ReplaceRouteTableAssociationResponse+replaceRouteTableAssociationResponse pStatus_ =+    ReplaceRouteTableAssociationResponse'+    { _rrtarsNewAssociationId = Nothing+    , _rrtarsStatus = pStatus_+    } -    request  = post "ReplaceRouteTableAssociation"-    response = xmlResponse+-- | The ID of the new association.+rrtarsNewAssociationId :: Lens' ReplaceRouteTableAssociationResponse (Maybe Text)+rrtarsNewAssociationId = lens _rrtarsNewAssociationId (\ s a -> s{_rrtarsNewAssociationId = a}); -instance FromXML ReplaceRouteTableAssociationResponse where-    parseXML x = ReplaceRouteTableAssociationResponse-        <$> x .@? "newAssociationId"+-- | The response status code.+rrtarsStatus :: Lens' ReplaceRouteTableAssociationResponse Int+rrtarsStatus = lens _rrtarsStatus (\ s a -> s{_rrtarsStatus = a});
gen/Network/AWS/EC2/ReportInstanceStatus.hs view
@@ -1,180 +1,190 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ReportInstanceStatus--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.+-- 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. ----- Use of this action does not change the value returned by 'DescribeInstanceStatus'.+-- Use of this action does not change the value returned by+-- DescribeInstanceStatus. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReportInstanceStatus.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReportInstanceStatus.html AWS API Reference> for ReportInstanceStatus. module Network.AWS.EC2.ReportInstanceStatus     (-    -- * Request-      ReportInstanceStatus-    -- ** Request constructor-    , reportInstanceStatus-    -- ** Request lenses-    , risDescription-    , risDryRun+    -- * Creating a Request+      reportInstanceStatus+    , ReportInstanceStatus+    -- * Request Lenses+    , risStartTime     , risEndTime+    , risDryRun+    , risDescription     , risInstances-    , risReasonCodes-    , risStartTime     , risStatus+    , risReasonCodes -    -- * Response-    , ReportInstanceStatusResponse-    -- ** Response constructor+    -- * Destructuring the Response     , reportInstanceStatusResponse+    , ReportInstanceStatusResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ReportInstanceStatus = ReportInstanceStatus-    { _risDescription :: Maybe Text-    , _risDryRun      :: Maybe Bool-    , _risEndTime     :: Maybe ISO8601-    , _risInstances   :: List "InstanceId" Text-    , _risReasonCodes :: List "item" ReportInstanceReasonCodes-    , _risStartTime   :: Maybe ISO8601-    , _risStatus      :: ReportStatusType-    } deriving (Eq, Read, Show)+-- | /See:/ 'reportInstanceStatus' smart constructor.+data ReportInstanceStatus = ReportInstanceStatus'+    { _risStartTime   :: !(Maybe ISO8601)+    , _risEndTime     :: !(Maybe ISO8601)+    , _risDryRun      :: !(Maybe Bool)+    , _risDescription :: !(Maybe Text)+    , _risInstances   :: ![Text]+    , _risStatus      :: !ReportStatusType+    , _risReasonCodes :: ![ReportInstanceReasonCodes]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ReportInstanceStatus' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ReportInstanceStatus' with the minimum fields required to make a request. ----- * 'risDescription' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'risDryRun' @::@ 'Maybe' 'Bool'+-- * 'risStartTime' ----- * 'risEndTime' @::@ 'Maybe' 'UTCTime'+-- * 'risEndTime' ----- * 'risInstances' @::@ ['Text']+-- * 'risDryRun' ----- * 'risReasonCodes' @::@ ['ReportInstanceReasonCodes']+-- * 'risDescription' ----- * 'risStartTime' @::@ 'Maybe' 'UTCTime'+-- * 'risInstances' ----- * 'risStatus' @::@ 'ReportStatusType'+-- * 'risStatus' ---reportInstanceStatus :: ReportStatusType -- ^ 'risStatus'-                     -> ReportInstanceStatus-reportInstanceStatus p1 = ReportInstanceStatus-    { _risStatus      = p1-    , _risDryRun      = Nothing-    , _risInstances   = mempty-    , _risStartTime   = Nothing-    , _risEndTime     = Nothing-    , _risReasonCodes = mempty+-- * 'risReasonCodes'+reportInstanceStatus+    :: ReportStatusType -- ^ 'risStatus'+    -> ReportInstanceStatus+reportInstanceStatus pStatus_ =+    ReportInstanceStatus'+    { _risStartTime = Nothing+    , _risEndTime = Nothing+    , _risDryRun = Nothing     , _risDescription = Nothing+    , _risInstances = mempty+    , _risStatus = pStatus_+    , _risReasonCodes = mempty     } --- | Descriptive text about the health state of your instance.-risDescription :: Lens' ReportInstanceStatus (Maybe Text)-risDescription = lens _risDescription (\s a -> s { _risDescription = a })+-- | The time at which the reported instance health state began.+risStartTime :: Lens' ReportInstanceStatus (Maybe UTCTime)+risStartTime = lens _risStartTime (\ s a -> s{_risStartTime = a}) . mapping _Time; +-- | The time at which the reported instance health state ended.+risEndTime :: Lens' ReportInstanceStatus (Maybe UTCTime)+risEndTime = lens _risEndTime (\ s a -> s{_risEndTime = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. risDryRun :: Lens' ReportInstanceStatus (Maybe Bool)-risDryRun = lens _risDryRun (\s a -> s { _risDryRun = a })+risDryRun = lens _risDryRun (\ s a -> s{_risDryRun = a}); --- | The time at which the reported instance health state ended.-risEndTime :: Lens' ReportInstanceStatus (Maybe UTCTime)-risEndTime = lens _risEndTime (\s a -> s { _risEndTime = a }) . mapping _Time+-- | Descriptive text about the health state of your instance.+risDescription :: Lens' ReportInstanceStatus (Maybe Text)+risDescription = lens _risDescription (\ s a -> s{_risDescription = a});  -- | One or more instances. risInstances :: Lens' ReportInstanceStatus [Text]-risInstances = lens _risInstances (\s a -> s { _risInstances = a }) . _List+risInstances = lens _risInstances (\ s a -> s{_risInstances = a}) . _Coerce; --- | One or more reason codes that describes the health state of your instance.------ 'instance-stuck-in-state': My instance is stuck in a state.+-- | The status of all instances listed.+risStatus :: Lens' ReportInstanceStatus ReportStatusType+risStatus = lens _risStatus (\ s a -> s{_risStatus = a});++-- | One or more reason codes that describes the health state of your+-- instance. ----- 'unresponsive': My instance is unresponsive.+-- -   'instance-stuck-in-state': My instance is stuck in a state. ----- 'not-accepting-credentials': My instance is not accepting my credentials.+-- -   'unresponsive': My instance is unresponsive. ----- 'password-not-available': A password is not available for my instance.+-- -   'not-accepting-credentials': My instance is not accepting my+--     credentials. ----- 'performance-network': My instance is experiencing performance problems which--- I believe are network related.+-- -   'password-not-available': A password is not available for my+--     instance. ----- 'performance-instance-store': My instance is experiencing performance problems--- which I believe are related to the instance stores.+-- -   'performance-network': My instance is experiencing performance+--     problems which I believe are network related. ----- 'performance-ebs-volume': My instance is experiencing performance problems--- which I believe are related to an EBS volume.+-- -   'performance-instance-store': My instance is experiencing+--     performance problems which I believe are related to the instance+--     stores. ----- 'performance-other': My instance is experiencing performance problems.+-- -   'performance-ebs-volume': My instance is experiencing performance+--     problems which I believe are related to an EBS volume. ----- 'other': [explain using the description parameter]+-- -   'performance-other': My instance is experiencing performance+--     problems. --+-- -   'other': [explain using the description parameter] -- risReasonCodes :: Lens' ReportInstanceStatus [ReportInstanceReasonCodes]-risReasonCodes = lens _risReasonCodes (\s a -> s { _risReasonCodes = a }) . _List---- | The time at which the reported instance health state began.-risStartTime :: Lens' ReportInstanceStatus (Maybe UTCTime)-risStartTime = lens _risStartTime (\s a -> s { _risStartTime = a }) . mapping _Time---- | The status of all instances listed.-risStatus :: Lens' ReportInstanceStatus ReportStatusType-risStatus = lens _risStatus (\s a -> s { _risStatus = a })+risReasonCodes = lens _risReasonCodes (\ s a -> s{_risReasonCodes = a}) . _Coerce; -data ReportInstanceStatusResponse = ReportInstanceStatusResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest ReportInstanceStatus where+        type Sv ReportInstanceStatus = EC2+        type Rs ReportInstanceStatus =+             ReportInstanceStatusResponse+        request = post+        response = receiveNull ReportInstanceStatusResponse' --- | 'ReportInstanceStatusResponse' constructor.-reportInstanceStatusResponse :: ReportInstanceStatusResponse-reportInstanceStatusResponse = ReportInstanceStatusResponse+instance ToHeaders ReportInstanceStatus where+        toHeaders = const mempty  instance ToPath ReportInstanceStatus where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ReportInstanceStatus where-    toQuery ReportInstanceStatus{..} = mconcat-        [ "Description" =? _risDescription-        , "DryRun"      =? _risDryRun-        , "EndTime"     =? _risEndTime-        , "InstanceId"  `toQueryList` _risInstances-        , "ReasonCode"  `toQueryList` _risReasonCodes-        , "StartTime"   =? _risStartTime-        , "Status"      =? _risStatus-        ]--instance ToHeaders ReportInstanceStatus+        toQuery ReportInstanceStatus'{..}+          = mconcat+              ["Action" =: ("ReportInstanceStatus" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "StartTime" =: _risStartTime,+               "EndTime" =: _risEndTime, "DryRun" =: _risDryRun,+               "Description" =: _risDescription,+               toQueryList "InstanceId" _risInstances,+               "Status" =: _risStatus,+               toQueryList "item" _risReasonCodes] -instance AWSRequest ReportInstanceStatus where-    type Sv ReportInstanceStatus = EC2-    type Rs ReportInstanceStatus = ReportInstanceStatusResponse+-- | /See:/ 'reportInstanceStatusResponse' smart constructor.+data ReportInstanceStatusResponse =+    ReportInstanceStatusResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ReportInstanceStatus"-    response = nullResponse ReportInstanceStatusResponse+-- | Creates a value of 'ReportInstanceStatusResponse' with the minimum fields required to make a request.+--+reportInstanceStatusResponse+    :: ReportInstanceStatusResponse+reportInstanceStatusResponse = ReportInstanceStatusResponse'
gen/Network/AWS/EC2/RequestSpotFleet.hs view
@@ -1,126 +1,142 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.RequestSpotFleet--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a Spot fleet request.+-- Creates a Spot fleet request. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html Spot Fleets> in the /Amazon Elastic Compute CloudUser Guide/.+-- For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html Spot Fleets>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RequestSpotFleet.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RequestSpotFleet.html AWS API Reference> for RequestSpotFleet. module Network.AWS.EC2.RequestSpotFleet     (-    -- * Request-      RequestSpotFleet-    -- ** Request constructor-    , requestSpotFleet-    -- ** Request lenses+    -- * Creating a Request+      requestSpotFleet+    , RequestSpotFleet+    -- * Request Lenses     , rsfDryRun     , rsfSpotFleetRequestConfig -    -- * Response-    , RequestSpotFleetResponse-    -- ** Response constructor+    -- * Destructuring the Response     , requestSpotFleetResponse-    -- ** Response lenses-    , rsfrSpotFleetRequestId+    , RequestSpotFleetResponse+    -- * Response Lenses+    , rsfrsStatus+    , rsfrsSpotFleetRequestId     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data RequestSpotFleet = RequestSpotFleet-    { _rsfDryRun                 :: Maybe Bool-    , _rsfSpotFleetRequestConfig :: SpotFleetRequestConfigData-    } deriving (Eq, Read, Show)+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'RequestSpotFleet' constructor.+-- | Contains the parameters for RequestSpotFleet. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'requestSpotFleet' smart constructor.+data RequestSpotFleet = RequestSpotFleet'+    { _rsfDryRun                 :: !(Maybe Bool)+    , _rsfSpotFleetRequestConfig :: !SpotFleetRequestConfigData+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RequestSpotFleet' with the minimum fields required to make a request. ----- * 'rsfDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rsfSpotFleetRequestConfig' @::@ 'SpotFleetRequestConfigData'+-- * 'rsfDryRun' ---requestSpotFleet :: SpotFleetRequestConfigData -- ^ 'rsfSpotFleetRequestConfig'-                 -> RequestSpotFleet-requestSpotFleet p1 = RequestSpotFleet-    { _rsfSpotFleetRequestConfig = p1-    , _rsfDryRun                 = Nothing+-- * 'rsfSpotFleetRequestConfig'+requestSpotFleet+    :: SpotFleetRequestConfigData -- ^ 'rsfSpotFleetRequestConfig'+    -> RequestSpotFleet+requestSpotFleet pSpotFleetRequestConfig_ =+    RequestSpotFleet'+    { _rsfDryRun = Nothing+    , _rsfSpotFleetRequestConfig = pSpotFleetRequestConfig_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. rsfDryRun :: Lens' RequestSpotFleet (Maybe Bool)-rsfDryRun = lens _rsfDryRun (\s a -> s { _rsfDryRun = a })+rsfDryRun = lens _rsfDryRun (\ s a -> s{_rsfDryRun = a});  -- | The configuration for the Spot fleet request. rsfSpotFleetRequestConfig :: Lens' RequestSpotFleet SpotFleetRequestConfigData-rsfSpotFleetRequestConfig =-    lens _rsfSpotFleetRequestConfig-        (\s a -> s { _rsfSpotFleetRequestConfig = a })--newtype RequestSpotFleetResponse = RequestSpotFleetResponse-    { _rsfrSpotFleetRequestId :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+rsfSpotFleetRequestConfig = lens _rsfSpotFleetRequestConfig (\ s a -> s{_rsfSpotFleetRequestConfig = a}); --- | 'RequestSpotFleetResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rsfrSpotFleetRequestId' @::@ 'Text'----requestSpotFleetResponse :: Text -- ^ 'rsfrSpotFleetRequestId'-                         -> RequestSpotFleetResponse-requestSpotFleetResponse p1 = RequestSpotFleetResponse-    { _rsfrSpotFleetRequestId = p1-    }+instance AWSRequest RequestSpotFleet where+        type Sv RequestSpotFleet = EC2+        type Rs RequestSpotFleet = RequestSpotFleetResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 RequestSpotFleetResponse' <$>+                   (pure (fromEnum s)) <*> (x .@ "spotFleetRequestId")) --- | The ID of the Spot fleet request.-rsfrSpotFleetRequestId :: Lens' RequestSpotFleetResponse Text-rsfrSpotFleetRequestId =-    lens _rsfrSpotFleetRequestId (\s a -> s { _rsfrSpotFleetRequestId = a })+instance ToHeaders RequestSpotFleet where+        toHeaders = const mempty  instance ToPath RequestSpotFleet where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RequestSpotFleet where-    toQuery RequestSpotFleet{..} = mconcat-        [ "DryRun"                 =? _rsfDryRun-        , "SpotFleetRequestConfig" =? _rsfSpotFleetRequestConfig-        ]+        toQuery RequestSpotFleet'{..}+          = mconcat+              ["Action" =: ("RequestSpotFleet" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _rsfDryRun,+               "SpotFleetRequestConfig" =:+                 _rsfSpotFleetRequestConfig] -instance ToHeaders RequestSpotFleet+-- | Contains the output of RequestSpotFleet.+--+-- /See:/ 'requestSpotFleetResponse' smart constructor.+data RequestSpotFleetResponse = RequestSpotFleetResponse'+    { _rsfrsStatus             :: !Int+    , _rsfrsSpotFleetRequestId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest RequestSpotFleet where-    type Sv RequestSpotFleet = EC2-    type Rs RequestSpotFleet = RequestSpotFleetResponse+-- | Creates a value of 'RequestSpotFleetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsfrsStatus'+--+-- * 'rsfrsSpotFleetRequestId'+requestSpotFleetResponse+    :: Int -- ^ 'rsfrsStatus'+    -> Text -- ^ 'rsfrsSpotFleetRequestId'+    -> RequestSpotFleetResponse+requestSpotFleetResponse pStatus_ pSpotFleetRequestId_ =+    RequestSpotFleetResponse'+    { _rsfrsStatus = pStatus_+    , _rsfrsSpotFleetRequestId = pSpotFleetRequestId_+    } -    request  = post "RequestSpotFleet"-    response = xmlResponse+-- | The response status code.+rsfrsStatus :: Lens' RequestSpotFleetResponse Int+rsfrsStatus = lens _rsfrsStatus (\ s a -> s{_rsfrsStatus = a}); -instance FromXML RequestSpotFleetResponse where-    parseXML x = RequestSpotFleetResponse-        <$> x .@  "spotFleetRequestId"+-- | The ID of the Spot fleet request.+rsfrsSpotFleetRequestId :: Lens' RequestSpotFleetResponse Text+rsfrsSpotFleetRequestId = lens _rsfrsSpotFleetRequestId (\ s a -> s{_rsfrsSpotFleetRequestId = a});
gen/Network/AWS/EC2/RequestSpotInstances.hs view
@@ -1,247 +1,264 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.RequestSpotInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a Spot Instance request. Spot Instances are instances that Amazon EC2--- launches when the bid price that you specify exceeds the current Spot Price.--- Amazon EC2 periodically sets the Spot Price based on available Spot Instance--- capacity and current Spot Instance requests. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html SpotInstance Requests> in the /Amazon Elastic Compute Cloud User Guide/.+-- Creates a Spot Instance request. Spot Instances are instances that+-- Amazon EC2 launches when the bid price that you specify exceeds the+-- current Spot Price. Amazon EC2 periodically sets the Spot Price based on+-- available Spot Instance capacity and current Spot Instance requests. For+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RequestSpotInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RequestSpotInstances.html AWS API Reference> for RequestSpotInstances. module Network.AWS.EC2.RequestSpotInstances     (-    -- * Request-      RequestSpotInstances-    -- ** Request constructor-    , requestSpotInstances-    -- ** Request lenses-    , rsiAvailabilityZoneGroup-    , rsiClientToken-    , rsiDryRun+    -- * Creating a Request+      requestSpotInstances+    , RequestSpotInstances+    -- * Request Lenses     , rsiInstanceCount-    , rsiLaunchGroup+    , rsiClientToken+    , rsiAvailabilityZoneGroup     , rsiLaunchSpecification-    , rsiSpotPrice+    , rsiValidUntil+    , rsiLaunchGroup     , rsiType     , rsiValidFrom-    , rsiValidUntil+    , rsiDryRun+    , rsiSpotPrice -    -- * Response-    , RequestSpotInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , requestSpotInstancesResponse-    -- ** Response lenses-    , rsirSpotInstanceRequests+    , RequestSpotInstancesResponse+    -- * Response Lenses+    , rsirsSpotInstanceRequests+    , rsirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data RequestSpotInstances = RequestSpotInstances-    { _rsiAvailabilityZoneGroup :: Maybe Text-    , _rsiClientToken           :: Maybe Text-    , _rsiDryRun                :: Maybe Bool-    , _rsiInstanceCount         :: Maybe Int-    , _rsiLaunchGroup           :: Maybe Text-    , _rsiLaunchSpecification   :: Maybe RequestSpotLaunchSpecification-    , _rsiSpotPrice             :: Text-    , _rsiType                  :: Maybe SpotInstanceType-    , _rsiValidFrom             :: Maybe ISO8601-    , _rsiValidUntil            :: Maybe ISO8601-    } deriving (Eq, Read, Show)+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'RequestSpotInstances' constructor.+-- | Contains the parameters for RequestSpotInstances. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'requestSpotInstances' smart constructor.+data RequestSpotInstances = RequestSpotInstances'+    { _rsiInstanceCount         :: !(Maybe Int)+    , _rsiClientToken           :: !(Maybe Text)+    , _rsiAvailabilityZoneGroup :: !(Maybe Text)+    , _rsiLaunchSpecification   :: !(Maybe RequestSpotLaunchSpecification)+    , _rsiValidUntil            :: !(Maybe ISO8601)+    , _rsiLaunchGroup           :: !(Maybe Text)+    , _rsiType                  :: !(Maybe SpotInstanceType)+    , _rsiValidFrom             :: !(Maybe ISO8601)+    , _rsiDryRun                :: !(Maybe Bool)+    , _rsiSpotPrice             :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RequestSpotInstances' with the minimum fields required to make a request. ----- * 'rsiAvailabilityZoneGroup' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rsiClientToken' @::@ 'Maybe' 'Text'+-- * 'rsiInstanceCount' ----- * 'rsiDryRun' @::@ 'Maybe' 'Bool'+-- * 'rsiClientToken' ----- * 'rsiInstanceCount' @::@ 'Maybe' 'Int'+-- * 'rsiAvailabilityZoneGroup' ----- * 'rsiLaunchGroup' @::@ 'Maybe' 'Text'+-- * 'rsiLaunchSpecification' ----- * 'rsiLaunchSpecification' @::@ 'Maybe' 'RequestSpotLaunchSpecification'+-- * 'rsiValidUntil' ----- * 'rsiSpotPrice' @::@ 'Text'+-- * 'rsiLaunchGroup' ----- * 'rsiType' @::@ 'Maybe' 'SpotInstanceType'+-- * 'rsiType' ----- * 'rsiValidFrom' @::@ 'Maybe' 'UTCTime'+-- * 'rsiValidFrom' ----- * 'rsiValidUntil' @::@ 'Maybe' 'UTCTime'+-- * 'rsiDryRun' ---requestSpotInstances :: Text -- ^ 'rsiSpotPrice'-                     -> RequestSpotInstances-requestSpotInstances p1 = RequestSpotInstances-    { _rsiSpotPrice             = p1-    , _rsiDryRun                = Nothing-    , _rsiClientToken           = Nothing-    , _rsiInstanceCount         = Nothing-    , _rsiType                  = Nothing-    , _rsiValidFrom             = Nothing-    , _rsiValidUntil            = Nothing-    , _rsiLaunchGroup           = Nothing+-- * 'rsiSpotPrice'+requestSpotInstances+    :: Text -- ^ 'rsiSpotPrice'+    -> RequestSpotInstances+requestSpotInstances pSpotPrice_ =+    RequestSpotInstances'+    { _rsiInstanceCount = Nothing+    , _rsiClientToken = Nothing     , _rsiAvailabilityZoneGroup = Nothing-    , _rsiLaunchSpecification   = Nothing+    , _rsiLaunchSpecification = Nothing+    , _rsiValidUntil = Nothing+    , _rsiLaunchGroup = Nothing+    , _rsiType = Nothing+    , _rsiValidFrom = Nothing+    , _rsiDryRun = Nothing+    , _rsiSpotPrice = pSpotPrice_     } +-- | The maximum number of Spot Instances to launch.+--+-- Default: 1+rsiInstanceCount :: Lens' RequestSpotInstances (Maybe Int)+rsiInstanceCount = lens _rsiInstanceCount (\ s a -> s{_rsiInstanceCount = 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});+ -- | The user-specified name for a logical grouping of bids. ----- When you specify an Availability Zone group in a Spot Instance request, all--- Spot Instances in the request are launched in the same Availability Zone.--- Instance proximity is maintained with this parameter, but the choice of--- Availability Zone is not. The group applies only to bids for Spot Instances--- of the same instance type. Any additional Spot Instance requests that are--- specified with the same Availability Zone group name are launched in that--- same Availability Zone, as long as at least one instance from the group is--- still active.+-- When you specify an Availability Zone group in a Spot Instance request,+-- all Spot Instances in the request are launched in the same Availability+-- Zone. Instance proximity is maintained with this parameter, but the+-- choice of Availability Zone is not. The group applies only to bids for+-- Spot Instances of the same instance type. Any additional Spot Instance+-- requests that are specified with the same Availability Zone group name+-- are launched in that same Availability Zone, as long as at least one+-- instance from the group is still active. ----- If there is no active instance running in the Availability Zone group that--- you specify for a new Spot Instance request (all instances are terminated,--- the bid is expired, or the bid falls below current market), then Amazon EC2--- launches the instance in any Availability Zone where the constraint can be--- met. Consequently, the subsequent set of Spot Instances could be placed in a--- different zone from the original request, even if you specified the same--- Availability Zone group.+-- If there is no active instance running in the Availability Zone group+-- that you specify for a new Spot Instance request (all instances are+-- terminated, the bid is expired, or the bid falls below current market),+-- then Amazon EC2 launches the instance in any Availability Zone where the+-- constraint can be met. Consequently, the subsequent set of Spot+-- Instances could be placed in a different zone from the original request,+-- 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 })---- | 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 })+rsiAvailabilityZoneGroup = lens _rsiAvailabilityZoneGroup (\ s a -> s{_rsiAvailabilityZoneGroup = 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' RequestSpotInstances (Maybe Bool)-rsiDryRun = lens _rsiDryRun (\s a -> s { _rsiDryRun = a })+-- | Undocumented member.+rsiLaunchSpecification :: Lens' RequestSpotInstances (Maybe RequestSpotLaunchSpecification)+rsiLaunchSpecification = lens _rsiLaunchSpecification (\ s a -> s{_rsiLaunchSpecification = a}); --- | The maximum number of Spot Instances to launch.+-- | 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+-- this date is reached. If the request is persistent, it remains active+-- until it is canceled or this date and time is reached. ----- Default: 1-rsiInstanceCount :: Lens' RequestSpotInstances (Maybe Int)-rsiInstanceCount = lens _rsiInstanceCount (\s a -> s { _rsiInstanceCount = a })+-- Default: The request is effective indefinitely.+rsiValidUntil :: Lens' RequestSpotInstances (Maybe UTCTime)+rsiValidUntil = lens _rsiValidUntil (\ s a -> s{_rsiValidUntil = 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 })--rsiLaunchSpecification :: Lens' RequestSpotInstances (Maybe RequestSpotLaunchSpecification)-rsiLaunchSpecification =-    lens _rsiLaunchSpecification (\s a -> s { _rsiLaunchSpecification = 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 })+rsiLaunchGroup = lens _rsiLaunchGroup (\ s a -> s{_rsiLaunchGroup = a});  -- | The Spot Instance request type. -- -- Default: 'one-time' rsiType :: Lens' RequestSpotInstances (Maybe SpotInstanceType)-rsiType = lens _rsiType (\s a -> s { _rsiType = a })+rsiType = lens _rsiType (\ s a -> s{_rsiType = 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 all instances--- launch, the request expires, or the request is canceled. If the request is--- persistent, the request becomes active at this date and time and remains--- active until it expires or is canceled.+-- | 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+-- all instances launch, the request expires, or the request is canceled.+-- If the request is persistent, the request becomes active at this date+-- 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+rsiValidFrom = lens _rsiValidFrom (\ s a -> s{_rsiValidFrom = a}) . mapping _Time; --- | 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 this--- date is reached. If the request is persistent, it remains active 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+-- | 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}); -newtype RequestSpotInstancesResponse = RequestSpotInstancesResponse-    { _rsirSpotInstanceRequests :: List "item" SpotInstanceRequest-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | 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}); --- | 'RequestSpotInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rsirSpotInstanceRequests' @::@ ['SpotInstanceRequest']----requestSpotInstancesResponse :: RequestSpotInstancesResponse-requestSpotInstancesResponse = RequestSpotInstancesResponse-    { _rsirSpotInstanceRequests = mempty-    }+instance AWSRequest RequestSpotInstances where+        type Sv RequestSpotInstances = EC2+        type Rs RequestSpotInstances =+             RequestSpotInstancesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 RequestSpotInstancesResponse' <$>+                   (x .@? "spotInstanceRequestSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | One or more Spot Instance requests.-rsirSpotInstanceRequests :: Lens' RequestSpotInstancesResponse [SpotInstanceRequest]-rsirSpotInstanceRequests =-    lens _rsirSpotInstanceRequests-        (\s a -> s { _rsirSpotInstanceRequests = a })-            . _List+instance ToHeaders RequestSpotInstances where+        toHeaders = const mempty  instance ToPath RequestSpotInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RequestSpotInstances where-    toQuery RequestSpotInstances{..} = mconcat-        [ "AvailabilityZoneGroup" =? _rsiAvailabilityZoneGroup-        , "ClientToken"           =? _rsiClientToken-        , "DryRun"                =? _rsiDryRun-        , "InstanceCount"         =? _rsiInstanceCount-        , "LaunchGroup"           =? _rsiLaunchGroup-        , "LaunchSpecification"   =? _rsiLaunchSpecification-        , "SpotPrice"             =? _rsiSpotPrice-        , "Type"                  =? _rsiType-        , "ValidFrom"             =? _rsiValidFrom-        , "ValidUntil"            =? _rsiValidUntil-        ]+        toQuery RequestSpotInstances'{..}+          = mconcat+              ["Action" =: ("RequestSpotInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "InstanceCount" =: _rsiInstanceCount,+               "ClientToken" =: _rsiClientToken,+               "AvailabilityZoneGroup" =: _rsiAvailabilityZoneGroup,+               "LaunchSpecification" =: _rsiLaunchSpecification,+               "ValidUntil" =: _rsiValidUntil,+               "LaunchGroup" =: _rsiLaunchGroup, "Type" =: _rsiType,+               "ValidFrom" =: _rsiValidFrom, "DryRun" =: _rsiDryRun,+               "SpotPrice" =: _rsiSpotPrice] -instance ToHeaders RequestSpotInstances+-- | Contains the output of RequestSpotInstances.+--+-- /See:/ 'requestSpotInstancesResponse' smart constructor.+data RequestSpotInstancesResponse = RequestSpotInstancesResponse'+    { _rsirsSpotInstanceRequests :: !(Maybe [SpotInstanceRequest])+    , _rsirsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest RequestSpotInstances where-    type Sv RequestSpotInstances = EC2-    type Rs RequestSpotInstances = RequestSpotInstancesResponse+-- | Creates a value of 'RequestSpotInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsirsSpotInstanceRequests'+--+-- * 'rsirsStatus'+requestSpotInstancesResponse+    :: Int -- ^ 'rsirsStatus'+    -> RequestSpotInstancesResponse+requestSpotInstancesResponse pStatus_ =+    RequestSpotInstancesResponse'+    { _rsirsSpotInstanceRequests = Nothing+    , _rsirsStatus = pStatus_+    } -    request  = post "RequestSpotInstances"-    response = xmlResponse+-- | One or more Spot Instance requests.+rsirsSpotInstanceRequests :: Lens' RequestSpotInstancesResponse [SpotInstanceRequest]+rsirsSpotInstanceRequests = lens _rsirsSpotInstanceRequests (\ s a -> s{_rsirsSpotInstanceRequests = a}) . _Default . _Coerce; -instance FromXML RequestSpotInstancesResponse where-    parseXML x = RequestSpotInstancesResponse-        <$> x .@? "spotInstanceRequestSet" .!@ mempty+-- | The response status code.+rsirsStatus :: Lens' RequestSpotInstancesResponse Int+rsirsStatus = lens _rsirsStatus (\ s a -> s{_rsirsStatus = a});
gen/Network/AWS/EC2/ResetImageAttribute.hs view
@@ -1,117 +1,120 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ResetImageAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Resets an attribute of an AMI to its default value.------ The productCodes attribute can't be reset.+-- Resets an attribute of an AMI to its default value. --+-- The productCodes attribute can\'t be reset. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetImageAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetImageAttribute.html AWS API Reference> for ResetImageAttribute. module Network.AWS.EC2.ResetImageAttribute     (-    -- * Request-      ResetImageAttribute-    -- ** Request constructor-    , resetImageAttribute-    -- ** Request lenses-    , ria1Attribute-    , ria1DryRun-    , ria1ImageId+    -- * Creating a Request+      resetImageAttribute+    , ResetImageAttribute+    -- * Request Lenses+    , resDryRun+    , resImageId+    , resAttribute -    -- * Response-    , ResetImageAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , resetImageAttributeResponse+    , ResetImageAttributeResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ResetImageAttribute = ResetImageAttribute-    { _ria1Attribute :: ResetImageAttributeName-    , _ria1DryRun    :: Maybe Bool-    , _ria1ImageId   :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'resetImageAttribute' smart constructor.+data ResetImageAttribute = ResetImageAttribute'+    { _resDryRun    :: !(Maybe Bool)+    , _resImageId   :: !Text+    , _resAttribute :: !ResetImageAttributeName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ResetImageAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ResetImageAttribute' with the minimum fields required to make a request. ----- * 'ria1Attribute' @::@ 'ResetImageAttributeName'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ria1DryRun' @::@ 'Maybe' 'Bool'+-- * 'resDryRun' ----- * 'ria1ImageId' @::@ 'Text'+-- * 'resImageId' ---resetImageAttribute :: Text -- ^ 'ria1ImageId'-                    -> ResetImageAttributeName -- ^ 'ria1Attribute'-                    -> ResetImageAttribute-resetImageAttribute p1 p2 = ResetImageAttribute-    { _ria1ImageId   = p1-    , _ria1Attribute = p2-    , _ria1DryRun    = Nothing+-- * 'resAttribute'+resetImageAttribute+    :: Text -- ^ 'resImageId'+    -> ResetImageAttributeName -- ^ 'resAttribute'+    -> ResetImageAttribute+resetImageAttribute pImageId_ pAttribute_ =+    ResetImageAttribute'+    { _resDryRun = Nothing+    , _resImageId = pImageId_+    , _resAttribute = pAttribute_     } --- | The attribute to reset (currently you can only reset the launch permission--- attribute).-ria1Attribute :: Lens' ResetImageAttribute ResetImageAttributeName-ria1Attribute = lens _ria1Attribute (\s a -> s { _ria1Attribute = 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'.-ria1DryRun :: Lens' ResetImageAttribute (Maybe Bool)-ria1DryRun = lens _ria1DryRun (\s a -> s { _ria1DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+resDryRun :: Lens' ResetImageAttribute (Maybe Bool)+resDryRun = lens _resDryRun (\ s a -> s{_resDryRun = a});  -- | The ID of the AMI.-ria1ImageId :: Lens' ResetImageAttribute Text-ria1ImageId = lens _ria1ImageId (\s a -> s { _ria1ImageId = a })+resImageId :: Lens' ResetImageAttribute Text+resImageId = lens _resImageId (\ s a -> s{_resImageId = a}); -data ResetImageAttributeResponse = ResetImageAttributeResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The attribute to reset (currently you can only reset the launch+-- permission attribute).+resAttribute :: Lens' ResetImageAttribute ResetImageAttributeName+resAttribute = lens _resAttribute (\ s a -> s{_resAttribute = a}); --- | 'ResetImageAttributeResponse' constructor.-resetImageAttributeResponse :: ResetImageAttributeResponse-resetImageAttributeResponse = ResetImageAttributeResponse+instance AWSRequest ResetImageAttribute where+        type Sv ResetImageAttribute = EC2+        type Rs ResetImageAttribute =+             ResetImageAttributeResponse+        request = post+        response = receiveNull ResetImageAttributeResponse' +instance ToHeaders ResetImageAttribute where+        toHeaders = const mempty+ instance ToPath ResetImageAttribute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ResetImageAttribute where-    toQuery ResetImageAttribute{..} = mconcat-        [ "Attribute" =? _ria1Attribute-        , "DryRun"    =? _ria1DryRun-        , "ImageId"   =? _ria1ImageId-        ]--instance ToHeaders ResetImageAttribute+        toQuery ResetImageAttribute'{..}+          = mconcat+              ["Action" =: ("ResetImageAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _resDryRun, "ImageId" =: _resImageId,+               "Attribute" =: _resAttribute] -instance AWSRequest ResetImageAttribute where-    type Sv ResetImageAttribute = EC2-    type Rs ResetImageAttribute = ResetImageAttributeResponse+-- | /See:/ 'resetImageAttributeResponse' smart constructor.+data ResetImageAttributeResponse =+    ResetImageAttributeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ResetImageAttribute"-    response = nullResponse ResetImageAttributeResponse+-- | Creates a value of 'ResetImageAttributeResponse' with the minimum fields required to make a request.+--+resetImageAttributeResponse+    :: ResetImageAttributeResponse+resetImageAttributeResponse = ResetImageAttributeResponse'
gen/Network/AWS/EC2/ResetInstanceAttribute.hs view
@@ -1,119 +1,129 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ResetInstanceAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Resets an attribute of an instance to its default value. To reset the 'kernel'--- or 'ramdisk', the instance must be in a stopped state. To reset the 'SourceDestCheck', the instance can be either running or stopped.+-- Resets an attribute of an instance to its default value. To reset the+-- 'kernel' or 'ramdisk', the instance must be in a stopped state. To reset+-- the 'SourceDestCheck', the instance can be either running or stopped. ----- The 'SourceDestCheck' attribute controls whether source/destination checking--- is enabled. The default value is 'true', which means checking is enabled. This--- value must be 'false' for a NAT 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/.+-- The 'SourceDestCheck' attribute controls whether source\/destination+-- checking is enabled. The default value is 'true', which means checking+-- is enabled. This value must be 'false' for a NAT 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetInstanceAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetInstanceAttribute.html AWS API Reference> for ResetInstanceAttribute. module Network.AWS.EC2.ResetInstanceAttribute     (-    -- * Request-      ResetInstanceAttribute-    -- ** Request constructor-    , resetInstanceAttribute-    -- ** Request lenses-    , riaAttribute+    -- * Creating a Request+      resetInstanceAttribute+    , ResetInstanceAttribute+    -- * Request Lenses     , riaDryRun     , riaInstanceId+    , riaAttribute -    -- * Response-    , ResetInstanceAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , resetInstanceAttributeResponse+    , ResetInstanceAttributeResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ResetInstanceAttribute = ResetInstanceAttribute-    { _riaAttribute  :: InstanceAttributeName-    , _riaDryRun     :: Maybe Bool-    , _riaInstanceId :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'resetInstanceAttribute' smart constructor.+data ResetInstanceAttribute = ResetInstanceAttribute'+    { _riaDryRun     :: !(Maybe Bool)+    , _riaInstanceId :: !Text+    , _riaAttribute  :: !InstanceAttributeName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ResetInstanceAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ResetInstanceAttribute' with the minimum fields required to make a request. ----- * 'riaAttribute' @::@ 'InstanceAttributeName'+-- Use one of the following lenses to modify other fields as desired: ----- * 'riaDryRun' @::@ 'Maybe' 'Bool'+-- * 'riaDryRun' ----- * 'riaInstanceId' @::@ 'Text'+-- * 'riaInstanceId' ---resetInstanceAttribute :: Text -- ^ 'riaInstanceId'-                       -> InstanceAttributeName -- ^ 'riaAttribute'-                       -> ResetInstanceAttribute-resetInstanceAttribute p1 p2 = ResetInstanceAttribute-    { _riaInstanceId = p1-    , _riaAttribute  = p2-    , _riaDryRun     = Nothing+-- * 'riaAttribute'+resetInstanceAttribute+    :: Text -- ^ 'riaInstanceId'+    -> InstanceAttributeName -- ^ 'riaAttribute'+    -> ResetInstanceAttribute+resetInstanceAttribute pInstanceId_ pAttribute_ =+    ResetInstanceAttribute'+    { _riaDryRun = Nothing+    , _riaInstanceId = pInstanceId_+    , _riaAttribute = pAttribute_     } --- | The attribute to reset.-riaAttribute :: Lens' ResetInstanceAttribute InstanceAttributeName-riaAttribute = lens _riaAttribute (\s a -> s { _riaAttribute = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. riaDryRun :: Lens' ResetInstanceAttribute (Maybe Bool)-riaDryRun = lens _riaDryRun (\s a -> s { _riaDryRun = a })+riaDryRun = lens _riaDryRun (\ s a -> s{_riaDryRun = a});  -- | The ID of the instance. riaInstanceId :: Lens' ResetInstanceAttribute Text-riaInstanceId = lens _riaInstanceId (\s a -> s { _riaInstanceId = a })+riaInstanceId = lens _riaInstanceId (\ s a -> s{_riaInstanceId = a}); -data ResetInstanceAttributeResponse = ResetInstanceAttributeResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The attribute to reset.+riaAttribute :: Lens' ResetInstanceAttribute InstanceAttributeName+riaAttribute = lens _riaAttribute (\ s a -> s{_riaAttribute = a}); --- | 'ResetInstanceAttributeResponse' constructor.-resetInstanceAttributeResponse :: ResetInstanceAttributeResponse-resetInstanceAttributeResponse = ResetInstanceAttributeResponse+instance AWSRequest ResetInstanceAttribute where+        type Sv ResetInstanceAttribute = EC2+        type Rs ResetInstanceAttribute =+             ResetInstanceAttributeResponse+        request = post+        response+          = receiveNull ResetInstanceAttributeResponse' +instance ToHeaders ResetInstanceAttribute where+        toHeaders = const mempty+ instance ToPath ResetInstanceAttribute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ResetInstanceAttribute where-    toQuery ResetInstanceAttribute{..} = mconcat-        [ "Attribute"  =? _riaAttribute-        , "DryRun"     =? _riaDryRun-        , "InstanceId" =? _riaInstanceId-        ]--instance ToHeaders ResetInstanceAttribute+        toQuery ResetInstanceAttribute'{..}+          = mconcat+              ["Action" =:+                 ("ResetInstanceAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _riaDryRun,+               "InstanceId" =: _riaInstanceId,+               "Attribute" =: _riaAttribute] -instance AWSRequest ResetInstanceAttribute where-    type Sv ResetInstanceAttribute = EC2-    type Rs ResetInstanceAttribute = ResetInstanceAttributeResponse+-- | /See:/ 'resetInstanceAttributeResponse' smart constructor.+data ResetInstanceAttributeResponse =+    ResetInstanceAttributeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ResetInstanceAttribute"-    response = nullResponse ResetInstanceAttributeResponse+-- | Creates a value of 'ResetInstanceAttributeResponse' with the minimum fields required to make a request.+--+resetInstanceAttributeResponse+    :: ResetInstanceAttributeResponse+resetInstanceAttributeResponse = ResetInstanceAttributeResponse'
gen/Network/AWS/EC2/ResetNetworkInterfaceAttribute.hs view
@@ -1,115 +1,123 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ResetNetworkInterfaceAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Resets a network interface attribute. You can specify only one attribute at a--- time.+-- Resets a network interface attribute. You can specify only one attribute+-- at a time. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetNetworkInterfaceAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetNetworkInterfaceAttribute.html AWS API Reference> for ResetNetworkInterfaceAttribute. module Network.AWS.EC2.ResetNetworkInterfaceAttribute     (-    -- * Request-      ResetNetworkInterfaceAttribute-    -- ** Request constructor-    , resetNetworkInterfaceAttribute-    -- ** Request lenses+    -- * Creating a Request+      resetNetworkInterfaceAttribute+    , ResetNetworkInterfaceAttribute+    -- * Request Lenses+    , rniaSourceDestCheck     , rniaDryRun     , rniaNetworkInterfaceId-    , rniaSourceDestCheck -    -- * Response-    , ResetNetworkInterfaceAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , resetNetworkInterfaceAttributeResponse+    , ResetNetworkInterfaceAttributeResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ResetNetworkInterfaceAttribute = ResetNetworkInterfaceAttribute-    { _rniaDryRun             :: Maybe Bool-    , _rniaNetworkInterfaceId :: Text-    , _rniaSourceDestCheck    :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'resetNetworkInterfaceAttribute' smart constructor.+data ResetNetworkInterfaceAttribute = ResetNetworkInterfaceAttribute'+    { _rniaSourceDestCheck    :: !(Maybe Text)+    , _rniaDryRun             :: !(Maybe Bool)+    , _rniaNetworkInterfaceId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ResetNetworkInterfaceAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ResetNetworkInterfaceAttribute' with the minimum fields required to make a request. ----- * 'rniaDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rniaNetworkInterfaceId' @::@ 'Text'+-- * 'rniaSourceDestCheck' ----- * 'rniaSourceDestCheck' @::@ 'Maybe' 'Text'+-- * 'rniaDryRun' ---resetNetworkInterfaceAttribute :: Text -- ^ 'rniaNetworkInterfaceId'-                               -> ResetNetworkInterfaceAttribute-resetNetworkInterfaceAttribute p1 = ResetNetworkInterfaceAttribute-    { _rniaNetworkInterfaceId = p1-    , _rniaDryRun             = Nothing-    , _rniaSourceDestCheck    = Nothing+-- * 'rniaNetworkInterfaceId'+resetNetworkInterfaceAttribute+    :: Text -- ^ 'rniaNetworkInterfaceId'+    -> ResetNetworkInterfaceAttribute+resetNetworkInterfaceAttribute pNetworkInterfaceId_ =+    ResetNetworkInterfaceAttribute'+    { _rniaSourceDestCheck = Nothing+    , _rniaDryRun = Nothing+    , _rniaNetworkInterfaceId = pNetworkInterfaceId_     } +-- | The source\/destination checking attribute. Resets the value to 'true'.+rniaSourceDestCheck :: Lens' ResetNetworkInterfaceAttribute (Maybe Text)+rniaSourceDestCheck = lens _rniaSourceDestCheck (\ s a -> s{_rniaSourceDestCheck = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. rniaDryRun :: Lens' ResetNetworkInterfaceAttribute (Maybe Bool)-rniaDryRun = lens _rniaDryRun (\s a -> s { _rniaDryRun = a })+rniaDryRun = lens _rniaDryRun (\ s a -> s{_rniaDryRun = a});  -- | The ID of the network interface. rniaNetworkInterfaceId :: Lens' ResetNetworkInterfaceAttribute Text-rniaNetworkInterfaceId =-    lens _rniaNetworkInterfaceId (\s a -> s { _rniaNetworkInterfaceId = a })---- | The source/destination checking attribute. Resets the value to 'true'.-rniaSourceDestCheck :: Lens' ResetNetworkInterfaceAttribute (Maybe Text)-rniaSourceDestCheck =-    lens _rniaSourceDestCheck (\s a -> s { _rniaSourceDestCheck = a })+rniaNetworkInterfaceId = lens _rniaNetworkInterfaceId (\ s a -> s{_rniaNetworkInterfaceId = a}); -data ResetNetworkInterfaceAttributeResponse = ResetNetworkInterfaceAttributeResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest ResetNetworkInterfaceAttribute+         where+        type Sv ResetNetworkInterfaceAttribute = EC2+        type Rs ResetNetworkInterfaceAttribute =+             ResetNetworkInterfaceAttributeResponse+        request = post+        response+          = receiveNull ResetNetworkInterfaceAttributeResponse' --- | 'ResetNetworkInterfaceAttributeResponse' constructor.-resetNetworkInterfaceAttributeResponse :: ResetNetworkInterfaceAttributeResponse-resetNetworkInterfaceAttributeResponse = ResetNetworkInterfaceAttributeResponse+instance ToHeaders ResetNetworkInterfaceAttribute+         where+        toHeaders = const mempty  instance ToPath ResetNetworkInterfaceAttribute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ResetNetworkInterfaceAttribute where-    toQuery ResetNetworkInterfaceAttribute{..} = mconcat-        [ "DryRun"             =? _rniaDryRun-        , "NetworkInterfaceId" =? _rniaNetworkInterfaceId-        , "SourceDestCheck"    =? _rniaSourceDestCheck-        ]--instance ToHeaders ResetNetworkInterfaceAttribute+        toQuery ResetNetworkInterfaceAttribute'{..}+          = mconcat+              ["Action" =:+                 ("ResetNetworkInterfaceAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "SourceDestCheck" =: _rniaSourceDestCheck,+               "DryRun" =: _rniaDryRun,+               "NetworkInterfaceId" =: _rniaNetworkInterfaceId] -instance AWSRequest ResetNetworkInterfaceAttribute where-    type Sv ResetNetworkInterfaceAttribute = EC2-    type Rs ResetNetworkInterfaceAttribute = ResetNetworkInterfaceAttributeResponse+-- | /See:/ 'resetNetworkInterfaceAttributeResponse' smart constructor.+data ResetNetworkInterfaceAttributeResponse =+    ResetNetworkInterfaceAttributeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ResetNetworkInterfaceAttribute"-    response = nullResponse ResetNetworkInterfaceAttributeResponse+-- | Creates a value of 'ResetNetworkInterfaceAttributeResponse' with the minimum fields required to make a request.+--+resetNetworkInterfaceAttributeResponse+    :: ResetNetworkInterfaceAttributeResponse+resetNetworkInterfaceAttributeResponse =+    ResetNetworkInterfaceAttributeResponse'
gen/Network/AWS/EC2/ResetSnapshotAttribute.hs view
@@ -1,117 +1,125 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ResetSnapshotAttribute--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Resets permission settings for the specified snapshot.+-- Resets permission settings for the specified snapshot. ----- For more information on modifying snapshot permissions, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html Sharing Snapshots>+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetSnapshotAttribute.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ResetSnapshotAttribute.html AWS API Reference> for ResetSnapshotAttribute. module Network.AWS.EC2.ResetSnapshotAttribute     (-    -- * Request-      ResetSnapshotAttribute-    -- ** Request constructor-    , resetSnapshotAttribute-    -- ** Request lenses-    , rsaAttribute+    -- * Creating a Request+      resetSnapshotAttribute+    , ResetSnapshotAttribute+    -- * Request Lenses     , rsaDryRun     , rsaSnapshotId+    , rsaAttribute -    -- * Response-    , ResetSnapshotAttributeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , resetSnapshotAttributeResponse+    , ResetSnapshotAttributeResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ResetSnapshotAttribute = ResetSnapshotAttribute-    { _rsaAttribute  :: SnapshotAttributeName-    , _rsaDryRun     :: Maybe Bool-    , _rsaSnapshotId :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'resetSnapshotAttribute' smart constructor.+data ResetSnapshotAttribute = ResetSnapshotAttribute'+    { _rsaDryRun     :: !(Maybe Bool)+    , _rsaSnapshotId :: !Text+    , _rsaAttribute  :: !SnapshotAttributeName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ResetSnapshotAttribute' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ResetSnapshotAttribute' with the minimum fields required to make a request. ----- * 'rsaAttribute' @::@ 'SnapshotAttributeName'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rsaDryRun' @::@ 'Maybe' 'Bool'+-- * 'rsaDryRun' ----- * 'rsaSnapshotId' @::@ 'Text'+-- * 'rsaSnapshotId' ---resetSnapshotAttribute :: Text -- ^ 'rsaSnapshotId'-                       -> SnapshotAttributeName -- ^ 'rsaAttribute'-                       -> ResetSnapshotAttribute-resetSnapshotAttribute p1 p2 = ResetSnapshotAttribute-    { _rsaSnapshotId = p1-    , _rsaAttribute  = p2-    , _rsaDryRun     = Nothing+-- * 'rsaAttribute'+resetSnapshotAttribute+    :: Text -- ^ 'rsaSnapshotId'+    -> SnapshotAttributeName -- ^ 'rsaAttribute'+    -> ResetSnapshotAttribute+resetSnapshotAttribute pSnapshotId_ pAttribute_ =+    ResetSnapshotAttribute'+    { _rsaDryRun = Nothing+    , _rsaSnapshotId = pSnapshotId_+    , _rsaAttribute = pAttribute_     } --- | The attribute to reset (currently only the attribute for permission to create--- volumes can be reset).-rsaAttribute :: Lens' ResetSnapshotAttribute SnapshotAttributeName-rsaAttribute = lens _rsaAttribute (\s a -> s { _rsaAttribute = 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. rsaDryRun :: Lens' ResetSnapshotAttribute (Maybe Bool)-rsaDryRun = lens _rsaDryRun (\s a -> s { _rsaDryRun = a })+rsaDryRun = lens _rsaDryRun (\ s a -> s{_rsaDryRun = a});  -- | The ID of the snapshot. rsaSnapshotId :: Lens' ResetSnapshotAttribute Text-rsaSnapshotId = lens _rsaSnapshotId (\s a -> s { _rsaSnapshotId = a })+rsaSnapshotId = lens _rsaSnapshotId (\ s a -> s{_rsaSnapshotId = a}); -data ResetSnapshotAttributeResponse = ResetSnapshotAttributeResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The attribute to reset. Currently, only the attribute for permission to+-- create volumes can be reset.+rsaAttribute :: Lens' ResetSnapshotAttribute SnapshotAttributeName+rsaAttribute = lens _rsaAttribute (\ s a -> s{_rsaAttribute = a}); --- | 'ResetSnapshotAttributeResponse' constructor.-resetSnapshotAttributeResponse :: ResetSnapshotAttributeResponse-resetSnapshotAttributeResponse = ResetSnapshotAttributeResponse+instance AWSRequest ResetSnapshotAttribute where+        type Sv ResetSnapshotAttribute = EC2+        type Rs ResetSnapshotAttribute =+             ResetSnapshotAttributeResponse+        request = post+        response+          = receiveNull ResetSnapshotAttributeResponse' +instance ToHeaders ResetSnapshotAttribute where+        toHeaders = const mempty+ instance ToPath ResetSnapshotAttribute where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ResetSnapshotAttribute where-    toQuery ResetSnapshotAttribute{..} = mconcat-        [ "Attribute"  =? _rsaAttribute-        , "DryRun"     =? _rsaDryRun-        , "SnapshotId" =? _rsaSnapshotId-        ]--instance ToHeaders ResetSnapshotAttribute+        toQuery ResetSnapshotAttribute'{..}+          = mconcat+              ["Action" =:+                 ("ResetSnapshotAttribute" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _rsaDryRun,+               "SnapshotId" =: _rsaSnapshotId,+               "Attribute" =: _rsaAttribute] -instance AWSRequest ResetSnapshotAttribute where-    type Sv ResetSnapshotAttribute = EC2-    type Rs ResetSnapshotAttribute = ResetSnapshotAttributeResponse+-- | /See:/ 'resetSnapshotAttributeResponse' smart constructor.+data ResetSnapshotAttributeResponse =+    ResetSnapshotAttributeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ResetSnapshotAttribute"-    response = nullResponse ResetSnapshotAttributeResponse+-- | Creates a value of 'ResetSnapshotAttributeResponse' with the minimum fields required to make a request.+--+resetSnapshotAttributeResponse+    :: ResetSnapshotAttributeResponse+resetSnapshotAttributeResponse = ResetSnapshotAttributeResponse'
gen/Network/AWS/EC2/RestoreAddressToClassic.hs view
@@ -1,133 +1,136 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.RestoreAddressToClassic--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Restores an Elastic IP address that was previously moved to the EC2-VPC+-- Restores an Elastic IP address that was previously moved to the EC2-VPC -- 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. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RestoreAddressToClassic.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RestoreAddressToClassic.html AWS API Reference> for RestoreAddressToClassic. module Network.AWS.EC2.RestoreAddressToClassic     (-    -- * Request-      RestoreAddressToClassic-    -- ** Request constructor-    , restoreAddressToClassic-    -- ** Request lenses+    -- * Creating a Request+      restoreAddressToClassic+    , RestoreAddressToClassic+    -- * Request Lenses     , ratcDryRun-    , ratcPublicIp+    , ratcPublicIP -    -- * Response-    , RestoreAddressToClassicResponse-    -- ** Response constructor+    -- * Destructuring the Response     , restoreAddressToClassicResponse-    -- ** Response lenses-    , ratcrPublicIp-    , ratcrStatus+    , RestoreAddressToClassicResponse+    -- * Response Lenses+    , ratcrsPublicIP+    , ratcrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data RestoreAddressToClassic = RestoreAddressToClassic-    { _ratcDryRun   :: Maybe Bool-    , _ratcPublicIp :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'restoreAddressToClassic' smart constructor.+data RestoreAddressToClassic = RestoreAddressToClassic'+    { _ratcDryRun   :: !(Maybe Bool)+    , _ratcPublicIP :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RestoreAddressToClassic' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RestoreAddressToClassic' with the minimum fields required to make a request. ----- * 'ratcDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ratcPublicIp' @::@ 'Text'+-- * 'ratcDryRun' ---restoreAddressToClassic :: Text -- ^ 'ratcPublicIp'-                        -> RestoreAddressToClassic-restoreAddressToClassic p1 = RestoreAddressToClassic-    { _ratcPublicIp = p1-    , _ratcDryRun   = Nothing+-- * 'ratcPublicIP'+restoreAddressToClassic+    :: Text -- ^ 'ratcPublicIP'+    -> RestoreAddressToClassic+restoreAddressToClassic pPublicIP_ =+    RestoreAddressToClassic'+    { _ratcDryRun = Nothing+    , _ratcPublicIP = pPublicIP_     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. ratcDryRun :: Lens' RestoreAddressToClassic (Maybe Bool)-ratcDryRun = lens _ratcDryRun (\s a -> s { _ratcDryRun = a })+ratcDryRun = lens _ratcDryRun (\ s a -> s{_ratcDryRun = a});  -- | The Elastic IP address.-ratcPublicIp :: Lens' RestoreAddressToClassic Text-ratcPublicIp = lens _ratcPublicIp (\s a -> s { _ratcPublicIp = a })--data RestoreAddressToClassicResponse = RestoreAddressToClassicResponse-    { _ratcrPublicIp :: Maybe Text-    , _ratcrStatus   :: Maybe AddressStatus-    } deriving (Eq, Read, Show)---- | 'RestoreAddressToClassicResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ratcrPublicIp' @::@ 'Maybe' 'Text'------ * 'ratcrStatus' @::@ 'Maybe' 'AddressStatus'----restoreAddressToClassicResponse :: RestoreAddressToClassicResponse-restoreAddressToClassicResponse = RestoreAddressToClassicResponse-    { _ratcrStatus   = Nothing-    , _ratcrPublicIp = Nothing-    }+ratcPublicIP :: Lens' RestoreAddressToClassic Text+ratcPublicIP = lens _ratcPublicIP (\ s a -> s{_ratcPublicIP = a}); --- | The Elastic IP address.-ratcrPublicIp :: Lens' RestoreAddressToClassicResponse (Maybe Text)-ratcrPublicIp = lens _ratcrPublicIp (\s a -> s { _ratcrPublicIp = a })+instance AWSRequest RestoreAddressToClassic where+        type Sv RestoreAddressToClassic = EC2+        type Rs RestoreAddressToClassic =+             RestoreAddressToClassicResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 RestoreAddressToClassicResponse' <$>+                   (x .@? "publicIp") <*> (pure (fromEnum s))) --- | The move status for the IP address.-ratcrStatus :: Lens' RestoreAddressToClassicResponse (Maybe AddressStatus)-ratcrStatus = lens _ratcrStatus (\s a -> s { _ratcrStatus = a })+instance ToHeaders RestoreAddressToClassic where+        toHeaders = const mempty  instance ToPath RestoreAddressToClassic where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RestoreAddressToClassic where-    toQuery RestoreAddressToClassic{..} = mconcat-        [ "DryRun"   =? _ratcDryRun-        , "PublicIp" =? _ratcPublicIp-        ]+        toQuery RestoreAddressToClassic'{..}+          = mconcat+              ["Action" =:+                 ("RestoreAddressToClassic" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _ratcDryRun, "PublicIp" =: _ratcPublicIP] -instance ToHeaders RestoreAddressToClassic+-- | /See:/ 'restoreAddressToClassicResponse' smart constructor.+data RestoreAddressToClassicResponse = RestoreAddressToClassicResponse'+    { _ratcrsPublicIP :: !(Maybe Text)+    , _ratcrsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest RestoreAddressToClassic where-    type Sv RestoreAddressToClassic = EC2-    type Rs RestoreAddressToClassic = RestoreAddressToClassicResponse+-- | Creates a value of 'RestoreAddressToClassicResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ratcrsPublicIP'+--+-- * 'ratcrsStatus'+restoreAddressToClassicResponse+    :: Int -- ^ 'ratcrsStatus'+    -> RestoreAddressToClassicResponse+restoreAddressToClassicResponse pStatus_ =+    RestoreAddressToClassicResponse'+    { _ratcrsPublicIP = Nothing+    , _ratcrsStatus = pStatus_+    } -    request  = post "RestoreAddressToClassic"-    response = xmlResponse+-- | The Elastic IP address.+ratcrsPublicIP :: Lens' RestoreAddressToClassicResponse (Maybe Text)+ratcrsPublicIP = lens _ratcrsPublicIP (\ s a -> s{_ratcrsPublicIP = a}); -instance FromXML RestoreAddressToClassicResponse where-    parseXML x = RestoreAddressToClassicResponse-        <$> x .@? "publicIp"-        <*> x .@? "status"+-- | The response status code.+ratcrsStatus :: Lens' RestoreAddressToClassicResponse Int+ratcrsStatus = lens _ratcrsStatus (\ s a -> s{_ratcrsStatus = a});
gen/Network/AWS/EC2/RevokeSecurityGroupEgress.hs view
@@ -1,195 +1,200 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.RevokeSecurityGroupEgress--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Removes one or more egress rules from a security group for EC2-VPC. The--- values that you specify in the revoke request (for example, ports) must match--- the existing rule's values for the rule to be revoked.+-- Removes one or more egress rules from a security group for EC2-VPC. The+-- values that you specify in the revoke request (for example, ports) must+-- match the existing rule\'s values for the rule to be revoked. -- -- Each rule consists of the protocol and the CIDR range or source security--- group. For the TCP and UDP protocols, you must also specify the destination--- port or range of ports. For the ICMP protocol, you must also specify the ICMP--- type and code.+-- group. For the TCP and UDP protocols, you must also specify the+-- destination port or range of ports. For the ICMP protocol, you must also+-- specify the ICMP type and code. -- -- Rule changes are propagated to instances within the security group as -- quickly as possible. However, a small delay might occur. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RevokeSecurityGroupEgress.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RevokeSecurityGroupEgress.html AWS API Reference> for RevokeSecurityGroupEgress. module Network.AWS.EC2.RevokeSecurityGroupEgress     (-    -- * Request-      RevokeSecurityGroupEgress-    -- ** Request constructor-    , revokeSecurityGroupEgress-    -- ** Request lenses-    , rsgeCidrIp-    , rsgeDryRun+    -- * Creating a Request+      revokeSecurityGroupEgress+    , RevokeSecurityGroupEgress+    -- * Request Lenses     , rsgeFromPort-    , rsgeGroupId-    , rsgeIpPermissions-    , rsgeIpProtocol-    , rsgeSourceSecurityGroupName-    , rsgeSourceSecurityGroupOwnerId+    , rsgeIPPermissions+    , rsgeIPProtocol     , rsgeToPort+    , rsgeCIdRIP+    , rsgeSourceSecurityGroupOwnerId+    , rsgeSourceSecurityGroupName+    , rsgeDryRun+    , rsgeGroupId -    -- * Response-    , RevokeSecurityGroupEgressResponse-    -- ** Response constructor+    -- * Destructuring the Response     , revokeSecurityGroupEgressResponse+    , RevokeSecurityGroupEgressResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data RevokeSecurityGroupEgress = RevokeSecurityGroupEgress-    { _rsgeCidrIp                     :: Maybe Text-    , _rsgeDryRun                     :: Maybe Bool-    , _rsgeFromPort                   :: Maybe Int-    , _rsgeGroupId                    :: Text-    , _rsgeIpPermissions              :: List "item" IpPermission-    , _rsgeIpProtocol                 :: Maybe Text-    , _rsgeSourceSecurityGroupName    :: Maybe Text-    , _rsgeSourceSecurityGroupOwnerId :: Maybe Text-    , _rsgeToPort                     :: Maybe Int-    } deriving (Eq, Read, Show)+-- | /See:/ 'revokeSecurityGroupEgress' smart constructor.+data RevokeSecurityGroupEgress = RevokeSecurityGroupEgress'+    { _rsgeFromPort                   :: !(Maybe Int)+    , _rsgeIPPermissions              :: !(Maybe [IPPermission])+    , _rsgeIPProtocol                 :: !(Maybe Text)+    , _rsgeToPort                     :: !(Maybe Int)+    , _rsgeCIdRIP                     :: !(Maybe Text)+    , _rsgeSourceSecurityGroupOwnerId :: !(Maybe Text)+    , _rsgeSourceSecurityGroupName    :: !(Maybe Text)+    , _rsgeDryRun                     :: !(Maybe Bool)+    , _rsgeGroupId                    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RevokeSecurityGroupEgress' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RevokeSecurityGroupEgress' with the minimum fields required to make a request. ----- * 'rsgeCidrIp' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rsgeDryRun' @::@ 'Maybe' 'Bool'+-- * 'rsgeFromPort' ----- * 'rsgeFromPort' @::@ 'Maybe' 'Int'+-- * 'rsgeIPPermissions' ----- * 'rsgeGroupId' @::@ 'Text'+-- * 'rsgeIPProtocol' ----- * 'rsgeIpPermissions' @::@ ['IpPermission']+-- * 'rsgeToPort' ----- * 'rsgeIpProtocol' @::@ 'Maybe' 'Text'+-- * 'rsgeCIdRIP' ----- * 'rsgeSourceSecurityGroupName' @::@ 'Maybe' 'Text'+-- * 'rsgeSourceSecurityGroupOwnerId' ----- * 'rsgeSourceSecurityGroupOwnerId' @::@ 'Maybe' 'Text'+-- * 'rsgeSourceSecurityGroupName' ----- * 'rsgeToPort' @::@ 'Maybe' 'Int'+-- * 'rsgeDryRun' ---revokeSecurityGroupEgress :: Text -- ^ 'rsgeGroupId'-                          -> RevokeSecurityGroupEgress-revokeSecurityGroupEgress p1 = RevokeSecurityGroupEgress-    { _rsgeGroupId                    = p1-    , _rsgeDryRun                     = Nothing-    , _rsgeSourceSecurityGroupName    = Nothing+-- * 'rsgeGroupId'+revokeSecurityGroupEgress+    :: Text -- ^ 'rsgeGroupId'+    -> RevokeSecurityGroupEgress+revokeSecurityGroupEgress pGroupId_ =+    RevokeSecurityGroupEgress'+    { _rsgeFromPort = Nothing+    , _rsgeIPPermissions = Nothing+    , _rsgeIPProtocol = Nothing+    , _rsgeToPort = Nothing+    , _rsgeCIdRIP = Nothing     , _rsgeSourceSecurityGroupOwnerId = Nothing-    , _rsgeIpProtocol                 = Nothing-    , _rsgeFromPort                   = Nothing-    , _rsgeToPort                     = Nothing-    , _rsgeCidrIp                     = Nothing-    , _rsgeIpPermissions              = mempty+    , _rsgeSourceSecurityGroupName = Nothing+    , _rsgeDryRun = Nothing+    , _rsgeGroupId = pGroupId_     } --- | The CIDR IP address range. You can't specify this parameter when specifying a--- source security group.-rsgeCidrIp :: Lens' RevokeSecurityGroupEgress (Maybe Text)-rsgeCidrIp = lens _rsgeCidrIp (\s a -> s { _rsgeCidrIp = 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'.-rsgeDryRun :: Lens' RevokeSecurityGroupEgress (Maybe Bool)-rsgeDryRun = lens _rsgeDryRun (\s a -> s { _rsgeDryRun = a })- -- | The start of port range for the TCP and UDP protocols, or an ICMP type -- number. For the ICMP type number, use '-1' to specify all ICMP types. rsgeFromPort :: Lens' RevokeSecurityGroupEgress (Maybe Int)-rsgeFromPort = lens _rsgeFromPort (\s a -> s { _rsgeFromPort = a })+rsgeFromPort = lens _rsgeFromPort (\ s a -> s{_rsgeFromPort = a}); --- | The ID of the security group.-rsgeGroupId :: Lens' RevokeSecurityGroupEgress Text-rsgeGroupId = lens _rsgeGroupId (\s a -> s { _rsgeGroupId = a })+-- | A set of IP permissions. You can\'t specify a destination security group+-- and a CIDR IP address range.+rsgeIPPermissions :: Lens' RevokeSecurityGroupEgress [IPPermission]+rsgeIPPermissions = lens _rsgeIPPermissions (\ s a -> s{_rsgeIPPermissions = a}) . _Default . _Coerce; --- | A set of IP permissions. You can't specify a destination security group and a--- CIDR IP address range.-rsgeIpPermissions :: Lens' RevokeSecurityGroupEgress [IpPermission]-rsgeIpPermissions =-    lens _rsgeIpPermissions (\s a -> s { _rsgeIpPermissions = a })-        . _List+-- | The IP protocol name ('tcp', 'udp', 'icmp') or number (see+-- <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>).+-- Use '-1' to specify all.+rsgeIPProtocol :: Lens' RevokeSecurityGroupEgress (Maybe Text)+rsgeIPProtocol = lens _rsgeIPProtocol (\ s a -> s{_rsgeIPProtocol = a}); --- | The IP protocol name ('tcp', 'udp', 'icmp') or number (see <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>). Use '-1'--- to specify all.-rsgeIpProtocol :: Lens' RevokeSecurityGroupEgress (Maybe Text)-rsgeIpProtocol = lens _rsgeIpProtocol (\s a -> s { _rsgeIpProtocol = a })+-- | The end of port range for the TCP and UDP protocols, or an ICMP code+-- number. For the ICMP code number, use '-1' to specify all ICMP codes for+-- the ICMP type.+rsgeToPort :: Lens' RevokeSecurityGroupEgress (Maybe Int)+rsgeToPort = lens _rsgeToPort (\ s a -> s{_rsgeToPort = a}); --- | [EC2-Classic, default VPC] The name of the destination security group. You--- can't specify a destination security group and a CIDR IP address range.-rsgeSourceSecurityGroupName :: Lens' RevokeSecurityGroupEgress (Maybe Text)-rsgeSourceSecurityGroupName =-    lens _rsgeSourceSecurityGroupName-        (\s a -> s { _rsgeSourceSecurityGroupName = a })+-- | The CIDR IP address range. You can\'t specify this parameter when+-- specifying a source security group.+rsgeCIdRIP :: Lens' RevokeSecurityGroupEgress (Maybe Text)+rsgeCIdRIP = lens _rsgeCIdRIP (\ s a -> s{_rsgeCIdRIP = a}); --- | The ID of the destination security group. You can't specify a destination--- security group and a CIDR IP address range.+-- | The AWS account number for a destination security group. To revoke+-- outbound access to a destination security group, we recommend that you+-- use a set of IP permissions instead. rsgeSourceSecurityGroupOwnerId :: Lens' RevokeSecurityGroupEgress (Maybe Text)-rsgeSourceSecurityGroupOwnerId =-    lens _rsgeSourceSecurityGroupOwnerId-        (\s a -> s { _rsgeSourceSecurityGroupOwnerId = a })+rsgeSourceSecurityGroupOwnerId = lens _rsgeSourceSecurityGroupOwnerId (\ s a -> s{_rsgeSourceSecurityGroupOwnerId = a}); --- | The end of port range for the TCP and UDP protocols, or an ICMP code number.--- For the ICMP code number, use '-1' to specify all ICMP codes for the ICMP type.-rsgeToPort :: Lens' RevokeSecurityGroupEgress (Maybe Int)-rsgeToPort = lens _rsgeToPort (\s a -> s { _rsgeToPort = a })+-- | The name of a destination security group. To revoke outbound access to a+-- destination security group, we recommend that you use a set of IP+-- permissions instead.+rsgeSourceSecurityGroupName :: Lens' RevokeSecurityGroupEgress (Maybe Text)+rsgeSourceSecurityGroupName = lens _rsgeSourceSecurityGroupName (\ s a -> s{_rsgeSourceSecurityGroupName = a}); -data RevokeSecurityGroupEgressResponse = RevokeSecurityGroupEgressResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | 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'.+rsgeDryRun :: Lens' RevokeSecurityGroupEgress (Maybe Bool)+rsgeDryRun = lens _rsgeDryRun (\ s a -> s{_rsgeDryRun = a}); --- | 'RevokeSecurityGroupEgressResponse' constructor.-revokeSecurityGroupEgressResponse :: RevokeSecurityGroupEgressResponse-revokeSecurityGroupEgressResponse = RevokeSecurityGroupEgressResponse+-- | The ID of the security group.+rsgeGroupId :: Lens' RevokeSecurityGroupEgress Text+rsgeGroupId = lens _rsgeGroupId (\ s a -> s{_rsgeGroupId = a}); +instance AWSRequest RevokeSecurityGroupEgress where+        type Sv RevokeSecurityGroupEgress = EC2+        type Rs RevokeSecurityGroupEgress =+             RevokeSecurityGroupEgressResponse+        request = post+        response+          = receiveNull RevokeSecurityGroupEgressResponse'++instance ToHeaders RevokeSecurityGroupEgress where+        toHeaders = const mempty+ instance ToPath RevokeSecurityGroupEgress where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RevokeSecurityGroupEgress where-    toQuery RevokeSecurityGroupEgress{..} = mconcat-        [ "CidrIp"                     =? _rsgeCidrIp-        , "DryRun"                     =? _rsgeDryRun-        , "FromPort"                   =? _rsgeFromPort-        , "GroupId"                    =? _rsgeGroupId-        , "IpPermissions"              `toQueryList` _rsgeIpPermissions-        , "IpProtocol"                 =? _rsgeIpProtocol-        , "SourceSecurityGroupName"    =? _rsgeSourceSecurityGroupName-        , "SourceSecurityGroupOwnerId" =? _rsgeSourceSecurityGroupOwnerId-        , "ToPort"                     =? _rsgeToPort-        ]--instance ToHeaders RevokeSecurityGroupEgress+        toQuery RevokeSecurityGroupEgress'{..}+          = mconcat+              ["Action" =:+                 ("RevokeSecurityGroupEgress" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "FromPort" =: _rsgeFromPort,+               toQuery (toQueryList "item" <$> _rsgeIPPermissions),+               "IpProtocol" =: _rsgeIPProtocol,+               "ToPort" =: _rsgeToPort, "CidrIp" =: _rsgeCIdRIP,+               "SourceSecurityGroupOwnerId" =:+                 _rsgeSourceSecurityGroupOwnerId,+               "SourceSecurityGroupName" =:+                 _rsgeSourceSecurityGroupName,+               "DryRun" =: _rsgeDryRun, "GroupId" =: _rsgeGroupId] -instance AWSRequest RevokeSecurityGroupEgress where-    type Sv RevokeSecurityGroupEgress = EC2-    type Rs RevokeSecurityGroupEgress = RevokeSecurityGroupEgressResponse+-- | /See:/ 'revokeSecurityGroupEgressResponse' smart constructor.+data RevokeSecurityGroupEgressResponse =+    RevokeSecurityGroupEgressResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "RevokeSecurityGroupEgress"-    response = nullResponse RevokeSecurityGroupEgressResponse+-- | Creates a value of 'RevokeSecurityGroupEgressResponse' with the minimum fields required to make a request.+--+revokeSecurityGroupEgressResponse+    :: RevokeSecurityGroupEgressResponse+revokeSecurityGroupEgressResponse = RevokeSecurityGroupEgressResponse'
gen/Network/AWS/EC2/RevokeSecurityGroupIngress.hs view
@@ -1,204 +1,216 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.RevokeSecurityGroupIngress--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Removes one or more ingress rules from a security group. The values that you--- specify in the revoke request (for example, ports) must match the existing--- rule's values for the rule to be removed.+-- Removes one or more ingress rules from a security group. The values that+-- you specify in the revoke request (for example, ports) must match the+-- existing rule\'s values for the rule to be removed. -- -- Each rule consists of the protocol and the CIDR range or source security--- group. For the TCP and UDP protocols, you must also specify the destination--- port or range of ports. For the ICMP protocol, you must also specify the ICMP--- type and code.+-- group. For the TCP and UDP protocols, you must also specify the+-- destination port or range of ports. For the ICMP protocol, you must also+-- specify the ICMP type and code. -- -- Rule changes are propagated to instances within the security group as -- quickly as possible. However, a small delay might occur. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RevokeSecurityGroupIngress.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RevokeSecurityGroupIngress.html AWS API Reference> for RevokeSecurityGroupIngress. module Network.AWS.EC2.RevokeSecurityGroupIngress     (-    -- * Request-      RevokeSecurityGroupIngress-    -- ** Request constructor-    , revokeSecurityGroupIngress-    -- ** Request lenses-    , rsgiCidrIp-    , rsgiDryRun+    -- * Creating a Request+      revokeSecurityGroupIngress+    , RevokeSecurityGroupIngress+    -- * Request Lenses     , rsgiFromPort+    , rsgiIPPermissions+    , rsgiIPProtocol     , rsgiGroupId+    , rsgiToPort+    , rsgiCIdRIP     , rsgiGroupName-    , rsgiIpPermissions-    , rsgiIpProtocol-    , rsgiSourceSecurityGroupName     , rsgiSourceSecurityGroupOwnerId-    , rsgiToPort+    , rsgiSourceSecurityGroupName+    , rsgiDryRun -    -- * Response-    , RevokeSecurityGroupIngressResponse-    -- ** Response constructor+    -- * Destructuring the Response     , revokeSecurityGroupIngressResponse+    , RevokeSecurityGroupIngressResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data RevokeSecurityGroupIngress = RevokeSecurityGroupIngress-    { _rsgiCidrIp                     :: Maybe Text-    , _rsgiDryRun                     :: Maybe Bool-    , _rsgiFromPort                   :: Maybe Int-    , _rsgiGroupId                    :: Maybe Text-    , _rsgiGroupName                  :: Maybe Text-    , _rsgiIpPermissions              :: List "item" IpPermission-    , _rsgiIpProtocol                 :: Maybe Text-    , _rsgiSourceSecurityGroupName    :: Maybe Text-    , _rsgiSourceSecurityGroupOwnerId :: Maybe Text-    , _rsgiToPort                     :: Maybe Int-    } deriving (Eq, Read, Show)+-- | /See:/ 'revokeSecurityGroupIngress' smart constructor.+data RevokeSecurityGroupIngress = RevokeSecurityGroupIngress'+    { _rsgiFromPort                   :: !(Maybe Int)+    , _rsgiIPPermissions              :: !(Maybe [IPPermission])+    , _rsgiIPProtocol                 :: !(Maybe Text)+    , _rsgiGroupId                    :: !(Maybe Text)+    , _rsgiToPort                     :: !(Maybe Int)+    , _rsgiCIdRIP                     :: !(Maybe Text)+    , _rsgiGroupName                  :: !(Maybe Text)+    , _rsgiSourceSecurityGroupOwnerId :: !(Maybe Text)+    , _rsgiSourceSecurityGroupName    :: !(Maybe Text)+    , _rsgiDryRun                     :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RevokeSecurityGroupIngress' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RevokeSecurityGroupIngress' with the minimum fields required to make a request. ----- * 'rsgiCidrIp' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rsgiDryRun' @::@ 'Maybe' 'Bool'+-- * 'rsgiFromPort' ----- * 'rsgiFromPort' @::@ 'Maybe' 'Int'+-- * 'rsgiIPPermissions' ----- * 'rsgiGroupId' @::@ 'Maybe' 'Text'+-- * 'rsgiIPProtocol' ----- * 'rsgiGroupName' @::@ 'Maybe' 'Text'+-- * 'rsgiGroupId' ----- * 'rsgiIpPermissions' @::@ ['IpPermission']+-- * 'rsgiToPort' ----- * 'rsgiIpProtocol' @::@ 'Maybe' 'Text'+-- * 'rsgiCIdRIP' ----- * 'rsgiSourceSecurityGroupName' @::@ 'Maybe' 'Text'+-- * 'rsgiGroupName' ----- * 'rsgiSourceSecurityGroupOwnerId' @::@ 'Maybe' 'Text'+-- * 'rsgiSourceSecurityGroupOwnerId' ----- * 'rsgiToPort' @::@ 'Maybe' 'Int'+-- * 'rsgiSourceSecurityGroupName' ---revokeSecurityGroupIngress :: RevokeSecurityGroupIngress-revokeSecurityGroupIngress = RevokeSecurityGroupIngress-    { _rsgiDryRun                     = Nothing-    , _rsgiGroupName                  = Nothing-    , _rsgiGroupId                    = Nothing-    , _rsgiSourceSecurityGroupName    = Nothing+-- * 'rsgiDryRun'+revokeSecurityGroupIngress+    :: RevokeSecurityGroupIngress+revokeSecurityGroupIngress =+    RevokeSecurityGroupIngress'+    { _rsgiFromPort = Nothing+    , _rsgiIPPermissions = Nothing+    , _rsgiIPProtocol = Nothing+    , _rsgiGroupId = Nothing+    , _rsgiToPort = Nothing+    , _rsgiCIdRIP = Nothing+    , _rsgiGroupName = Nothing     , _rsgiSourceSecurityGroupOwnerId = Nothing-    , _rsgiIpProtocol                 = Nothing-    , _rsgiFromPort                   = Nothing-    , _rsgiToPort                     = Nothing-    , _rsgiCidrIp                     = Nothing-    , _rsgiIpPermissions              = mempty+    , _rsgiSourceSecurityGroupName = Nothing+    , _rsgiDryRun = Nothing     } --- | The CIDR IP address range. You can't specify this parameter when specifying a--- source security group.-rsgiCidrIp :: Lens' RevokeSecurityGroupIngress (Maybe Text)-rsgiCidrIp = lens _rsgiCidrIp (\s a -> s { _rsgiCidrIp = 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'.-rsgiDryRun :: Lens' RevokeSecurityGroupIngress (Maybe Bool)-rsgiDryRun = lens _rsgiDryRun (\s a -> s { _rsgiDryRun = a })- -- | The start of port range for the TCP and UDP protocols, or an ICMP type -- number. For the ICMP type number, use '-1' to specify all ICMP types. rsgiFromPort :: Lens' RevokeSecurityGroupIngress (Maybe Int)-rsgiFromPort = lens _rsgiFromPort (\s a -> s { _rsgiFromPort = a })+rsgiFromPort = lens _rsgiFromPort (\ s a -> s{_rsgiFromPort = a}); --- | The ID of the security group.+-- | A set of IP permissions. You can\'t specify a source security group and+-- a CIDR IP address range.+rsgiIPPermissions :: Lens' RevokeSecurityGroupIngress [IPPermission]+rsgiIPPermissions = lens _rsgiIPPermissions (\ s a -> s{_rsgiIPPermissions = a}) . _Default . _Coerce;++-- | The IP protocol name ('tcp', 'udp', 'icmp') or number (see+-- <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>).+-- Use '-1' to specify all.+rsgiIPProtocol :: Lens' RevokeSecurityGroupIngress (Maybe Text)+rsgiIPProtocol = lens _rsgiIPProtocol (\ s a -> s{_rsgiIPProtocol = a});++-- | The ID of the security group. Required for a security group in a+-- nondefault VPC. rsgiGroupId :: Lens' RevokeSecurityGroupIngress (Maybe Text)-rsgiGroupId = lens _rsgiGroupId (\s a -> s { _rsgiGroupId = a })+rsgiGroupId = lens _rsgiGroupId (\ s a -> s{_rsgiGroupId = a}); +-- | The end of port range for the TCP and UDP protocols, or an ICMP code+-- number. For the ICMP code number, use '-1' to specify all ICMP codes for+-- the ICMP type.+rsgiToPort :: Lens' RevokeSecurityGroupIngress (Maybe Int)+rsgiToPort = lens _rsgiToPort (\ s a -> s{_rsgiToPort = a});++-- | The CIDR IP address range. You can\'t specify this parameter when+-- specifying a source security group.+rsgiCIdRIP :: Lens' RevokeSecurityGroupIngress (Maybe Text)+rsgiCIdRIP = lens _rsgiCIdRIP (\ s a -> s{_rsgiCIdRIP = a});+ -- | [EC2-Classic, default VPC] The name of the security group. rsgiGroupName :: Lens' RevokeSecurityGroupIngress (Maybe Text)-rsgiGroupName = lens _rsgiGroupName (\s a -> s { _rsgiGroupName = a })---- | A set of IP permissions. You can't specify a source security group and a CIDR--- IP address range.-rsgiIpPermissions :: Lens' RevokeSecurityGroupIngress [IpPermission]-rsgiIpPermissions =-    lens _rsgiIpPermissions (\s a -> s { _rsgiIpPermissions = a })-        . _List+rsgiGroupName = lens _rsgiGroupName (\ s a -> s{_rsgiGroupName = a}); --- | The IP protocol name ('tcp', 'udp', 'icmp') or number (see <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>). Use '-1'--- to specify all.-rsgiIpProtocol :: Lens' RevokeSecurityGroupIngress (Maybe Text)-rsgiIpProtocol = lens _rsgiIpProtocol (\s a -> s { _rsgiIpProtocol = a })+-- | [EC2-Classic, default VPC] The AWS account ID of the source security+-- group. For EC2-VPC, the source security group must be in the same VPC.+-- You can\'t specify this parameter in combination with the following+-- parameters: the CIDR IP address range, the IP protocol, the start of the+-- port range, and the end of the port range. To revoke a specific rule for+-- an IP protocol and port range, use a set of IP permissions instead.+rsgiSourceSecurityGroupOwnerId :: Lens' RevokeSecurityGroupIngress (Maybe Text)+rsgiSourceSecurityGroupOwnerId = lens _rsgiSourceSecurityGroupOwnerId (\ s a -> s{_rsgiSourceSecurityGroupOwnerId = a}); --- | [EC2-Classic, default VPC] The name of the source security group. You can't--- specify a source security group and a CIDR IP address range.+-- | [EC2-Classic, default VPC] The name of the source security group. You+-- can\'t specify this parameter in combination with the following+-- parameters: the CIDR IP address range, the start of the port range, the+-- IP protocol, and the end of the port range. For EC2-VPC, the source+-- security group must be in the same VPC. rsgiSourceSecurityGroupName :: Lens' RevokeSecurityGroupIngress (Maybe Text)-rsgiSourceSecurityGroupName =-    lens _rsgiSourceSecurityGroupName-        (\s a -> s { _rsgiSourceSecurityGroupName = a })---- | The ID of the source security group. You can't specify a source security--- group and a CIDR IP address range.-rsgiSourceSecurityGroupOwnerId :: Lens' RevokeSecurityGroupIngress (Maybe Text)-rsgiSourceSecurityGroupOwnerId =-    lens _rsgiSourceSecurityGroupOwnerId-        (\s a -> s { _rsgiSourceSecurityGroupOwnerId = a })+rsgiSourceSecurityGroupName = lens _rsgiSourceSecurityGroupName (\ s a -> s{_rsgiSourceSecurityGroupName = a}); --- | The end of port range for the TCP and UDP protocols, or an ICMP code number.--- For the ICMP code number, use '-1' to specify all ICMP codes for the ICMP type.-rsgiToPort :: Lens' RevokeSecurityGroupIngress (Maybe Int)-rsgiToPort = lens _rsgiToPort (\s a -> s { _rsgiToPort = 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'.+rsgiDryRun :: Lens' RevokeSecurityGroupIngress (Maybe Bool)+rsgiDryRun = lens _rsgiDryRun (\ s a -> s{_rsgiDryRun = a}); -data RevokeSecurityGroupIngressResponse = RevokeSecurityGroupIngressResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest RevokeSecurityGroupIngress where+        type Sv RevokeSecurityGroupIngress = EC2+        type Rs RevokeSecurityGroupIngress =+             RevokeSecurityGroupIngressResponse+        request = post+        response+          = receiveNull RevokeSecurityGroupIngressResponse' --- | 'RevokeSecurityGroupIngressResponse' constructor.-revokeSecurityGroupIngressResponse :: RevokeSecurityGroupIngressResponse-revokeSecurityGroupIngressResponse = RevokeSecurityGroupIngressResponse+instance ToHeaders RevokeSecurityGroupIngress where+        toHeaders = const mempty  instance ToPath RevokeSecurityGroupIngress where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RevokeSecurityGroupIngress where-    toQuery RevokeSecurityGroupIngress{..} = mconcat-        [ "CidrIp"                     =? _rsgiCidrIp-        , "DryRun"                     =? _rsgiDryRun-        , "FromPort"                   =? _rsgiFromPort-        , "GroupId"                    =? _rsgiGroupId-        , "GroupName"                  =? _rsgiGroupName-        , "IpPermissions"              `toQueryList` _rsgiIpPermissions-        , "IpProtocol"                 =? _rsgiIpProtocol-        , "SourceSecurityGroupName"    =? _rsgiSourceSecurityGroupName-        , "SourceSecurityGroupOwnerId" =? _rsgiSourceSecurityGroupOwnerId-        , "ToPort"                     =? _rsgiToPort-        ]--instance ToHeaders RevokeSecurityGroupIngress+        toQuery RevokeSecurityGroupIngress'{..}+          = mconcat+              ["Action" =:+                 ("RevokeSecurityGroupIngress" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "FromPort" =: _rsgiFromPort,+               toQuery (toQueryList "item" <$> _rsgiIPPermissions),+               "IpProtocol" =: _rsgiIPProtocol,+               "GroupId" =: _rsgiGroupId, "ToPort" =: _rsgiToPort,+               "CidrIp" =: _rsgiCIdRIP,+               "GroupName" =: _rsgiGroupName,+               "SourceSecurityGroupOwnerId" =:+                 _rsgiSourceSecurityGroupOwnerId,+               "SourceSecurityGroupName" =:+                 _rsgiSourceSecurityGroupName,+               "DryRun" =: _rsgiDryRun] -instance AWSRequest RevokeSecurityGroupIngress where-    type Sv RevokeSecurityGroupIngress = EC2-    type Rs RevokeSecurityGroupIngress = RevokeSecurityGroupIngressResponse+-- | /See:/ 'revokeSecurityGroupIngressResponse' smart constructor.+data RevokeSecurityGroupIngressResponse =+    RevokeSecurityGroupIngressResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "RevokeSecurityGroupIngress"-    response = nullResponse RevokeSecurityGroupIngressResponse+-- | Creates a value of 'RevokeSecurityGroupIngressResponse' with the minimum fields required to make a request.+--+revokeSecurityGroupIngressResponse+    :: RevokeSecurityGroupIngressResponse+revokeSecurityGroupIngressResponse = RevokeSecurityGroupIngressResponse'
gen/Network/AWS/EC2/RunInstances.hs view
@@ -1,474 +1,423 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.RunInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Launches the specified number of instances using an AMI for which you have--- permissions.+-- Launches the specified number of instances using an AMI for which you+-- have permissions. ----- 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'.+-- 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. ----- 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> in--- the /Amazon Elastic Compute Cloud User Guide/.+-- 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>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- Linux instances have access to the public key of the key pair at boot. You--- can use this key to provide secure access to the instance. Amazon EC2 public--- images use this feature to provide secure access without passwords. For more--- information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html Key Pairs> in the /Amazon Elastic Compute Cloud User Guide/.+-- Linux instances have access to the public key of the key pair at boot.+-- You can use this key to provide secure access to the instance. Amazon+-- EC2 public images use this feature to provide secure access without+-- passwords. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html Key Pairs>+-- in the /Amazon Elastic Compute Cloud User Guide/. -- -- You can provide optional user data when launching an instance. For more--- information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html Instance Metadata> in the /Amazon Elastic Compute Cloud UserGuide/.+-- information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html Instance Metadata>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- If any of the AMIs have a product code attached for which the user has not--- subscribed, 'RunInstances' fails.+-- 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.+-- default VPC, or if you do not specify a subnet ID in the request,+-- 'RunInstances' fails. ----- For more information about troubleshooting, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html What To Do If An InstanceImmediately 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/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RunInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RunInstances.html AWS API Reference> for RunInstances. module Network.AWS.EC2.RunInstances     (-    -- * Request-      RunInstances-    -- ** Request constructor-    , runInstances-    -- ** Request lenses-    , riAdditionalInfo-    , riBlockDeviceMappings-    , riClientToken-    , riDisableApiTermination-    , riDryRun-    , riEbsOptimized-    , riIamInstanceProfile-    , riImageId-    , riInstanceInitiatedShutdownBehavior-    , riInstanceType-    , riKernelId-    , riKeyName-    , riMaxCount-    , riMinCount-    , riMonitoring-    , riNetworkInterfaces-    , riPlacement-    , riPrivateIpAddress-    , riRamdiskId-    , riSecurityGroupIds-    , riSecurityGroups-    , riSubnetId-    , riUserData+    -- * Creating a Request+      runInstances+    , RunInstances+    -- * Request Lenses+    , rSecurityGroupIds+    , rAdditionalInfo+    , rSecurityGroups+    , rClientToken+    , rDisableAPITermination+    , rNetworkInterfaces+    , rKeyName+    , rRAMDiskId+    , rKernelId+    , rSubnetId+    , rInstanceType+    , rEBSOptimized+    , rUserData+    , rMonitoring+    , rIAMInstanceProfile+    , rInstanceInitiatedShutdownBehavior+    , rPrivateIPAddress+    , rBlockDeviceMappings+    , rDryRun+    , rPlacement+    , rImageId+    , rMinCount+    , rMaxCount -    -- * Response-    , RunInstancesResponse-    -- ** Response constructor-    , runInstancesResponse-    -- ** Response lenses-    , rirGroups-    , rirInstances-    , rirOwnerId-    , rirRequesterId-    , rirReservationId+    -- * Destructuring the Response+    , reservation+    , Reservation+    -- * Response Lenses+    , rGroups+    , rInstances+    , rRequesterId+    , rReservationId+    , rOwnerId     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data RunInstances = RunInstances-    { _riAdditionalInfo                    :: Maybe Text-    , _riBlockDeviceMappings               :: List "BlockDeviceMapping" BlockDeviceMapping-    , _riClientToken                       :: Maybe Text-    , _riDisableApiTermination             :: Maybe Bool-    , _riDryRun                            :: Maybe Bool-    , _riEbsOptimized                      :: Maybe Bool-    , _riIamInstanceProfile                :: Maybe IamInstanceProfileSpecification-    , _riImageId                           :: Text-    , _riInstanceInitiatedShutdownBehavior :: Maybe ShutdownBehavior-    , _riInstanceType                      :: Maybe InstanceType-    , _riKernelId                          :: Maybe Text-    , _riKeyName                           :: Maybe Text-    , _riMaxCount                          :: Int-    , _riMinCount                          :: Int-    , _riMonitoring                        :: Maybe RunInstancesMonitoringEnabled-    , _riNetworkInterfaces                 :: List "item" InstanceNetworkInterfaceSpecification-    , _riPlacement                         :: Maybe Placement-    , _riPrivateIpAddress                  :: Maybe Text-    , _riRamdiskId                         :: Maybe Text-    , _riSecurityGroupIds                  :: List "SecurityGroupId" Text-    , _riSecurityGroups                    :: List "SecurityGroup" Text-    , _riSubnetId                          :: Maybe Text-    , _riUserData                          :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'runInstances' smart constructor.+data RunInstances = RunInstances'+    { _rSecurityGroupIds                  :: !(Maybe [Text])+    , _rAdditionalInfo                    :: !(Maybe Text)+    , _rSecurityGroups                    :: !(Maybe [Text])+    , _rClientToken                       :: !(Maybe Text)+    , _rDisableAPITermination             :: !(Maybe Bool)+    , _rNetworkInterfaces                 :: !(Maybe [InstanceNetworkInterfaceSpecification])+    , _rKeyName                           :: !(Maybe Text)+    , _rRAMDiskId                         :: !(Maybe Text)+    , _rKernelId                          :: !(Maybe Text)+    , _rSubnetId                          :: !(Maybe Text)+    , _rInstanceType                      :: !(Maybe InstanceType)+    , _rEBSOptimized                      :: !(Maybe Bool)+    , _rUserData                          :: !(Maybe Text)+    , _rMonitoring                        :: !(Maybe RunInstancesMonitoringEnabled)+    , _rIAMInstanceProfile                :: !(Maybe IAMInstanceProfileSpecification)+    , _rInstanceInitiatedShutdownBehavior :: !(Maybe ShutdownBehavior)+    , _rPrivateIPAddress                  :: !(Maybe Text)+    , _rBlockDeviceMappings               :: !(Maybe [BlockDeviceMapping])+    , _rDryRun                            :: !(Maybe Bool)+    , _rPlacement                         :: !(Maybe Placement)+    , _rImageId                           :: !Text+    , _rMinCount                          :: !Int+    , _rMaxCount                          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RunInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RunInstances' with the minimum fields required to make a request. ----- * 'riAdditionalInfo' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'riBlockDeviceMappings' @::@ ['BlockDeviceMapping']+-- * 'rSecurityGroupIds' ----- * 'riClientToken' @::@ 'Maybe' 'Text'+-- * 'rAdditionalInfo' ----- * 'riDisableApiTermination' @::@ 'Maybe' 'Bool'+-- * 'rSecurityGroups' ----- * 'riDryRun' @::@ 'Maybe' 'Bool'+-- * 'rClientToken' ----- * 'riEbsOptimized' @::@ 'Maybe' 'Bool'+-- * 'rDisableAPITermination' ----- * 'riIamInstanceProfile' @::@ 'Maybe' 'IamInstanceProfileSpecification'+-- * 'rNetworkInterfaces' ----- * 'riImageId' @::@ 'Text'+-- * 'rKeyName' ----- * 'riInstanceInitiatedShutdownBehavior' @::@ 'Maybe' 'ShutdownBehavior'+-- * 'rRAMDiskId' ----- * 'riInstanceType' @::@ 'Maybe' 'InstanceType'+-- * 'rKernelId' ----- * 'riKernelId' @::@ 'Maybe' 'Text'+-- * 'rSubnetId' ----- * 'riKeyName' @::@ 'Maybe' 'Text'+-- * 'rInstanceType' ----- * 'riMaxCount' @::@ 'Int'+-- * 'rEBSOptimized' ----- * 'riMinCount' @::@ 'Int'+-- * 'rUserData' ----- * 'riMonitoring' @::@ 'Maybe' 'RunInstancesMonitoringEnabled'+-- * 'rMonitoring' ----- * 'riNetworkInterfaces' @::@ ['InstanceNetworkInterfaceSpecification']+-- * 'rIAMInstanceProfile' ----- * 'riPlacement' @::@ 'Maybe' 'Placement'+-- * 'rInstanceInitiatedShutdownBehavior' ----- * 'riPrivateIpAddress' @::@ 'Maybe' 'Text'+-- * 'rPrivateIPAddress' ----- * 'riRamdiskId' @::@ 'Maybe' 'Text'+-- * 'rBlockDeviceMappings' ----- * 'riSecurityGroupIds' @::@ ['Text']+-- * 'rDryRun' ----- * 'riSecurityGroups' @::@ ['Text']+-- * 'rPlacement' ----- * 'riSubnetId' @::@ 'Maybe' 'Text'+-- * 'rImageId' ----- * 'riUserData' @::@ 'Maybe' 'Text'+-- * 'rMinCount' ---runInstances :: Text -- ^ 'riImageId'-             -> Int -- ^ 'riMinCount'-             -> Int -- ^ 'riMaxCount'-             -> RunInstances-runInstances p1 p2 p3 = RunInstances-    { _riImageId                           = p1-    , _riMinCount                          = p2-    , _riMaxCount                          = p3-    , _riDryRun                            = Nothing-    , _riKeyName                           = Nothing-    , _riSecurityGroups                    = mempty-    , _riSecurityGroupIds                  = mempty-    , _riUserData                          = Nothing-    , _riInstanceType                      = Nothing-    , _riPlacement                         = Nothing-    , _riKernelId                          = Nothing-    , _riRamdiskId                         = Nothing-    , _riBlockDeviceMappings               = mempty-    , _riMonitoring                        = Nothing-    , _riSubnetId                          = Nothing-    , _riDisableApiTermination             = Nothing-    , _riInstanceInitiatedShutdownBehavior = Nothing-    , _riPrivateIpAddress                  = Nothing-    , _riClientToken                       = Nothing-    , _riAdditionalInfo                    = Nothing-    , _riNetworkInterfaces                 = mempty-    , _riIamInstanceProfile                = Nothing-    , _riEbsOptimized                      = Nothing+-- * 'rMaxCount'+runInstances+    :: Text -- ^ 'rImageId'+    -> Int -- ^ 'rMinCount'+    -> Int -- ^ 'rMaxCount'+    -> RunInstances+runInstances pImageId_ pMinCount_ pMaxCount_ =+    RunInstances'+    { _rSecurityGroupIds = Nothing+    , _rAdditionalInfo = Nothing+    , _rSecurityGroups = Nothing+    , _rClientToken = Nothing+    , _rDisableAPITermination = Nothing+    , _rNetworkInterfaces = Nothing+    , _rKeyName = Nothing+    , _rRAMDiskId = Nothing+    , _rKernelId = Nothing+    , _rSubnetId = Nothing+    , _rInstanceType = Nothing+    , _rEBSOptimized = Nothing+    , _rUserData = Nothing+    , _rMonitoring = Nothing+    , _rIAMInstanceProfile = Nothing+    , _rInstanceInitiatedShutdownBehavior = Nothing+    , _rPrivateIPAddress = Nothing+    , _rBlockDeviceMappings = Nothing+    , _rDryRun = Nothing+    , _rPlacement = Nothing+    , _rImageId = pImageId_+    , _rMinCount = pMinCount_+    , _rMaxCount = pMaxCount_     } --- | Reserved.-riAdditionalInfo :: Lens' RunInstances (Maybe Text)-riAdditionalInfo = lens _riAdditionalInfo (\s a -> s { _riAdditionalInfo = a })+-- | One or more security group IDs. You can create a security group using+-- CreateSecurityGroup.+--+-- Default: Amazon EC2 uses the default security group.+rSecurityGroupIds :: Lens' RunInstances [Text]+rSecurityGroupIds = lens _rSecurityGroupIds (\ s a -> s{_rSecurityGroupIds = a}) . _Default . _Coerce; --- | The block device mapping.-riBlockDeviceMappings :: Lens' RunInstances [BlockDeviceMapping]-riBlockDeviceMappings =-    lens _riBlockDeviceMappings (\s a -> s { _riBlockDeviceMappings = a })-        . _List+-- | Reserved.+rAdditionalInfo :: Lens' RunInstances (Maybe Text)+rAdditionalInfo = lens _rAdditionalInfo (\ s a -> s{_rAdditionalInfo = a}); --- | Unique, case-sensitive identifier you provide to ensure the idempotency of--- the request. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.+-- | [EC2-Classic, default VPC] One or more security group names. For a+-- nondefault VPC, you must use security group IDs instead. ----- Constraints: Maximum 64 ASCII characters-riClientToken :: Lens' RunInstances (Maybe Text)-riClientToken = lens _riClientToken (\s a -> s { _riClientToken = a })+-- Default: Amazon EC2 uses the default security group.+rSecurityGroups :: Lens' RunInstances [Text]+rSecurityGroups = lens _rSecurityGroups (\ s a -> s{_rSecurityGroups = a}) . _Default . _Coerce; --- | If you set this parameter to 'true', you can't terminate the instance using the--- Amazon EC2 console, CLI, or API; otherwise, you can. If you 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 'InstanceInitiatedShutdownBehavior' to 'terminate', you can terminate the instance by running the shutdown command--- from the instance.+-- | Unique, case-sensitive identifier you provide to ensure the idempotency+-- of the request. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>. ----- Default: 'false'-riDisableApiTermination :: Lens' RunInstances (Maybe Bool)-riDisableApiTermination =-    lens _riDisableApiTermination (\s a -> s { _riDisableApiTermination = 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'.-riDryRun :: Lens' RunInstances (Maybe Bool)-riDryRun = lens _riDryRun (\s a -> s { _riDryRun = a })+-- Constraints: Maximum 64 ASCII characters+rClientToken :: Lens' RunInstances (Maybe Text)+rClientToken = lens _rClientToken (\ s a -> s{_rClientToken = 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.+-- | If you set this parameter to 'true', you can\'t terminate the instance+-- using the Amazon EC2 console, CLI, or API; otherwise, you can. If you+-- 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+-- 'InstanceInitiatedShutdownBehavior' to 'terminate', you can terminate+-- the instance by running the shutdown command from the instance. -- -- Default: 'false'-riEbsOptimized :: Lens' RunInstances (Maybe Bool)-riEbsOptimized = lens _riEbsOptimized (\s a -> s { _riEbsOptimized = a })---- | The IAM instance profile.-riIamInstanceProfile :: Lens' RunInstances (Maybe IamInstanceProfileSpecification)-riIamInstanceProfile =-    lens _riIamInstanceProfile (\s a -> s { _riIamInstanceProfile = a })+rDisableAPITermination :: Lens' RunInstances (Maybe Bool)+rDisableAPITermination = lens _rDisableAPITermination (\ s a -> s{_rDisableAPITermination = a}); --- | The ID of the AMI, which you can get by calling 'DescribeImages'.-riImageId :: Lens' RunInstances Text-riImageId = lens _riImageId (\s a -> s { _riImageId = a })+-- | One or more network interfaces.+rNetworkInterfaces :: Lens' RunInstances [InstanceNetworkInterfaceSpecification]+rNetworkInterfaces = lens _rNetworkInterfaces (\ s a -> s{_rNetworkInterfaces = a}) . _Default . _Coerce; --- | Indicates whether an instance stops or terminates when you initiate shutdown--- from the instance (using the operating system command for system shutdown).+-- | The name of the key pair. You can create a key pair using CreateKeyPair+-- or ImportKeyPair. ----- Default: 'stop'-riInstanceInitiatedShutdownBehavior :: Lens' RunInstances (Maybe ShutdownBehavior)-riInstanceInitiatedShutdownBehavior =-    lens _riInstanceInitiatedShutdownBehavior-        (\s a -> s { _riInstanceInitiatedShutdownBehavior = a })+-- 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+-- to log in.+rKeyName :: Lens' RunInstances (Maybe Text)+rKeyName = lens _rKeyName (\ s a -> s{_rKeyName = a}); --- | The instance type. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Types> in the /AmazonElastic Compute Cloud User Guide/.+-- | The ID of the RAM disk. ----- Default: 'm1.small'-riInstanceType :: Lens' RunInstances (Maybe InstanceType)-riInstanceType = lens _riInstanceType (\s a -> s { _riInstanceType = a })+-- We recommend that you use PV-GRUB instead of kernels and RAM disks. For+-- more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html PV-GRUB>+-- in the /Amazon Elastic Compute Cloud User Guide/.+rRAMDiskId :: Lens' RunInstances (Maybe Text)+rRAMDiskId = lens _rRAMDiskId (\ s a -> s{_rRAMDiskId = a});  -- | The ID of the kernel. -- -- We recommend that you use PV-GRUB instead of kernels and RAM disks. For--- more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html  PV-GRUB> in the /Amazon Elastic Compute Cloud User Guide/.-------riKernelId :: Lens' RunInstances (Maybe Text)-riKernelId = lens _riKernelId (\s a -> s { _riKernelId = a })+-- more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html PV-GRUB>+-- in the /Amazon Elastic Compute Cloud User Guide/.+rKernelId :: Lens' RunInstances (Maybe Text)+rKernelId = lens _rKernelId (\ s a -> s{_rKernelId = a}); --- | 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 to log in.-------riKeyName :: Lens' RunInstances (Maybe Text)-riKeyName = lens _riKeyName (\s a -> s { _riKeyName = a })+-- | [EC2-VPC] The ID of the subnet to launch the instance into.+rSubnetId :: Lens' RunInstances (Maybe Text)+rSubnetId = lens _rSubnetId (\ s a -> s{_rSubnetId = a}); --- | The maximum number of instances to launch. If you specify more instances than--- Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches--- the largest possible number of instances above 'MinCount'.+-- | The instance type. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Types>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- Constraints: Between 1 and the maximum number you're allowed for the--- 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.-riMaxCount :: Lens' RunInstances Int-riMaxCount = lens _riMaxCount (\s a -> s { _riMaxCount = a })+-- Default: 'm1.small'+rInstanceType :: Lens' RunInstances (Maybe InstanceType)+rInstanceType = lens _rInstanceType (\ s a -> s{_rInstanceType = a}); --- | The minimum number of instances to launch. If you specify a minimum that is--- more instances than Amazon EC2 can launch in the target Availability Zone,--- Amazon EC2 launches no instances.+-- | 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. ----- Constraints: Between 1 and the maximum number you're allowed for the--- 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.-riMinCount :: Lens' RunInstances Int-riMinCount = lens _riMinCount (\s a -> s { _riMinCount = a })+-- Default: 'false'+rEBSOptimized :: Lens' RunInstances (Maybe Bool)+rEBSOptimized = lens _rEBSOptimized (\ s a -> s{_rEBSOptimized = a}); +-- | The Base64-encoded MIME user data for the instances.+rUserData :: Lens' RunInstances (Maybe Text)+rUserData = lens _rUserData (\ s a -> s{_rUserData = a});+ -- | The monitoring for the instance.-riMonitoring :: Lens' RunInstances (Maybe RunInstancesMonitoringEnabled)-riMonitoring = lens _riMonitoring (\s a -> s { _riMonitoring = a })+rMonitoring :: Lens' RunInstances (Maybe RunInstancesMonitoringEnabled)+rMonitoring = lens _rMonitoring (\ s a -> s{_rMonitoring = a}); --- | One or more network interfaces.-riNetworkInterfaces :: Lens' RunInstances [InstanceNetworkInterfaceSpecification]-riNetworkInterfaces =-    lens _riNetworkInterfaces (\s a -> s { _riNetworkInterfaces = a })-        . _List+-- | The IAM instance profile.+rIAMInstanceProfile :: Lens' RunInstances (Maybe IAMInstanceProfileSpecification)+rIAMInstanceProfile = lens _rIAMInstanceProfile (\ s a -> s{_rIAMInstanceProfile = a}); --- | The placement for the instance.-riPlacement :: Lens' RunInstances (Maybe Placement)-riPlacement = lens _riPlacement (\s a -> s { _riPlacement = a })+-- | Indicates whether an instance stops or terminates when you initiate+-- shutdown from the instance (using the operating system command for+-- system shutdown).+--+-- Default: 'stop'+rInstanceInitiatedShutdownBehavior :: Lens' RunInstances (Maybe ShutdownBehavior)+rInstanceInitiatedShutdownBehavior = lens _rInstanceInitiatedShutdownBehavior (\ s a -> s{_rInstanceInitiatedShutdownBehavior = a});  -- | [EC2-VPC] The primary IP address. You must specify a value from the IP -- address range of the subnet. -- -- Only one private IP address can be designated as primary. Therefore, you--- can't specify this parameter if 'PrivateIpAddresses.n.Primary' is set to 'true'--- and 'PrivateIpAddresses.n.PrivateIpAddress' is set to an IP address.------ Default: We select an IP address from the IP address range of the subnet.-riPrivateIpAddress :: Lens' RunInstances (Maybe Text)-riPrivateIpAddress =-    lens _riPrivateIpAddress (\s a -> s { _riPrivateIpAddress = a })---- | The ID of the RAM disk.------ We recommend that you use PV-GRUB instead of kernels and RAM disks. For--- more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html  PV-GRUB> in the /Amazon Elastic Compute Cloud User Guide/.-------riRamdiskId :: Lens' RunInstances (Maybe Text)-riRamdiskId = lens _riRamdiskId (\s a -> s { _riRamdiskId = a })---- | One or more security group IDs. You can create a security group using 'CreateSecurityGroup'.+-- can\'t specify this parameter if 'PrivateIpAddresses.n.Primary' is set+-- to 'true' and 'PrivateIpAddresses.n.PrivateIpAddress' is set to an IP+-- address. ----- Default: Amazon EC2 uses the default security group.-riSecurityGroupIds :: Lens' RunInstances [Text]-riSecurityGroupIds =-    lens _riSecurityGroupIds (\s a -> s { _riSecurityGroupIds = a })-        . _List+-- Default: We select an IP address from the IP address range of the+-- subnet.+rPrivateIPAddress :: Lens' RunInstances (Maybe Text)+rPrivateIPAddress = lens _rPrivateIPAddress (\ s a -> s{_rPrivateIPAddress = a}); --- | [EC2-Classic, default VPC] One or more security group names. For a nondefault--- VPC, you must use security group IDs instead.------ Default: Amazon EC2 uses the default security group.-riSecurityGroups :: Lens' RunInstances [Text]-riSecurityGroups = lens _riSecurityGroups (\s a -> s { _riSecurityGroups = a }) . _List+-- | The block device mapping.+rBlockDeviceMappings :: Lens' RunInstances [BlockDeviceMapping]+rBlockDeviceMappings = lens _rBlockDeviceMappings (\ s a -> s{_rBlockDeviceMappings = a}) . _Default . _Coerce; --- | [EC2-VPC] The ID of the subnet to launch the instance into.-riSubnetId :: Lens' RunInstances (Maybe Text)-riSubnetId = lens _riSubnetId (\s a -> s { _riSubnetId = 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'.+rDryRun :: Lens' RunInstances (Maybe Bool)+rDryRun = lens _rDryRun (\ s a -> s{_rDryRun = a}); --- | The Base64-encoded MIME user data for the instances.-riUserData :: Lens' RunInstances (Maybe Text)-riUserData = lens _riUserData (\s a -> s { _riUserData = a })+-- | The placement for the instance.+rPlacement :: Lens' RunInstances (Maybe Placement)+rPlacement = lens _rPlacement (\ s a -> s{_rPlacement = a}); -data RunInstancesResponse = RunInstancesResponse-    { _rirGroups        :: List "item" GroupIdentifier-    , _rirInstances     :: List "item" Instance-    , _rirOwnerId       :: Text-    , _rirRequesterId   :: Maybe Text-    , _rirReservationId :: Text-    } deriving (Eq, Read, Show)+-- | The ID of the AMI, which you can get by calling DescribeImages.+rImageId :: Lens' RunInstances Text+rImageId = lens _rImageId (\ s a -> s{_rImageId = a}); --- | 'RunInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rirGroups' @::@ ['GroupIdentifier']------ * 'rirInstances' @::@ ['Instance']------ * 'rirOwnerId' @::@ 'Text'------ * 'rirRequesterId' @::@ 'Maybe' 'Text'------ * 'rirReservationId' @::@ 'Text'+-- | The minimum number of instances to launch. If you specify a minimum that+-- is more instances than Amazon EC2 can launch in the target Availability+-- Zone, Amazon EC2 launches no instances. ---runInstancesResponse :: Text -- ^ 'rirReservationId'-                     -> Text -- ^ 'rirOwnerId'-                     -> RunInstancesResponse-runInstancesResponse p1 p2 = RunInstancesResponse-    { _rirReservationId = p1-    , _rirOwnerId       = p2-    , _rirRequesterId   = Nothing-    , _rirGroups        = mempty-    , _rirInstances     = mempty-    }---- | One or more security groups.-rirGroups :: Lens' RunInstancesResponse [GroupIdentifier]-rirGroups = lens _rirGroups (\s a -> s { _rirGroups = a }) . _List---- | One or more instances.-rirInstances :: Lens' RunInstancesResponse [Instance]-rirInstances = lens _rirInstances (\s a -> s { _rirInstances = a }) . _List+-- Constraints: Between 1 and the maximum number you\'re allowed for the+-- 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.+rMinCount :: Lens' RunInstances Int+rMinCount = lens _rMinCount (\ s a -> s{_rMinCount = a}); --- | The ID of the AWS account that owns the reservation.-rirOwnerId :: Lens' RunInstancesResponse Text-rirOwnerId = lens _rirOwnerId (\s a -> s { _rirOwnerId = a })+-- | The maximum number of instances to launch. If you specify more instances+-- than Amazon EC2 can launch in the target Availability Zone, Amazon EC2+-- launches the largest possible number of instances above 'MinCount'.+--+-- Constraints: Between 1 and the maximum number you\'re allowed for the+-- 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.+rMaxCount :: Lens' RunInstances Int+rMaxCount = lens _rMaxCount (\ s a -> s{_rMaxCount = a}); --- | The ID of the requester that launched the instances on your behalf (for--- example, AWS Management Console or Auto Scaling).-rirRequesterId :: Lens' RunInstancesResponse (Maybe Text)-rirRequesterId = lens _rirRequesterId (\s a -> s { _rirRequesterId = a })+instance AWSRequest RunInstances where+        type Sv RunInstances = EC2+        type Rs RunInstances = Reservation+        request = post+        response = receiveXML (\ s h x -> parseXML x) --- | The ID of the reservation.-rirReservationId :: Lens' RunInstancesResponse Text-rirReservationId = lens _rirReservationId (\s a -> s { _rirReservationId = a })+instance ToHeaders RunInstances where+        toHeaders = const mempty  instance ToPath RunInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RunInstances where-    toQuery RunInstances{..} = mconcat-        [ "AdditionalInfo"                    =? _riAdditionalInfo-        , "BlockDeviceMapping"                `toQueryList` _riBlockDeviceMappings-        , "ClientToken"                       =? _riClientToken-        , "DisableApiTermination"             =? _riDisableApiTermination-        , "DryRun"                            =? _riDryRun-        , "EbsOptimized"                      =? _riEbsOptimized-        , "IamInstanceProfile"                =? _riIamInstanceProfile-        , "ImageId"                           =? _riImageId-        , "InstanceInitiatedShutdownBehavior" =? _riInstanceInitiatedShutdownBehavior-        , "InstanceType"                      =? _riInstanceType-        , "KernelId"                          =? _riKernelId-        , "KeyName"                           =? _riKeyName-        , "MaxCount"                          =? _riMaxCount-        , "MinCount"                          =? _riMinCount-        , "Monitoring"                        =? _riMonitoring-        , "NetworkInterface"                  `toQueryList` _riNetworkInterfaces-        , "Placement"                         =? _riPlacement-        , "PrivateIpAddress"                  =? _riPrivateIpAddress-        , "RamdiskId"                         =? _riRamdiskId-        , "SecurityGroupId"                   `toQueryList` _riSecurityGroupIds-        , "SecurityGroup"                     `toQueryList` _riSecurityGroups-        , "SubnetId"                          =? _riSubnetId-        , "UserData"                          =? _riUserData-        ]--instance ToHeaders RunInstances--instance AWSRequest RunInstances where-    type Sv RunInstances = EC2-    type Rs RunInstances = RunInstancesResponse--    request  = post "RunInstances"-    response = xmlResponse--instance FromXML RunInstancesResponse where-    parseXML x = RunInstancesResponse-        <$> x .@? "groupSet" .!@ mempty-        <*> x .@? "instancesSet" .!@ mempty-        <*> x .@  "ownerId"-        <*> x .@? "requesterId"-        <*> x .@  "reservationId"+        toQuery RunInstances'{..}+          = mconcat+              ["Action" =: ("RunInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               toQuery+                 (toQueryList "SecurityGroupId" <$>+                    _rSecurityGroupIds),+               "AdditionalInfo" =: _rAdditionalInfo,+               toQuery+                 (toQueryList "SecurityGroup" <$> _rSecurityGroups),+               "ClientToken" =: _rClientToken,+               "DisableApiTermination" =: _rDisableAPITermination,+               toQuery (toQueryList "item" <$> _rNetworkInterfaces),+               "KeyName" =: _rKeyName, "RamdiskId" =: _rRAMDiskId,+               "KernelId" =: _rKernelId, "SubnetId" =: _rSubnetId,+               "InstanceType" =: _rInstanceType,+               "EbsOptimized" =: _rEBSOptimized,+               "UserData" =: _rUserData,+               "Monitoring" =: _rMonitoring,+               "IamInstanceProfile" =: _rIAMInstanceProfile,+               "InstanceInitiatedShutdownBehavior" =:+                 _rInstanceInitiatedShutdownBehavior,+               "PrivateIpAddress" =: _rPrivateIPAddress,+               toQuery+                 (toQueryList "BlockDeviceMapping" <$>+                    _rBlockDeviceMappings),+               "DryRun" =: _rDryRun, "Placement" =: _rPlacement,+               "ImageId" =: _rImageId, "MinCount" =: _rMinCount,+               "MaxCount" =: _rMaxCount]
gen/Network/AWS/EC2/StartInstances.hs view
@@ -1,149 +1,163 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.StartInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Starts an Amazon EBS-backed AMI that you've previously stopped.+-- Starts an Amazon EBS-backed AMI that you\'ve previously stopped. ----- Instances that use Amazon EBS volumes as their root devices can be quickly--- stopped and started. When an instance is stopped, the compute resources are--- released and you are not billed for hourly instance usage. However, your root--- partition Amazon EBS volume remains, continues to persist your data, and you--- are charged for Amazon EBS volume usage. You can restart your instance at any--- time. Each time you transition an instance from stopped to started, Amazon--- EC2 charges a full instance hour, even if transitions happen multiple times--- within a single hour.+-- Instances that use Amazon EBS volumes as their root devices can be+-- quickly stopped and started. When an instance is stopped, the compute+-- resources are released and you are not billed for hourly instance usage.+-- However, your root partition Amazon EBS volume remains, continues to+-- persist your data, and you are charged for Amazon EBS volume usage. You+-- can restart your instance at any time. Each time you transition an+-- instance from stopped to started, Amazon EC2 charges a full instance+-- hour, even if transitions happen multiple times within a single hour. ----- Before stopping an instance, make sure it is in a state from which it can be--- restarted. Stopping an instance does not preserve data stored in RAM.+-- Before stopping an instance, make sure it is in a state from which it+-- can be restarted. Stopping an instance does not preserve data stored in+-- RAM. ----- Performing this operation on an instance that uses an instance store as its--- root device returns an error.+-- Performing this operation on an instance that uses an instance store as+-- its root device returns an error. ----- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html Stopping Instances> in the /Amazon Elastic ComputeCloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-StartInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-StartInstances.html AWS API Reference> for StartInstances. module Network.AWS.EC2.StartInstances     (-    -- * Request-      StartInstances-    -- ** Request constructor-    , startInstances-    -- ** Request lenses-    , si1AdditionalInfo-    , si1DryRun-    , si1InstanceIds+    -- * Creating a Request+      startInstances+    , StartInstances+    -- * Request Lenses+    , sAdditionalInfo+    , sDryRun+    , sInstanceIds -    -- * Response-    , StartInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , startInstancesResponse-    -- ** Response lenses-    , sirStartingInstances+    , StartInstancesResponse+    -- * Response Lenses+    , srsStartingInstances+    , srsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data StartInstances = StartInstances-    { _si1AdditionalInfo :: Maybe Text-    , _si1DryRun         :: Maybe Bool-    , _si1InstanceIds    :: List "InstanceId" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'startInstances' smart constructor.+data StartInstances = StartInstances'+    { _sAdditionalInfo :: !(Maybe Text)+    , _sDryRun         :: !(Maybe Bool)+    , _sInstanceIds    :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'StartInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'StartInstances' with the minimum fields required to make a request. ----- * 'si1AdditionalInfo' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'si1DryRun' @::@ 'Maybe' 'Bool'+-- * 'sAdditionalInfo' ----- * 'si1InstanceIds' @::@ ['Text']+-- * 'sDryRun' ---startInstances :: StartInstances-startInstances = StartInstances-    { _si1InstanceIds    = mempty-    , _si1AdditionalInfo = Nothing-    , _si1DryRun         = Nothing+-- * 'sInstanceIds'+startInstances+    :: StartInstances+startInstances =+    StartInstances'+    { _sAdditionalInfo = Nothing+    , _sDryRun = Nothing+    , _sInstanceIds = mempty     }  -- | Reserved.-si1AdditionalInfo :: Lens' StartInstances (Maybe Text)-si1AdditionalInfo =-    lens _si1AdditionalInfo (\s a -> s { _si1AdditionalInfo = a })+sAdditionalInfo :: Lens' StartInstances (Maybe Text)+sAdditionalInfo = lens _sAdditionalInfo (\ s a -> s{_sAdditionalInfo = 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'.-si1DryRun :: Lens' StartInstances (Maybe Bool)-si1DryRun = lens _si1DryRun (\s a -> s { _si1DryRun = a })+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'.+sDryRun :: Lens' StartInstances (Maybe Bool)+sDryRun = lens _sDryRun (\ s a -> s{_sDryRun = a});  -- | One or more instance IDs.-si1InstanceIds :: Lens' StartInstances [Text]-si1InstanceIds = lens _si1InstanceIds (\s a -> s { _si1InstanceIds = a }) . _List--newtype StartInstancesResponse = StartInstancesResponse-    { _sirStartingInstances :: List "item" InstanceStateChange-    } deriving (Eq, Read, Show, Monoid, Semigroup)+sInstanceIds :: Lens' StartInstances [Text]+sInstanceIds = lens _sInstanceIds (\ s a -> s{_sInstanceIds = a}) . _Coerce; --- | 'StartInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'sirStartingInstances' @::@ ['InstanceStateChange']----startInstancesResponse :: StartInstancesResponse-startInstancesResponse = StartInstancesResponse-    { _sirStartingInstances = mempty-    }+instance AWSRequest StartInstances where+        type Sv StartInstances = EC2+        type Rs StartInstances = StartInstancesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 StartInstancesResponse' <$>+                   (x .@? "instancesSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more started instances.-sirStartingInstances :: Lens' StartInstancesResponse [InstanceStateChange]-sirStartingInstances =-    lens _sirStartingInstances (\s a -> s { _sirStartingInstances = a })-        . _List+instance ToHeaders StartInstances where+        toHeaders = const mempty  instance ToPath StartInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery StartInstances where-    toQuery StartInstances{..} = mconcat-        [ "AdditionalInfo" =? _si1AdditionalInfo-        , "DryRun"         =? _si1DryRun-        , "InstanceId"     `toQueryList` _si1InstanceIds-        ]+        toQuery StartInstances'{..}+          = mconcat+              ["Action" =: ("StartInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "AdditionalInfo" =: _sAdditionalInfo,+               "DryRun" =: _sDryRun,+               toQueryList "InstanceId" _sInstanceIds] -instance ToHeaders StartInstances+-- | /See:/ 'startInstancesResponse' smart constructor.+data StartInstancesResponse = StartInstancesResponse'+    { _srsStartingInstances :: !(Maybe [InstanceStateChange])+    , _srsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest StartInstances where-    type Sv StartInstances = EC2-    type Rs StartInstances = StartInstancesResponse+-- | Creates a value of 'StartInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srsStartingInstances'+--+-- * 'srsStatus'+startInstancesResponse+    :: Int -- ^ 'srsStatus'+    -> StartInstancesResponse+startInstancesResponse pStatus_ =+    StartInstancesResponse'+    { _srsStartingInstances = Nothing+    , _srsStatus = pStatus_+    } -    request  = post "StartInstances"-    response = xmlResponse+-- | Information about one or more started instances.+srsStartingInstances :: Lens' StartInstancesResponse [InstanceStateChange]+srsStartingInstances = lens _srsStartingInstances (\ s a -> s{_srsStartingInstances = a}) . _Default . _Coerce; -instance FromXML StartInstancesResponse where-    parseXML x = StartInstancesResponse-        <$> x .@? "instancesSet" .!@ mempty+-- | The response status code.+srsStatus :: Lens' StartInstancesResponse Int+srsStatus = lens _srsStatus (\ s a -> s{_srsStatus = a});
gen/Network/AWS/EC2/StopInstances.hs view
@@ -1,164 +1,180 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.StopInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Stops an Amazon EBS-backed instance. Each time you transition an instance--- from stopped to started, Amazon EC2 charges a full instance hour, even if--- transitions happen multiple times within a single hour.+-- Stops an Amazon EBS-backed instance. Each time you transition an+-- instance from stopped to started, Amazon EC2 charges a full instance+-- hour, even if transitions happen multiple times within a single hour. ----- You can't start or stop Spot Instances.+-- You can\'t start or stop Spot Instances. ----- Instances that use Amazon EBS volumes as their root devices can be quickly--- stopped and started. When an instance is stopped, the compute resources are--- released and you are not billed for hourly instance usage. However, your root--- partition Amazon EBS volume remains, continues to persist your data, and you--- are charged for Amazon EBS volume usage. You can restart your instance at any--- time.+-- Instances that use Amazon EBS volumes as their root devices can be+-- quickly stopped and started. When an instance is stopped, the compute+-- resources are released and you are not billed for hourly instance usage.+-- However, your root partition Amazon EBS volume remains, continues to+-- persist your data, and you are charged for Amazon EBS volume usage. You+-- can restart your instance at any time. ----- Before stopping an instance, make sure it is in a state from which it can be--- restarted. Stopping an instance does not preserve data stored in RAM.+-- Before stopping an instance, make sure it is in a state from which it+-- can be restarted. Stopping an instance does not preserve data stored in+-- RAM. ----- Performing this operation on an instance that uses an instance store as its--- root device returns an error.+-- Performing this operation on an instance that uses an instance store as+-- its root device returns an error. -- -- You can stop, start, and terminate EBS-backed instances. You can only -- terminate instance store-backed instances. What happens to an instance -- differs if you stop it or terminate it. For example, when you stop an -- instance, the root device and any other devices attached to the instance -- persist. When you terminate an instance, the root device and any other--- devices attached during the instance launch are automatically deleted. For--- more information about the differences between stopping and terminating--- instances, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html Instance Lifecycle> in the /Amazon Elastic Compute Cloud UserGuide/.+-- devices attached during the instance launch are automatically deleted.+-- For more information about the differences between stopping and+-- terminating instances, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html Instance Lifecycle>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- For more information about troubleshooting, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html Troubleshooting StoppingYour Instance> in the /Amazon Elastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-StopInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-StopInstances.html AWS API Reference> for StopInstances. module Network.AWS.EC2.StopInstances     (-    -- * Request-      StopInstances-    -- ** Request constructor-    , stopInstances-    -- ** Request lenses-    , siDryRun+    -- * Creating a Request+      stopInstances+    , StopInstances+    -- * Request Lenses     , siForce+    , siDryRun     , siInstanceIds -    -- * Response-    , StopInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , stopInstancesResponse-    -- ** Response lenses-    , sirStoppingInstances+    , StopInstancesResponse+    -- * Response Lenses+    , sirsStoppingInstances+    , sirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data StopInstances = StopInstances-    { _siDryRun      :: Maybe Bool-    , _siForce       :: Maybe Bool-    , _siInstanceIds :: List "InstanceId" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'stopInstances' smart constructor.+data StopInstances = StopInstances'+    { _siForce       :: !(Maybe Bool)+    , _siDryRun      :: !(Maybe Bool)+    , _siInstanceIds :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'StopInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'StopInstances' with the minimum fields required to make a request. ----- * 'siDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'siForce' @::@ 'Maybe' 'Bool'+-- * 'siForce' ----- * 'siInstanceIds' @::@ ['Text']+-- * 'siDryRun' ---stopInstances :: StopInstances-stopInstances = StopInstances-    { _siDryRun      = Nothing+-- * 'siInstanceIds'+stopInstances+    :: StopInstances+stopInstances =+    StopInstances'+    { _siForce = Nothing+    , _siDryRun = Nothing     , _siInstanceIds = mempty-    , _siForce       = Nothing     } --- | 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'.-siDryRun :: Lens' StopInstances (Maybe Bool)-siDryRun = lens _siDryRun (\s a -> s { _siDryRun = a })---- | Forces the instances to stop. The instances do not have an opportunity to--- flush file system caches or file system metadata. If you use this option, you--- must perform file system check and repair procedures. This option is not--- recommended for Windows instances.+-- | Forces the instances to stop. The instances do not have an opportunity+-- to flush file system caches or file system metadata. If you use this+-- option, you must perform file system check and repair procedures. This+-- option is not recommended for Windows instances. -- -- Default: 'false' siForce :: Lens' StopInstances (Maybe Bool)-siForce = lens _siForce (\s a -> s { _siForce = a })+siForce = lens _siForce (\ s a -> s{_siForce = 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'.+siDryRun :: Lens' StopInstances (Maybe Bool)+siDryRun = lens _siDryRun (\ s a -> s{_siDryRun = a});+ -- | One or more instance IDs. siInstanceIds :: Lens' StopInstances [Text]-siInstanceIds = lens _siInstanceIds (\s a -> s { _siInstanceIds = a }) . _List--newtype StopInstancesResponse = StopInstancesResponse-    { _sirStoppingInstances :: List "item" InstanceStateChange-    } deriving (Eq, Read, Show, Monoid, Semigroup)+siInstanceIds = lens _siInstanceIds (\ s a -> s{_siInstanceIds = a}) . _Coerce; --- | 'StopInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'sirStoppingInstances' @::@ ['InstanceStateChange']----stopInstancesResponse :: StopInstancesResponse-stopInstancesResponse = StopInstancesResponse-    { _sirStoppingInstances = mempty-    }+instance AWSRequest StopInstances where+        type Sv StopInstances = EC2+        type Rs StopInstances = StopInstancesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 StopInstancesResponse' <$>+                   (x .@? "instancesSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more stopped instances.-sirStoppingInstances :: Lens' StopInstancesResponse [InstanceStateChange]-sirStoppingInstances =-    lens _sirStoppingInstances (\s a -> s { _sirStoppingInstances = a })-        . _List+instance ToHeaders StopInstances where+        toHeaders = const mempty  instance ToPath StopInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery StopInstances where-    toQuery StopInstances{..} = mconcat-        [ "DryRun"     =? _siDryRun-        , "Force"      =? _siForce-        , "InstanceId" `toQueryList` _siInstanceIds-        ]+        toQuery StopInstances'{..}+          = mconcat+              ["Action" =: ("StopInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "Force" =: _siForce, "DryRun" =: _siDryRun,+               toQueryList "InstanceId" _siInstanceIds] -instance ToHeaders StopInstances+-- | /See:/ 'stopInstancesResponse' smart constructor.+data StopInstancesResponse = StopInstancesResponse'+    { _sirsStoppingInstances :: !(Maybe [InstanceStateChange])+    , _sirsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest StopInstances where-    type Sv StopInstances = EC2-    type Rs StopInstances = StopInstancesResponse+-- | Creates a value of 'StopInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sirsStoppingInstances'+--+-- * 'sirsStatus'+stopInstancesResponse+    :: Int -- ^ 'sirsStatus'+    -> StopInstancesResponse+stopInstancesResponse pStatus_ =+    StopInstancesResponse'+    { _sirsStoppingInstances = Nothing+    , _sirsStatus = pStatus_+    } -    request  = post "StopInstances"-    response = xmlResponse+-- | Information about one or more stopped instances.+sirsStoppingInstances :: Lens' StopInstancesResponse [InstanceStateChange]+sirsStoppingInstances = lens _sirsStoppingInstances (\ s a -> s{_sirsStoppingInstances = a}) . _Default . _Coerce; -instance FromXML StopInstancesResponse where-    parseXML x = StopInstancesResponse-        <$> x .@? "instancesSet" .!@ mempty+-- | The response status code.+sirsStatus :: Lens' StopInstancesResponse Int+sirsStatus = lens _sirsStatus (\ s a -> s{_sirsStatus = a});
gen/Network/AWS/EC2/TerminateInstances.hs view
@@ -1,139 +1,157 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.TerminateInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Shuts down one or more instances. This operation is idempotent; if you+-- Shuts down one or more instances. This operation is idempotent; if you -- terminate an instance more than once, each call succeeds. ----- Terminated instances remain visible after termination (for approximately one--- hour).+-- Terminated instances remain visible after termination (for approximately+-- one hour). ----- By default, Amazon EC2 deletes all EBS volumes that were attached when the--- instance launched. Volumes attached after instance launch continue running.+-- By default, Amazon EC2 deletes all EBS volumes that were attached when+-- the instance launched. Volumes attached after instance launch continue+-- running. -- -- You can stop, start, and terminate EBS-backed instances. You can only -- terminate instance store-backed instances. What happens to an instance -- differs if you stop it or terminate it. For example, when you stop an -- instance, the root device and any other devices attached to the instance -- persist. When you terminate an instance, the root device and any other--- devices attached during the instance launch are automatically deleted. For--- more information about the differences between stopping and terminating--- instances, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html Instance Lifecycle> in the /Amazon Elastic Compute Cloud UserGuide/.+-- devices attached during the instance launch are automatically deleted.+-- For more information about the differences between stopping and+-- terminating instances, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html Instance Lifecycle>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- For more information about troubleshooting, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html Troubleshooting TerminatingYour Instance> in the /Amazon Elastic Compute Cloud User Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-TerminateInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-TerminateInstances.html AWS API Reference> for TerminateInstances. module Network.AWS.EC2.TerminateInstances     (-    -- * Request-      TerminateInstances-    -- ** Request constructor-    , terminateInstances-    -- ** Request lenses+    -- * Creating a Request+      terminateInstances+    , TerminateInstances+    -- * Request Lenses     , tiDryRun     , tiInstanceIds -    -- * Response-    , TerminateInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , terminateInstancesResponse-    -- ** Response lenses-    , tirTerminatingInstances+    , TerminateInstancesResponse+    -- * Response Lenses+    , tirsTerminatingInstances+    , tirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data TerminateInstances = TerminateInstances-    { _tiDryRun      :: Maybe Bool-    , _tiInstanceIds :: List "InstanceId" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'terminateInstances' smart constructor.+data TerminateInstances = TerminateInstances'+    { _tiDryRun      :: !(Maybe Bool)+    , _tiInstanceIds :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'TerminateInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'TerminateInstances' with the minimum fields required to make a request. ----- * 'tiDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'tiInstanceIds' @::@ ['Text']+-- * 'tiDryRun' ---terminateInstances :: TerminateInstances-terminateInstances = TerminateInstances-    { _tiDryRun      = Nothing+-- * 'tiInstanceIds'+terminateInstances+    :: TerminateInstances+terminateInstances =+    TerminateInstances'+    { _tiDryRun = Nothing     , _tiInstanceIds = mempty     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. tiDryRun :: Lens' TerminateInstances (Maybe Bool)-tiDryRun = lens _tiDryRun (\s a -> s { _tiDryRun = a })+tiDryRun = lens _tiDryRun (\ s a -> s{_tiDryRun = a});  -- | One or more instance IDs. tiInstanceIds :: Lens' TerminateInstances [Text]-tiInstanceIds = lens _tiInstanceIds (\s a -> s { _tiInstanceIds = a }) . _List--newtype TerminateInstancesResponse = TerminateInstancesResponse-    { _tirTerminatingInstances :: List "item" InstanceStateChange-    } deriving (Eq, Read, Show, Monoid, Semigroup)+tiInstanceIds = lens _tiInstanceIds (\ s a -> s{_tiInstanceIds = a}) . _Coerce; --- | 'TerminateInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'tirTerminatingInstances' @::@ ['InstanceStateChange']----terminateInstancesResponse :: TerminateInstancesResponse-terminateInstancesResponse = TerminateInstancesResponse-    { _tirTerminatingInstances = mempty-    }+instance AWSRequest TerminateInstances where+        type Sv TerminateInstances = EC2+        type Rs TerminateInstances =+             TerminateInstancesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 TerminateInstancesResponse' <$>+                   (x .@? "instancesSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Information about one or more terminated instances.-tirTerminatingInstances :: Lens' TerminateInstancesResponse [InstanceStateChange]-tirTerminatingInstances =-    lens _tirTerminatingInstances (\s a -> s { _tirTerminatingInstances = a })-        . _List+instance ToHeaders TerminateInstances where+        toHeaders = const mempty  instance ToPath TerminateInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery TerminateInstances where-    toQuery TerminateInstances{..} = mconcat-        [ "DryRun"     =? _tiDryRun-        , "InstanceId" `toQueryList` _tiInstanceIds-        ]+        toQuery TerminateInstances'{..}+          = mconcat+              ["Action" =: ("TerminateInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _tiDryRun,+               toQueryList "InstanceId" _tiInstanceIds] -instance ToHeaders TerminateInstances+-- | /See:/ 'terminateInstancesResponse' smart constructor.+data TerminateInstancesResponse = TerminateInstancesResponse'+    { _tirsTerminatingInstances :: !(Maybe [InstanceStateChange])+    , _tirsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest TerminateInstances where-    type Sv TerminateInstances = EC2-    type Rs TerminateInstances = TerminateInstancesResponse+-- | Creates a value of 'TerminateInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tirsTerminatingInstances'+--+-- * 'tirsStatus'+terminateInstancesResponse+    :: Int -- ^ 'tirsStatus'+    -> TerminateInstancesResponse+terminateInstancesResponse pStatus_ =+    TerminateInstancesResponse'+    { _tirsTerminatingInstances = Nothing+    , _tirsStatus = pStatus_+    } -    request  = post "TerminateInstances"-    response = xmlResponse+-- | Information about one or more terminated instances.+tirsTerminatingInstances :: Lens' TerminateInstancesResponse [InstanceStateChange]+tirsTerminatingInstances = lens _tirsTerminatingInstances (\ s a -> s{_tirsTerminatingInstances = a}) . _Default . _Coerce; -instance FromXML TerminateInstancesResponse where-    parseXML x = TerminateInstancesResponse-        <$> x .@? "instancesSet" .!@ mempty+-- | The response status code.+tirsStatus :: Lens' TerminateInstancesResponse Int+tirsStatus = lens _tirsStatus (\ s a -> s{_tirsStatus = a});
gen/Network/AWS/EC2/Types.hs view
@@ -1,14950 +1,1698 @@-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase                 #-}-{-# LANGUAGE NoImplicitPrelude          #-}-{-# LANGUAGE OverloadedStrings          #-}-{-# LANGUAGE RecordWildCards            #-}-{-# LANGUAGE TypeFamilies               #-}-{-# LANGUAGE ViewPatterns               #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.Types--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.--module Network.AWS.EC2.Types-    (-    -- * Service-      EC2-    -- ** Error-    , EC2Error-    -- ** XML-    , ns--    -- * ImageAttributeName-    , ImageAttributeName (..)--    -- * PermissionGroup-    , PermissionGroup (..)--    -- * NetworkAclEntry-    , NetworkAclEntry-    , networkAclEntry-    , naeCidrBlock-    , naeEgress-    , naeIcmpTypeCode-    , naePortRange-    , naeProtocol-    , naeRuleAction-    , naeRuleNumber--    -- * BlobAttributeValue-    , BlobAttributeValue-    , blobAttributeValue-    , bavValue--    -- * ImportInstanceLaunchSpecification-    , ImportInstanceLaunchSpecification-    , importInstanceLaunchSpecification-    , iilsAdditionalInfo-    , iilsArchitecture-    , iilsGroupIds-    , iilsGroupNames-    , iilsInstanceInitiatedShutdownBehavior-    , iilsInstanceType-    , iilsMonitoring-    , iilsPlacement-    , iilsPrivateIpAddress-    , iilsSubnetId-    , iilsUserData--    -- * Snapshot-    , Snapshot-    , snapshot-    , sDescription-    , sEncrypted-    , sKmsKeyId-    , sOwnerAlias-    , sOwnerId-    , sProgress-    , sSnapshotId-    , sStartTime-    , sState-    , sTags-    , sVolumeId-    , sVolumeSize--    -- * SpotInstanceStateFault-    , SpotInstanceStateFault-    , spotInstanceStateFault-    , sisfCode-    , sisfMessage--    -- * TagDescription-    , TagDescription-    , tagDescription-    , tdKey-    , tdResourceId-    , tdResourceType-    , tdValue--    -- * ImportSnapshotTask-    , ImportSnapshotTask-    , importSnapshotTask-    , istDescription-    , istImportTaskId-    , istSnapshotTaskDetail--    -- * GroupIdentifier-    , GroupIdentifier-    , groupIdentifier-    , giGroupId-    , giGroupName--    -- * VpnStaticRouteSource-    , VpnStaticRouteSource (..)--    -- * ReservedInstancesListing-    , ReservedInstancesListing-    , reservedInstancesListing-    , rilClientToken-    , rilCreateDate-    , rilInstanceCounts-    , rilPriceSchedules-    , rilReservedInstancesId-    , rilReservedInstancesListingId-    , rilStatus-    , rilStatusMessage-    , rilTags-    , rilUpdateDate--    -- * InstanceLifecycleType-    , InstanceLifecycleType (..)--    -- * State-    , State (..)--    -- * VirtualizationType-    , VirtualizationType (..)--    -- * NetworkInterfaceStatus-    , NetworkInterfaceStatus (..)--    -- * PlatformValues-    , PlatformValues (..)--    -- * CreateVolumePermission-    , CreateVolumePermission-    , createVolumePermission-    , cvpGroup-    , cvpUserId--    -- * NetworkInterfaceAttachmentChanges-    , NetworkInterfaceAttachmentChanges-    , networkInterfaceAttachmentChanges-    , niacAttachmentId-    , niacDeleteOnTermination--    -- * RecurringChargeFrequency-    , RecurringChargeFrequency (..)--    -- * DhcpOptions-    , DhcpOptions-    , dhcpOptions-    , doDhcpConfigurations-    , doDhcpOptionsId-    , doTags--    -- * InstanceNetworkInterfaceSpecification-    , InstanceNetworkInterfaceSpecification-    , instanceNetworkInterfaceSpecification-    , inisAssociatePublicIpAddress-    , inisDeleteOnTermination-    , inisDescription-    , inisDeviceIndex-    , inisGroups-    , inisNetworkInterfaceId-    , inisPrivateIpAddress-    , inisPrivateIpAddresses-    , inisSecondaryPrivateIpAddressCount-    , inisSubnetId--    -- * VolumeState-    , VolumeState (..)--    -- * AttributeValue-    , AttributeValue-    , attributeValue-    , avValue--    -- * PrivateIpAddressSpecification-    , PrivateIpAddressSpecification-    , privateIpAddressSpecification-    , piasPrimary-    , piasPrivateIpAddress--    -- * Image-    , Image-    , image-    , iArchitecture-    , iBlockDeviceMappings-    , iCreationDate-    , iDescription-    , iHypervisor-    , iImageId-    , iImageLocation-    , iImageOwnerAlias-    , iImageType-    , iKernelId-    , iName-    , iOwnerId-    , iPlatform-    , iProductCodes-    , iPublic-    , iRamdiskId-    , iRootDeviceName-    , iRootDeviceType-    , iSriovNetSupport-    , iState-    , iStateReason-    , iTags-    , iVirtualizationType--    -- * DhcpConfiguration-    , DhcpConfiguration-    , dhcpConfiguration-    , dcKey-    , dcValues--    -- * CancelSpotFleetRequestsError-    , CancelSpotFleetRequestsError-    , cancelSpotFleetRequestsError-    , csfreCode-    , csfreMessage--    -- * Tag-    , Tag-    , tag-    , tagKey-    , tagValue--    -- * AccountAttributeName-    , AccountAttributeName (..)--    -- * NetworkInterfaceAttachment-    , NetworkInterfaceAttachment-    , networkInterfaceAttachment-    , niaAttachTime-    , niaAttachmentId-    , niaDeleteOnTermination-    , niaDeviceIndex-    , niaInstanceId-    , niaInstanceOwnerId-    , niaStatus--    -- * RunInstancesMonitoringEnabled-    , RunInstancesMonitoringEnabled-    , runInstancesMonitoringEnabled-    , rimeEnabled--    -- * VolumeStatusInfo-    , VolumeStatusInfo-    , volumeStatusInfo-    , vsiDetails-    , vsiStatus--    -- * NetworkInterfaceAssociation-    , NetworkInterfaceAssociation-    , networkInterfaceAssociation-    , niaAllocationId-    , niaAssociationId-    , niaIpOwnerId-    , niaPublicDnsName-    , niaPublicIp--    -- * CreateVolumePermissionModifications-    , CreateVolumePermissionModifications-    , createVolumePermissionModifications-    , cvpmAdd-    , cvpmRemove--    -- * VpcState-    , VpcState (..)--    -- * ResourceType-    , ResourceType (..)--    -- * ReportStatusType-    , ReportStatusType (..)--    -- * CurrencyCodeValues-    , CurrencyCodeValues (..)--    -- * IcmpTypeCode-    , IcmpTypeCode-    , icmpTypeCode-    , itcCode-    , itcType--    -- * InstanceCount-    , InstanceCount-    , instanceCount-    , icInstanceCount-    , icState--    -- * ExportToS3Task-    , ExportToS3Task-    , exportToS3Task-    , etstContainerFormat-    , etstDiskImageFormat-    , etstS3Bucket-    , etstS3Key--    -- * PrefixList-    , PrefixList-    , prefixList-    , plCidrs-    , plPrefixListId-    , plPrefixListName--    -- * BlockDeviceMapping-    , BlockDeviceMapping-    , blockDeviceMapping-    , bdmDeviceName-    , bdmEbs-    , bdmNoDevice-    , bdmVirtualName--    -- * ConversionTask-    , ConversionTask-    , conversionTask-    , ctConversionTaskId-    , ctExpirationTime-    , ctImportInstance-    , ctImportVolume-    , ctState-    , ctStatusMessage-    , ctTags--    -- * AttachmentStatus-    , AttachmentStatus (..)--    -- * ClassicLinkInstance-    , ClassicLinkInstance-    , classicLinkInstance-    , cliGroups-    , cliInstanceId-    , cliTags-    , cliVpcId--    -- * RouteOrigin-    , RouteOrigin (..)--    -- * ListingState-    , ListingState (..)--    -- * SpotPrice-    , SpotPrice-    , spotPrice-    , spAvailabilityZone-    , spInstanceType-    , spProductDescription-    , spSpotPrice-    , spTimestamp--    -- * ActiveInstance-    , ActiveInstance-    , activeInstance-    , aiInstanceId-    , aiInstanceType-    , aiSpotInstanceRequestId--    -- * SpotFleetRequestConfigData-    , SpotFleetRequestConfigData-    , spotFleetRequestConfigData-    , sfrcdClientToken-    , sfrcdIamFleetRole-    , sfrcdLaunchSpecifications-    , sfrcdSpotPrice-    , sfrcdTargetCapacity-    , sfrcdTerminateInstancesWithExpiration-    , sfrcdValidFrom-    , sfrcdValidUntil--    -- * InstanceMonitoring-    , InstanceMonitoring-    , instanceMonitoring-    , imInstanceId-    , imMonitoring--    -- * PriceScheduleSpecification-    , PriceScheduleSpecification-    , priceScheduleSpecification-    , pssCurrencyCode-    , pssPrice-    , pssTerm--    -- * SpotFleetRequestConfig-    , SpotFleetRequestConfig-    , spotFleetRequestConfig-    , sfrcSpotFleetRequestConfig-    , sfrcSpotFleetRequestId-    , sfrcSpotFleetRequestState--    -- * SpotInstanceStatus-    , SpotInstanceStatus-    , spotInstanceStatus-    , sisCode-    , sisMessage-    , sisUpdateTime--    -- * SnapshotTaskDetail-    , SnapshotTaskDetail-    , snapshotTaskDetail-    , stdDescription-    , stdDiskImageSize-    , stdFormat-    , stdProgress-    , stdSnapshotId-    , stdStatus-    , stdStatusMessage-    , stdUrl-    , stdUserBucket--    -- * AvailabilityZoneState-    , AvailabilityZoneState (..)--    -- * SpotInstanceRequest-    , SpotInstanceRequest-    , spotInstanceRequest-    , siAvailabilityZoneGroup-    , siCreateTime-    , siFault-    , siInstanceId-    , siLaunchGroup-    , siLaunchSpecification-    , siLaunchedAvailabilityZone-    , siProductDescription-    , siSpotInstanceRequestId-    , siSpotPrice-    , siState-    , siStatus-    , siTags-    , siType-    , siValidFrom-    , siValidUntil--    -- * LaunchSpecification-    , LaunchSpecification-    , launchSpecification-    , lsAddressingType-    , lsBlockDeviceMappings-    , lsEbsOptimized-    , lsIamInstanceProfile-    , lsImageId-    , lsInstanceType-    , lsKernelId-    , lsKeyName-    , lsMonitoring-    , lsNetworkInterfaces-    , lsPlacement-    , lsRamdiskId-    , lsSecurityGroups-    , lsSubnetId-    , lsUserData--    -- * VolumeStatusEvent-    , VolumeStatusEvent-    , volumeStatusEvent-    , vseDescription-    , vseEventId-    , vseEventType-    , vseNotAfter-    , vseNotBefore--    -- * Volume-    , Volume-    , volume-    , vAttachments-    , vAvailabilityZone-    , vCreateTime-    , vEncrypted-    , vIops-    , vKmsKeyId-    , vSize-    , vSnapshotId-    , vState-    , vTags-    , vVolumeId-    , vVolumeType--    -- * Reservation-    , Reservation-    , reservation-    , rGroups-    , rInstances-    , rOwnerId-    , rRequesterId-    , rReservationId--    -- * ImportInstanceVolumeDetailItem-    , ImportInstanceVolumeDetailItem-    , importInstanceVolumeDetailItem-    , iivdiAvailabilityZone-    , iivdiBytesConverted-    , iivdiDescription-    , iivdiImage-    , iivdiStatus-    , iivdiStatusMessage-    , iivdiVolume--    -- * SummaryStatus-    , SummaryStatus (..)--    -- * ReservedInstancesModification-    , ReservedInstancesModification-    , reservedInstancesModification-    , rimClientToken-    , rimCreateDate-    , rimEffectiveDate-    , rimModificationResults-    , rimReservedInstancesIds-    , rimReservedInstancesModificationId-    , rimStatus-    , rimStatusMessage-    , rimUpdateDate--    -- * RuleAction-    , RuleAction (..)--    -- * BatchState-    , BatchState (..)--    -- * NetworkInterface-    , NetworkInterface-    , networkInterface-    , niAssociation-    , niAttachment-    , niAvailabilityZone-    , niDescription-    , niGroups-    , niMacAddress-    , niNetworkInterfaceId-    , niOwnerId-    , niPrivateDnsName-    , niPrivateIpAddress-    , niPrivateIpAddresses-    , niRequesterId-    , niRequesterManaged-    , niSourceDestCheck-    , niStatus-    , niSubnetId-    , niTagSet-    , niVpcId--    -- * TelemetryStatus-    , TelemetryStatus (..)--    -- * Subnet-    , Subnet-    , subnet-    , s1AvailabilityZone-    , s1AvailableIpAddressCount-    , s1CidrBlock-    , s1DefaultForAz-    , s1MapPublicIpOnLaunch-    , s1State-    , s1SubnetId-    , s1Tags-    , s1VpcId--    -- * KeyPairInfo-    , KeyPairInfo-    , keyPairInfo-    , kpiKeyFingerprint-    , kpiKeyName--    -- * LaunchPermissionModifications-    , LaunchPermissionModifications-    , launchPermissionModifications-    , lpmAdd-    , lpmRemove--    -- * SnapshotState-    , SnapshotState (..)--    -- * InstanceNetworkInterfaceAssociation-    , InstanceNetworkInterfaceAssociation-    , instanceNetworkInterfaceAssociation-    , iniaIpOwnerId-    , iniaPublicDnsName-    , iniaPublicIp--    -- * DiskImageDetail-    , DiskImageDetail-    , diskImageDetail-    , didBytes-    , didFormat-    , didImportManifestUrl--    -- * InstancePrivateIpAddress-    , InstancePrivateIpAddress-    , instancePrivateIpAddress-    , ipiaAssociation-    , ipiaPrimary-    , ipiaPrivateDnsName-    , ipiaPrivateIpAddress--    -- * CancelledSpotInstanceRequest-    , CancelledSpotInstanceRequest-    , cancelledSpotInstanceRequest-    , csiSpotInstanceRequestId-    , csiState--    -- * VpnConnectionOptionsSpecification-    , VpnConnectionOptionsSpecification-    , vpnConnectionOptionsSpecification-    , vcosStaticRoutesOnly--    -- * Address-    , Address-    , address-    , aAllocationId-    , aAssociationId-    , aDomain-    , aInstanceId-    , aNetworkInterfaceId-    , aNetworkInterfaceOwnerId-    , aPrivateIpAddress-    , aPublicIp--    -- * VolumeAttachmentState-    , VolumeAttachmentState (..)--    -- * MovingAddressStatus-    , MovingAddressStatus-    , movingAddressStatus-    , masMoveStatus-    , masPublicIp--    -- * LaunchPermission-    , LaunchPermission-    , launchPermission-    , lpGroup-    , lpUserId--    -- * RouteState-    , RouteState (..)--    -- * RouteTableAssociation-    , RouteTableAssociation-    , routeTableAssociation-    , rtaMain-    , rtaRouteTableAssociationId-    , rtaRouteTableId-    , rtaSubnetId--    -- * BundleTaskState-    , BundleTaskState (..)--    -- * PortRange-    , PortRange-    , portRange-    , prFrom-    , prTo--    -- * VpcAttributeName-    , VpcAttributeName (..)--    -- * ReservedInstancesConfiguration-    , ReservedInstancesConfiguration-    , reservedInstancesConfiguration-    , ricAvailabilityZone-    , ricInstanceCount-    , ricInstanceType-    , ricPlatform--    -- * VolumeStatusDetails-    , VolumeStatusDetails-    , volumeStatusDetails-    , vsdName-    , vsdStatus--    -- * SpotInstanceState-    , SpotInstanceState (..)--    -- * VpnConnectionOptions-    , VpnConnectionOptions-    , vpnConnectionOptions-    , vcoStaticRoutesOnly--    -- * UserIdGroupPair-    , UserIdGroupPair-    , userIdGroupPair-    , uigpGroupId-    , uigpGroupName-    , uigpUserId--    -- * InstanceStatusSummary-    , InstanceStatusSummary-    , instanceStatusSummary-    , issDetails-    , issStatus--    -- * SpotPlacement-    , SpotPlacement-    , spotPlacement-    , sp1AvailabilityZone-    , sp1GroupName--    -- * EbsInstanceBlockDeviceSpecification-    , EbsInstanceBlockDeviceSpecification-    , ebsInstanceBlockDeviceSpecification-    , eibdsDeleteOnTermination-    , eibdsVolumeId--    -- * NetworkAclAssociation-    , NetworkAclAssociation-    , networkAclAssociation-    , naaNetworkAclAssociationId-    , naaNetworkAclId-    , naaSubnetId--    -- * BundleTask-    , BundleTask-    , bundleTask-    , btBundleId-    , btBundleTaskError-    , btInstanceId-    , btProgress-    , btStartTime-    , btState-    , btStorage-    , btUpdateTime--    -- * InstanceStatusEvent-    , InstanceStatusEvent-    , instanceStatusEvent-    , iseCode-    , iseDescription-    , iseNotAfter-    , iseNotBefore--    -- * InstanceType-    , InstanceType (..)--    -- * Route-    , Route-    , route-    , rDestinationCidrBlock-    , rDestinationPrefixListId-    , rGatewayId-    , rInstanceId-    , rInstanceOwnerId-    , rNetworkInterfaceId-    , rOrigin-    , rState-    , rVpcPeeringConnectionId--    -- * SpotDatafeedSubscription-    , SpotDatafeedSubscription-    , spotDatafeedSubscription-    , sdsBucket-    , sdsFault-    , sdsOwnerId-    , sdsPrefix-    , sdsState--    -- * Storage-    , Storage-    , storage-    , sS3--    -- * SecurityGroup-    , SecurityGroup-    , securityGroup-    , sgDescription-    , sgGroupId-    , sgGroupName-    , sgIpPermissions-    , sgIpPermissionsEgress-    , sgOwnerId-    , sgTags-    , sgVpcId--    -- * CancelSpotInstanceRequestState-    , CancelSpotInstanceRequestState (..)--    -- * PlacementGroupState-    , PlacementGroupState (..)--    -- * ReservedInstancesModificationResult-    , ReservedInstancesModificationResult-    , reservedInstancesModificationResult-    , rimrReservedInstancesId-    , rimrTargetConfiguration--    -- * InstanceBlockDeviceMappingSpecification-    , InstanceBlockDeviceMappingSpecification-    , instanceBlockDeviceMappingSpecification-    , ibdmsDeviceName-    , ibdmsEbs-    , ibdmsNoDevice-    , ibdmsVirtualName--    -- * ExportEnvironment-    , ExportEnvironment (..)--    -- * UserData-    , UserData-    , userData-    , udData--    -- * VolumeAttachment-    , VolumeAttachment-    , volumeAttachment-    , vaAttachTime-    , vaDeleteOnTermination-    , vaDevice-    , vaInstanceId-    , vaState-    , vaVolumeId--    -- * CustomerGateway-    , CustomerGateway-    , customerGateway-    , cgBgpAsn-    , cgCustomerGatewayId-    , cgIpAddress-    , cgState-    , cgTags-    , cgType--    -- * EbsInstanceBlockDevice-    , EbsInstanceBlockDevice-    , ebsInstanceBlockDevice-    , eibdAttachTime-    , eibdDeleteOnTermination-    , eibdStatus-    , eibdVolumeId--    -- * ShutdownBehavior-    , ShutdownBehavior (..)--    -- * DiskImageDescription-    , DiskImageDescription-    , diskImageDescription-    , did1Checksum-    , did1Format-    , did1ImportManifestUrl-    , did1Size--    -- * DiskImageVolumeDescription-    , DiskImageVolumeDescription-    , diskImageVolumeDescription-    , divdId-    , divdSize--    -- * Monitoring-    , Monitoring-    , monitoring-    , mState--    -- * SubnetState-    , SubnetState (..)--    -- * CancelSpotFleetRequestsSuccessItem-    , CancelSpotFleetRequestsSuccessItem-    , cancelSpotFleetRequestsSuccessItem-    , csfrsiCurrentSpotFleetRequestState-    , csfrsiPreviousSpotFleetRequestState-    , csfrsiSpotFleetRequestId--    -- * ContainerFormat-    , ContainerFormat (..)--    -- * AvailabilityZoneMessage-    , AvailabilityZoneMessage-    , availabilityZoneMessage-    , azmMessage--    -- * VpcAttachment-    , VpcAttachment-    , vpcAttachment-    , va1State-    , va1VpcId--    -- * EventType-    , EventType (..)--    -- * InstanceBlockDeviceMapping-    , InstanceBlockDeviceMapping-    , instanceBlockDeviceMapping-    , ibdmDeviceName-    , ibdmEbs--    -- * StatusType-    , StatusType (..)--    -- * ExportToS3TaskSpecification-    , ExportToS3TaskSpecification-    , exportToS3TaskSpecification-    , etstsContainerFormat-    , etstsDiskImageFormat-    , etstsS3Bucket-    , etstsS3Prefix--    -- * CancelBatchErrorCode-    , CancelBatchErrorCode (..)--    -- * PrefixListId-    , PrefixListId-    , prefixListId-    , pliPrefixListId--    -- * NetworkInterfaceAttribute-    , NetworkInterfaceAttribute (..)--    -- * ImageTypeValues-    , ImageTypeValues (..)--    -- * InstanceExportDetails-    , InstanceExportDetails-    , instanceExportDetails-    , iedInstanceId-    , iedTargetEnvironment--    -- * SnapshotAttributeName-    , SnapshotAttributeName (..)--    -- * AvailabilityZone-    , AvailabilityZone-    , availabilityZone-    , azMessages-    , azRegionName-    , azState-    , azZoneName--    -- * HistoryRecord-    , HistoryRecord-    , historyRecord-    , hrEventInformation-    , hrEventType-    , hrTimestamp--    -- * ImportImageTask-    , ImportImageTask-    , importImageTask-    , iitArchitecture-    , iitDescription-    , iitHypervisor-    , iitImageId-    , iitImportTaskId-    , iitLicenseType-    , iitPlatform-    , iitProgress-    , iitSnapshotDetails-    , iitStatus-    , iitStatusMessage--    -- * VpnState-    , VpnState (..)--    -- * RouteTable-    , RouteTable-    , routeTable-    , rtAssociations-    , rtPropagatingVgws-    , rtRouteTableId-    , rtRoutes-    , rtTags-    , rtVpcId--    -- * UserBucket-    , UserBucket-    , userBucket-    , ubS3Bucket-    , ubS3Key--    -- * HypervisorType-    , HypervisorType (..)--    -- * CancelSpotFleetRequestsErrorItem-    , CancelSpotFleetRequestsErrorItem-    , cancelSpotFleetRequestsErrorItem-    , csfreiError-    , csfreiSpotFleetRequestId--    -- * InstanceStatusDetails-    , InstanceStatusDetails-    , instanceStatusDetails-    , isdImpairedSince-    , isdName-    , isdStatus--    -- * IamInstanceProfile-    , IamInstanceProfile-    , iamInstanceProfile-    , iipArn-    , iipId--    -- * UnsuccessfulItem-    , UnsuccessfulItem-    , unsuccessfulItem-    , uiError-    , uiResourceId--    -- * InternetGatewayAttachment-    , InternetGatewayAttachment-    , internetGatewayAttachment-    , igaState-    , igaVpcId--    -- * AddressStatus-    , AddressStatus (..)--    -- * ReservedInstanceState-    , ReservedInstanceState (..)--    -- * InstanceAttributeName-    , InstanceAttributeName (..)--    -- * IpPermission-    , IpPermission-    , ipPermission-    , ipFromPort-    , ipIpProtocol-    , ipIpRanges-    , ipPrefixListIds-    , ipToPort-    , ipUserIdGroupPairs--    -- * ConversionTaskState-    , ConversionTaskState (..)--    -- * DiskImage-    , DiskImage-    , diskImage-    , diDescription-    , diImage-    , diVolume--    -- * Tenancy-    , Tenancy (..)--    -- * UnsuccessfulItemError-    , UnsuccessfulItemError-    , unsuccessfulItemError-    , uieCode-    , uieMessage--    -- * VpcPeeringConnectionStateReason-    , VpcPeeringConnectionStateReason-    , vpcPeeringConnectionStateReason-    , vpcsrCode-    , vpcsrMessage--    -- * IamInstanceProfileSpecification-    , IamInstanceProfileSpecification-    , iamInstanceProfileSpecification-    , iipsArn-    , iipsName--    -- * ImportVolumeTaskDetails-    , ImportVolumeTaskDetails-    , importVolumeTaskDetails-    , ivtdAvailabilityZone-    , ivtdBytesConverted-    , ivtdDescription-    , ivtdImage-    , ivtdVolume--    -- * PlacementStrategy-    , PlacementStrategy (..)--    -- * InstanceNetworkInterface-    , InstanceNetworkInterface-    , instanceNetworkInterface-    , iniAssociation-    , iniAttachment-    , iniDescription-    , iniGroups-    , iniMacAddress-    , iniNetworkInterfaceId-    , iniOwnerId-    , iniPrivateDnsName-    , iniPrivateIpAddress-    , iniPrivateIpAddresses-    , iniSourceDestCheck-    , iniStatus-    , iniSubnetId-    , iniVpcId--    -- * VolumeStatusAction-    , VolumeStatusAction-    , volumeStatusAction-    , vsaCode-    , vsaDescription-    , vsaEventId-    , vsaEventType--    -- * VpcPeeringConnectionVpcInfo-    , VpcPeeringConnectionVpcInfo-    , vpcPeeringConnectionVpcInfo-    , vpcviCidrBlock-    , vpcviOwnerId-    , vpcviVpcId--    -- * UserBucketDetails-    , UserBucketDetails-    , userBucketDetails-    , ubdS3Bucket-    , ubdS3Key--    -- * ReservedInstanceLimitPrice-    , ReservedInstanceLimitPrice-    , reservedInstanceLimitPrice-    , rilpAmount-    , rilpCurrencyCode--    -- * Vpc-    , Vpc-    , vpc-    , vpcCidrBlock-    , vpcDhcpOptionsId-    , vpcInstanceTenancy-    , vpcIsDefault-    , vpcState-    , vpcTags-    , vpcVpcId--    -- * ImageDiskContainer-    , ImageDiskContainer-    , imageDiskContainer-    , idcDescription-    , idcDeviceName-    , idcFormat-    , idcSnapshotId-    , idcUrl-    , idcUserBucket--    -- * InstanceStatus-    , InstanceStatus-    , instanceStatus-    , isAvailabilityZone-    , isEvents-    , isInstanceId-    , isInstanceState-    , isInstanceStatus-    , isSystemStatus--    -- * ArchitectureValues-    , ArchitectureValues (..)--    -- * ReportInstanceReasonCodes-    , ReportInstanceReasonCodes (..)--    -- * MoveStatus-    , MoveStatus (..)--    -- * EbsBlockDevice-    , EbsBlockDevice-    , ebsBlockDevice-    , ebdDeleteOnTermination-    , ebdEncrypted-    , ebdIops-    , ebdSnapshotId-    , ebdVolumeSize-    , ebdVolumeType--    -- * AccountAttribute-    , AccountAttribute-    , accountAttribute-    , aaAttributeName-    , aaAttributeValues--    -- * SnapshotDetail-    , SnapshotDetail-    , snapshotDetail-    , sdDescription-    , sdDeviceName-    , sdDiskImageSize-    , sdFormat-    , sdProgress-    , sdSnapshotId-    , sdStatus-    , sdStatusMessage-    , sdUrl-    , sdUserBucket--    -- * PriceSchedule-    , PriceSchedule-    , priceSchedule-    , psActive-    , psCurrencyCode-    , psPrice-    , psTerm--    -- * DeviceType-    , DeviceType (..)--    -- * DomainType-    , DomainType (..)--    -- * Region-    , Region-    , region-    , rEndpoint-    , rRegionName--    -- * PropagatingVgw-    , PropagatingVgw-    , propagatingVgw-    , pvGatewayId--    -- * OfferingTypeValues-    , OfferingTypeValues (..)--    -- * VpnGateway-    , VpnGateway-    , vpnGateway-    , vgAvailabilityZone-    , vgState-    , vgTags-    , vgType-    , vgVpcAttachments-    , vgVpnGatewayId--    -- * EventInformation-    , EventInformation-    , eventInformation-    , eiEventDescription-    , eiEventSubType-    , eiInstanceId--    -- * Filter-    , Filter-    , filter'-    , fName-    , fValues--    -- * VolumeType-    , VolumeType (..)--    -- * InstanceStateChange-    , InstanceStateChange-    , instanceStateChange-    , iscCurrentState-    , iscInstanceId-    , iscPreviousState--    -- * NetworkAcl-    , NetworkAcl-    , networkAcl-    , naAssociations-    , naEntries-    , naIsDefault-    , naNetworkAclId-    , naTags-    , naVpcId--    -- * ImageState-    , ImageState (..)--    -- * GatewayType-    , GatewayType (..)--    -- * InstanceNetworkInterfaceAttachment-    , InstanceNetworkInterfaceAttachment-    , instanceNetworkInterfaceAttachment-    , iniaAttachTime-    , iniaAttachmentId-    , iniaDeleteOnTermination-    , iniaDeviceIndex-    , iniaStatus--    -- * AttributeBooleanValue-    , AttributeBooleanValue-    , attributeBooleanValue-    , abvValue--    -- * RecurringCharge-    , RecurringCharge-    , recurringCharge-    , rcAmount-    , rcFrequency--    -- * NewDhcpConfiguration-    , NewDhcpConfiguration-    , newDhcpConfiguration-    , ndcKey-    , ndcValues--    -- * StateReason-    , StateReason-    , stateReason-    , srCode-    , srMessage--    -- * MonitoringState-    , MonitoringState (..)--    -- * ReservedInstancesId-    , ReservedInstancesId-    , reservedInstancesId-    , riiReservedInstancesId--    -- * StatusName-    , StatusName (..)--    -- * InternetGateway-    , InternetGateway-    , internetGateway-    , igAttachments-    , igInternetGatewayId-    , igTags--    -- * VolumeStatusName-    , VolumeStatusName (..)--    -- * VolumeAttributeName-    , VolumeAttributeName (..)--    -- * ImportInstanceTaskDetails-    , ImportInstanceTaskDetails-    , importInstanceTaskDetails-    , iitdDescription-    , iitdInstanceId-    , iitdPlatform-    , iitdVolumes--    -- * PlacementGroup-    , PlacementGroup-    , placementGroup-    , pgGroupName-    , pgState-    , pgStrategy--    -- * ProductCode-    , ProductCode-    , productCode-    , pcProductCodeId-    , pcProductCodeType--    -- * ListingStatus-    , ListingStatus (..)--    -- * IpRange-    , IpRange-    , ipRange-    , irCidrIp--    -- * VolumeStatusInfoStatus-    , VolumeStatusInfoStatus (..)--    -- * AccountAttributeValue-    , AccountAttributeValue-    , accountAttributeValue-    , aavAttributeValue--    -- * SnapshotDiskContainer-    , SnapshotDiskContainer-    , snapshotDiskContainer-    , sdcDescription-    , sdcFormat-    , sdcUrl-    , sdcUserBucket--    -- * RIProductDescription-    , RIProductDescription (..)--    -- * ReservedInstancesOffering-    , ReservedInstancesOffering-    , reservedInstancesOffering-    , rioAvailabilityZone-    , rioCurrencyCode-    , rioDuration-    , rioFixedPrice-    , rioInstanceTenancy-    , rioInstanceType-    , rioMarketplace-    , rioOfferingType-    , rioPricingDetails-    , rioProductDescription-    , rioRecurringCharges-    , rioReservedInstancesOfferingId-    , rioUsagePrice--    -- * ReservedInstances-    , ReservedInstances-    , reservedInstances-    , ri1AvailabilityZone-    , ri1CurrencyCode-    , ri1Duration-    , ri1End-    , ri1FixedPrice-    , ri1InstanceCount-    , ri1InstanceTenancy-    , ri1InstanceType-    , ri1OfferingType-    , ri1ProductDescription-    , ri1RecurringCharges-    , ri1ReservedInstancesId-    , ri1Start-    , ri1State-    , ri1Tags-    , ri1UsagePrice--    -- * DatafeedSubscriptionState-    , DatafeedSubscriptionState (..)--    -- * ExportTaskState-    , ExportTaskState (..)--    -- * ProductCodeValues-    , ProductCodeValues (..)--    -- * VpnConnection-    , VpnConnection-    , vpnConnection-    , vcCustomerGatewayConfiguration-    , vcCustomerGatewayId-    , vcOptions-    , vcRoutes-    , vcState-    , vcTags-    , vcType-    , vcVgwTelemetry-    , vcVpnConnectionId-    , vcVpnGatewayId--    -- * InstanceState-    , InstanceState-    , instanceState-    , isCode-    , isName--    -- * VpcEndpoint-    , VpcEndpoint-    , vpcEndpoint-    , veCreationTimestamp-    , vePolicyDocument-    , veRouteTableIds-    , veServiceName-    , veState-    , veVpcEndpointId-    , veVpcId--    -- * ClientData-    , ClientData-    , clientData-    , cdComment-    , cdUploadEnd-    , cdUploadSize-    , cdUploadStart--    -- * Placement-    , Placement-    , placement-    , pAvailabilityZone-    , pGroupName-    , pTenancy--    -- * EventCode-    , EventCode (..)--    -- * SpotInstanceType-    , SpotInstanceType (..)--    -- * VpcPeeringConnection-    , VpcPeeringConnection-    , vpcPeeringConnection-    , vpc1AccepterVpcInfo-    , vpc1ExpirationTime-    , vpc1RequesterVpcInfo-    , vpc1Status-    , vpc1Tags-    , vpc1VpcPeeringConnectionId--    -- * S3Storage-    , S3Storage-    , s3Storage-    , ssAWSAccessKeyId-    , ssBucket-    , ssPrefix-    , ssUploadPolicy-    , ssUploadPolicySignature--    -- * VgwTelemetry-    , VgwTelemetry-    , vgwTelemetry-    , vtAcceptedRouteCount-    , vtLastStatusChange-    , vtOutsideIpAddress-    , vtStatus-    , vtStatusMessage--    -- * VpnStaticRoute-    , VpnStaticRoute-    , vpnStaticRoute-    , vsrDestinationCidrBlock-    , vsrSource-    , vsrState--    -- * InstanceStateName-    , InstanceStateName (..)--    -- * Instance-    , Instance-    , instance'-    , i1AmiLaunchIndex-    , i1Architecture-    , i1BlockDeviceMappings-    , i1ClientToken-    , i1EbsOptimized-    , i1Hypervisor-    , i1IamInstanceProfile-    , i1ImageId-    , i1InstanceId-    , i1InstanceLifecycle-    , i1InstanceType-    , i1KernelId-    , i1KeyName-    , i1LaunchTime-    , i1Monitoring-    , i1NetworkInterfaces-    , i1Placement-    , i1Platform-    , i1PrivateDnsName-    , i1PrivateIpAddress-    , i1ProductCodes-    , i1PublicDnsName-    , i1PublicIpAddress-    , i1RamdiskId-    , i1RootDeviceName-    , i1RootDeviceType-    , i1SecurityGroups-    , i1SourceDestCheck-    , i1SpotInstanceRequestId-    , i1SriovNetSupport-    , i1State-    , i1StateReason-    , i1StateTransitionReason-    , i1SubnetId-    , i1Tags-    , i1VirtualizationType-    , i1VpcId--    -- * ExportTask-    , ExportTask-    , exportTask-    , etDescription-    , etExportTaskId-    , etExportToS3Task-    , etInstanceExportDetails-    , etState-    , etStatusMessage--    -- * ResetImageAttributeName-    , ResetImageAttributeName (..)--    -- * RequestSpotLaunchSpecification-    , RequestSpotLaunchSpecification-    , requestSpotLaunchSpecification-    , rslsAddressingType-    , rslsBlockDeviceMappings-    , rslsEbsOptimized-    , rslsIamInstanceProfile-    , rslsImageId-    , rslsInstanceType-    , rslsKernelId-    , rslsKeyName-    , rslsMonitoring-    , rslsNetworkInterfaces-    , rslsPlacement-    , rslsRamdiskId-    , rslsSecurityGroupIds-    , rslsSecurityGroups-    , rslsSubnetId-    , rslsUserData--    -- * VolumeDetail-    , VolumeDetail-    , volumeDetail-    , vdSize--    -- * PricingDetail-    , PricingDetail-    , pricingDetail-    , pdCount-    , pdPrice--    -- * NetworkInterfacePrivateIpAddress-    , NetworkInterfacePrivateIpAddress-    , networkInterfacePrivateIpAddress-    , nipiaAssociation-    , nipiaPrimary-    , nipiaPrivateDnsName-    , nipiaPrivateIpAddress--    -- * DiskImageFormat-    , DiskImageFormat (..)--    -- * BundleTaskError-    , BundleTaskError-    , bundleTaskError-    , bteCode-    , bteMessage--    -- * VpcClassicLink-    , VpcClassicLink-    , vpcClassicLink-    , vclClassicLinkEnabled-    , vclTags-    , vclVpcId--    -- * VolumeStatusItem-    , VolumeStatusItem-    , volumeStatusItem-    , vsiActions-    , vsiAvailabilityZone-    , vsiEvents-    , vsiVolumeId-    , vsiVolumeStatus--    -- * Common-    , module Network.AWS.EC2.Internal-    ) where--import qualified GHC.Exts-import           Network.AWS.EC2.Internal-import           Network.AWS.Prelude-import           Network.AWS.Signing---- | Version @2015-04-15@ of the Amazon Elastic Compute Cloud service.-data EC2--instance AWSService EC2 where-    type Sg EC2 = V4-    type Er EC2 = EC2Error--    service = service'-      where-        service' :: Service EC2-        service' = Service-            { _svcAbbrev       = "EC2"-            , _svcPrefix       = "ec2"-            , _svcVersion      = "2015-04-15"-            , _svcTargetPrefix = Nothing-            , _svcJSONVersion  = Nothing-            , _svcHandle       = handle-            , _svcRetry        = retry-            }--        handle :: Status-               -> Maybe (LazyByteString -> ServiceError EC2Error)-        handle = restError statusSuccess service'--        retry :: Retry EC2-        retry = Exponential-            { _retryBase     = 0.05-            , _retryGrowth   = 2-            , _retryAttempts = 5-            , _retryCheck    = check-            }--        check :: Status-              -> EC2Error-              -> Bool-        check (statusCode -> s) (awsErrorCode -> e)-            | s == 503 && (Just "RequestLimitExceeded") == e = True -- Request Limit Exceeded-            | s == 500  = True -- General Server Error-            | s == 509  = True -- Limit Exceeded-            | s == 503  = True -- Service Unavailable-            | otherwise = False--ns :: Text-ns = "http://ec2.amazonaws.com/doc/2015-04-15"-{-# INLINE ns #-}--data ImageAttributeName-    = ImageBlockDeviceMapping -- ^ blockDeviceMapping-    | ImageDescription        -- ^ description-    | ImageKernel             -- ^ kernel-    | ImageLaunchPermission   -- ^ launchPermission-    | ImageProductCodes       -- ^ productCodes-    | ImageRamdisk            -- ^ ramdisk-    | ImageSriovNetSupport    -- ^ sriovNetSupport-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ImageAttributeName--instance FromText ImageAttributeName where-    parser = takeLowerText >>= \case-        "blockdevicemapping" -> pure ImageBlockDeviceMapping-        "description"        -> pure ImageDescription-        "kernel"             -> pure ImageKernel-        "launchpermission"   -> pure ImageLaunchPermission-        "productcodes"       -> pure ImageProductCodes-        "ramdisk"            -> pure ImageRamdisk-        "sriovnetsupport"    -> pure ImageSriovNetSupport-        e                    -> fail $-            "Failure parsing ImageAttributeName from " ++ show e--instance ToText ImageAttributeName where-    toText = \case-        ImageBlockDeviceMapping -> "blockDeviceMapping"-        ImageDescription        -> "description"-        ImageKernel             -> "kernel"-        ImageLaunchPermission   -> "launchPermission"-        ImageProductCodes       -> "productCodes"-        ImageRamdisk            -> "ramdisk"-        ImageSriovNetSupport    -> "sriovNetSupport"--instance ToByteString ImageAttributeName-instance ToHeader     ImageAttributeName-instance ToQuery      ImageAttributeName--instance FromXML ImageAttributeName where-    parseXML = parseXMLText "ImageAttributeName"--data PermissionGroup-    = All -- ^ all-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable PermissionGroup--instance FromText PermissionGroup where-    parser = takeLowerText >>= \case-        "all" -> pure All-        e     -> fail $-            "Failure parsing PermissionGroup from " ++ show e--instance ToText PermissionGroup where-    toText All = "all"--instance ToByteString PermissionGroup-instance ToHeader     PermissionGroup-instance ToQuery      PermissionGroup--instance FromXML PermissionGroup where-    parseXML = parseXMLText "PermissionGroup"--data NetworkAclEntry = NetworkAclEntry-    { _naeCidrBlock    :: Maybe Text-    , _naeEgress       :: Maybe Bool-    , _naeIcmpTypeCode :: Maybe IcmpTypeCode-    , _naePortRange    :: Maybe PortRange-    , _naeProtocol     :: Maybe Text-    , _naeRuleAction   :: Maybe RuleAction-    , _naeRuleNumber   :: Maybe Int-    } deriving (Eq, Read, Show)---- | 'NetworkAclEntry' constructor.------ The fields accessible through corresponding lenses are:------ * 'naeCidrBlock' @::@ 'Maybe' 'Text'------ * 'naeEgress' @::@ 'Maybe' 'Bool'------ * 'naeIcmpTypeCode' @::@ 'Maybe' 'IcmpTypeCode'------ * 'naePortRange' @::@ 'Maybe' 'PortRange'------ * 'naeProtocol' @::@ 'Maybe' 'Text'------ * 'naeRuleAction' @::@ 'Maybe' 'RuleAction'------ * 'naeRuleNumber' @::@ 'Maybe' 'Int'----networkAclEntry :: NetworkAclEntry-networkAclEntry = NetworkAclEntry-    { _naeRuleNumber   = Nothing-    , _naeProtocol     = Nothing-    , _naeRuleAction   = Nothing-    , _naeEgress       = Nothing-    , _naeCidrBlock    = Nothing-    , _naeIcmpTypeCode = Nothing-    , _naePortRange    = Nothing-    }---- | 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 })---- | ICMP protocol: The ICMP type and code.-naeIcmpTypeCode :: Lens' NetworkAclEntry (Maybe IcmpTypeCode)-naeIcmpTypeCode = lens _naeIcmpTypeCode (\s a -> s { _naeIcmpTypeCode = 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 protocol. A value of '-1' means all protocols.-naeProtocol :: Lens' NetworkAclEntry (Maybe Text)-naeProtocol = lens _naeProtocol (\s a -> s { _naeProtocol = 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 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 })--instance FromXML NetworkAclEntry where-    parseXML x = NetworkAclEntry-        <$> x .@? "cidrBlock"-        <*> x .@? "egress"-        <*> x .@? "icmpTypeCode"-        <*> x .@? "portRange"-        <*> x .@? "protocol"-        <*> x .@? "ruleAction"-        <*> x .@? "ruleNumber"--instance ToQuery NetworkAclEntry where-    toQuery NetworkAclEntry{..} = mconcat-        [ "CidrBlock"    =? _naeCidrBlock-        , "Egress"       =? _naeEgress-        , "IcmpTypeCode" =? _naeIcmpTypeCode-        , "PortRange"    =? _naePortRange-        , "Protocol"     =? _naeProtocol-        , "RuleAction"   =? _naeRuleAction-        , "RuleNumber"   =? _naeRuleNumber-        ]--newtype BlobAttributeValue = BlobAttributeValue-    { _bavValue :: Maybe Base64-    } deriving (Eq, Read, Show)---- | 'BlobAttributeValue' constructor.------ The fields accessible through corresponding lenses are:------ * 'bavValue' @::@ 'Maybe' 'Base64'----blobAttributeValue :: BlobAttributeValue-blobAttributeValue = BlobAttributeValue-    { _bavValue = Nothing-    }--bavValue :: Lens' BlobAttributeValue (Maybe Base64)-bavValue = lens _bavValue (\s a -> s { _bavValue = a })--instance FromXML BlobAttributeValue where-    parseXML x = BlobAttributeValue-        <$> x .@? "value"--instance ToQuery BlobAttributeValue where-    toQuery BlobAttributeValue{..} = mconcat-        [ "Value" =? _bavValue-        ]--data ImportInstanceLaunchSpecification = ImportInstanceLaunchSpecification-    { _iilsAdditionalInfo                    :: Maybe Text-    , _iilsArchitecture                      :: Maybe ArchitectureValues-    , _iilsGroupIds                          :: List "SecurityGroupId" Text-    , _iilsGroupNames                        :: List "SecurityGroup" Text-    , _iilsInstanceInitiatedShutdownBehavior :: Maybe ShutdownBehavior-    , _iilsInstanceType                      :: Maybe InstanceType-    , _iilsMonitoring                        :: Maybe Bool-    , _iilsPlacement                         :: Maybe Placement-    , _iilsPrivateIpAddress                  :: Maybe Text-    , _iilsSubnetId                          :: Maybe Text-    , _iilsUserData                          :: Maybe UserData-    } deriving (Eq, Read, Show)---- | 'ImportInstanceLaunchSpecification' constructor.------ The fields accessible through corresponding lenses are:------ * 'iilsAdditionalInfo' @::@ 'Maybe' 'Text'------ * 'iilsArchitecture' @::@ 'Maybe' 'ArchitectureValues'------ * 'iilsGroupIds' @::@ ['Text']------ * 'iilsGroupNames' @::@ ['Text']------ * 'iilsInstanceInitiatedShutdownBehavior' @::@ 'Maybe' 'ShutdownBehavior'------ * 'iilsInstanceType' @::@ 'Maybe' 'InstanceType'------ * 'iilsMonitoring' @::@ 'Maybe' 'Bool'------ * 'iilsPlacement' @::@ 'Maybe' 'Placement'------ * 'iilsPrivateIpAddress' @::@ 'Maybe' 'Text'------ * 'iilsSubnetId' @::@ 'Maybe' 'Text'------ * 'iilsUserData' @::@ 'Maybe' 'UserData'----importInstanceLaunchSpecification :: ImportInstanceLaunchSpecification-importInstanceLaunchSpecification = ImportInstanceLaunchSpecification-    { _iilsArchitecture                      = Nothing-    , _iilsGroupNames                        = mempty-    , _iilsGroupIds                          = mempty-    , _iilsAdditionalInfo                    = Nothing-    , _iilsUserData                          = Nothing-    , _iilsInstanceType                      = Nothing-    , _iilsPlacement                         = Nothing-    , _iilsMonitoring                        = Nothing-    , _iilsSubnetId                          = Nothing-    , _iilsInstanceInitiatedShutdownBehavior = Nothing-    , _iilsPrivateIpAddress                  = Nothing-    }---- | Reserved.-iilsAdditionalInfo :: Lens' ImportInstanceLaunchSpecification (Maybe Text)-iilsAdditionalInfo =-    lens _iilsAdditionalInfo (\s a -> s { _iilsAdditionalInfo = a })---- | The architecture of the instance.-iilsArchitecture :: Lens' ImportInstanceLaunchSpecification (Maybe ArchitectureValues)-iilsArchitecture = lens _iilsArchitecture (\s a -> s { _iilsArchitecture = a })---- | One or more security group IDs.-iilsGroupIds :: Lens' ImportInstanceLaunchSpecification [Text]-iilsGroupIds = lens _iilsGroupIds (\s a -> s { _iilsGroupIds = a }) . _List---- | One or more security group names.-iilsGroupNames :: Lens' ImportInstanceLaunchSpecification [Text]-iilsGroupNames = lens _iilsGroupNames (\s a -> s { _iilsGroupNames = a }) . _List---- | 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 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 })---- | Indicates whether monitoring is enabled.-iilsMonitoring :: Lens' ImportInstanceLaunchSpecification (Maybe Bool)-iilsMonitoring = lens _iilsMonitoring (\s a -> s { _iilsMonitoring = a })---- | The placement information for the instance.-iilsPlacement :: Lens' ImportInstanceLaunchSpecification (Maybe Placement)-iilsPlacement = lens _iilsPlacement (\s a -> s { _iilsPlacement = 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 })---- | [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 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 })--instance FromXML ImportInstanceLaunchSpecification where-    parseXML x = ImportInstanceLaunchSpecification-        <$> x .@? "additionalInfo"-        <*> x .@? "architecture"-        <*> x .@? "GroupId" .!@ mempty-        <*> x .@? "GroupName" .!@ mempty-        <*> x .@? "instanceInitiatedShutdownBehavior"-        <*> x .@? "instanceType"-        <*> x .@? "monitoring"-        <*> x .@? "placement"-        <*> x .@? "privateIpAddress"-        <*> x .@? "subnetId"-        <*> x .@? "userData"--instance ToQuery ImportInstanceLaunchSpecification where-    toQuery ImportInstanceLaunchSpecification{..} = mconcat-        [ "AdditionalInfo"                    =? _iilsAdditionalInfo-        , "Architecture"                      =? _iilsArchitecture-        , "GroupId"                           `toQueryList` _iilsGroupIds-        , "GroupName"                         `toQueryList` _iilsGroupNames-        , "InstanceInitiatedShutdownBehavior" =? _iilsInstanceInitiatedShutdownBehavior-        , "InstanceType"                      =? _iilsInstanceType-        , "Monitoring"                        =? _iilsMonitoring-        , "Placement"                         =? _iilsPlacement-        , "PrivateIpAddress"                  =? _iilsPrivateIpAddress-        , "SubnetId"                          =? _iilsSubnetId-        , "UserData"                          =? _iilsUserData-        ]--data Snapshot = Snapshot-    { _sDescription :: Text-    , _sEncrypted   :: Bool-    , _sKmsKeyId    :: Maybe Text-    , _sOwnerAlias  :: Maybe Text-    , _sOwnerId     :: Text-    , _sProgress    :: Text-    , _sSnapshotId  :: Text-    , _sStartTime   :: ISO8601-    , _sState       :: SnapshotState-    , _sTags        :: List "item" Tag-    , _sVolumeId    :: Text-    , _sVolumeSize  :: Int-    } deriving (Eq, Read, Show)---- | 'Snapshot' constructor.------ The fields accessible through corresponding lenses are:------ * 'sDescription' @::@ 'Text'------ * 'sEncrypted' @::@ 'Bool'------ * 'sKmsKeyId' @::@ 'Maybe' 'Text'------ * 'sOwnerAlias' @::@ 'Maybe' 'Text'------ * 'sOwnerId' @::@ 'Text'------ * 'sProgress' @::@ 'Text'------ * 'sSnapshotId' @::@ 'Text'------ * 'sStartTime' @::@ 'UTCTime'------ * 'sState' @::@ 'SnapshotState'------ * 'sTags' @::@ ['Tag']------ * 'sVolumeId' @::@ 'Text'------ * 'sVolumeSize' @::@ 'Int'----snapshot :: Text -- ^ 'sSnapshotId'-         -> Text -- ^ 'sVolumeId'-         -> SnapshotState -- ^ 'sState'-         -> UTCTime -- ^ 'sStartTime'-         -> Text -- ^ 'sProgress'-         -> Text -- ^ 'sOwnerId'-         -> Text -- ^ 'sDescription'-         -> Int -- ^ 'sVolumeSize'-         -> Bool -- ^ 'sEncrypted'-         -> Snapshot-snapshot p1 p2 p3 p4 p5 p6 p7 p8 p9 = Snapshot-    { _sSnapshotId  = p1-    , _sVolumeId    = p2-    , _sState       = p3-    , _sStartTime   = withIso _Time (const id) p4-    , _sProgress    = p5-    , _sOwnerId     = p6-    , _sDescription = p7-    , _sVolumeSize  = p8-    , _sEncrypted   = p9-    , _sOwnerAlias  = Nothing-    , _sTags        = mempty-    , _sKmsKeyId    = Nothing-    }---- | The description for the snapshot.-sDescription :: Lens' Snapshot Text-sDescription = lens _sDescription (\s a -> s { _sDescription = a })---- | Indicates whether the snapshot is encrypted.-sEncrypted :: Lens' Snapshot Bool-sEncrypted = lens _sEncrypted (\s a -> s { _sEncrypted = a })---- | The full ARN of the AWS Key Management Service (KMS) master key 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 })---- | 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 AWS account ID of the EBS snapshot owner.-sOwnerId :: Lens' Snapshot Text-sOwnerId = lens _sOwnerId (\s a -> s { _sOwnerId = a })---- | The progress of the snapshot, as a percentage.-sProgress :: Lens' Snapshot Text-sProgress = lens _sProgress (\s a -> s { _sProgress = a })---- | The ID of the snapshot.-sSnapshotId :: Lens' Snapshot Text-sSnapshotId = lens _sSnapshotId (\s a -> s { _sSnapshotId = a })---- | The time stamp when the snapshot was initiated.-sStartTime :: Lens' Snapshot UTCTime-sStartTime = lens _sStartTime (\s a -> s { _sStartTime = a }) . _Time---- | The snapshot state.-sState :: Lens' Snapshot SnapshotState-sState = lens _sState (\s a -> s { _sState = a })---- | Any tags assigned to the snapshot.-sTags :: Lens' Snapshot [Tag]-sTags = lens _sTags (\s a -> s { _sTags = a }) . _List---- | The ID of the volume.-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 })--instance FromXML Snapshot where-    parseXML x = Snapshot-        <$> x .@  "description"-        <*> x .@  "encrypted"-        <*> x .@? "kmsKeyId"-        <*> x .@? "ownerAlias"-        <*> x .@  "ownerId"-        <*> x .@  "progress"-        <*> x .@  "snapshotId"-        <*> x .@  "startTime"-        <*> x .@  "status"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@  "volumeId"-        <*> x .@  "volumeSize"--instance ToQuery Snapshot where-    toQuery Snapshot{..} = mconcat-        [ "Description" =? _sDescription-        , "Encrypted"   =? _sEncrypted-        , "KmsKeyId"    =? _sKmsKeyId-        , "OwnerAlias"  =? _sOwnerAlias-        , "OwnerId"     =? _sOwnerId-        , "Progress"    =? _sProgress-        , "SnapshotId"  =? _sSnapshotId-        , "StartTime"   =? _sStartTime-        , "Status"      =? _sState-        , "TagSet"      `toQueryList` _sTags-        , "VolumeId"    =? _sVolumeId-        , "VolumeSize"  =? _sVolumeSize-        ]--data SpotInstanceStateFault = SpotInstanceStateFault-    { _sisfCode    :: Maybe Text-    , _sisfMessage :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'SpotInstanceStateFault' constructor.------ The fields accessible through corresponding lenses are:------ * 'sisfCode' @::@ 'Maybe' 'Text'------ * 'sisfMessage' @::@ 'Maybe' 'Text'----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 ToQuery SpotInstanceStateFault where-    toQuery SpotInstanceStateFault{..} = mconcat-        [ "Code"    =? _sisfCode-        , "Message" =? _sisfMessage-        ]--data TagDescription = TagDescription-    { _tdKey          :: Text-    , _tdResourceId   :: Text-    , _tdResourceType :: ResourceType-    , _tdValue        :: Text-    } deriving (Eq, Read, Show)---- | 'TagDescription' constructor.------ The fields accessible through corresponding lenses are:------ * 'tdKey' @::@ 'Text'------ * 'tdResourceId' @::@ 'Text'------ * 'tdResourceType' @::@ 'ResourceType'------ * 'tdValue' @::@ 'Text'----tagDescription :: Text -- ^ 'tdResourceId'-               -> ResourceType -- ^ 'tdResourceType'-               -> Text -- ^ 'tdKey'-               -> Text -- ^ 'tdValue'-               -> TagDescription-tagDescription p1 p2 p3 p4 = TagDescription-    { _tdResourceId   = p1-    , _tdResourceType = p2-    , _tdKey          = p3-    , _tdValue        = p4-    }---- | The tag key.-tdKey :: Lens' TagDescription Text-tdKey = lens _tdKey (\s a -> s { _tdKey = a })---- | 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 value.-tdValue :: Lens' TagDescription Text-tdValue = lens _tdValue (\s a -> s { _tdValue = a })--instance FromXML TagDescription where-    parseXML x = TagDescription-        <$> x .@  "key"-        <*> x .@  "resourceId"-        <*> x .@  "resourceType"-        <*> x .@  "value"--instance ToQuery TagDescription where-    toQuery TagDescription{..} = mconcat-        [ "Key"          =? _tdKey-        , "ResourceId"   =? _tdResourceId-        , "ResourceType" =? _tdResourceType-        , "Value"        =? _tdValue-        ]--data ImportSnapshotTask = ImportSnapshotTask-    { _istDescription        :: Maybe Text-    , _istImportTaskId       :: Maybe Text-    , _istSnapshotTaskDetail :: Maybe SnapshotTaskDetail-    } deriving (Eq, Read, Show)---- | 'ImportSnapshotTask' constructor.------ The fields accessible through corresponding lenses are:------ * 'istDescription' @::@ 'Maybe' 'Text'------ * 'istImportTaskId' @::@ 'Maybe' 'Text'------ * 'istSnapshotTaskDetail' @::@ 'Maybe' 'SnapshotTaskDetail'----importSnapshotTask :: ImportSnapshotTask-importSnapshotTask = ImportSnapshotTask-    { _istImportTaskId       = Nothing-    , _istSnapshotTaskDetail = Nothing-    , _istDescription        = Nothing-    }---- | A description of the import snapshot task.-istDescription :: Lens' ImportSnapshotTask (Maybe Text)-istDescription = lens _istDescription (\s a -> s { _istDescription = a })---- | The ID of the import snapshot task.-istImportTaskId :: Lens' ImportSnapshotTask (Maybe Text)-istImportTaskId = lens _istImportTaskId (\s a -> s { _istImportTaskId = a })---- | Describes an import snapshot task.-istSnapshotTaskDetail :: Lens' ImportSnapshotTask (Maybe SnapshotTaskDetail)-istSnapshotTaskDetail =-    lens _istSnapshotTaskDetail (\s a -> s { _istSnapshotTaskDetail = a })--instance FromXML ImportSnapshotTask where-    parseXML x = ImportSnapshotTask-        <$> x .@? "description"-        <*> x .@? "importTaskId"-        <*> x .@? "snapshotTaskDetail"--instance ToQuery ImportSnapshotTask where-    toQuery ImportSnapshotTask{..} = mconcat-        [ "Description"        =? _istDescription-        , "ImportTaskId"       =? _istImportTaskId-        , "SnapshotTaskDetail" =? _istSnapshotTaskDetail-        ]--data GroupIdentifier = GroupIdentifier-    { _giGroupId   :: Maybe Text-    , _giGroupName :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'GroupIdentifier' constructor.------ The fields accessible through corresponding lenses are:------ * 'giGroupId' @::@ 'Maybe' 'Text'------ * 'giGroupName' @::@ 'Maybe' 'Text'----groupIdentifier :: GroupIdentifier-groupIdentifier = GroupIdentifier-    { _giGroupName = Nothing-    , _giGroupId   = 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-        ]--data VpnStaticRouteSource-    = Static -- ^ Static-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable VpnStaticRouteSource--instance FromText VpnStaticRouteSource where-    parser = takeLowerText >>= \case-        "static" -> pure Static-        e        -> fail $-            "Failure parsing VpnStaticRouteSource from " ++ show e--instance ToText VpnStaticRouteSource where-    toText Static = "Static"--instance ToByteString VpnStaticRouteSource-instance ToHeader     VpnStaticRouteSource-instance ToQuery      VpnStaticRouteSource--instance FromXML VpnStaticRouteSource where-    parseXML = parseXMLText "VpnStaticRouteSource"--data ReservedInstancesListing = ReservedInstancesListing-    { _rilClientToken                :: Maybe Text-    , _rilCreateDate                 :: Maybe ISO8601-    , _rilInstanceCounts             :: List "item" InstanceCount-    , _rilPriceSchedules             :: List "item" PriceSchedule-    , _rilReservedInstancesId        :: Maybe Text-    , _rilReservedInstancesListingId :: Maybe Text-    , _rilStatus                     :: Maybe ListingStatus-    , _rilStatusMessage              :: Maybe Text-    , _rilTags                       :: List "item" Tag-    , _rilUpdateDate                 :: Maybe ISO8601-    } deriving (Eq, Read, Show)---- | 'ReservedInstancesListing' constructor.------ The fields accessible through corresponding lenses are:------ * 'rilClientToken' @::@ 'Maybe' 'Text'------ * 'rilCreateDate' @::@ 'Maybe' 'UTCTime'------ * 'rilInstanceCounts' @::@ ['InstanceCount']------ * 'rilPriceSchedules' @::@ ['PriceSchedule']------ * 'rilReservedInstancesId' @::@ 'Maybe' 'Text'------ * 'rilReservedInstancesListingId' @::@ 'Maybe' 'Text'------ * 'rilStatus' @::@ 'Maybe' 'ListingStatus'------ * 'rilStatusMessage' @::@ 'Maybe' 'Text'------ * 'rilTags' @::@ ['Tag']------ * 'rilUpdateDate' @::@ 'Maybe' 'UTCTime'----reservedInstancesListing :: ReservedInstancesListing-reservedInstancesListing = ReservedInstancesListing-    { _rilReservedInstancesListingId = Nothing-    , _rilReservedInstancesId        = Nothing-    , _rilCreateDate                 = Nothing-    , _rilUpdateDate                 = Nothing-    , _rilStatus                     = Nothing-    , _rilStatusMessage              = Nothing-    , _rilInstanceCounts             = mempty-    , _rilPriceSchedules             = mempty-    , _rilTags                       = mempty-    , _rilClientToken                = Nothing-    }---- | 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 time the listing was created.-rilCreateDate :: Lens' ReservedInstancesListing (Maybe UTCTime)-rilCreateDate = lens _rilCreateDate (\s a -> s { _rilCreateDate = a }) . mapping _Time---- | The number of instances in this state.-rilInstanceCounts :: Lens' ReservedInstancesListing [InstanceCount]-rilInstanceCounts =-    lens _rilInstanceCounts (\s a -> s { _rilInstanceCounts = a })-        . _List---- | The price of the Reserved Instance listing.-rilPriceSchedules :: Lens' ReservedInstancesListing [PriceSchedule]-rilPriceSchedules =-    lens _rilPriceSchedules (\s a -> s { _rilPriceSchedules = a })-        . _List---- | The ID of the Reserved Instance.-rilReservedInstancesId :: Lens' ReservedInstancesListing (Maybe Text)-rilReservedInstancesId =-    lens _rilReservedInstancesId (\s a -> s { _rilReservedInstancesId = a })---- | The ID of the Reserved Instance listing.-rilReservedInstancesListingId :: Lens' ReservedInstancesListing (Maybe Text)-rilReservedInstancesListingId =-    lens _rilReservedInstancesListingId-        (\s a -> s { _rilReservedInstancesListingId = a })---- | The status of the Reserved Instance listing.-rilStatus :: Lens' ReservedInstancesListing (Maybe ListingStatus)-rilStatus = lens _rilStatus (\s a -> s { _rilStatus = a })---- | 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 })---- | Any tags assigned to the resource.-rilTags :: Lens' ReservedInstancesListing [Tag]-rilTags = lens _rilTags (\s a -> s { _rilTags = a }) . _List---- | The last modified timestamp of the listing.-rilUpdateDate :: Lens' ReservedInstancesListing (Maybe UTCTime)-rilUpdateDate = lens _rilUpdateDate (\s a -> s { _rilUpdateDate = a }) . mapping _Time--instance FromXML ReservedInstancesListing where-    parseXML x = ReservedInstancesListing-        <$> x .@? "clientToken"-        <*> x .@? "createDate"-        <*> x .@? "instanceCounts" .!@ mempty-        <*> x .@? "priceSchedules" .!@ mempty-        <*> x .@? "reservedInstancesId"-        <*> x .@? "reservedInstancesListingId"-        <*> x .@? "status"-        <*> x .@? "statusMessage"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@? "updateDate"--instance ToQuery ReservedInstancesListing where-    toQuery ReservedInstancesListing{..} = mconcat-        [ "ClientToken"                =? _rilClientToken-        , "CreateDate"                 =? _rilCreateDate-        , "InstanceCounts"             `toQueryList` _rilInstanceCounts-        , "PriceSchedules"             `toQueryList` _rilPriceSchedules-        , "ReservedInstancesId"        =? _rilReservedInstancesId-        , "ReservedInstancesListingId" =? _rilReservedInstancesListingId-        , "Status"                     =? _rilStatus-        , "StatusMessage"              =? _rilStatusMessage-        , "TagSet"                     `toQueryList` _rilTags-        , "UpdateDate"                 =? _rilUpdateDate-        ]--data InstanceLifecycleType-    = Spot -- ^ spot-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable InstanceLifecycleType--instance FromText InstanceLifecycleType where-    parser = takeLowerText >>= \case-        "spot" -> pure Spot-        e      -> fail $-            "Failure parsing InstanceLifecycleType from " ++ show e--instance ToText InstanceLifecycleType where-    toText Spot = "spot"--instance ToByteString InstanceLifecycleType-instance ToHeader     InstanceLifecycleType-instance ToQuery      InstanceLifecycleType--instance FromXML InstanceLifecycleType where-    parseXML = parseXMLText "InstanceLifecycleType"--data State-    = Available -- ^ Available-    | Deleted   -- ^ Deleted-    | Deleting  -- ^ Deleting-    | Pending   -- ^ Pending-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable State--instance FromText State where-    parser = takeLowerText >>= \case-        "available" -> pure Available-        "deleted"   -> pure Deleted-        "deleting"  -> pure Deleting-        "pending"   -> pure Pending-        e           -> fail $-            "Failure parsing State from " ++ show e--instance ToText State where-    toText = \case-        Available -> "Available"-        Deleted   -> "Deleted"-        Deleting  -> "Deleting"-        Pending   -> "Pending"--instance ToByteString State-instance ToHeader     State-instance ToQuery      State--instance FromXML State where-    parseXML = parseXMLText "State"--data VirtualizationType-    = Hvm         -- ^ hvm-    | Paravirtual -- ^ paravirtual-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable VirtualizationType--instance FromText VirtualizationType where-    parser = takeLowerText >>= \case-        "hvm"         -> pure Hvm-        "paravirtual" -> pure Paravirtual-        e             -> fail $-            "Failure parsing VirtualizationType from " ++ show e--instance ToText VirtualizationType where-    toText = \case-        Hvm         -> "hvm"-        Paravirtual -> "paravirtual"--instance ToByteString VirtualizationType-instance ToHeader     VirtualizationType-instance ToQuery      VirtualizationType--instance FromXML VirtualizationType where-    parseXML = parseXMLText "VirtualizationType"--data NetworkInterfaceStatus-    = NISAttaching -- ^ attaching-    | NISAvailable -- ^ available-    | NISDetaching -- ^ detaching-    | NISInUse     -- ^ in-use-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable NetworkInterfaceStatus--instance FromText NetworkInterfaceStatus where-    parser = takeLowerText >>= \case-        "attaching" -> pure NISAttaching-        "available" -> pure NISAvailable-        "detaching" -> pure NISDetaching-        "in-use"    -> pure NISInUse-        e           -> fail $-            "Failure parsing NetworkInterfaceStatus from " ++ show e--instance ToText NetworkInterfaceStatus where-    toText = \case-        NISAttaching -> "attaching"-        NISAvailable -> "available"-        NISDetaching -> "detaching"-        NISInUse     -> "in-use"--instance ToByteString NetworkInterfaceStatus-instance ToHeader     NetworkInterfaceStatus-instance ToQuery      NetworkInterfaceStatus--instance FromXML NetworkInterfaceStatus where-    parseXML = parseXMLText "NetworkInterfaceStatus"--data PlatformValues-    = Windows -- ^ Windows-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable PlatformValues--instance FromText PlatformValues where-    parser = takeLowerText >>= \case-        "windows" -> pure Windows-        e         -> fail $-            "Failure parsing PlatformValues from " ++ show e--instance ToText PlatformValues where-    toText Windows = "Windows"--instance ToByteString PlatformValues-instance ToHeader     PlatformValues-instance ToQuery      PlatformValues--instance FromXML PlatformValues where-    parseXML = parseXMLText "PlatformValues"--data CreateVolumePermission = CreateVolumePermission-    { _cvpGroup  :: Maybe PermissionGroup-    , _cvpUserId :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'CreateVolumePermission' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvpGroup' @::@ 'Maybe' 'PermissionGroup'------ * 'cvpUserId' @::@ 'Maybe' 'Text'----createVolumePermission :: CreateVolumePermission-createVolumePermission = CreateVolumePermission-    { _cvpUserId = Nothing-    , _cvpGroup  = 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-        ]--data NetworkInterfaceAttachmentChanges = NetworkInterfaceAttachmentChanges-    { _niacAttachmentId        :: Maybe Text-    , _niacDeleteOnTermination :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'NetworkInterfaceAttachmentChanges' constructor.------ The fields accessible through corresponding lenses are:------ * 'niacAttachmentId' @::@ 'Maybe' 'Text'------ * 'niacDeleteOnTermination' @::@ 'Maybe' 'Bool'----networkInterfaceAttachmentChanges :: NetworkInterfaceAttachmentChanges-networkInterfaceAttachmentChanges = NetworkInterfaceAttachmentChanges-    { _niacAttachmentId        = Nothing-    , _niacDeleteOnTermination = Nothing-    }---- | The ID of the network interface attachment.-niacAttachmentId :: Lens' NetworkInterfaceAttachmentChanges (Maybe Text)-niacAttachmentId = lens _niacAttachmentId (\s a -> s { _niacAttachmentId = a })---- | 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 })--instance FromXML NetworkInterfaceAttachmentChanges where-    parseXML x = NetworkInterfaceAttachmentChanges-        <$> x .@? "attachmentId"-        <*> x .@? "deleteOnTermination"--instance ToQuery NetworkInterfaceAttachmentChanges where-    toQuery NetworkInterfaceAttachmentChanges{..} = mconcat-        [ "AttachmentId"        =? _niacAttachmentId-        , "DeleteOnTermination" =? _niacDeleteOnTermination-        ]--data RecurringChargeFrequency-    = Hourly -- ^ Hourly-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable RecurringChargeFrequency--instance FromText RecurringChargeFrequency where-    parser = takeLowerText >>= \case-        "hourly" -> pure Hourly-        e        -> fail $-            "Failure parsing RecurringChargeFrequency from " ++ show e--instance ToText RecurringChargeFrequency where-    toText Hourly = "Hourly"--instance ToByteString RecurringChargeFrequency-instance ToHeader     RecurringChargeFrequency-instance ToQuery      RecurringChargeFrequency--instance FromXML RecurringChargeFrequency where-    parseXML = parseXMLText "RecurringChargeFrequency"--data DhcpOptions = DhcpOptions-    { _doDhcpConfigurations :: List "item" DhcpConfiguration-    , _doDhcpOptionsId      :: Maybe Text-    , _doTags               :: List "item" Tag-    } deriving (Eq, Read, Show)---- | 'DhcpOptions' constructor.------ The fields accessible through corresponding lenses are:------ * 'doDhcpConfigurations' @::@ ['DhcpConfiguration']------ * 'doDhcpOptionsId' @::@ 'Maybe' 'Text'------ * 'doTags' @::@ ['Tag']----dhcpOptions :: DhcpOptions-dhcpOptions = DhcpOptions-    { _doDhcpOptionsId      = Nothing-    , _doDhcpConfigurations = mempty-    , _doTags               = mempty-    }---- | One or more DHCP options in the set.-doDhcpConfigurations :: Lens' DhcpOptions [DhcpConfiguration]-doDhcpConfigurations =-    lens _doDhcpConfigurations (\s a -> s { _doDhcpConfigurations = a })-        . _List---- | 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 }) . _List--instance FromXML DhcpOptions where-    parseXML x = DhcpOptions-        <$> x .@? "dhcpConfigurationSet" .!@ mempty-        <*> x .@? "dhcpOptionsId"-        <*> x .@? "tagSet" .!@ mempty--instance ToQuery DhcpOptions where-    toQuery DhcpOptions{..} = mconcat-        [ "DhcpConfigurationSet" `toQueryList` _doDhcpConfigurations-        , "DhcpOptionsId"        =? _doDhcpOptionsId-        , "TagSet"               `toQueryList` _doTags-        ]--data InstanceNetworkInterfaceSpecification = InstanceNetworkInterfaceSpecification-    { _inisAssociatePublicIpAddress       :: Maybe Bool-    , _inisDeleteOnTermination            :: Maybe Bool-    , _inisDescription                    :: Maybe Text-    , _inisDeviceIndex                    :: Maybe Int-    , _inisGroups                         :: List "SecurityGroupId" Text-    , _inisNetworkInterfaceId             :: Maybe Text-    , _inisPrivateIpAddress               :: Maybe Text-    , _inisPrivateIpAddresses             :: List "item" PrivateIpAddressSpecification-    , _inisSecondaryPrivateIpAddressCount :: Maybe Int-    , _inisSubnetId                       :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'InstanceNetworkInterfaceSpecification' constructor.------ The fields accessible through corresponding lenses are:------ * 'inisAssociatePublicIpAddress' @::@ 'Maybe' 'Bool'------ * 'inisDeleteOnTermination' @::@ 'Maybe' 'Bool'------ * 'inisDescription' @::@ 'Maybe' 'Text'------ * 'inisDeviceIndex' @::@ 'Maybe' 'Int'------ * 'inisGroups' @::@ ['Text']------ * 'inisNetworkInterfaceId' @::@ 'Maybe' 'Text'------ * 'inisPrivateIpAddress' @::@ 'Maybe' 'Text'------ * 'inisPrivateIpAddresses' @::@ ['PrivateIpAddressSpecification']------ * 'inisSecondaryPrivateIpAddressCount' @::@ 'Maybe' 'Int'------ * 'inisSubnetId' @::@ 'Maybe' 'Text'----instanceNetworkInterfaceSpecification :: InstanceNetworkInterfaceSpecification-instanceNetworkInterfaceSpecification = InstanceNetworkInterfaceSpecification-    { _inisNetworkInterfaceId             = Nothing-    , _inisDeviceIndex                    = Nothing-    , _inisSubnetId                       = Nothing-    , _inisDescription                    = Nothing-    , _inisPrivateIpAddress               = Nothing-    , _inisGroups                         = mempty-    , _inisDeleteOnTermination            = Nothing-    , _inisPrivateIpAddresses             = mempty-    , _inisSecondaryPrivateIpAddressCount = Nothing-    , _inisAssociatePublicIpAddress       = Nothing-    }---- | 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 })---- | 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 })---- | 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 })---- | 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 }) . _List---- | The ID of the network interface.-inisNetworkInterfaceId :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)-inisNetworkInterfaceId =-    lens _inisNetworkInterfaceId (\s a -> s { _inisNetworkInterfaceId = 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 })---- | 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 })-        . _List---- | 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 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 })--instance FromXML InstanceNetworkInterfaceSpecification where-    parseXML x = InstanceNetworkInterfaceSpecification-        <$> x .@? "associatePublicIpAddress"-        <*> x .@? "deleteOnTermination"-        <*> x .@? "description"-        <*> x .@? "deviceIndex"-        <*> x .@? "SecurityGroupId" .!@ mempty-        <*> x .@? "networkInterfaceId"-        <*> x .@? "privateIpAddress"-        <*> x .@? "privateIpAddressesSet" .!@ mempty-        <*> x .@? "secondaryPrivateIpAddressCount"-        <*> x .@? "subnetId"--instance ToQuery InstanceNetworkInterfaceSpecification where-    toQuery InstanceNetworkInterfaceSpecification{..} = mconcat-        [ "AssociatePublicIpAddress"       =? _inisAssociatePublicIpAddress-        , "DeleteOnTermination"            =? _inisDeleteOnTermination-        , "Description"                    =? _inisDescription-        , "DeviceIndex"                    =? _inisDeviceIndex-        , "SecurityGroupId"                `toQueryList` _inisGroups-        , "NetworkInterfaceId"             =? _inisNetworkInterfaceId-        , "PrivateIpAddress"               =? _inisPrivateIpAddress-        , "PrivateIpAddressesSet"          `toQueryList` _inisPrivateIpAddresses-        , "SecondaryPrivateIpAddressCount" =? _inisSecondaryPrivateIpAddressCount-        , "SubnetId"                       =? _inisSubnetId-        ]--data VolumeState-    = VSAvailable -- ^ available-    | VSCreating  -- ^ creating-    | VSDeleted   -- ^ deleted-    | VSDeleting  -- ^ deleting-    | VSError     -- ^ error-    | VSInUse     -- ^ in-use-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable VolumeState--instance FromText VolumeState where-    parser = takeLowerText >>= \case-        "available" -> pure VSAvailable-        "creating"  -> pure VSCreating-        "deleted"   -> pure VSDeleted-        "deleting"  -> pure VSDeleting-        "error"     -> pure VSError-        "in-use"    -> pure VSInUse-        e           -> fail $-            "Failure parsing VolumeState from " ++ show e--instance ToText VolumeState where-    toText = \case-        VSAvailable -> "available"-        VSCreating  -> "creating"-        VSDeleted   -> "deleted"-        VSDeleting  -> "deleting"-        VSError     -> "error"-        VSInUse     -> "in-use"--instance ToByteString VolumeState-instance ToHeader     VolumeState-instance ToQuery      VolumeState--instance FromXML VolumeState where-    parseXML = parseXMLText "VolumeState"--newtype AttributeValue = AttributeValue-    { _avValue :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'AttributeValue' constructor.------ The fields accessible through corresponding lenses are:------ * 'avValue' @::@ 'Maybe' 'Text'----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-        ]--data PrivateIpAddressSpecification = PrivateIpAddressSpecification-    { _piasPrimary          :: Maybe Bool-    , _piasPrivateIpAddress :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'PrivateIpAddressSpecification' constructor.------ The fields accessible through corresponding lenses are:------ * 'piasPrimary' @::@ 'Maybe' 'Bool'------ * 'piasPrivateIpAddress' @::@ 'Text'----privateIpAddressSpecification :: Text -- ^ 'piasPrivateIpAddress'-                              -> PrivateIpAddressSpecification-privateIpAddressSpecification p1 = PrivateIpAddressSpecification-    { _piasPrivateIpAddress = p1-    , _piasPrimary          = Nothing-    }---- | 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-        ]--data Image = Image-    { _iArchitecture        :: ArchitectureValues-    , _iBlockDeviceMappings :: List "item" BlockDeviceMapping-    , _iCreationDate        :: Maybe Text-    , _iDescription         :: Maybe Text-    , _iHypervisor          :: HypervisorType-    , _iImageId             :: Text-    , _iImageLocation       :: Text-    , _iImageOwnerAlias     :: Maybe Text-    , _iImageType           :: ImageTypeValues-    , _iKernelId            :: Maybe Text-    , _iName                :: Maybe Text-    , _iOwnerId             :: Text-    , _iPlatform            :: Maybe PlatformValues-    , _iProductCodes        :: List "item" ProductCode-    , _iPublic              :: Bool-    , _iRamdiskId           :: Maybe Text-    , _iRootDeviceName      :: Maybe Text-    , _iRootDeviceType      :: DeviceType-    , _iSriovNetSupport     :: Maybe Text-    , _iState               :: ImageState-    , _iStateReason         :: Maybe StateReason-    , _iTags                :: List "item" Tag-    , _iVirtualizationType  :: VirtualizationType-    } deriving (Eq, Read, Show)---- | 'Image' constructor.------ The fields accessible through corresponding lenses are:------ * 'iArchitecture' @::@ 'ArchitectureValues'------ * 'iBlockDeviceMappings' @::@ ['BlockDeviceMapping']------ * 'iCreationDate' @::@ 'Maybe' 'Text'------ * 'iDescription' @::@ 'Maybe' 'Text'------ * 'iHypervisor' @::@ 'HypervisorType'------ * 'iImageId' @::@ 'Text'------ * 'iImageLocation' @::@ 'Text'------ * 'iImageOwnerAlias' @::@ 'Maybe' 'Text'------ * 'iImageType' @::@ 'ImageTypeValues'------ * 'iKernelId' @::@ 'Maybe' 'Text'------ * 'iName' @::@ 'Maybe' 'Text'------ * 'iOwnerId' @::@ 'Text'------ * 'iPlatform' @::@ 'Maybe' 'PlatformValues'------ * 'iProductCodes' @::@ ['ProductCode']------ * 'iPublic' @::@ 'Bool'------ * 'iRamdiskId' @::@ 'Maybe' 'Text'------ * 'iRootDeviceName' @::@ 'Maybe' 'Text'------ * 'iRootDeviceType' @::@ 'DeviceType'------ * 'iSriovNetSupport' @::@ 'Maybe' 'Text'------ * 'iState' @::@ 'ImageState'------ * 'iStateReason' @::@ 'Maybe' 'StateReason'------ * 'iTags' @::@ ['Tag']------ * 'iVirtualizationType' @::@ 'VirtualizationType'----image :: Text -- ^ 'iImageId'-      -> Text -- ^ 'iImageLocation'-      -> ImageState -- ^ 'iState'-      -> Text -- ^ 'iOwnerId'-      -> Bool -- ^ 'iPublic'-      -> ArchitectureValues -- ^ 'iArchitecture'-      -> ImageTypeValues -- ^ 'iImageType'-      -> DeviceType -- ^ 'iRootDeviceType'-      -> VirtualizationType -- ^ 'iVirtualizationType'-      -> HypervisorType -- ^ 'iHypervisor'-      -> Image-image p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 = Image-    { _iImageId             = p1-    , _iImageLocation       = p2-    , _iState               = p3-    , _iOwnerId             = p4-    , _iPublic              = p5-    , _iArchitecture        = p6-    , _iImageType           = p7-    , _iRootDeviceType      = p8-    , _iVirtualizationType  = p9-    , _iHypervisor          = p10-    , _iCreationDate        = Nothing-    , _iProductCodes        = mempty-    , _iKernelId            = Nothing-    , _iRamdiskId           = Nothing-    , _iPlatform            = Nothing-    , _iSriovNetSupport     = Nothing-    , _iStateReason         = Nothing-    , _iImageOwnerAlias     = Nothing-    , _iName                = Nothing-    , _iDescription         = Nothing-    , _iRootDeviceName      = Nothing-    , _iBlockDeviceMappings = mempty-    , _iTags                = mempty-    }---- | The architecture of the image.-iArchitecture :: Lens' Image ArchitectureValues-iArchitecture = lens _iArchitecture (\s a -> s { _iArchitecture = a })---- | Any block device mapping entries.-iBlockDeviceMappings :: Lens' Image [BlockDeviceMapping]-iBlockDeviceMappings =-    lens _iBlockDeviceMappings (\s a -> s { _iBlockDeviceMappings = a })-        . _List---- | The date and time the image was created.-iCreationDate :: Lens' Image (Maybe Text)-iCreationDate = lens _iCreationDate (\s a -> s { _iCreationDate = 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 })---- | The hypervisor type of the image.-iHypervisor :: Lens' Image HypervisorType-iHypervisor = lens _iHypervisor (\s a -> s { _iHypervisor = a })---- | 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 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 type of image.-iImageType :: Lens' Image ImageTypeValues-iImageType = lens _iImageType (\s a -> s { _iImageType = 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 name of the AMI that was provided during image creation.-iName :: Lens' Image (Maybe Text)-iName = lens _iName (\s a -> s { _iName = a })---- | The AWS account ID of the image owner.-iOwnerId :: Lens' Image Text-iOwnerId = lens _iOwnerId (\s a -> s { _iOwnerId = a })---- | The value is 'Windows' for Windows AMIs; otherwise blank.-iPlatform :: Lens' Image (Maybe PlatformValues)-iPlatform = lens _iPlatform (\s a -> s { _iPlatform = a })---- | Any product codes associated with the AMI.-iProductCodes :: Lens' Image [ProductCode]-iProductCodes = lens _iProductCodes (\s a -> s { _iProductCodes = a }) . _List---- | 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 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 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 })---- | 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 })---- | Specifies whether enhanced networking is enabled.-iSriovNetSupport :: Lens' Image (Maybe Text)-iSriovNetSupport = lens _iSriovNetSupport (\s a -> s { _iSriovNetSupport = 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 reason for the state change.-iStateReason :: Lens' Image (Maybe StateReason)-iStateReason = lens _iStateReason (\s a -> s { _iStateReason = a })---- | Any tags assigned to the image.-iTags :: Lens' Image [Tag]-iTags = lens _iTags (\s a -> s { _iTags = a }) . _List---- | The type of virtualization of the AMI.-iVirtualizationType :: Lens' Image VirtualizationType-iVirtualizationType =-    lens _iVirtualizationType (\s a -> s { _iVirtualizationType = a })--instance FromXML Image where-    parseXML x = Image-        <$> x .@  "architecture"-        <*> x .@? "blockDeviceMapping" .!@ mempty-        <*> x .@? "creationDate"-        <*> x .@? "description"-        <*> x .@  "hypervisor"-        <*> x .@  "imageId"-        <*> x .@  "imageLocation"-        <*> x .@? "imageOwnerAlias"-        <*> x .@  "imageType"-        <*> x .@? "kernelId"-        <*> x .@? "name"-        <*> x .@  "imageOwnerId"-        <*> x .@? "platform"-        <*> x .@? "productCodes" .!@ mempty-        <*> x .@  "isPublic"-        <*> x .@? "ramdiskId"-        <*> x .@? "rootDeviceName"-        <*> x .@  "rootDeviceType"-        <*> x .@? "sriovNetSupport"-        <*> x .@  "imageState"-        <*> x .@? "stateReason"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@  "virtualizationType"--instance ToQuery Image where-    toQuery Image{..} = mconcat-        [ "Architecture"       =? _iArchitecture-        , "BlockDeviceMapping" `toQueryList` _iBlockDeviceMappings-        , "CreationDate"       =? _iCreationDate-        , "Description"        =? _iDescription-        , "Hypervisor"         =? _iHypervisor-        , "ImageId"            =? _iImageId-        , "ImageLocation"      =? _iImageLocation-        , "ImageOwnerAlias"    =? _iImageOwnerAlias-        , "ImageType"          =? _iImageType-        , "KernelId"           =? _iKernelId-        , "Name"               =? _iName-        , "ImageOwnerId"       =? _iOwnerId-        , "Platform"           =? _iPlatform-        , "ProductCodes"       `toQueryList` _iProductCodes-        , "IsPublic"           =? _iPublic-        , "RamdiskId"          =? _iRamdiskId-        , "RootDeviceName"     =? _iRootDeviceName-        , "RootDeviceType"     =? _iRootDeviceType-        , "SriovNetSupport"    =? _iSriovNetSupport-        , "ImageState"         =? _iState-        , "StateReason"        =? _iStateReason-        , "TagSet"             `toQueryList` _iTags-        , "VirtualizationType" =? _iVirtualizationType-        ]--data DhcpConfiguration = DhcpConfiguration-    { _dcKey    :: Maybe Text-    , _dcValues :: List "item" AttributeValue-    } deriving (Eq, Read, Show)---- | 'DhcpConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcKey' @::@ 'Maybe' 'Text'------ * 'dcValues' @::@ ['AttributeValue']----dhcpConfiguration :: DhcpConfiguration-dhcpConfiguration = DhcpConfiguration-    { _dcKey    = Nothing-    , _dcValues = mempty-    }---- | The name of a DHCP option.-dcKey :: Lens' DhcpConfiguration (Maybe Text)-dcKey = lens _dcKey (\s a -> s { _dcKey = a })---- | One or more values for the DHCP option.-dcValues :: Lens' DhcpConfiguration [AttributeValue]-dcValues = lens _dcValues (\s a -> s { _dcValues = a }) . _List--instance FromXML DhcpConfiguration where-    parseXML x = DhcpConfiguration-        <$> x .@? "key"-        <*> x .@? "valueSet" .!@ mempty--instance ToQuery DhcpConfiguration where-    toQuery DhcpConfiguration{..} = mconcat-        [ "Key"      =? _dcKey-        , "ValueSet" `toQueryList` _dcValues-        ]--data CancelSpotFleetRequestsError = CancelSpotFleetRequestsError-    { _csfreCode    :: CancelBatchErrorCode-    , _csfreMessage :: Text-    } deriving (Eq, Read, Show)---- | 'CancelSpotFleetRequestsError' constructor.------ The fields accessible through corresponding lenses are:------ * 'csfreCode' @::@ 'CancelBatchErrorCode'------ * 'csfreMessage' @::@ 'Text'----cancelSpotFleetRequestsError :: CancelBatchErrorCode -- ^ 'csfreCode'-                             -> Text -- ^ 'csfreMessage'-                             -> CancelSpotFleetRequestsError-cancelSpotFleetRequestsError p1 p2 = CancelSpotFleetRequestsError-    { _csfreCode    = p1-    , _csfreMessage = p2-    }---- | 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 ToQuery CancelSpotFleetRequestsError where-    toQuery CancelSpotFleetRequestsError{..} = mconcat-        [ "Code"    =? _csfreCode-        , "Message" =? _csfreMessage-        ]--data Tag = Tag-    { _tagKey   :: Text-    , _tagValue :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'Tag' constructor.------ The fields accessible through corresponding lenses are:------ * 'tagKey' @::@ 'Text'------ * 'tagValue' @::@ 'Text'----tag :: Text -- ^ 'tagKey'-    -> Text -- ^ 'tagValue'-    -> Tag-tag p1 p2 = Tag-    { _tagKey   = p1-    , _tagValue = p2-    }---- | 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-        ]--data AccountAttributeName-    = DefaultVpc         -- ^ default-vpc-    | SupportedPlatforms -- ^ supported-platforms-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable AccountAttributeName--instance FromText AccountAttributeName where-    parser = takeLowerText >>= \case-        "default-vpc"         -> pure DefaultVpc-        "supported-platforms" -> pure SupportedPlatforms-        e                     -> fail $-            "Failure parsing AccountAttributeName from " ++ show e--instance ToText AccountAttributeName where-    toText = \case-        DefaultVpc         -> "default-vpc"-        SupportedPlatforms -> "supported-platforms"--instance ToByteString AccountAttributeName-instance ToHeader     AccountAttributeName-instance ToQuery      AccountAttributeName--instance FromXML AccountAttributeName where-    parseXML = parseXMLText "AccountAttributeName"--data NetworkInterfaceAttachment = NetworkInterfaceAttachment-    { _niaAttachTime          :: Maybe ISO8601-    , _niaAttachmentId        :: Maybe Text-    , _niaDeleteOnTermination :: Maybe Bool-    , _niaDeviceIndex         :: Maybe Int-    , _niaInstanceId          :: Maybe Text-    , _niaInstanceOwnerId     :: Maybe Text-    , _niaStatus              :: Maybe AttachmentStatus-    } deriving (Eq, Read, Show)---- | 'NetworkInterfaceAttachment' constructor.------ The fields accessible through corresponding lenses are:------ * 'niaAttachTime' @::@ 'Maybe' 'UTCTime'------ * 'niaAttachmentId' @::@ 'Maybe' 'Text'------ * 'niaDeleteOnTermination' @::@ 'Maybe' 'Bool'------ * 'niaDeviceIndex' @::@ 'Maybe' 'Int'------ * 'niaInstanceId' @::@ 'Maybe' 'Text'------ * 'niaInstanceOwnerId' @::@ 'Maybe' 'Text'------ * 'niaStatus' @::@ 'Maybe' 'AttachmentStatus'----networkInterfaceAttachment :: NetworkInterfaceAttachment-networkInterfaceAttachment = NetworkInterfaceAttachment-    { _niaAttachmentId        = Nothing-    , _niaInstanceId          = Nothing-    , _niaInstanceOwnerId     = Nothing-    , _niaDeviceIndex         = Nothing-    , _niaStatus              = Nothing-    , _niaAttachTime          = Nothing-    , _niaDeleteOnTermination = Nothing-    }---- | The timestamp indicating when the attachment initiated.-niaAttachTime :: Lens' NetworkInterfaceAttachment (Maybe UTCTime)-niaAttachTime = lens _niaAttachTime (\s a -> s { _niaAttachTime = a }) . mapping _Time---- | The ID of the network interface attachment.-niaAttachmentId :: Lens' NetworkInterfaceAttachment (Maybe Text)-niaAttachmentId = lens _niaAttachmentId (\s a -> s { _niaAttachmentId = 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 device index of the network interface attachment on the instance.-niaDeviceIndex :: Lens' NetworkInterfaceAttachment (Maybe Int)-niaDeviceIndex = lens _niaDeviceIndex (\s a -> s { _niaDeviceIndex = a })---- | The ID of the instance.-niaInstanceId :: Lens' NetworkInterfaceAttachment (Maybe Text)-niaInstanceId = lens _niaInstanceId (\s a -> s { _niaInstanceId = 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 attachment state.-niaStatus :: Lens' NetworkInterfaceAttachment (Maybe AttachmentStatus)-niaStatus = lens _niaStatus (\s a -> s { _niaStatus = a })--instance FromXML NetworkInterfaceAttachment where-    parseXML x = NetworkInterfaceAttachment-        <$> x .@? "attachTime"-        <*> x .@? "attachmentId"-        <*> x .@? "deleteOnTermination"-        <*> x .@? "deviceIndex"-        <*> x .@? "instanceId"-        <*> x .@? "instanceOwnerId"-        <*> x .@? "status"--instance ToQuery NetworkInterfaceAttachment where-    toQuery NetworkInterfaceAttachment{..} = mconcat-        [ "AttachTime"          =? _niaAttachTime-        , "AttachmentId"        =? _niaAttachmentId-        , "DeleteOnTermination" =? _niaDeleteOnTermination-        , "DeviceIndex"         =? _niaDeviceIndex-        , "InstanceId"          =? _niaInstanceId-        , "InstanceOwnerId"     =? _niaInstanceOwnerId-        , "Status"              =? _niaStatus-        ]--newtype RunInstancesMonitoringEnabled = RunInstancesMonitoringEnabled-    { _rimeEnabled :: Bool-    } deriving (Eq, Ord, Read, Show, Enum)---- | 'RunInstancesMonitoringEnabled' constructor.------ The fields accessible through corresponding lenses are:------ * 'rimeEnabled' @::@ 'Bool'----runInstancesMonitoringEnabled :: Bool -- ^ 'rimeEnabled'-                              -> RunInstancesMonitoringEnabled-runInstancesMonitoringEnabled p1 = RunInstancesMonitoringEnabled-    { _rimeEnabled = p1-    }---- | 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-        ]--data VolumeStatusInfo = VolumeStatusInfo-    { _vsiDetails :: List "item" VolumeStatusDetails-    , _vsiStatus  :: Maybe VolumeStatusInfoStatus-    } deriving (Eq, Read, Show)---- | 'VolumeStatusInfo' constructor.------ The fields accessible through corresponding lenses are:------ * 'vsiDetails' @::@ ['VolumeStatusDetails']------ * 'vsiStatus' @::@ 'Maybe' 'VolumeStatusInfoStatus'----volumeStatusInfo :: VolumeStatusInfo-volumeStatusInfo = VolumeStatusInfo-    { _vsiStatus  = Nothing-    , _vsiDetails = mempty-    }---- | The details of the volume status.-vsiDetails :: Lens' VolumeStatusInfo [VolumeStatusDetails]-vsiDetails = lens _vsiDetails (\s a -> s { _vsiDetails = a }) . _List---- | The status of the volume.-vsiStatus :: Lens' VolumeStatusInfo (Maybe VolumeStatusInfoStatus)-vsiStatus = lens _vsiStatus (\s a -> s { _vsiStatus = a })--instance FromXML VolumeStatusInfo where-    parseXML x = VolumeStatusInfo-        <$> x .@? "details" .!@ mempty-        <*> x .@? "status"--instance ToQuery VolumeStatusInfo where-    toQuery VolumeStatusInfo{..} = mconcat-        [ "Details" `toQueryList` _vsiDetails-        , "Status"  =? _vsiStatus-        ]--data NetworkInterfaceAssociation = NetworkInterfaceAssociation-    { _niaAllocationId  :: Maybe Text-    , _niaAssociationId :: Maybe Text-    , _niaIpOwnerId     :: Maybe Text-    , _niaPublicDnsName :: Maybe Text-    , _niaPublicIp      :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'NetworkInterfaceAssociation' constructor.------ The fields accessible through corresponding lenses are:------ * 'niaAllocationId' @::@ 'Maybe' 'Text'------ * 'niaAssociationId' @::@ 'Maybe' 'Text'------ * 'niaIpOwnerId' @::@ 'Maybe' 'Text'------ * 'niaPublicDnsName' @::@ 'Maybe' 'Text'------ * 'niaPublicIp' @::@ 'Maybe' 'Text'----networkInterfaceAssociation :: NetworkInterfaceAssociation-networkInterfaceAssociation = NetworkInterfaceAssociation-    { _niaPublicIp      = Nothing-    , _niaPublicDnsName = Nothing-    , _niaIpOwnerId     = Nothing-    , _niaAllocationId  = Nothing-    , _niaAssociationId = Nothing-    }---- | The allocation ID.-niaAllocationId :: Lens' NetworkInterfaceAssociation (Maybe Text)-niaAllocationId = lens _niaAllocationId (\s a -> s { _niaAllocationId = a })---- | The association ID.-niaAssociationId :: Lens' NetworkInterfaceAssociation (Maybe Text)-niaAssociationId = lens _niaAssociationId (\s a -> s { _niaAssociationId = a })---- | The ID of the Elastic IP address owner.-niaIpOwnerId :: Lens' NetworkInterfaceAssociation (Maybe Text)-niaIpOwnerId = lens _niaIpOwnerId (\s a -> s { _niaIpOwnerId = a })---- | The public DNS name.-niaPublicDnsName :: Lens' NetworkInterfaceAssociation (Maybe Text)-niaPublicDnsName = lens _niaPublicDnsName (\s a -> s { _niaPublicDnsName = 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 .@? "allocationId"-        <*> x .@? "associationId"-        <*> x .@? "ipOwnerId"-        <*> x .@? "publicDnsName"-        <*> x .@? "publicIp"--instance ToQuery NetworkInterfaceAssociation where-    toQuery NetworkInterfaceAssociation{..} = mconcat-        [ "AllocationId"  =? _niaAllocationId-        , "AssociationId" =? _niaAssociationId-        , "IpOwnerId"     =? _niaIpOwnerId-        , "PublicDnsName" =? _niaPublicDnsName-        , "PublicIp"      =? _niaPublicIp-        ]--data CreateVolumePermissionModifications = CreateVolumePermissionModifications-    { _cvpmAdd    :: List "item" CreateVolumePermission-    , _cvpmRemove :: List "item" CreateVolumePermission-    } deriving (Eq, Read, Show)---- | 'CreateVolumePermissionModifications' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvpmAdd' @::@ ['CreateVolumePermission']------ * 'cvpmRemove' @::@ ['CreateVolumePermission']----createVolumePermissionModifications :: CreateVolumePermissionModifications-createVolumePermissionModifications = CreateVolumePermissionModifications-    { _cvpmAdd    = mempty-    , _cvpmRemove = mempty-    }---- | 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 }) . _List---- | 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 }) . _List--instance FromXML CreateVolumePermissionModifications where-    parseXML x = CreateVolumePermissionModifications-        <$> x .@? "Add" .!@ mempty-        <*> x .@? "Remove" .!@ mempty--instance ToQuery CreateVolumePermissionModifications where-    toQuery CreateVolumePermissionModifications{..} = mconcat-        [ "Add"    `toQueryList` _cvpmAdd-        , "Remove" `toQueryList` _cvpmRemove-        ]--data VpcState-    = VpcStateAvailable -- ^ available-    | VpcStatePending   -- ^ pending-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable VpcState--instance FromText VpcState where-    parser = takeLowerText >>= \case-        "available" -> pure VpcStateAvailable-        "pending"   -> pure VpcStatePending-        e           -> fail $-            "Failure parsing VpcState from " ++ show e--instance ToText VpcState where-    toText = \case-        VpcStateAvailable -> "available"-        VpcStatePending   -> "pending"--instance ToByteString VpcState-instance ToHeader     VpcState-instance ToQuery      VpcState--instance FromXML VpcState where-    parseXML = parseXMLText "VpcState"--data ResourceType-    = RTCustomerGateway      -- ^ customer-gateway-    | RTDhcpOptions          -- ^ dhcp-options-    | RTImage                -- ^ image-    | RTInstance'            -- ^ instance-    | RTInternetGateway      -- ^ internet-gateway-    | RTNetworkAcl           -- ^ network-acl-    | RTNetworkInterface     -- ^ network-interface-    | RTReservedInstances    -- ^ reserved-instances-    | RTRouteTable           -- ^ route-table-    | RTSecurityGroup        -- ^ security-group-    | RTSnapshot             -- ^ snapshot-    | RTSpotInstancesRequest -- ^ spot-instances-request-    | RTSubnet               -- ^ subnet-    | RTVolume               -- ^ volume-    | RTVpc                  -- ^ vpc-    | RTVpnConnection        -- ^ vpn-connection-    | RTVpnGateway           -- ^ vpn-gateway-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ResourceType--instance FromText ResourceType where-    parser = takeLowerText >>= \case-        "customer-gateway"       -> pure RTCustomerGateway-        "dhcp-options"           -> pure RTDhcpOptions-        "image"                  -> pure RTImage-        "instance"               -> pure RTInstance'-        "internet-gateway"       -> pure RTInternetGateway-        "network-acl"            -> pure RTNetworkAcl-        "network-interface"      -> pure RTNetworkInterface-        "reserved-instances"     -> pure RTReservedInstances-        "route-table"            -> pure RTRouteTable-        "security-group"         -> pure RTSecurityGroup-        "snapshot"               -> pure RTSnapshot-        "spot-instances-request" -> pure RTSpotInstancesRequest-        "subnet"                 -> pure RTSubnet-        "volume"                 -> pure RTVolume-        "vpc"                    -> pure RTVpc-        "vpn-connection"         -> pure RTVpnConnection-        "vpn-gateway"            -> pure RTVpnGateway-        e                        -> fail $-            "Failure parsing ResourceType from " ++ show e--instance ToText ResourceType where-    toText = \case-        RTCustomerGateway      -> "customer-gateway"-        RTDhcpOptions          -> "dhcp-options"-        RTImage                -> "image"-        RTInstance'            -> "instance"-        RTInternetGateway      -> "internet-gateway"-        RTNetworkAcl           -> "network-acl"-        RTNetworkInterface     -> "network-interface"-        RTReservedInstances    -> "reserved-instances"-        RTRouteTable           -> "route-table"-        RTSecurityGroup        -> "security-group"-        RTSnapshot             -> "snapshot"-        RTSpotInstancesRequest -> "spot-instances-request"-        RTSubnet               -> "subnet"-        RTVolume               -> "volume"-        RTVpc                  -> "vpc"-        RTVpnConnection        -> "vpn-connection"-        RTVpnGateway           -> "vpn-gateway"--instance ToByteString ResourceType-instance ToHeader     ResourceType-instance ToQuery      ResourceType--instance FromXML ResourceType where-    parseXML = parseXMLText "ResourceType"--data ReportStatusType-    = Impaired -- ^ impaired-    | Ok       -- ^ ok-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ReportStatusType--instance FromText ReportStatusType where-    parser = takeLowerText >>= \case-        "impaired" -> pure Impaired-        "ok"       -> pure Ok-        e          -> fail $-            "Failure parsing ReportStatusType from " ++ show e--instance ToText ReportStatusType where-    toText = \case-        Impaired -> "impaired"-        Ok       -> "ok"--instance ToByteString ReportStatusType-instance ToHeader     ReportStatusType-instance ToQuery      ReportStatusType--instance FromXML ReportStatusType where-    parseXML = parseXMLText "ReportStatusType"--data CurrencyCodeValues-    = Usd -- ^ USD-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable CurrencyCodeValues--instance FromText CurrencyCodeValues where-    parser = takeLowerText >>= \case-        "usd" -> pure Usd-        e     -> fail $-            "Failure parsing CurrencyCodeValues from " ++ show e--instance ToText CurrencyCodeValues where-    toText Usd = "USD"--instance ToByteString CurrencyCodeValues-instance ToHeader     CurrencyCodeValues-instance ToQuery      CurrencyCodeValues--instance FromXML CurrencyCodeValues where-    parseXML = parseXMLText "CurrencyCodeValues"--data IcmpTypeCode = IcmpTypeCode-    { _itcCode :: Maybe Int-    , _itcType :: Maybe Int-    } deriving (Eq, Ord, Read, Show)---- | 'IcmpTypeCode' constructor.------ The fields accessible through corresponding lenses are:------ * 'itcCode' @::@ 'Maybe' 'Int'------ * 'itcType' @::@ 'Maybe' 'Int'----icmpTypeCode :: IcmpTypeCode-icmpTypeCode = IcmpTypeCode-    { _itcType = Nothing-    , _itcCode = 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-        ]--data InstanceCount = InstanceCount-    { _icInstanceCount :: Maybe Int-    , _icState         :: Maybe ListingState-    } deriving (Eq, Read, Show)---- | 'InstanceCount' constructor.------ The fields accessible through corresponding lenses are:------ * 'icInstanceCount' @::@ 'Maybe' 'Int'------ * 'icState' @::@ 'Maybe' 'ListingState'----instanceCount :: InstanceCount-instanceCount = InstanceCount-    { _icState         = Nothing-    , _icInstanceCount = Nothing-    }---- | 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 })---- | The states of the listed Reserved Instances.-icState :: Lens' InstanceCount (Maybe ListingState)-icState = lens _icState (\s a -> s { _icState = a })--instance FromXML InstanceCount where-    parseXML x = InstanceCount-        <$> x .@? "instanceCount"-        <*> x .@? "state"--instance ToQuery InstanceCount where-    toQuery InstanceCount{..} = mconcat-        [ "InstanceCount" =? _icInstanceCount-        , "State"         =? _icState-        ]--data ExportToS3Task = ExportToS3Task-    { _etstContainerFormat :: Maybe ContainerFormat-    , _etstDiskImageFormat :: Maybe DiskImageFormat-    , _etstS3Bucket        :: Maybe Text-    , _etstS3Key           :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'ExportToS3Task' constructor.------ The fields accessible through corresponding lenses are:------ * 'etstContainerFormat' @::@ 'Maybe' 'ContainerFormat'------ * 'etstDiskImageFormat' @::@ 'Maybe' 'DiskImageFormat'------ * 'etstS3Bucket' @::@ 'Maybe' 'Text'------ * 'etstS3Key' @::@ 'Maybe' 'Text'----exportToS3Task :: ExportToS3Task-exportToS3Task = ExportToS3Task-    { _etstDiskImageFormat = Nothing-    , _etstContainerFormat = Nothing-    , _etstS3Bucket        = Nothing-    , _etstS3Key           = Nothing-    }---- | 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 format for the exported image.-etstDiskImageFormat :: Lens' ExportToS3Task (Maybe DiskImageFormat)-etstDiskImageFormat =-    lens _etstDiskImageFormat (\s a -> s { _etstDiskImageFormat = 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 encryption key for your S3 bucket.-etstS3Key :: Lens' ExportToS3Task (Maybe Text)-etstS3Key = lens _etstS3Key (\s a -> s { _etstS3Key = a })--instance FromXML ExportToS3Task where-    parseXML x = ExportToS3Task-        <$> x .@? "containerFormat"-        <*> x .@? "diskImageFormat"-        <*> x .@? "s3Bucket"-        <*> x .@? "s3Key"--instance ToQuery ExportToS3Task where-    toQuery ExportToS3Task{..} = mconcat-        [ "ContainerFormat" =? _etstContainerFormat-        , "DiskImageFormat" =? _etstDiskImageFormat-        , "S3Bucket"        =? _etstS3Bucket-        , "S3Key"           =? _etstS3Key-        ]--data PrefixList = PrefixList-    { _plCidrs          :: List "item" Text-    , _plPrefixListId   :: Maybe Text-    , _plPrefixListName :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'PrefixList' constructor.------ The fields accessible through corresponding lenses are:------ * 'plCidrs' @::@ ['Text']------ * 'plPrefixListId' @::@ 'Maybe' 'Text'------ * 'plPrefixListName' @::@ 'Maybe' 'Text'----prefixList :: PrefixList-prefixList = PrefixList-    { _plPrefixListId   = Nothing-    , _plPrefixListName = Nothing-    , _plCidrs          = mempty-    }---- | The IP address range of the AWS service.-plCidrs :: Lens' PrefixList [Text]-plCidrs = lens _plCidrs (\s a -> s { _plCidrs = a }) . _List---- | 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-        <*> x .@? "prefixListId"-        <*> x .@? "prefixListName"--instance ToQuery PrefixList where-    toQuery PrefixList{..} = mconcat-        [ "CidrSet"        `toQueryList` _plCidrs-        , "PrefixListId"   =? _plPrefixListId-        , "PrefixListName" =? _plPrefixListName-        ]--data BlockDeviceMapping = BlockDeviceMapping-    { _bdmDeviceName  :: Text-    , _bdmEbs         :: Maybe EbsBlockDevice-    , _bdmNoDevice    :: Maybe Text-    , _bdmVirtualName :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'BlockDeviceMapping' constructor.------ The fields accessible through corresponding lenses are:------ * 'bdmDeviceName' @::@ 'Text'------ * 'bdmEbs' @::@ 'Maybe' 'EbsBlockDevice'------ * 'bdmNoDevice' @::@ 'Maybe' 'Text'------ * 'bdmVirtualName' @::@ 'Maybe' 'Text'----blockDeviceMapping :: Text -- ^ 'bdmDeviceName'-                   -> BlockDeviceMapping-blockDeviceMapping p1 = BlockDeviceMapping-    { _bdmDeviceName  = p1-    , _bdmVirtualName = Nothing-    , _bdmEbs         = Nothing-    , _bdmNoDevice    = Nothing-    }---- | 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 })---- | 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 })---- | 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 })---- | 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 })--instance FromXML BlockDeviceMapping where-    parseXML x = BlockDeviceMapping-        <$> x .@  "deviceName"-        <*> x .@? "ebs"-        <*> x .@? "noDevice"-        <*> x .@? "virtualName"--instance ToQuery BlockDeviceMapping where-    toQuery BlockDeviceMapping{..} = mconcat-        [ "DeviceName"  =? _bdmDeviceName-        , "Ebs"         =? _bdmEbs-        , "NoDevice"    =? _bdmNoDevice-        , "VirtualName" =? _bdmVirtualName-        ]--data ConversionTask = ConversionTask-    { _ctConversionTaskId :: Text-    , _ctExpirationTime   :: Maybe Text-    , _ctImportInstance   :: Maybe ImportInstanceTaskDetails-    , _ctImportVolume     :: Maybe ImportVolumeTaskDetails-    , _ctState            :: ConversionTaskState-    , _ctStatusMessage    :: Maybe Text-    , _ctTags             :: List "item" Tag-    } deriving (Eq, Read, Show)---- | 'ConversionTask' constructor.------ The fields accessible through corresponding lenses are:------ * 'ctConversionTaskId' @::@ 'Text'------ * 'ctExpirationTime' @::@ 'Maybe' 'Text'------ * 'ctImportInstance' @::@ 'Maybe' 'ImportInstanceTaskDetails'------ * 'ctImportVolume' @::@ 'Maybe' 'ImportVolumeTaskDetails'------ * 'ctState' @::@ 'ConversionTaskState'------ * 'ctStatusMessage' @::@ 'Maybe' 'Text'------ * 'ctTags' @::@ ['Tag']----conversionTask :: Text -- ^ 'ctConversionTaskId'-               -> ConversionTaskState -- ^ 'ctState'-               -> ConversionTask-conversionTask p1 p2 = ConversionTask-    { _ctConversionTaskId = p1-    , _ctState            = p2-    , _ctExpirationTime   = Nothing-    , _ctImportInstance   = Nothing-    , _ctImportVolume     = Nothing-    , _ctStatusMessage    = Nothing-    , _ctTags             = mempty-    }---- | The ID of the conversion task.-ctConversionTaskId :: Lens' ConversionTask Text-ctConversionTaskId =-    lens _ctConversionTaskId (\s a -> s { _ctConversionTaskId = 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 })---- | 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 })---- | 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 state of the conversion task.-ctState :: Lens' ConversionTask ConversionTaskState-ctState = lens _ctState (\s a -> s { _ctState = a })---- | The status message related to the conversion task.-ctStatusMessage :: Lens' ConversionTask (Maybe Text)-ctStatusMessage = lens _ctStatusMessage (\s a -> s { _ctStatusMessage = a })---- | Any tags assigned to the task.-ctTags :: Lens' ConversionTask [Tag]-ctTags = lens _ctTags (\s a -> s { _ctTags = a }) . _List--instance FromXML ConversionTask where-    parseXML x = ConversionTask-        <$> x .@  "conversionTaskId"-        <*> x .@? "expirationTime"-        <*> x .@? "importInstance"-        <*> x .@? "importVolume"-        <*> x .@  "state"-        <*> x .@? "statusMessage"-        <*> x .@? "tagSet" .!@ mempty--instance ToQuery ConversionTask where-    toQuery ConversionTask{..} = mconcat-        [ "ConversionTaskId" =? _ctConversionTaskId-        , "ExpirationTime"   =? _ctExpirationTime-        , "ImportInstance"   =? _ctImportInstance-        , "ImportVolume"     =? _ctImportVolume-        , "State"            =? _ctState-        , "StatusMessage"    =? _ctStatusMessage-        , "TagSet"           `toQueryList` _ctTags-        ]--data AttachmentStatus-    = Attached  -- ^ attached-    | Attaching -- ^ attaching-    | Detached  -- ^ detached-    | Detaching -- ^ detaching-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable AttachmentStatus--instance FromText AttachmentStatus where-    parser = takeLowerText >>= \case-        "attached"  -> pure Attached-        "attaching" -> pure Attaching-        "detached"  -> pure Detached-        "detaching" -> pure Detaching-        e           -> fail $-            "Failure parsing AttachmentStatus from " ++ show e--instance ToText AttachmentStatus where-    toText = \case-        Attached  -> "attached"-        Attaching -> "attaching"-        Detached  -> "detached"-        Detaching -> "detaching"--instance ToByteString AttachmentStatus-instance ToHeader     AttachmentStatus-instance ToQuery      AttachmentStatus--instance FromXML AttachmentStatus where-    parseXML = parseXMLText "AttachmentStatus"--data ClassicLinkInstance = ClassicLinkInstance-    { _cliGroups     :: List "item" GroupIdentifier-    , _cliInstanceId :: Maybe Text-    , _cliTags       :: List "item" Tag-    , _cliVpcId      :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'ClassicLinkInstance' constructor.------ The fields accessible through corresponding lenses are:------ * 'cliGroups' @::@ ['GroupIdentifier']------ * 'cliInstanceId' @::@ 'Maybe' 'Text'------ * 'cliTags' @::@ ['Tag']------ * 'cliVpcId' @::@ 'Maybe' 'Text'----classicLinkInstance :: ClassicLinkInstance-classicLinkInstance = ClassicLinkInstance-    { _cliInstanceId = Nothing-    , _cliVpcId      = Nothing-    , _cliGroups     = mempty-    , _cliTags       = mempty-    }---- | A list of security groups.-cliGroups :: Lens' ClassicLinkInstance [GroupIdentifier]-cliGroups = lens _cliGroups (\s a -> s { _cliGroups = a }) . _List---- | The ID of the instance.-cliInstanceId :: Lens' ClassicLinkInstance (Maybe Text)-cliInstanceId = lens _cliInstanceId (\s a -> s { _cliInstanceId = a })---- | Any tags assigned to the instance.-cliTags :: Lens' ClassicLinkInstance [Tag]-cliTags = lens _cliTags (\s a -> s { _cliTags = a }) . _List---- | The ID of the VPC.-cliVpcId :: Lens' ClassicLinkInstance (Maybe Text)-cliVpcId = lens _cliVpcId (\s a -> s { _cliVpcId = a })--instance FromXML ClassicLinkInstance where-    parseXML x = ClassicLinkInstance-        <$> x .@? "groupSet" .!@ mempty-        <*> x .@? "instanceId"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@? "vpcId"--instance ToQuery ClassicLinkInstance where-    toQuery ClassicLinkInstance{..} = mconcat-        [ "GroupSet"   `toQueryList` _cliGroups-        , "InstanceId" =? _cliInstanceId-        , "TagSet"     `toQueryList` _cliTags-        , "VpcId"      =? _cliVpcId-        ]--data RouteOrigin-    = OriginCreateRoute               -- ^ CreateRoute-    | OriginCreateRouteTable          -- ^ CreateRouteTable-    | OriginEnableVgwRoutePropagation -- ^ EnableVgwRoutePropagation-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable RouteOrigin--instance FromText RouteOrigin where-    parser = takeLowerText >>= \case-        "createroute"               -> pure OriginCreateRoute-        "createroutetable"          -> pure OriginCreateRouteTable-        "enablevgwroutepropagation" -> pure OriginEnableVgwRoutePropagation-        e                           -> fail $-            "Failure parsing RouteOrigin from " ++ show e--instance ToText RouteOrigin where-    toText = \case-        OriginCreateRoute               -> "CreateRoute"-        OriginCreateRouteTable          -> "CreateRouteTable"-        OriginEnableVgwRoutePropagation -> "EnableVgwRoutePropagation"--instance ToByteString RouteOrigin-instance ToHeader     RouteOrigin-instance ToQuery      RouteOrigin--instance FromXML RouteOrigin where-    parseXML = parseXMLText "RouteOrigin"--data ListingState-    = LSAvailable -- ^ available-    | LSCancelled -- ^ cancelled-    | LSPending   -- ^ pending-    | LSSold      -- ^ sold-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ListingState--instance FromText ListingState where-    parser = takeLowerText >>= \case-        "available" -> pure LSAvailable-        "cancelled" -> pure LSCancelled-        "pending"   -> pure LSPending-        "sold"      -> pure LSSold-        e           -> fail $-            "Failure parsing ListingState from " ++ show e--instance ToText ListingState where-    toText = \case-        LSAvailable -> "available"-        LSCancelled -> "cancelled"-        LSPending   -> "pending"-        LSSold      -> "sold"--instance ToByteString ListingState-instance ToHeader     ListingState-instance ToQuery      ListingState--instance FromXML ListingState where-    parseXML = parseXMLText "ListingState"--data SpotPrice = SpotPrice-    { _spAvailabilityZone   :: Maybe Text-    , _spInstanceType       :: Maybe InstanceType-    , _spProductDescription :: Maybe RIProductDescription-    , _spSpotPrice          :: Maybe Text-    , _spTimestamp          :: Maybe ISO8601-    } deriving (Eq, Read, Show)---- | 'SpotPrice' constructor.------ The fields accessible through corresponding lenses are:------ * 'spAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'spInstanceType' @::@ 'Maybe' 'InstanceType'------ * 'spProductDescription' @::@ 'Maybe' 'RIProductDescription'------ * 'spSpotPrice' @::@ 'Maybe' 'Text'------ * 'spTimestamp' @::@ 'Maybe' 'UTCTime'----spotPrice :: SpotPrice-spotPrice = SpotPrice-    { _spInstanceType       = Nothing-    , _spProductDescription = Nothing-    , _spSpotPrice          = Nothing-    , _spTimestamp          = Nothing-    , _spAvailabilityZone   = Nothing-    }---- | The Availability Zone.-spAvailabilityZone :: Lens' SpotPrice (Maybe Text)-spAvailabilityZone =-    lens _spAvailabilityZone (\s a -> s { _spAvailabilityZone = a })---- | The instance type.-spInstanceType :: Lens' SpotPrice (Maybe InstanceType)-spInstanceType = lens _spInstanceType (\s a -> s { _spInstanceType = a })---- | A general description of the AMI.-spProductDescription :: Lens' SpotPrice (Maybe RIProductDescription)-spProductDescription =-    lens _spProductDescription (\s a -> s { _spProductDescription = a })---- | The maximum price (bid) that you are willing to pay for a Spot Instance.-spSpotPrice :: Lens' SpotPrice (Maybe Text)-spSpotPrice = lens _spSpotPrice (\s a -> s { _spSpotPrice = a })---- | The date and time the request was created, in UTC format (for example, /YYYY/-/MM/--- -/DD/T/HH/:/MM/:/SS/Z).-spTimestamp :: Lens' SpotPrice (Maybe UTCTime)-spTimestamp = lens _spTimestamp (\s a -> s { _spTimestamp = a }) . mapping _Time--instance FromXML SpotPrice where-    parseXML x = SpotPrice-        <$> x .@? "availabilityZone"-        <*> x .@? "instanceType"-        <*> x .@? "productDescription"-        <*> x .@? "spotPrice"-        <*> x .@? "timestamp"--instance ToQuery SpotPrice where-    toQuery SpotPrice{..} = mconcat-        [ "AvailabilityZone"   =? _spAvailabilityZone-        , "InstanceType"       =? _spInstanceType-        , "ProductDescription" =? _spProductDescription-        , "SpotPrice"          =? _spSpotPrice-        , "Timestamp"          =? _spTimestamp-        ]--data ActiveInstance = ActiveInstance-    { _aiInstanceId            :: Maybe Text-    , _aiInstanceType          :: Maybe Text-    , _aiSpotInstanceRequestId :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'ActiveInstance' constructor.------ The fields accessible through corresponding lenses are:------ * 'aiInstanceId' @::@ 'Maybe' 'Text'------ * 'aiInstanceType' @::@ 'Maybe' 'Text'------ * 'aiSpotInstanceRequestId' @::@ 'Maybe' 'Text'----activeInstance :: ActiveInstance-activeInstance = ActiveInstance-    { _aiInstanceType          = Nothing-    , _aiInstanceId            = 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 ToQuery ActiveInstance where-    toQuery ActiveInstance{..} = mconcat-        [ "InstanceId"            =? _aiInstanceId-        , "InstanceType"          =? _aiInstanceType-        , "SpotInstanceRequestId" =? _aiSpotInstanceRequestId-        ]--data SpotFleetRequestConfigData = SpotFleetRequestConfigData-    { _sfrcdClientToken                      :: Maybe Text-    , _sfrcdIamFleetRole                     :: Text-    , _sfrcdLaunchSpecifications             :: List1 "item" LaunchSpecification-    , _sfrcdSpotPrice                        :: Text-    , _sfrcdTargetCapacity                   :: Int-    , _sfrcdTerminateInstancesWithExpiration :: Maybe Bool-    , _sfrcdValidFrom                        :: Maybe ISO8601-    , _sfrcdValidUntil                       :: Maybe ISO8601-    } deriving (Eq, Read, Show)---- | 'SpotFleetRequestConfigData' constructor.------ The fields accessible through corresponding lenses are:------ * 'sfrcdClientToken' @::@ 'Maybe' 'Text'------ * 'sfrcdIamFleetRole' @::@ 'Text'------ * 'sfrcdLaunchSpecifications' @::@ 'NonEmpty' 'LaunchSpecification'------ * 'sfrcdSpotPrice' @::@ 'Text'------ * 'sfrcdTargetCapacity' @::@ 'Int'------ * 'sfrcdTerminateInstancesWithExpiration' @::@ 'Maybe' 'Bool'------ * 'sfrcdValidFrom' @::@ 'Maybe' 'UTCTime'------ * 'sfrcdValidUntil' @::@ 'Maybe' 'UTCTime'----spotFleetRequestConfigData :: Text -- ^ 'sfrcdSpotPrice'-                           -> Int -- ^ 'sfrcdTargetCapacity'-                           -> Text -- ^ 'sfrcdIamFleetRole'-                           -> NonEmpty LaunchSpecification -- ^ 'sfrcdLaunchSpecifications'-                           -> SpotFleetRequestConfigData-spotFleetRequestConfigData p1 p2 p3 p4 = SpotFleetRequestConfigData-    { _sfrcdSpotPrice                        = p1-    , _sfrcdTargetCapacity                   = p2-    , _sfrcdIamFleetRole                     = p3-    , _sfrcdLaunchSpecifications             = withIso _List1 (const id) p4-    , _sfrcdClientToken                      = Nothing-    , _sfrcdValidFrom                        = Nothing-    , _sfrcdValidUntil                       = Nothing-    , _sfrcdTerminateInstancesWithExpiration = Nothing-    }---- | 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 })---- | Grants the Spot fleet service permission to terminate instances on your--- behalf when you cancel a 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 instances.-sfrcdLaunchSpecifications :: Lens' SpotFleetRequestConfigData (NonEmpty LaunchSpecification)-sfrcdLaunchSpecifications =-    lens _sfrcdLaunchSpecifications-        (\s a -> s { _sfrcdLaunchSpecifications = a })-            . _List1---- | The maximum hourly price (bid) for any Spot Instance launched to fulfill the--- request.-sfrcdSpotPrice :: Lens' SpotFleetRequestConfigData Text-sfrcdSpotPrice = lens _sfrcdSpotPrice (\s a -> s { _sfrcdSpotPrice = a })---- | The maximum number of Spot Instances to launch.-sfrcdTargetCapacity :: Lens' SpotFleetRequestConfigData Int-sfrcdTargetCapacity =-    lens _sfrcdTargetCapacity (\s a -> s { _sfrcdTargetCapacity = a })---- | Indicates whether running 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---- | 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--instance FromXML SpotFleetRequestConfigData where-    parseXML x = SpotFleetRequestConfigData-        <$> x .@? "clientToken"-        <*> x .@  "iamFleetRole"-        <*> x .@  "launchSpecifications"-        <*> x .@  "spotPrice"-        <*> x .@  "targetCapacity"-        <*> x .@? "terminateInstancesWithExpiration"-        <*> x .@? "validFrom"-        <*> x .@? "validUntil"--instance ToQuery SpotFleetRequestConfigData where-    toQuery SpotFleetRequestConfigData{..} = mconcat-        [ "ClientToken"                      =? _sfrcdClientToken-        , "IamFleetRole"                     =? _sfrcdIamFleetRole-        , "LaunchSpecifications"             =? _sfrcdLaunchSpecifications-        , "SpotPrice"                        =? _sfrcdSpotPrice-        , "TargetCapacity"                   =? _sfrcdTargetCapacity-        , "TerminateInstancesWithExpiration" =? _sfrcdTerminateInstancesWithExpiration-        , "ValidFrom"                        =? _sfrcdValidFrom-        , "ValidUntil"                       =? _sfrcdValidUntil-        ]--data InstanceMonitoring = InstanceMonitoring-    { _imInstanceId :: Maybe Text-    , _imMonitoring :: Maybe Monitoring-    } deriving (Eq, Read, Show)---- | 'InstanceMonitoring' constructor.------ The fields accessible through corresponding lenses are:------ * 'imInstanceId' @::@ 'Maybe' 'Text'------ * 'imMonitoring' @::@ 'Maybe' 'Monitoring'----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 ToQuery InstanceMonitoring where-    toQuery InstanceMonitoring{..} = mconcat-        [ "InstanceId" =? _imInstanceId-        , "Monitoring" =? _imMonitoring-        ]--data PriceScheduleSpecification = PriceScheduleSpecification-    { _pssCurrencyCode :: Maybe CurrencyCodeValues-    , _pssPrice        :: Maybe Double-    , _pssTerm         :: Maybe Integer-    } deriving (Eq, Read, Show)---- | 'PriceScheduleSpecification' constructor.------ The fields accessible through corresponding lenses are:------ * 'pssCurrencyCode' @::@ 'Maybe' 'CurrencyCodeValues'------ * 'pssPrice' @::@ 'Maybe' 'Double'------ * 'pssTerm' @::@ 'Maybe' 'Integer'----priceScheduleSpecification :: PriceScheduleSpecification-priceScheduleSpecification = PriceScheduleSpecification-    { _pssTerm         = Nothing-    , _pssPrice        = Nothing-    , _pssCurrencyCode = 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 fixed price for the term.-pssPrice :: Lens' PriceScheduleSpecification (Maybe Double)-pssPrice = lens _pssPrice (\s a -> s { _pssPrice = 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 })--instance FromXML PriceScheduleSpecification where-    parseXML x = PriceScheduleSpecification-        <$> x .@? "currencyCode"-        <*> x .@? "price"-        <*> x .@? "term"--instance ToQuery PriceScheduleSpecification where-    toQuery PriceScheduleSpecification{..} = mconcat-        [ "CurrencyCode" =? _pssCurrencyCode-        , "Price"        =? _pssPrice-        , "Term"         =? _pssTerm-        ]--data SpotFleetRequestConfig = SpotFleetRequestConfig-    { _sfrcSpotFleetRequestConfig :: SpotFleetRequestConfigData-    , _sfrcSpotFleetRequestId     :: Text-    , _sfrcSpotFleetRequestState  :: BatchState-    } deriving (Eq, Read, Show)---- | 'SpotFleetRequestConfig' constructor.------ The fields accessible through corresponding lenses are:------ * 'sfrcSpotFleetRequestConfig' @::@ 'SpotFleetRequestConfigData'------ * 'sfrcSpotFleetRequestId' @::@ 'Text'------ * 'sfrcSpotFleetRequestState' @::@ 'BatchState'----spotFleetRequestConfig :: Text -- ^ 'sfrcSpotFleetRequestId'-                       -> BatchState -- ^ 'sfrcSpotFleetRequestState'-                       -> SpotFleetRequestConfigData -- ^ 'sfrcSpotFleetRequestConfig'-                       -> SpotFleetRequestConfig-spotFleetRequestConfig p1 p2 p3 = SpotFleetRequestConfig-    { _sfrcSpotFleetRequestId     = p1-    , _sfrcSpotFleetRequestState  = p2-    , _sfrcSpotFleetRequestConfig = p3-    }---- | Information about the configuration of the Spot fleet request.-sfrcSpotFleetRequestConfig :: Lens' SpotFleetRequestConfig SpotFleetRequestConfigData-sfrcSpotFleetRequestConfig =-    lens _sfrcSpotFleetRequestConfig-        (\s a -> s { _sfrcSpotFleetRequestConfig = a })---- | 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 })--instance FromXML SpotFleetRequestConfig where-    parseXML x = SpotFleetRequestConfig-        <$> x .@  "spotFleetRequestConfig"-        <*> x .@  "spotFleetRequestId"-        <*> x .@  "spotFleetRequestState"--instance ToQuery SpotFleetRequestConfig where-    toQuery SpotFleetRequestConfig{..} = mconcat-        [ "SpotFleetRequestConfig" =? _sfrcSpotFleetRequestConfig-        , "SpotFleetRequestId"     =? _sfrcSpotFleetRequestId-        , "SpotFleetRequestState"  =? _sfrcSpotFleetRequestState-        ]--data SpotInstanceStatus = SpotInstanceStatus-    { _sisCode       :: Maybe Text-    , _sisMessage    :: Maybe Text-    , _sisUpdateTime :: Maybe ISO8601-    } deriving (Eq, Ord, Read, Show)---- | 'SpotInstanceStatus' constructor.------ The fields accessible through corresponding lenses are:------ * 'sisCode' @::@ 'Maybe' 'Text'------ * 'sisMessage' @::@ 'Maybe' 'Text'------ * 'sisUpdateTime' @::@ 'Maybe' 'UTCTime'----spotInstanceStatus :: SpotInstanceStatus-spotInstanceStatus = SpotInstanceStatus-    { _sisCode       = Nothing-    , _sisUpdateTime = Nothing-    , _sisMessage    = Nothing-    }---- | The status code.-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 })---- | 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--instance FromXML SpotInstanceStatus where-    parseXML x = SpotInstanceStatus-        <$> x .@? "code"-        <*> x .@? "message"-        <*> x .@? "updateTime"--instance ToQuery SpotInstanceStatus where-    toQuery SpotInstanceStatus{..} = mconcat-        [ "Code"       =? _sisCode-        , "Message"    =? _sisMessage-        , "UpdateTime" =? _sisUpdateTime-        ]--data SnapshotTaskDetail = SnapshotTaskDetail-    { _stdDescription   :: Maybe Text-    , _stdDiskImageSize :: Maybe Double-    , _stdFormat        :: Maybe Text-    , _stdProgress      :: Maybe Text-    , _stdSnapshotId    :: Maybe Text-    , _stdStatus        :: Maybe Text-    , _stdStatusMessage :: Maybe Text-    , _stdUrl           :: Maybe Text-    , _stdUserBucket    :: Maybe UserBucketDetails-    } deriving (Eq, Read, Show)---- | 'SnapshotTaskDetail' constructor.------ The fields accessible through corresponding lenses are:------ * 'stdDescription' @::@ 'Maybe' 'Text'------ * 'stdDiskImageSize' @::@ 'Maybe' 'Double'------ * 'stdFormat' @::@ 'Maybe' 'Text'------ * 'stdProgress' @::@ 'Maybe' 'Text'------ * 'stdSnapshotId' @::@ 'Maybe' 'Text'------ * 'stdStatus' @::@ 'Maybe' 'Text'------ * 'stdStatusMessage' @::@ 'Maybe' 'Text'------ * 'stdUrl' @::@ 'Maybe' 'Text'------ * 'stdUserBucket' @::@ 'Maybe' 'UserBucketDetails'----snapshotTaskDetail :: SnapshotTaskDetail-snapshotTaskDetail = SnapshotTaskDetail-    { _stdDiskImageSize = Nothing-    , _stdDescription   = Nothing-    , _stdFormat        = Nothing-    , _stdUrl           = Nothing-    , _stdUserBucket    = Nothing-    , _stdSnapshotId    = Nothing-    , _stdProgress      = Nothing-    , _stdStatusMessage = Nothing-    , _stdStatus        = Nothing-    }---- | The description of the snapshot.-stdDescription :: Lens' SnapshotTaskDetail (Maybe Text)-stdDescription = lens _stdDescription (\s a -> s { _stdDescription = 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 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 percentage of completion for the import snapshot task.-stdProgress :: Lens' SnapshotTaskDetail (Maybe Text)-stdProgress = lens _stdProgress (\s a -> s { _stdProgress = a })---- | The snapshot ID of the disk being imported.-stdSnapshotId :: Lens' SnapshotTaskDetail (Maybe Text)-stdSnapshotId = lens _stdSnapshotId (\s a -> s { _stdSnapshotId = a })---- | A brief status for the import snapshot task.-stdStatus :: Lens' SnapshotTaskDetail (Maybe Text)-stdStatus = lens _stdStatus (\s a -> s { _stdStatus = a })---- | A detailed status message for the import snapshot task.-stdStatusMessage :: Lens' SnapshotTaskDetail (Maybe Text)-stdStatusMessage = lens _stdStatusMessage (\s a -> s { _stdStatusMessage = 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 })---- | The S3 bucket for the disk image.-stdUserBucket :: Lens' SnapshotTaskDetail (Maybe UserBucketDetails)-stdUserBucket = lens _stdUserBucket (\s a -> s { _stdUserBucket = a })--instance FromXML SnapshotTaskDetail where-    parseXML x = SnapshotTaskDetail-        <$> x .@? "description"-        <*> x .@? "diskImageSize"-        <*> x .@? "format"-        <*> x .@? "progress"-        <*> x .@? "snapshotId"-        <*> x .@? "status"-        <*> x .@? "statusMessage"-        <*> x .@? "url"-        <*> x .@? "userBucket"--instance ToQuery SnapshotTaskDetail where-    toQuery SnapshotTaskDetail{..} = mconcat-        [ "Description"   =? _stdDescription-        , "DiskImageSize" =? _stdDiskImageSize-        , "Format"        =? _stdFormat-        , "Progress"      =? _stdProgress-        , "SnapshotId"    =? _stdSnapshotId-        , "Status"        =? _stdStatus-        , "StatusMessage" =? _stdStatusMessage-        , "Url"           =? _stdUrl-        , "UserBucket"    =? _stdUserBucket-        ]--data AvailabilityZoneState-    = AZSAvailable -- ^ available-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable AvailabilityZoneState--instance FromText AvailabilityZoneState where-    parser = takeLowerText >>= \case-        "available" -> pure AZSAvailable-        e           -> fail $-            "Failure parsing AvailabilityZoneState from " ++ show e--instance ToText AvailabilityZoneState where-    toText AZSAvailable = "available"--instance ToByteString AvailabilityZoneState-instance ToHeader     AvailabilityZoneState-instance ToQuery      AvailabilityZoneState--instance FromXML AvailabilityZoneState where-    parseXML = parseXMLText "AvailabilityZoneState"--data SpotInstanceRequest = SpotInstanceRequest-    { _siAvailabilityZoneGroup    :: Maybe Text-    , _siCreateTime               :: Maybe ISO8601-    , _siFault                    :: Maybe SpotInstanceStateFault-    , _siInstanceId               :: Maybe Text-    , _siLaunchGroup              :: Maybe Text-    , _siLaunchSpecification      :: Maybe LaunchSpecification-    , _siLaunchedAvailabilityZone :: Maybe Text-    , _siProductDescription       :: Maybe RIProductDescription-    , _siSpotInstanceRequestId    :: Maybe Text-    , _siSpotPrice                :: Maybe Text-    , _siState                    :: Maybe SpotInstanceState-    , _siStatus                   :: Maybe SpotInstanceStatus-    , _siTags                     :: List "item" Tag-    , _siType                     :: Maybe SpotInstanceType-    , _siValidFrom                :: Maybe ISO8601-    , _siValidUntil               :: Maybe ISO8601-    } deriving (Eq, Read, Show)---- | 'SpotInstanceRequest' constructor.------ The fields accessible through corresponding lenses are:------ * 'siAvailabilityZoneGroup' @::@ 'Maybe' 'Text'------ * 'siCreateTime' @::@ 'Maybe' 'UTCTime'------ * 'siFault' @::@ 'Maybe' 'SpotInstanceStateFault'------ * 'siInstanceId' @::@ 'Maybe' 'Text'------ * 'siLaunchGroup' @::@ 'Maybe' 'Text'------ * 'siLaunchSpecification' @::@ 'Maybe' 'LaunchSpecification'------ * 'siLaunchedAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'siProductDescription' @::@ 'Maybe' 'RIProductDescription'------ * 'siSpotInstanceRequestId' @::@ 'Maybe' 'Text'------ * 'siSpotPrice' @::@ 'Maybe' 'Text'------ * 'siState' @::@ 'Maybe' 'SpotInstanceState'------ * 'siStatus' @::@ 'Maybe' 'SpotInstanceStatus'------ * 'siTags' @::@ ['Tag']------ * 'siType' @::@ 'Maybe' 'SpotInstanceType'------ * 'siValidFrom' @::@ 'Maybe' 'UTCTime'------ * 'siValidUntil' @::@ 'Maybe' 'UTCTime'----spotInstanceRequest :: SpotInstanceRequest-spotInstanceRequest = SpotInstanceRequest-    { _siSpotInstanceRequestId    = Nothing-    , _siSpotPrice                = Nothing-    , _siType                     = Nothing-    , _siState                    = Nothing-    , _siFault                    = Nothing-    , _siStatus                   = Nothing-    , _siValidFrom                = Nothing-    , _siValidUntil               = Nothing-    , _siLaunchGroup              = Nothing-    , _siAvailabilityZoneGroup    = Nothing-    , _siLaunchSpecification      = Nothing-    , _siInstanceId               = Nothing-    , _siCreateTime               = Nothing-    , _siProductDescription       = Nothing-    , _siTags                     = mempty-    , _siLaunchedAvailabilityZone = Nothing-    }---- | 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.-siAvailabilityZoneGroup :: Lens' SpotInstanceRequest (Maybe Text)-siAvailabilityZoneGroup =-    lens _siAvailabilityZoneGroup (\s a -> s { _siAvailabilityZoneGroup = a })---- | The date and time when the Spot Instance request was created, in UTC format--- (for example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).-siCreateTime :: Lens' SpotInstanceRequest (Maybe UTCTime)-siCreateTime = lens _siCreateTime (\s a -> s { _siCreateTime = a }) . mapping _Time---- | The fault codes for the Spot Instance request, if any.-siFault :: Lens' SpotInstanceRequest (Maybe SpotInstanceStateFault)-siFault = lens _siFault (\s a -> s { _siFault = a })---- | The instance ID, if an instance has been launched to fulfill the Spot--- Instance request.-siInstanceId :: Lens' SpotInstanceRequest (Maybe Text)-siInstanceId = lens _siInstanceId (\s a -> s { _siInstanceId = a })---- | The instance launch group. Launch groups are Spot Instances that launch--- together and terminate together.-siLaunchGroup :: Lens' SpotInstanceRequest (Maybe Text)-siLaunchGroup = lens _siLaunchGroup (\s a -> s { _siLaunchGroup = a })---- | Additional information for launching instances.-siLaunchSpecification :: Lens' SpotInstanceRequest (Maybe LaunchSpecification)-siLaunchSpecification =-    lens _siLaunchSpecification (\s a -> s { _siLaunchSpecification = a })---- | The Availability Zone in which the bid is launched.-siLaunchedAvailabilityZone :: Lens' SpotInstanceRequest (Maybe Text)-siLaunchedAvailabilityZone =-    lens _siLaunchedAvailabilityZone-        (\s a -> s { _siLaunchedAvailabilityZone = a })---- | The product description associated with the Spot Instance.-siProductDescription :: Lens' SpotInstanceRequest (Maybe RIProductDescription)-siProductDescription =-    lens _siProductDescription (\s a -> s { _siProductDescription = a })---- | The ID of the Spot Instance request.-siSpotInstanceRequestId :: Lens' SpotInstanceRequest (Maybe Text)-siSpotInstanceRequestId =-    lens _siSpotInstanceRequestId (\s a -> s { _siSpotInstanceRequestId = a })---- | The maximum hourly price (bid) for any Spot Instance launched to fulfill the--- request.-siSpotPrice :: Lens' SpotInstanceRequest (Maybe Text)-siSpotPrice = lens _siSpotPrice (\s a -> s { _siSpotPrice = 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 BidStatus> in the /Amazon Elastic Compute Cloud User Guide/.-siState :: Lens' SpotInstanceRequest (Maybe SpotInstanceState)-siState = lens _siState (\s a -> s { _siState = a })---- | The status code and status message describing the Spot Instance request.-siStatus :: Lens' SpotInstanceRequest (Maybe SpotInstanceStatus)-siStatus = lens _siStatus (\s a -> s { _siStatus = a })---- | Any tags assigned to the resource.-siTags :: Lens' SpotInstanceRequest [Tag]-siTags = lens _siTags (\s a -> s { _siTags = a }) . _List---- | The Spot Instance request type.-siType :: Lens' SpotInstanceRequest (Maybe SpotInstanceType)-siType = lens _siType (\s a -> s { _siType = a })---- | The start date of the request, in UTC format (for example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/--- Z). If this is a one-time request, the request becomes active at this date--- and time and remains active until all instances launch, the request expires,--- or the request is canceled. If the request is persistent, the request becomes--- active at this date and time and remains active until it expires or is--- canceled.-siValidFrom :: Lens' SpotInstanceRequest (Maybe UTCTime)-siValidFrom = lens _siValidFrom (\s a -> s { _siValidFrom = a }) . mapping _Time---- | 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, the request 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.-siValidUntil :: Lens' SpotInstanceRequest (Maybe UTCTime)-siValidUntil = lens _siValidUntil (\s a -> s { _siValidUntil = a }) . mapping _Time--instance FromXML SpotInstanceRequest where-    parseXML x = SpotInstanceRequest-        <$> x .@? "availabilityZoneGroup"-        <*> x .@? "createTime"-        <*> x .@? "fault"-        <*> x .@? "instanceId"-        <*> x .@? "launchGroup"-        <*> x .@? "launchSpecification"-        <*> x .@? "launchedAvailabilityZone"-        <*> x .@? "productDescription"-        <*> x .@? "spotInstanceRequestId"-        <*> x .@? "spotPrice"-        <*> x .@? "state"-        <*> x .@? "status"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@? "type"-        <*> x .@? "validFrom"-        <*> x .@? "validUntil"--instance ToQuery SpotInstanceRequest where-    toQuery SpotInstanceRequest{..} = mconcat-        [ "AvailabilityZoneGroup"    =? _siAvailabilityZoneGroup-        , "CreateTime"               =? _siCreateTime-        , "Fault"                    =? _siFault-        , "InstanceId"               =? _siInstanceId-        , "LaunchGroup"              =? _siLaunchGroup-        , "LaunchSpecification"      =? _siLaunchSpecification-        , "LaunchedAvailabilityZone" =? _siLaunchedAvailabilityZone-        , "ProductDescription"       =? _siProductDescription-        , "SpotInstanceRequestId"    =? _siSpotInstanceRequestId-        , "SpotPrice"                =? _siSpotPrice-        , "State"                    =? _siState-        , "Status"                   =? _siStatus-        , "TagSet"                   `toQueryList` _siTags-        , "Type"                     =? _siType-        , "ValidFrom"                =? _siValidFrom-        , "ValidUntil"               =? _siValidUntil-        ]--data LaunchSpecification = LaunchSpecification-    { _lsAddressingType      :: Maybe Text-    , _lsBlockDeviceMappings :: List "item" BlockDeviceMapping-    , _lsEbsOptimized        :: Maybe Bool-    , _lsIamInstanceProfile  :: Maybe IamInstanceProfileSpecification-    , _lsImageId             :: Maybe Text-    , _lsInstanceType        :: Maybe InstanceType-    , _lsKernelId            :: Maybe Text-    , _lsKeyName             :: Maybe Text-    , _lsMonitoring          :: Maybe RunInstancesMonitoringEnabled-    , _lsNetworkInterfaces   :: List "item" InstanceNetworkInterfaceSpecification-    , _lsPlacement           :: Maybe SpotPlacement-    , _lsRamdiskId           :: Maybe Text-    , _lsSecurityGroups      :: List "item" GroupIdentifier-    , _lsSubnetId            :: Maybe Text-    , _lsUserData            :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'LaunchSpecification' constructor.------ The fields accessible through corresponding lenses are:------ * 'lsAddressingType' @::@ 'Maybe' 'Text'------ * 'lsBlockDeviceMappings' @::@ ['BlockDeviceMapping']------ * 'lsEbsOptimized' @::@ 'Maybe' 'Bool'------ * 'lsIamInstanceProfile' @::@ 'Maybe' 'IamInstanceProfileSpecification'------ * 'lsImageId' @::@ 'Maybe' 'Text'------ * 'lsInstanceType' @::@ 'Maybe' 'InstanceType'------ * 'lsKernelId' @::@ 'Maybe' 'Text'------ * 'lsKeyName' @::@ 'Maybe' 'Text'------ * 'lsMonitoring' @::@ 'Maybe' 'RunInstancesMonitoringEnabled'------ * 'lsNetworkInterfaces' @::@ ['InstanceNetworkInterfaceSpecification']------ * 'lsPlacement' @::@ 'Maybe' 'SpotPlacement'------ * 'lsRamdiskId' @::@ 'Maybe' 'Text'------ * 'lsSecurityGroups' @::@ ['GroupIdentifier']------ * 'lsSubnetId' @::@ 'Maybe' 'Text'------ * 'lsUserData' @::@ 'Maybe' 'Text'----launchSpecification :: LaunchSpecification-launchSpecification = LaunchSpecification-    { _lsImageId             = Nothing-    , _lsKeyName             = Nothing-    , _lsSecurityGroups      = mempty-    , _lsUserData            = Nothing-    , _lsAddressingType      = Nothing-    , _lsInstanceType        = Nothing-    , _lsPlacement           = Nothing-    , _lsKernelId            = Nothing-    , _lsRamdiskId           = Nothing-    , _lsBlockDeviceMappings = mempty-    , _lsSubnetId            = Nothing-    , _lsNetworkInterfaces   = mempty-    , _lsIamInstanceProfile  = Nothing-    , _lsEbsOptimized        = Nothing-    , _lsMonitoring          = Nothing-    }---- | 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 })-        . _List---- | 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 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 })---- | The instance type.-lsInstanceType :: Lens' LaunchSpecification (Maybe InstanceType)-lsInstanceType = lens _lsInstanceType (\s a -> s { _lsInstanceType = a })---- | The ID of the kernel.-lsKernelId :: Lens' LaunchSpecification (Maybe Text)-lsKernelId = lens _lsKernelId (\s a -> s { _lsKernelId = a })---- | The name of the key pair.-lsKeyName :: Lens' LaunchSpecification (Maybe Text)-lsKeyName = lens _lsKeyName (\s a -> s { _lsKeyName = a })--lsMonitoring :: Lens' LaunchSpecification (Maybe RunInstancesMonitoringEnabled)-lsMonitoring = lens _lsMonitoring (\s a -> s { _lsMonitoring = a })---- | One or more network interfaces.-lsNetworkInterfaces :: Lens' LaunchSpecification [InstanceNetworkInterfaceSpecification]-lsNetworkInterfaces =-    lens _lsNetworkInterfaces (\s a -> s { _lsNetworkInterfaces = a })-        . _List---- | The placement information for the instance.-lsPlacement :: Lens' LaunchSpecification (Maybe SpotPlacement)-lsPlacement = lens _lsPlacement (\s a -> s { _lsPlacement = a })---- | The ID of the RAM disk.-lsRamdiskId :: Lens' LaunchSpecification (Maybe Text)-lsRamdiskId = lens _lsRamdiskId (\s a -> s { _lsRamdiskId = a })---- | One or more security groups. To request an instance in a nondefault VPC, you--- must specify the ID of the security group. To request an instance in--- EC2-Classic or a default VPC, you can specify the name or the ID of the--- security group.-lsSecurityGroups :: Lens' LaunchSpecification [GroupIdentifier]-lsSecurityGroups = lens _lsSecurityGroups (\s a -> s { _lsSecurityGroups = a }) . _List---- | 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 Base64-encoded MIME user data to make available to the instances.-lsUserData :: Lens' LaunchSpecification (Maybe Text)-lsUserData = lens _lsUserData (\s a -> s { _lsUserData = a })--instance FromXML LaunchSpecification where-    parseXML x = LaunchSpecification-        <$> x .@? "addressingType"-        <*> x .@? "blockDeviceMapping" .!@ mempty-        <*> x .@? "ebsOptimized"-        <*> x .@? "iamInstanceProfile"-        <*> x .@? "imageId"-        <*> x .@? "instanceType"-        <*> x .@? "kernelId"-        <*> x .@? "keyName"-        <*> x .@? "monitoring"-        <*> x .@? "networkInterfaceSet" .!@ mempty-        <*> x .@? "placement"-        <*> x .@? "ramdiskId"-        <*> x .@? "groupSet" .!@ mempty-        <*> x .@? "subnetId"-        <*> x .@? "userData"--instance ToQuery LaunchSpecification where-    toQuery LaunchSpecification{..} = mconcat-        [ "AddressingType"      =? _lsAddressingType-        , "BlockDeviceMapping"  `toQueryList` _lsBlockDeviceMappings-        , "EbsOptimized"        =? _lsEbsOptimized-        , "IamInstanceProfile"  =? _lsIamInstanceProfile-        , "ImageId"             =? _lsImageId-        , "InstanceType"        =? _lsInstanceType-        , "KernelId"            =? _lsKernelId-        , "KeyName"             =? _lsKeyName-        , "Monitoring"          =? _lsMonitoring-        , "NetworkInterfaceSet" `toQueryList` _lsNetworkInterfaces-        , "Placement"           =? _lsPlacement-        , "RamdiskId"           =? _lsRamdiskId-        , "GroupSet"            `toQueryList` _lsSecurityGroups-        , "SubnetId"            =? _lsSubnetId-        , "UserData"            =? _lsUserData-        ]--data VolumeStatusEvent = VolumeStatusEvent-    { _vseDescription :: Maybe Text-    , _vseEventId     :: Maybe Text-    , _vseEventType   :: Maybe Text-    , _vseNotAfter    :: Maybe ISO8601-    , _vseNotBefore   :: Maybe ISO8601-    } deriving (Eq, Ord, Read, Show)---- | 'VolumeStatusEvent' constructor.------ The fields accessible through corresponding lenses are:------ * 'vseDescription' @::@ 'Maybe' 'Text'------ * 'vseEventId' @::@ 'Maybe' 'Text'------ * 'vseEventType' @::@ 'Maybe' 'Text'------ * 'vseNotAfter' @::@ 'Maybe' 'UTCTime'------ * 'vseNotBefore' @::@ 'Maybe' 'UTCTime'----volumeStatusEvent :: VolumeStatusEvent-volumeStatusEvent = VolumeStatusEvent-    { _vseEventType   = Nothing-    , _vseDescription = Nothing-    , _vseNotBefore   = Nothing-    , _vseNotAfter    = Nothing-    , _vseEventId     = Nothing-    }---- | A description of the event.-vseDescription :: Lens' VolumeStatusEvent (Maybe Text)-vseDescription = lens _vseDescription (\s a -> s { _vseDescription = a })---- | The ID of this event.-vseEventId :: Lens' VolumeStatusEvent (Maybe Text)-vseEventId = lens _vseEventId (\s a -> s { _vseEventId = a })---- | The type of this event.-vseEventType :: Lens' VolumeStatusEvent (Maybe Text)-vseEventType = lens _vseEventType (\s a -> s { _vseEventType = a })---- | The latest end time of the event.-vseNotAfter :: Lens' VolumeStatusEvent (Maybe UTCTime)-vseNotAfter = lens _vseNotAfter (\s a -> s { _vseNotAfter = a }) . mapping _Time---- | The earliest start time of the event.-vseNotBefore :: Lens' VolumeStatusEvent (Maybe UTCTime)-vseNotBefore = lens _vseNotBefore (\s a -> s { _vseNotBefore = a }) . mapping _Time--instance FromXML VolumeStatusEvent where-    parseXML x = VolumeStatusEvent-        <$> x .@? "description"-        <*> x .@? "eventId"-        <*> x .@? "eventType"-        <*> x .@? "notAfter"-        <*> x .@? "notBefore"--instance ToQuery VolumeStatusEvent where-    toQuery VolumeStatusEvent{..} = mconcat-        [ "Description" =? _vseDescription-        , "EventId"     =? _vseEventId-        , "EventType"   =? _vseEventType-        , "NotAfter"    =? _vseNotAfter-        , "NotBefore"   =? _vseNotBefore-        ]--data Volume = Volume-    { _vAttachments      :: List "item" VolumeAttachment-    , _vAvailabilityZone :: Text-    , _vCreateTime       :: ISO8601-    , _vEncrypted        :: Bool-    , _vIops             :: Maybe Int-    , _vKmsKeyId         :: Maybe Text-    , _vSize             :: Int-    , _vSnapshotId       :: Text-    , _vState            :: VolumeState-    , _vTags             :: List "item" Tag-    , _vVolumeId         :: Text-    , _vVolumeType       :: VolumeType-    } deriving (Eq, Read, Show)---- | 'Volume' constructor.------ The fields accessible through corresponding lenses are:------ * 'vAttachments' @::@ ['VolumeAttachment']------ * 'vAvailabilityZone' @::@ 'Text'------ * 'vCreateTime' @::@ 'UTCTime'------ * 'vEncrypted' @::@ 'Bool'------ * 'vIops' @::@ 'Maybe' 'Int'------ * 'vKmsKeyId' @::@ 'Maybe' 'Text'------ * 'vSize' @::@ 'Int'------ * 'vSnapshotId' @::@ 'Text'------ * 'vState' @::@ 'VolumeState'------ * 'vTags' @::@ ['Tag']------ * 'vVolumeId' @::@ 'Text'------ * 'vVolumeType' @::@ 'VolumeType'----volume :: Text -- ^ 'vVolumeId'-       -> Int -- ^ 'vSize'-       -> Text -- ^ 'vSnapshotId'-       -> Text -- ^ 'vAvailabilityZone'-       -> VolumeState -- ^ 'vState'-       -> UTCTime -- ^ 'vCreateTime'-       -> VolumeType -- ^ 'vVolumeType'-       -> Bool -- ^ 'vEncrypted'-       -> Volume-volume p1 p2 p3 p4 p5 p6 p7 p8 = Volume-    { _vVolumeId         = p1-    , _vSize             = p2-    , _vSnapshotId       = p3-    , _vAvailabilityZone = p4-    , _vState            = p5-    , _vCreateTime       = withIso _Time (const id) p6-    , _vVolumeType       = p7-    , _vEncrypted        = p8-    , _vAttachments      = mempty-    , _vTags             = mempty-    , _vIops             = Nothing-    , _vKmsKeyId         = Nothing-    }---- | Information about the volume attachments.-vAttachments :: Lens' Volume [VolumeAttachment]-vAttachments = lens _vAttachments (\s a -> s { _vAttachments = a }) . _List---- | 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 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 EBSVolume 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 (KMS) master key 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 })---- | 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 })---- | Any tags assigned to the volume.-vTags :: Lens' Volume [Tag]-vTags = lens _vTags (\s a -> s { _vTags = a }) . _List---- | 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-        <*> x .@  "availabilityZone"-        <*> x .@  "createTime"-        <*> x .@  "encrypted"-        <*> x .@? "iops"-        <*> x .@? "kmsKeyId"-        <*> x .@  "size"-        <*> x .@  "snapshotId"-        <*> x .@  "status"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@  "volumeId"-        <*> x .@  "volumeType"--instance ToQuery Volume where-    toQuery Volume{..} = mconcat-        [ "AttachmentSet"    `toQueryList` _vAttachments-        , "AvailabilityZone" =? _vAvailabilityZone-        , "CreateTime"       =? _vCreateTime-        , "Encrypted"        =? _vEncrypted-        , "Iops"             =? _vIops-        , "KmsKeyId"         =? _vKmsKeyId-        , "Size"             =? _vSize-        , "SnapshotId"       =? _vSnapshotId-        , "Status"           =? _vState-        , "TagSet"           `toQueryList` _vTags-        , "VolumeId"         =? _vVolumeId-        , "VolumeType"       =? _vVolumeType-        ]--data Reservation = Reservation-    { _rGroups        :: List "item" GroupIdentifier-    , _rInstances     :: List "item" Instance-    , _rOwnerId       :: Text-    , _rRequesterId   :: Maybe Text-    , _rReservationId :: Text-    } deriving (Eq, Read, Show)---- | 'Reservation' constructor.------ The fields accessible through corresponding lenses are:------ * 'rGroups' @::@ ['GroupIdentifier']------ * 'rInstances' @::@ ['Instance']------ * 'rOwnerId' @::@ 'Text'------ * 'rRequesterId' @::@ 'Maybe' 'Text'------ * 'rReservationId' @::@ 'Text'----reservation :: Text -- ^ 'rReservationId'-            -> Text -- ^ 'rOwnerId'-            -> Reservation-reservation p1 p2 = Reservation-    { _rReservationId = p1-    , _rOwnerId       = p2-    , _rRequesterId   = Nothing-    , _rGroups        = mempty-    , _rInstances     = mempty-    }---- | One or more security groups.-rGroups :: Lens' Reservation [GroupIdentifier]-rGroups = lens _rGroups (\s a -> s { _rGroups = a }) . _List---- | One or more instances.-rInstances :: Lens' Reservation [Instance]-rInstances = lens _rInstances (\s a -> s { _rInstances = a }) . _List---- | The ID of the AWS account that owns the reservation.-rOwnerId :: Lens' Reservation Text-rOwnerId = lens _rOwnerId (\s a -> s { _rOwnerId = a })---- | 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 })--instance FromXML Reservation where-    parseXML x = Reservation-        <$> x .@? "groupSet" .!@ mempty-        <*> x .@? "instancesSet" .!@ mempty-        <*> x .@  "ownerId"-        <*> x .@? "requesterId"-        <*> x .@  "reservationId"--instance ToQuery Reservation where-    toQuery Reservation{..} = mconcat-        [ "GroupSet"      `toQueryList` _rGroups-        , "InstancesSet"  `toQueryList` _rInstances-        , "OwnerId"       =? _rOwnerId-        , "RequesterId"   =? _rRequesterId-        , "ReservationId" =? _rReservationId-        ]--data ImportInstanceVolumeDetailItem = ImportInstanceVolumeDetailItem-    { _iivdiAvailabilityZone :: Text-    , _iivdiBytesConverted   :: Integer-    , _iivdiDescription      :: Maybe Text-    , _iivdiImage            :: DiskImageDescription-    , _iivdiStatus           :: Text-    , _iivdiStatusMessage    :: Maybe Text-    , _iivdiVolume           :: DiskImageVolumeDescription-    } deriving (Eq, Read, Show)---- | 'ImportInstanceVolumeDetailItem' constructor.------ The fields accessible through corresponding lenses are:------ * 'iivdiAvailabilityZone' @::@ 'Text'------ * 'iivdiBytesConverted' @::@ 'Integer'------ * 'iivdiDescription' @::@ 'Maybe' 'Text'------ * 'iivdiImage' @::@ 'DiskImageDescription'------ * 'iivdiStatus' @::@ 'Text'------ * 'iivdiStatusMessage' @::@ 'Maybe' 'Text'------ * 'iivdiVolume' @::@ 'DiskImageVolumeDescription'----importInstanceVolumeDetailItem :: Integer -- ^ 'iivdiBytesConverted'-                               -> Text -- ^ 'iivdiAvailabilityZone'-                               -> DiskImageDescription -- ^ 'iivdiImage'-                               -> DiskImageVolumeDescription -- ^ 'iivdiVolume'-                               -> Text -- ^ 'iivdiStatus'-                               -> ImportInstanceVolumeDetailItem-importInstanceVolumeDetailItem p1 p2 p3 p4 p5 = ImportInstanceVolumeDetailItem-    { _iivdiBytesConverted   = p1-    , _iivdiAvailabilityZone = p2-    , _iivdiImage            = p3-    , _iivdiVolume           = p4-    , _iivdiStatus           = p5-    , _iivdiStatusMessage    = Nothing-    , _iivdiDescription      = Nothing-    }---- | The Availability Zone where the resulting instance will reside.-iivdiAvailabilityZone :: Lens' ImportInstanceVolumeDetailItem Text-iivdiAvailabilityZone =-    lens _iivdiAvailabilityZone (\s a -> s { _iivdiAvailabilityZone = a })---- | The number of bytes converted so far.-iivdiBytesConverted :: Lens' ImportInstanceVolumeDetailItem Integer-iivdiBytesConverted =-    lens _iivdiBytesConverted (\s a -> s { _iivdiBytesConverted = a })---- | A description of the task.-iivdiDescription :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)-iivdiDescription = lens _iivdiDescription (\s a -> s { _iivdiDescription = a })---- | The image.-iivdiImage :: Lens' ImportInstanceVolumeDetailItem DiskImageDescription-iivdiImage = lens _iivdiImage (\s a -> s { _iivdiImage = a })---- | The status of the import of this particular disk image.-iivdiStatus :: Lens' ImportInstanceVolumeDetailItem Text-iivdiStatus = lens _iivdiStatus (\s a -> s { _iivdiStatus = a })---- | The status information or errors related to the disk image.-iivdiStatusMessage :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)-iivdiStatusMessage =-    lens _iivdiStatusMessage (\s a -> s { _iivdiStatusMessage = a })---- | The volume.-iivdiVolume :: Lens' ImportInstanceVolumeDetailItem DiskImageVolumeDescription-iivdiVolume = lens _iivdiVolume (\s a -> s { _iivdiVolume = a })--instance FromXML ImportInstanceVolumeDetailItem where-    parseXML x = ImportInstanceVolumeDetailItem-        <$> x .@  "availabilityZone"-        <*> x .@  "bytesConverted"-        <*> x .@? "description"-        <*> x .@  "image"-        <*> x .@  "status"-        <*> x .@? "statusMessage"-        <*> x .@  "volume"--instance ToQuery ImportInstanceVolumeDetailItem where-    toQuery ImportInstanceVolumeDetailItem{..} = mconcat-        [ "AvailabilityZone" =? _iivdiAvailabilityZone-        , "BytesConverted"   =? _iivdiBytesConverted-        , "Description"      =? _iivdiDescription-        , "Image"            =? _iivdiImage-        , "Status"           =? _iivdiStatus-        , "StatusMessage"    =? _iivdiStatusMessage-        , "Volume"           =? _iivdiVolume-        ]--data SummaryStatus-    = SSImpaired         -- ^ impaired-    | SSInsufficientData -- ^ insufficient-data-    | SSNotApplicable    -- ^ not-applicable-    | SSOk               -- ^ ok-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable SummaryStatus--instance FromText SummaryStatus where-    parser = takeLowerText >>= \case-        "impaired"          -> pure SSImpaired-        "insufficient-data" -> pure SSInsufficientData-        "not-applicable"    -> pure SSNotApplicable-        "ok"                -> pure SSOk-        e                   -> fail $-            "Failure parsing SummaryStatus from " ++ show e--instance ToText SummaryStatus where-    toText = \case-        SSImpaired         -> "impaired"-        SSInsufficientData -> "insufficient-data"-        SSNotApplicable    -> "not-applicable"-        SSOk               -> "ok"--instance ToByteString SummaryStatus-instance ToHeader     SummaryStatus-instance ToQuery      SummaryStatus--instance FromXML SummaryStatus where-    parseXML = parseXMLText "SummaryStatus"--data ReservedInstancesModification = ReservedInstancesModification-    { _rimClientToken                     :: Maybe Text-    , _rimCreateDate                      :: Maybe ISO8601-    , _rimEffectiveDate                   :: Maybe ISO8601-    , _rimModificationResults             :: List "item" ReservedInstancesModificationResult-    , _rimReservedInstancesIds            :: List "item" ReservedInstancesId-    , _rimReservedInstancesModificationId :: Maybe Text-    , _rimStatus                          :: Maybe Text-    , _rimStatusMessage                   :: Maybe Text-    , _rimUpdateDate                      :: Maybe ISO8601-    } deriving (Eq, Read, Show)---- | 'ReservedInstancesModification' constructor.------ The fields accessible through corresponding lenses are:------ * 'rimClientToken' @::@ 'Maybe' 'Text'------ * 'rimCreateDate' @::@ 'Maybe' 'UTCTime'------ * 'rimEffectiveDate' @::@ 'Maybe' 'UTCTime'------ * 'rimModificationResults' @::@ ['ReservedInstancesModificationResult']------ * 'rimReservedInstancesIds' @::@ ['ReservedInstancesId']------ * 'rimReservedInstancesModificationId' @::@ 'Maybe' 'Text'------ * 'rimStatus' @::@ 'Maybe' 'Text'------ * 'rimStatusMessage' @::@ 'Maybe' 'Text'------ * 'rimUpdateDate' @::@ 'Maybe' 'UTCTime'----reservedInstancesModification :: ReservedInstancesModification-reservedInstancesModification = ReservedInstancesModification-    { _rimReservedInstancesModificationId = Nothing-    , _rimReservedInstancesIds            = mempty-    , _rimModificationResults             = mempty-    , _rimCreateDate                      = Nothing-    , _rimUpdateDate                      = Nothing-    , _rimEffectiveDate                   = Nothing-    , _rimStatus                          = Nothing-    , _rimStatusMessage                   = Nothing-    , _rimClientToken                     = Nothing-    }---- | 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 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---- | Contains target configurations along with their corresponding new Reserved--- Instance IDs.-rimModificationResults :: Lens' ReservedInstancesModification [ReservedInstancesModificationResult]-rimModificationResults =-    lens _rimModificationResults (\s a -> s { _rimModificationResults = a })-        . _List---- | The IDs of one or more Reserved Instances.-rimReservedInstancesIds :: Lens' ReservedInstancesModification [ReservedInstancesId]-rimReservedInstancesIds =-    lens _rimReservedInstancesIds (\s a -> s { _rimReservedInstancesIds = a })-        . _List---- | A unique ID for the Reserved Instance modification.-rimReservedInstancesModificationId :: Lens' ReservedInstancesModification (Maybe Text)-rimReservedInstancesModificationId =-    lens _rimReservedInstancesModificationId-        (\s a -> s { _rimReservedInstancesModificationId = a })---- | The status of the Reserved Instances modification request.-rimStatus :: Lens' ReservedInstancesModification (Maybe Text)-rimStatus = lens _rimStatus (\s a -> s { _rimStatus = a })---- | The reason for the status.-rimStatusMessage :: Lens' ReservedInstancesModification (Maybe Text)-rimStatusMessage = lens _rimStatusMessage (\s a -> s { _rimStatusMessage = 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--instance FromXML ReservedInstancesModification where-    parseXML x = ReservedInstancesModification-        <$> x .@? "clientToken"-        <*> x .@? "createDate"-        <*> x .@? "effectiveDate"-        <*> x .@? "modificationResultSet" .!@ mempty-        <*> x .@? "reservedInstancesSet" .!@ mempty-        <*> x .@? "reservedInstancesModificationId"-        <*> x .@? "status"-        <*> x .@? "statusMessage"-        <*> x .@? "updateDate"--instance ToQuery ReservedInstancesModification where-    toQuery ReservedInstancesModification{..} = mconcat-        [ "ClientToken"                     =? _rimClientToken-        , "CreateDate"                      =? _rimCreateDate-        , "EffectiveDate"                   =? _rimEffectiveDate-        , "ModificationResultSet"           `toQueryList` _rimModificationResults-        , "ReservedInstancesSet"            `toQueryList` _rimReservedInstancesIds-        , "ReservedInstancesModificationId" =? _rimReservedInstancesModificationId-        , "Status"                          =? _rimStatus-        , "StatusMessage"                   =? _rimStatusMessage-        , "UpdateDate"                      =? _rimUpdateDate-        ]--data RuleAction-    = Allow -- ^ allow-    | Deny  -- ^ deny-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable RuleAction--instance FromText RuleAction where-    parser = takeLowerText >>= \case-        "allow" -> pure Allow-        "deny"  -> pure Deny-        e       -> fail $-            "Failure parsing RuleAction from " ++ show e--instance ToText RuleAction where-    toText = \case-        Allow -> "allow"-        Deny  -> "deny"--instance ToByteString RuleAction-instance ToHeader     RuleAction-instance ToQuery      RuleAction--instance FromXML RuleAction where-    parseXML = parseXMLText "RuleAction"--data BatchState-    = Active               -- ^ active-    | Cancelled            -- ^ cancelled-    | CancelledRunning     -- ^ cancelled_running-    | CancelledTerminating -- ^ cancelled_terminating-    | Failed               -- ^ failed-    | Submitted            -- ^ submitted-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable BatchState--instance FromText BatchState where-    parser = takeLowerText >>= \case-        "active"                -> pure Active-        "cancelled"             -> pure Cancelled-        "cancelled_running"     -> pure CancelledRunning-        "cancelled_terminating" -> pure CancelledTerminating-        "failed"                -> pure Failed-        "submitted"             -> pure Submitted-        e                       -> fail $-            "Failure parsing BatchState from " ++ show e--instance ToText BatchState where-    toText = \case-        Active               -> "active"-        Cancelled            -> "cancelled"-        CancelledRunning     -> "cancelled_running"-        CancelledTerminating -> "cancelled_terminating"-        Failed               -> "failed"-        Submitted            -> "submitted"--instance ToByteString BatchState-instance ToHeader     BatchState-instance ToQuery      BatchState--instance FromXML BatchState where-    parseXML = parseXMLText "BatchState"--data NetworkInterface = NetworkInterface-    { _niAssociation        :: Maybe NetworkInterfaceAssociation-    , _niAttachment         :: Maybe NetworkInterfaceAttachment-    , _niAvailabilityZone   :: Maybe Text-    , _niDescription        :: Maybe Text-    , _niGroups             :: List "item" GroupIdentifier-    , _niMacAddress         :: Maybe Text-    , _niNetworkInterfaceId :: Maybe Text-    , _niOwnerId            :: Maybe Text-    , _niPrivateDnsName     :: Maybe Text-    , _niPrivateIpAddress   :: Maybe Text-    , _niPrivateIpAddresses :: List "item" NetworkInterfacePrivateIpAddress-    , _niRequesterId        :: Maybe Text-    , _niRequesterManaged   :: Maybe Bool-    , _niSourceDestCheck    :: Maybe Bool-    , _niStatus             :: Maybe NetworkInterfaceStatus-    , _niSubnetId           :: Maybe Text-    , _niTagSet             :: List "item" Tag-    , _niVpcId              :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'NetworkInterface' constructor.------ The fields accessible through corresponding lenses are:------ * 'niAssociation' @::@ 'Maybe' 'NetworkInterfaceAssociation'------ * 'niAttachment' @::@ 'Maybe' 'NetworkInterfaceAttachment'------ * 'niAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'niDescription' @::@ 'Maybe' 'Text'------ * 'niGroups' @::@ ['GroupIdentifier']------ * 'niMacAddress' @::@ 'Maybe' 'Text'------ * 'niNetworkInterfaceId' @::@ 'Maybe' 'Text'------ * 'niOwnerId' @::@ 'Maybe' 'Text'------ * 'niPrivateDnsName' @::@ 'Maybe' 'Text'------ * 'niPrivateIpAddress' @::@ 'Maybe' 'Text'------ * 'niPrivateIpAddresses' @::@ ['NetworkInterfacePrivateIpAddress']------ * 'niRequesterId' @::@ 'Maybe' 'Text'------ * 'niRequesterManaged' @::@ 'Maybe' 'Bool'------ * 'niSourceDestCheck' @::@ 'Maybe' 'Bool'------ * 'niStatus' @::@ 'Maybe' 'NetworkInterfaceStatus'------ * 'niSubnetId' @::@ 'Maybe' 'Text'------ * 'niTagSet' @::@ ['Tag']------ * 'niVpcId' @::@ 'Maybe' 'Text'----networkInterface :: NetworkInterface-networkInterface = NetworkInterface-    { _niNetworkInterfaceId = Nothing-    , _niSubnetId           = Nothing-    , _niVpcId              = Nothing-    , _niAvailabilityZone   = Nothing-    , _niDescription        = Nothing-    , _niOwnerId            = Nothing-    , _niRequesterId        = Nothing-    , _niRequesterManaged   = Nothing-    , _niStatus             = Nothing-    , _niMacAddress         = Nothing-    , _niPrivateIpAddress   = Nothing-    , _niPrivateDnsName     = Nothing-    , _niSourceDestCheck    = Nothing-    , _niGroups             = mempty-    , _niAttachment         = Nothing-    , _niAssociation        = Nothing-    , _niTagSet             = mempty-    , _niPrivateIpAddresses = mempty-    }---- | 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 })---- | The network interface attachment.-niAttachment :: Lens' NetworkInterface (Maybe NetworkInterfaceAttachment)-niAttachment = lens _niAttachment (\s a -> s { _niAttachment = a })---- | The Availability Zone.-niAvailabilityZone :: Lens' NetworkInterface (Maybe Text)-niAvailabilityZone =-    lens _niAvailabilityZone (\s a -> s { _niAvailabilityZone = a })---- | A description.-niDescription :: Lens' NetworkInterface (Maybe Text)-niDescription = lens _niDescription (\s a -> s { _niDescription = a })---- | Any security groups for the network interface.-niGroups :: Lens' NetworkInterface [GroupIdentifier]-niGroups = lens _niGroups (\s a -> s { _niGroups = a }) . _List---- | The MAC address.-niMacAddress :: Lens' NetworkInterface (Maybe Text)-niMacAddress = lens _niMacAddress (\s a -> s { _niMacAddress = a })---- | The ID of the network interface.-niNetworkInterfaceId :: Lens' NetworkInterface (Maybe Text)-niNetworkInterfaceId =-    lens _niNetworkInterfaceId (\s a -> s { _niNetworkInterfaceId = 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 private DNS name.-niPrivateDnsName :: Lens' NetworkInterface (Maybe Text)-niPrivateDnsName = lens _niPrivateDnsName (\s a -> s { _niPrivateDnsName = 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 IP addresses associated with the network interface.-niPrivateIpAddresses :: Lens' NetworkInterface [NetworkInterfacePrivateIpAddress]-niPrivateIpAddresses =-    lens _niPrivateIpAddresses (\s a -> s { _niPrivateIpAddresses = a })-        . _List---- | 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 })---- | Indicates whether the network interface is being managed by AWS.-niRequesterManaged :: Lens' NetworkInterface (Maybe Bool)-niRequesterManaged =-    lens _niRequesterManaged (\s a -> s { _niRequesterManaged = a })---- | Indicates whether traffic to or from the instance is validated.-niSourceDestCheck :: Lens' NetworkInterface (Maybe Bool)-niSourceDestCheck =-    lens _niSourceDestCheck (\s a -> s { _niSourceDestCheck = a })---- | The status of the network interface.-niStatus :: Lens' NetworkInterface (Maybe NetworkInterfaceStatus)-niStatus = lens _niStatus (\s a -> s { _niStatus = a })---- | The ID of the subnet.-niSubnetId :: Lens' NetworkInterface (Maybe Text)-niSubnetId = lens _niSubnetId (\s a -> s { _niSubnetId = a })---- | Any tags assigned to the network interface.-niTagSet :: Lens' NetworkInterface [Tag]-niTagSet = lens _niTagSet (\s a -> s { _niTagSet = a }) . _List---- | The ID of the VPC.-niVpcId :: Lens' NetworkInterface (Maybe Text)-niVpcId = lens _niVpcId (\s a -> s { _niVpcId = a })--instance FromXML NetworkInterface where-    parseXML x = NetworkInterface-        <$> x .@? "association"-        <*> x .@? "attachment"-        <*> x .@? "availabilityZone"-        <*> x .@? "description"-        <*> x .@? "groupSet" .!@ mempty-        <*> x .@? "macAddress"-        <*> x .@? "networkInterfaceId"-        <*> x .@? "ownerId"-        <*> x .@? "privateDnsName"-        <*> x .@? "privateIpAddress"-        <*> x .@? "privateIpAddressesSet" .!@ mempty-        <*> x .@? "requesterId"-        <*> x .@? "requesterManaged"-        <*> x .@? "sourceDestCheck"-        <*> x .@? "status"-        <*> x .@? "subnetId"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@? "vpcId"--instance ToQuery NetworkInterface where-    toQuery NetworkInterface{..} = mconcat-        [ "Association"           =? _niAssociation-        , "Attachment"            =? _niAttachment-        , "AvailabilityZone"      =? _niAvailabilityZone-        , "Description"           =? _niDescription-        , "GroupSet"              `toQueryList` _niGroups-        , "MacAddress"            =? _niMacAddress-        , "NetworkInterfaceId"    =? _niNetworkInterfaceId-        , "OwnerId"               =? _niOwnerId-        , "PrivateDnsName"        =? _niPrivateDnsName-        , "PrivateIpAddress"      =? _niPrivateIpAddress-        , "PrivateIpAddressesSet" `toQueryList` _niPrivateIpAddresses-        , "RequesterId"           =? _niRequesterId-        , "RequesterManaged"      =? _niRequesterManaged-        , "SourceDestCheck"       =? _niSourceDestCheck-        , "Status"                =? _niStatus-        , "SubnetId"              =? _niSubnetId-        , "TagSet"                `toQueryList` _niTagSet-        , "VpcId"                 =? _niVpcId-        ]--data TelemetryStatus-    = Down -- ^ DOWN-    | Up   -- ^ UP-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable TelemetryStatus--instance FromText TelemetryStatus where-    parser = takeLowerText >>= \case-        "down" -> pure Down-        "up"   -> pure Up-        e      -> fail $-            "Failure parsing TelemetryStatus from " ++ show e--instance ToText TelemetryStatus where-    toText = \case-        Down -> "DOWN"-        Up   -> "UP"--instance ToByteString TelemetryStatus-instance ToHeader     TelemetryStatus-instance ToQuery      TelemetryStatus--instance FromXML TelemetryStatus where-    parseXML = parseXMLText "TelemetryStatus"--data Subnet = Subnet-    { _s1AvailabilityZone        :: Text-    , _s1AvailableIpAddressCount :: Int-    , _s1CidrBlock               :: Text-    , _s1DefaultForAz            :: Bool-    , _s1MapPublicIpOnLaunch     :: Bool-    , _s1State                   :: SubnetState-    , _s1SubnetId                :: Text-    , _s1Tags                    :: List "item" Tag-    , _s1VpcId                   :: Text-    } deriving (Eq, Read, Show)---- | 'Subnet' constructor.------ The fields accessible through corresponding lenses are:------ * 's1AvailabilityZone' @::@ 'Text'------ * 's1AvailableIpAddressCount' @::@ 'Int'------ * 's1CidrBlock' @::@ 'Text'------ * 's1DefaultForAz' @::@ 'Bool'------ * 's1MapPublicIpOnLaunch' @::@ 'Bool'------ * 's1State' @::@ 'SubnetState'------ * 's1SubnetId' @::@ 'Text'------ * 's1Tags' @::@ ['Tag']------ * 's1VpcId' @::@ 'Text'----subnet :: Text -- ^ 's1SubnetId'-       -> SubnetState -- ^ 's1State'-       -> Text -- ^ 's1VpcId'-       -> Text -- ^ 's1CidrBlock'-       -> Int -- ^ 's1AvailableIpAddressCount'-       -> Text -- ^ 's1AvailabilityZone'-       -> Bool -- ^ 's1DefaultForAz'-       -> Bool -- ^ 's1MapPublicIpOnLaunch'-       -> Subnet-subnet p1 p2 p3 p4 p5 p6 p7 p8 = Subnet-    { _s1SubnetId                = p1-    , _s1State                   = p2-    , _s1VpcId                   = p3-    , _s1CidrBlock               = p4-    , _s1AvailableIpAddressCount = p5-    , _s1AvailabilityZone        = p6-    , _s1DefaultForAz            = p7-    , _s1MapPublicIpOnLaunch     = p8-    , _s1Tags                    = mempty-    }---- | The Availability Zone of the subnet.-s1AvailabilityZone :: Lens' Subnet Text-s1AvailabilityZone =-    lens _s1AvailabilityZone (\s a -> s { _s1AvailabilityZone = a })---- | The number of unused IP addresses in the subnet. Note that the IP addresses--- for any stopped instances are considered unavailable.-s1AvailableIpAddressCount :: Lens' Subnet Int-s1AvailableIpAddressCount =-    lens _s1AvailableIpAddressCount-        (\s a -> s { _s1AvailableIpAddressCount = a })---- | The CIDR block assigned to the subnet.-s1CidrBlock :: Lens' Subnet Text-s1CidrBlock = lens _s1CidrBlock (\s a -> s { _s1CidrBlock = a })---- | Indicates whether this is the default subnet for the Availability Zone.-s1DefaultForAz :: Lens' Subnet Bool-s1DefaultForAz = lens _s1DefaultForAz (\s a -> s { _s1DefaultForAz = a })---- | Indicates whether instances launched in this subnet receive a public IP--- address.-s1MapPublicIpOnLaunch :: Lens' Subnet Bool-s1MapPublicIpOnLaunch =-    lens _s1MapPublicIpOnLaunch (\s a -> s { _s1MapPublicIpOnLaunch = a })---- | The current state of the subnet.-s1State :: Lens' Subnet SubnetState-s1State = lens _s1State (\s a -> s { _s1State = a })---- | The ID of the subnet.-s1SubnetId :: Lens' Subnet Text-s1SubnetId = lens _s1SubnetId (\s a -> s { _s1SubnetId = a })---- | Any tags assigned to the subnet.-s1Tags :: Lens' Subnet [Tag]-s1Tags = lens _s1Tags (\s a -> s { _s1Tags = a }) . _List---- | The ID of the VPC the subnet is in.-s1VpcId :: Lens' Subnet Text-s1VpcId = lens _s1VpcId (\s a -> s { _s1VpcId = a })--instance FromXML Subnet where-    parseXML x = Subnet-        <$> x .@  "availabilityZone"-        <*> x .@  "availableIpAddressCount"-        <*> x .@  "cidrBlock"-        <*> x .@  "defaultForAz"-        <*> x .@  "mapPublicIpOnLaunch"-        <*> x .@  "state"-        <*> x .@  "subnetId"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@  "vpcId"--instance ToQuery Subnet where-    toQuery Subnet{..} = mconcat-        [ "AvailabilityZone"        =? _s1AvailabilityZone-        , "AvailableIpAddressCount" =? _s1AvailableIpAddressCount-        , "CidrBlock"               =? _s1CidrBlock-        , "DefaultForAz"            =? _s1DefaultForAz-        , "MapPublicIpOnLaunch"     =? _s1MapPublicIpOnLaunch-        , "State"                   =? _s1State-        , "SubnetId"                =? _s1SubnetId-        , "TagSet"                  `toQueryList` _s1Tags-        , "VpcId"                   =? _s1VpcId-        ]--data KeyPairInfo = KeyPairInfo-    { _kpiKeyFingerprint :: Maybe Text-    , _kpiKeyName        :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'KeyPairInfo' constructor.------ The fields accessible through corresponding lenses are:------ * 'kpiKeyFingerprint' @::@ 'Maybe' 'Text'------ * 'kpiKeyName' @::@ 'Maybe' 'Text'----keyPairInfo :: KeyPairInfo-keyPairInfo = KeyPairInfo-    { _kpiKeyName        = Nothing-    , _kpiKeyFingerprint = 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 ToQuery KeyPairInfo where-    toQuery KeyPairInfo{..} = mconcat-        [ "KeyFingerprint" =? _kpiKeyFingerprint-        , "KeyName"        =? _kpiKeyName-        ]--data LaunchPermissionModifications = LaunchPermissionModifications-    { _lpmAdd    :: List "item" LaunchPermission-    , _lpmRemove :: List "item" LaunchPermission-    } deriving (Eq, Read, Show)---- | 'LaunchPermissionModifications' constructor.------ The fields accessible through corresponding lenses are:------ * 'lpmAdd' @::@ ['LaunchPermission']------ * 'lpmRemove' @::@ ['LaunchPermission']----launchPermissionModifications :: LaunchPermissionModifications-launchPermissionModifications = LaunchPermissionModifications-    { _lpmAdd    = mempty-    , _lpmRemove = mempty-    }---- | 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 }) . _List---- | 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 }) . _List--instance FromXML LaunchPermissionModifications where-    parseXML x = LaunchPermissionModifications-        <$> x .@? "Add" .!@ mempty-        <*> x .@? "Remove" .!@ mempty--instance ToQuery LaunchPermissionModifications where-    toQuery LaunchPermissionModifications{..} = mconcat-        [ "Add"    `toQueryList` _lpmAdd-        , "Remove" `toQueryList` _lpmRemove-        ]--data SnapshotState-    = SSCompleted -- ^ completed-    | SSError     -- ^ error-    | SSPending   -- ^ pending-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable SnapshotState--instance FromText SnapshotState where-    parser = takeLowerText >>= \case-        "completed" -> pure SSCompleted-        "error"     -> pure SSError-        "pending"   -> pure SSPending-        e           -> fail $-            "Failure parsing SnapshotState from " ++ show e--instance ToText SnapshotState where-    toText = \case-        SSCompleted -> "completed"-        SSError     -> "error"-        SSPending   -> "pending"--instance ToByteString SnapshotState-instance ToHeader     SnapshotState-instance ToQuery      SnapshotState--instance FromXML SnapshotState where-    parseXML = parseXMLText "SnapshotState"--data InstanceNetworkInterfaceAssociation = InstanceNetworkInterfaceAssociation-    { _iniaIpOwnerId     :: Maybe Text-    , _iniaPublicDnsName :: Maybe Text-    , _iniaPublicIp      :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'InstanceNetworkInterfaceAssociation' constructor.------ The fields accessible through corresponding lenses are:------ * 'iniaIpOwnerId' @::@ 'Maybe' 'Text'------ * 'iniaPublicDnsName' @::@ 'Maybe' 'Text'------ * 'iniaPublicIp' @::@ 'Maybe' 'Text'----instanceNetworkInterfaceAssociation :: InstanceNetworkInterfaceAssociation-instanceNetworkInterfaceAssociation = InstanceNetworkInterfaceAssociation-    { _iniaPublicIp      = Nothing-    , _iniaPublicDnsName = Nothing-    , _iniaIpOwnerId     = Nothing-    }---- | 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 DNS name.-iniaPublicDnsName :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)-iniaPublicDnsName =-    lens _iniaPublicDnsName (\s a -> s { _iniaPublicDnsName = 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 .@? "ipOwnerId"-        <*> x .@? "publicDnsName"-        <*> x .@? "publicIp"--instance ToQuery InstanceNetworkInterfaceAssociation where-    toQuery InstanceNetworkInterfaceAssociation{..} = mconcat-        [ "IpOwnerId"     =? _iniaIpOwnerId-        , "PublicDnsName" =? _iniaPublicDnsName-        , "PublicIp"      =? _iniaPublicIp-        ]--data DiskImageDetail = DiskImageDetail-    { _didBytes             :: Integer-    , _didFormat            :: DiskImageFormat-    , _didImportManifestUrl :: Text-    } deriving (Eq, Read, Show)---- | 'DiskImageDetail' constructor.------ The fields accessible through corresponding lenses are:------ * 'didBytes' @::@ 'Integer'------ * 'didFormat' @::@ 'DiskImageFormat'------ * 'didImportManifestUrl' @::@ 'Text'----diskImageDetail :: DiskImageFormat -- ^ 'didFormat'-                -> Integer -- ^ 'didBytes'-                -> Text -- ^ 'didImportManifestUrl'-                -> DiskImageDetail-diskImageDetail p1 p2 p3 = DiskImageDetail-    { _didFormat            = p1-    , _didBytes             = p2-    , _didImportManifestUrl = p3-    }---- | The size of the disk image, in GiB.-didBytes :: Lens' DiskImageDetail Integer-didBytes = lens _didBytes (\s a -> s { _didBytes = a })---- | The disk image format.-didFormat :: Lens' DiskImageDetail DiskImageFormat-didFormat = lens _didFormat (\s a -> s { _didFormat = 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 FromXML DiskImageDetail where-    parseXML x = DiskImageDetail-        <$> x .@  "bytes"-        <*> x .@  "format"-        <*> x .@  "importManifestUrl"--instance ToQuery DiskImageDetail where-    toQuery DiskImageDetail{..} = mconcat-        [ "Bytes"             =? _didBytes-        , "Format"            =? _didFormat-        , "ImportManifestUrl" =? _didImportManifestUrl-        ]--data InstancePrivateIpAddress = InstancePrivateIpAddress-    { _ipiaAssociation      :: Maybe InstanceNetworkInterfaceAssociation-    , _ipiaPrimary          :: Maybe Bool-    , _ipiaPrivateDnsName   :: Maybe Text-    , _ipiaPrivateIpAddress :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'InstancePrivateIpAddress' constructor.------ The fields accessible through corresponding lenses are:------ * 'ipiaAssociation' @::@ 'Maybe' 'InstanceNetworkInterfaceAssociation'------ * 'ipiaPrimary' @::@ 'Maybe' 'Bool'------ * 'ipiaPrivateDnsName' @::@ 'Maybe' 'Text'------ * 'ipiaPrivateIpAddress' @::@ 'Maybe' 'Text'----instancePrivateIpAddress :: InstancePrivateIpAddress-instancePrivateIpAddress = InstancePrivateIpAddress-    { _ipiaPrivateIpAddress = Nothing-    , _ipiaPrivateDnsName   = Nothing-    , _ipiaPrimary          = Nothing-    , _ipiaAssociation      = Nothing-    }---- | 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 })---- | 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 DNS name.-ipiaPrivateDnsName :: Lens' InstancePrivateIpAddress (Maybe Text)-ipiaPrivateDnsName =-    lens _ipiaPrivateDnsName (\s a -> s { _ipiaPrivateDnsName = a })---- | The private IP address of the network interface.-ipiaPrivateIpAddress :: Lens' InstancePrivateIpAddress (Maybe Text)-ipiaPrivateIpAddress =-    lens _ipiaPrivateIpAddress (\s a -> s { _ipiaPrivateIpAddress = a })--instance FromXML InstancePrivateIpAddress where-    parseXML x = InstancePrivateIpAddress-        <$> x .@? "association"-        <*> x .@? "primary"-        <*> x .@? "privateDnsName"-        <*> x .@? "privateIpAddress"--instance ToQuery InstancePrivateIpAddress where-    toQuery InstancePrivateIpAddress{..} = mconcat-        [ "Association"      =? _ipiaAssociation-        , "Primary"          =? _ipiaPrimary-        , "PrivateDnsName"   =? _ipiaPrivateDnsName-        , "PrivateIpAddress" =? _ipiaPrivateIpAddress-        ]--data CancelledSpotInstanceRequest = CancelledSpotInstanceRequest-    { _csiSpotInstanceRequestId :: Maybe Text-    , _csiState                 :: Maybe CancelSpotInstanceRequestState-    } deriving (Eq, Read, Show)---- | 'CancelledSpotInstanceRequest' constructor.------ The fields accessible through corresponding lenses are:------ * 'csiSpotInstanceRequestId' @::@ 'Maybe' 'Text'------ * 'csiState' @::@ 'Maybe' 'CancelSpotInstanceRequestState'----cancelledSpotInstanceRequest :: CancelledSpotInstanceRequest-cancelledSpotInstanceRequest = CancelledSpotInstanceRequest-    { _csiSpotInstanceRequestId = Nothing-    , _csiState                 = Nothing-    }---- | The ID of the Spot Instance request.-csiSpotInstanceRequestId :: Lens' CancelledSpotInstanceRequest (Maybe Text)-csiSpotInstanceRequestId =-    lens _csiSpotInstanceRequestId-        (\s a -> s { _csiSpotInstanceRequestId = a })---- | The state of the Spot Instance request.-csiState :: Lens' CancelledSpotInstanceRequest (Maybe CancelSpotInstanceRequestState)-csiState = lens _csiState (\s a -> s { _csiState = a })--instance FromXML CancelledSpotInstanceRequest where-    parseXML x = CancelledSpotInstanceRequest-        <$> x .@? "spotInstanceRequestId"-        <*> x .@? "state"--instance ToQuery CancelledSpotInstanceRequest where-    toQuery CancelledSpotInstanceRequest{..} = mconcat-        [ "SpotInstanceRequestId" =? _csiSpotInstanceRequestId-        , "State"                 =? _csiState-        ]--newtype VpnConnectionOptionsSpecification = VpnConnectionOptionsSpecification-    { _vcosStaticRoutesOnly :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'VpnConnectionOptionsSpecification' constructor.------ The fields accessible through corresponding lenses are:------ * 'vcosStaticRoutesOnly' @::@ 'Maybe' 'Bool'----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 FromXML VpnConnectionOptionsSpecification where-    parseXML x = VpnConnectionOptionsSpecification-        <$> x .@? "staticRoutesOnly"--instance ToQuery VpnConnectionOptionsSpecification where-    toQuery VpnConnectionOptionsSpecification{..} = mconcat-        [ "StaticRoutesOnly" =? _vcosStaticRoutesOnly-        ]--data Address = Address-    { _aAllocationId            :: Maybe Text-    , _aAssociationId           :: Maybe Text-    , _aDomain                  :: Maybe DomainType-    , _aInstanceId              :: Maybe Text-    , _aNetworkInterfaceId      :: Maybe Text-    , _aNetworkInterfaceOwnerId :: Maybe Text-    , _aPrivateIpAddress        :: Maybe Text-    , _aPublicIp                :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'Address' constructor.------ The fields accessible through corresponding lenses are:------ * 'aAllocationId' @::@ 'Maybe' 'Text'------ * 'aAssociationId' @::@ 'Maybe' 'Text'------ * 'aDomain' @::@ 'Maybe' 'DomainType'------ * 'aInstanceId' @::@ 'Maybe' 'Text'------ * 'aNetworkInterfaceId' @::@ 'Maybe' 'Text'------ * 'aNetworkInterfaceOwnerId' @::@ 'Maybe' 'Text'------ * 'aPrivateIpAddress' @::@ 'Maybe' 'Text'------ * 'aPublicIp' @::@ 'Maybe' 'Text'----address :: Address-address = Address-    { _aInstanceId              = Nothing-    , _aPublicIp                = Nothing-    , _aAllocationId            = Nothing-    , _aAssociationId           = Nothing-    , _aDomain                  = Nothing-    , _aNetworkInterfaceId      = Nothing-    , _aNetworkInterfaceOwnerId = Nothing-    , _aPrivateIpAddress        = Nothing-    }---- | 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 })---- | 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 })---- | 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 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 network interface.-aNetworkInterfaceId :: Lens' Address (Maybe Text)-aNetworkInterfaceId =-    lens _aNetworkInterfaceId (\s a -> s { _aNetworkInterfaceId = 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 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 .@? "allocationId"-        <*> x .@? "associationId"-        <*> x .@? "domain"-        <*> x .@? "instanceId"-        <*> x .@? "networkInterfaceId"-        <*> x .@? "networkInterfaceOwnerId"-        <*> x .@? "privateIpAddress"-        <*> x .@? "publicIp"--instance ToQuery Address where-    toQuery Address{..} = mconcat-        [ "AllocationId"            =? _aAllocationId-        , "AssociationId"           =? _aAssociationId-        , "Domain"                  =? _aDomain-        , "InstanceId"              =? _aInstanceId-        , "NetworkInterfaceId"      =? _aNetworkInterfaceId-        , "NetworkInterfaceOwnerId" =? _aNetworkInterfaceOwnerId-        , "PrivateIpAddress"        =? _aPrivateIpAddress-        , "PublicIp"                =? _aPublicIp-        ]--data VolumeAttachmentState-    = VASAttached  -- ^ attached-    | VASAttaching -- ^ attaching-    | VASDetached  -- ^ detached-    | VASDetaching -- ^ detaching-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable VolumeAttachmentState--instance FromText VolumeAttachmentState where-    parser = takeLowerText >>= \case-        "attached"  -> pure VASAttached-        "attaching" -> pure VASAttaching-        "detached"  -> pure VASDetached-        "detaching" -> pure VASDetaching-        e           -> fail $-            "Failure parsing VolumeAttachmentState from " ++ show e--instance ToText VolumeAttachmentState where-    toText = \case-        VASAttached  -> "attached"-        VASAttaching -> "attaching"-        VASDetached  -> "detached"-        VASDetaching -> "detaching"--instance ToByteString VolumeAttachmentState-instance ToHeader     VolumeAttachmentState-instance ToQuery      VolumeAttachmentState--instance FromXML VolumeAttachmentState where-    parseXML = parseXMLText "VolumeAttachmentState"--data MovingAddressStatus = MovingAddressStatus-    { _masMoveStatus :: Maybe MoveStatus-    , _masPublicIp   :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'MovingAddressStatus' constructor.------ The fields accessible through corresponding lenses are:------ * 'masMoveStatus' @::@ 'Maybe' 'MoveStatus'------ * 'masPublicIp' @::@ 'Maybe' 'Text'----movingAddressStatus :: MovingAddressStatus-movingAddressStatus = MovingAddressStatus-    { _masPublicIp   = Nothing-    , _masMoveStatus = 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 ToQuery MovingAddressStatus where-    toQuery MovingAddressStatus{..} = mconcat-        [ "MoveStatus" =? _masMoveStatus-        , "PublicIp"   =? _masPublicIp-        ]--data LaunchPermission = LaunchPermission-    { _lpGroup  :: Maybe PermissionGroup-    , _lpUserId :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'LaunchPermission' constructor.------ The fields accessible through corresponding lenses are:------ * 'lpGroup' @::@ 'Maybe' 'PermissionGroup'------ * 'lpUserId' @::@ 'Maybe' 'Text'----launchPermission :: LaunchPermission-launchPermission = LaunchPermission-    { _lpUserId = Nothing-    , _lpGroup  = 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-        ]--data RouteState-    = RSActive    -- ^ active-    | RSBlackhole -- ^ blackhole-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable RouteState--instance FromText RouteState where-    parser = takeLowerText >>= \case-        "active"    -> pure RSActive-        "blackhole" -> pure RSBlackhole-        e           -> fail $-            "Failure parsing RouteState from " ++ show e--instance ToText RouteState where-    toText = \case-        RSActive    -> "active"-        RSBlackhole -> "blackhole"--instance ToByteString RouteState-instance ToHeader     RouteState-instance ToQuery      RouteState--instance FromXML RouteState where-    parseXML = parseXMLText "RouteState"--data RouteTableAssociation = RouteTableAssociation-    { _rtaMain                    :: Maybe Bool-    , _rtaRouteTableAssociationId :: Maybe Text-    , _rtaRouteTableId            :: Maybe Text-    , _rtaSubnetId                :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'RouteTableAssociation' constructor.------ The fields accessible through corresponding lenses are:------ * 'rtaMain' @::@ 'Maybe' 'Bool'------ * 'rtaRouteTableAssociationId' @::@ 'Maybe' 'Text'------ * 'rtaRouteTableId' @::@ 'Maybe' 'Text'------ * 'rtaSubnetId' @::@ 'Maybe' 'Text'----routeTableAssociation :: RouteTableAssociation-routeTableAssociation = RouteTableAssociation-    { _rtaRouteTableAssociationId = Nothing-    , _rtaRouteTableId            = Nothing-    , _rtaSubnetId                = Nothing-    , _rtaMain                    = Nothing-    }---- | 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 association between a route table and a subnet.-rtaRouteTableAssociationId :: Lens' RouteTableAssociation (Maybe Text)-rtaRouteTableAssociationId =-    lens _rtaRouteTableAssociationId-        (\s a -> s { _rtaRouteTableAssociationId = a })---- | The ID of the route table.-rtaRouteTableId :: Lens' RouteTableAssociation (Maybe Text)-rtaRouteTableId = lens _rtaRouteTableId (\s a -> s { _rtaRouteTableId = a })---- | The ID of the subnet.-rtaSubnetId :: Lens' RouteTableAssociation (Maybe Text)-rtaSubnetId = lens _rtaSubnetId (\s a -> s { _rtaSubnetId = a })--instance FromXML RouteTableAssociation where-    parseXML x = RouteTableAssociation-        <$> x .@? "main"-        <*> x .@? "routeTableAssociationId"-        <*> x .@? "routeTableId"-        <*> x .@? "subnetId"--instance ToQuery RouteTableAssociation where-    toQuery RouteTableAssociation{..} = mconcat-        [ "Main"                    =? _rtaMain-        , "RouteTableAssociationId" =? _rtaRouteTableAssociationId-        , "RouteTableId"            =? _rtaRouteTableId-        , "SubnetId"                =? _rtaSubnetId-        ]--data BundleTaskState-    = BTSBundling           -- ^ bundling-    | BTSCancelling         -- ^ cancelling-    | BTSComplete           -- ^ complete-    | BTSFailed             -- ^ failed-    | BTSPending            -- ^ pending-    | BTSStoring            -- ^ storing-    | BTSWaitingForShutdown -- ^ waiting-for-shutdown-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable BundleTaskState--instance FromText BundleTaskState where-    parser = takeLowerText >>= \case-        "bundling"             -> pure BTSBundling-        "cancelling"           -> pure BTSCancelling-        "complete"             -> pure BTSComplete-        "failed"               -> pure BTSFailed-        "pending"              -> pure BTSPending-        "storing"              -> pure BTSStoring-        "waiting-for-shutdown" -> pure BTSWaitingForShutdown-        e                      -> fail $-            "Failure parsing BundleTaskState from " ++ show e--instance ToText BundleTaskState where-    toText = \case-        BTSBundling           -> "bundling"-        BTSCancelling         -> "cancelling"-        BTSComplete           -> "complete"-        BTSFailed             -> "failed"-        BTSPending            -> "pending"-        BTSStoring            -> "storing"-        BTSWaitingForShutdown -> "waiting-for-shutdown"--instance ToByteString BundleTaskState-instance ToHeader     BundleTaskState-instance ToQuery      BundleTaskState--instance FromXML BundleTaskState where-    parseXML = parseXMLText "BundleTaskState"--data PortRange = PortRange-    { _prFrom :: Maybe Int-    , _prTo   :: Maybe Int-    } deriving (Eq, Ord, Read, Show)---- | 'PortRange' constructor.------ The fields accessible through corresponding lenses are:------ * 'prFrom' @::@ 'Maybe' 'Int'------ * 'prTo' @::@ 'Maybe' 'Int'----portRange :: PortRange-portRange = PortRange-    { _prFrom = Nothing-    , _prTo   = Nothing-    }---- | The first port in the range.-prFrom :: Lens' PortRange (Maybe Int)-prFrom = lens _prFrom (\s a -> s { _prFrom = a })---- | The last port in the range.-prTo :: Lens' PortRange (Maybe Int)-prTo = lens _prTo (\s a -> s { _prTo = a })--instance FromXML PortRange where-    parseXML x = PortRange-        <$> x .@? "from"-        <*> x .@? "to"--instance ToQuery PortRange where-    toQuery PortRange{..} = mconcat-        [ "From" =? _prFrom-        , "To"   =? _prTo-        ]--data VpcAttributeName-    = EnableDnsHostnames -- ^ enableDnsHostnames-    | EnableDnsSupport   -- ^ enableDnsSupport-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable VpcAttributeName--instance FromText VpcAttributeName where-    parser = takeLowerText >>= \case-        "enablednshostnames" -> pure EnableDnsHostnames-        "enablednssupport"   -> pure EnableDnsSupport-        e                    -> fail $-            "Failure parsing VpcAttributeName from " ++ show e--instance ToText VpcAttributeName where-    toText = \case-        EnableDnsHostnames -> "enableDnsHostnames"-        EnableDnsSupport   -> "enableDnsSupport"--instance ToByteString VpcAttributeName-instance ToHeader     VpcAttributeName-instance ToQuery      VpcAttributeName--instance FromXML VpcAttributeName where-    parseXML = parseXMLText "VpcAttributeName"--data ReservedInstancesConfiguration = ReservedInstancesConfiguration-    { _ricAvailabilityZone :: Maybe Text-    , _ricInstanceCount    :: Maybe Int-    , _ricInstanceType     :: Maybe InstanceType-    , _ricPlatform         :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'ReservedInstancesConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'ricAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'ricInstanceCount' @::@ 'Maybe' 'Int'------ * 'ricInstanceType' @::@ 'Maybe' 'InstanceType'------ * 'ricPlatform' @::@ 'Maybe' 'Text'----reservedInstancesConfiguration :: ReservedInstancesConfiguration-reservedInstancesConfiguration = ReservedInstancesConfiguration-    { _ricAvailabilityZone = Nothing-    , _ricPlatform         = Nothing-    , _ricInstanceCount    = Nothing-    , _ricInstanceType     = Nothing-    }---- | The Availability Zone for the modified Reserved Instances.-ricAvailabilityZone :: Lens' ReservedInstancesConfiguration (Maybe Text)-ricAvailabilityZone =-    lens _ricAvailabilityZone (\s a -> s { _ricAvailabilityZone = 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 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 })--instance FromXML ReservedInstancesConfiguration where-    parseXML x = ReservedInstancesConfiguration-        <$> x .@? "availabilityZone"-        <*> x .@? "instanceCount"-        <*> x .@? "instanceType"-        <*> x .@? "platform"--instance ToQuery ReservedInstancesConfiguration where-    toQuery ReservedInstancesConfiguration{..} = mconcat-        [ "AvailabilityZone" =? _ricAvailabilityZone-        , "InstanceCount"    =? _ricInstanceCount-        , "InstanceType"     =? _ricInstanceType-        , "Platform"         =? _ricPlatform-        ]--data VolumeStatusDetails = VolumeStatusDetails-    { _vsdName   :: Maybe VolumeStatusName-    , _vsdStatus :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'VolumeStatusDetails' constructor.------ The fields accessible through corresponding lenses are:------ * 'vsdName' @::@ 'Maybe' 'VolumeStatusName'------ * 'vsdStatus' @::@ 'Maybe' 'Text'----volumeStatusDetails :: VolumeStatusDetails-volumeStatusDetails = VolumeStatusDetails-    { _vsdName   = Nothing-    , _vsdStatus = Nothing-    }---- | The name of the volume status.-vsdName :: Lens' VolumeStatusDetails (Maybe VolumeStatusName)-vsdName = lens _vsdName (\s a -> s { _vsdName = a })---- | The intended status of the volume status.-vsdStatus :: Lens' VolumeStatusDetails (Maybe Text)-vsdStatus = lens _vsdStatus (\s a -> s { _vsdStatus = a })--instance FromXML VolumeStatusDetails where-    parseXML x = VolumeStatusDetails-        <$> x .@? "name"-        <*> x .@? "status"--instance ToQuery VolumeStatusDetails where-    toQuery VolumeStatusDetails{..} = mconcat-        [ "Name"   =? _vsdName-        , "Status" =? _vsdStatus-        ]--data SpotInstanceState-    = SISActive    -- ^ active-    | SISCancelled -- ^ cancelled-    | SISClosed    -- ^ closed-    | SISFailed    -- ^ failed-    | SISOpen      -- ^ open-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable SpotInstanceState--instance FromText SpotInstanceState where-    parser = takeLowerText >>= \case-        "active"    -> pure SISActive-        "cancelled" -> pure SISCancelled-        "closed"    -> pure SISClosed-        "failed"    -> pure SISFailed-        "open"      -> pure SISOpen-        e           -> fail $-            "Failure parsing SpotInstanceState from " ++ show e--instance ToText SpotInstanceState where-    toText = \case-        SISActive    -> "active"-        SISCancelled -> "cancelled"-        SISClosed    -> "closed"-        SISFailed    -> "failed"-        SISOpen      -> "open"--instance ToByteString SpotInstanceState-instance ToHeader     SpotInstanceState-instance ToQuery      SpotInstanceState--instance FromXML SpotInstanceState where-    parseXML = parseXMLText "SpotInstanceState"--newtype VpnConnectionOptions = VpnConnectionOptions-    { _vcoStaticRoutesOnly :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'VpnConnectionOptions' constructor.------ The fields accessible through corresponding lenses are:------ * 'vcoStaticRoutesOnly' @::@ 'Maybe' 'Bool'----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 ToQuery VpnConnectionOptions where-    toQuery VpnConnectionOptions{..} = mconcat-        [ "StaticRoutesOnly" =? _vcoStaticRoutesOnly-        ]--data UserIdGroupPair = UserIdGroupPair-    { _uigpGroupId   :: Maybe Text-    , _uigpGroupName :: Maybe Text-    , _uigpUserId    :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'UserIdGroupPair' constructor.------ The fields accessible through corresponding lenses are:------ * 'uigpGroupId' @::@ 'Maybe' 'Text'------ * 'uigpGroupName' @::@ 'Maybe' 'Text'------ * 'uigpUserId' @::@ 'Maybe' 'Text'----userIdGroupPair :: UserIdGroupPair-userIdGroupPair = UserIdGroupPair-    { _uigpUserId    = Nothing-    , _uigpGroupName = Nothing-    , _uigpGroupId   = Nothing-    }---- | 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 ID of an AWS account. EC2-Classic only.-uigpUserId :: Lens' UserIdGroupPair (Maybe Text)-uigpUserId = lens _uigpUserId (\s a -> s { _uigpUserId = a })--instance FromXML UserIdGroupPair where-    parseXML x = UserIdGroupPair-        <$> x .@? "groupId"-        <*> x .@? "groupName"-        <*> x .@? "userId"--instance ToQuery UserIdGroupPair where-    toQuery UserIdGroupPair{..} = mconcat-        [ "GroupId"   =? _uigpGroupId-        , "GroupName" =? _uigpGroupName-        , "UserId"    =? _uigpUserId-        ]--data InstanceStatusSummary = InstanceStatusSummary-    { _issDetails :: List "item" InstanceStatusDetails-    , _issStatus  :: Maybe SummaryStatus-    } deriving (Eq, Read, Show)---- | 'InstanceStatusSummary' constructor.------ The fields accessible through corresponding lenses are:------ * 'issDetails' @::@ ['InstanceStatusDetails']------ * 'issStatus' @::@ 'Maybe' 'SummaryStatus'----instanceStatusSummary :: InstanceStatusSummary-instanceStatusSummary = InstanceStatusSummary-    { _issStatus  = Nothing-    , _issDetails = mempty-    }---- | The system instance health or application instance health.-issDetails :: Lens' InstanceStatusSummary [InstanceStatusDetails]-issDetails = lens _issDetails (\s a -> s { _issDetails = a }) . _List---- | The status.-issStatus :: Lens' InstanceStatusSummary (Maybe SummaryStatus)-issStatus = lens _issStatus (\s a -> s { _issStatus = a })--instance FromXML InstanceStatusSummary where-    parseXML x = InstanceStatusSummary-        <$> x .@? "details" .!@ mempty-        <*> x .@? "status"--instance ToQuery InstanceStatusSummary where-    toQuery InstanceStatusSummary{..} = mconcat-        [ "Details" `toQueryList` _issDetails-        , "Status"  =? _issStatus-        ]--data SpotPlacement = SpotPlacement-    { _sp1AvailabilityZone :: Maybe Text-    , _sp1GroupName        :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'SpotPlacement' constructor.------ The fields accessible through corresponding lenses are:------ * 'sp1AvailabilityZone' @::@ 'Maybe' 'Text'------ * 'sp1GroupName' @::@ 'Maybe' 'Text'----spotPlacement :: SpotPlacement-spotPlacement = SpotPlacement-    { _sp1AvailabilityZone = Nothing-    , _sp1GroupName        = Nothing-    }---- | The Availability Zone.-sp1AvailabilityZone :: Lens' SpotPlacement (Maybe Text)-sp1AvailabilityZone =-    lens _sp1AvailabilityZone (\s a -> s { _sp1AvailabilityZone = a })---- | The name of the placement group (for cluster instances).-sp1GroupName :: Lens' SpotPlacement (Maybe Text)-sp1GroupName = lens _sp1GroupName (\s a -> s { _sp1GroupName = a })--instance FromXML SpotPlacement where-    parseXML x = SpotPlacement-        <$> x .@? "availabilityZone"-        <*> x .@? "groupName"--instance ToQuery SpotPlacement where-    toQuery SpotPlacement{..} = mconcat-        [ "AvailabilityZone" =? _sp1AvailabilityZone-        , "GroupName"        =? _sp1GroupName-        ]--data EbsInstanceBlockDeviceSpecification = EbsInstanceBlockDeviceSpecification-    { _eibdsDeleteOnTermination :: Maybe Bool-    , _eibdsVolumeId            :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'EbsInstanceBlockDeviceSpecification' constructor.------ The fields accessible through corresponding lenses are:------ * 'eibdsDeleteOnTermination' @::@ 'Maybe' 'Bool'------ * 'eibdsVolumeId' @::@ 'Maybe' 'Text'----ebsInstanceBlockDeviceSpecification :: EbsInstanceBlockDeviceSpecification-ebsInstanceBlockDeviceSpecification = EbsInstanceBlockDeviceSpecification-    { _eibdsVolumeId            = Nothing-    , _eibdsDeleteOnTermination = 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 FromXML EbsInstanceBlockDeviceSpecification where-    parseXML x = EbsInstanceBlockDeviceSpecification-        <$> x .@? "deleteOnTermination"-        <*> x .@? "volumeId"--instance ToQuery EbsInstanceBlockDeviceSpecification where-    toQuery EbsInstanceBlockDeviceSpecification{..} = mconcat-        [ "DeleteOnTermination" =? _eibdsDeleteOnTermination-        , "VolumeId"            =? _eibdsVolumeId-        ]--data NetworkAclAssociation = NetworkAclAssociation-    { _naaNetworkAclAssociationId :: Maybe Text-    , _naaNetworkAclId            :: Maybe Text-    , _naaSubnetId                :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'NetworkAclAssociation' constructor.------ The fields accessible through corresponding lenses are:------ * 'naaNetworkAclAssociationId' @::@ 'Maybe' 'Text'------ * 'naaNetworkAclId' @::@ 'Maybe' 'Text'------ * 'naaSubnetId' @::@ 'Maybe' 'Text'----networkAclAssociation :: NetworkAclAssociation-networkAclAssociation = NetworkAclAssociation-    { _naaNetworkAclAssociationId = Nothing-    , _naaNetworkAclId            = Nothing-    , _naaSubnetId                = Nothing-    }---- | 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 })---- | 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 })--instance FromXML NetworkAclAssociation where-    parseXML x = NetworkAclAssociation-        <$> x .@? "networkAclAssociationId"-        <*> x .@? "networkAclId"-        <*> x .@? "subnetId"--instance ToQuery NetworkAclAssociation where-    toQuery NetworkAclAssociation{..} = mconcat-        [ "NetworkAclAssociationId" =? _naaNetworkAclAssociationId-        , "NetworkAclId"            =? _naaNetworkAclId-        , "SubnetId"                =? _naaSubnetId-        ]--data BundleTask = BundleTask-    { _btBundleId        :: Text-    , _btBundleTaskError :: Maybe BundleTaskError-    , _btInstanceId      :: Text-    , _btProgress        :: Text-    , _btStartTime       :: ISO8601-    , _btState           :: BundleTaskState-    , _btStorage         :: Storage-    , _btUpdateTime      :: ISO8601-    } deriving (Eq, Read, Show)---- | 'BundleTask' constructor.------ The fields accessible through corresponding lenses are:------ * 'btBundleId' @::@ 'Text'------ * 'btBundleTaskError' @::@ 'Maybe' 'BundleTaskError'------ * 'btInstanceId' @::@ 'Text'------ * 'btProgress' @::@ 'Text'------ * 'btStartTime' @::@ 'UTCTime'------ * 'btState' @::@ 'BundleTaskState'------ * 'btStorage' @::@ 'Storage'------ * 'btUpdateTime' @::@ 'UTCTime'----bundleTask :: Text -- ^ 'btInstanceId'-           -> Text -- ^ 'btBundleId'-           -> BundleTaskState -- ^ 'btState'-           -> UTCTime -- ^ 'btStartTime'-           -> UTCTime -- ^ 'btUpdateTime'-           -> Storage -- ^ 'btStorage'-           -> Text -- ^ 'btProgress'-           -> BundleTask-bundleTask p1 p2 p3 p4 p5 p6 p7 = BundleTask-    { _btInstanceId      = p1-    , _btBundleId        = p2-    , _btState           = p3-    , _btStartTime       = withIso _Time (const id) p4-    , _btUpdateTime      = withIso _Time (const id) p5-    , _btStorage         = p6-    , _btProgress        = p7-    , _btBundleTaskError = Nothing-    }---- | The ID of the bundle task.-btBundleId :: Lens' BundleTask Text-btBundleId = lens _btBundleId (\s a -> s { _btBundleId = a })---- | 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 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 .@  "bundleId"-        <*> x .@? "error"-        <*> x .@  "instanceId"-        <*> x .@  "progress"-        <*> x .@  "startTime"-        <*> x .@  "state"-        <*> x .@  "storage"-        <*> x .@  "updateTime"--instance ToQuery BundleTask where-    toQuery BundleTask{..} = mconcat-        [ "BundleId"   =? _btBundleId-        , "Error"      =? _btBundleTaskError-        , "InstanceId" =? _btInstanceId-        , "Progress"   =? _btProgress-        , "StartTime"  =? _btStartTime-        , "State"      =? _btState-        , "Storage"    =? _btStorage-        , "UpdateTime" =? _btUpdateTime-        ]--data InstanceStatusEvent = InstanceStatusEvent-    { _iseCode        :: Maybe EventCode-    , _iseDescription :: Maybe Text-    , _iseNotAfter    :: Maybe ISO8601-    , _iseNotBefore   :: Maybe ISO8601-    } deriving (Eq, Read, Show)---- | 'InstanceStatusEvent' constructor.------ The fields accessible through corresponding lenses are:------ * 'iseCode' @::@ 'Maybe' 'EventCode'------ * 'iseDescription' @::@ 'Maybe' 'Text'------ * 'iseNotAfter' @::@ 'Maybe' 'UTCTime'------ * 'iseNotBefore' @::@ 'Maybe' 'UTCTime'----instanceStatusEvent :: InstanceStatusEvent-instanceStatusEvent = InstanceStatusEvent-    { _iseCode        = Nothing-    , _iseDescription = Nothing-    , _iseNotBefore   = Nothing-    , _iseNotAfter    = Nothing-    }---- | 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---- | The earliest scheduled start time for the event.-iseNotBefore :: Lens' InstanceStatusEvent (Maybe UTCTime)-iseNotBefore = lens _iseNotBefore (\s a -> s { _iseNotBefore = a }) . mapping _Time--instance FromXML InstanceStatusEvent where-    parseXML x = InstanceStatusEvent-        <$> x .@? "code"-        <*> x .@? "description"-        <*> x .@? "notAfter"-        <*> x .@? "notBefore"--instance ToQuery InstanceStatusEvent where-    toQuery InstanceStatusEvent{..} = mconcat-        [ "Code"        =? _iseCode-        , "Description" =? _iseDescription-        , "NotAfter"    =? _iseNotAfter-        , "NotBefore"   =? _iseNotBefore-        ]--data InstanceType-    = C1_Medium   -- ^ c1.medium-    | C1_XLarge   -- ^ c1.xlarge-    | C3_2XLarge  -- ^ c3.2xlarge-    | C3_4XLarge  -- ^ c3.4xlarge-    | C3_8XLarge  -- ^ c3.8xlarge-    | C3_Large    -- ^ c3.large-    | C3_XLarge   -- ^ c3.xlarge-    | C4_2XLarge  -- ^ c4.2xlarge-    | C4_4XLarge  -- ^ c4.4xlarge-    | C4_8XLarge  -- ^ c4.8xlarge-    | C4_Large    -- ^ c4.large-    | C4_XLarge   -- ^ c4.xlarge-    | CC1_4XLarge -- ^ cc1.4xlarge-    | CC2_8XLarge -- ^ cc2.8xlarge-    | CG1_4XLarge -- ^ cg1.4xlarge-    | CR1_8XLarge -- ^ cr1.8xlarge-    | D2_2XLarge  -- ^ d2.2xlarge-    | D2_4XLarge  -- ^ d2.4xlarge-    | D2_8XLarge  -- ^ d2.8xlarge-    | D2_XLarge   -- ^ d2.xlarge-    | G2_2XLarge  -- ^ g2.2xlarge-    | HI1_4XLarge -- ^ hi1.4xlarge-    | HS1_8XLarge -- ^ hs1.8xlarge-    | I2_2XLarge  -- ^ i2.2xlarge-    | I2_4XLarge  -- ^ i2.4xlarge-    | I2_8XLarge  -- ^ i2.8xlarge-    | I2_XLarge   -- ^ i2.xlarge-    | M1_Large    -- ^ m1.large-    | M1_Medium   -- ^ m1.medium-    | M1_Small    -- ^ m1.small-    | M1_XLarge   -- ^ m1.xlarge-    | M2_2XLarge  -- ^ m2.2xlarge-    | M2_4XLarge  -- ^ m2.4xlarge-    | M2_XLarge   -- ^ m2.xlarge-    | M3_2XLarge  -- ^ m3.2xlarge-    | M3_Large    -- ^ m3.large-    | M3_Medium   -- ^ m3.medium-    | M3_XLarge   -- ^ m3.xlarge-    | M4_Large    -- ^ m4.large-    | M4_XLarge   -- ^ m4.xlarge-    | M4_2XLarge  -- ^ m4.2xlarge-    | M4_4XLarge  -- ^ m4.4xlarge-    | M4_10XLarge -- ^ m4.10xlarge-    | R3_2XLarge  -- ^ r3.2xlarge-    | R3_4XLarge  -- ^ r3.4xlarge-    | R3_8XLarge  -- ^ r3.8xlarge-    | R3_Large    -- ^ r3.large-    | R3_XLarge   -- ^ r3.xlarge-    | T1_Micro    -- ^ t1.micro-    | T2_Medium   -- ^ t2.medium-    | T2_Micro    -- ^ t2.micro-    | T2_Small    -- ^ t2.small-    | T2_Large    -- ^ t2.large-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable InstanceType--instance FromText InstanceType where-    parser = takeLowerText >>= \case-        "c1.medium"   -> pure C1_Medium-        "c1.xlarge"   -> pure C1_XLarge-        "c3.2xlarge"  -> pure C3_2XLarge-        "c3.4xlarge"  -> pure C3_4XLarge-        "c3.8xlarge"  -> pure C3_8XLarge-        "c3.large"    -> pure C3_Large-        "c3.xlarge"   -> pure C3_XLarge-        "c4.2xlarge"  -> pure C4_2XLarge-        "c4.4xlarge"  -> pure C4_4XLarge-        "c4.8xlarge"  -> pure C4_8XLarge-        "c4.large"    -> pure C4_Large-        "c4.xlarge"   -> pure C4_XLarge-        "cc1.4xlarge" -> pure CC1_4XLarge-        "cc2.8xlarge" -> pure CC2_8XLarge-        "cg1.4xlarge" -> pure CG1_4XLarge-        "cr1.8xlarge" -> pure CR1_8XLarge-        "d2.2xlarge"  -> pure D2_2XLarge-        "d2.4xlarge"  -> pure D2_4XLarge-        "d2.8xlarge"  -> pure D2_8XLarge-        "d2.xlarge"   -> pure D2_XLarge-        "g2.2xlarge"  -> pure G2_2XLarge-        "hi1.4xlarge" -> pure HI1_4XLarge-        "hs1.8xlarge" -> pure HS1_8XLarge-        "i2.2xlarge"  -> pure I2_2XLarge-        "i2.4xlarge"  -> pure I2_4XLarge-        "i2.8xlarge"  -> pure I2_8XLarge-        "i2.xlarge"   -> pure I2_XLarge-        "m1.large"    -> pure M1_Large-        "m1.medium"   -> pure M1_Medium-        "m1.small"    -> pure M1_Small-        "m1.xlarge"   -> pure M1_XLarge-        "m2.2xlarge"  -> pure M2_2XLarge-        "m2.4xlarge"  -> pure M2_4XLarge-        "m2.xlarge"   -> pure M2_XLarge-        "m3.2xlarge"  -> pure M3_2XLarge-        "m3.large"    -> pure M3_Large-        "m3.medium"   -> pure M3_Medium-        "m3.xlarge"   -> pure M3_XLarge-        "m4.large"    -> pure M4_Large-        "m4.xlarge"   -> pure M4_XLarge-        "m4.2xlarge"  -> pure M4_2XLarge-        "m4.4xlarge"  -> pure M4_4XLarge-        "m4.10xlarge" -> pure M4_10XLarge-        "r3.2xlarge"  -> pure R3_2XLarge-        "r3.4xlarge"  -> pure R3_4XLarge-        "r3.8xlarge"  -> pure R3_8XLarge-        "r3.large"    -> pure R3_Large-        "r3.xlarge"   -> pure R3_XLarge-        "t1.micro"    -> pure T1_Micro-        "t2.medium"   -> pure T2_Medium-        "t2.micro"    -> pure T2_Micro-        "t2.small"    -> pure T2_Small-        "t2.large"    -> pure T2_Large-        e             -> fail $-            "Failure parsing InstanceType from " ++ show e--instance ToText InstanceType where-    toText = \case-        C1_Medium   -> "c1.medium"-        C1_XLarge   -> "c1.xlarge"-        C3_2XLarge  -> "c3.2xlarge"-        C3_4XLarge  -> "c3.4xlarge"-        C3_8XLarge  -> "c3.8xlarge"-        C3_Large    -> "c3.large"-        C3_XLarge   -> "c3.xlarge"-        C4_2XLarge  -> "c4.2xlarge"-        C4_4XLarge  -> "c4.4xlarge"-        C4_8XLarge  -> "c4.8xlarge"-        C4_Large    -> "c4.large"-        C4_XLarge   -> "c4.xlarge"-        CC1_4XLarge -> "cc1.4xlarge"-        CC2_8XLarge -> "cc2.8xlarge"-        CG1_4XLarge -> "cg1.4xlarge"-        CR1_8XLarge -> "cr1.8xlarge"-        D2_2XLarge  -> "d2.2xlarge"-        D2_4XLarge  -> "d2.4xlarge"-        D2_8XLarge  -> "d2.8xlarge"-        D2_XLarge   -> "d2.xlarge"-        G2_2XLarge  -> "g2.2xlarge"-        HI1_4XLarge -> "hi1.4xlarge"-        HS1_8XLarge -> "hs1.8xlarge"-        I2_2XLarge  -> "i2.2xlarge"-        I2_4XLarge  -> "i2.4xlarge"-        I2_8XLarge  -> "i2.8xlarge"-        I2_XLarge   -> "i2.xlarge"-        M1_Large    -> "m1.large"-        M1_Medium   -> "m1.medium"-        M1_Small    -> "m1.small"-        M1_XLarge   -> "m1.xlarge"-        M2_2XLarge  -> "m2.2xlarge"-        M2_4XLarge  -> "m2.4xlarge"-        M2_XLarge   -> "m2.xlarge"-        M3_2XLarge  -> "m3.2xlarge"-        M3_Large    -> "m3.large"-        M3_Medium   -> "m3.medium"-        M3_XLarge   -> "m3.xlarge"-        M4_Large    -> "m4.large"-        M4_XLarge   -> "m4.xlarge"-        M4_2XLarge  -> "m4.2xlarge"-        M4_4XLarge  -> "m4.4xlarge"-        M4_10XLarge -> "m4.10xlarge"-        R3_2XLarge  -> "r3.2xlarge"-        R3_4XLarge  -> "r3.4xlarge"-        R3_8XLarge  -> "r3.8xlarge"-        R3_Large    -> "r3.large"-        R3_XLarge   -> "r3.xlarge"-        T1_Micro    -> "t1.micro"-        T2_Medium   -> "t2.medium"-        T2_Micro    -> "t2.micro"-        T2_Small    -> "t2.small"-        T2_Large    -> "t2.large"--instance ToByteString InstanceType-instance ToHeader     InstanceType-instance ToQuery      InstanceType--instance FromXML InstanceType where-    parseXML = parseXMLText "InstanceType"--data Route = Route-    { _rDestinationCidrBlock    :: Maybe Text-    , _rDestinationPrefixListId :: Maybe Text-    , _rGatewayId               :: Maybe Text-    , _rInstanceId              :: Maybe Text-    , _rInstanceOwnerId         :: Maybe Text-    , _rNetworkInterfaceId      :: Maybe Text-    , _rOrigin                  :: Maybe RouteOrigin-    , _rState                   :: Maybe RouteState-    , _rVpcPeeringConnectionId  :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'Route' constructor.------ The fields accessible through corresponding lenses are:------ * 'rDestinationCidrBlock' @::@ 'Maybe' 'Text'------ * 'rDestinationPrefixListId' @::@ 'Maybe' 'Text'------ * 'rGatewayId' @::@ 'Maybe' 'Text'------ * 'rInstanceId' @::@ 'Maybe' 'Text'------ * 'rInstanceOwnerId' @::@ 'Maybe' 'Text'------ * 'rNetworkInterfaceId' @::@ 'Maybe' 'Text'------ * 'rOrigin' @::@ 'Maybe' 'RouteOrigin'------ * 'rState' @::@ 'Maybe' 'RouteState'------ * 'rVpcPeeringConnectionId' @::@ 'Maybe' 'Text'----route :: Route-route = Route-    { _rDestinationCidrBlock    = Nothing-    , _rDestinationPrefixListId = Nothing-    , _rGatewayId               = Nothing-    , _rInstanceId              = Nothing-    , _rInstanceOwnerId         = Nothing-    , _rNetworkInterfaceId      = Nothing-    , _rVpcPeeringConnectionId  = Nothing-    , _rState                   = Nothing-    , _rOrigin                  = Nothing-    }---- | The CIDR block used for the destination match.-rDestinationCidrBlock :: Lens' Route (Maybe Text)-rDestinationCidrBlock =-    lens _rDestinationCidrBlock (\s a -> s { _rDestinationCidrBlock = a })---- | The prefix of the AWS service.-rDestinationPrefixListId :: Lens' Route (Maybe Text)-rDestinationPrefixListId =-    lens _rDestinationPrefixListId-        (\s a -> s { _rDestinationPrefixListId = a })---- | The ID of a gateway attached to your VPC.-rGatewayId :: Lens' Route (Maybe Text)-rGatewayId = lens _rGatewayId (\s a -> s { _rGatewayId = a })---- | The ID of a NAT instance in your VPC.-rInstanceId :: Lens' Route (Maybe Text)-rInstanceId = lens _rInstanceId (\s a -> s { _rInstanceId = 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 ID of the network interface.-rNetworkInterfaceId :: Lens' Route (Maybe Text)-rNetworkInterfaceId =-    lens _rNetworkInterfaceId (\s a -> s { _rNetworkInterfaceId = 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 the VPC peering connection.-rVpcPeeringConnectionId :: Lens' Route (Maybe Text)-rVpcPeeringConnectionId =-    lens _rVpcPeeringConnectionId (\s a -> s { _rVpcPeeringConnectionId = a })--instance FromXML Route where-    parseXML x = Route-        <$> x .@? "destinationCidrBlock"-        <*> x .@? "destinationPrefixListId"-        <*> x .@? "gatewayId"-        <*> x .@? "instanceId"-        <*> x .@? "instanceOwnerId"-        <*> x .@? "networkInterfaceId"-        <*> x .@? "origin"-        <*> x .@? "state"-        <*> x .@? "vpcPeeringConnectionId"--instance ToQuery Route where-    toQuery Route{..} = mconcat-        [ "DestinationCidrBlock"    =? _rDestinationCidrBlock-        , "DestinationPrefixListId" =? _rDestinationPrefixListId-        , "GatewayId"               =? _rGatewayId-        , "InstanceId"              =? _rInstanceId-        , "InstanceOwnerId"         =? _rInstanceOwnerId-        , "NetworkInterfaceId"      =? _rNetworkInterfaceId-        , "Origin"                  =? _rOrigin-        , "State"                   =? _rState-        , "VpcPeeringConnectionId"  =? _rVpcPeeringConnectionId-        ]--data SpotDatafeedSubscription = SpotDatafeedSubscription-    { _sdsBucket  :: Maybe Text-    , _sdsFault   :: Maybe SpotInstanceStateFault-    , _sdsOwnerId :: Maybe Text-    , _sdsPrefix  :: Maybe Text-    , _sdsState   :: Maybe DatafeedSubscriptionState-    } deriving (Eq, Read, Show)---- | 'SpotDatafeedSubscription' constructor.------ The fields accessible through corresponding lenses are:------ * 'sdsBucket' @::@ 'Maybe' 'Text'------ * 'sdsFault' @::@ 'Maybe' 'SpotInstanceStateFault'------ * 'sdsOwnerId' @::@ 'Maybe' 'Text'------ * 'sdsPrefix' @::@ 'Maybe' 'Text'------ * 'sdsState' @::@ 'Maybe' 'DatafeedSubscriptionState'----spotDatafeedSubscription :: SpotDatafeedSubscription-spotDatafeedSubscription = SpotDatafeedSubscription-    { _sdsOwnerId = Nothing-    , _sdsBucket  = Nothing-    , _sdsPrefix  = Nothing-    , _sdsState   = Nothing-    , _sdsFault   = Nothing-    }---- | 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 fault codes for the Spot Instance request, if any.-sdsFault :: Lens' SpotDatafeedSubscription (Maybe SpotInstanceStateFault)-sdsFault = lens _sdsFault (\s a -> s { _sdsFault = a })---- | The AWS account ID of the account.-sdsOwnerId :: Lens' SpotDatafeedSubscription (Maybe Text)-sdsOwnerId = lens _sdsOwnerId (\s a -> s { _sdsOwnerId = a })---- | The prefix that is prepended to data feed files.-sdsPrefix :: Lens' SpotDatafeedSubscription (Maybe Text)-sdsPrefix = lens _sdsPrefix (\s a -> s { _sdsPrefix = a })---- | The state of the Spot Instance data feed subscription.-sdsState :: Lens' SpotDatafeedSubscription (Maybe DatafeedSubscriptionState)-sdsState = lens _sdsState (\s a -> s { _sdsState = a })--instance FromXML SpotDatafeedSubscription where-    parseXML x = SpotDatafeedSubscription-        <$> x .@? "bucket"-        <*> x .@? "fault"-        <*> x .@? "ownerId"-        <*> x .@? "prefix"-        <*> x .@? "state"--instance ToQuery SpotDatafeedSubscription where-    toQuery SpotDatafeedSubscription{..} = mconcat-        [ "Bucket"  =? _sdsBucket-        , "Fault"   =? _sdsFault-        , "OwnerId" =? _sdsOwnerId-        , "Prefix"  =? _sdsPrefix-        , "State"   =? _sdsState-        ]--newtype Storage = Storage-    { _sS3 :: Maybe S3Storage-    } deriving (Eq, Read, Show)---- | 'Storage' constructor.------ The fields accessible through corresponding lenses are:------ * 'sS3' @::@ 'Maybe' 'S3Storage'----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-        ]--data SecurityGroup = SecurityGroup-    { _sgDescription         :: Text-    , _sgGroupId             :: Text-    , _sgGroupName           :: Text-    , _sgIpPermissions       :: List "item" IpPermission-    , _sgIpPermissionsEgress :: List "item" IpPermission-    , _sgOwnerId             :: Text-    , _sgTags                :: List "item" Tag-    , _sgVpcId               :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'SecurityGroup' constructor.------ The fields accessible through corresponding lenses are:------ * 'sgDescription' @::@ 'Text'------ * 'sgGroupId' @::@ 'Text'------ * 'sgGroupName' @::@ 'Text'------ * 'sgIpPermissions' @::@ ['IpPermission']------ * 'sgIpPermissionsEgress' @::@ ['IpPermission']------ * 'sgOwnerId' @::@ 'Text'------ * 'sgTags' @::@ ['Tag']------ * 'sgVpcId' @::@ 'Maybe' 'Text'----securityGroup :: Text -- ^ 'sgOwnerId'-              -> Text -- ^ 'sgGroupName'-              -> Text -- ^ 'sgGroupId'-              -> Text -- ^ 'sgDescription'-              -> SecurityGroup-securityGroup p1 p2 p3 p4 = SecurityGroup-    { _sgOwnerId             = p1-    , _sgGroupName           = p2-    , _sgGroupId             = p3-    , _sgDescription         = p4-    , _sgIpPermissions       = mempty-    , _sgIpPermissionsEgress = mempty-    , _sgVpcId               = Nothing-    , _sgTags                = mempty-    }---- | A description of the security group.-sgDescription :: Lens' SecurityGroup Text-sgDescription = lens _sgDescription (\s a -> s { _sgDescription = 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 })---- | One or more inbound rules associated with the security group.-sgIpPermissions :: Lens' SecurityGroup [IpPermission]-sgIpPermissions = lens _sgIpPermissions (\s a -> s { _sgIpPermissions = a }) . _List---- | [EC2-VPC] One or more outbound rules associated with the security group.-sgIpPermissionsEgress :: Lens' SecurityGroup [IpPermission]-sgIpPermissionsEgress =-    lens _sgIpPermissionsEgress (\s a -> s { _sgIpPermissionsEgress = a })-        . _List---- | The AWS account ID of the owner of the security group.-sgOwnerId :: Lens' SecurityGroup Text-sgOwnerId = lens _sgOwnerId (\s a -> s { _sgOwnerId = a })---- | Any tags assigned to the security group.-sgTags :: Lens' SecurityGroup [Tag]-sgTags = lens _sgTags (\s a -> s { _sgTags = a }) . _List---- | [EC2-VPC] The ID of the VPC for the security group.-sgVpcId :: Lens' SecurityGroup (Maybe Text)-sgVpcId = lens _sgVpcId (\s a -> s { _sgVpcId = a })--instance FromXML SecurityGroup where-    parseXML x = SecurityGroup-        <$> x .@  "groupDescription"-        <*> x .@  "groupId"-        <*> x .@  "groupName"-        <*> x .@? "ipPermissions" .!@ mempty-        <*> x .@? "ipPermissionsEgress" .!@ mempty-        <*> x .@  "ownerId"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@? "vpcId"--instance ToQuery SecurityGroup where-    toQuery SecurityGroup{..} = mconcat-        [ "GroupDescription"    =? _sgDescription-        , "GroupId"             =? _sgGroupId-        , "GroupName"           =? _sgGroupName-        , "IpPermissions"       `toQueryList` _sgIpPermissions-        , "IpPermissionsEgress" `toQueryList` _sgIpPermissionsEgress-        , "OwnerId"             =? _sgOwnerId-        , "TagSet"              `toQueryList` _sgTags-        , "VpcId"               =? _sgVpcId-        ]--data CancelSpotInstanceRequestState-    = CSIRSActive    -- ^ active-    | CSIRSCancelled -- ^ cancelled-    | CSIRSClosed    -- ^ closed-    | CSIRSCompleted -- ^ completed-    | CSIRSOpen      -- ^ open-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable CancelSpotInstanceRequestState--instance FromText CancelSpotInstanceRequestState where-    parser = takeLowerText >>= \case-        "active"    -> pure CSIRSActive-        "cancelled" -> pure CSIRSCancelled-        "closed"    -> pure CSIRSClosed-        "completed" -> pure CSIRSCompleted-        "open"      -> pure CSIRSOpen-        e           -> fail $-            "Failure parsing CancelSpotInstanceRequestState from " ++ show e--instance ToText CancelSpotInstanceRequestState where-    toText = \case-        CSIRSActive    -> "active"-        CSIRSCancelled -> "cancelled"-        CSIRSClosed    -> "closed"-        CSIRSCompleted -> "completed"-        CSIRSOpen      -> "open"--instance ToByteString CancelSpotInstanceRequestState-instance ToHeader     CancelSpotInstanceRequestState-instance ToQuery      CancelSpotInstanceRequestState--instance FromXML CancelSpotInstanceRequestState where-    parseXML = parseXMLText "CancelSpotInstanceRequestState"--data PlacementGroupState-    = PGSAvailable -- ^ available-    | PGSDeleted   -- ^ deleted-    | PGSDeleting  -- ^ deleting-    | PGSPending   -- ^ pending-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable PlacementGroupState--instance FromText PlacementGroupState where-    parser = takeLowerText >>= \case-        "available" -> pure PGSAvailable-        "deleted"   -> pure PGSDeleted-        "deleting"  -> pure PGSDeleting-        "pending"   -> pure PGSPending-        e           -> fail $-            "Failure parsing PlacementGroupState from " ++ show e--instance ToText PlacementGroupState where-    toText = \case-        PGSAvailable -> "available"-        PGSDeleted   -> "deleted"-        PGSDeleting  -> "deleting"-        PGSPending   -> "pending"--instance ToByteString PlacementGroupState-instance ToHeader     PlacementGroupState-instance ToQuery      PlacementGroupState--instance FromXML PlacementGroupState where-    parseXML = parseXMLText "PlacementGroupState"--data ReservedInstancesModificationResult = ReservedInstancesModificationResult-    { _rimrReservedInstancesId :: Maybe Text-    , _rimrTargetConfiguration :: Maybe ReservedInstancesConfiguration-    } deriving (Eq, Read, Show)---- | 'ReservedInstancesModificationResult' constructor.------ The fields accessible through corresponding lenses are:------ * 'rimrReservedInstancesId' @::@ 'Maybe' 'Text'------ * 'rimrTargetConfiguration' @::@ 'Maybe' 'ReservedInstancesConfiguration'----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 ToQuery ReservedInstancesModificationResult where-    toQuery ReservedInstancesModificationResult{..} = mconcat-        [ "ReservedInstancesId" =? _rimrReservedInstancesId-        , "TargetConfiguration" =? _rimrTargetConfiguration-        ]--data InstanceBlockDeviceMappingSpecification = InstanceBlockDeviceMappingSpecification-    { _ibdmsDeviceName  :: Maybe Text-    , _ibdmsEbs         :: Maybe EbsInstanceBlockDeviceSpecification-    , _ibdmsNoDevice    :: Maybe Text-    , _ibdmsVirtualName :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'InstanceBlockDeviceMappingSpecification' constructor.------ The fields accessible through corresponding lenses are:------ * 'ibdmsDeviceName' @::@ 'Maybe' 'Text'------ * 'ibdmsEbs' @::@ 'Maybe' 'EbsInstanceBlockDeviceSpecification'------ * 'ibdmsNoDevice' @::@ 'Maybe' 'Text'------ * 'ibdmsVirtualName' @::@ 'Maybe' 'Text'----instanceBlockDeviceMappingSpecification :: InstanceBlockDeviceMappingSpecification-instanceBlockDeviceMappingSpecification = InstanceBlockDeviceMappingSpecification-    { _ibdmsDeviceName  = Nothing-    , _ibdmsEbs         = Nothing-    , _ibdmsVirtualName = Nothing-    , _ibdmsNoDevice    = Nothing-    }---- | 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 })---- | 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 })---- | suppress the specified device included in the block device mapping.-ibdmsNoDevice :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)-ibdmsNoDevice = lens _ibdmsNoDevice (\s a -> s { _ibdmsNoDevice = a })---- | The virtual device name.-ibdmsVirtualName :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)-ibdmsVirtualName = lens _ibdmsVirtualName (\s a -> s { _ibdmsVirtualName = a })--instance FromXML InstanceBlockDeviceMappingSpecification where-    parseXML x = InstanceBlockDeviceMappingSpecification-        <$> x .@? "deviceName"-        <*> x .@? "ebs"-        <*> x .@? "noDevice"-        <*> x .@? "virtualName"--instance ToQuery InstanceBlockDeviceMappingSpecification where-    toQuery InstanceBlockDeviceMappingSpecification{..} = mconcat-        [ "DeviceName"  =? _ibdmsDeviceName-        , "Ebs"         =? _ibdmsEbs-        , "NoDevice"    =? _ibdmsNoDevice-        , "VirtualName" =? _ibdmsVirtualName-        ]--data ExportEnvironment-    = Citrix    -- ^ citrix-    | Microsoft -- ^ microsoft-    | Vmware    -- ^ vmware-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ExportEnvironment--instance FromText ExportEnvironment where-    parser = takeLowerText >>= \case-        "citrix"    -> pure Citrix-        "microsoft" -> pure Microsoft-        "vmware"    -> pure Vmware-        e           -> fail $-            "Failure parsing ExportEnvironment from " ++ show e--instance ToText ExportEnvironment where-    toText = \case-        Citrix    -> "citrix"-        Microsoft -> "microsoft"-        Vmware    -> "vmware"--instance ToByteString ExportEnvironment-instance ToHeader     ExportEnvironment-instance ToQuery      ExportEnvironment--instance FromXML ExportEnvironment where-    parseXML = parseXMLText "ExportEnvironment"--newtype UserData = UserData-    { _udData :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'UserData' constructor.------ The fields accessible through corresponding lenses are:------ * 'udData' @::@ 'Maybe' 'Text'----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 FromXML UserData where-    parseXML x = UserData-        <$> x .@? "data"--instance ToQuery UserData where-    toQuery UserData{..} = mconcat-        [ "Data" =? _udData-        ]--data VolumeAttachment = VolumeAttachment-    { _vaAttachTime          :: Maybe ISO8601-    , _vaDeleteOnTermination :: Maybe Bool-    , _vaDevice              :: Maybe Text-    , _vaInstanceId          :: Maybe Text-    , _vaState               :: Maybe VolumeAttachmentState-    , _vaVolumeId            :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'VolumeAttachment' constructor.------ The fields accessible through corresponding lenses are:------ * 'vaAttachTime' @::@ 'Maybe' 'UTCTime'------ * 'vaDeleteOnTermination' @::@ 'Maybe' 'Bool'------ * 'vaDevice' @::@ 'Maybe' 'Text'------ * 'vaInstanceId' @::@ 'Maybe' 'Text'------ * 'vaState' @::@ 'Maybe' 'VolumeAttachmentState'------ * 'vaVolumeId' @::@ 'Maybe' 'Text'----volumeAttachment :: VolumeAttachment-volumeAttachment = VolumeAttachment-    { _vaVolumeId            = Nothing-    , _vaInstanceId          = Nothing-    , _vaDevice              = Nothing-    , _vaState               = Nothing-    , _vaAttachTime          = Nothing-    , _vaDeleteOnTermination = Nothing-    }---- | The time stamp when the attachment initiated.-vaAttachTime :: Lens' VolumeAttachment (Maybe UTCTime)-vaAttachTime = lens _vaAttachTime (\s a -> s { _vaAttachTime = a }) . mapping _Time---- | Indicates whether the EBS volume is deleted on instance termination.-vaDeleteOnTermination :: Lens' VolumeAttachment (Maybe Bool)-vaDeleteOnTermination =-    lens _vaDeleteOnTermination (\s a -> s { _vaDeleteOnTermination = a })---- | The device name.-vaDevice :: Lens' VolumeAttachment (Maybe Text)-vaDevice = lens _vaDevice (\s a -> s { _vaDevice = a })---- | The ID of the instance.-vaInstanceId :: Lens' VolumeAttachment (Maybe Text)-vaInstanceId = lens _vaInstanceId (\s a -> s { _vaInstanceId = a })---- | The attachment state of the volume.-vaState :: Lens' VolumeAttachment (Maybe VolumeAttachmentState)-vaState = lens _vaState (\s a -> s { _vaState = a })---- | The ID of the volume.-vaVolumeId :: Lens' VolumeAttachment (Maybe Text)-vaVolumeId = lens _vaVolumeId (\s a -> s { _vaVolumeId = a })--instance FromXML VolumeAttachment where-    parseXML x = VolumeAttachment-        <$> x .@? "attachTime"-        <*> x .@? "deleteOnTermination"-        <*> x .@? "device"-        <*> x .@? "instanceId"-        <*> x .@? "status"-        <*> x .@? "volumeId"--instance ToQuery VolumeAttachment where-    toQuery VolumeAttachment{..} = mconcat-        [ "AttachTime"          =? _vaAttachTime-        , "DeleteOnTermination" =? _vaDeleteOnTermination-        , "Device"              =? _vaDevice-        , "InstanceId"          =? _vaInstanceId-        , "Status"              =? _vaState-        , "VolumeId"            =? _vaVolumeId-        ]--data CustomerGateway = CustomerGateway-    { _cgBgpAsn            :: Text-    , _cgCustomerGatewayId :: Text-    , _cgIpAddress         :: Text-    , _cgState             :: Text-    , _cgTags              :: List "item" Tag-    , _cgType              :: Text-    } deriving (Eq, Read, Show)---- | 'CustomerGateway' constructor.------ The fields accessible through corresponding lenses are:------ * 'cgBgpAsn' @::@ 'Text'------ * 'cgCustomerGatewayId' @::@ 'Text'------ * 'cgIpAddress' @::@ 'Text'------ * 'cgState' @::@ 'Text'------ * 'cgTags' @::@ ['Tag']------ * 'cgType' @::@ 'Text'----customerGateway :: Text -- ^ 'cgCustomerGatewayId'-                -> Text -- ^ 'cgState'-                -> Text -- ^ 'cgType'-                -> Text -- ^ 'cgIpAddress'-                -> Text -- ^ 'cgBgpAsn'-                -> CustomerGateway-customerGateway p1 p2 p3 p4 p5 = CustomerGateway-    { _cgCustomerGatewayId = p1-    , _cgState             = p2-    , _cgType              = p3-    , _cgIpAddress         = p4-    , _cgBgpAsn            = p5-    , _cgTags              = mempty-    }---- | 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 })---- | Any tags assigned to the customer gateway.-cgTags :: Lens' CustomerGateway [Tag]-cgTags = lens _cgTags (\s a -> s { _cgTags = a }) . _List---- | 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 .@  "bgpAsn"-        <*> x .@  "customerGatewayId"-        <*> x .@  "ipAddress"-        <*> x .@  "state"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@  "type"--instance ToQuery CustomerGateway where-    toQuery CustomerGateway{..} = mconcat-        [ "BgpAsn"            =? _cgBgpAsn-        , "CustomerGatewayId" =? _cgCustomerGatewayId-        , "IpAddress"         =? _cgIpAddress-        , "State"             =? _cgState-        , "TagSet"            `toQueryList` _cgTags-        , "Type"              =? _cgType-        ]--data EbsInstanceBlockDevice = EbsInstanceBlockDevice-    { _eibdAttachTime          :: Maybe ISO8601-    , _eibdDeleteOnTermination :: Maybe Bool-    , _eibdStatus              :: Maybe AttachmentStatus-    , _eibdVolumeId            :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'EbsInstanceBlockDevice' constructor.------ The fields accessible through corresponding lenses are:------ * 'eibdAttachTime' @::@ 'Maybe' 'UTCTime'------ * 'eibdDeleteOnTermination' @::@ 'Maybe' 'Bool'------ * 'eibdStatus' @::@ 'Maybe' 'AttachmentStatus'------ * 'eibdVolumeId' @::@ 'Maybe' 'Text'----ebsInstanceBlockDevice :: EbsInstanceBlockDevice-ebsInstanceBlockDevice = EbsInstanceBlockDevice-    { _eibdVolumeId            = Nothing-    , _eibdStatus              = Nothing-    , _eibdAttachTime          = Nothing-    , _eibdDeleteOnTermination = Nothing-    }---- | The time stamp when the attachment initiated.-eibdAttachTime :: Lens' EbsInstanceBlockDevice (Maybe UTCTime)-eibdAttachTime = lens _eibdAttachTime (\s a -> s { _eibdAttachTime = a }) . mapping _Time---- | Indicates whether the volume is deleted on instance termination.-eibdDeleteOnTermination :: Lens' EbsInstanceBlockDevice (Maybe Bool)-eibdDeleteOnTermination =-    lens _eibdDeleteOnTermination (\s a -> s { _eibdDeleteOnTermination = a })---- | The attachment state.-eibdStatus :: Lens' EbsInstanceBlockDevice (Maybe AttachmentStatus)-eibdStatus = lens _eibdStatus (\s a -> s { _eibdStatus = a })---- | The ID of the EBS volume.-eibdVolumeId :: Lens' EbsInstanceBlockDevice (Maybe Text)-eibdVolumeId = lens _eibdVolumeId (\s a -> s { _eibdVolumeId = a })--instance FromXML EbsInstanceBlockDevice where-    parseXML x = EbsInstanceBlockDevice-        <$> x .@? "attachTime"-        <*> x .@? "deleteOnTermination"-        <*> x .@? "status"-        <*> x .@? "volumeId"--instance ToQuery EbsInstanceBlockDevice where-    toQuery EbsInstanceBlockDevice{..} = mconcat-        [ "AttachTime"          =? _eibdAttachTime-        , "DeleteOnTermination" =? _eibdDeleteOnTermination-        , "Status"              =? _eibdStatus-        , "VolumeId"            =? _eibdVolumeId-        ]--data ShutdownBehavior-    = Stop      -- ^ stop-    | Terminate -- ^ terminate-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ShutdownBehavior--instance FromText ShutdownBehavior where-    parser = takeLowerText >>= \case-        "stop"      -> pure Stop-        "terminate" -> pure Terminate-        e           -> fail $-            "Failure parsing ShutdownBehavior from " ++ show e--instance ToText ShutdownBehavior where-    toText = \case-        Stop      -> "stop"-        Terminate -> "terminate"--instance ToByteString ShutdownBehavior-instance ToHeader     ShutdownBehavior-instance ToQuery      ShutdownBehavior--instance FromXML ShutdownBehavior where-    parseXML = parseXMLText "ShutdownBehavior"--data DiskImageDescription = DiskImageDescription-    { _did1Checksum          :: Maybe Text-    , _did1Format            :: DiskImageFormat-    , _did1ImportManifestUrl :: Text-    , _did1Size              :: Integer-    } deriving (Eq, Read, Show)---- | 'DiskImageDescription' constructor.------ The fields accessible through corresponding lenses are:------ * 'did1Checksum' @::@ 'Maybe' 'Text'------ * 'did1Format' @::@ 'DiskImageFormat'------ * 'did1ImportManifestUrl' @::@ 'Text'------ * 'did1Size' @::@ 'Integer'----diskImageDescription :: DiskImageFormat -- ^ 'did1Format'-                     -> Integer -- ^ 'did1Size'-                     -> Text -- ^ 'did1ImportManifestUrl'-                     -> DiskImageDescription-diskImageDescription p1 p2 p3 = DiskImageDescription-    { _did1Format            = p1-    , _did1Size              = p2-    , _did1ImportManifestUrl = p3-    , _did1Checksum          = Nothing-    }---- | The checksum computed for the disk image.-did1Checksum :: Lens' DiskImageDescription (Maybe Text)-did1Checksum = lens _did1Checksum (\s a -> s { _did1Checksum = a })---- | The disk image format.-did1Format :: Lens' DiskImageDescription DiskImageFormat-did1Format = lens _did1Format (\s a -> s { _did1Format = 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 RESTRequests> topic in the /Amazon Simple Storage Service Developer Guide/.-did1ImportManifestUrl :: Lens' DiskImageDescription Text-did1ImportManifestUrl =-    lens _did1ImportManifestUrl (\s a -> s { _did1ImportManifestUrl = a })---- | The size of the disk image, in GiB.-did1Size :: Lens' DiskImageDescription Integer-did1Size = lens _did1Size (\s a -> s { _did1Size = a })--instance FromXML DiskImageDescription where-    parseXML x = DiskImageDescription-        <$> x .@? "checksum"-        <*> x .@  "format"-        <*> x .@  "importManifestUrl"-        <*> x .@  "size"--instance ToQuery DiskImageDescription where-    toQuery DiskImageDescription{..} = mconcat-        [ "Checksum"          =? _did1Checksum-        , "Format"            =? _did1Format-        , "ImportManifestUrl" =? _did1ImportManifestUrl-        , "Size"              =? _did1Size-        ]--data DiskImageVolumeDescription = DiskImageVolumeDescription-    { _divdId   :: Text-    , _divdSize :: Maybe Integer-    } deriving (Eq, Ord, Read, Show)---- | 'DiskImageVolumeDescription' constructor.------ The fields accessible through corresponding lenses are:------ * 'divdId' @::@ 'Text'------ * 'divdSize' @::@ 'Maybe' 'Integer'----diskImageVolumeDescription :: Text -- ^ 'divdId'-                           -> DiskImageVolumeDescription-diskImageVolumeDescription p1 = DiskImageVolumeDescription-    { _divdId   = p1-    , _divdSize = Nothing-    }---- | The volume identifier.-divdId :: Lens' DiskImageVolumeDescription Text-divdId = lens _divdId (\s a -> s { _divdId = a })---- | The size of the volume, in GiB.-divdSize :: Lens' DiskImageVolumeDescription (Maybe Integer)-divdSize = lens _divdSize (\s a -> s { _divdSize = a })--instance FromXML DiskImageVolumeDescription where-    parseXML x = DiskImageVolumeDescription-        <$> x .@  "id"-        <*> x .@? "size"--instance ToQuery DiskImageVolumeDescription where-    toQuery DiskImageVolumeDescription{..} = mconcat-        [ "Id"   =? _divdId-        , "Size" =? _divdSize-        ]--newtype Monitoring = Monitoring-    { _mState :: Maybe MonitoringState-    } deriving (Eq, Read, Show)---- | 'Monitoring' constructor.------ The fields accessible through corresponding lenses are:------ * 'mState' @::@ 'Maybe' 'MonitoringState'----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 ToQuery Monitoring where-    toQuery Monitoring{..} = mconcat-        [ "State" =? _mState-        ]--data SubnetState-    = SubnetStateAvailable -- ^ available-    | SubnetStatePending   -- ^ pending-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable SubnetState--instance FromText SubnetState where-    parser = takeLowerText >>= \case-        "available" -> pure SubnetStateAvailable-        "pending"   -> pure SubnetStatePending-        e           -> fail $-            "Failure parsing SubnetState from " ++ show e--instance ToText SubnetState where-    toText = \case-        SubnetStateAvailable -> "available"-        SubnetStatePending   -> "pending"--instance ToByteString SubnetState-instance ToHeader     SubnetState-instance ToQuery      SubnetState--instance FromXML SubnetState where-    parseXML = parseXMLText "SubnetState"--data CancelSpotFleetRequestsSuccessItem = CancelSpotFleetRequestsSuccessItem-    { _csfrsiCurrentSpotFleetRequestState  :: BatchState-    , _csfrsiPreviousSpotFleetRequestState :: BatchState-    , _csfrsiSpotFleetRequestId            :: Text-    } deriving (Eq, Read, Show)---- | 'CancelSpotFleetRequestsSuccessItem' constructor.------ The fields accessible through corresponding lenses are:------ * 'csfrsiCurrentSpotFleetRequestState' @::@ 'BatchState'------ * 'csfrsiPreviousSpotFleetRequestState' @::@ 'BatchState'------ * 'csfrsiSpotFleetRequestId' @::@ 'Text'----cancelSpotFleetRequestsSuccessItem :: Text -- ^ 'csfrsiSpotFleetRequestId'-                                   -> BatchState -- ^ 'csfrsiCurrentSpotFleetRequestState'-                                   -> BatchState -- ^ 'csfrsiPreviousSpotFleetRequestState'-                                   -> CancelSpotFleetRequestsSuccessItem-cancelSpotFleetRequestsSuccessItem p1 p2 p3 = CancelSpotFleetRequestsSuccessItem-    { _csfrsiSpotFleetRequestId            = p1-    , _csfrsiCurrentSpotFleetRequestState  = p2-    , _csfrsiPreviousSpotFleetRequestState = p3-    }---- | 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 })---- | The ID of the Spot fleet request.-csfrsiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsSuccessItem Text-csfrsiSpotFleetRequestId =-    lens _csfrsiSpotFleetRequestId-        (\s a -> s { _csfrsiSpotFleetRequestId = a })--instance FromXML CancelSpotFleetRequestsSuccessItem where-    parseXML x = CancelSpotFleetRequestsSuccessItem-        <$> x .@  "currentSpotFleetRequestState"-        <*> x .@  "previousSpotFleetRequestState"-        <*> x .@  "spotFleetRequestId"--instance ToQuery CancelSpotFleetRequestsSuccessItem where-    toQuery CancelSpotFleetRequestsSuccessItem{..} = mconcat-        [ "CurrentSpotFleetRequestState"  =? _csfrsiCurrentSpotFleetRequestState-        , "PreviousSpotFleetRequestState" =? _csfrsiPreviousSpotFleetRequestState-        , "SpotFleetRequestId"            =? _csfrsiSpotFleetRequestId-        ]--data ContainerFormat-    = Ova -- ^ ova-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ContainerFormat--instance FromText ContainerFormat where-    parser = takeLowerText >>= \case-        "ova" -> pure Ova-        e     -> fail $-            "Failure parsing ContainerFormat from " ++ show e--instance ToText ContainerFormat where-    toText Ova = "ova"--instance ToByteString ContainerFormat-instance ToHeader     ContainerFormat-instance ToQuery      ContainerFormat--instance FromXML ContainerFormat where-    parseXML = parseXMLText "ContainerFormat"--newtype AvailabilityZoneMessage = AvailabilityZoneMessage-    { _azmMessage :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'AvailabilityZoneMessage' constructor.------ The fields accessible through corresponding lenses are:------ * 'azmMessage' @::@ 'Maybe' 'Text'----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 ToQuery AvailabilityZoneMessage where-    toQuery AvailabilityZoneMessage{..} = mconcat-        [ "Message" =? _azmMessage-        ]--data VpcAttachment = VpcAttachment-    { _va1State :: Maybe AttachmentStatus-    , _va1VpcId :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'VpcAttachment' constructor.------ The fields accessible through corresponding lenses are:------ * 'va1State' @::@ 'Maybe' 'AttachmentStatus'------ * 'va1VpcId' @::@ 'Maybe' 'Text'----vpcAttachment :: VpcAttachment-vpcAttachment = VpcAttachment-    { _va1VpcId = Nothing-    , _va1State = Nothing-    }---- | The current state of the attachment.-va1State :: Lens' VpcAttachment (Maybe AttachmentStatus)-va1State = lens _va1State (\s a -> s { _va1State = a })---- | The ID of the VPC.-va1VpcId :: Lens' VpcAttachment (Maybe Text)-va1VpcId = lens _va1VpcId (\s a -> s { _va1VpcId = a })--instance FromXML VpcAttachment where-    parseXML x = VpcAttachment-        <$> x .@? "state"-        <*> x .@? "vpcId"--instance ToQuery VpcAttachment where-    toQuery VpcAttachment{..} = mconcat-        [ "State" =? _va1State-        , "VpcId" =? _va1VpcId-        ]--data EventType-    = Error              -- ^ error-    | FleetRequestChange -- ^ fleetRequestChange-    | InstanceChange     -- ^ instanceChange-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable EventType--instance FromText EventType where-    parser = takeLowerText >>= \case-        "error"              -> pure Error-        "fleetrequestchange" -> pure FleetRequestChange-        "instancechange"     -> pure InstanceChange-        e                    -> fail $-            "Failure parsing EventType from " ++ show e--instance ToText EventType where-    toText = \case-        Error              -> "error"-        FleetRequestChange -> "fleetRequestChange"-        InstanceChange     -> "instanceChange"--instance ToByteString EventType-instance ToHeader     EventType-instance ToQuery      EventType--instance FromXML EventType where-    parseXML = parseXMLText "EventType"--data InstanceBlockDeviceMapping = InstanceBlockDeviceMapping-    { _ibdmDeviceName :: Maybe Text-    , _ibdmEbs        :: Maybe EbsInstanceBlockDevice-    } deriving (Eq, Read, Show)---- | 'InstanceBlockDeviceMapping' constructor.------ The fields accessible through corresponding lenses are:------ * 'ibdmDeviceName' @::@ 'Maybe' 'Text'------ * 'ibdmEbs' @::@ 'Maybe' 'EbsInstanceBlockDevice'----instanceBlockDeviceMapping :: InstanceBlockDeviceMapping-instanceBlockDeviceMapping = InstanceBlockDeviceMapping-    { _ibdmDeviceName = Nothing-    , _ibdmEbs        = Nothing-    }---- | 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 })---- | 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 })--instance FromXML InstanceBlockDeviceMapping where-    parseXML x = InstanceBlockDeviceMapping-        <$> x .@? "deviceName"-        <*> x .@? "ebs"--instance ToQuery InstanceBlockDeviceMapping where-    toQuery InstanceBlockDeviceMapping{..} = mconcat-        [ "DeviceName" =? _ibdmDeviceName-        , "Ebs"        =? _ibdmEbs-        ]--data StatusType-    = STFailed           -- ^ failed-    | STInsufficientData -- ^ insufficient-data-    | STPassed           -- ^ passed-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable StatusType--instance FromText StatusType where-    parser = takeLowerText >>= \case-        "failed"            -> pure STFailed-        "insufficient-data" -> pure STInsufficientData-        "passed"            -> pure STPassed-        e                   -> fail $-            "Failure parsing StatusType from " ++ show e--instance ToText StatusType where-    toText = \case-        STFailed           -> "failed"-        STInsufficientData -> "insufficient-data"-        STPassed           -> "passed"--instance ToByteString StatusType-instance ToHeader     StatusType-instance ToQuery      StatusType--instance FromXML StatusType where-    parseXML = parseXMLText "StatusType"--data ExportToS3TaskSpecification = ExportToS3TaskSpecification-    { _etstsContainerFormat :: Maybe ContainerFormat-    , _etstsDiskImageFormat :: Maybe DiskImageFormat-    , _etstsS3Bucket        :: Maybe Text-    , _etstsS3Prefix        :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'ExportToS3TaskSpecification' constructor.------ The fields accessible through corresponding lenses are:------ * 'etstsContainerFormat' @::@ 'Maybe' 'ContainerFormat'------ * 'etstsDiskImageFormat' @::@ 'Maybe' 'DiskImageFormat'------ * 'etstsS3Bucket' @::@ 'Maybe' 'Text'------ * 'etstsS3Prefix' @::@ 'Maybe' 'Text'----exportToS3TaskSpecification :: ExportToS3TaskSpecification-exportToS3TaskSpecification = ExportToS3TaskSpecification-    { _etstsDiskImageFormat = Nothing-    , _etstsContainerFormat = Nothing-    , _etstsS3Bucket        = Nothing-    , _etstsS3Prefix        = 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 format for the exported image.-etstsDiskImageFormat :: Lens' ExportToS3TaskSpecification (Maybe DiskImageFormat)-etstsDiskImageFormat =-    lens _etstsDiskImageFormat (\s a -> s { _etstsDiskImageFormat = 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 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 })--instance FromXML ExportToS3TaskSpecification where-    parseXML x = ExportToS3TaskSpecification-        <$> x .@? "containerFormat"-        <*> x .@? "diskImageFormat"-        <*> x .@? "s3Bucket"-        <*> x .@? "s3Prefix"--instance ToQuery ExportToS3TaskSpecification where-    toQuery ExportToS3TaskSpecification{..} = mconcat-        [ "ContainerFormat" =? _etstsContainerFormat-        , "DiskImageFormat" =? _etstsDiskImageFormat-        , "S3Bucket"        =? _etstsS3Bucket-        , "S3Prefix"        =? _etstsS3Prefix-        ]--data CancelBatchErrorCode-    = FleetRequestIdDoesNotExist        -- ^ fleetRequestIdDoesNotExist-    | FleetRequestIdMalformed           -- ^ fleetRequestIdMalformed-    | FleetRequestNotInCancellableState -- ^ fleetRequestNotInCancellableState-    | UnexpectedError                   -- ^ unexpectedError-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable CancelBatchErrorCode--instance FromText CancelBatchErrorCode where-    parser = takeLowerText >>= \case-        "fleetrequestiddoesnotexist"        -> pure FleetRequestIdDoesNotExist-        "fleetrequestidmalformed"           -> pure FleetRequestIdMalformed-        "fleetrequestnotincancellablestate" -> pure FleetRequestNotInCancellableState-        "unexpectederror"                   -> pure UnexpectedError-        e                                   -> fail $-            "Failure parsing CancelBatchErrorCode from " ++ show e--instance ToText CancelBatchErrorCode where-    toText = \case-        FleetRequestIdDoesNotExist        -> "fleetRequestIdDoesNotExist"-        FleetRequestIdMalformed           -> "fleetRequestIdMalformed"-        FleetRequestNotInCancellableState -> "fleetRequestNotInCancellableState"-        UnexpectedError                   -> "unexpectedError"--instance ToByteString CancelBatchErrorCode-instance ToHeader     CancelBatchErrorCode-instance ToQuery      CancelBatchErrorCode--instance FromXML CancelBatchErrorCode where-    parseXML = parseXMLText "CancelBatchErrorCode"--newtype PrefixListId = PrefixListId-    { _pliPrefixListId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'PrefixListId' constructor.------ The fields accessible through corresponding lenses are:------ * 'pliPrefixListId' @::@ 'Maybe' 'Text'----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-        ]--data NetworkInterfaceAttribute-    = Attachment      -- ^ attachment-    | Description     -- ^ description-    | GroupSet        -- ^ groupSet-    | SourceDestCheck -- ^ sourceDestCheck-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable NetworkInterfaceAttribute--instance FromText NetworkInterfaceAttribute where-    parser = takeLowerText >>= \case-        "attachment"      -> pure Attachment-        "description"     -> pure Description-        "groupset"        -> pure GroupSet-        "sourcedestcheck" -> pure SourceDestCheck-        e                 -> fail $-            "Failure parsing NetworkInterfaceAttribute from " ++ show e--instance ToText NetworkInterfaceAttribute where-    toText = \case-        Attachment      -> "attachment"-        Description     -> "description"-        GroupSet        -> "groupSet"-        SourceDestCheck -> "sourceDestCheck"--instance ToByteString NetworkInterfaceAttribute-instance ToHeader     NetworkInterfaceAttribute-instance ToQuery      NetworkInterfaceAttribute--instance FromXML NetworkInterfaceAttribute where-    parseXML = parseXMLText "NetworkInterfaceAttribute"--data ImageTypeValues-    = Kernel  -- ^ kernel-    | Machine -- ^ machine-    | Ramdisk -- ^ ramdisk-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ImageTypeValues--instance FromText ImageTypeValues where-    parser = takeLowerText >>= \case-        "kernel"  -> pure Kernel-        "machine" -> pure Machine-        "ramdisk" -> pure Ramdisk-        e         -> fail $-            "Failure parsing ImageTypeValues from " ++ show e--instance ToText ImageTypeValues where-    toText = \case-        Kernel  -> "kernel"-        Machine -> "machine"-        Ramdisk -> "ramdisk"--instance ToByteString ImageTypeValues-instance ToHeader     ImageTypeValues-instance ToQuery      ImageTypeValues--instance FromXML ImageTypeValues where-    parseXML = parseXMLText "ImageTypeValues"--data InstanceExportDetails = InstanceExportDetails-    { _iedInstanceId        :: Maybe Text-    , _iedTargetEnvironment :: Maybe ExportEnvironment-    } deriving (Eq, Read, Show)---- | 'InstanceExportDetails' constructor.------ The fields accessible through corresponding lenses are:------ * 'iedInstanceId' @::@ 'Maybe' 'Text'------ * 'iedTargetEnvironment' @::@ 'Maybe' 'ExportEnvironment'----instanceExportDetails :: InstanceExportDetails-instanceExportDetails = InstanceExportDetails-    { _iedInstanceId        = Nothing-    , _iedTargetEnvironment = Nothing-    }---- | The ID of the resource being exported.-iedInstanceId :: Lens' InstanceExportDetails (Maybe Text)-iedInstanceId = lens _iedInstanceId (\s a -> s { _iedInstanceId = a })---- | The target virtualization environment.-iedTargetEnvironment :: Lens' InstanceExportDetails (Maybe ExportEnvironment)-iedTargetEnvironment =-    lens _iedTargetEnvironment (\s a -> s { _iedTargetEnvironment = a })--instance FromXML InstanceExportDetails where-    parseXML x = InstanceExportDetails-        <$> x .@? "instanceId"-        <*> x .@? "targetEnvironment"--instance ToQuery InstanceExportDetails where-    toQuery InstanceExportDetails{..} = mconcat-        [ "InstanceId"        =? _iedInstanceId-        , "TargetEnvironment" =? _iedTargetEnvironment-        ]--data SnapshotAttributeName-    = SANCreateVolumePermission -- ^ createVolumePermission-    | SANProductCodes           -- ^ productCodes-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable SnapshotAttributeName--instance FromText SnapshotAttributeName where-    parser = takeLowerText >>= \case-        "createvolumepermission" -> pure SANCreateVolumePermission-        "productcodes"           -> pure SANProductCodes-        e                        -> fail $-            "Failure parsing SnapshotAttributeName from " ++ show e--instance ToText SnapshotAttributeName where-    toText = \case-        SANCreateVolumePermission -> "createVolumePermission"-        SANProductCodes           -> "productCodes"--instance ToByteString SnapshotAttributeName-instance ToHeader     SnapshotAttributeName-instance ToQuery      SnapshotAttributeName--instance FromXML SnapshotAttributeName where-    parseXML = parseXMLText "SnapshotAttributeName"--data AvailabilityZone = AvailabilityZone-    { _azMessages   :: List "item" AvailabilityZoneMessage-    , _azRegionName :: Maybe Text-    , _azState      :: Maybe AvailabilityZoneState-    , _azZoneName   :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'AvailabilityZone' constructor.------ The fields accessible through corresponding lenses are:------ * 'azMessages' @::@ ['AvailabilityZoneMessage']------ * 'azRegionName' @::@ 'Maybe' 'Text'------ * 'azState' @::@ 'Maybe' 'AvailabilityZoneState'------ * 'azZoneName' @::@ 'Maybe' 'Text'----availabilityZone :: AvailabilityZone-availabilityZone = AvailabilityZone-    { _azZoneName   = Nothing-    , _azState      = Nothing-    , _azRegionName = Nothing-    , _azMessages   = mempty-    }---- | Any messages about the Availability Zone.-azMessages :: Lens' AvailabilityZone [AvailabilityZoneMessage]-azMessages = lens _azMessages (\s a -> s { _azMessages = a }) . _List---- | The name of the region.-azRegionName :: Lens' AvailabilityZone (Maybe Text)-azRegionName = lens _azRegionName (\s a -> s { _azRegionName = a })---- | The state of the Availability Zone ('available' | 'impaired' | 'unavailable').-azState :: Lens' AvailabilityZone (Maybe AvailabilityZoneState)-azState = lens _azState (\s a -> s { _azState = a })---- | The name of the Availability Zone.-azZoneName :: Lens' AvailabilityZone (Maybe Text)-azZoneName = lens _azZoneName (\s a -> s { _azZoneName = a })--instance FromXML AvailabilityZone where-    parseXML x = AvailabilityZone-        <$> x .@? "messageSet" .!@ mempty-        <*> x .@? "regionName"-        <*> x .@? "zoneState"-        <*> x .@? "zoneName"--instance ToQuery AvailabilityZone where-    toQuery AvailabilityZone{..} = mconcat-        [ "MessageSet" `toQueryList` _azMessages-        , "RegionName" =? _azRegionName-        , "ZoneState"  =? _azState-        , "ZoneName"   =? _azZoneName-        ]--data HistoryRecord = HistoryRecord-    { _hrEventInformation :: EventInformation-    , _hrEventType        :: EventType-    , _hrTimestamp        :: ISO8601-    } deriving (Eq, Read, Show)---- | 'HistoryRecord' constructor.------ The fields accessible through corresponding lenses are:------ * 'hrEventInformation' @::@ 'EventInformation'------ * 'hrEventType' @::@ 'EventType'------ * 'hrTimestamp' @::@ 'UTCTime'----historyRecord :: UTCTime -- ^ 'hrTimestamp'-              -> EventType -- ^ 'hrEventType'-              -> EventInformation -- ^ 'hrEventInformation'-              -> HistoryRecord-historyRecord p1 p2 p3 = HistoryRecord-    { _hrTimestamp        = withIso _Time (const id) p1-    , _hrEventType        = p2-    , _hrEventInformation = p3-    }---- | Information about the event.-hrEventInformation :: Lens' HistoryRecord EventInformation-hrEventInformation =-    lens _hrEventInformation (\s a -> s { _hrEventInformation = a })---- | 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 })---- | 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--instance FromXML HistoryRecord where-    parseXML x = HistoryRecord-        <$> x .@  "eventInformation"-        <*> x .@  "eventType"-        <*> x .@  "timestamp"--instance ToQuery HistoryRecord where-    toQuery HistoryRecord{..} = mconcat-        [ "EventInformation" =? _hrEventInformation-        , "EventType"        =? _hrEventType-        , "Timestamp"        =? _hrTimestamp-        ]--data ImportImageTask = ImportImageTask-    { _iitArchitecture    :: Maybe Text-    , _iitDescription     :: Maybe Text-    , _iitHypervisor      :: Maybe Text-    , _iitImageId         :: Maybe Text-    , _iitImportTaskId    :: Maybe Text-    , _iitLicenseType     :: Maybe Text-    , _iitPlatform        :: Maybe Text-    , _iitProgress        :: Maybe Text-    , _iitSnapshotDetails :: List "item" SnapshotDetail-    , _iitStatus          :: Maybe Text-    , _iitStatusMessage   :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'ImportImageTask' constructor.------ The fields accessible through corresponding lenses are:------ * 'iitArchitecture' @::@ 'Maybe' 'Text'------ * 'iitDescription' @::@ 'Maybe' 'Text'------ * 'iitHypervisor' @::@ 'Maybe' 'Text'------ * 'iitImageId' @::@ 'Maybe' 'Text'------ * 'iitImportTaskId' @::@ 'Maybe' 'Text'------ * 'iitLicenseType' @::@ 'Maybe' 'Text'------ * 'iitPlatform' @::@ 'Maybe' 'Text'------ * 'iitProgress' @::@ 'Maybe' 'Text'------ * 'iitSnapshotDetails' @::@ ['SnapshotDetail']------ * 'iitStatus' @::@ 'Maybe' 'Text'------ * 'iitStatusMessage' @::@ 'Maybe' 'Text'----importImageTask :: ImportImageTask-importImageTask = ImportImageTask-    { _iitImportTaskId    = Nothing-    , _iitArchitecture    = Nothing-    , _iitLicenseType     = Nothing-    , _iitPlatform        = Nothing-    , _iitHypervisor      = Nothing-    , _iitDescription     = Nothing-    , _iitSnapshotDetails = mempty-    , _iitImageId         = Nothing-    , _iitProgress        = Nothing-    , _iitStatusMessage   = Nothing-    , _iitStatus          = Nothing-    }---- | 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 })---- | The target hypervisor for the import task.------ Valid values: 'xen'-iitHypervisor :: Lens' ImportImageTask (Maybe Text)-iitHypervisor = lens _iitHypervisor (\s a -> s { _iitHypervisor = 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 license type of the virtual machine.-iitLicenseType :: Lens' ImportImageTask (Maybe Text)-iitLicenseType = lens _iitLicenseType (\s a -> s { _iitLicenseType = 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 })---- | Information about the snapshots.-iitSnapshotDetails :: Lens' ImportImageTask [SnapshotDetail]-iitSnapshotDetails =-    lens _iitSnapshotDetails (\s a -> s { _iitSnapshotDetails = a })-        . _List---- | A brief status for the import image task.-iitStatus :: Lens' ImportImageTask (Maybe Text)-iitStatus = lens _iitStatus (\s a -> s { _iitStatus = a })---- | A descriptive status message for the import image task.-iitStatusMessage :: Lens' ImportImageTask (Maybe Text)-iitStatusMessage = lens _iitStatusMessage (\s a -> s { _iitStatusMessage = a })--instance FromXML ImportImageTask where-    parseXML x = ImportImageTask-        <$> x .@? "architecture"-        <*> x .@? "description"-        <*> x .@? "hypervisor"-        <*> x .@? "imageId"-        <*> x .@? "importTaskId"-        <*> x .@? "licenseType"-        <*> x .@? "platform"-        <*> x .@? "progress"-        <*> x .@? "snapshotDetailSet" .!@ mempty-        <*> x .@? "status"-        <*> x .@? "statusMessage"--instance ToQuery ImportImageTask where-    toQuery ImportImageTask{..} = mconcat-        [ "Architecture"      =? _iitArchitecture-        , "Description"       =? _iitDescription-        , "Hypervisor"        =? _iitHypervisor-        , "ImageId"           =? _iitImageId-        , "ImportTaskId"      =? _iitImportTaskId-        , "LicenseType"       =? _iitLicenseType-        , "Platform"          =? _iitPlatform-        , "Progress"          =? _iitProgress-        , "SnapshotDetailSet" `toQueryList` _iitSnapshotDetails-        , "Status"            =? _iitStatus-        , "StatusMessage"     =? _iitStatusMessage-        ]--data VpnState-    = VpnStateAvailable -- ^ available-    | VpnStateDeleted   -- ^ deleted-    | VpnStateDeleting  -- ^ deleting-    | VpnStatePending   -- ^ pending-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable VpnState--instance FromText VpnState where-    parser = takeLowerText >>= \case-        "available" -> pure VpnStateAvailable-        "deleted"   -> pure VpnStateDeleted-        "deleting"  -> pure VpnStateDeleting-        "pending"   -> pure VpnStatePending-        e           -> fail $-            "Failure parsing VpnState from " ++ show e--instance ToText VpnState where-    toText = \case-        VpnStateAvailable -> "available"-        VpnStateDeleted   -> "deleted"-        VpnStateDeleting  -> "deleting"-        VpnStatePending   -> "pending"--instance ToByteString VpnState-instance ToHeader     VpnState-instance ToQuery      VpnState--instance FromXML VpnState where-    parseXML = parseXMLText "VpnState"--data RouteTable = RouteTable-    { _rtAssociations    :: List "item" RouteTableAssociation-    , _rtPropagatingVgws :: List "item" PropagatingVgw-    , _rtRouteTableId    :: Maybe Text-    , _rtRoutes          :: List "item" Route-    , _rtTags            :: List "item" Tag-    , _rtVpcId           :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'RouteTable' constructor.------ The fields accessible through corresponding lenses are:------ * 'rtAssociations' @::@ ['RouteTableAssociation']------ * 'rtPropagatingVgws' @::@ ['PropagatingVgw']------ * 'rtRouteTableId' @::@ 'Maybe' 'Text'------ * 'rtRoutes' @::@ ['Route']------ * 'rtTags' @::@ ['Tag']------ * 'rtVpcId' @::@ 'Maybe' 'Text'----routeTable :: RouteTable-routeTable = RouteTable-    { _rtRouteTableId    = Nothing-    , _rtVpcId           = Nothing-    , _rtRoutes          = mempty-    , _rtAssociations    = mempty-    , _rtTags            = mempty-    , _rtPropagatingVgws = mempty-    }---- | The associations between the route table and one or more subnets.-rtAssociations :: Lens' RouteTable [RouteTableAssociation]-rtAssociations = lens _rtAssociations (\s a -> s { _rtAssociations = a }) . _List---- | Any virtual private gateway (VGW) propagating routes.-rtPropagatingVgws :: Lens' RouteTable [PropagatingVgw]-rtPropagatingVgws =-    lens _rtPropagatingVgws (\s a -> s { _rtPropagatingVgws = a })-        . _List---- | 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 }) . _List---- | Any tags assigned to the route table.-rtTags :: Lens' RouteTable [Tag]-rtTags = lens _rtTags (\s a -> s { _rtTags = a }) . _List---- | The ID of the VPC.-rtVpcId :: Lens' RouteTable (Maybe Text)-rtVpcId = lens _rtVpcId (\s a -> s { _rtVpcId = a })--instance FromXML RouteTable where-    parseXML x = RouteTable-        <$> x .@? "associationSet" .!@ mempty-        <*> x .@? "propagatingVgwSet" .!@ mempty-        <*> x .@? "routeTableId"-        <*> x .@? "routeSet" .!@ mempty-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@? "vpcId"--instance ToQuery RouteTable where-    toQuery RouteTable{..} = mconcat-        [ "AssociationSet"    `toQueryList` _rtAssociations-        , "PropagatingVgwSet" `toQueryList` _rtPropagatingVgws-        , "RouteTableId"      =? _rtRouteTableId-        , "RouteSet"          `toQueryList` _rtRoutes-        , "TagSet"            `toQueryList` _rtTags-        , "VpcId"             =? _rtVpcId-        ]--data UserBucket = UserBucket-    { _ubS3Bucket :: Maybe Text-    , _ubS3Key    :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'UserBucket' constructor.------ The fields accessible through corresponding lenses are:------ * 'ubS3Bucket' @::@ 'Maybe' 'Text'------ * 'ubS3Key' @::@ 'Maybe' 'Text'----userBucket :: UserBucket-userBucket = UserBucket-    { _ubS3Bucket = Nothing-    , _ubS3Key    = Nothing-    }---- | 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 })---- | The key for the disk image.-ubS3Key :: Lens' UserBucket (Maybe Text)-ubS3Key = lens _ubS3Key (\s a -> s { _ubS3Key = a })--instance FromXML UserBucket where-    parseXML x = UserBucket-        <$> x .@? "S3Bucket"-        <*> x .@? "S3Key"--instance ToQuery UserBucket where-    toQuery UserBucket{..} = mconcat-        [ "S3Bucket" =? _ubS3Bucket-        , "S3Key"    =? _ubS3Key-        ]--data HypervisorType-    = Ovm -- ^ ovm-    | Xen -- ^ xen-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable HypervisorType--instance FromText HypervisorType where-    parser = takeLowerText >>= \case-        "ovm" -> pure Ovm-        "xen" -> pure Xen-        e     -> fail $-            "Failure parsing HypervisorType from " ++ show e--instance ToText HypervisorType where-    toText = \case-        Ovm -> "ovm"-        Xen -> "xen"--instance ToByteString HypervisorType-instance ToHeader     HypervisorType-instance ToQuery      HypervisorType--instance FromXML HypervisorType where-    parseXML = parseXMLText "HypervisorType"--data CancelSpotFleetRequestsErrorItem = CancelSpotFleetRequestsErrorItem-    { _csfreiError              :: CancelSpotFleetRequestsError-    , _csfreiSpotFleetRequestId :: Text-    } deriving (Eq, Read, Show)---- | 'CancelSpotFleetRequestsErrorItem' constructor.------ The fields accessible through corresponding lenses are:------ * 'csfreiError' @::@ 'CancelSpotFleetRequestsError'------ * 'csfreiSpotFleetRequestId' @::@ 'Text'----cancelSpotFleetRequestsErrorItem :: Text -- ^ 'csfreiSpotFleetRequestId'-                                 -> CancelSpotFleetRequestsError -- ^ 'csfreiError'-                                 -> CancelSpotFleetRequestsErrorItem-cancelSpotFleetRequestsErrorItem p1 p2 = CancelSpotFleetRequestsErrorItem-    { _csfreiSpotFleetRequestId = p1-    , _csfreiError              = p2-    }---- | The error.-csfreiError :: Lens' CancelSpotFleetRequestsErrorItem CancelSpotFleetRequestsError-csfreiError = lens _csfreiError (\s a -> s { _csfreiError = a })---- | The ID of the Spot fleet request.-csfreiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsErrorItem Text-csfreiSpotFleetRequestId =-    lens _csfreiSpotFleetRequestId-        (\s a -> s { _csfreiSpotFleetRequestId = a })--instance FromXML CancelSpotFleetRequestsErrorItem where-    parseXML x = CancelSpotFleetRequestsErrorItem-        <$> x .@  "error"-        <*> x .@  "spotFleetRequestId"--instance ToQuery CancelSpotFleetRequestsErrorItem where-    toQuery CancelSpotFleetRequestsErrorItem{..} = mconcat-        [ "Error"              =? _csfreiError-        , "SpotFleetRequestId" =? _csfreiSpotFleetRequestId-        ]--data InstanceStatusDetails = InstanceStatusDetails-    { _isdImpairedSince :: Maybe ISO8601-    , _isdName          :: Maybe StatusName-    , _isdStatus        :: Maybe StatusType-    } deriving (Eq, Read, Show)---- | 'InstanceStatusDetails' constructor.------ The fields accessible through corresponding lenses are:------ * 'isdImpairedSince' @::@ 'Maybe' 'UTCTime'------ * 'isdName' @::@ 'Maybe' 'StatusName'------ * 'isdStatus' @::@ 'Maybe' 'StatusType'----instanceStatusDetails :: InstanceStatusDetails-instanceStatusDetails = InstanceStatusDetails-    { _isdName          = Nothing-    , _isdStatus        = Nothing-    , _isdImpairedSince = Nothing-    }---- | 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 })---- | The status.-isdStatus :: Lens' InstanceStatusDetails (Maybe StatusType)-isdStatus = lens _isdStatus (\s a -> s { _isdStatus = a })--instance FromXML InstanceStatusDetails where-    parseXML x = InstanceStatusDetails-        <$> x .@? "impairedSince"-        <*> x .@? "name"-        <*> x .@? "status"--instance ToQuery InstanceStatusDetails where-    toQuery InstanceStatusDetails{..} = mconcat-        [ "ImpairedSince" =? _isdImpairedSince-        , "Name"          =? _isdName-        , "Status"        =? _isdStatus-        ]--data IamInstanceProfile = IamInstanceProfile-    { _iipArn :: Maybe Text-    , _iipId  :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'IamInstanceProfile' constructor.------ The fields accessible through corresponding lenses are:------ * 'iipArn' @::@ 'Maybe' 'Text'------ * 'iipId' @::@ 'Maybe' 'Text'----iamInstanceProfile :: IamInstanceProfile-iamInstanceProfile = IamInstanceProfile-    { _iipArn = Nothing-    , _iipId  = Nothing-    }---- | The Amazon Resource Name (ARN) of the instance profile.-iipArn :: Lens' IamInstanceProfile (Maybe Text)-iipArn = lens _iipArn (\s a -> s { _iipArn = a })---- | The ID of the instance profile.-iipId :: Lens' IamInstanceProfile (Maybe Text)-iipId = lens _iipId (\s a -> s { _iipId = a })--instance FromXML IamInstanceProfile where-    parseXML x = IamInstanceProfile-        <$> x .@? "arn"-        <*> x .@? "id"--instance ToQuery IamInstanceProfile where-    toQuery IamInstanceProfile{..} = mconcat-        [ "Arn" =? _iipArn-        , "Id"  =? _iipId-        ]--data UnsuccessfulItem = UnsuccessfulItem-    { _uiError      :: UnsuccessfulItemError-    , _uiResourceId :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'UnsuccessfulItem' constructor.------ The fields accessible through corresponding lenses are:------ * 'uiError' @::@ 'UnsuccessfulItemError'------ * 'uiResourceId' @::@ 'Maybe' 'Text'----unsuccessfulItem :: UnsuccessfulItemError -- ^ 'uiError'-                 -> UnsuccessfulItem-unsuccessfulItem p1 = UnsuccessfulItem-    { _uiError      = p1-    , _uiResourceId = Nothing-    }---- | Information about the error.-uiError :: Lens' UnsuccessfulItem UnsuccessfulItemError-uiError = lens _uiError (\s a -> s { _uiError = a })---- | The ID of the resource.-uiResourceId :: Lens' UnsuccessfulItem (Maybe Text)-uiResourceId = lens _uiResourceId (\s a -> s { _uiResourceId = a })--instance FromXML UnsuccessfulItem where-    parseXML x = UnsuccessfulItem-        <$> x .@  "error"-        <*> x .@? "resourceId"--instance ToQuery UnsuccessfulItem where-    toQuery UnsuccessfulItem{..} = mconcat-        [ "Error"      =? _uiError-        , "ResourceId" =? _uiResourceId-        ]--data InternetGatewayAttachment = InternetGatewayAttachment-    { _igaState :: AttachmentStatus-    , _igaVpcId :: Text-    } deriving (Eq, Read, Show)---- | 'InternetGatewayAttachment' constructor.------ The fields accessible through corresponding lenses are:------ * 'igaState' @::@ 'AttachmentStatus'------ * 'igaVpcId' @::@ 'Text'----internetGatewayAttachment :: Text -- ^ 'igaVpcId'-                          -> AttachmentStatus -- ^ 'igaState'-                          -> InternetGatewayAttachment-internetGatewayAttachment p1 p2 = InternetGatewayAttachment-    { _igaVpcId = p1-    , _igaState = p2-    }---- | 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 ToQuery InternetGatewayAttachment where-    toQuery InternetGatewayAttachment{..} = mconcat-        [ "State" =? _igaState-        , "VpcId" =? _igaVpcId-        ]--data AddressStatus-    = InClassic      -- ^ InClassic-    | InVpc          -- ^ InVpc-    | MoveInProgress -- ^ MoveInProgress-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable AddressStatus--instance FromText AddressStatus where-    parser = takeLowerText >>= \case-        "inclassic"      -> pure InClassic-        "invpc"          -> pure InVpc-        "moveinprogress" -> pure MoveInProgress-        e                -> fail $-            "Failure parsing AddressStatus from " ++ show e--instance ToText AddressStatus where-    toText = \case-        InClassic      -> "InClassic"-        InVpc          -> "InVpc"-        MoveInProgress -> "MoveInProgress"--instance ToByteString AddressStatus-instance ToHeader     AddressStatus-instance ToQuery      AddressStatus--instance FromXML AddressStatus where-    parseXML = parseXMLText "AddressStatus"--data ReservedInstanceState-    = RISActive         -- ^ active-    | RISPaymentFailed  -- ^ payment-failed-    | RISPaymentPending -- ^ payment-pending-    | RISRetired        -- ^ retired-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ReservedInstanceState--instance FromText ReservedInstanceState where-    parser = takeLowerText >>= \case-        "active"          -> pure RISActive-        "payment-failed"  -> pure RISPaymentFailed-        "payment-pending" -> pure RISPaymentPending-        "retired"         -> pure RISRetired-        e                 -> fail $-            "Failure parsing ReservedInstanceState from " ++ show e--instance ToText ReservedInstanceState where-    toText = \case-        RISActive         -> "active"-        RISPaymentFailed  -> "payment-failed"-        RISPaymentPending -> "payment-pending"-        RISRetired        -> "retired"--instance ToByteString ReservedInstanceState-instance ToHeader     ReservedInstanceState-instance ToQuery      ReservedInstanceState--instance FromXML ReservedInstanceState where-    parseXML = parseXMLText "ReservedInstanceState"--data InstanceAttributeName-    = IANInstanceBlockDeviceMapping                -- ^ blockDeviceMapping-    | IANInstanceDisableApiTermination             -- ^ disableApiTermination-    | IANInstanceEbsOptimized                      -- ^ ebsOptimized-    | IANInstanceGroupSet                          -- ^ groupSet-    | IANInstanceInstanceInitiatedShutdownBehavior -- ^ instanceInitiatedShutdownBehavior-    | IANInstanceInstanceType                      -- ^ instanceType-    | IANInstanceKernel                            -- ^ kernel-    | IANInstanceProductCodes                      -- ^ productCodes-    | IANInstanceRamdisk                           -- ^ ramdisk-    | IANInstanceRootDeviceName                    -- ^ rootDeviceName-    | IANInstanceSourceDestCheck                   -- ^ sourceDestCheck-    | IANInstanceSriovNetSupport                   -- ^ sriovNetSupport-    | IANInstanceUserData                          -- ^ userData-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable InstanceAttributeName--instance FromText InstanceAttributeName where-    parser = takeLowerText >>= \case-        "blockdevicemapping"                -> pure IANInstanceBlockDeviceMapping-        "disableapitermination"             -> pure IANInstanceDisableApiTermination-        "ebsoptimized"                      -> pure IANInstanceEbsOptimized-        "groupset"                          -> pure IANInstanceGroupSet-        "instanceinitiatedshutdownbehavior" -> pure IANInstanceInstanceInitiatedShutdownBehavior-        "instancetype"                      -> pure IANInstanceInstanceType-        "kernel"                            -> pure IANInstanceKernel-        "productcodes"                      -> pure IANInstanceProductCodes-        "ramdisk"                           -> pure IANInstanceRamdisk-        "rootdevicename"                    -> pure IANInstanceRootDeviceName-        "sourcedestcheck"                   -> pure IANInstanceSourceDestCheck-        "sriovnetsupport"                   -> pure IANInstanceSriovNetSupport-        "userdata"                          -> pure IANInstanceUserData-        e                                   -> fail $-            "Failure parsing InstanceAttributeName from " ++ show e--instance ToText InstanceAttributeName where-    toText = \case-        IANInstanceBlockDeviceMapping                -> "blockDeviceMapping"-        IANInstanceDisableApiTermination             -> "disableApiTermination"-        IANInstanceEbsOptimized                      -> "ebsOptimized"-        IANInstanceGroupSet                          -> "groupSet"-        IANInstanceInstanceInitiatedShutdownBehavior -> "instanceInitiatedShutdownBehavior"-        IANInstanceInstanceType                      -> "instanceType"-        IANInstanceKernel                            -> "kernel"-        IANInstanceProductCodes                      -> "productCodes"-        IANInstanceRamdisk                           -> "ramdisk"-        IANInstanceRootDeviceName                    -> "rootDeviceName"-        IANInstanceSourceDestCheck                   -> "sourceDestCheck"-        IANInstanceSriovNetSupport                   -> "sriovNetSupport"-        IANInstanceUserData                          -> "userData"--instance ToByteString InstanceAttributeName-instance ToHeader     InstanceAttributeName-instance ToQuery      InstanceAttributeName--instance FromXML InstanceAttributeName where-    parseXML = parseXMLText "InstanceAttributeName"--data IpPermission = IpPermission-    { _ipFromPort         :: Maybe Int-    , _ipIpProtocol       :: Text-    , _ipIpRanges         :: List "item" IpRange-    , _ipPrefixListIds    :: List "item" PrefixListId-    , _ipToPort           :: Maybe Int-    , _ipUserIdGroupPairs :: List "item" UserIdGroupPair-    } deriving (Eq, Read, Show)---- | 'IpPermission' constructor.------ The fields accessible through corresponding lenses are:------ * 'ipFromPort' @::@ 'Maybe' 'Int'------ * 'ipIpProtocol' @::@ 'Text'------ * 'ipIpRanges' @::@ ['IpRange']------ * 'ipPrefixListIds' @::@ ['PrefixListId']------ * 'ipToPort' @::@ 'Maybe' 'Int'------ * 'ipUserIdGroupPairs' @::@ ['UserIdGroupPair']----ipPermission :: Text -- ^ 'ipIpProtocol'-             -> IpPermission-ipPermission p1 = IpPermission-    { _ipIpProtocol       = p1-    , _ipFromPort         = Nothing-    , _ipToPort           = Nothing-    , _ipUserIdGroupPairs = mempty-    , _ipIpRanges         = mempty-    , _ipPrefixListIds    = mempty-    }---- | 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 })---- | The protocol.------ When you call 'DescribeSecurityGroups', the protocol value returned is the--- number. Exception: For TCP, UDP, and ICMP, the value returned is the name--- (for example, 'tcp', 'udp', or 'icmp'). For a list of protocol numbers, see <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>. (VPC only) When you call 'AuthorizeSecurityGroupIngress', you can use '-1' to--- specify all.-ipIpProtocol :: Lens' IpPermission Text-ipIpProtocol = lens _ipIpProtocol (\s a -> s { _ipIpProtocol = a })---- | One or more IP ranges.-ipIpRanges :: Lens' IpPermission [IpRange]-ipIpRanges = lens _ipIpRanges (\s a -> s { _ipIpRanges = a }) . _List---- | (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 }) . _List---- | 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 security group and AWS account ID pairs.-ipUserIdGroupPairs :: Lens' IpPermission [UserIdGroupPair]-ipUserIdGroupPairs =-    lens _ipUserIdGroupPairs (\s a -> s { _ipUserIdGroupPairs = a })-        . _List--instance FromXML IpPermission where-    parseXML x = IpPermission-        <$> x .@? "fromPort"-        <*> x .@  "ipProtocol"-        <*> x .@? "ipRanges" .!@ mempty-        <*> x .@? "prefixListIds" .!@ mempty-        <*> x .@? "toPort"-        <*> x .@? "groups" .!@ mempty--instance ToQuery IpPermission where-    toQuery IpPermission{..} = mconcat-        [ "FromPort"      =? _ipFromPort-        , "IpProtocol"    =? _ipIpProtocol-        , "IpRanges"      `toQueryList` _ipIpRanges-        , "PrefixListIds" `toQueryList` _ipPrefixListIds-        , "ToPort"        =? _ipToPort-        , "Groups"        `toQueryList` _ipUserIdGroupPairs-        ]--data ConversionTaskState-    = CTSActive     -- ^ active-    | CTSCancelled  -- ^ cancelled-    | CTSCancelling -- ^ cancelling-    | CTSCompleted  -- ^ completed-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ConversionTaskState--instance FromText ConversionTaskState where-    parser = takeLowerText >>= \case-        "active"     -> pure CTSActive-        "cancelled"  -> pure CTSCancelled-        "cancelling" -> pure CTSCancelling-        "completed"  -> pure CTSCompleted-        e            -> fail $-            "Failure parsing ConversionTaskState from " ++ show e--instance ToText ConversionTaskState where-    toText = \case-        CTSActive     -> "active"-        CTSCancelled  -> "cancelled"-        CTSCancelling -> "cancelling"-        CTSCompleted  -> "completed"--instance ToByteString ConversionTaskState-instance ToHeader     ConversionTaskState-instance ToQuery      ConversionTaskState--instance FromXML ConversionTaskState where-    parseXML = parseXMLText "ConversionTaskState"--data DiskImage = DiskImage-    { _diDescription :: Maybe Text-    , _diImage       :: Maybe DiskImageDetail-    , _diVolume      :: Maybe VolumeDetail-    } deriving (Eq, Read, Show)---- | 'DiskImage' constructor.------ The fields accessible through corresponding lenses are:------ * 'diDescription' @::@ 'Maybe' 'Text'------ * 'diImage' @::@ 'Maybe' 'DiskImageDetail'------ * 'diVolume' @::@ 'Maybe' 'VolumeDetail'----diskImage :: DiskImage-diskImage = DiskImage-    { _diImage       = Nothing-    , _diDescription = Nothing-    , _diVolume      = Nothing-    }---- | A description of the disk image.-diDescription :: Lens' DiskImage (Maybe Text)-diDescription = lens _diDescription (\s a -> s { _diDescription = a })---- | 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 })--instance FromXML DiskImage where-    parseXML x = DiskImage-        <$> x .@? "Description"-        <*> x .@? "Image"-        <*> x .@? "Volume"--instance ToQuery DiskImage where-    toQuery DiskImage{..} = mconcat-        [ "Description" =? _diDescription-        , "Image"       =? _diImage-        , "Volume"      =? _diVolume-        ]--data Tenancy-    = Dedicated -- ^ dedicated-    | Default'  -- ^ default-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable Tenancy--instance FromText Tenancy where-    parser = takeLowerText >>= \case-        "dedicated" -> pure Dedicated-        "default"   -> pure Default'-        e           -> fail $-            "Failure parsing Tenancy from " ++ show e--instance ToText Tenancy where-    toText = \case-        Dedicated -> "dedicated"-        Default'  -> "default"--instance ToByteString Tenancy-instance ToHeader     Tenancy-instance ToQuery      Tenancy--instance FromXML Tenancy where-    parseXML = parseXMLText "Tenancy"--data UnsuccessfulItemError = UnsuccessfulItemError-    { _uieCode    :: Text-    , _uieMessage :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'UnsuccessfulItemError' constructor.------ The fields accessible through corresponding lenses are:------ * 'uieCode' @::@ 'Text'------ * 'uieMessage' @::@ 'Text'----unsuccessfulItemError :: Text -- ^ 'uieCode'-                      -> Text -- ^ 'uieMessage'-                      -> UnsuccessfulItemError-unsuccessfulItemError p1 p2 = UnsuccessfulItemError-    { _uieCode    = p1-    , _uieMessage = p2-    }---- | 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 ToQuery UnsuccessfulItemError where-    toQuery UnsuccessfulItemError{..} = mconcat-        [ "Code"    =? _uieCode-        , "Message" =? _uieMessage-        ]--data VpcPeeringConnectionStateReason = VpcPeeringConnectionStateReason-    { _vpcsrCode    :: Maybe Text-    , _vpcsrMessage :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'VpcPeeringConnectionStateReason' constructor.------ The fields accessible through corresponding lenses are:------ * 'vpcsrCode' @::@ 'Maybe' 'Text'------ * 'vpcsrMessage' @::@ 'Maybe' 'Text'----vpcPeeringConnectionStateReason :: VpcPeeringConnectionStateReason-vpcPeeringConnectionStateReason = VpcPeeringConnectionStateReason-    { _vpcsrCode    = Nothing-    , _vpcsrMessage = Nothing-    }---- | The status of the VPC peering connection.-vpcsrCode :: Lens' VpcPeeringConnectionStateReason (Maybe Text)-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 ToQuery VpcPeeringConnectionStateReason where-    toQuery VpcPeeringConnectionStateReason{..} = mconcat-        [ "Code"    =? _vpcsrCode-        , "Message" =? _vpcsrMessage-        ]--data IamInstanceProfileSpecification = IamInstanceProfileSpecification-    { _iipsArn  :: Maybe Text-    , _iipsName :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'IamInstanceProfileSpecification' constructor.------ The fields accessible through corresponding lenses are:------ * 'iipsArn' @::@ 'Maybe' 'Text'------ * 'iipsName' @::@ 'Maybe' 'Text'----iamInstanceProfileSpecification :: IamInstanceProfileSpecification-iamInstanceProfileSpecification = IamInstanceProfileSpecification-    { _iipsArn  = Nothing-    , _iipsName = Nothing-    }---- | The Amazon Resource Name (ARN) of the instance profile.-iipsArn :: Lens' IamInstanceProfileSpecification (Maybe Text)-iipsArn = lens _iipsArn (\s a -> s { _iipsArn = a })---- | The name of the instance profile.-iipsName :: Lens' IamInstanceProfileSpecification (Maybe Text)-iipsName = lens _iipsName (\s a -> s { _iipsName = a })--instance FromXML IamInstanceProfileSpecification where-    parseXML x = IamInstanceProfileSpecification-        <$> x .@? "arn"-        <*> x .@? "name"--instance ToQuery IamInstanceProfileSpecification where-    toQuery IamInstanceProfileSpecification{..} = mconcat-        [ "Arn"  =? _iipsArn-        , "Name" =? _iipsName-        ]--data ImportVolumeTaskDetails = ImportVolumeTaskDetails-    { _ivtdAvailabilityZone :: Text-    , _ivtdBytesConverted   :: Integer-    , _ivtdDescription      :: Maybe Text-    , _ivtdImage            :: DiskImageDescription-    , _ivtdVolume           :: DiskImageVolumeDescription-    } deriving (Eq, Read, Show)---- | 'ImportVolumeTaskDetails' constructor.------ The fields accessible through corresponding lenses are:------ * 'ivtdAvailabilityZone' @::@ 'Text'------ * 'ivtdBytesConverted' @::@ 'Integer'------ * 'ivtdDescription' @::@ 'Maybe' 'Text'------ * 'ivtdImage' @::@ 'DiskImageDescription'------ * 'ivtdVolume' @::@ 'DiskImageVolumeDescription'----importVolumeTaskDetails :: Integer -- ^ 'ivtdBytesConverted'-                        -> Text -- ^ 'ivtdAvailabilityZone'-                        -> DiskImageDescription -- ^ 'ivtdImage'-                        -> DiskImageVolumeDescription -- ^ 'ivtdVolume'-                        -> ImportVolumeTaskDetails-importVolumeTaskDetails p1 p2 p3 p4 = ImportVolumeTaskDetails-    { _ivtdBytesConverted   = p1-    , _ivtdAvailabilityZone = p2-    , _ivtdImage            = p3-    , _ivtdVolume           = p4-    , _ivtdDescription      = Nothing-    }---- | The Availability Zone where the resulting volume will reside.-ivtdAvailabilityZone :: Lens' ImportVolumeTaskDetails Text-ivtdAvailabilityZone =-    lens _ivtdAvailabilityZone (\s a -> s { _ivtdAvailabilityZone = a })---- | The number of bytes converted so far.-ivtdBytesConverted :: Lens' ImportVolumeTaskDetails Integer-ivtdBytesConverted =-    lens _ivtdBytesConverted (\s a -> s { _ivtdBytesConverted = a })---- | The description you provided when starting the import volume task.-ivtdDescription :: Lens' ImportVolumeTaskDetails (Maybe Text)-ivtdDescription = lens _ivtdDescription (\s a -> s { _ivtdDescription = 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 .@  "availabilityZone"-        <*> x .@  "bytesConverted"-        <*> x .@? "description"-        <*> x .@  "image"-        <*> x .@  "volume"--instance ToQuery ImportVolumeTaskDetails where-    toQuery ImportVolumeTaskDetails{..} = mconcat-        [ "AvailabilityZone" =? _ivtdAvailabilityZone-        , "BytesConverted"   =? _ivtdBytesConverted-        , "Description"      =? _ivtdDescription-        , "Image"            =? _ivtdImage-        , "Volume"           =? _ivtdVolume-        ]--data PlacementStrategy-    = Cluster -- ^ cluster-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable PlacementStrategy--instance FromText PlacementStrategy where-    parser = takeLowerText >>= \case-        "cluster" -> pure Cluster-        e         -> fail $-            "Failure parsing PlacementStrategy from " ++ show e--instance ToText PlacementStrategy where-    toText Cluster = "cluster"--instance ToByteString PlacementStrategy-instance ToHeader     PlacementStrategy-instance ToQuery      PlacementStrategy--instance FromXML PlacementStrategy where-    parseXML = parseXMLText "PlacementStrategy"--data InstanceNetworkInterface = InstanceNetworkInterface-    { _iniAssociation        :: Maybe InstanceNetworkInterfaceAssociation-    , _iniAttachment         :: Maybe InstanceNetworkInterfaceAttachment-    , _iniDescription        :: Maybe Text-    , _iniGroups             :: List "item" GroupIdentifier-    , _iniMacAddress         :: Maybe Text-    , _iniNetworkInterfaceId :: Maybe Text-    , _iniOwnerId            :: Maybe Text-    , _iniPrivateDnsName     :: Maybe Text-    , _iniPrivateIpAddress   :: Maybe Text-    , _iniPrivateIpAddresses :: List "item" InstancePrivateIpAddress-    , _iniSourceDestCheck    :: Maybe Bool-    , _iniStatus             :: Maybe NetworkInterfaceStatus-    , _iniSubnetId           :: Maybe Text-    , _iniVpcId              :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'InstanceNetworkInterface' constructor.------ The fields accessible through corresponding lenses are:------ * 'iniAssociation' @::@ 'Maybe' 'InstanceNetworkInterfaceAssociation'------ * 'iniAttachment' @::@ 'Maybe' 'InstanceNetworkInterfaceAttachment'------ * 'iniDescription' @::@ 'Maybe' 'Text'------ * 'iniGroups' @::@ ['GroupIdentifier']------ * 'iniMacAddress' @::@ 'Maybe' 'Text'------ * 'iniNetworkInterfaceId' @::@ 'Maybe' 'Text'------ * 'iniOwnerId' @::@ 'Maybe' 'Text'------ * 'iniPrivateDnsName' @::@ 'Maybe' 'Text'------ * 'iniPrivateIpAddress' @::@ 'Maybe' 'Text'------ * 'iniPrivateIpAddresses' @::@ ['InstancePrivateIpAddress']------ * 'iniSourceDestCheck' @::@ 'Maybe' 'Bool'------ * 'iniStatus' @::@ 'Maybe' 'NetworkInterfaceStatus'------ * 'iniSubnetId' @::@ 'Maybe' 'Text'------ * 'iniVpcId' @::@ 'Maybe' 'Text'----instanceNetworkInterface :: InstanceNetworkInterface-instanceNetworkInterface = InstanceNetworkInterface-    { _iniNetworkInterfaceId = Nothing-    , _iniSubnetId           = Nothing-    , _iniVpcId              = Nothing-    , _iniDescription        = Nothing-    , _iniOwnerId            = Nothing-    , _iniStatus             = Nothing-    , _iniMacAddress         = Nothing-    , _iniPrivateIpAddress   = Nothing-    , _iniPrivateDnsName     = Nothing-    , _iniSourceDestCheck    = Nothing-    , _iniGroups             = mempty-    , _iniAttachment         = Nothing-    , _iniAssociation        = Nothing-    , _iniPrivateIpAddresses = mempty-    }---- | 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 })---- | The network interface attachment.-iniAttachment :: Lens' InstanceNetworkInterface (Maybe InstanceNetworkInterfaceAttachment)-iniAttachment = lens _iniAttachment (\s a -> s { _iniAttachment = a })---- | The description.-iniDescription :: Lens' InstanceNetworkInterface (Maybe Text)-iniDescription = lens _iniDescription (\s a -> s { _iniDescription = a })---- | One or more security groups.-iniGroups :: Lens' InstanceNetworkInterface [GroupIdentifier]-iniGroups = lens _iniGroups (\s a -> s { _iniGroups = a }) . _List---- | The MAC address.-iniMacAddress :: Lens' InstanceNetworkInterface (Maybe Text)-iniMacAddress = lens _iniMacAddress (\s a -> s { _iniMacAddress = a })---- | The ID of the network interface.-iniNetworkInterfaceId :: Lens' InstanceNetworkInterface (Maybe Text)-iniNetworkInterfaceId =-    lens _iniNetworkInterfaceId (\s a -> s { _iniNetworkInterfaceId = 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 private DNS name.-iniPrivateDnsName :: Lens' InstanceNetworkInterface (Maybe Text)-iniPrivateDnsName =-    lens _iniPrivateDnsName (\s a -> s { _iniPrivateDnsName = 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 IP addresses associated with the network interface.-iniPrivateIpAddresses :: Lens' InstanceNetworkInterface [InstancePrivateIpAddress]-iniPrivateIpAddresses =-    lens _iniPrivateIpAddresses (\s a -> s { _iniPrivateIpAddresses = a })-        . _List---- | 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 status of the network interface.-iniStatus :: Lens' InstanceNetworkInterface (Maybe NetworkInterfaceStatus)-iniStatus = lens _iniStatus (\s a -> s { _iniStatus = a })---- | The ID of the subnet.-iniSubnetId :: Lens' InstanceNetworkInterface (Maybe Text)-iniSubnetId = lens _iniSubnetId (\s a -> s { _iniSubnetId = a })---- | The ID of the VPC.-iniVpcId :: Lens' InstanceNetworkInterface (Maybe Text)-iniVpcId = lens _iniVpcId (\s a -> s { _iniVpcId = a })--instance FromXML InstanceNetworkInterface where-    parseXML x = InstanceNetworkInterface-        <$> x .@? "association"-        <*> x .@? "attachment"-        <*> x .@? "description"-        <*> x .@? "groupSet" .!@ mempty-        <*> x .@? "macAddress"-        <*> x .@? "networkInterfaceId"-        <*> x .@? "ownerId"-        <*> x .@? "privateDnsName"-        <*> x .@? "privateIpAddress"-        <*> x .@? "privateIpAddressesSet" .!@ mempty-        <*> x .@? "sourceDestCheck"-        <*> x .@? "status"-        <*> x .@? "subnetId"-        <*> x .@? "vpcId"--instance ToQuery InstanceNetworkInterface where-    toQuery InstanceNetworkInterface{..} = mconcat-        [ "Association"           =? _iniAssociation-        , "Attachment"            =? _iniAttachment-        , "Description"           =? _iniDescription-        , "GroupSet"              `toQueryList` _iniGroups-        , "MacAddress"            =? _iniMacAddress-        , "NetworkInterfaceId"    =? _iniNetworkInterfaceId-        , "OwnerId"               =? _iniOwnerId-        , "PrivateDnsName"        =? _iniPrivateDnsName-        , "PrivateIpAddress"      =? _iniPrivateIpAddress-        , "PrivateIpAddressesSet" `toQueryList` _iniPrivateIpAddresses-        , "SourceDestCheck"       =? _iniSourceDestCheck-        , "Status"                =? _iniStatus-        , "SubnetId"              =? _iniSubnetId-        , "VpcId"                 =? _iniVpcId-        ]--data VolumeStatusAction = VolumeStatusAction-    { _vsaCode        :: Maybe Text-    , _vsaDescription :: Maybe Text-    , _vsaEventId     :: Maybe Text-    , _vsaEventType   :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'VolumeStatusAction' constructor.------ The fields accessible through corresponding lenses are:------ * 'vsaCode' @::@ 'Maybe' 'Text'------ * 'vsaDescription' @::@ 'Maybe' 'Text'------ * 'vsaEventId' @::@ 'Maybe' 'Text'------ * 'vsaEventType' @::@ 'Maybe' 'Text'----volumeStatusAction :: VolumeStatusAction-volumeStatusAction = VolumeStatusAction-    { _vsaCode        = Nothing-    , _vsaDescription = Nothing-    , _vsaEventType   = Nothing-    , _vsaEventId     = Nothing-    }---- | 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 })---- | The event type associated with this operation.-vsaEventType :: Lens' VolumeStatusAction (Maybe Text)-vsaEventType = lens _vsaEventType (\s a -> s { _vsaEventType = a })--instance FromXML VolumeStatusAction where-    parseXML x = VolumeStatusAction-        <$> x .@? "code"-        <*> x .@? "description"-        <*> x .@? "eventId"-        <*> x .@? "eventType"--instance ToQuery VolumeStatusAction where-    toQuery VolumeStatusAction{..} = mconcat-        [ "Code"        =? _vsaCode-        , "Description" =? _vsaDescription-        , "EventId"     =? _vsaEventId-        , "EventType"   =? _vsaEventType-        ]--data VpcPeeringConnectionVpcInfo = VpcPeeringConnectionVpcInfo-    { _vpcviCidrBlock :: Maybe Text-    , _vpcviOwnerId   :: Maybe Text-    , _vpcviVpcId     :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'VpcPeeringConnectionVpcInfo' constructor.------ The fields accessible through corresponding lenses are:------ * 'vpcviCidrBlock' @::@ 'Maybe' 'Text'------ * 'vpcviOwnerId' @::@ 'Maybe' 'Text'------ * 'vpcviVpcId' @::@ 'Maybe' 'Text'----vpcPeeringConnectionVpcInfo :: VpcPeeringConnectionVpcInfo-vpcPeeringConnectionVpcInfo = VpcPeeringConnectionVpcInfo-    { _vpcviCidrBlock = Nothing-    , _vpcviOwnerId   = Nothing-    , _vpcviVpcId     = Nothing-    }---- | The CIDR block for the VPC.-vpcviCidrBlock :: Lens' VpcPeeringConnectionVpcInfo (Maybe Text)-vpcviCidrBlock = lens _vpcviCidrBlock (\s a -> s { _vpcviCidrBlock = a })---- | The AWS account ID of the VPC owner.-vpcviOwnerId :: Lens' VpcPeeringConnectionVpcInfo (Maybe Text)-vpcviOwnerId = lens _vpcviOwnerId (\s a -> s { _vpcviOwnerId = a })---- | The ID of the VPC.-vpcviVpcId :: Lens' VpcPeeringConnectionVpcInfo (Maybe Text)-vpcviVpcId = lens _vpcviVpcId (\s a -> s { _vpcviVpcId = a })--instance FromXML VpcPeeringConnectionVpcInfo where-    parseXML x = VpcPeeringConnectionVpcInfo-        <$> x .@? "cidrBlock"-        <*> x .@? "ownerId"-        <*> x .@? "vpcId"--instance ToQuery VpcPeeringConnectionVpcInfo where-    toQuery VpcPeeringConnectionVpcInfo{..} = mconcat-        [ "CidrBlock" =? _vpcviCidrBlock-        , "OwnerId"   =? _vpcviOwnerId-        , "VpcId"     =? _vpcviVpcId-        ]--data UserBucketDetails = UserBucketDetails-    { _ubdS3Bucket :: Maybe Text-    , _ubdS3Key    :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'UserBucketDetails' constructor.------ The fields accessible through corresponding lenses are:------ * 'ubdS3Bucket' @::@ 'Maybe' 'Text'------ * 'ubdS3Key' @::@ 'Maybe' 'Text'----userBucketDetails :: UserBucketDetails-userBucketDetails = UserBucketDetails-    { _ubdS3Bucket = Nothing-    , _ubdS3Key    = Nothing-    }---- | The S3 bucket from which the disk image was created.-ubdS3Bucket :: Lens' UserBucketDetails (Maybe Text)-ubdS3Bucket = lens _ubdS3Bucket (\s a -> s { _ubdS3Bucket = a })---- | The key from which the disk image was created.-ubdS3Key :: Lens' UserBucketDetails (Maybe Text)-ubdS3Key = lens _ubdS3Key (\s a -> s { _ubdS3Key = a })--instance FromXML UserBucketDetails where-    parseXML x = UserBucketDetails-        <$> x .@? "s3Bucket"-        <*> x .@? "s3Key"--instance ToQuery UserBucketDetails where-    toQuery UserBucketDetails{..} = mconcat-        [ "S3Bucket" =? _ubdS3Bucket-        , "S3Key"    =? _ubdS3Key-        ]--data ReservedInstanceLimitPrice = ReservedInstanceLimitPrice-    { _rilpAmount       :: Maybe Double-    , _rilpCurrencyCode :: Maybe CurrencyCodeValues-    } deriving (Eq, Read, Show)---- | 'ReservedInstanceLimitPrice' constructor.------ The fields accessible through corresponding lenses are:------ * 'rilpAmount' @::@ 'Maybe' 'Double'------ * 'rilpCurrencyCode' @::@ 'Maybe' 'CurrencyCodeValues'----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 FromXML ReservedInstanceLimitPrice where-    parseXML x = ReservedInstanceLimitPrice-        <$> x .@? "amount"-        <*> x .@? "currencyCode"--instance ToQuery ReservedInstanceLimitPrice where-    toQuery ReservedInstanceLimitPrice{..} = mconcat-        [ "Amount"       =? _rilpAmount-        , "CurrencyCode" =? _rilpCurrencyCode-        ]--data Vpc = Vpc-    { _vpcCidrBlock       :: Text-    , _vpcDhcpOptionsId   :: Text-    , _vpcInstanceTenancy :: Tenancy-    , _vpcIsDefault       :: Bool-    , _vpcState           :: VpcState-    , _vpcTags            :: List "item" Tag-    , _vpcVpcId           :: Text-    } deriving (Eq, Read, Show)---- | 'Vpc' constructor.------ The fields accessible through corresponding lenses are:------ * 'vpcCidrBlock' @::@ 'Text'------ * 'vpcDhcpOptionsId' @::@ 'Text'------ * 'vpcInstanceTenancy' @::@ 'Tenancy'------ * 'vpcIsDefault' @::@ 'Bool'------ * 'vpcState' @::@ 'VpcState'------ * 'vpcTags' @::@ ['Tag']------ * 'vpcVpcId' @::@ 'Text'----vpc :: Text -- ^ 'vpcVpcId'-    -> VpcState -- ^ 'vpcState'-    -> Text -- ^ 'vpcCidrBlock'-    -> Text -- ^ 'vpcDhcpOptionsId'-    -> Tenancy -- ^ 'vpcInstanceTenancy'-    -> Bool -- ^ 'vpcIsDefault'-    -> Vpc-vpc p1 p2 p3 p4 p5 p6 = Vpc-    { _vpcVpcId           = p1-    , _vpcState           = p2-    , _vpcCidrBlock       = p3-    , _vpcDhcpOptionsId   = p4-    , _vpcInstanceTenancy = p5-    , _vpcIsDefault       = p6-    , _vpcTags            = mempty-    }---- | 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 })---- | Indicates whether the VPC is the default VPC.-vpcIsDefault :: Lens' Vpc Bool-vpcIsDefault = lens _vpcIsDefault (\s a -> s { _vpcIsDefault = a })---- | The current state of the VPC.-vpcState :: Lens' Vpc VpcState-vpcState = lens _vpcState (\s a -> s { _vpcState = a })---- | Any tags assigned to the VPC.-vpcTags :: Lens' Vpc [Tag]-vpcTags = lens _vpcTags (\s a -> s { _vpcTags = a }) . _List---- | 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 .@  "cidrBlock"-        <*> x .@  "dhcpOptionsId"-        <*> x .@  "instanceTenancy"-        <*> x .@  "isDefault"-        <*> x .@  "state"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@  "vpcId"--instance ToQuery Vpc where-    toQuery Vpc{..} = mconcat-        [ "CidrBlock"       =? _vpcCidrBlock-        , "DhcpOptionsId"   =? _vpcDhcpOptionsId-        , "InstanceTenancy" =? _vpcInstanceTenancy-        , "IsDefault"       =? _vpcIsDefault-        , "State"           =? _vpcState-        , "TagSet"          `toQueryList` _vpcTags-        , "VpcId"           =? _vpcVpcId-        ]--data ImageDiskContainer = ImageDiskContainer-    { _idcDescription :: Maybe Text-    , _idcDeviceName  :: Maybe Text-    , _idcFormat      :: Maybe Text-    , _idcSnapshotId  :: Maybe Text-    , _idcUrl         :: Maybe Text-    , _idcUserBucket  :: Maybe UserBucket-    } deriving (Eq, Read, Show)---- | 'ImageDiskContainer' constructor.------ The fields accessible through corresponding lenses are:------ * 'idcDescription' @::@ 'Maybe' 'Text'------ * 'idcDeviceName' @::@ 'Maybe' 'Text'------ * 'idcFormat' @::@ 'Maybe' 'Text'------ * 'idcSnapshotId' @::@ 'Maybe' 'Text'------ * 'idcUrl' @::@ 'Maybe' 'Text'------ * 'idcUserBucket' @::@ 'Maybe' 'UserBucket'----imageDiskContainer :: ImageDiskContainer-imageDiskContainer = ImageDiskContainer-    { _idcDescription = Nothing-    , _idcFormat      = Nothing-    , _idcUrl         = Nothing-    , _idcUserBucket  = Nothing-    , _idcDeviceName  = Nothing-    , _idcSnapshotId  = Nothing-    }---- | The description of the disk image.-idcDescription :: Lens' ImageDiskContainer (Maybe Text)-idcDescription = lens _idcDescription (\s a -> s { _idcDescription = a })---- | The block device mapping for the disk.-idcDeviceName :: Lens' ImageDiskContainer (Maybe Text)-idcDeviceName = lens _idcDeviceName (\s a -> s { _idcDeviceName = a })---- | 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 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 })---- | 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 S3 bucket for the disk image.-idcUserBucket :: Lens' ImageDiskContainer (Maybe UserBucket)-idcUserBucket = lens _idcUserBucket (\s a -> s { _idcUserBucket = a })--instance FromXML ImageDiskContainer where-    parseXML x = ImageDiskContainer-        <$> x .@? "Description"-        <*> x .@? "DeviceName"-        <*> x .@? "Format"-        <*> x .@? "SnapshotId"-        <*> x .@? "Url"-        <*> x .@? "UserBucket"--instance ToQuery ImageDiskContainer where-    toQuery ImageDiskContainer{..} = mconcat-        [ "Description" =? _idcDescription-        , "DeviceName"  =? _idcDeviceName-        , "Format"      =? _idcFormat-        , "SnapshotId"  =? _idcSnapshotId-        , "Url"         =? _idcUrl-        , "UserBucket"  =? _idcUserBucket-        ]--data InstanceStatus = InstanceStatus-    { _isAvailabilityZone :: Maybe Text-    , _isEvents           :: List "item" InstanceStatusEvent-    , _isInstanceId       :: Maybe Text-    , _isInstanceState    :: Maybe InstanceState-    , _isInstanceStatus   :: Maybe InstanceStatusSummary-    , _isSystemStatus     :: Maybe InstanceStatusSummary-    } deriving (Eq, Read, Show)---- | 'InstanceStatus' constructor.------ The fields accessible through corresponding lenses are:------ * 'isAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'isEvents' @::@ ['InstanceStatusEvent']------ * 'isInstanceId' @::@ 'Maybe' 'Text'------ * 'isInstanceState' @::@ 'Maybe' 'InstanceState'------ * 'isInstanceStatus' @::@ 'Maybe' 'InstanceStatusSummary'------ * 'isSystemStatus' @::@ 'Maybe' 'InstanceStatusSummary'----instanceStatus :: InstanceStatus-instanceStatus = InstanceStatus-    { _isInstanceId       = Nothing-    , _isAvailabilityZone = Nothing-    , _isEvents           = mempty-    , _isInstanceState    = Nothing-    , _isSystemStatus     = Nothing-    , _isInstanceStatus   = Nothing-    }---- | The Availability Zone of the instance.-isAvailabilityZone :: Lens' InstanceStatus (Maybe Text)-isAvailabilityZone =-    lens _isAvailabilityZone (\s a -> s { _isAvailabilityZone = a })---- | Any scheduled events associated with the instance.-isEvents :: Lens' InstanceStatus [InstanceStatusEvent]-isEvents = lens _isEvents (\s a -> s { _isEvents = a }) . _List---- | The ID of the instance.-isInstanceId :: Lens' InstanceStatus (Maybe Text)-isInstanceId = lens _isInstanceId (\s a -> s { _isInstanceId = 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 })---- | 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 })---- | 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 })--instance FromXML InstanceStatus where-    parseXML x = InstanceStatus-        <$> x .@? "availabilityZone"-        <*> x .@? "eventsSet" .!@ mempty-        <*> x .@? "instanceId"-        <*> x .@? "instanceState"-        <*> x .@? "instanceStatus"-        <*> x .@? "systemStatus"--instance ToQuery InstanceStatus where-    toQuery InstanceStatus{..} = mconcat-        [ "AvailabilityZone" =? _isAvailabilityZone-        , "EventsSet"        `toQueryList` _isEvents-        , "InstanceId"       =? _isInstanceId-        , "InstanceState"    =? _isInstanceState-        , "InstanceStatus"   =? _isInstanceStatus-        , "SystemStatus"     =? _isSystemStatus-        ]--data ArchitectureValues-    = I386  -- ^ i386-    | X8664 -- ^ x86_64-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ArchitectureValues--instance FromText ArchitectureValues where-    parser = takeLowerText >>= \case-        "i386"   -> pure I386-        "x86_64" -> pure X8664-        e        -> fail $-            "Failure parsing ArchitectureValues from " ++ show e--instance ToText ArchitectureValues where-    toText = \case-        I386  -> "i386"-        X8664 -> "x86_64"--instance ToByteString ArchitectureValues-instance ToHeader     ArchitectureValues-instance ToQuery      ArchitectureValues--instance FromXML ArchitectureValues where-    parseXML = parseXMLText "ArchitectureValues"--data ReportInstanceReasonCodes-    = InstanceStuckInState     -- ^ instance-stuck-in-state-    | NotAcceptingCredentials  -- ^ not-accepting-credentials-    | Other                    -- ^ other-    | PasswordNotAvailable     -- ^ password-not-available-    | PerformanceEbsVolume     -- ^ performance-ebs-volume-    | PerformanceInstanceStore -- ^ performance-instance-store-    | PerformanceNetwork       -- ^ performance-network-    | PerformanceOther         -- ^ performance-other-    | Unresponsive             -- ^ unresponsive-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ReportInstanceReasonCodes--instance FromText ReportInstanceReasonCodes where-    parser = takeLowerText >>= \case-        "instance-stuck-in-state"    -> pure InstanceStuckInState-        "not-accepting-credentials"  -> pure NotAcceptingCredentials-        "other"                      -> pure Other-        "password-not-available"     -> pure PasswordNotAvailable-        "performance-ebs-volume"     -> pure PerformanceEbsVolume-        "performance-instance-store" -> pure PerformanceInstanceStore-        "performance-network"        -> pure PerformanceNetwork-        "performance-other"          -> pure PerformanceOther-        "unresponsive"               -> pure Unresponsive-        e                            -> fail $-            "Failure parsing ReportInstanceReasonCodes from " ++ show e--instance ToText ReportInstanceReasonCodes where-    toText = \case-        InstanceStuckInState     -> "instance-stuck-in-state"-        NotAcceptingCredentials  -> "not-accepting-credentials"-        Other                    -> "other"-        PasswordNotAvailable     -> "password-not-available"-        PerformanceEbsVolume     -> "performance-ebs-volume"-        PerformanceInstanceStore -> "performance-instance-store"-        PerformanceNetwork       -> "performance-network"-        PerformanceOther         -> "performance-other"-        Unresponsive             -> "unresponsive"--instance ToByteString ReportInstanceReasonCodes-instance ToHeader     ReportInstanceReasonCodes-instance ToQuery      ReportInstanceReasonCodes--instance FromXML ReportInstanceReasonCodes where-    parseXML = parseXMLText "ReportInstanceReasonCodes"--data MoveStatus-    = MovingToVpc        -- ^ movingToVpc-    | RestoringToClassic -- ^ restoringToClassic-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable MoveStatus--instance FromText MoveStatus where-    parser = takeLowerText >>= \case-        "movingtovpc"        -> pure MovingToVpc-        "restoringtoclassic" -> pure RestoringToClassic-        e                    -> fail $-            "Failure parsing MoveStatus from " ++ show e--instance ToText MoveStatus where-    toText = \case-        MovingToVpc        -> "movingToVpc"-        RestoringToClassic -> "restoringToClassic"--instance ToByteString MoveStatus-instance ToHeader     MoveStatus-instance ToQuery      MoveStatus--instance FromXML MoveStatus where-    parseXML = parseXMLText "MoveStatus"--data EbsBlockDevice = EbsBlockDevice-    { _ebdDeleteOnTermination :: Maybe Bool-    , _ebdEncrypted           :: Maybe Bool-    , _ebdIops                :: Maybe Int-    , _ebdSnapshotId          :: Maybe Text-    , _ebdVolumeSize          :: Maybe Int-    , _ebdVolumeType          :: Maybe VolumeType-    } deriving (Eq, Read, Show)---- | 'EbsBlockDevice' constructor.------ The fields accessible through corresponding lenses are:------ * 'ebdDeleteOnTermination' @::@ 'Maybe' 'Bool'------ * 'ebdEncrypted' @::@ 'Maybe' 'Bool'------ * 'ebdIops' @::@ 'Maybe' 'Int'------ * 'ebdSnapshotId' @::@ 'Maybe' 'Text'------ * 'ebdVolumeSize' @::@ 'Maybe' 'Int'------ * 'ebdVolumeType' @::@ 'Maybe' 'VolumeType'----ebsBlockDevice :: EbsBlockDevice-ebsBlockDevice = EbsBlockDevice-    { _ebdSnapshotId          = Nothing-    , _ebdVolumeSize          = Nothing-    , _ebdDeleteOnTermination = Nothing-    , _ebdVolumeType          = Nothing-    , _ebdIops                = Nothing-    , _ebdEncrypted           = Nothing-    }---- | Indicates whether the EBS volume is deleted on instance termination.-ebdDeleteOnTermination :: Lens' EbsBlockDevice (Maybe Bool)-ebdDeleteOnTermination =-    lens _ebdDeleteOnTermination (\s a -> s { _ebdDeleteOnTermination = 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 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 EBSVolume 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 })---- | The ID of the snapshot.-ebdSnapshotId :: Lens' EbsBlockDevice (Maybe Text)-ebdSnapshotId = lens _ebdSnapshotId (\s a -> s { _ebdSnapshotId = 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 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 })--instance FromXML EbsBlockDevice where-    parseXML x = EbsBlockDevice-        <$> x .@? "deleteOnTermination"-        <*> x .@? "encrypted"-        <*> x .@? "iops"-        <*> x .@? "snapshotId"-        <*> x .@? "volumeSize"-        <*> x .@? "volumeType"--instance ToQuery EbsBlockDevice where-    toQuery EbsBlockDevice{..} = mconcat-        [ "DeleteOnTermination" =? _ebdDeleteOnTermination-        , "Encrypted"           =? _ebdEncrypted-        , "Iops"                =? _ebdIops-        , "SnapshotId"          =? _ebdSnapshotId-        , "VolumeSize"          =? _ebdVolumeSize-        , "VolumeType"          =? _ebdVolumeType-        ]--data AccountAttribute = AccountAttribute-    { _aaAttributeName   :: Maybe Text-    , _aaAttributeValues :: List "item" AccountAttributeValue-    } deriving (Eq, Read, Show)---- | 'AccountAttribute' constructor.------ The fields accessible through corresponding lenses are:------ * 'aaAttributeName' @::@ 'Maybe' 'Text'------ * 'aaAttributeValues' @::@ ['AccountAttributeValue']----accountAttribute :: AccountAttribute-accountAttribute = AccountAttribute-    { _aaAttributeName   = Nothing-    , _aaAttributeValues = mempty-    }---- | The name of the account attribute.-aaAttributeName :: Lens' AccountAttribute (Maybe Text)-aaAttributeName = lens _aaAttributeName (\s a -> s { _aaAttributeName = a })---- | One or more values for the account attribute.-aaAttributeValues :: Lens' AccountAttribute [AccountAttributeValue]-aaAttributeValues =-    lens _aaAttributeValues (\s a -> s { _aaAttributeValues = a })-        . _List--instance FromXML AccountAttribute where-    parseXML x = AccountAttribute-        <$> x .@? "attributeName"-        <*> x .@? "attributeValueSet" .!@ mempty--instance ToQuery AccountAttribute where-    toQuery AccountAttribute{..} = mconcat-        [ "AttributeName"     =? _aaAttributeName-        , "AttributeValueSet" `toQueryList` _aaAttributeValues-        ]--data SnapshotDetail = SnapshotDetail-    { _sdDescription   :: Maybe Text-    , _sdDeviceName    :: Maybe Text-    , _sdDiskImageSize :: Maybe Double-    , _sdFormat        :: Maybe Text-    , _sdProgress      :: Maybe Text-    , _sdSnapshotId    :: Maybe Text-    , _sdStatus        :: Maybe Text-    , _sdStatusMessage :: Maybe Text-    , _sdUrl           :: Maybe Text-    , _sdUserBucket    :: Maybe UserBucketDetails-    } deriving (Eq, Read, Show)---- | 'SnapshotDetail' constructor.------ The fields accessible through corresponding lenses are:------ * 'sdDescription' @::@ 'Maybe' 'Text'------ * 'sdDeviceName' @::@ 'Maybe' 'Text'------ * 'sdDiskImageSize' @::@ 'Maybe' 'Double'------ * 'sdFormat' @::@ 'Maybe' 'Text'------ * 'sdProgress' @::@ 'Maybe' 'Text'------ * 'sdSnapshotId' @::@ 'Maybe' 'Text'------ * 'sdStatus' @::@ 'Maybe' 'Text'------ * 'sdStatusMessage' @::@ 'Maybe' 'Text'------ * 'sdUrl' @::@ 'Maybe' 'Text'------ * 'sdUserBucket' @::@ 'Maybe' 'UserBucketDetails'----snapshotDetail :: SnapshotDetail-snapshotDetail = SnapshotDetail-    { _sdDiskImageSize = Nothing-    , _sdDescription   = Nothing-    , _sdFormat        = Nothing-    , _sdUrl           = Nothing-    , _sdUserBucket    = Nothing-    , _sdDeviceName    = Nothing-    , _sdSnapshotId    = Nothing-    , _sdProgress      = Nothing-    , _sdStatusMessage = Nothing-    , _sdStatus        = Nothing-    }---- | A description for the snapshot.-sdDescription :: Lens' SnapshotDetail (Maybe Text)-sdDescription = lens _sdDescription (\s a -> s { _sdDescription = a })---- | The block device mapping for the snapshot.-sdDeviceName :: Lens' SnapshotDetail (Maybe Text)-sdDeviceName = lens _sdDeviceName (\s a -> s { _sdDeviceName = a })---- | The size of the disk in the snapshot, in GiB.-sdDiskImageSize :: Lens' SnapshotDetail (Maybe Double)-sdDiskImageSize = lens _sdDiskImageSize (\s a -> s { _sdDiskImageSize = 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 percentage of progress for the task.-sdProgress :: Lens' SnapshotDetail (Maybe Text)-sdProgress = lens _sdProgress (\s a -> s { _sdProgress = a })---- | The snapshot ID of the disk being imported.-sdSnapshotId :: Lens' SnapshotDetail (Maybe Text)-sdSnapshotId = lens _sdSnapshotId (\s a -> s { _sdSnapshotId = a })---- | A brief status of the snapshot creation.-sdStatus :: Lens' SnapshotDetail (Maybe Text)-sdStatus = lens _sdStatus (\s a -> s { _sdStatus = a })---- | A detailed status message for the snapshot creation.-sdStatusMessage :: Lens' SnapshotDetail (Maybe Text)-sdStatusMessage = lens _sdStatusMessage (\s a -> s { _sdStatusMessage = a })---- | The URL used to access the disk image.-sdUrl :: Lens' SnapshotDetail (Maybe Text)-sdUrl = lens _sdUrl (\s a -> s { _sdUrl = a })--sdUserBucket :: Lens' SnapshotDetail (Maybe UserBucketDetails)-sdUserBucket = lens _sdUserBucket (\s a -> s { _sdUserBucket = a })--instance FromXML SnapshotDetail where-    parseXML x = SnapshotDetail-        <$> x .@? "description"-        <*> x .@? "deviceName"-        <*> x .@? "diskImageSize"-        <*> x .@? "format"-        <*> x .@? "progress"-        <*> x .@? "snapshotId"-        <*> x .@? "status"-        <*> x .@? "statusMessage"-        <*> x .@? "url"-        <*> x .@? "userBucket"--instance ToQuery SnapshotDetail where-    toQuery SnapshotDetail{..} = mconcat-        [ "Description"   =? _sdDescription-        , "DeviceName"    =? _sdDeviceName-        , "DiskImageSize" =? _sdDiskImageSize-        , "Format"        =? _sdFormat-        , "Progress"      =? _sdProgress-        , "SnapshotId"    =? _sdSnapshotId-        , "Status"        =? _sdStatus-        , "StatusMessage" =? _sdStatusMessage-        , "Url"           =? _sdUrl-        , "UserBucket"    =? _sdUserBucket-        ]--data PriceSchedule = PriceSchedule-    { _psActive       :: Maybe Bool-    , _psCurrencyCode :: Maybe CurrencyCodeValues-    , _psPrice        :: Maybe Double-    , _psTerm         :: Maybe Integer-    } deriving (Eq, Read, Show)---- | 'PriceSchedule' constructor.------ The fields accessible through corresponding lenses are:------ * 'psActive' @::@ 'Maybe' 'Bool'------ * 'psCurrencyCode' @::@ 'Maybe' 'CurrencyCodeValues'------ * 'psPrice' @::@ 'Maybe' 'Double'------ * 'psTerm' @::@ 'Maybe' 'Integer'----priceSchedule :: PriceSchedule-priceSchedule = PriceSchedule-    { _psTerm         = Nothing-    , _psPrice        = Nothing-    , _psCurrencyCode = Nothing-    , _psActive       = Nothing-    }---- | 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 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 fixed price for the term.-psPrice :: Lens' PriceSchedule (Maybe Double)-psPrice = lens _psPrice (\s a -> s { _psPrice = 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 })--instance FromXML PriceSchedule where-    parseXML x = PriceSchedule-        <$> x .@? "active"-        <*> x .@? "currencyCode"-        <*> x .@? "price"-        <*> x .@? "term"--instance ToQuery PriceSchedule where-    toQuery PriceSchedule{..} = mconcat-        [ "Active"       =? _psActive-        , "CurrencyCode" =? _psCurrencyCode-        , "Price"        =? _psPrice-        , "Term"         =? _psTerm-        ]--data DeviceType-    = Ebs           -- ^ ebs-    | InstanceStore -- ^ instance-store-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable DeviceType--instance FromText DeviceType where-    parser = takeLowerText >>= \case-        "ebs"            -> pure Ebs-        "instance-store" -> pure InstanceStore-        e                -> fail $-            "Failure parsing DeviceType from " ++ show e--instance ToText DeviceType where-    toText = \case-        Ebs           -> "ebs"-        InstanceStore -> "instance-store"--instance ToByteString DeviceType-instance ToHeader     DeviceType-instance ToQuery      DeviceType--instance FromXML DeviceType where-    parseXML = parseXMLText "DeviceType"--data DomainType-    = DTStandard -- ^ standard-    | DTVpc      -- ^ vpc-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable DomainType--instance FromText DomainType where-    parser = takeLowerText >>= \case-        "standard" -> pure DTStandard-        "vpc"      -> pure DTVpc-        e          -> fail $-            "Failure parsing DomainType from " ++ show e--instance ToText DomainType where-    toText = \case-        DTStandard -> "standard"-        DTVpc      -> "vpc"--instance ToByteString DomainType-instance ToHeader     DomainType-instance ToQuery      DomainType--instance FromXML DomainType where-    parseXML = parseXMLText "DomainType"--data Region = Region-    { _rEndpoint   :: Maybe Text-    , _rRegionName :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'Region' constructor.------ The fields accessible through corresponding lenses are:------ * 'rEndpoint' @::@ 'Maybe' 'Text'------ * 'rRegionName' @::@ 'Maybe' 'Text'----region :: Region-region = Region-    { _rRegionName = Nothing-    , _rEndpoint   = Nothing-    }---- | The region service endpoint.-rEndpoint :: Lens' Region (Maybe Text)-rEndpoint = lens _rEndpoint (\s a -> s { _rEndpoint = a })---- | The name of the region.-rRegionName :: Lens' Region (Maybe Text)-rRegionName = lens _rRegionName (\s a -> s { _rRegionName = a })--instance FromXML Region where-    parseXML x = Region-        <$> x .@? "regionEndpoint"-        <*> x .@? "regionName"--instance ToQuery Region where-    toQuery Region{..} = mconcat-        [ "RegionEndpoint" =? _rEndpoint-        , "RegionName"     =? _rRegionName-        ]--newtype PropagatingVgw = PropagatingVgw-    { _pvGatewayId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'PropagatingVgw' constructor.------ The fields accessible through corresponding lenses are:------ * 'pvGatewayId' @::@ 'Maybe' 'Text'----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 ToQuery PropagatingVgw where-    toQuery PropagatingVgw{..} = mconcat-        [ "GatewayId" =? _pvGatewayId-        ]--data OfferingTypeValues-    = AllUpfront        -- ^ All Upfront-    | HeavyUtilization  -- ^ Heavy Utilization-    | LightUtilization  -- ^ Light Utilization-    | MediumUtilization -- ^ Medium Utilization-    | NoUpfront         -- ^ No Upfront-    | PartialUpfront    -- ^ Partial Upfront-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable OfferingTypeValues--instance FromText OfferingTypeValues where-    parser = takeLowerText >>= \case-        "all upfront"        -> pure AllUpfront-        "heavy utilization"  -> pure HeavyUtilization-        "light utilization"  -> pure LightUtilization-        "medium utilization" -> pure MediumUtilization-        "no upfront"         -> pure NoUpfront-        "partial upfront"    -> pure PartialUpfront-        e                    -> fail $-            "Failure parsing OfferingTypeValues from " ++ show e--instance ToText OfferingTypeValues where-    toText = \case-        AllUpfront        -> "All Upfront"-        HeavyUtilization  -> "Heavy Utilization"-        LightUtilization  -> "Light Utilization"-        MediumUtilization -> "Medium Utilization"-        NoUpfront         -> "No Upfront"-        PartialUpfront    -> "Partial Upfront"--instance ToByteString OfferingTypeValues-instance ToHeader     OfferingTypeValues-instance ToQuery      OfferingTypeValues--instance FromXML OfferingTypeValues where-    parseXML = parseXMLText "OfferingTypeValues"--data VpnGateway = VpnGateway-    { _vgAvailabilityZone :: Maybe Text-    , _vgState            :: Maybe VpnState-    , _vgTags             :: List "item" Tag-    , _vgType             :: Maybe GatewayType-    , _vgVpcAttachments   :: List "item" VpcAttachment-    , _vgVpnGatewayId     :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'VpnGateway' constructor.------ The fields accessible through corresponding lenses are:------ * 'vgAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'vgState' @::@ 'Maybe' 'VpnState'------ * 'vgTags' @::@ ['Tag']------ * 'vgType' @::@ 'Maybe' 'GatewayType'------ * 'vgVpcAttachments' @::@ ['VpcAttachment']------ * 'vgVpnGatewayId' @::@ 'Maybe' 'Text'----vpnGateway :: VpnGateway-vpnGateway = VpnGateway-    { _vgVpnGatewayId     = Nothing-    , _vgState            = Nothing-    , _vgType             = Nothing-    , _vgAvailabilityZone = Nothing-    , _vgVpcAttachments   = mempty-    , _vgTags             = mempty-    }---- | The Availability Zone where the virtual private gateway was created.-vgAvailabilityZone :: Lens' VpnGateway (Maybe Text)-vgAvailabilityZone =-    lens _vgAvailabilityZone (\s a -> s { _vgAvailabilityZone = a })---- | The current state of the virtual private gateway.-vgState :: Lens' VpnGateway (Maybe VpnState)-vgState = lens _vgState (\s a -> s { _vgState = a })---- | Any tags assigned to the virtual private gateway.-vgTags :: Lens' VpnGateway [Tag]-vgTags = lens _vgTags (\s a -> s { _vgTags = a }) . _List---- | The type of VPN connection the virtual private gateway supports.-vgType :: Lens' VpnGateway (Maybe GatewayType)-vgType = lens _vgType (\s a -> s { _vgType = a })---- | Any VPCs attached to the virtual private gateway.-vgVpcAttachments :: Lens' VpnGateway [VpcAttachment]-vgVpcAttachments = lens _vgVpcAttachments (\s a -> s { _vgVpcAttachments = a }) . _List---- | The ID of the virtual private gateway.-vgVpnGatewayId :: Lens' VpnGateway (Maybe Text)-vgVpnGatewayId = lens _vgVpnGatewayId (\s a -> s { _vgVpnGatewayId = a })--instance FromXML VpnGateway where-    parseXML x = VpnGateway-        <$> x .@? "availabilityZone"-        <*> x .@? "state"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@? "type"-        <*> x .@? "attachments" .!@ mempty-        <*> x .@? "vpnGatewayId"--instance ToQuery VpnGateway where-    toQuery VpnGateway{..} = mconcat-        [ "AvailabilityZone" =? _vgAvailabilityZone-        , "State"            =? _vgState-        , "TagSet"           `toQueryList` _vgTags-        , "Type"             =? _vgType-        , "Attachments"      `toQueryList` _vgVpcAttachments-        , "VpnGatewayId"     =? _vgVpnGatewayId-        ]--data EventInformation = EventInformation-    { _eiEventDescription :: Maybe Text-    , _eiEventSubType     :: Maybe Text-    , _eiInstanceId       :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'EventInformation' constructor.------ The fields accessible through corresponding lenses are:------ * 'eiEventDescription' @::@ 'Maybe' 'Text'------ * 'eiEventSubType' @::@ 'Maybe' 'Text'------ * 'eiInstanceId' @::@ 'Maybe' 'Text'----eventInformation :: EventInformation-eventInformation = EventInformation-    { _eiInstanceId       = Nothing-    , _eiEventSubType     = Nothing-    , _eiEventDescription = Nothing-    }---- | 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' - Spot fleet did not have the required permissions--- either to launch or terminate an instance.------ 'spotFleetRequestConfigurationInvalid' - The configuration is not valid. For--- more information, see the description.   '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 will 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.------ '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 })---- | 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 })--instance FromXML EventInformation where-    parseXML x = EventInformation-        <$> x .@? "eventDescription"-        <*> x .@? "eventSubType"-        <*> x .@? "instanceId"--instance ToQuery EventInformation where-    toQuery EventInformation{..} = mconcat-        [ "EventDescription" =? _eiEventDescription-        , "EventSubType"     =? _eiEventSubType-        , "InstanceId"       =? _eiInstanceId-        ]--data Filter = Filter-    { _fName   :: Text-    , _fValues :: List "item" Text-    } deriving (Eq, Ord, Read, Show)---- | 'Filter' constructor.------ The fields accessible through corresponding lenses are:------ * 'fName' @::@ 'Text'------ * 'fValues' @::@ ['Text']----filter' :: Text -- ^ 'fName'-        -> Filter-filter' p1 = Filter-    { _fName   = p1-    , _fValues = mempty-    }---- | The name of the filter. Filter names are case-sensitive.-fName :: Lens' Filter Text-fName = lens _fName (\s a -> s { _fName = a })---- | One or more filter values. Filter values are case-sensitive.-fValues :: Lens' Filter [Text]-fValues = lens _fValues (\s a -> s { _fValues = a }) . _List--instance FromXML Filter where-    parseXML x = Filter-        <$> x .@  "Name"-        <*> x .@? "Value" .!@ mempty--instance ToQuery Filter where-    toQuery Filter{..} = mconcat-        [ "Name"  =? _fName-        , "Value" `toQueryList` _fValues-        ]--data VolumeType-    = Gp2      -- ^ gp2-    | Io1      -- ^ io1-    | Standard -- ^ standard-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable VolumeType--instance FromText VolumeType where-    parser = takeLowerText >>= \case-        "gp2"      -> pure Gp2-        "io1"      -> pure Io1-        "standard" -> pure Standard-        e          -> fail $-            "Failure parsing VolumeType from " ++ show e--instance ToText VolumeType where-    toText = \case-        Gp2      -> "gp2"-        Io1      -> "io1"-        Standard -> "standard"--instance ToByteString VolumeType-instance ToHeader     VolumeType-instance ToQuery      VolumeType--instance FromXML VolumeType where-    parseXML = parseXMLText "VolumeType"--data InstanceStateChange = InstanceStateChange-    { _iscCurrentState  :: Maybe InstanceState-    , _iscInstanceId    :: Maybe Text-    , _iscPreviousState :: Maybe InstanceState-    } deriving (Eq, Read, Show)---- | 'InstanceStateChange' constructor.------ The fields accessible through corresponding lenses are:------ * 'iscCurrentState' @::@ 'Maybe' 'InstanceState'------ * 'iscInstanceId' @::@ 'Maybe' 'Text'------ * 'iscPreviousState' @::@ 'Maybe' 'InstanceState'----instanceStateChange :: InstanceStateChange-instanceStateChange = InstanceStateChange-    { _iscInstanceId    = Nothing-    , _iscCurrentState  = Nothing-    , _iscPreviousState = Nothing-    }---- | The current state of the instance.-iscCurrentState :: Lens' InstanceStateChange (Maybe InstanceState)-iscCurrentState = lens _iscCurrentState (\s a -> s { _iscCurrentState = a })---- | The ID of the instance.-iscInstanceId :: Lens' InstanceStateChange (Maybe Text)-iscInstanceId = lens _iscInstanceId (\s a -> s { _iscInstanceId = 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 .@? "currentState"-        <*> x .@? "instanceId"-        <*> x .@? "previousState"--instance ToQuery InstanceStateChange where-    toQuery InstanceStateChange{..} = mconcat-        [ "CurrentState"  =? _iscCurrentState-        , "InstanceId"    =? _iscInstanceId-        , "PreviousState" =? _iscPreviousState-        ]--data NetworkAcl = NetworkAcl-    { _naAssociations :: List "item" NetworkAclAssociation-    , _naEntries      :: List "item" NetworkAclEntry-    , _naIsDefault    :: Maybe Bool-    , _naNetworkAclId :: Maybe Text-    , _naTags         :: List "item" Tag-    , _naVpcId        :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'NetworkAcl' constructor.------ The fields accessible through corresponding lenses are:------ * 'naAssociations' @::@ ['NetworkAclAssociation']------ * 'naEntries' @::@ ['NetworkAclEntry']------ * 'naIsDefault' @::@ 'Maybe' 'Bool'------ * 'naNetworkAclId' @::@ 'Maybe' 'Text'------ * 'naTags' @::@ ['Tag']------ * 'naVpcId' @::@ 'Maybe' 'Text'----networkAcl :: NetworkAcl-networkAcl = NetworkAcl-    { _naNetworkAclId = Nothing-    , _naVpcId        = Nothing-    , _naIsDefault    = Nothing-    , _naEntries      = mempty-    , _naAssociations = mempty-    , _naTags         = mempty-    }---- | Any associations between the network ACL and one or more subnets-naAssociations :: Lens' NetworkAcl [NetworkAclAssociation]-naAssociations = lens _naAssociations (\s a -> s { _naAssociations = a }) . _List---- | One or more entries (rules) in the network ACL.-naEntries :: Lens' NetworkAcl [NetworkAclEntry]-naEntries = lens _naEntries (\s a -> s { _naEntries = a }) . _List---- | Indicates whether this is the default network ACL for the VPC.-naIsDefault :: Lens' NetworkAcl (Maybe Bool)-naIsDefault = lens _naIsDefault (\s a -> s { _naIsDefault = a })---- | The ID of the network ACL.-naNetworkAclId :: Lens' NetworkAcl (Maybe Text)-naNetworkAclId = lens _naNetworkAclId (\s a -> s { _naNetworkAclId = a })---- | Any tags assigned to the network ACL.-naTags :: Lens' NetworkAcl [Tag]-naTags = lens _naTags (\s a -> s { _naTags = a }) . _List---- | The ID of the VPC for the network ACL.-naVpcId :: Lens' NetworkAcl (Maybe Text)-naVpcId = lens _naVpcId (\s a -> s { _naVpcId = a })--instance FromXML NetworkAcl where-    parseXML x = NetworkAcl-        <$> x .@? "associationSet" .!@ mempty-        <*> x .@? "entrySet" .!@ mempty-        <*> x .@? "default"-        <*> x .@? "networkAclId"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@? "vpcId"--instance ToQuery NetworkAcl where-    toQuery NetworkAcl{..} = mconcat-        [ "AssociationSet" `toQueryList` _naAssociations-        , "EntrySet"       `toQueryList` _naEntries-        , "Default"        =? _naIsDefault-        , "NetworkAclId"   =? _naNetworkAclId-        , "TagSet"         `toQueryList` _naTags-        , "VpcId"          =? _naVpcId-        ]--data ImageState-    = ISAvailable    -- ^ available-    | ISDeregistered -- ^ deregistered-    | ISError        -- ^ error-    | ISFailed       -- ^ failed-    | ISInvalid      -- ^ invalid-    | ISPending      -- ^ pending-    | ISTransient    -- ^ transient-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ImageState--instance FromText ImageState where-    parser = takeLowerText >>= \case-        "available"    -> pure ISAvailable-        "deregistered" -> pure ISDeregistered-        "error"        -> pure ISError-        "failed"       -> pure ISFailed-        "invalid"      -> pure ISInvalid-        "pending"      -> pure ISPending-        "transient"    -> pure ISTransient-        e              -> fail $-            "Failure parsing ImageState from " ++ show e--instance ToText ImageState where-    toText = \case-        ISAvailable    -> "available"-        ISDeregistered -> "deregistered"-        ISError        -> "error"-        ISFailed       -> "failed"-        ISInvalid      -> "invalid"-        ISPending      -> "pending"-        ISTransient    -> "transient"--instance ToByteString ImageState-instance ToHeader     ImageState-instance ToQuery      ImageState--instance FromXML ImageState where-    parseXML = parseXMLText "ImageState"--data GatewayType-    = Ipsec1 -- ^ ipsec.1-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable GatewayType--instance FromText GatewayType where-    parser = takeLowerText >>= \case-        "ipsec.1" -> pure Ipsec1-        e         -> fail $-            "Failure parsing GatewayType from " ++ show e--instance ToText GatewayType where-    toText Ipsec1 = "ipsec.1"--instance ToByteString GatewayType-instance ToHeader     GatewayType-instance ToQuery      GatewayType--instance FromXML GatewayType where-    parseXML = parseXMLText "GatewayType"--data InstanceNetworkInterfaceAttachment = InstanceNetworkInterfaceAttachment-    { _iniaAttachTime          :: Maybe ISO8601-    , _iniaAttachmentId        :: Maybe Text-    , _iniaDeleteOnTermination :: Maybe Bool-    , _iniaDeviceIndex         :: Maybe Int-    , _iniaStatus              :: Maybe AttachmentStatus-    } deriving (Eq, Read, Show)---- | 'InstanceNetworkInterfaceAttachment' constructor.------ The fields accessible through corresponding lenses are:------ * 'iniaAttachTime' @::@ 'Maybe' 'UTCTime'------ * 'iniaAttachmentId' @::@ 'Maybe' 'Text'------ * 'iniaDeleteOnTermination' @::@ 'Maybe' 'Bool'------ * 'iniaDeviceIndex' @::@ 'Maybe' 'Int'------ * 'iniaStatus' @::@ 'Maybe' 'AttachmentStatus'----instanceNetworkInterfaceAttachment :: InstanceNetworkInterfaceAttachment-instanceNetworkInterfaceAttachment = InstanceNetworkInterfaceAttachment-    { _iniaAttachmentId        = Nothing-    , _iniaDeviceIndex         = Nothing-    , _iniaStatus              = Nothing-    , _iniaAttachTime          = Nothing-    , _iniaDeleteOnTermination = Nothing-    }---- | The time stamp when the attachment initiated.-iniaAttachTime :: Lens' InstanceNetworkInterfaceAttachment (Maybe UTCTime)-iniaAttachTime = lens _iniaAttachTime (\s a -> s { _iniaAttachTime = a }) . mapping _Time---- | The ID of the network interface attachment.-iniaAttachmentId :: Lens' InstanceNetworkInterfaceAttachment (Maybe Text)-iniaAttachmentId = lens _iniaAttachmentId (\s a -> s { _iniaAttachmentId = 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 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 })---- | The attachment state.-iniaStatus :: Lens' InstanceNetworkInterfaceAttachment (Maybe AttachmentStatus)-iniaStatus = lens _iniaStatus (\s a -> s { _iniaStatus = a })--instance FromXML InstanceNetworkInterfaceAttachment where-    parseXML x = InstanceNetworkInterfaceAttachment-        <$> x .@? "attachTime"-        <*> x .@? "attachmentId"-        <*> x .@? "deleteOnTermination"-        <*> x .@? "deviceIndex"-        <*> x .@? "status"--instance ToQuery InstanceNetworkInterfaceAttachment where-    toQuery InstanceNetworkInterfaceAttachment{..} = mconcat-        [ "AttachTime"          =? _iniaAttachTime-        , "AttachmentId"        =? _iniaAttachmentId-        , "DeleteOnTermination" =? _iniaDeleteOnTermination-        , "DeviceIndex"         =? _iniaDeviceIndex-        , "Status"              =? _iniaStatus-        ]--newtype AttributeBooleanValue = AttributeBooleanValue-    { _abvValue :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'AttributeBooleanValue' constructor.------ The fields accessible through corresponding lenses are:------ * 'abvValue' @::@ 'Maybe' 'Bool'----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-        ]--data RecurringCharge = RecurringCharge-    { _rcAmount    :: Maybe Double-    , _rcFrequency :: Maybe RecurringChargeFrequency-    } deriving (Eq, Read, Show)---- | 'RecurringCharge' constructor.------ The fields accessible through corresponding lenses are:------ * 'rcAmount' @::@ 'Maybe' 'Double'------ * 'rcFrequency' @::@ 'Maybe' 'RecurringChargeFrequency'----recurringCharge :: RecurringCharge-recurringCharge = RecurringCharge-    { _rcFrequency = Nothing-    , _rcAmount    = 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 ToQuery RecurringCharge where-    toQuery RecurringCharge{..} = mconcat-        [ "Amount"    =? _rcAmount-        , "Frequency" =? _rcFrequency-        ]--data NewDhcpConfiguration = NewDhcpConfiguration-    { _ndcKey    :: Maybe Text-    , _ndcValues :: List "item" Text-    } deriving (Eq, Ord, Read, Show)---- | 'NewDhcpConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'ndcKey' @::@ 'Maybe' 'Text'------ * 'ndcValues' @::@ ['Text']----newDhcpConfiguration :: NewDhcpConfiguration-newDhcpConfiguration = NewDhcpConfiguration-    { _ndcKey    = Nothing-    , _ndcValues = mempty-    }--ndcKey :: Lens' NewDhcpConfiguration (Maybe Text)-ndcKey = lens _ndcKey (\s a -> s { _ndcKey = a })--ndcValues :: Lens' NewDhcpConfiguration [Text]-ndcValues = lens _ndcValues (\s a -> s { _ndcValues = a }) . _List--instance FromXML NewDhcpConfiguration where-    parseXML x = NewDhcpConfiguration-        <$> x .@? "key"-        <*> x .@? "Value" .!@ mempty--instance ToQuery NewDhcpConfiguration where-    toQuery NewDhcpConfiguration{..} = mconcat-        [ "Key"   =? _ndcKey-        , "Value" `toQueryList` _ndcValues-        ]--data StateReason = StateReason-    { _srCode    :: Maybe Text-    , _srMessage :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'StateReason' constructor.------ The fields accessible through corresponding lenses are:------ * 'srCode' @::@ 'Maybe' 'Text'------ * 'srMessage' @::@ 'Maybe' 'Text'----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"--instance ToQuery StateReason where-    toQuery StateReason{..} = mconcat-        [ "Code"    =? _srCode-        , "Message" =? _srMessage-        ]--data MonitoringState-    = MSDisabled  -- ^ disabled-    | MSDisabling -- ^ disabling-    | MSEnabled   -- ^ enabled-    | MSPending   -- ^ pending-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable MonitoringState--instance FromText MonitoringState where-    parser = takeLowerText >>= \case-        "disabled"  -> pure MSDisabled-        "disabling" -> pure MSDisabling-        "enabled"   -> pure MSEnabled-        "pending"   -> pure MSPending-        e           -> fail $-            "Failure parsing MonitoringState from " ++ show e--instance ToText MonitoringState where-    toText = \case-        MSDisabled  -> "disabled"-        MSDisabling -> "disabling"-        MSEnabled   -> "enabled"-        MSPending   -> "pending"--instance ToByteString MonitoringState-instance ToHeader     MonitoringState-instance ToQuery      MonitoringState--instance FromXML MonitoringState where-    parseXML = parseXMLText "MonitoringState"--newtype ReservedInstancesId = ReservedInstancesId-    { _riiReservedInstancesId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'ReservedInstancesId' constructor.------ The fields accessible through corresponding lenses are:------ * 'riiReservedInstancesId' @::@ 'Maybe' 'Text'----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 ToQuery ReservedInstancesId where-    toQuery ReservedInstancesId{..} = mconcat-        [ "ReservedInstancesId" =? _riiReservedInstancesId-        ]--data StatusName-    = Reachability -- ^ reachability-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable StatusName--instance FromText StatusName where-    parser = takeLowerText >>= \case-        "reachability" -> pure Reachability-        e              -> fail $-            "Failure parsing StatusName from " ++ show e--instance ToText StatusName where-    toText Reachability = "reachability"--instance ToByteString StatusName-instance ToHeader     StatusName-instance ToQuery      StatusName--instance FromXML StatusName where-    parseXML = parseXMLText "StatusName"--data InternetGateway = InternetGateway-    { _igAttachments       :: List "item" InternetGatewayAttachment-    , _igInternetGatewayId :: Text-    , _igTags              :: List "item" Tag-    } deriving (Eq, Read, Show)---- | 'InternetGateway' constructor.------ The fields accessible through corresponding lenses are:------ * 'igAttachments' @::@ ['InternetGatewayAttachment']------ * 'igInternetGatewayId' @::@ 'Text'------ * 'igTags' @::@ ['Tag']----internetGateway :: Text -- ^ 'igInternetGatewayId'-                -> InternetGateway-internetGateway p1 = InternetGateway-    { _igInternetGatewayId = p1-    , _igAttachments       = mempty-    , _igTags              = mempty-    }---- | Any VPCs attached to the Internet gateway.-igAttachments :: Lens' InternetGateway [InternetGatewayAttachment]-igAttachments = lens _igAttachments (\s a -> s { _igAttachments = a }) . _List---- | The ID of the Internet gateway.-igInternetGatewayId :: Lens' InternetGateway Text-igInternetGatewayId =-    lens _igInternetGatewayId (\s a -> s { _igInternetGatewayId = a })---- | Any tags assigned to the Internet gateway.-igTags :: Lens' InternetGateway [Tag]-igTags = lens _igTags (\s a -> s { _igTags = a }) . _List--instance FromXML InternetGateway where-    parseXML x = InternetGateway-        <$> x .@? "attachmentSet" .!@ mempty-        <*> x .@  "internetGatewayId"-        <*> x .@? "tagSet" .!@ mempty--instance ToQuery InternetGateway where-    toQuery InternetGateway{..} = mconcat-        [ "AttachmentSet"     `toQueryList` _igAttachments-        , "InternetGatewayId" =? _igInternetGatewayId-        , "TagSet"            `toQueryList` _igTags-        ]--data VolumeStatusName-    = IoEnabled     -- ^ io-enabled-    | IoPerformance -- ^ io-performance-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable VolumeStatusName--instance FromText VolumeStatusName where-    parser = takeLowerText >>= \case-        "io-enabled"     -> pure IoEnabled-        "io-performance" -> pure IoPerformance-        e                -> fail $-            "Failure parsing VolumeStatusName from " ++ show e--instance ToText VolumeStatusName where-    toText = \case-        IoEnabled     -> "io-enabled"-        IoPerformance -> "io-performance"--instance ToByteString VolumeStatusName-instance ToHeader     VolumeStatusName-instance ToQuery      VolumeStatusName--instance FromXML VolumeStatusName where-    parseXML = parseXMLText "VolumeStatusName"--data VolumeAttributeName-    = AutoEnableIO -- ^ autoEnableIO-    | ProductCodes -- ^ productCodes-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable VolumeAttributeName--instance FromText VolumeAttributeName where-    parser = takeLowerText >>= \case-        "autoenableio" -> pure AutoEnableIO-        "productcodes" -> pure ProductCodes-        e              -> fail $-            "Failure parsing VolumeAttributeName from " ++ show e--instance ToText VolumeAttributeName where-    toText = \case-        AutoEnableIO -> "autoEnableIO"-        ProductCodes -> "productCodes"--instance ToByteString VolumeAttributeName-instance ToHeader     VolumeAttributeName-instance ToQuery      VolumeAttributeName--instance FromXML VolumeAttributeName where-    parseXML = parseXMLText "VolumeAttributeName"--data ImportInstanceTaskDetails = ImportInstanceTaskDetails-    { _iitdDescription :: Maybe Text-    , _iitdInstanceId  :: Maybe Text-    , _iitdPlatform    :: Maybe PlatformValues-    , _iitdVolumes     :: List "item" ImportInstanceVolumeDetailItem-    } deriving (Eq, Read, Show)---- | 'ImportInstanceTaskDetails' constructor.------ The fields accessible through corresponding lenses are:------ * 'iitdDescription' @::@ 'Maybe' 'Text'------ * 'iitdInstanceId' @::@ 'Maybe' 'Text'------ * 'iitdPlatform' @::@ 'Maybe' 'PlatformValues'------ * 'iitdVolumes' @::@ ['ImportInstanceVolumeDetailItem']----importInstanceTaskDetails :: ImportInstanceTaskDetails-importInstanceTaskDetails = ImportInstanceTaskDetails-    { _iitdVolumes     = mempty-    , _iitdInstanceId  = Nothing-    , _iitdPlatform    = Nothing-    , _iitdDescription = Nothing-    }---- | A description of the task.-iitdDescription :: Lens' ImportInstanceTaskDetails (Maybe Text)-iitdDescription = lens _iitdDescription (\s a -> s { _iitdDescription = a })---- | 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 })---- | One or more volumes.-iitdVolumes :: Lens' ImportInstanceTaskDetails [ImportInstanceVolumeDetailItem]-iitdVolumes = lens _iitdVolumes (\s a -> s { _iitdVolumes = a }) . _List--instance FromXML ImportInstanceTaskDetails where-    parseXML x = ImportInstanceTaskDetails-        <$> x .@? "description"-        <*> x .@? "instanceId"-        <*> x .@? "platform"-        <*> x .@? "volumes" .!@ mempty--instance ToQuery ImportInstanceTaskDetails where-    toQuery ImportInstanceTaskDetails{..} = mconcat-        [ "Description" =? _iitdDescription-        , "InstanceId"  =? _iitdInstanceId-        , "Platform"    =? _iitdPlatform-        , "Volumes"     `toQueryList` _iitdVolumes-        ]--data PlacementGroup = PlacementGroup-    { _pgGroupName :: Maybe Text-    , _pgState     :: Maybe PlacementGroupState-    , _pgStrategy  :: Maybe PlacementStrategy-    } deriving (Eq, Read, Show)---- | 'PlacementGroup' constructor.------ The fields accessible through corresponding lenses are:------ * 'pgGroupName' @::@ 'Maybe' 'Text'------ * 'pgState' @::@ 'Maybe' 'PlacementGroupState'------ * 'pgStrategy' @::@ 'Maybe' 'PlacementStrategy'----placementGroup :: PlacementGroup-placementGroup = PlacementGroup-    { _pgGroupName = Nothing-    , _pgStrategy  = Nothing-    , _pgState     = Nothing-    }---- | The name of the placement group.-pgGroupName :: Lens' PlacementGroup (Maybe Text)-pgGroupName = lens _pgGroupName (\s a -> s { _pgGroupName = a })---- | 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 })--instance FromXML PlacementGroup where-    parseXML x = PlacementGroup-        <$> x .@? "groupName"-        <*> x .@? "state"-        <*> x .@? "strategy"--instance ToQuery PlacementGroup where-    toQuery PlacementGroup{..} = mconcat-        [ "GroupName" =? _pgGroupName-        , "State"     =? _pgState-        , "Strategy"  =? _pgStrategy-        ]--data ProductCode = ProductCode-    { _pcProductCodeId   :: Maybe Text-    , _pcProductCodeType :: Maybe ProductCodeValues-    } deriving (Eq, Read, Show)---- | 'ProductCode' constructor.------ The fields accessible through corresponding lenses are:------ * 'pcProductCodeId' @::@ 'Maybe' 'Text'------ * 'pcProductCodeType' @::@ 'Maybe' 'ProductCodeValues'----productCode :: ProductCode-productCode = ProductCode-    { _pcProductCodeId   = Nothing-    , _pcProductCodeType = Nothing-    }---- | The product code.-pcProductCodeId :: Lens' ProductCode (Maybe Text)-pcProductCodeId = lens _pcProductCodeId (\s a -> s { _pcProductCodeId = a })---- | The type of product code.-pcProductCodeType :: Lens' ProductCode (Maybe ProductCodeValues)-pcProductCodeType =-    lens _pcProductCodeType (\s a -> s { _pcProductCodeType = a })--instance FromXML ProductCode where-    parseXML x = ProductCode-        <$> x .@? "productCode"-        <*> x .@? "type"--instance ToQuery ProductCode where-    toQuery ProductCode{..} = mconcat-        [ "ProductCode" =? _pcProductCodeId-        , "Type"        =? _pcProductCodeType-        ]--data ListingStatus-    = ListingStatusActive    -- ^ active-    | ListingStatusCancelled -- ^ cancelled-    | ListingStatusClosed    -- ^ closed-    | ListingStatusPending   -- ^ pending-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ListingStatus--instance FromText ListingStatus where-    parser = takeLowerText >>= \case-        "active"    -> pure ListingStatusActive-        "cancelled" -> pure ListingStatusCancelled-        "closed"    -> pure ListingStatusClosed-        "pending"   -> pure ListingStatusPending-        e           -> fail $-            "Failure parsing ListingStatus from " ++ show e--instance ToText ListingStatus where-    toText = \case-        ListingStatusActive    -> "active"-        ListingStatusCancelled -> "cancelled"-        ListingStatusClosed    -> "closed"-        ListingStatusPending   -> "pending"--instance ToByteString ListingStatus-instance ToHeader     ListingStatus-instance ToQuery      ListingStatus--instance FromXML ListingStatus where-    parseXML = parseXMLText "ListingStatus"--newtype IpRange = IpRange-    { _irCidrIp :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'IpRange' constructor.------ The fields accessible through corresponding lenses are:------ * 'irCidrIp' @::@ 'Text'----ipRange :: Text -- ^ 'irCidrIp'-        -> IpRange-ipRange p1 = IpRange-    { _irCidrIp = p1-    }---- | 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-        ]--data VolumeStatusInfoStatus-    = VSISImpaired         -- ^ impaired-    | VSISInsufficientData -- ^ insufficient-data-    | VSISOk               -- ^ ok-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable VolumeStatusInfoStatus--instance FromText VolumeStatusInfoStatus where-    parser = takeLowerText >>= \case-        "impaired"          -> pure VSISImpaired-        "insufficient-data" -> pure VSISInsufficientData-        "ok"                -> pure VSISOk-        e                   -> fail $-            "Failure parsing VolumeStatusInfoStatus from " ++ show e--instance ToText VolumeStatusInfoStatus where-    toText = \case-        VSISImpaired         -> "impaired"-        VSISInsufficientData -> "insufficient-data"-        VSISOk               -> "ok"--instance ToByteString VolumeStatusInfoStatus-instance ToHeader     VolumeStatusInfoStatus-instance ToQuery      VolumeStatusInfoStatus--instance FromXML VolumeStatusInfoStatus where-    parseXML = parseXMLText "VolumeStatusInfoStatus"--newtype AccountAttributeValue = AccountAttributeValue-    { _aavAttributeValue :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'AccountAttributeValue' constructor.------ The fields accessible through corresponding lenses are:------ * 'aavAttributeValue' @::@ 'Maybe' 'Text'----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 ToQuery AccountAttributeValue where-    toQuery AccountAttributeValue{..} = mconcat-        [ "AttributeValue" =? _aavAttributeValue-        ]--data SnapshotDiskContainer = SnapshotDiskContainer-    { _sdcDescription :: Maybe Text-    , _sdcFormat      :: Maybe Text-    , _sdcUrl         :: Maybe Text-    , _sdcUserBucket  :: Maybe UserBucket-    } deriving (Eq, Read, Show)---- | 'SnapshotDiskContainer' constructor.------ The fields accessible through corresponding lenses are:------ * 'sdcDescription' @::@ 'Maybe' 'Text'------ * 'sdcFormat' @::@ 'Maybe' 'Text'------ * 'sdcUrl' @::@ 'Maybe' 'Text'------ * 'sdcUserBucket' @::@ 'Maybe' 'UserBucket'----snapshotDiskContainer :: SnapshotDiskContainer-snapshotDiskContainer = SnapshotDiskContainer-    { _sdcDescription = Nothing-    , _sdcFormat      = Nothing-    , _sdcUrl         = Nothing-    , _sdcUserBucket  = Nothing-    }---- | The description of the disk image being imported.-sdcDescription :: Lens' SnapshotDiskContainer (Maybe Text)-sdcDescription = lens _sdcDescription (\s a -> s { _sdcDescription = a })---- | 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 })--sdcUserBucket :: Lens' SnapshotDiskContainer (Maybe UserBucket)-sdcUserBucket = lens _sdcUserBucket (\s a -> s { _sdcUserBucket = a })--instance FromXML SnapshotDiskContainer where-    parseXML x = SnapshotDiskContainer-        <$> x .@? "Description"-        <*> x .@? "Format"-        <*> x .@? "Url"-        <*> x .@? "UserBucket"--instance ToQuery SnapshotDiskContainer where-    toQuery SnapshotDiskContainer{..} = mconcat-        [ "Description" =? _sdcDescription-        , "Format"      =? _sdcFormat-        , "Url"         =? _sdcUrl-        , "UserBucket"  =? _sdcUserBucket-        ]--data RIProductDescription-    = RIPDLinuxUNIX          -- ^ Linux/UNIX-    | RIPDLinuxUNIXAmazonVPC -- ^ Linux/UNIX (Amazon VPC)-    | RIPDWindows            -- ^ Windows-    | RIPDWindowsAmazonVPC   -- ^ Windows (Amazon VPC)-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable RIProductDescription--instance FromText RIProductDescription where-    parser = takeLowerText >>= \case-        "linux/unix"              -> pure RIPDLinuxUNIX-        "linux/unix (amazon vpc)" -> pure RIPDLinuxUNIXAmazonVPC-        "windows"                 -> pure RIPDWindows-        "windows (amazon vpc)"    -> pure RIPDWindowsAmazonVPC-        e                         -> fail $-            "Failure parsing RIProductDescription from " ++ show e--instance ToText RIProductDescription where-    toText = \case-        RIPDLinuxUNIX          -> "Linux/UNIX"-        RIPDLinuxUNIXAmazonVPC -> "Linux/UNIX (Amazon VPC)"-        RIPDWindows            -> "Windows"-        RIPDWindowsAmazonVPC   -> "Windows (Amazon VPC)"--instance ToByteString RIProductDescription-instance ToHeader     RIProductDescription-instance ToQuery      RIProductDescription--instance FromXML RIProductDescription where-    parseXML = parseXMLText "RIProductDescription"--data ReservedInstancesOffering = ReservedInstancesOffering-    { _rioAvailabilityZone            :: Maybe Text-    , _rioCurrencyCode                :: Maybe CurrencyCodeValues-    , _rioDuration                    :: Maybe Integer-    , _rioFixedPrice                  :: Maybe Double-    , _rioInstanceTenancy             :: Maybe Tenancy-    , _rioInstanceType                :: Maybe InstanceType-    , _rioMarketplace                 :: Maybe Bool-    , _rioOfferingType                :: Maybe OfferingTypeValues-    , _rioPricingDetails              :: List "item" PricingDetail-    , _rioProductDescription          :: Maybe RIProductDescription-    , _rioRecurringCharges            :: List "item" RecurringCharge-    , _rioReservedInstancesOfferingId :: Maybe Text-    , _rioUsagePrice                  :: Maybe Double-    } deriving (Eq, Read, Show)---- | 'ReservedInstancesOffering' constructor.------ The fields accessible through corresponding lenses are:------ * 'rioAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'rioCurrencyCode' @::@ 'Maybe' 'CurrencyCodeValues'------ * 'rioDuration' @::@ 'Maybe' 'Integer'------ * 'rioFixedPrice' @::@ 'Maybe' 'Double'------ * 'rioInstanceTenancy' @::@ 'Maybe' 'Tenancy'------ * 'rioInstanceType' @::@ 'Maybe' 'InstanceType'------ * 'rioMarketplace' @::@ 'Maybe' 'Bool'------ * 'rioOfferingType' @::@ 'Maybe' 'OfferingTypeValues'------ * 'rioPricingDetails' @::@ ['PricingDetail']------ * 'rioProductDescription' @::@ 'Maybe' 'RIProductDescription'------ * 'rioRecurringCharges' @::@ ['RecurringCharge']------ * 'rioReservedInstancesOfferingId' @::@ 'Maybe' 'Text'------ * 'rioUsagePrice' @::@ 'Maybe' 'Double'----reservedInstancesOffering :: ReservedInstancesOffering-reservedInstancesOffering = ReservedInstancesOffering-    { _rioReservedInstancesOfferingId = Nothing-    , _rioInstanceType                = Nothing-    , _rioAvailabilityZone            = Nothing-    , _rioDuration                    = Nothing-    , _rioUsagePrice                  = Nothing-    , _rioFixedPrice                  = Nothing-    , _rioProductDescription          = Nothing-    , _rioInstanceTenancy             = Nothing-    , _rioCurrencyCode                = Nothing-    , _rioOfferingType                = Nothing-    , _rioRecurringCharges            = mempty-    , _rioMarketplace                 = Nothing-    , _rioPricingDetails              = mempty-    }---- | 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 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 duration of the Reserved Instance, in seconds.-rioDuration :: Lens' ReservedInstancesOffering (Maybe Integer)-rioDuration = lens _rioDuration (\s a -> s { _rioDuration = 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 instance type on which the Reserved Instance can be used.-rioInstanceType :: Lens' ReservedInstancesOffering (Maybe InstanceType)-rioInstanceType = lens _rioInstanceType (\s a -> s { _rioInstanceType = a })---- | 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 Reserved Instance offering type.-rioOfferingType :: Lens' ReservedInstancesOffering (Maybe OfferingTypeValues)-rioOfferingType = lens _rioOfferingType (\s a -> s { _rioOfferingType = a })---- | The pricing details of the Reserved Instance offering.-rioPricingDetails :: Lens' ReservedInstancesOffering [PricingDetail]-rioPricingDetails =-    lens _rioPricingDetails (\s a -> s { _rioPricingDetails = a })-        . _List---- | The Reserved Instance description.-rioProductDescription :: Lens' ReservedInstancesOffering (Maybe RIProductDescription)-rioProductDescription =-    lens _rioProductDescription (\s a -> s { _rioProductDescription = a })---- | The recurring charge tag assigned to the resource.-rioRecurringCharges :: Lens' ReservedInstancesOffering [RecurringCharge]-rioRecurringCharges =-    lens _rioRecurringCharges (\s a -> s { _rioRecurringCharges = a })-        . _List---- | The ID of the Reserved Instance offering.-rioReservedInstancesOfferingId :: Lens' ReservedInstancesOffering (Maybe Text)-rioReservedInstancesOfferingId =-    lens _rioReservedInstancesOfferingId-        (\s a -> s { _rioReservedInstancesOfferingId = a })---- | The usage price of the Reserved Instance, per hour.-rioUsagePrice :: Lens' ReservedInstancesOffering (Maybe Double)-rioUsagePrice = lens _rioUsagePrice (\s a -> s { _rioUsagePrice = a })--instance FromXML ReservedInstancesOffering where-    parseXML x = ReservedInstancesOffering-        <$> x .@? "availabilityZone"-        <*> x .@? "currencyCode"-        <*> x .@? "duration"-        <*> x .@? "fixedPrice"-        <*> x .@? "instanceTenancy"-        <*> x .@? "instanceType"-        <*> x .@? "marketplace"-        <*> x .@? "offeringType"-        <*> x .@? "pricingDetailsSet" .!@ mempty-        <*> x .@? "productDescription"-        <*> x .@? "recurringCharges" .!@ mempty-        <*> x .@? "reservedInstancesOfferingId"-        <*> x .@? "usagePrice"--instance ToQuery ReservedInstancesOffering where-    toQuery ReservedInstancesOffering{..} = mconcat-        [ "AvailabilityZone"            =? _rioAvailabilityZone-        , "CurrencyCode"                =? _rioCurrencyCode-        , "Duration"                    =? _rioDuration-        , "FixedPrice"                  =? _rioFixedPrice-        , "InstanceTenancy"             =? _rioInstanceTenancy-        , "InstanceType"                =? _rioInstanceType-        , "Marketplace"                 =? _rioMarketplace-        , "OfferingType"                =? _rioOfferingType-        , "PricingDetailsSet"           `toQueryList` _rioPricingDetails-        , "ProductDescription"          =? _rioProductDescription-        , "RecurringCharges"            `toQueryList` _rioRecurringCharges-        , "ReservedInstancesOfferingId" =? _rioReservedInstancesOfferingId-        , "UsagePrice"                  =? _rioUsagePrice-        ]--data ReservedInstances = ReservedInstances-    { _ri1AvailabilityZone    :: Maybe Text-    , _ri1CurrencyCode        :: Maybe CurrencyCodeValues-    , _ri1Duration            :: Maybe Integer-    , _ri1End                 :: Maybe ISO8601-    , _ri1FixedPrice          :: Maybe Double-    , _ri1InstanceCount       :: Maybe Int-    , _ri1InstanceTenancy     :: Maybe Tenancy-    , _ri1InstanceType        :: Maybe InstanceType-    , _ri1OfferingType        :: Maybe OfferingTypeValues-    , _ri1ProductDescription  :: Maybe RIProductDescription-    , _ri1RecurringCharges    :: List "item" RecurringCharge-    , _ri1ReservedInstancesId :: Maybe Text-    , _ri1Start               :: Maybe ISO8601-    , _ri1State               :: Maybe ReservedInstanceState-    , _ri1Tags                :: List "item" Tag-    , _ri1UsagePrice          :: Maybe Double-    } deriving (Eq, Read, Show)---- | 'ReservedInstances' constructor.------ The fields accessible through corresponding lenses are:------ * 'ri1AvailabilityZone' @::@ 'Maybe' 'Text'------ * 'ri1CurrencyCode' @::@ 'Maybe' 'CurrencyCodeValues'------ * 'ri1Duration' @::@ 'Maybe' 'Integer'------ * 'ri1End' @::@ 'Maybe' 'UTCTime'------ * 'ri1FixedPrice' @::@ 'Maybe' 'Double'------ * 'ri1InstanceCount' @::@ 'Maybe' 'Int'------ * 'ri1InstanceTenancy' @::@ 'Maybe' 'Tenancy'------ * 'ri1InstanceType' @::@ 'Maybe' 'InstanceType'------ * 'ri1OfferingType' @::@ 'Maybe' 'OfferingTypeValues'------ * 'ri1ProductDescription' @::@ 'Maybe' 'RIProductDescription'------ * 'ri1RecurringCharges' @::@ ['RecurringCharge']------ * 'ri1ReservedInstancesId' @::@ 'Maybe' 'Text'------ * 'ri1Start' @::@ 'Maybe' 'UTCTime'------ * 'ri1State' @::@ 'Maybe' 'ReservedInstanceState'------ * 'ri1Tags' @::@ ['Tag']------ * 'ri1UsagePrice' @::@ 'Maybe' 'Double'----reservedInstances :: ReservedInstances-reservedInstances = ReservedInstances-    { _ri1ReservedInstancesId = Nothing-    , _ri1InstanceType        = Nothing-    , _ri1AvailabilityZone    = Nothing-    , _ri1Start               = Nothing-    , _ri1End                 = Nothing-    , _ri1Duration            = Nothing-    , _ri1UsagePrice          = Nothing-    , _ri1FixedPrice          = Nothing-    , _ri1InstanceCount       = Nothing-    , _ri1ProductDescription  = Nothing-    , _ri1State               = Nothing-    , _ri1Tags                = mempty-    , _ri1InstanceTenancy     = Nothing-    , _ri1CurrencyCode        = Nothing-    , _ri1OfferingType        = Nothing-    , _ri1RecurringCharges    = mempty-    }---- | The Availability Zone in which the Reserved Instance can be used.-ri1AvailabilityZone :: Lens' ReservedInstances (Maybe Text)-ri1AvailabilityZone =-    lens _ri1AvailabilityZone (\s a -> s { _ri1AvailabilityZone = 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'.-ri1CurrencyCode :: Lens' ReservedInstances (Maybe CurrencyCodeValues)-ri1CurrencyCode = lens _ri1CurrencyCode (\s a -> s { _ri1CurrencyCode = a })---- | The duration of the Reserved Instance, in seconds.-ri1Duration :: Lens' ReservedInstances (Maybe Integer)-ri1Duration = lens _ri1Duration (\s a -> s { _ri1Duration = a })---- | The time when the Reserved Instance expires.-ri1End :: Lens' ReservedInstances (Maybe UTCTime)-ri1End = lens _ri1End (\s a -> s { _ri1End = a }) . mapping _Time---- | The purchase price of the Reserved Instance.-ri1FixedPrice :: Lens' ReservedInstances (Maybe Double)-ri1FixedPrice = lens _ri1FixedPrice (\s a -> s { _ri1FixedPrice = a })---- | The number of Reserved Instances purchased.-ri1InstanceCount :: Lens' ReservedInstances (Maybe Int)-ri1InstanceCount = lens _ri1InstanceCount (\s a -> s { _ri1InstanceCount = a })---- | The tenancy of the reserved instance.-ri1InstanceTenancy :: Lens' ReservedInstances (Maybe Tenancy)-ri1InstanceTenancy =-    lens _ri1InstanceTenancy (\s a -> s { _ri1InstanceTenancy = a })---- | The instance type on which the Reserved Instance can be used.-ri1InstanceType :: Lens' ReservedInstances (Maybe InstanceType)-ri1InstanceType = lens _ri1InstanceType (\s a -> s { _ri1InstanceType = a })---- | The Reserved Instance offering type.-ri1OfferingType :: Lens' ReservedInstances (Maybe OfferingTypeValues)-ri1OfferingType = lens _ri1OfferingType (\s a -> s { _ri1OfferingType = a })---- | The Reserved Instance description.-ri1ProductDescription :: Lens' ReservedInstances (Maybe RIProductDescription)-ri1ProductDescription =-    lens _ri1ProductDescription (\s a -> s { _ri1ProductDescription = a })---- | The recurring charge tag assigned to the resource.-ri1RecurringCharges :: Lens' ReservedInstances [RecurringCharge]-ri1RecurringCharges =-    lens _ri1RecurringCharges (\s a -> s { _ri1RecurringCharges = a })-        . _List---- | The ID of the Reserved Instance.-ri1ReservedInstancesId :: Lens' ReservedInstances (Maybe Text)-ri1ReservedInstancesId =-    lens _ri1ReservedInstancesId (\s a -> s { _ri1ReservedInstancesId = a })---- | The date and time the Reserved Instance started.-ri1Start :: Lens' ReservedInstances (Maybe UTCTime)-ri1Start = lens _ri1Start (\s a -> s { _ri1Start = a }) . mapping _Time---- | The state of the Reserved Instance purchase.-ri1State :: Lens' ReservedInstances (Maybe ReservedInstanceState)-ri1State = lens _ri1State (\s a -> s { _ri1State = a })---- | Any tags assigned to the resource.-ri1Tags :: Lens' ReservedInstances [Tag]-ri1Tags = lens _ri1Tags (\s a -> s { _ri1Tags = a }) . _List---- | The usage price of the Reserved Instance, per hour.-ri1UsagePrice :: Lens' ReservedInstances (Maybe Double)-ri1UsagePrice = lens _ri1UsagePrice (\s a -> s { _ri1UsagePrice = a })--instance FromXML ReservedInstances where-    parseXML x = ReservedInstances-        <$> x .@? "availabilityZone"-        <*> x .@? "currencyCode"-        <*> x .@? "duration"-        <*> x .@? "end"-        <*> x .@? "fixedPrice"-        <*> x .@? "instanceCount"-        <*> x .@? "instanceTenancy"-        <*> x .@? "instanceType"-        <*> x .@? "offeringType"-        <*> x .@? "productDescription"-        <*> x .@? "recurringCharges" .!@ mempty-        <*> x .@? "reservedInstancesId"-        <*> x .@? "start"-        <*> x .@? "state"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@? "usagePrice"--instance ToQuery ReservedInstances where-    toQuery ReservedInstances{..} = mconcat-        [ "AvailabilityZone"    =? _ri1AvailabilityZone-        , "CurrencyCode"        =? _ri1CurrencyCode-        , "Duration"            =? _ri1Duration-        , "End"                 =? _ri1End-        , "FixedPrice"          =? _ri1FixedPrice-        , "InstanceCount"       =? _ri1InstanceCount-        , "InstanceTenancy"     =? _ri1InstanceTenancy-        , "InstanceType"        =? _ri1InstanceType-        , "OfferingType"        =? _ri1OfferingType-        , "ProductDescription"  =? _ri1ProductDescription-        , "RecurringCharges"    `toQueryList` _ri1RecurringCharges-        , "ReservedInstancesId" =? _ri1ReservedInstancesId-        , "Start"               =? _ri1Start-        , "State"               =? _ri1State-        , "TagSet"              `toQueryList` _ri1Tags-        , "UsagePrice"          =? _ri1UsagePrice-        ]--data DatafeedSubscriptionState-    = DSSActive   -- ^ Active-    | DSSInactive -- ^ Inactive-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable DatafeedSubscriptionState--instance FromText DatafeedSubscriptionState where-    parser = takeLowerText >>= \case-        "active"   -> pure DSSActive-        "inactive" -> pure DSSInactive-        e          -> fail $-            "Failure parsing DatafeedSubscriptionState from " ++ show e--instance ToText DatafeedSubscriptionState where-    toText = \case-        DSSActive   -> "Active"-        DSSInactive -> "Inactive"--instance ToByteString DatafeedSubscriptionState-instance ToHeader     DatafeedSubscriptionState-instance ToQuery      DatafeedSubscriptionState--instance FromXML DatafeedSubscriptionState where-    parseXML = parseXMLText "DatafeedSubscriptionState"--data ExportTaskState-    = ETSActive     -- ^ active-    | ETSCancelled  -- ^ cancelled-    | ETSCancelling -- ^ cancelling-    | ETSCompleted  -- ^ completed-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ExportTaskState--instance FromText ExportTaskState where-    parser = takeLowerText >>= \case-        "active"     -> pure ETSActive-        "cancelled"  -> pure ETSCancelled-        "cancelling" -> pure ETSCancelling-        "completed"  -> pure ETSCompleted-        e            -> fail $-            "Failure parsing ExportTaskState from " ++ show e--instance ToText ExportTaskState where-    toText = \case-        ETSActive     -> "active"-        ETSCancelled  -> "cancelled"-        ETSCancelling -> "cancelling"-        ETSCompleted  -> "completed"--instance ToByteString ExportTaskState-instance ToHeader     ExportTaskState-instance ToQuery      ExportTaskState--instance FromXML ExportTaskState where-    parseXML = parseXMLText "ExportTaskState"--data ProductCodeValues-    = Devpay      -- ^ devpay-    | Marketplace -- ^ marketplace-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ProductCodeValues--instance FromText ProductCodeValues where-    parser = takeLowerText >>= \case-        "devpay"      -> pure Devpay-        "marketplace" -> pure Marketplace-        e             -> fail $-            "Failure parsing ProductCodeValues from " ++ show e--instance ToText ProductCodeValues where-    toText = \case-        Devpay      -> "devpay"-        Marketplace -> "marketplace"--instance ToByteString ProductCodeValues-instance ToHeader     ProductCodeValues-instance ToQuery      ProductCodeValues--instance FromXML ProductCodeValues where-    parseXML = parseXMLText "ProductCodeValues"--data VpnConnection = VpnConnection-    { _vcCustomerGatewayConfiguration :: Text-    , _vcCustomerGatewayId            :: Text-    , _vcOptions                      :: Maybe VpnConnectionOptions-    , _vcRoutes                       :: List "item" VpnStaticRoute-    , _vcState                        :: VpnState-    , _vcTags                         :: List "item" Tag-    , _vcType                         :: GatewayType-    , _vcVgwTelemetry                 :: List "item" VgwTelemetry-    , _vcVpnConnectionId              :: Text-    , _vcVpnGatewayId                 :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'VpnConnection' constructor.------ The fields accessible through corresponding lenses are:------ * 'vcCustomerGatewayConfiguration' @::@ 'Text'------ * 'vcCustomerGatewayId' @::@ 'Text'------ * 'vcOptions' @::@ 'Maybe' 'VpnConnectionOptions'------ * 'vcRoutes' @::@ ['VpnStaticRoute']------ * 'vcState' @::@ 'VpnState'------ * 'vcTags' @::@ ['Tag']------ * 'vcType' @::@ 'GatewayType'------ * 'vcVgwTelemetry' @::@ ['VgwTelemetry']------ * 'vcVpnConnectionId' @::@ 'Text'------ * 'vcVpnGatewayId' @::@ 'Maybe' 'Text'----vpnConnection :: Text -- ^ 'vcVpnConnectionId'-              -> VpnState -- ^ 'vcState'-              -> Text -- ^ 'vcCustomerGatewayConfiguration'-              -> GatewayType -- ^ 'vcType'-              -> Text -- ^ 'vcCustomerGatewayId'-              -> VpnConnection-vpnConnection p1 p2 p3 p4 p5 = VpnConnection-    { _vcVpnConnectionId              = p1-    , _vcState                        = p2-    , _vcCustomerGatewayConfiguration = p3-    , _vcType                         = p4-    , _vcCustomerGatewayId            = p5-    , _vcVpnGatewayId                 = Nothing-    , _vcTags                         = mempty-    , _vcVgwTelemetry                 = mempty-    , _vcOptions                      = Nothing-    , _vcRoutes                       = mempty-    }---- | 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 Text-vcCustomerGatewayConfiguration =-    lens _vcCustomerGatewayConfiguration-        (\s a -> s { _vcCustomerGatewayConfiguration = 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 VPN connection options.-vcOptions :: Lens' VpnConnection (Maybe VpnConnectionOptions)-vcOptions = lens _vcOptions (\s a -> s { _vcOptions = a })---- | The static routes associated with the VPN connection.-vcRoutes :: Lens' VpnConnection [VpnStaticRoute]-vcRoutes = lens _vcRoutes (\s a -> s { _vcRoutes = a }) . _List---- | The current state of the VPN connection.-vcState :: Lens' VpnConnection VpnState-vcState = lens _vcState (\s a -> s { _vcState = a })---- | Any tags assigned to the VPN connection.-vcTags :: Lens' VpnConnection [Tag]-vcTags = lens _vcTags (\s a -> s { _vcTags = a }) . _List---- | The type of VPN connection.-vcType :: Lens' VpnConnection GatewayType-vcType = lens _vcType (\s a -> s { _vcType = a })---- | Information about the VPN tunnel.-vcVgwTelemetry :: Lens' VpnConnection [VgwTelemetry]-vcVgwTelemetry = lens _vcVgwTelemetry (\s a -> s { _vcVgwTelemetry = a }) . _List---- | The ID of the VPN connection.-vcVpnConnectionId :: Lens' VpnConnection Text-vcVpnConnectionId =-    lens _vcVpnConnectionId (\s a -> s { _vcVpnConnectionId = a })---- | 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 })--instance FromXML VpnConnection where-    parseXML x = VpnConnection-        <$> x .@  "customerGatewayConfiguration"-        <*> x .@  "customerGatewayId"-        <*> x .@? "options"-        <*> x .@? "routes" .!@ mempty-        <*> x .@  "state"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@  "type"-        <*> x .@? "vgwTelemetry" .!@ mempty-        <*> x .@  "vpnConnectionId"-        <*> x .@? "vpnGatewayId"--instance ToQuery VpnConnection where-    toQuery VpnConnection{..} = mconcat-        [ "CustomerGatewayConfiguration" =? _vcCustomerGatewayConfiguration-        , "CustomerGatewayId"            =? _vcCustomerGatewayId-        , "Options"                      =? _vcOptions-        , "Routes"                       `toQueryList` _vcRoutes-        , "State"                        =? _vcState-        , "TagSet"                       `toQueryList` _vcTags-        , "Type"                         =? _vcType-        , "VgwTelemetry"                 `toQueryList` _vcVgwTelemetry-        , "VpnConnectionId"              =? _vcVpnConnectionId-        , "VpnGatewayId"                 =? _vcVpnGatewayId-        ]--data InstanceState = InstanceState-    { _isCode :: Int-    , _isName :: InstanceStateName-    } deriving (Eq, Read, Show)---- | 'InstanceState' constructor.------ The fields accessible through corresponding lenses are:------ * 'isCode' @::@ 'Int'------ * 'isName' @::@ 'InstanceStateName'----instanceState :: Int -- ^ 'isCode'-              -> InstanceStateName -- ^ 'isName'-              -> InstanceState-instanceState p1 p2 = InstanceState-    { _isCode = p1-    , _isName = p2-    }---- | 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 })---- | The current state of the instance.-isName :: Lens' InstanceState InstanceStateName-isName = lens _isName (\s a -> s { _isName = a })--instance FromXML InstanceState where-    parseXML x = InstanceState-        <$> x .@  "code"-        <*> x .@  "name"--instance ToQuery InstanceState where-    toQuery InstanceState{..} = mconcat-        [ "Code" =? _isCode-        , "Name" =? _isName-        ]--data VpcEndpoint = VpcEndpoint-    { _veCreationTimestamp :: Maybe ISO8601-    , _vePolicyDocument    :: Maybe Text-    , _veRouteTableIds     :: List "item" Text-    , _veServiceName       :: Maybe Text-    , _veState             :: Maybe State-    , _veVpcEndpointId     :: Maybe Text-    , _veVpcId             :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'VpcEndpoint' constructor.------ The fields accessible through corresponding lenses are:------ * 'veCreationTimestamp' @::@ 'Maybe' 'UTCTime'------ * 'vePolicyDocument' @::@ 'Maybe' 'Text'------ * 'veRouteTableIds' @::@ ['Text']------ * 'veServiceName' @::@ 'Maybe' 'Text'------ * 'veState' @::@ 'Maybe' 'State'------ * 'veVpcEndpointId' @::@ 'Maybe' 'Text'------ * 'veVpcId' @::@ 'Maybe' 'Text'----vpcEndpoint :: VpcEndpoint-vpcEndpoint = VpcEndpoint-    { _veVpcEndpointId     = Nothing-    , _veVpcId             = Nothing-    , _veServiceName       = Nothing-    , _veState             = Nothing-    , _vePolicyDocument    = Nothing-    , _veRouteTableIds     = mempty-    , _veCreationTimestamp = Nothing-    }---- | 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 policy document associated with the endpoint.-vePolicyDocument :: Lens' VpcEndpoint (Maybe Text)-vePolicyDocument = lens _vePolicyDocument (\s a -> s { _vePolicyDocument = a })---- | One or more route tables associated with the endpoint.-veRouteTableIds :: Lens' VpcEndpoint [Text]-veRouteTableIds = lens _veRouteTableIds (\s a -> s { _veRouteTableIds = a }) . _List---- | 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 state of the VPC endpoint.-veState :: Lens' VpcEndpoint (Maybe State)-veState = lens _veState (\s a -> s { _veState = a })---- | The ID of the VPC endpoint.-veVpcEndpointId :: Lens' VpcEndpoint (Maybe Text)-veVpcEndpointId = lens _veVpcEndpointId (\s a -> s { _veVpcEndpointId = 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 })--instance FromXML VpcEndpoint where-    parseXML x = VpcEndpoint-        <$> x .@? "creationTimestamp"-        <*> x .@? "policyDocument"-        <*> x .@? "routeTableIdSet" .!@ mempty-        <*> x .@? "serviceName"-        <*> x .@? "state"-        <*> x .@? "vpcEndpointId"-        <*> x .@? "vpcId"--instance ToQuery VpcEndpoint where-    toQuery VpcEndpoint{..} = mconcat-        [ "CreationTimestamp" =? _veCreationTimestamp-        , "PolicyDocument"    =? _vePolicyDocument-        , "RouteTableIdSet"   `toQueryList` _veRouteTableIds-        , "ServiceName"       =? _veServiceName-        , "State"             =? _veState-        , "VpcEndpointId"     =? _veVpcEndpointId-        , "VpcId"             =? _veVpcId-        ]--data ClientData = ClientData-    { _cdComment     :: Maybe Text-    , _cdUploadEnd   :: Maybe ISO8601-    , _cdUploadSize  :: Maybe Double-    , _cdUploadStart :: Maybe ISO8601-    } deriving (Eq, Ord, Read, Show)---- | 'ClientData' constructor.------ The fields accessible through corresponding lenses are:------ * 'cdComment' @::@ 'Maybe' 'Text'------ * 'cdUploadEnd' @::@ 'Maybe' 'UTCTime'------ * 'cdUploadSize' @::@ 'Maybe' 'Double'------ * 'cdUploadStart' @::@ 'Maybe' 'UTCTime'----clientData :: ClientData-clientData = ClientData-    { _cdUploadStart = Nothing-    , _cdUploadEnd   = Nothing-    , _cdUploadSize  = Nothing-    , _cdComment     = Nothing-    }---- | A user-defined comment about the disk upload.-cdComment :: Lens' ClientData (Maybe Text)-cdComment = lens _cdComment (\s a -> s { _cdComment = a })---- | The time that the disk upload ends.-cdUploadEnd :: Lens' ClientData (Maybe UTCTime)-cdUploadEnd = lens _cdUploadEnd (\s a -> s { _cdUploadEnd = 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 starts.-cdUploadStart :: Lens' ClientData (Maybe UTCTime)-cdUploadStart = lens _cdUploadStart (\s a -> s { _cdUploadStart = a }) . mapping _Time--instance FromXML ClientData where-    parseXML x = ClientData-        <$> x .@? "Comment"-        <*> x .@? "UploadEnd"-        <*> x .@? "UploadSize"-        <*> x .@? "UploadStart"--instance ToQuery ClientData where-    toQuery ClientData{..} = mconcat-        [ "Comment"     =? _cdComment-        , "UploadEnd"   =? _cdUploadEnd-        , "UploadSize"  =? _cdUploadSize-        , "UploadStart" =? _cdUploadStart-        ]--data Placement = Placement-    { _pAvailabilityZone :: Maybe Text-    , _pGroupName        :: Maybe Text-    , _pTenancy          :: Maybe Tenancy-    } deriving (Eq, Read, Show)---- | 'Placement' constructor.------ The fields accessible through corresponding lenses are:------ * 'pAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'pGroupName' @::@ 'Maybe' 'Text'------ * 'pTenancy' @::@ 'Maybe' 'Tenancy'----placement :: Placement-placement = Placement-    { _pAvailabilityZone = Nothing-    , _pGroupName        = Nothing-    , _pTenancy          = Nothing-    }---- | The Availability Zone of the instance.-pAvailabilityZone :: Lens' Placement (Maybe Text)-pAvailabilityZone =-    lens _pAvailabilityZone (\s a -> s { _pAvailabilityZone = 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 })---- | 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.-pTenancy :: Lens' Placement (Maybe Tenancy)-pTenancy = lens _pTenancy (\s a -> s { _pTenancy = a })--instance FromXML Placement where-    parseXML x = Placement-        <$> x .@? "availabilityZone"-        <*> x .@? "groupName"-        <*> x .@? "tenancy"--instance ToQuery Placement where-    toQuery Placement{..} = mconcat-        [ "AvailabilityZone" =? _pAvailabilityZone-        , "GroupName"        =? _pGroupName-        , "Tenancy"          =? _pTenancy-        ]--data EventCode-    = InstanceReboot     -- ^ instance-reboot-    | InstanceRetirement -- ^ instance-retirement-    | InstanceStop       -- ^ instance-stop-    | SystemMaintenance  -- ^ system-maintenance-    | SystemReboot       -- ^ system-reboot-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable EventCode--instance FromText EventCode where-    parser = takeLowerText >>= \case-        "instance-reboot"     -> pure InstanceReboot-        "instance-retirement" -> pure InstanceRetirement-        "instance-stop"       -> pure InstanceStop-        "system-maintenance"  -> pure SystemMaintenance-        "system-reboot"       -> pure SystemReboot-        e                     -> fail $-            "Failure parsing EventCode from " ++ show e--instance ToText EventCode where-    toText = \case-        InstanceReboot     -> "instance-reboot"-        InstanceRetirement -> "instance-retirement"-        InstanceStop       -> "instance-stop"-        SystemMaintenance  -> "system-maintenance"-        SystemReboot       -> "system-reboot"--instance ToByteString EventCode-instance ToHeader     EventCode-instance ToQuery      EventCode--instance FromXML EventCode where-    parseXML = parseXMLText "EventCode"--data SpotInstanceType-    = OneTime    -- ^ one-time-    | Persistent -- ^ persistent-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable SpotInstanceType--instance FromText SpotInstanceType where-    parser = takeLowerText >>= \case-        "one-time"   -> pure OneTime-        "persistent" -> pure Persistent-        e            -> fail $-            "Failure parsing SpotInstanceType from " ++ show e--instance ToText SpotInstanceType where-    toText = \case-        OneTime    -> "one-time"-        Persistent -> "persistent"--instance ToByteString SpotInstanceType-instance ToHeader     SpotInstanceType-instance ToQuery      SpotInstanceType--instance FromXML SpotInstanceType where-    parseXML = parseXMLText "SpotInstanceType"--data VpcPeeringConnection = VpcPeeringConnection-    { _vpc1AccepterVpcInfo        :: Maybe VpcPeeringConnectionVpcInfo-    , _vpc1ExpirationTime         :: Maybe ISO8601-    , _vpc1RequesterVpcInfo       :: Maybe VpcPeeringConnectionVpcInfo-    , _vpc1Status                 :: Maybe VpcPeeringConnectionStateReason-    , _vpc1Tags                   :: List "item" Tag-    , _vpc1VpcPeeringConnectionId :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'VpcPeeringConnection' constructor.------ The fields accessible through corresponding lenses are:------ * 'vpc1AccepterVpcInfo' @::@ 'Maybe' 'VpcPeeringConnectionVpcInfo'------ * 'vpc1ExpirationTime' @::@ 'Maybe' 'UTCTime'------ * 'vpc1RequesterVpcInfo' @::@ 'Maybe' 'VpcPeeringConnectionVpcInfo'------ * 'vpc1Status' @::@ 'Maybe' 'VpcPeeringConnectionStateReason'------ * 'vpc1Tags' @::@ ['Tag']------ * 'vpc1VpcPeeringConnectionId' @::@ 'Maybe' 'Text'----vpcPeeringConnection :: VpcPeeringConnection-vpcPeeringConnection = VpcPeeringConnection-    { _vpc1AccepterVpcInfo        = Nothing-    , _vpc1ExpirationTime         = Nothing-    , _vpc1RequesterVpcInfo       = Nothing-    , _vpc1Status                 = Nothing-    , _vpc1Tags                   = mempty-    , _vpc1VpcPeeringConnectionId = Nothing-    }---- | The information of the peer VPC.-vpc1AccepterVpcInfo :: Lens' VpcPeeringConnection (Maybe VpcPeeringConnectionVpcInfo)-vpc1AccepterVpcInfo =-    lens _vpc1AccepterVpcInfo (\s a -> s { _vpc1AccepterVpcInfo = a })---- | The time that an unaccepted VPC peering connection will expire.-vpc1ExpirationTime :: Lens' VpcPeeringConnection (Maybe UTCTime)-vpc1ExpirationTime =-    lens _vpc1ExpirationTime (\s a -> s { _vpc1ExpirationTime = a })-        . mapping _Time---- | The information of the requester VPC.-vpc1RequesterVpcInfo :: Lens' VpcPeeringConnection (Maybe VpcPeeringConnectionVpcInfo)-vpc1RequesterVpcInfo =-    lens _vpc1RequesterVpcInfo (\s a -> s { _vpc1RequesterVpcInfo = a })---- | The status of the VPC peering connection.-vpc1Status :: Lens' VpcPeeringConnection (Maybe VpcPeeringConnectionStateReason)-vpc1Status = lens _vpc1Status (\s a -> s { _vpc1Status = a })---- | Any tags assigned to the resource.-vpc1Tags :: Lens' VpcPeeringConnection [Tag]-vpc1Tags = lens _vpc1Tags (\s a -> s { _vpc1Tags = a }) . _List---- | The ID of the VPC peering connection.-vpc1VpcPeeringConnectionId :: Lens' VpcPeeringConnection (Maybe Text)-vpc1VpcPeeringConnectionId =-    lens _vpc1VpcPeeringConnectionId-        (\s a -> s { _vpc1VpcPeeringConnectionId = a })--instance FromXML VpcPeeringConnection where-    parseXML x = VpcPeeringConnection-        <$> x .@? "accepterVpcInfo"-        <*> x .@? "expirationTime"-        <*> x .@? "requesterVpcInfo"-        <*> x .@? "status"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@? "vpcPeeringConnectionId"--instance ToQuery VpcPeeringConnection where-    toQuery VpcPeeringConnection{..} = mconcat-        [ "AccepterVpcInfo"        =? _vpc1AccepterVpcInfo-        , "ExpirationTime"         =? _vpc1ExpirationTime-        , "RequesterVpcInfo"       =? _vpc1RequesterVpcInfo-        , "Status"                 =? _vpc1Status-        , "TagSet"                 `toQueryList` _vpc1Tags-        , "VpcPeeringConnectionId" =? _vpc1VpcPeeringConnectionId-        ]--data S3Storage = S3Storage-    { _ssAWSAccessKeyId        :: Maybe Text-    , _ssBucket                :: Maybe Text-    , _ssPrefix                :: Maybe Text-    , _ssUploadPolicy          :: Maybe Base64-    , _ssUploadPolicySignature :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'S3Storage' constructor.------ The fields accessible through corresponding lenses are:------ * 'ssAWSAccessKeyId' @::@ 'Maybe' 'Text'------ * 'ssBucket' @::@ 'Maybe' 'Text'------ * 'ssPrefix' @::@ 'Maybe' 'Text'------ * 'ssUploadPolicy' @::@ 'Maybe' 'Base64'------ * 'ssUploadPolicySignature' @::@ 'Maybe' 'Text'----s3Storage :: S3Storage-s3Storage = S3Storage-    { _ssBucket                = Nothing-    , _ssPrefix                = Nothing-    , _ssAWSAccessKeyId        = Nothing-    , _ssUploadPolicy          = Nothing-    , _ssUploadPolicySignature = Nothing-    }---- | 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 forManaging AWS Access Keys>.-ssAWSAccessKeyId :: Lens' S3Storage (Maybe Text)-ssAWSAccessKeyId = lens _ssAWSAccessKeyId (\s a -> s { _ssAWSAccessKeyId = a })---- | 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 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.-ssUploadPolicy :: Lens' S3Storage (Maybe Base64)-ssUploadPolicy = lens _ssUploadPolicy (\s a -> s { _ssUploadPolicy = a })---- | The signature of the Base64 encoded JSON document.-ssUploadPolicySignature :: Lens' S3Storage (Maybe Text)-ssUploadPolicySignature =-    lens _ssUploadPolicySignature (\s a -> s { _ssUploadPolicySignature = a })--instance FromXML S3Storage where-    parseXML x = S3Storage-        <$> x .@? "AWSAccessKeyId"-        <*> x .@? "bucket"-        <*> x .@? "prefix"-        <*> x .@? "uploadPolicy"-        <*> x .@? "uploadPolicySignature"--instance ToQuery S3Storage where-    toQuery S3Storage{..} = mconcat-        [ "AWSAccessKeyId"        =? _ssAWSAccessKeyId-        , "Bucket"                =? _ssBucket-        , "Prefix"                =? _ssPrefix-        , "UploadPolicy"          =? _ssUploadPolicy-        , "UploadPolicySignature" =? _ssUploadPolicySignature-        ]--data VgwTelemetry = VgwTelemetry-    { _vtAcceptedRouteCount :: Maybe Int-    , _vtLastStatusChange   :: Maybe ISO8601-    , _vtOutsideIpAddress   :: Maybe Text-    , _vtStatus             :: Maybe TelemetryStatus-    , _vtStatusMessage      :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'VgwTelemetry' constructor.------ The fields accessible through corresponding lenses are:------ * 'vtAcceptedRouteCount' @::@ 'Maybe' 'Int'------ * 'vtLastStatusChange' @::@ 'Maybe' 'UTCTime'------ * 'vtOutsideIpAddress' @::@ 'Maybe' 'Text'------ * 'vtStatus' @::@ 'Maybe' 'TelemetryStatus'------ * 'vtStatusMessage' @::@ 'Maybe' 'Text'----vgwTelemetry :: VgwTelemetry-vgwTelemetry = VgwTelemetry-    { _vtOutsideIpAddress   = Nothing-    , _vtStatus             = Nothing-    , _vtLastStatusChange   = Nothing-    , _vtStatusMessage      = Nothing-    , _vtAcceptedRouteCount = Nothing-    }---- | The number of accepted routes.-vtAcceptedRouteCount :: Lens' VgwTelemetry (Maybe Int)-vtAcceptedRouteCount =-    lens _vtAcceptedRouteCount (\s a -> s { _vtAcceptedRouteCount = 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 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 status of the VPN tunnel.-vtStatus :: Lens' VgwTelemetry (Maybe TelemetryStatus)-vtStatus = lens _vtStatus (\s a -> s { _vtStatus = 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 .@? "acceptedRouteCount"-        <*> x .@? "lastStatusChange"-        <*> x .@? "outsideIpAddress"-        <*> x .@? "status"-        <*> x .@? "statusMessage"--instance ToQuery VgwTelemetry where-    toQuery VgwTelemetry{..} = mconcat-        [ "AcceptedRouteCount" =? _vtAcceptedRouteCount-        , "LastStatusChange"   =? _vtLastStatusChange-        , "OutsideIpAddress"   =? _vtOutsideIpAddress-        , "Status"             =? _vtStatus-        , "StatusMessage"      =? _vtStatusMessage-        ]--data VpnStaticRoute = VpnStaticRoute-    { _vsrDestinationCidrBlock :: Maybe Text-    , _vsrSource               :: Maybe VpnStaticRouteSource-    , _vsrState                :: Maybe VpnState-    } deriving (Eq, Read, Show)---- | 'VpnStaticRoute' constructor.------ The fields accessible through corresponding lenses are:------ * 'vsrDestinationCidrBlock' @::@ 'Maybe' 'Text'------ * 'vsrSource' @::@ 'Maybe' 'VpnStaticRouteSource'------ * 'vsrState' @::@ 'Maybe' 'VpnState'----vpnStaticRoute :: VpnStaticRoute-vpnStaticRoute = VpnStaticRoute-    { _vsrDestinationCidrBlock = Nothing-    , _vsrSource               = Nothing-    , _vsrState                = Nothing-    }---- | 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 })---- | Indicates how the routes were provided.-vsrSource :: Lens' VpnStaticRoute (Maybe VpnStaticRouteSource)-vsrSource = lens _vsrSource (\s a -> s { _vsrSource = a })---- | The current state of the static route.-vsrState :: Lens' VpnStaticRoute (Maybe VpnState)-vsrState = lens _vsrState (\s a -> s { _vsrState = a })--instance FromXML VpnStaticRoute where-    parseXML x = VpnStaticRoute-        <$> x .@? "destinationCidrBlock"-        <*> x .@? "source"-        <*> x .@? "state"--instance ToQuery VpnStaticRoute where-    toQuery VpnStaticRoute{..} = mconcat-        [ "DestinationCidrBlock" =? _vsrDestinationCidrBlock-        , "Source"               =? _vsrSource-        , "State"                =? _vsrState-        ]--data InstanceStateName-    = ISNPending      -- ^ pending-    | ISNRunning      -- ^ running-    | ISNShuttingDown -- ^ shutting-down-    | ISNStopped      -- ^ stopped-    | ISNStopping     -- ^ stopping-    | ISNTerminated   -- ^ terminated-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable InstanceStateName--instance FromText InstanceStateName where-    parser = takeLowerText >>= \case-        "pending"       -> pure ISNPending-        "running"       -> pure ISNRunning-        "shutting-down" -> pure ISNShuttingDown-        "stopped"       -> pure ISNStopped-        "stopping"      -> pure ISNStopping-        "terminated"    -> pure ISNTerminated-        e               -> fail $-            "Failure parsing InstanceStateName from " ++ show e--instance ToText InstanceStateName where-    toText = \case-        ISNPending      -> "pending"-        ISNRunning      -> "running"-        ISNShuttingDown -> "shutting-down"-        ISNStopped      -> "stopped"-        ISNStopping     -> "stopping"-        ISNTerminated   -> "terminated"--instance ToByteString InstanceStateName-instance ToHeader     InstanceStateName-instance ToQuery      InstanceStateName--instance FromXML InstanceStateName where-    parseXML = parseXMLText "InstanceStateName"--data Instance = Instance-    { _i1AmiLaunchIndex        :: Int-    , _i1Architecture          :: ArchitectureValues-    , _i1BlockDeviceMappings   :: List "item" InstanceBlockDeviceMapping-    , _i1ClientToken           :: Maybe Text-    , _i1EbsOptimized          :: Bool-    , _i1Hypervisor            :: HypervisorType-    , _i1IamInstanceProfile    :: Maybe IamInstanceProfile-    , _i1ImageId               :: Text-    , _i1InstanceId            :: Text-    , _i1InstanceLifecycle     :: Maybe InstanceLifecycleType-    , _i1InstanceType          :: InstanceType-    , _i1KernelId              :: Maybe Text-    , _i1KeyName               :: Maybe Text-    , _i1LaunchTime            :: ISO8601-    , _i1Monitoring            :: Monitoring-    , _i1NetworkInterfaces     :: List "item" InstanceNetworkInterface-    , _i1Placement             :: Placement-    , _i1Platform              :: Maybe PlatformValues-    , _i1PrivateDnsName        :: Maybe Text-    , _i1PrivateIpAddress      :: Maybe Text-    , _i1ProductCodes          :: List "item" ProductCode-    , _i1PublicDnsName         :: Maybe Text-    , _i1PublicIpAddress       :: Maybe Text-    , _i1RamdiskId             :: Maybe Text-    , _i1RootDeviceName        :: Maybe Text-    , _i1RootDeviceType        :: DeviceType-    , _i1SecurityGroups        :: List "item" GroupIdentifier-    , _i1SourceDestCheck       :: Maybe Bool-    , _i1SpotInstanceRequestId :: Maybe Text-    , _i1SriovNetSupport       :: Maybe Text-    , _i1State                 :: InstanceState-    , _i1StateReason           :: Maybe StateReason-    , _i1StateTransitionReason :: Maybe Text-    , _i1SubnetId              :: Maybe Text-    , _i1Tags                  :: List "item" Tag-    , _i1VirtualizationType    :: VirtualizationType-    , _i1VpcId                 :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'Instance' constructor.------ The fields accessible through corresponding lenses are:------ * 'i1AmiLaunchIndex' @::@ 'Int'------ * 'i1Architecture' @::@ 'ArchitectureValues'------ * 'i1BlockDeviceMappings' @::@ ['InstanceBlockDeviceMapping']------ * 'i1ClientToken' @::@ 'Maybe' 'Text'------ * 'i1EbsOptimized' @::@ 'Bool'------ * 'i1Hypervisor' @::@ 'HypervisorType'------ * 'i1IamInstanceProfile' @::@ 'Maybe' 'IamInstanceProfile'------ * 'i1ImageId' @::@ 'Text'------ * 'i1InstanceId' @::@ 'Text'------ * 'i1InstanceLifecycle' @::@ 'Maybe' 'InstanceLifecycleType'------ * 'i1InstanceType' @::@ 'InstanceType'------ * 'i1KernelId' @::@ 'Maybe' 'Text'------ * 'i1KeyName' @::@ 'Maybe' 'Text'------ * 'i1LaunchTime' @::@ 'UTCTime'------ * 'i1Monitoring' @::@ 'Monitoring'------ * 'i1NetworkInterfaces' @::@ ['InstanceNetworkInterface']------ * 'i1Placement' @::@ 'Placement'------ * 'i1Platform' @::@ 'Maybe' 'PlatformValues'------ * 'i1PrivateDnsName' @::@ 'Maybe' 'Text'------ * 'i1PrivateIpAddress' @::@ 'Maybe' 'Text'------ * 'i1ProductCodes' @::@ ['ProductCode']------ * 'i1PublicDnsName' @::@ 'Maybe' 'Text'------ * 'i1PublicIpAddress' @::@ 'Maybe' 'Text'------ * 'i1RamdiskId' @::@ 'Maybe' 'Text'------ * 'i1RootDeviceName' @::@ 'Maybe' 'Text'------ * 'i1RootDeviceType' @::@ 'DeviceType'------ * 'i1SecurityGroups' @::@ ['GroupIdentifier']------ * 'i1SourceDestCheck' @::@ 'Maybe' 'Bool'------ * 'i1SpotInstanceRequestId' @::@ 'Maybe' 'Text'------ * 'i1SriovNetSupport' @::@ 'Maybe' 'Text'------ * 'i1State' @::@ 'InstanceState'------ * 'i1StateReason' @::@ 'Maybe' 'StateReason'------ * 'i1StateTransitionReason' @::@ 'Maybe' 'Text'------ * 'i1SubnetId' @::@ 'Maybe' 'Text'------ * 'i1Tags' @::@ ['Tag']------ * 'i1VirtualizationType' @::@ 'VirtualizationType'------ * 'i1VpcId' @::@ 'Maybe' 'Text'----instance' :: Text -- ^ 'i1InstanceId'-          -> Text -- ^ 'i1ImageId'-          -> InstanceState -- ^ 'i1State'-          -> Int -- ^ 'i1AmiLaunchIndex'-          -> InstanceType -- ^ 'i1InstanceType'-          -> UTCTime -- ^ 'i1LaunchTime'-          -> Placement -- ^ 'i1Placement'-          -> Monitoring -- ^ 'i1Monitoring'-          -> ArchitectureValues -- ^ 'i1Architecture'-          -> DeviceType -- ^ 'i1RootDeviceType'-          -> VirtualizationType -- ^ 'i1VirtualizationType'-          -> HypervisorType -- ^ 'i1Hypervisor'-          -> Bool -- ^ 'i1EbsOptimized'-          -> Instance-instance' p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 = Instance-    { _i1InstanceId            = p1-    , _i1ImageId               = p2-    , _i1State                 = p3-    , _i1AmiLaunchIndex        = p4-    , _i1InstanceType          = p5-    , _i1LaunchTime            = withIso _Time (const id) p6-    , _i1Placement             = p7-    , _i1Monitoring            = p8-    , _i1Architecture          = p9-    , _i1RootDeviceType        = p10-    , _i1VirtualizationType    = p11-    , _i1Hypervisor            = p12-    , _i1EbsOptimized          = p13-    , _i1PrivateDnsName        = Nothing-    , _i1PublicDnsName         = Nothing-    , _i1StateTransitionReason = Nothing-    , _i1KeyName               = Nothing-    , _i1ProductCodes          = mempty-    , _i1KernelId              = Nothing-    , _i1RamdiskId             = Nothing-    , _i1Platform              = Nothing-    , _i1SubnetId              = Nothing-    , _i1VpcId                 = Nothing-    , _i1PrivateIpAddress      = Nothing-    , _i1PublicIpAddress       = Nothing-    , _i1StateReason           = Nothing-    , _i1RootDeviceName        = Nothing-    , _i1BlockDeviceMappings   = mempty-    , _i1InstanceLifecycle     = Nothing-    , _i1SpotInstanceRequestId = Nothing-    , _i1ClientToken           = Nothing-    , _i1Tags                  = mempty-    , _i1SecurityGroups        = mempty-    , _i1SourceDestCheck       = Nothing-    , _i1NetworkInterfaces     = mempty-    , _i1IamInstanceProfile    = Nothing-    , _i1SriovNetSupport       = Nothing-    }---- | The AMI launch index, which can be used to find this instance in the launch--- group.-i1AmiLaunchIndex :: Lens' Instance Int-i1AmiLaunchIndex = lens _i1AmiLaunchIndex (\s a -> s { _i1AmiLaunchIndex = a })---- | The architecture of the image.-i1Architecture :: Lens' Instance ArchitectureValues-i1Architecture = lens _i1Architecture (\s a -> s { _i1Architecture = a })---- | Any block device mapping entries for the instance.-i1BlockDeviceMappings :: Lens' Instance [InstanceBlockDeviceMapping]-i1BlockDeviceMappings =-    lens _i1BlockDeviceMappings (\s a -> s { _i1BlockDeviceMappings = a })-        . _List---- | The idempotency token you provided when you launched the instance.-i1ClientToken :: Lens' Instance (Maybe Text)-i1ClientToken = lens _i1ClientToken (\s a -> s { _i1ClientToken = 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.-i1EbsOptimized :: Lens' Instance Bool-i1EbsOptimized = lens _i1EbsOptimized (\s a -> s { _i1EbsOptimized = a })---- | The hypervisor type of the instance.-i1Hypervisor :: Lens' Instance HypervisorType-i1Hypervisor = lens _i1Hypervisor (\s a -> s { _i1Hypervisor = a })---- | The IAM instance profile associated with the instance.-i1IamInstanceProfile :: Lens' Instance (Maybe IamInstanceProfile)-i1IamInstanceProfile =-    lens _i1IamInstanceProfile (\s a -> s { _i1IamInstanceProfile = a })---- | The ID of the AMI used to launch the instance.-i1ImageId :: Lens' Instance Text-i1ImageId = lens _i1ImageId (\s a -> s { _i1ImageId = a })---- | The ID of the instance.-i1InstanceId :: Lens' Instance Text-i1InstanceId = lens _i1InstanceId (\s a -> s { _i1InstanceId = a })---- | Indicates whether this is a Spot Instance.-i1InstanceLifecycle :: Lens' Instance (Maybe InstanceLifecycleType)-i1InstanceLifecycle =-    lens _i1InstanceLifecycle (\s a -> s { _i1InstanceLifecycle = a })---- | The instance type.-i1InstanceType :: Lens' Instance InstanceType-i1InstanceType = lens _i1InstanceType (\s a -> s { _i1InstanceType = a })---- | The kernel associated with this instance.-i1KernelId :: Lens' Instance (Maybe Text)-i1KernelId = lens _i1KernelId (\s a -> s { _i1KernelId = a })---- | The name of the key pair, if this instance was launched with an associated--- key pair.-i1KeyName :: Lens' Instance (Maybe Text)-i1KeyName = lens _i1KeyName (\s a -> s { _i1KeyName = a })---- | The time the instance was launched.-i1LaunchTime :: Lens' Instance UTCTime-i1LaunchTime = lens _i1LaunchTime (\s a -> s { _i1LaunchTime = a }) . _Time---- | The monitoring information for the instance.-i1Monitoring :: Lens' Instance Monitoring-i1Monitoring = lens _i1Monitoring (\s a -> s { _i1Monitoring = a })---- | [EC2-VPC] One or more network interfaces for the instance.-i1NetworkInterfaces :: Lens' Instance [InstanceNetworkInterface]-i1NetworkInterfaces =-    lens _i1NetworkInterfaces (\s a -> s { _i1NetworkInterfaces = a })-        . _List---- | The location where the instance launched.-i1Placement :: Lens' Instance Placement-i1Placement = lens _i1Placement (\s a -> s { _i1Placement = a })---- | The value is 'Windows' for Windows instances; otherwise blank.-i1Platform :: Lens' Instance (Maybe PlatformValues)-i1Platform = lens _i1Platform (\s a -> s { _i1Platform = 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.-i1PrivateDnsName :: Lens' Instance (Maybe Text)-i1PrivateDnsName = lens _i1PrivateDnsName (\s a -> s { _i1PrivateDnsName = a })---- | The private IP address assigned to the instance.-i1PrivateIpAddress :: Lens' Instance (Maybe Text)-i1PrivateIpAddress =-    lens _i1PrivateIpAddress (\s a -> s { _i1PrivateIpAddress = a })---- | The product codes attached to this instance.-i1ProductCodes :: Lens' Instance [ProductCode]-i1ProductCodes = lens _i1ProductCodes (\s a -> s { _i1ProductCodes = a }) . _List---- | The public DNS name assigned to the instance. This name is not available--- until the instance enters the 'running' state.-i1PublicDnsName :: Lens' Instance (Maybe Text)-i1PublicDnsName = lens _i1PublicDnsName (\s a -> s { _i1PublicDnsName = a })---- | The public IP address assigned to the instance.-i1PublicIpAddress :: Lens' Instance (Maybe Text)-i1PublicIpAddress =-    lens _i1PublicIpAddress (\s a -> s { _i1PublicIpAddress = a })---- | The RAM disk associated with this instance.-i1RamdiskId :: Lens' Instance (Maybe Text)-i1RamdiskId = lens _i1RamdiskId (\s a -> s { _i1RamdiskId = a })---- | The root device name (for example, '/dev/sda1' or '/dev/xvda').-i1RootDeviceName :: Lens' Instance (Maybe Text)-i1RootDeviceName = lens _i1RootDeviceName (\s a -> s { _i1RootDeviceName = a })---- | The root device type used by the AMI. The AMI can use an EBS volume or an--- instance store volume.-i1RootDeviceType :: Lens' Instance DeviceType-i1RootDeviceType = lens _i1RootDeviceType (\s a -> s { _i1RootDeviceType = a })---- | One or more security groups for the instance.-i1SecurityGroups :: Lens' Instance [GroupIdentifier]-i1SecurityGroups = lens _i1SecurityGroups (\s a -> s { _i1SecurityGroups = a }) . _List---- | 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/.-i1SourceDestCheck :: Lens' Instance (Maybe Bool)-i1SourceDestCheck =-    lens _i1SourceDestCheck (\s a -> s { _i1SourceDestCheck = a })---- | The ID of the Spot Instance request.-i1SpotInstanceRequestId :: Lens' Instance (Maybe Text)-i1SpotInstanceRequestId =-    lens _i1SpotInstanceRequestId (\s a -> s { _i1SpotInstanceRequestId = a })---- | Specifies whether enhanced networking is enabled.-i1SriovNetSupport :: Lens' Instance (Maybe Text)-i1SriovNetSupport =-    lens _i1SriovNetSupport (\s a -> s { _i1SriovNetSupport = a })---- | The current state of the instance.-i1State :: Lens' Instance InstanceState-i1State = lens _i1State (\s a -> s { _i1State = a })---- | The reason for the most recent state transition.-i1StateReason :: Lens' Instance (Maybe StateReason)-i1StateReason = lens _i1StateReason (\s a -> s { _i1StateReason = a })---- | The reason for the most recent state transition. This might be an empty--- string.-i1StateTransitionReason :: Lens' Instance (Maybe Text)-i1StateTransitionReason =-    lens _i1StateTransitionReason (\s a -> s { _i1StateTransitionReason = a })---- | The ID of the subnet in which the instance is running.-i1SubnetId :: Lens' Instance (Maybe Text)-i1SubnetId = lens _i1SubnetId (\s a -> s { _i1SubnetId = a })---- | Any tags assigned to the instance.-i1Tags :: Lens' Instance [Tag]-i1Tags = lens _i1Tags (\s a -> s { _i1Tags = a }) . _List---- | The virtualization type of the instance.-i1VirtualizationType :: Lens' Instance VirtualizationType-i1VirtualizationType =-    lens _i1VirtualizationType (\s a -> s { _i1VirtualizationType = a })---- | The ID of the VPC in which the instance is running.-i1VpcId :: Lens' Instance (Maybe Text)-i1VpcId = lens _i1VpcId (\s a -> s { _i1VpcId = a })--instance FromXML Instance where-    parseXML x = Instance-        <$> x .@  "amiLaunchIndex"-        <*> x .@  "architecture"-        <*> x .@? "blockDeviceMapping" .!@ mempty-        <*> x .@? "clientToken"-        <*> x .@  "ebsOptimized"-        <*> x .@  "hypervisor"-        <*> x .@? "iamInstanceProfile"-        <*> x .@  "imageId"-        <*> x .@  "instanceId"-        <*> x .@? "instanceLifecycle"-        <*> x .@  "instanceType"-        <*> x .@? "kernelId"-        <*> x .@? "keyName"-        <*> x .@  "launchTime"-        <*> x .@  "monitoring"-        <*> x .@? "networkInterfaceSet" .!@ mempty-        <*> x .@  "placement"-        <*> x .@? "platform"-        <*> x .@? "privateDnsName"-        <*> x .@? "privateIpAddress"-        <*> x .@? "productCodes" .!@ mempty-        <*> x .@? "dnsName"-        <*> x .@? "ipAddress"-        <*> x .@? "ramdiskId"-        <*> x .@? "rootDeviceName"-        <*> x .@  "rootDeviceType"-        <*> x .@? "groupSet" .!@ mempty-        <*> x .@? "sourceDestCheck"-        <*> x .@? "spotInstanceRequestId"-        <*> x .@? "sriovNetSupport"-        <*> x .@  "instanceState"-        <*> x .@? "stateReason"-        <*> x .@? "reason"-        <*> x .@? "subnetId"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@  "virtualizationType"-        <*> x .@? "vpcId"--instance ToQuery Instance where-    toQuery Instance{..} = mconcat-        [ "AmiLaunchIndex"        =? _i1AmiLaunchIndex-        , "Architecture"          =? _i1Architecture-        , "BlockDeviceMapping"    `toQueryList` _i1BlockDeviceMappings-        , "ClientToken"           =? _i1ClientToken-        , "EbsOptimized"          =? _i1EbsOptimized-        , "Hypervisor"            =? _i1Hypervisor-        , "IamInstanceProfile"    =? _i1IamInstanceProfile-        , "ImageId"               =? _i1ImageId-        , "InstanceId"            =? _i1InstanceId-        , "InstanceLifecycle"     =? _i1InstanceLifecycle-        , "InstanceType"          =? _i1InstanceType-        , "KernelId"              =? _i1KernelId-        , "KeyName"               =? _i1KeyName-        , "LaunchTime"            =? _i1LaunchTime-        , "Monitoring"            =? _i1Monitoring-        , "NetworkInterfaceSet"   `toQueryList` _i1NetworkInterfaces-        , "Placement"             =? _i1Placement-        , "Platform"              =? _i1Platform-        , "PrivateDnsName"        =? _i1PrivateDnsName-        , "PrivateIpAddress"      =? _i1PrivateIpAddress-        , "ProductCodes"          `toQueryList` _i1ProductCodes-        , "DnsName"               =? _i1PublicDnsName-        , "IpAddress"             =? _i1PublicIpAddress-        , "RamdiskId"             =? _i1RamdiskId-        , "RootDeviceName"        =? _i1RootDeviceName-        , "RootDeviceType"        =? _i1RootDeviceType-        , "GroupSet"              `toQueryList` _i1SecurityGroups-        , "SourceDestCheck"       =? _i1SourceDestCheck-        , "SpotInstanceRequestId" =? _i1SpotInstanceRequestId-        , "SriovNetSupport"       =? _i1SriovNetSupport-        , "InstanceState"         =? _i1State-        , "StateReason"           =? _i1StateReason-        , "Reason"                =? _i1StateTransitionReason-        , "SubnetId"              =? _i1SubnetId-        , "TagSet"                `toQueryList` _i1Tags-        , "VirtualizationType"    =? _i1VirtualizationType-        , "VpcId"                 =? _i1VpcId-        ]--data ExportTask = ExportTask-    { _etDescription           :: Text-    , _etExportTaskId          :: Text-    , _etExportToS3Task        :: ExportToS3Task-    , _etInstanceExportDetails :: InstanceExportDetails-    , _etState                 :: ExportTaskState-    , _etStatusMessage         :: Text-    } deriving (Eq, Read, Show)---- | 'ExportTask' constructor.------ The fields accessible through corresponding lenses are:------ * 'etDescription' @::@ 'Text'------ * 'etExportTaskId' @::@ 'Text'------ * 'etExportToS3Task' @::@ 'ExportToS3Task'------ * 'etInstanceExportDetails' @::@ 'InstanceExportDetails'------ * 'etState' @::@ 'ExportTaskState'------ * 'etStatusMessage' @::@ 'Text'----exportTask :: Text -- ^ 'etExportTaskId'-           -> Text -- ^ 'etDescription'-           -> ExportTaskState -- ^ 'etState'-           -> Text -- ^ 'etStatusMessage'-           -> InstanceExportDetails -- ^ 'etInstanceExportDetails'-           -> ExportToS3Task -- ^ 'etExportToS3Task'-           -> ExportTask-exportTask p1 p2 p3 p4 p5 p6 = ExportTask-    { _etExportTaskId          = p1-    , _etDescription           = p2-    , _etState                 = p3-    , _etStatusMessage         = p4-    , _etInstanceExportDetails = p5-    , _etExportToS3Task        = p6-    }---- | 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 ToQuery ExportTask where-    toQuery ExportTask{..} = mconcat-        [ "Description"    =? _etDescription-        , "ExportTaskId"   =? _etExportTaskId-        , "ExportToS3"     =? _etExportToS3Task-        , "InstanceExport" =? _etInstanceExportDetails-        , "State"          =? _etState-        , "StatusMessage"  =? _etStatusMessage-        ]--data ResetImageAttributeName-    = RIANLaunchPermission -- ^ launchPermission-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ResetImageAttributeName--instance FromText ResetImageAttributeName where-    parser = takeLowerText >>= \case-        "launchpermission" -> pure RIANLaunchPermission-        e                  -> fail $-            "Failure parsing ResetImageAttributeName from " ++ show e--instance ToText ResetImageAttributeName where-    toText RIANLaunchPermission = "launchPermission"--instance ToByteString ResetImageAttributeName-instance ToHeader     ResetImageAttributeName-instance ToQuery      ResetImageAttributeName--instance FromXML ResetImageAttributeName where-    parseXML = parseXMLText "ResetImageAttributeName"--data RequestSpotLaunchSpecification = RequestSpotLaunchSpecification-    { _rslsAddressingType      :: Maybe Text-    , _rslsBlockDeviceMappings :: List "item" BlockDeviceMapping-    , _rslsEbsOptimized        :: Maybe Bool-    , _rslsIamInstanceProfile  :: Maybe IamInstanceProfileSpecification-    , _rslsImageId             :: Maybe Text-    , _rslsInstanceType        :: Maybe InstanceType-    , _rslsKernelId            :: Maybe Text-    , _rslsKeyName             :: Maybe Text-    , _rslsMonitoring          :: Maybe RunInstancesMonitoringEnabled-    , _rslsNetworkInterfaces   :: List "item" InstanceNetworkInterfaceSpecification-    , _rslsPlacement           :: Maybe SpotPlacement-    , _rslsRamdiskId           :: Maybe Text-    , _rslsSecurityGroupIds    :: List "item" Text-    , _rslsSecurityGroups      :: List "item" Text-    , _rslsSubnetId            :: Maybe Text-    , _rslsUserData            :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'RequestSpotLaunchSpecification' constructor.------ The fields accessible through corresponding lenses are:------ * 'rslsAddressingType' @::@ 'Maybe' 'Text'------ * 'rslsBlockDeviceMappings' @::@ ['BlockDeviceMapping']------ * 'rslsEbsOptimized' @::@ 'Maybe' 'Bool'------ * 'rslsIamInstanceProfile' @::@ 'Maybe' 'IamInstanceProfileSpecification'------ * 'rslsImageId' @::@ 'Maybe' 'Text'------ * 'rslsInstanceType' @::@ 'Maybe' 'InstanceType'------ * 'rslsKernelId' @::@ 'Maybe' 'Text'------ * 'rslsKeyName' @::@ 'Maybe' 'Text'------ * 'rslsMonitoring' @::@ 'Maybe' 'RunInstancesMonitoringEnabled'------ * 'rslsNetworkInterfaces' @::@ ['InstanceNetworkInterfaceSpecification']------ * 'rslsPlacement' @::@ 'Maybe' 'SpotPlacement'------ * 'rslsRamdiskId' @::@ 'Maybe' 'Text'------ * 'rslsSecurityGroupIds' @::@ ['Text']------ * 'rslsSecurityGroups' @::@ ['Text']------ * 'rslsSubnetId' @::@ 'Maybe' 'Text'------ * 'rslsUserData' @::@ 'Maybe' 'Text'----requestSpotLaunchSpecification :: RequestSpotLaunchSpecification-requestSpotLaunchSpecification = RequestSpotLaunchSpecification-    { _rslsImageId             = Nothing-    , _rslsKeyName             = Nothing-    , _rslsSecurityGroups      = mempty-    , _rslsUserData            = Nothing-    , _rslsAddressingType      = Nothing-    , _rslsInstanceType        = Nothing-    , _rslsPlacement           = Nothing-    , _rslsKernelId            = Nothing-    , _rslsRamdiskId           = Nothing-    , _rslsBlockDeviceMappings = mempty-    , _rslsSubnetId            = Nothing-    , _rslsNetworkInterfaces   = mempty-    , _rslsIamInstanceProfile  = Nothing-    , _rslsEbsOptimized        = Nothing-    , _rslsMonitoring          = Nothing-    , _rslsSecurityGroupIds    = mempty-    }---- | 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 })-        . _List---- | 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 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 })---- | The instance type.-rslsInstanceType :: Lens' RequestSpotLaunchSpecification (Maybe InstanceType)-rslsInstanceType = lens _rslsInstanceType (\s a -> s { _rslsInstanceType = a })---- | The ID of the kernel.-rslsKernelId :: Lens' RequestSpotLaunchSpecification (Maybe Text)-rslsKernelId = lens _rslsKernelId (\s a -> s { _rslsKernelId = a })---- | The name of the key pair.-rslsKeyName :: Lens' RequestSpotLaunchSpecification (Maybe Text)-rslsKeyName = lens _rslsKeyName (\s a -> s { _rslsKeyName = a })--rslsMonitoring :: Lens' RequestSpotLaunchSpecification (Maybe RunInstancesMonitoringEnabled)-rslsMonitoring = lens _rslsMonitoring (\s a -> s { _rslsMonitoring = a })---- | One or more network interfaces.-rslsNetworkInterfaces :: Lens' RequestSpotLaunchSpecification [InstanceNetworkInterfaceSpecification]-rslsNetworkInterfaces =-    lens _rslsNetworkInterfaces (\s a -> s { _rslsNetworkInterfaces = a })-        . _List---- | The placement information for the instance.-rslsPlacement :: Lens' RequestSpotLaunchSpecification (Maybe SpotPlacement)-rslsPlacement = lens _rslsPlacement (\s a -> s { _rslsPlacement = a })---- | The ID of the RAM disk.-rslsRamdiskId :: Lens' RequestSpotLaunchSpecification (Maybe Text)-rslsRamdiskId = lens _rslsRamdiskId (\s a -> s { _rslsRamdiskId = a })--rslsSecurityGroupIds :: Lens' RequestSpotLaunchSpecification [Text]-rslsSecurityGroupIds =-    lens _rslsSecurityGroupIds (\s a -> s { _rslsSecurityGroupIds = a })-        . _List--rslsSecurityGroups :: Lens' RequestSpotLaunchSpecification [Text]-rslsSecurityGroups =-    lens _rslsSecurityGroups (\s a -> s { _rslsSecurityGroups = a })-        . _List---- | 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 Base64-encoded MIME user data to make available to the instances.-rslsUserData :: Lens' RequestSpotLaunchSpecification (Maybe Text)-rslsUserData = lens _rslsUserData (\s a -> s { _rslsUserData = a })--instance FromXML RequestSpotLaunchSpecification where-    parseXML x = RequestSpotLaunchSpecification-        <$> x .@? "addressingType"-        <*> x .@? "blockDeviceMapping" .!@ mempty-        <*> x .@? "ebsOptimized"-        <*> x .@? "iamInstanceProfile"-        <*> x .@? "imageId"-        <*> x .@? "instanceType"-        <*> x .@? "kernelId"-        <*> x .@? "keyName"-        <*> x .@? "monitoring"-        <*> x .@? "NetworkInterface" .!@ mempty-        <*> x .@? "placement"-        <*> x .@? "ramdiskId"-        <*> x .@? "SecurityGroupId" .!@ mempty-        <*> x .@? "SecurityGroup" .!@ mempty-        <*> x .@? "subnetId"-        <*> x .@? "userData"--instance ToQuery RequestSpotLaunchSpecification where-    toQuery RequestSpotLaunchSpecification{..} = mconcat-        [ "AddressingType"     =? _rslsAddressingType-        , "BlockDeviceMapping" `toQueryList` _rslsBlockDeviceMappings-        , "EbsOptimized"       =? _rslsEbsOptimized-        , "IamInstanceProfile" =? _rslsIamInstanceProfile-        , "ImageId"            =? _rslsImageId-        , "InstanceType"       =? _rslsInstanceType-        , "KernelId"           =? _rslsKernelId-        , "KeyName"            =? _rslsKeyName-        , "Monitoring"         =? _rslsMonitoring-        , "NetworkInterface"   `toQueryList` _rslsNetworkInterfaces-        , "Placement"          =? _rslsPlacement-        , "RamdiskId"          =? _rslsRamdiskId-        , "SecurityGroupId"    `toQueryList` _rslsSecurityGroupIds-        , "SecurityGroup"      `toQueryList` _rslsSecurityGroups-        , "SubnetId"           =? _rslsSubnetId-        , "UserData"           =? _rslsUserData-        ]--newtype VolumeDetail = VolumeDetail-    { _vdSize :: Integer-    } deriving (Eq, Ord, Read, Show, Enum, Num, Integral, Real)---- | 'VolumeDetail' constructor.------ The fields accessible through corresponding lenses are:------ * 'vdSize' @::@ 'Integer'----volumeDetail :: Integer -- ^ 'vdSize'-             -> VolumeDetail-volumeDetail p1 = VolumeDetail-    { _vdSize = p1-    }---- | The size of the volume, in GiB.-vdSize :: Lens' VolumeDetail Integer-vdSize = lens _vdSize (\s a -> s { _vdSize = a })--instance FromXML VolumeDetail where-    parseXML x = VolumeDetail-        <$> x .@  "size"--instance ToQuery VolumeDetail where-    toQuery VolumeDetail{..} = mconcat-        [ "Size" =? _vdSize-        ]--data PricingDetail = PricingDetail-    { _pdCount :: Maybe Int-    , _pdPrice :: Maybe Double-    } deriving (Eq, Ord, Read, Show)---- | 'PricingDetail' constructor.------ The fields accessible through corresponding lenses are:------ * 'pdCount' @::@ 'Maybe' 'Int'------ * 'pdPrice' @::@ 'Maybe' 'Double'----pricingDetail :: PricingDetail-pricingDetail = PricingDetail-    { _pdPrice = Nothing-    , _pdCount = Nothing-    }---- | The number of instances 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 ToQuery PricingDetail where-    toQuery PricingDetail{..} = mconcat-        [ "Count" =? _pdCount-        , "Price" =? _pdPrice-        ]--data NetworkInterfacePrivateIpAddress = NetworkInterfacePrivateIpAddress-    { _nipiaAssociation      :: Maybe NetworkInterfaceAssociation-    , _nipiaPrimary          :: Maybe Bool-    , _nipiaPrivateDnsName   :: Maybe Text-    , _nipiaPrivateIpAddress :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'NetworkInterfacePrivateIpAddress' constructor.------ The fields accessible through corresponding lenses are:------ * 'nipiaAssociation' @::@ 'Maybe' 'NetworkInterfaceAssociation'------ * 'nipiaPrimary' @::@ 'Maybe' 'Bool'------ * 'nipiaPrivateDnsName' @::@ 'Maybe' 'Text'------ * 'nipiaPrivateIpAddress' @::@ 'Maybe' 'Text'----networkInterfacePrivateIpAddress :: NetworkInterfacePrivateIpAddress-networkInterfacePrivateIpAddress = NetworkInterfacePrivateIpAddress-    { _nipiaPrivateIpAddress = Nothing-    , _nipiaPrivateDnsName   = Nothing-    , _nipiaPrimary          = Nothing-    , _nipiaAssociation      = Nothing-    }---- | 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 })---- | 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 DNS name.-nipiaPrivateDnsName :: Lens' NetworkInterfacePrivateIpAddress (Maybe Text)-nipiaPrivateDnsName =-    lens _nipiaPrivateDnsName (\s a -> s { _nipiaPrivateDnsName = a })---- | The private IP address.-nipiaPrivateIpAddress :: Lens' NetworkInterfacePrivateIpAddress (Maybe Text)-nipiaPrivateIpAddress =-    lens _nipiaPrivateIpAddress (\s a -> s { _nipiaPrivateIpAddress = a })--instance FromXML NetworkInterfacePrivateIpAddress where-    parseXML x = NetworkInterfacePrivateIpAddress-        <$> x .@? "association"-        <*> x .@? "primary"-        <*> x .@? "privateDnsName"-        <*> x .@? "privateIpAddress"--instance ToQuery NetworkInterfacePrivateIpAddress where-    toQuery NetworkInterfacePrivateIpAddress{..} = mconcat-        [ "Association"      =? _nipiaAssociation-        , "Primary"          =? _nipiaPrimary-        , "PrivateDnsName"   =? _nipiaPrivateDnsName-        , "PrivateIpAddress" =? _nipiaPrivateIpAddress-        ]--data DiskImageFormat-    = Raw  -- ^ RAW-    | Vhd  -- ^ VHD-    | Vmdk -- ^ VMDK-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable DiskImageFormat--instance FromText DiskImageFormat where-    parser = takeLowerText >>= \case-        "raw"  -> pure Raw-        "vhd"  -> pure Vhd-        "vmdk" -> pure Vmdk-        e      -> fail $-            "Failure parsing DiskImageFormat from " ++ show e--instance ToText DiskImageFormat where-    toText = \case-        Raw  -> "RAW"-        Vhd  -> "VHD"-        Vmdk -> "VMDK"--instance ToByteString DiskImageFormat-instance ToHeader     DiskImageFormat-instance ToQuery      DiskImageFormat--instance FromXML DiskImageFormat where-    parseXML = parseXMLText "DiskImageFormat"--data BundleTaskError = BundleTaskError-    { _bteCode    :: Maybe Text-    , _bteMessage :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'BundleTaskError' constructor.------ The fields accessible through corresponding lenses are:------ * 'bteCode' @::@ 'Maybe' 'Text'------ * 'bteMessage' @::@ 'Maybe' 'Text'----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 ToQuery BundleTaskError where-    toQuery BundleTaskError{..} = mconcat-        [ "Code"    =? _bteCode-        , "Message" =? _bteMessage-        ]--data VpcClassicLink = VpcClassicLink-    { _vclClassicLinkEnabled :: Maybe Bool-    , _vclTags               :: List "item" Tag-    , _vclVpcId              :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'VpcClassicLink' constructor.------ The fields accessible through corresponding lenses are:------ * 'vclClassicLinkEnabled' @::@ 'Maybe' 'Bool'------ * 'vclTags' @::@ ['Tag']------ * 'vclVpcId' @::@ 'Maybe' 'Text'----vpcClassicLink :: VpcClassicLink-vpcClassicLink = VpcClassicLink-    { _vclVpcId              = Nothing-    , _vclClassicLinkEnabled = Nothing-    , _vclTags               = mempty-    }---- | Indicates whether the VPC is enabled for ClassicLink.-vclClassicLinkEnabled :: Lens' VpcClassicLink (Maybe Bool)-vclClassicLinkEnabled =-    lens _vclClassicLinkEnabled (\s a -> s { _vclClassicLinkEnabled = a })---- | Any tags assigned to the VPC.-vclTags :: Lens' VpcClassicLink [Tag]-vclTags = lens _vclTags (\s a -> s { _vclTags = a }) . _List---- | The ID of the VPC.-vclVpcId :: Lens' VpcClassicLink (Maybe Text)-vclVpcId = lens _vclVpcId (\s a -> s { _vclVpcId = a })--instance FromXML VpcClassicLink where-    parseXML x = VpcClassicLink-        <$> x .@? "classicLinkEnabled"-        <*> x .@? "tagSet" .!@ mempty-        <*> x .@? "vpcId"--instance ToQuery VpcClassicLink where-    toQuery VpcClassicLink{..} = mconcat-        [ "ClassicLinkEnabled" =? _vclClassicLinkEnabled-        , "TagSet"             `toQueryList` _vclTags-        , "VpcId"              =? _vclVpcId-        ]--data VolumeStatusItem = VolumeStatusItem-    { _vsiActions          :: List "item" VolumeStatusAction-    , _vsiAvailabilityZone :: Maybe Text-    , _vsiEvents           :: List "item" VolumeStatusEvent-    , _vsiVolumeId         :: Maybe Text-    , _vsiVolumeStatus     :: Maybe VolumeStatusInfo-    } deriving (Eq, Read, Show)---- | 'VolumeStatusItem' constructor.------ The fields accessible through corresponding lenses are:------ * 'vsiActions' @::@ ['VolumeStatusAction']------ * 'vsiAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'vsiEvents' @::@ ['VolumeStatusEvent']------ * 'vsiVolumeId' @::@ 'Maybe' 'Text'------ * 'vsiVolumeStatus' @::@ 'Maybe' 'VolumeStatusInfo'----volumeStatusItem :: VolumeStatusItem-volumeStatusItem = VolumeStatusItem-    { _vsiVolumeId         = Nothing-    , _vsiAvailabilityZone = Nothing-    , _vsiVolumeStatus     = Nothing-    , _vsiEvents           = mempty-    , _vsiActions          = mempty-    }---- | The details of the operation.-vsiActions :: Lens' VolumeStatusItem [VolumeStatusAction]-vsiActions = lens _vsiActions (\s a -> s { _vsiActions = a }) . _List---- | The Availability Zone of the volume.-vsiAvailabilityZone :: Lens' VolumeStatusItem (Maybe Text)-vsiAvailabilityZone =-    lens _vsiAvailabilityZone (\s a -> s { _vsiAvailabilityZone = a })---- | A list of events associated with the volume.-vsiEvents :: Lens' VolumeStatusItem [VolumeStatusEvent]-vsiEvents = lens _vsiEvents (\s a -> s { _vsiEvents = a }) . _List---- | The volume ID.-vsiVolumeId :: Lens' VolumeStatusItem (Maybe Text)-vsiVolumeId = lens _vsiVolumeId (\s a -> s { _vsiVolumeId = a })---- | The volume status.-vsiVolumeStatus :: Lens' VolumeStatusItem (Maybe VolumeStatusInfo)-vsiVolumeStatus = lens _vsiVolumeStatus (\s a -> s { _vsiVolumeStatus = a })--instance FromXML VolumeStatusItem where-    parseXML x = VolumeStatusItem-        <$> x .@? "actionsSet" .!@ mempty-        <*> x .@? "availabilityZone"-        <*> x .@? "eventsSet" .!@ mempty-        <*> x .@? "volumeId"-        <*> x .@? "volumeStatus"--instance ToQuery VolumeStatusItem where-    toQuery VolumeStatusItem{..} = mconcat-        [ "ActionsSet"       `toQueryList` _vsiActions-        , "AvailabilityZone" =? _vsiAvailabilityZone-        , "EventsSet"        `toQueryList` _vsiEvents-        , "VolumeId"         =? _vsiVolumeId-        , "VolumeStatus"     =? _vsiVolumeStatus-        ]+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.Types+-- 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+    (+    -- * Service+      EC2++    -- * Errors++    -- * AccountAttributeName+    , AccountAttributeName (..)++    -- * AddressStatus+    , AddressStatus (..)++    -- * ArchitectureValues+    , ArchitectureValues (..)++    -- * AttachmentStatus+    , AttachmentStatus (..)++    -- * AvailabilityZoneState+    , AvailabilityZoneState (..)++    -- * BatchState+    , BatchState (..)++    -- * BundleTaskState+    , BundleTaskState (..)++    -- * CancelBatchErrorCode+    , CancelBatchErrorCode (..)++    -- * CancelSpotInstanceRequestState+    , CancelSpotInstanceRequestState (..)++    -- * ContainerFormat+    , ContainerFormat (..)++    -- * ConversionTaskState+    , ConversionTaskState (..)++    -- * CurrencyCodeValues+    , CurrencyCodeValues (..)++    -- * DatafeedSubscriptionState+    , DatafeedSubscriptionState (..)++    -- * DeviceType+    , DeviceType (..)++    -- * DiskImageFormat+    , DiskImageFormat (..)++    -- * DomainType+    , DomainType (..)++    -- * EventCode+    , EventCode (..)++    -- * EventType+    , EventType (..)++    -- * ExportEnvironment+    , ExportEnvironment (..)++    -- * ExportTaskState+    , ExportTaskState (..)++    -- * FlowLogsResourceType+    , FlowLogsResourceType (..)++    -- * GatewayType+    , GatewayType (..)++    -- * HypervisorType+    , HypervisorType (..)++    -- * ImageAttributeName+    , ImageAttributeName (..)++    -- * ImageState+    , ImageState (..)++    -- * ImageTypeValues+    , ImageTypeValues (..)++    -- * InstanceAttributeName+    , InstanceAttributeName (..)++    -- * InstanceLifecycleType+    , InstanceLifecycleType (..)++    -- * InstanceStateName+    , InstanceStateName (..)++    -- * InstanceType+    , InstanceType (..)++    -- * ListingState+    , ListingState (..)++    -- * ListingStatus+    , ListingStatus (..)++    -- * MonitoringState+    , MonitoringState (..)++    -- * MoveStatus+    , MoveStatus (..)++    -- * NetworkInterfaceAttribute+    , NetworkInterfaceAttribute (..)++    -- * NetworkInterfaceStatus+    , NetworkInterfaceStatus (..)++    -- * OfferingTypeValues+    , OfferingTypeValues (..)++    -- * PermissionGroup+    , PermissionGroup (..)++    -- * PlacementGroupState+    , PlacementGroupState (..)++    -- * PlacementStrategy+    , PlacementStrategy (..)++    -- * PlatformValues+    , PlatformValues (..)++    -- * ProductCodeValues+    , ProductCodeValues (..)++    -- * RIProductDescription+    , RIProductDescription (..)++    -- * RecurringChargeFrequency+    , RecurringChargeFrequency (..)++    -- * ReportInstanceReasonCodes+    , ReportInstanceReasonCodes (..)++    -- * ReportStatusType+    , ReportStatusType (..)++    -- * ReservedInstanceState+    , ReservedInstanceState (..)++    -- * ResetImageAttributeName+    , ResetImageAttributeName (..)++    -- * ResourceType+    , ResourceType (..)++    -- * RouteOrigin+    , RouteOrigin (..)++    -- * RouteState+    , RouteState (..)++    -- * RuleAction+    , RuleAction (..)++    -- * ShutdownBehavior+    , ShutdownBehavior (..)++    -- * SnapshotAttributeName+    , SnapshotAttributeName (..)++    -- * SnapshotState+    , SnapshotState (..)++    -- * SpotInstanceState+    , SpotInstanceState (..)++    -- * SpotInstanceType+    , SpotInstanceType (..)++    -- * State+    , State (..)++    -- * StatusName+    , StatusName (..)++    -- * StatusType+    , StatusType (..)++    -- * SubnetState+    , SubnetState (..)++    -- * SummaryStatus+    , SummaryStatus (..)++    -- * TelemetryStatus+    , TelemetryStatus (..)++    -- * Tenancy+    , Tenancy (..)++    -- * TrafficType+    , TrafficType (..)++    -- * VPCAttributeName+    , VPCAttributeName (..)++    -- * VPCPeeringConnectionStateReasonCode+    , VPCPeeringConnectionStateReasonCode (..)++    -- * VPCState+    , VPCState (..)++    -- * VPNState+    , VPNState (..)++    -- * VPNStaticRouteSource+    , VPNStaticRouteSource (..)++    -- * VirtualizationType+    , VirtualizationType (..)++    -- * VolumeAttachmentState+    , VolumeAttachmentState (..)++    -- * VolumeAttributeName+    , VolumeAttributeName (..)++    -- * VolumeState+    , VolumeState (..)++    -- * VolumeStatusInfoStatus+    , VolumeStatusInfoStatus (..)++    -- * VolumeStatusName+    , VolumeStatusName (..)++    -- * VolumeType+    , VolumeType (..)++    -- * AccountAttribute+    , AccountAttribute+    , accountAttribute+    , aaAttributeValues+    , aaAttributeName++    -- * AccountAttributeValue+    , AccountAttributeValue+    , accountAttributeValue+    , aavAttributeValue++    -- * ActiveInstance+    , ActiveInstance+    , activeInstance+    , aiInstanceId+    , aiInstanceType+    , aiSpotInstanceRequestId++    -- * Address+    , Address+    , address+    , aInstanceId+    , aAssociationId+    , aNetworkInterfaceOwnerId+    , aAllocationId+    , aDomain+    , aNetworkInterfaceId+    , aPrivateIPAddress+    , aPublicIP++    -- * AttributeBooleanValue+    , AttributeBooleanValue+    , attributeBooleanValue+    , abvValue++    -- * AttributeValue+    , AttributeValue+    , attributeValue+    , avValue++    -- * AvailabilityZone+    , AvailabilityZone+    , availabilityZone+    , azRegionName+    , azState+    , azZoneName+    , azMessages++    -- * AvailabilityZoneMessage+    , AvailabilityZoneMessage+    , availabilityZoneMessage+    , azmMessage++    -- * BlobAttributeValue+    , BlobAttributeValue+    , blobAttributeValue+    , bavValue++    -- * BlockDeviceMapping+    , BlockDeviceMapping+    , blockDeviceMapping+    , bdmVirtualName+    , bdmNoDevice+    , bdmEBS+    , bdmDeviceName++    -- * BundleTask+    , BundleTask+    , bundleTask+    , btBundleTaskError+    , btBundleId+    , btInstanceId+    , btProgress+    , btStartTime+    , btState+    , btStorage+    , btUpdateTime++    -- * BundleTaskError+    , BundleTaskError+    , bundleTaskError+    , bteCode+    , bteMessage++    -- * CancelSpotFleetRequestsError+    , CancelSpotFleetRequestsError+    , cancelSpotFleetRequestsError+    , csfreCode+    , csfreMessage++    -- * CancelSpotFleetRequestsErrorItem+    , CancelSpotFleetRequestsErrorItem+    , cancelSpotFleetRequestsErrorItem+    , csfreiSpotFleetRequestId+    , csfreiError++    -- * CancelSpotFleetRequestsSuccessItem+    , CancelSpotFleetRequestsSuccessItem+    , cancelSpotFleetRequestsSuccessItem+    , csfrsiSpotFleetRequestId+    , csfrsiCurrentSpotFleetRequestState+    , csfrsiPreviousSpotFleetRequestState++    -- * CancelledSpotInstanceRequest+    , CancelledSpotInstanceRequest+    , cancelledSpotInstanceRequest+    , csirState+    , csirSpotInstanceRequestId++    -- * ClassicLinkInstance+    , ClassicLinkInstance+    , classicLinkInstance+    , cliInstanceId+    , cliGroups+    , cliVPCId+    , cliTags++    -- * ClientData+    , ClientData+    , clientData+    , cdUploadStart+    , cdUploadSize+    , cdUploadEnd+    , cdComment++    -- * ConversionTask+    , ConversionTask+    , conversionTask+    , ctImportInstance+    , ctStatusMessage+    , ctImportVolume+    , ctExpirationTime+    , ctTags+    , ctConversionTaskId+    , ctState++    -- * CreateVolumePermission+    , CreateVolumePermission+    , createVolumePermission+    , cvpGroup+    , cvpUserId++    -- * CreateVolumePermissionModifications+    , CreateVolumePermissionModifications+    , createVolumePermissionModifications+    , cvpmRemove+    , cvpmAdd++    -- * CustomerGateway+    , CustomerGateway+    , customerGateway+    , cgTags+    , cgBGPASN+    , cgCustomerGatewayId+    , cgIPAddress+    , cgState+    , cgType++    -- * DHCPConfiguration+    , DHCPConfiguration+    , dhcpConfiguration+    , dcValues+    , dcKey++    -- * DHCPOptions+    , DHCPOptions+    , dhcpOptions+    , doDHCPConfigurations+    , doDHCPOptionsId+    , doTags++    -- * DiskImage+    , DiskImage+    , diskImage+    , diImage+    , diVolume+    , diDescription++    -- * DiskImageDescription+    , DiskImageDescription+    , diskImageDescription+    , dChecksum+    , dFormat+    , dSize+    , dImportManifestURL++    -- * DiskImageDetail+    , DiskImageDetail+    , diskImageDetail+    , didFormat+    , didBytes+    , didImportManifestURL++    -- * DiskImageVolumeDescription+    , DiskImageVolumeDescription+    , diskImageVolumeDescription+    , divdSize+    , divdId++    -- * EBSBlockDevice+    , EBSBlockDevice+    , ebsBlockDevice+    , ebdDeleteOnTermination+    , ebdVolumeSize+    , ebdIOPS+    , ebdEncrypted+    , ebdVolumeType+    , ebdSnapshotId++    -- * EBSInstanceBlockDevice+    , EBSInstanceBlockDevice+    , ebsInstanceBlockDevice+    , eibdDeleteOnTermination+    , eibdStatus+    , eibdVolumeId+    , eibdAttachTime++    -- * EBSInstanceBlockDeviceSpecification+    , EBSInstanceBlockDeviceSpecification+    , ebsInstanceBlockDeviceSpecification+    , eibdsDeleteOnTermination+    , eibdsVolumeId++    -- * EventInformation+    , EventInformation+    , eventInformation+    , eiInstanceId+    , eiEventDescription+    , eiEventSubType++    -- * ExportTask+    , ExportTask+    , exportTask+    , etDescription+    , etExportTaskId+    , etExportToS3Task+    , etInstanceExportDetails+    , etState+    , etStatusMessage++    -- * ExportToS3Task+    , ExportToS3Task+    , exportToS3Task+    , etstS3Key+    , etstContainerFormat+    , etstS3Bucket+    , etstDiskImageFormat++    -- * ExportToS3TaskSpecification+    , ExportToS3TaskSpecification+    , exportToS3TaskSpecification+    , etstsContainerFormat+    , etstsS3Prefix+    , etstsS3Bucket+    , etstsDiskImageFormat++    -- * Filter+    , Filter+    , filter'+    , fValues+    , fName++    -- * FlowLog+    , FlowLog+    , flowLog+    , flCreationTime+    , flResourceId+    , flFlowLogStatus+    , flTrafficType+    , flDeliverLogsStatus+    , flDeliverLogsErrorMessage+    , flDeliverLogsPermissionARN+    , flLogGroupName+    , flFlowLogId++    -- * GroupIdentifier+    , GroupIdentifier+    , groupIdentifier+    , giGroupId+    , giGroupName++    -- * HistoryRecord+    , HistoryRecord+    , historyRecord+    , hrTimestamp+    , hrEventType+    , hrEventInformation++    -- * IAMInstanceProfile+    , IAMInstanceProfile+    , iamInstanceProfile+    , iapARN+    , iapId++    -- * IAMInstanceProfileSpecification+    , IAMInstanceProfileSpecification+    , iamInstanceProfileSpecification+    , iapsARN+    , iapsName++    -- * ICMPTypeCode+    , ICMPTypeCode+    , icmpTypeCode+    , itcCode+    , itcType++    -- * IPPermission+    , IPPermission+    , ipPermission+    , ipFromPort+    , ipUserIdGroupPairs+    , ipPrefixListIds+    , ipToPort+    , ipIPRanges+    , ipIPProtocol++    -- * IPRange+    , IPRange+    , ipRange+    , irCIdRIP++    -- * Image+    , Image+    , image+    , iPlatform+    , iImageOwnerAlias+    , iRAMDiskId+    , iKernelId+    , iRootDeviceName+    , iSRIOVNetSupport+    , iName+    , iCreationDate+    , iProductCodes+    , iStateReason+    , iBlockDeviceMappings+    , iDescription+    , iTags+    , iImageId+    , iImageLocation+    , iState+    , iOwnerId+    , iPublic+    , iArchitecture+    , iImageType+    , iRootDeviceType+    , iVirtualizationType+    , iHypervisor++    -- * ImageDiskContainer+    , ImageDiskContainer+    , imageDiskContainer+    , idcURL+    , idcFormat+    , idcDeviceName+    , idcUserBucket+    , idcDescription+    , idcSnapshotId++    -- * ImportImageTask+    , ImportImageTask+    , importImageTask+    , iitStatus+    , iitHypervisor+    , iitPlatform+    , iitProgress+    , iitLicenseType+    , iitSnapshotDetails+    , iitStatusMessage+    , iitImageId+    , iitImportTaskId+    , iitArchitecture+    , iitDescription++    -- * ImportInstanceLaunchSpecification+    , ImportInstanceLaunchSpecification+    , importInstanceLaunchSpecification+    , iilsAdditionalInfo+    , iilsGroupNames+    , iilsSubnetId+    , iilsGroupIds+    , iilsInstanceType+    , iilsUserData+    , iilsMonitoring+    , iilsInstanceInitiatedShutdownBehavior+    , iilsPrivateIPAddress+    , iilsArchitecture+    , iilsPlacement++    -- * ImportInstanceTaskDetails+    , ImportInstanceTaskDetails+    , importInstanceTaskDetails+    , iitdInstanceId+    , iitdPlatform+    , iitdDescription+    , iitdVolumes++    -- * ImportInstanceVolumeDetailItem+    , ImportInstanceVolumeDetailItem+    , importInstanceVolumeDetailItem+    , iivdiStatusMessage+    , iivdiDescription+    , iivdiBytesConverted+    , iivdiAvailabilityZone+    , iivdiImage+    , iivdiVolume+    , iivdiStatus++    -- * ImportSnapshotTask+    , ImportSnapshotTask+    , importSnapshotTask+    , istSnapshotTaskDetail+    , istImportTaskId+    , istDescription++    -- * ImportVolumeTaskDetails+    , ImportVolumeTaskDetails+    , importVolumeTaskDetails+    , ivtdDescription+    , ivtdBytesConverted+    , ivtdAvailabilityZone+    , ivtdImage+    , ivtdVolume++    -- * Instance+    , Instance+    , instance'+    , insPublicDNSName+    , insPlatform+    , insSecurityGroups+    , insClientToken+    , insSourceDestCheck+    , insVPCId+    , insNetworkInterfaces+    , insKeyName+    , insRAMDiskId+    , insKernelId+    , insSubnetId+    , insRootDeviceName+    , insEBSOptimized+    , insSRIOVNetSupport+    , insStateTransitionReason+    , insIAMInstanceProfile+    , insInstanceLifecycle+    , insPrivateIPAddress+    , insProductCodes+    , insSpotInstanceRequestId+    , insPrivateDNSName+    , insStateReason+    , insBlockDeviceMappings+    , insPublicIPAddress+    , insTags+    , insInstanceId+    , insImageId+    , insAMILaunchIndex+    , insInstanceType+    , insLaunchTime+    , insPlacement+    , insMonitoring+    , insArchitecture+    , insRootDeviceType+    , insVirtualizationType+    , insHypervisor+    , insState++    -- * InstanceBlockDeviceMapping+    , InstanceBlockDeviceMapping+    , instanceBlockDeviceMapping+    , ibdmEBS+    , ibdmDeviceName++    -- * InstanceBlockDeviceMappingSpecification+    , InstanceBlockDeviceMappingSpecification+    , instanceBlockDeviceMappingSpecification+    , ibdmsVirtualName+    , ibdmsNoDevice+    , ibdmsEBS+    , ibdmsDeviceName++    -- * InstanceCount+    , InstanceCount+    , instanceCount+    , icState+    , icInstanceCount++    -- * InstanceExportDetails+    , InstanceExportDetails+    , instanceExportDetails+    , iedInstanceId+    , iedTargetEnvironment++    -- * InstanceMonitoring+    , InstanceMonitoring+    , instanceMonitoring+    , imInstanceId+    , imMonitoring++    -- * InstanceNetworkInterface+    , InstanceNetworkInterface+    , instanceNetworkInterface+    , iniPrivateIPAddresses+    , iniStatus+    , iniGroups+    , iniSourceDestCheck+    , iniVPCId+    , iniNetworkInterfaceId+    , iniSubnetId+    , iniAttachment+    , iniMACAddress+    , iniOwnerId+    , iniPrivateIPAddress+    , iniPrivateDNSName+    , iniDescription+    , iniAssociation++    -- * InstanceNetworkInterfaceAssociation+    , InstanceNetworkInterfaceAssociation+    , instanceNetworkInterfaceAssociation+    , iniaPublicDNSName+    , iniaIPOwnerId+    , iniaPublicIP++    -- * InstanceNetworkInterfaceAttachment+    , InstanceNetworkInterfaceAttachment+    , instanceNetworkInterfaceAttachment+    , iniaDeleteOnTermination+    , iniaStatus+    , iniaAttachmentId+    , iniaAttachTime+    , iniaDeviceIndex++    -- * InstanceNetworkInterfaceSpecification+    , InstanceNetworkInterfaceSpecification+    , instanceNetworkInterfaceSpecification+    , inisPrivateIPAddresses+    , inisDeleteOnTermination+    , inisGroups+    , inisAssociatePublicIPAddress+    , inisNetworkInterfaceId+    , inisSubnetId+    , inisPrivateIPAddress+    , inisSecondaryPrivateIPAddressCount+    , inisDeviceIndex+    , inisDescription++    -- * InstancePrivateIPAddress+    , InstancePrivateIPAddress+    , instancePrivateIPAddress+    , ipiaPrimary+    , ipiaPrivateIPAddress+    , ipiaPrivateDNSName+    , ipiaAssociation++    -- * InstanceState+    , InstanceState+    , instanceState+    , isName+    , isCode++    -- * InstanceStateChange+    , InstanceStateChange+    , instanceStateChange+    , iscInstanceId+    , iscCurrentState+    , iscPreviousState++    -- * InstanceStatus+    , InstanceStatus+    , instanceStatus+    , isInstanceId+    , isSystemStatus+    , isAvailabilityZone+    , isEvents+    , isInstanceStatus+    , isInstanceState++    -- * InstanceStatusDetails+    , InstanceStatusDetails+    , instanceStatusDetails+    , isdStatus+    , isdImpairedSince+    , isdName++    -- * InstanceStatusEvent+    , InstanceStatusEvent+    , instanceStatusEvent+    , iseNotBefore+    , iseCode+    , iseDescription+    , iseNotAfter++    -- * InstanceStatusSummary+    , InstanceStatusSummary+    , instanceStatusSummary+    , issDetails+    , issStatus++    -- * InternetGateway+    , InternetGateway+    , internetGateway+    , igAttachments+    , igTags+    , igInternetGatewayId++    -- * InternetGatewayAttachment+    , InternetGatewayAttachment+    , internetGatewayAttachment+    , igaState+    , igaVPCId++    -- * KeyPairInfo+    , KeyPairInfo+    , keyPairInfo+    , kpiKeyFingerprint+    , kpiKeyName++    -- * LaunchPermission+    , LaunchPermission+    , launchPermission+    , lpGroup+    , lpUserId++    -- * LaunchPermissionModifications+    , LaunchPermissionModifications+    , launchPermissionModifications+    , lpmRemove+    , lpmAdd++    -- * LaunchSpecification+    , LaunchSpecification+    , launchSpecification+    , lsSecurityGroups+    , lsNetworkInterfaces+    , lsKeyName+    , lsRAMDiskId+    , lsKernelId+    , lsSubnetId+    , lsInstanceType+    , lsEBSOptimized+    , lsUserData+    , lsMonitoring+    , lsIAMInstanceProfile+    , lsImageId+    , lsBlockDeviceMappings+    , lsAddressingType+    , lsPlacement++    -- * Monitoring+    , Monitoring+    , monitoring+    , mState++    -- * MovingAddressStatus+    , MovingAddressStatus+    , movingAddressStatus+    , masMoveStatus+    , masPublicIP++    -- * NetworkACL+    , NetworkACL+    , networkACL+    , naEntries+    , naNetworkACLId+    , naVPCId+    , naAssociations+    , naIsDefault+    , naTags++    -- * NetworkACLAssociation+    , NetworkACLAssociation+    , networkACLAssociation+    , naaNetworkACLId+    , naaSubnetId+    , naaNetworkACLAssociationId++    -- * NetworkACLEntry+    , NetworkACLEntry+    , networkACLEntry+    , naeICMPTypeCode+    , naeRuleNumber+    , naeRuleAction+    , naeProtocol+    , naePortRange+    , naeCIdRBlock+    , naeEgress++    -- * NetworkInterface+    , NetworkInterface+    , networkInterface+    , niPrivateIPAddresses+    , niStatus+    , niGroups+    , niSourceDestCheck+    , niTagSet+    , niVPCId+    , niRequesterManaged+    , niNetworkInterfaceId+    , niSubnetId+    , niAttachment+    , niMACAddress+    , niOwnerId+    , niAvailabilityZone+    , niPrivateIPAddress+    , niPrivateDNSName+    , niRequesterId+    , niDescription+    , niAssociation++    -- * NetworkInterfaceAssociation+    , NetworkInterfaceAssociation+    , networkInterfaceAssociation+    , niaAssociationId+    , niaPublicDNSName+    , niaAllocationId+    , niaIPOwnerId+    , niaPublicIP++    -- * NetworkInterfaceAttachment+    , NetworkInterfaceAttachment+    , networkInterfaceAttachment+    , niaInstanceId+    , niaDeleteOnTermination+    , niaStatus+    , niaAttachmentId+    , niaInstanceOwnerId+    , niaAttachTime+    , niaDeviceIndex++    -- * NetworkInterfaceAttachmentChanges+    , NetworkInterfaceAttachmentChanges+    , networkInterfaceAttachmentChanges+    , niacDeleteOnTermination+    , niacAttachmentId++    -- * NetworkInterfacePrivateIPAddress+    , NetworkInterfacePrivateIPAddress+    , networkInterfacePrivateIPAddress+    , nipiaPrimary+    , nipiaPrivateIPAddress+    , nipiaPrivateDNSName+    , nipiaAssociation++    -- * NewDHCPConfiguration+    , NewDHCPConfiguration+    , newDHCPConfiguration+    , ndcValues+    , ndcKey++    -- * Placement+    , Placement+    , placement+    , pAvailabilityZone+    , pTenancy+    , pGroupName++    -- * PlacementGroup+    , PlacementGroup+    , placementGroup+    , pgState+    , pgStrategy+    , pgGroupName++    -- * PortRange+    , PortRange+    , portRange+    , prTo+    , prFrom++    -- * PrefixList+    , PrefixList+    , prefixList+    , plCIdRs+    , plPrefixListId+    , plPrefixListName++    -- * PrefixListId+    , PrefixListId+    , prefixListId+    , pliPrefixListId++    -- * PriceSchedule+    , PriceSchedule+    , priceSchedule+    , psCurrencyCode+    , psTerm+    , psActive+    , psPrice++    -- * PriceScheduleSpecification+    , PriceScheduleSpecification+    , priceScheduleSpecification+    , pssCurrencyCode+    , pssTerm+    , pssPrice++    -- * PricingDetail+    , PricingDetail+    , pricingDetail+    , pdCount+    , pdPrice++    -- * PrivateIPAddressSpecification+    , PrivateIPAddressSpecification+    , privateIPAddressSpecification+    , piasPrimary+    , piasPrivateIPAddress++    -- * ProductCode+    , ProductCode+    , productCode+    , pcProductCodeType+    , pcProductCodeId++    -- * PropagatingVGW+    , PropagatingVGW+    , propagatingVGW+    , pvGatewayId++    -- * RecurringCharge+    , RecurringCharge+    , recurringCharge+    , rcFrequency+    , rcAmount++    -- * RegionInfo+    , RegionInfo+    , regionInfo+    , riRegionName+    , riEndpoint++    -- * RequestSpotLaunchSpecification+    , RequestSpotLaunchSpecification+    , requestSpotLaunchSpecification+    , rslsSecurityGroupIds+    , rslsSecurityGroups+    , rslsNetworkInterfaces+    , rslsKeyName+    , rslsRAMDiskId+    , rslsKernelId+    , rslsSubnetId+    , rslsInstanceType+    , rslsEBSOptimized+    , rslsUserData+    , rslsMonitoring+    , rslsIAMInstanceProfile+    , rslsImageId+    , rslsBlockDeviceMappings+    , rslsAddressingType+    , rslsPlacement++    -- * Reservation+    , Reservation+    , reservation+    , rGroups+    , rInstances+    , rRequesterId+    , rReservationId+    , rOwnerId++    -- * ReservedInstanceLimitPrice+    , ReservedInstanceLimitPrice+    , reservedInstanceLimitPrice+    , rilpAmount+    , rilpCurrencyCode++    -- * ReservedInstances+    , ReservedInstances+    , reservedInstances+    , riState+    , riCurrencyCode+    , riInstanceCount+    , riProductDescription+    , riStart+    , riInstanceType+    , riAvailabilityZone+    , riEnd+    , riOfferingType+    , riUsagePrice+    , riRecurringCharges+    , riInstanceTenancy+    , riFixedPrice+    , riReservedInstancesId+    , riDuration+    , riTags++    -- * ReservedInstancesConfiguration+    , ReservedInstancesConfiguration+    , reservedInstancesConfiguration+    , ricPlatform+    , ricInstanceCount+    , ricInstanceType+    , ricAvailabilityZone++    -- * ReservedInstancesId+    , ReservedInstancesId+    , reservedInstancesId+    , riiReservedInstancesId++    -- * ReservedInstancesListing+    , ReservedInstancesListing+    , reservedInstancesListing+    , rilStatus+    , rilClientToken+    , rilUpdateDate+    , rilCreateDate+    , rilPriceSchedules+    , rilStatusMessage+    , rilReservedInstancesId+    , rilInstanceCounts+    , rilReservedInstancesListingId+    , rilTags++    -- * ReservedInstancesModification+    , ReservedInstancesModification+    , reservedInstancesModification+    , rimModificationResults+    , rimStatus+    , rimClientToken+    , rimUpdateDate+    , rimCreateDate+    , rimEffectiveDate+    , rimStatusMessage+    , rimReservedInstancesModificationId+    , rimReservedInstancesIds++    -- * ReservedInstancesModificationResult+    , ReservedInstancesModificationResult+    , reservedInstancesModificationResult+    , rimrReservedInstancesId+    , rimrTargetConfiguration++    -- * ReservedInstancesOffering+    , ReservedInstancesOffering+    , reservedInstancesOffering+    , rioMarketplace+    , rioCurrencyCode+    , rioProductDescription+    , rioInstanceType+    , rioAvailabilityZone+    , rioPricingDetails+    , rioOfferingType+    , rioUsagePrice+    , rioRecurringCharges+    , rioReservedInstancesOfferingId+    , rioInstanceTenancy+    , rioFixedPrice+    , rioDuration++    -- * Route+    , Route+    , route+    , rInstanceId+    , rOrigin+    , rVPCPeeringConnectionId+    , rState+    , rNetworkInterfaceId+    , rGatewayId+    , rInstanceOwnerId+    , rDestinationPrefixListId+    , rDestinationCIdRBlock++    -- * RouteTable+    , RouteTable+    , routeTable+    , rtRoutes+    , rtRouteTableId+    , rtVPCId+    , rtPropagatingVGWs+    , rtAssociations+    , rtTags++    -- * RouteTableAssociation+    , RouteTableAssociation+    , routeTableAssociation+    , rtaRouteTableId+    , rtaRouteTableAssociationId+    , rtaMain+    , rtaSubnetId++    -- * RunInstancesMonitoringEnabled+    , RunInstancesMonitoringEnabled+    , runInstancesMonitoringEnabled+    , rimeEnabled++    -- * S3Storage+    , S3Storage+    , s3Storage+    , ssPrefix+    , ssUploadPolicy+    , ssBucket+    , ssUploadPolicySignature+    , ssAWSAccessKeyId++    -- * SecurityGroup+    , SecurityGroup+    , securityGroup+    , sgVPCId+    , sgIPPermissions+    , sgIPPermissionsEgress+    , sgTags+    , sgOwnerId+    , sgGroupId+    , sgGroupName+    , sgDescription++    -- * Snapshot+    , Snapshot+    , snapshot+    , sOwnerAlias+    , sKMSKeyId+    , sTags+    , sSnapshotId+    , sOwnerId+    , sVolumeId+    , sVolumeSize+    , sDescription+    , sStartTime+    , sProgress+    , sState+    , sEncrypted++    -- * SnapshotDetail+    , SnapshotDetail+    , snapshotDetail+    , sdStatus+    , sdProgress+    , sdURL+    , sdFormat+    , sdDeviceName+    , sdUserBucket+    , sdDiskImageSize+    , sdStatusMessage+    , sdDescription+    , sdSnapshotId++    -- * SnapshotDiskContainer+    , SnapshotDiskContainer+    , snapshotDiskContainer+    , sdcURL+    , sdcFormat+    , sdcUserBucket+    , sdcDescription++    -- * SnapshotTaskDetail+    , SnapshotTaskDetail+    , snapshotTaskDetail+    , stdStatus+    , stdProgress+    , stdURL+    , stdFormat+    , stdUserBucket+    , stdDiskImageSize+    , stdStatusMessage+    , stdDescription+    , stdSnapshotId++    -- * SpotDatafeedSubscription+    , SpotDatafeedSubscription+    , spotDatafeedSubscription+    , sdsState+    , sdsPrefix+    , sdsBucket+    , sdsOwnerId+    , sdsFault++    -- * SpotFleetLaunchSpecification+    , SpotFleetLaunchSpecification+    , spotFleetLaunchSpecification+    , sflsSecurityGroups+    , sflsNetworkInterfaces+    , sflsKeyName+    , sflsRAMDiskId+    , sflsKernelId+    , sflsSubnetId+    , sflsInstanceType+    , sflsEBSOptimized+    , sflsUserData+    , sflsMonitoring+    , sflsIAMInstanceProfile+    , sflsImageId+    , sflsBlockDeviceMappings+    , sflsAddressingType+    , sflsPlacement++    -- * SpotFleetMonitoring+    , SpotFleetMonitoring+    , spotFleetMonitoring+    , sfmEnabled++    -- * SpotFleetRequestConfig+    , SpotFleetRequestConfig+    , spotFleetRequestConfig+    , sfrcSpotFleetRequestId+    , sfrcSpotFleetRequestState+    , sfrcSpotFleetRequestConfig++    -- * SpotFleetRequestConfigData+    , SpotFleetRequestConfigData+    , spotFleetRequestConfigData+    , sfrcdClientToken+    , sfrcdValidUntil+    , sfrcdTerminateInstancesWithExpiration+    , sfrcdValidFrom+    , sfrcdSpotPrice+    , sfrcdTargetCapacity+    , sfrcdIAMFleetRole+    , sfrcdLaunchSpecifications++    -- * SpotInstanceRequest+    , SpotInstanceRequest+    , spotInstanceRequest+    , sirInstanceId+    , sirStatus+    , sirState+    , sirProductDescription+    , sirSpotPrice+    , sirAvailabilityZoneGroup+    , sirLaunchSpecification+    , sirLaunchedAvailabilityZone+    , sirValidUntil+    , sirFault+    , sirLaunchGroup+    , sirSpotInstanceRequestId+    , sirType+    , sirValidFrom+    , sirTags+    , sirCreateTime++    -- * SpotInstanceStateFault+    , SpotInstanceStateFault+    , spotInstanceStateFault+    , sisfCode+    , sisfMessage++    -- * SpotInstanceStatus+    , SpotInstanceStatus+    , spotInstanceStatus+    , sisUpdateTime+    , sisCode+    , sisMessage++    -- * SpotPlacement+    , SpotPlacement+    , spotPlacement+    , spAvailabilityZone+    , spGroupName++    -- * SpotPrice+    , SpotPrice+    , spotPrice+    , sProductDescription+    , sSpotPrice+    , sInstanceType+    , sAvailabilityZone+    , sTimestamp++    -- * StateReason+    , StateReason+    , stateReason+    , srCode+    , srMessage++    -- * Storage+    , Storage+    , storage+    , sS3++    -- * Subnet+    , Subnet+    , subnet+    , subTags+    , subAvailabilityZone+    , subAvailableIPAddressCount+    , subCIdRBlock+    , subDefaultForAz+    , subMapPublicIPOnLaunch+    , subState+    , subSubnetId+    , subVPCId++    -- * Tag+    , Tag+    , tag+    , tagKey+    , tagValue++    -- * TagDescription+    , TagDescription+    , tagDescription+    , tdResourceId+    , tdResourceType+    , tdKey+    , tdValue++    -- * UnsuccessfulItem+    , UnsuccessfulItem+    , unsuccessfulItem+    , uiResourceId+    , uiError++    -- * UnsuccessfulItemError+    , UnsuccessfulItemError+    , unsuccessfulItemError+    , uieCode+    , uieMessage++    -- * UserBucket+    , UserBucket+    , userBucket+    , ubS3Key+    , ubS3Bucket++    -- * UserBucketDetails+    , UserBucketDetails+    , userBucketDetails+    , ubdS3Key+    , ubdS3Bucket++    -- * UserData+    , UserData+    , userData+    , udData++    -- * UserIdGroupPair+    , UserIdGroupPair+    , userIdGroupPair+    , uigpUserId+    , uigpGroupId+    , uigpGroupName++    -- * VGWTelemetry+    , VGWTelemetry+    , vgwTelemetry+    , vtStatus+    , vtOutsideIPAddress+    , vtLastStatusChange+    , vtAcceptedRouteCount+    , vtStatusMessage++    -- * VPC+    , VPC+    , vpc+    , vpcTags+    , vpcCIdRBlock+    , vpcDHCPOptionsId+    , vpcInstanceTenancy+    , vpcIsDefault+    , vpcState+    , vpcVPCId++    -- * VPCAttachment+    , VPCAttachment+    , vpcAttachment+    , vaState+    , vaVPCId++    -- * VPCClassicLink+    , VPCClassicLink+    , vpcClassicLink+    , vclVPCId+    , vclTags+    , vclClassicLinkEnabled++    -- * VPCEndpoint+    , VPCEndpoint+    , vpcEndpoint+    , vePolicyDocument+    , veState+    , veVPCId+    , veCreationTimestamp+    , veServiceName+    , veVPCEndpointId+    , veRouteTableIds++    -- * VPCPeeringConnection+    , VPCPeeringConnection+    , vpcPeeringConnection+    , vpcpcStatus+    , vpcpcVPCPeeringConnectionId+    , vpcpcAccepterVPCInfo+    , vpcpcRequesterVPCInfo+    , vpcpcExpirationTime+    , vpcpcTags++    -- * VPCPeeringConnectionStateReason+    , VPCPeeringConnectionStateReason+    , vpcPeeringConnectionStateReason+    , vpcsrCode+    , vpcsrMessage++    -- * VPCPeeringConnectionVPCInfo+    , VPCPeeringConnectionVPCInfo+    , vpcPeeringConnectionVPCInfo+    , vpcviVPCId+    , vpcviOwnerId+    , vpcviCIdRBlock++    -- * VPNConnection+    , VPNConnection+    , vpnConnection+    , vcRoutes+    , vcVPNGatewayId+    , vcOptions+    , vcVGWTelemetry+    , vcTags+    , vcVPNConnectionId+    , vcCustomerGatewayId+    , vcCustomerGatewayConfiguration+    , vcState+    , vcType++    -- * VPNConnectionOptions+    , VPNConnectionOptions+    , vpnConnectionOptions+    , vcoStaticRoutesOnly++    -- * VPNConnectionOptionsSpecification+    , VPNConnectionOptionsSpecification+    , vpnConnectionOptionsSpecification+    , vcosStaticRoutesOnly++    -- * VPNGateway+    , VPNGateway+    , vpnGateway+    , vgVPCAttachments+    , vgState+    , vgVPNGatewayId+    , vgAvailabilityZone+    , vgType+    , vgTags++    -- * VPNStaticRoute+    , VPNStaticRoute+    , vpnStaticRoute+    , vsrState+    , vsrSource+    , vsrDestinationCIdRBlock++    -- * Volume+    , Volume+    , volume+    , vAttachments+    , vIOPS+    , vKMSKeyId+    , vTags+    , vAvailabilityZone+    , vCreateTime+    , vEncrypted+    , vSize+    , vSnapshotId+    , vState+    , vVolumeId+    , vVolumeType++    -- * VolumeAttachment+    , VolumeAttachment+    , volumeAttachment+    , volInstanceId+    , volDeleteOnTermination+    , volState+    , volDevice+    , volVolumeId+    , volAttachTime++    -- * VolumeDetail+    , VolumeDetail+    , volumeDetail+    , vdSize++    -- * VolumeStatusAction+    , VolumeStatusAction+    , volumeStatusAction+    , vsaEventType+    , vsaCode+    , vsaDescription+    , vsaEventId++    -- * VolumeStatusDetails+    , VolumeStatusDetails+    , volumeStatusDetails+    , vsdStatus+    , vsdName++    -- * VolumeStatusEvent+    , VolumeStatusEvent+    , volumeStatusEvent+    , vseNotBefore+    , vseEventType+    , vseDescription+    , vseNotAfter+    , vseEventId++    -- * VolumeStatusInfo+    , VolumeStatusInfo+    , volumeStatusInfo+    , vsiStatus+    , vsiDetails++    -- * VolumeStatusItem+    , VolumeStatusItem+    , volumeStatusItem+    , vsiVolumeStatus+    , vsiActions+    , vsiAvailabilityZone+    , vsiEvents+    , vsiVolumeId+    ) where++import           Network.AWS.EC2.Types.Product+import           Network.AWS.EC2.Types.Sum+import           Network.AWS.Prelude+import           Network.AWS.Sign.V4++-- | Version @2015-04-15@ of the Amazon Elastic Compute Cloud SDK.+data EC2++instance AWSService EC2 where+    type Sg EC2 = V4+    service = const svc+      where+        svc =+            Service+            { _svcAbbrev = "EC2"+            , _svcPrefix = "ec2"+            , _svcVersion = "2015-04-15"+            , _svcEndpoint = defaultEndpoint svc+            , _svcTimeout = Just 70+            , _svcStatus = statusSuccess+            , _svcError = parseXMLError+            , _svcRetry = retry+            }+        retry =+            Exponential+            { _retryBase = 5.0e-2+            , _retryGrowth = 2+            , _retryAttempts = 5+            , _retryCheck = check+            }+        check e+          | has (hasCode "RequestLimitExceeded" . hasStatus 503) e =+              Just "request_limit_exceeded"+          | has (hasCode "ThrottlingException" . hasStatus 400) e =+              Just "throttling_exception"+          | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+          | has (hasStatus 503) e = Just "service_unavailable"+          | has (hasStatus 500) e = Just "general_server_error"+          | has (hasStatus 509) e = Just "limit_exceeded"+          | otherwise = Nothing
+ gen/Network/AWS/EC2/Types/Product.hs view
@@ -0,0 +1,10711 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- 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.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'+    { _aInstanceId              :: !(Maybe Text)+    , _aAssociationId           :: !(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:+--+-- * 'aInstanceId'+--+-- * 'aAssociationId'+--+-- * 'aNetworkInterfaceOwnerId'+--+-- * 'aAllocationId'+--+-- * 'aDomain'+--+-- * 'aNetworkInterfaceId'+--+-- * 'aPrivateIPAddress'+--+-- * 'aPublicIP'+address+    :: Address+address =+    Address'+    { _aInstanceId = Nothing+    , _aAssociationId = Nothing+    , _aNetworkInterfaceOwnerId = Nothing+    , _aAllocationId = Nothing+    , _aDomain = Nothing+    , _aNetworkInterfaceId = Nothing+    , _aPrivateIPAddress = Nothing+    , _aPublicIP = Nothing+    }++-- | 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 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 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 .@? "instanceId") <*> (x .@? "associationId") <*>+                (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'+    { _azRegionName :: !(Maybe Text)+    , _azState      :: !(Maybe AvailabilityZoneState)+    , _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:+--+-- * 'azRegionName'+--+-- * 'azState'+--+-- * 'azZoneName'+--+-- * 'azMessages'+availabilityZone+    :: AvailabilityZone+availabilityZone =+    AvailabilityZone'+    { _azRegionName = Nothing+    , _azState = Nothing+    , _azZoneName = Nothing+    , _azMessages = Nothing+    }++-- | The name of the region.+azRegionName :: Lens' AvailabilityZone (Maybe Text)+azRegionName = lens _azRegionName (\ s a -> s{_azRegionName = a});++-- | The state of the Availability Zone ('available' | 'impaired' |+-- 'unavailable').+azState :: Lens' AvailabilityZone (Maybe AvailabilityZoneState)+azState = lens _azState (\ s a -> s{_azState = 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 .@? "regionName") <*> (x .@? "zoneState") <*>+                (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")++-- | /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.+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 "item" <$> _cvpmRemove),+               toQuery (toQueryList "item" <$> _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'+    { _eibdDeleteOnTermination :: !(Maybe Bool)+    , _eibdStatus              :: !(Maybe AttachmentStatus)+    , _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:+--+-- * 'eibdDeleteOnTermination'+--+-- * 'eibdStatus'+--+-- * 'eibdVolumeId'+--+-- * 'eibdAttachTime'+ebsInstanceBlockDevice+    :: EBSInstanceBlockDevice+ebsInstanceBlockDevice =+    EBSInstanceBlockDevice'+    { _eibdDeleteOnTermination = Nothing+    , _eibdStatus = Nothing+    , _eibdVolumeId = Nothing+    , _eibdAttachTime = Nothing+    }++-- | Indicates whether the volume is deleted on instance termination.+eibdDeleteOnTermination :: Lens' EBSInstanceBlockDevice (Maybe Bool)+eibdDeleteOnTermination = lens _eibdDeleteOnTermination (\ s a -> s{_eibdDeleteOnTermination = a});++-- | The attachment state.+eibdStatus :: Lens' EBSInstanceBlockDevice (Maybe AttachmentStatus)+eibdStatus = lens _eibdStatus (\ s a -> s{_eibdStatus = 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 .@? "deleteOnTermination") <*> (x .@? "status")+                <*> (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' - Spot fleet did not have the required+--     permissions either to launch or terminate an instance.+--+-- -   'spotFleetRequestConfigurationInvalid' - The configuration is not+--     valid. For more information, see the description.+--+-- -   '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 will+--     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.+--+-- -   '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 "item" <$> _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)+    , _flDeliverLogsPermissionARN :: !(Maybe Text)+    , _flLogGroupName             :: !(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'+--+-- * 'flDeliverLogsPermissionARN'+--+-- * 'flLogGroupName'+--+-- * 'flFlowLogId'+flowLog+    :: FlowLog+flowLog =+    FlowLog'+    { _flCreationTime = Nothing+    , _flResourceId = Nothing+    , _flFlowLogStatus = Nothing+    , _flTrafficType = Nothing+    , _flDeliverLogsStatus = Nothing+    , _flDeliverLogsErrorMessage = Nothing+    , _flDeliverLogsPermissionARN = Nothing+    , _flLogGroupName = 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. '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 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 name of the flow log group.+flLogGroupName :: Lens' FlowLog (Maybe Text)+flLogGroupName = lens _flLogGroupName (\ s a -> s{_flLogGroupName = 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 .@? "deliverLogsPermissionArn")+                <*> (x .@? "logGroupName")+                <*> (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 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 protocol.+--+-- When you call DescribeSecurityGroups, the protocol value returned is the+-- number. Exception: For TCP, UDP, and ICMP, the value returned is the+-- name (for example, 'tcp', 'udp', or 'icmp'). For a list of protocol+-- numbers, see+-- <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>.+-- (VPC only) When you call AuthorizeSecurityGroupIngress, 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 "item" <$> _ipUserIdGroupPairs),+               toQuery (toQueryList "item" <$> _ipPrefixListIds),+               "ToPort" =: _ipToPort,+               toQuery (toQueryList "item" <$> _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 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)+    , _iBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _iDescription         :: !(Maybe Text)+    , _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'+--+-- * 'iBlockDeviceMappings'+--+-- * 'iDescription'+--+-- * '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+    , _iBlockDeviceMappings = Nothing+    , _iDescription = 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});++-- | Any block device mapping entries.+iBlockDeviceMappings :: Lens' Image [BlockDeviceMapping]+iBlockDeviceMappings = lens _iBlockDeviceMappings (\ s a -> s{_iBlockDeviceMappings = a}) . _Default . _Coerce;++-- | 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 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 .@? "blockDeviceMapping" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "description")+                <*>+                (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'+    { _idcURL         :: !(Maybe Text)+    , _idcFormat      :: !(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:+--+-- * 'idcURL'+--+-- * 'idcFormat'+--+-- * 'idcDeviceName'+--+-- * 'idcUserBucket'+--+-- * 'idcDescription'+--+-- * 'idcSnapshotId'+imageDiskContainer+    :: ImageDiskContainer+imageDiskContainer =+    ImageDiskContainer'+    { _idcURL = Nothing+    , _idcFormat = Nothing+    , _idcDeviceName = Nothing+    , _idcUserBucket = Nothing+    , _idcDescription = Nothing+    , _idcSnapshotId = Nothing+    }++-- | 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 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 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+              ["Url" =: _idcURL, "Format" =: _idcFormat,+               "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)+    , _iilsGroupIds                          :: !(Maybe [Text])+    , _iilsInstanceType                      :: !(Maybe InstanceType)+    , _iilsUserData                          :: !(Maybe UserData)+    , _iilsMonitoring                        :: !(Maybe Bool)+    , _iilsInstanceInitiatedShutdownBehavior :: !(Maybe ShutdownBehavior)+    , _iilsPrivateIPAddress                  :: !(Maybe Text)+    , _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'+--+-- * 'iilsGroupIds'+--+-- * 'iilsInstanceType'+--+-- * 'iilsUserData'+--+-- * 'iilsMonitoring'+--+-- * 'iilsInstanceInitiatedShutdownBehavior'+--+-- * 'iilsPrivateIPAddress'+--+-- * 'iilsArchitecture'+--+-- * 'iilsPlacement'+importInstanceLaunchSpecification+    :: ImportInstanceLaunchSpecification+importInstanceLaunchSpecification =+    ImportInstanceLaunchSpecification'+    { _iilsAdditionalInfo = Nothing+    , _iilsGroupNames = Nothing+    , _iilsSubnetId = Nothing+    , _iilsGroupIds = Nothing+    , _iilsInstanceType = Nothing+    , _iilsUserData = Nothing+    , _iilsMonitoring = Nothing+    , _iilsInstanceInitiatedShutdownBehavior = Nothing+    , _iilsPrivateIPAddress = 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});++-- | One or more security group IDs.+iilsGroupIds :: Lens' ImportInstanceLaunchSpecification [Text]+iilsGroupIds = lens _iilsGroupIds (\ s a -> s{_iilsGroupIds = a}) . _Default . _Coerce;++-- | 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});++-- | 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});++-- | 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});++-- | [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});++-- | 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 "SecurityGroup" <$> _iilsGroupNames),+               "SubnetId" =: _iilsSubnetId,+               toQuery+                 (toQueryList "SecurityGroupId" <$> _iilsGroupIds),+               "InstanceType" =: _iilsInstanceType,+               "UserData" =: _iilsUserData,+               "Monitoring" =: _iilsMonitoring,+               "InstanceInitiatedShutdownBehavior" =:+                 _iilsInstanceInitiatedShutdownBehavior,+               "PrivateIpAddress" =: _iilsPrivateIPAddress,+               "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)+    , _insNetworkInterfaces     :: !(Maybe [InstanceNetworkInterface])+    , _insKeyName               :: !(Maybe Text)+    , _insRAMDiskId             :: !(Maybe Text)+    , _insKernelId              :: !(Maybe Text)+    , _insSubnetId              :: !(Maybe Text)+    , _insRootDeviceName        :: !(Maybe Text)+    , _insEBSOptimized          :: !(Maybe Bool)+    , _insSRIOVNetSupport       :: !(Maybe Text)+    , _insStateTransitionReason :: !(Maybe Text)+    , _insIAMInstanceProfile    :: !(Maybe IAMInstanceProfile)+    , _insInstanceLifecycle     :: !(Maybe InstanceLifecycleType)+    , _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'+--+-- * 'insNetworkInterfaces'+--+-- * 'insKeyName'+--+-- * 'insRAMDiskId'+--+-- * 'insKernelId'+--+-- * 'insSubnetId'+--+-- * 'insRootDeviceName'+--+-- * 'insEBSOptimized'+--+-- * 'insSRIOVNetSupport'+--+-- * 'insStateTransitionReason'+--+-- * 'insIAMInstanceProfile'+--+-- * 'insInstanceLifecycle'+--+-- * '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+    , _insNetworkInterfaces = Nothing+    , _insKeyName = Nothing+    , _insRAMDiskId = Nothing+    , _insKernelId = Nothing+    , _insSubnetId = Nothing+    , _insRootDeviceName = Nothing+    , _insEBSOptimized = Nothing+    , _insSRIOVNetSupport = Nothing+    , _insStateTransitionReason = Nothing+    , _insIAMInstanceProfile = Nothing+    , _insInstanceLifecycle = 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.+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.+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});++-- | The ID of the VPC in which the instance is running.+insVPCId :: Lens' Instance (Maybe Text)+insVPCId = lens _insVPCId (\ s a -> s{_insVPCId = 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 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});++-- | The RAM disk associated with this instance.+insRAMDiskId :: Lens' Instance (Maybe Text)+insRAMDiskId = lens _insRAMDiskId (\ s a -> s{_insRAMDiskId = a});++-- | The kernel associated with this instance.+insKernelId :: Lens' Instance (Maybe Text)+insKernelId = lens _insKernelId (\ s a -> s{_insKernelId = a});++-- | 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 root device name (for example, '\/dev\/sda1' or '\/dev\/xvda').+insRootDeviceName :: Lens' Instance (Maybe Text)+insRootDeviceName = lens _insRootDeviceName (\ s a -> s{_insRootDeviceName = 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});++-- | Specifies whether enhanced networking is enabled.+insSRIOVNetSupport :: Lens' Instance (Maybe Text)+insSRIOVNetSupport = lens _insSRIOVNetSupport (\ s a -> s{_insSRIOVNetSupport = 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});++-- | The IAM instance profile associated with the instance.+insIAMInstanceProfile :: Lens' Instance (Maybe IAMInstanceProfile)+insIAMInstanceProfile = lens _insIAMInstanceProfile (\ s a -> s{_insIAMInstanceProfile = a});++-- | Indicates whether this is a Spot Instance.+insInstanceLifecycle :: Lens' Instance (Maybe InstanceLifecycleType)+insInstanceLifecycle = lens _insInstanceLifecycle (\ s a -> s{_insInstanceLifecycle = 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.+insProductCodes :: Lens' Instance [ProductCode]+insProductCodes = lens _insProductCodes (\ s a -> s{_insProductCodes = a}) . _Default . _Coerce;++-- | The ID of the Spot Instance 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.+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.+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.+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 .@? "networkInterfaceSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "keyName")+                <*> (x .@? "ramdiskId")+                <*> (x .@? "kernelId")+                <*> (x .@? "subnetId")+                <*> (x .@? "rootDeviceName")+                <*> (x .@? "ebsOptimized")+                <*> (x .@? "sriovNetSupport")+                <*> (x .@? "reason")+                <*> (x .@? "iamInstanceProfile")+                <*> (x .@? "instanceLifecycle")+                <*> (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]++-- | 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'+    { _iedInstanceId        :: !(Maybe Text)+    , _iedTargetEnvironment :: !(Maybe ExportEnvironment)+    } 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:+--+-- * 'iedInstanceId'+--+-- * 'iedTargetEnvironment'+instanceExportDetails+    :: InstanceExportDetails+instanceExportDetails =+    InstanceExportDetails'+    { _iedInstanceId = Nothing+    , _iedTargetEnvironment = Nothing+    }++-- | The ID of the resource being exported.+iedInstanceId :: Lens' InstanceExportDetails (Maybe Text)+iedInstanceId = lens _iedInstanceId (\ s a -> s{_iedInstanceId = a});++-- | The target virtualization environment.+iedTargetEnvironment :: Lens' InstanceExportDetails (Maybe ExportEnvironment)+iedTargetEnvironment = lens _iedTargetEnvironment (\ s a -> s{_iedTargetEnvironment = a});++instance FromXML InstanceExportDetails where+        parseXML x+          = InstanceExportDetails' <$>+              (x .@? "instanceId") <*> (x .@? "targetEnvironment")++-- | 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'+    { _iniPrivateIPAddresses :: !(Maybe [InstancePrivateIPAddress])+    , _iniStatus             :: !(Maybe NetworkInterfaceStatus)+    , _iniGroups             :: !(Maybe [GroupIdentifier])+    , _iniSourceDestCheck    :: !(Maybe Bool)+    , _iniVPCId              :: !(Maybe Text)+    , _iniNetworkInterfaceId :: !(Maybe Text)+    , _iniSubnetId           :: !(Maybe Text)+    , _iniAttachment         :: !(Maybe InstanceNetworkInterfaceAttachment)+    , _iniMACAddress         :: !(Maybe Text)+    , _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:+--+-- * 'iniPrivateIPAddresses'+--+-- * 'iniStatus'+--+-- * 'iniGroups'+--+-- * 'iniSourceDestCheck'+--+-- * 'iniVPCId'+--+-- * 'iniNetworkInterfaceId'+--+-- * 'iniSubnetId'+--+-- * 'iniAttachment'+--+-- * 'iniMACAddress'+--+-- * 'iniOwnerId'+--+-- * 'iniPrivateIPAddress'+--+-- * 'iniPrivateDNSName'+--+-- * 'iniDescription'+--+-- * 'iniAssociation'+instanceNetworkInterface+    :: InstanceNetworkInterface+instanceNetworkInterface =+    InstanceNetworkInterface'+    { _iniPrivateIPAddresses = Nothing+    , _iniStatus = Nothing+    , _iniGroups = Nothing+    , _iniSourceDestCheck = Nothing+    , _iniVPCId = Nothing+    , _iniNetworkInterfaceId = Nothing+    , _iniSubnetId = Nothing+    , _iniAttachment = Nothing+    , _iniMACAddress = Nothing+    , _iniOwnerId = Nothing+    , _iniPrivateIPAddress = Nothing+    , _iniPrivateDNSName = Nothing+    , _iniDescription = Nothing+    , _iniAssociation = Nothing+    }++-- | The private IP addresses associated with the network interface.+iniPrivateIPAddresses :: Lens' InstanceNetworkInterface [InstancePrivateIPAddress]+iniPrivateIPAddresses = lens _iniPrivateIPAddresses (\ s a -> s{_iniPrivateIPAddresses = a}) . _Default . _Coerce;++-- | The status of the network interface.+iniStatus :: Lens' InstanceNetworkInterface (Maybe NetworkInterfaceStatus)+iniStatus = lens _iniStatus (\ s a -> s{_iniStatus = a});++-- | One or more security groups.+iniGroups :: Lens' InstanceNetworkInterface [GroupIdentifier]+iniGroups = lens _iniGroups (\ s a -> s{_iniGroups = 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 network interface attachment.+iniAttachment :: Lens' InstanceNetworkInterface (Maybe InstanceNetworkInterfaceAttachment)+iniAttachment = lens _iniAttachment (\ s a -> s{_iniAttachment = a});++-- | The MAC address.+iniMACAddress :: Lens' InstanceNetworkInterface (Maybe Text)+iniMACAddress = lens _iniMACAddress (\ s a -> s{_iniMACAddress = 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 .@? "privateIpAddressesSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "status")+                <*>+                (x .@? "groupSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "sourceDestCheck")+                <*> (x .@? "vpcId")+                <*> (x .@? "networkInterfaceId")+                <*> (x .@? "subnetId")+                <*> (x .@? "attachment")+                <*> (x .@? "macAddress")+                <*> (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'+    { _iniaDeleteOnTermination :: !(Maybe Bool)+    , _iniaStatus              :: !(Maybe AttachmentStatus)+    , _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:+--+-- * 'iniaDeleteOnTermination'+--+-- * 'iniaStatus'+--+-- * 'iniaAttachmentId'+--+-- * 'iniaAttachTime'+--+-- * 'iniaDeviceIndex'+instanceNetworkInterfaceAttachment+    :: InstanceNetworkInterfaceAttachment+instanceNetworkInterfaceAttachment =+    InstanceNetworkInterfaceAttachment'+    { _iniaDeleteOnTermination = Nothing+    , _iniaStatus = Nothing+    , _iniaAttachmentId = Nothing+    , _iniaAttachTime = Nothing+    , _iniaDeviceIndex = Nothing+    }++-- | 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 attachment state.+iniaStatus :: Lens' InstanceNetworkInterfaceAttachment (Maybe AttachmentStatus)+iniaStatus = lens _iniaStatus (\ s a -> s{_iniaStatus = 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 .@? "deleteOnTermination") <*> (x .@? "status")+                <*> (x .@? "attachmentId")+                <*> (x .@? "attachTime")+                <*> (x .@? "deviceIndex")++-- | Describes a network interface.+--+-- /See:/ 'instanceNetworkInterfaceSpecification' smart constructor.+data InstanceNetworkInterfaceSpecification = InstanceNetworkInterfaceSpecification'+    { _inisPrivateIPAddresses             :: !(Maybe [PrivateIPAddressSpecification])+    , _inisDeleteOnTermination            :: !(Maybe Bool)+    , _inisGroups                         :: !(Maybe [Text])+    , _inisAssociatePublicIPAddress       :: !(Maybe Bool)+    , _inisNetworkInterfaceId             :: !(Maybe Text)+    , _inisSubnetId                       :: !(Maybe Text)+    , _inisPrivateIPAddress               :: !(Maybe Text)+    , _inisSecondaryPrivateIPAddressCount :: !(Maybe Int)+    , _inisDeviceIndex                    :: !(Maybe Int)+    , _inisDescription                    :: !(Maybe Text)+    } 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:+--+-- * 'inisPrivateIPAddresses'+--+-- * 'inisDeleteOnTermination'+--+-- * 'inisGroups'+--+-- * 'inisAssociatePublicIPAddress'+--+-- * 'inisNetworkInterfaceId'+--+-- * 'inisSubnetId'+--+-- * 'inisPrivateIPAddress'+--+-- * 'inisSecondaryPrivateIPAddressCount'+--+-- * 'inisDeviceIndex'+--+-- * 'inisDescription'+instanceNetworkInterfaceSpecification+    :: InstanceNetworkInterfaceSpecification+instanceNetworkInterfaceSpecification =+    InstanceNetworkInterfaceSpecification'+    { _inisPrivateIPAddresses = Nothing+    , _inisDeleteOnTermination = Nothing+    , _inisGroups = Nothing+    , _inisAssociatePublicIPAddress = Nothing+    , _inisNetworkInterfaceId = Nothing+    , _inisSubnetId = Nothing+    , _inisPrivateIPAddress = Nothing+    , _inisSecondaryPrivateIPAddressCount = Nothing+    , _inisDeviceIndex = Nothing+    , _inisDescription = Nothing+    }++-- | 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});++-- | 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;++-- | 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 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});++-- | 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});++instance FromXML+         InstanceNetworkInterfaceSpecification where+        parseXML x+          = InstanceNetworkInterfaceSpecification' <$>+              (x .@? "privateIpAddressesSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "deleteOnTermination")+                <*>+                (x .@? "SecurityGroupId" .!@ mempty >>=+                   may (parseXMLList "SecurityGroupId"))+                <*> (x .@? "associatePublicIpAddress")+                <*> (x .@? "networkInterfaceId")+                <*> (x .@? "subnetId")+                <*> (x .@? "privateIpAddress")+                <*> (x .@? "secondaryPrivateIpAddressCount")+                <*> (x .@? "deviceIndex")+                <*> (x .@? "description")++instance ToQuery+         InstanceNetworkInterfaceSpecification where+        toQuery InstanceNetworkInterfaceSpecification'{..}+          = mconcat+              [toQuery+                 (toQueryList "item" <$> _inisPrivateIPAddresses),+               "DeleteOnTermination" =: _inisDeleteOnTermination,+               toQuery+                 (toQueryList "SecurityGroupId" <$> _inisGroups),+               "AssociatePublicIpAddress" =:+                 _inisAssociatePublicIPAddress,+               "NetworkInterfaceId" =: _inisNetworkInterfaceId,+               "SubnetId" =: _inisSubnetId,+               "PrivateIpAddress" =: _inisPrivateIPAddress,+               "SecondaryPrivateIpAddressCount" =:+                 _inisSecondaryPrivateIPAddressCount,+               "DeviceIndex" =: _inisDeviceIndex,+               "Description" =: _inisDescription]++-- | 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)+    , _isAvailabilityZone :: !(Maybe Text)+    , _isEvents           :: !(Maybe [InstanceStatusEvent])+    , _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'+--+-- * 'isAvailabilityZone'+--+-- * 'isEvents'+--+-- * 'isInstanceStatus'+--+-- * 'isInstanceState'+instanceStatus+    :: InstanceStatus+instanceStatus =+    InstanceStatus'+    { _isInstanceId = Nothing+    , _isSystemStatus = Nothing+    , _isAvailabilityZone = Nothing+    , _isEvents = 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});++-- | The Availability Zone of the instance.+isAvailabilityZone :: Lens' InstanceStatus (Maybe Text)+isAvailabilityZone = lens _isAvailabilityZone (\ s a -> s{_isAvailabilityZone = a});++-- | Any scheduled events associated with the instance.+isEvents :: Lens' InstanceStatus [InstanceStatusEvent]+isEvents = lens _isEvents (\ s a -> s{_isEvents = a}) . _Default . _Coerce;++-- | 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 .@? "availabilityZone")+                <*>+                (x .@? "eventsSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (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 "item" <$> _lpmRemove),+               toQuery (toQueryList "item" <$> _lpmAdd)]++-- | Describes the launch specification for an instance.+--+-- /See:/ 'launchSpecification' smart constructor.+data LaunchSpecification = LaunchSpecification'+    { _lsSecurityGroups      :: !(Maybe [GroupIdentifier])+    , _lsNetworkInterfaces   :: !(Maybe [InstanceNetworkInterfaceSpecification])+    , _lsKeyName             :: !(Maybe Text)+    , _lsRAMDiskId           :: !(Maybe Text)+    , _lsKernelId            :: !(Maybe Text)+    , _lsSubnetId            :: !(Maybe Text)+    , _lsInstanceType        :: !(Maybe InstanceType)+    , _lsEBSOptimized        :: !(Maybe Bool)+    , _lsUserData            :: !(Maybe Text)+    , _lsMonitoring          :: !(Maybe RunInstancesMonitoringEnabled)+    , _lsIAMInstanceProfile  :: !(Maybe IAMInstanceProfileSpecification)+    , _lsImageId             :: !(Maybe Text)+    , _lsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _lsAddressingType      :: !(Maybe Text)+    , _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'+--+-- * 'lsNetworkInterfaces'+--+-- * 'lsKeyName'+--+-- * 'lsRAMDiskId'+--+-- * 'lsKernelId'+--+-- * 'lsSubnetId'+--+-- * 'lsInstanceType'+--+-- * 'lsEBSOptimized'+--+-- * 'lsUserData'+--+-- * 'lsMonitoring'+--+-- * 'lsIAMInstanceProfile'+--+-- * 'lsImageId'+--+-- * 'lsBlockDeviceMappings'+--+-- * 'lsAddressingType'+--+-- * 'lsPlacement'+launchSpecification+    :: LaunchSpecification+launchSpecification =+    LaunchSpecification'+    { _lsSecurityGroups = Nothing+    , _lsNetworkInterfaces = Nothing+    , _lsKeyName = Nothing+    , _lsRAMDiskId = Nothing+    , _lsKernelId = Nothing+    , _lsSubnetId = Nothing+    , _lsInstanceType = Nothing+    , _lsEBSOptimized = Nothing+    , _lsUserData = Nothing+    , _lsMonitoring = Nothing+    , _lsIAMInstanceProfile = Nothing+    , _lsImageId = Nothing+    , _lsBlockDeviceMappings = Nothing+    , _lsAddressingType = Nothing+    , _lsPlacement = Nothing+    }++-- | One or more security groups. To request an instance in a nondefault VPC,+-- you must specify the ID of the security group. To request an instance in+-- EC2-Classic or a default VPC, you can specify the name or the ID of the+-- security group.+lsSecurityGroups :: Lens' LaunchSpecification [GroupIdentifier]+lsSecurityGroups = lens _lsSecurityGroups (\ s a -> s{_lsSecurityGroups = a}) . _Default . _Coerce;++-- | One or more network interfaces.+lsNetworkInterfaces :: Lens' LaunchSpecification [InstanceNetworkInterfaceSpecification]+lsNetworkInterfaces = lens _lsNetworkInterfaces (\ s a -> s{_lsNetworkInterfaces = a}) . _Default . _Coerce;++-- | The name of the key pair.+lsKeyName :: Lens' LaunchSpecification (Maybe Text)+lsKeyName = lens _lsKeyName (\ s a -> s{_lsKeyName = a});++-- | The ID of the RAM disk.+lsRAMDiskId :: Lens' LaunchSpecification (Maybe Text)+lsRAMDiskId = lens _lsRAMDiskId (\ s a -> s{_lsRAMDiskId = a});++-- | The ID of the kernel.+lsKernelId :: Lens' LaunchSpecification (Maybe Text)+lsKernelId = lens _lsKernelId (\ s a -> s{_lsKernelId = 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 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});++-- | One or more block device mapping entries.+lsBlockDeviceMappings :: Lens' LaunchSpecification [BlockDeviceMapping]+lsBlockDeviceMappings = lens _lsBlockDeviceMappings (\ s a -> s{_lsBlockDeviceMappings = a}) . _Default . _Coerce;++-- | Deprecated.+lsAddressingType :: Lens' LaunchSpecification (Maybe Text)+lsAddressingType = lens _lsAddressingType (\ s a -> s{_lsAddressingType = a});++-- | 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 .@? "networkInterfaceSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "keyName")+                <*> (x .@? "ramdiskId")+                <*> (x .@? "kernelId")+                <*> (x .@? "subnetId")+                <*> (x .@? "instanceType")+                <*> (x .@? "ebsOptimized")+                <*> (x .@? "userData")+                <*> (x .@? "monitoring")+                <*> (x .@? "iamInstanceProfile")+                <*> (x .@? "imageId")+                <*>+                (x .@? "blockDeviceMapping" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "addressingType")+                <*> (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 network ACL.+--+-- /See:/ 'networkACL' smart constructor.+data NetworkACL = NetworkACL'+    { _naEntries      :: !(Maybe [NetworkACLEntry])+    , _naNetworkACLId :: !(Maybe Text)+    , _naVPCId        :: !(Maybe Text)+    , _naAssociations :: !(Maybe [NetworkACLAssociation])+    , _naIsDefault    :: !(Maybe Bool)+    , _naTags         :: !(Maybe [Tag])+    } 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'+--+-- * 'naIsDefault'+--+-- * 'naTags'+networkACL+    :: NetworkACL+networkACL =+    NetworkACL'+    { _naEntries = Nothing+    , _naNetworkACLId = Nothing+    , _naVPCId = Nothing+    , _naAssociations = Nothing+    , _naIsDefault = Nothing+    , _naTags = 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;++-- | Indicates whether this is the default network ACL for the VPC.+naIsDefault :: Lens' NetworkACL (Maybe Bool)+naIsDefault = lens _naIsDefault (\ s a -> s{_naIsDefault = a});++-- | Any tags assigned to the network ACL.+naTags :: Lens' NetworkACL [Tag]+naTags = lens _naTags (\ s a -> s{_naTags = a}) . _Default . _Coerce;++instance FromXML NetworkACL where+        parseXML x+          = NetworkACL' <$>+              (x .@? "entrySet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "networkAclId")+                <*> (x .@? "vpcId")+                <*>+                (x .@? "associationSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "default")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | 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'+    { _niPrivateIPAddresses :: !(Maybe [NetworkInterfacePrivateIPAddress])+    , _niStatus             :: !(Maybe NetworkInterfaceStatus)+    , _niGroups             :: !(Maybe [GroupIdentifier])+    , _niSourceDestCheck    :: !(Maybe Bool)+    , _niTagSet             :: !(Maybe [Tag])+    , _niVPCId              :: !(Maybe Text)+    , _niRequesterManaged   :: !(Maybe Bool)+    , _niNetworkInterfaceId :: !(Maybe Text)+    , _niSubnetId           :: !(Maybe Text)+    , _niAttachment         :: !(Maybe NetworkInterfaceAttachment)+    , _niMACAddress         :: !(Maybe Text)+    , _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:+--+-- * 'niPrivateIPAddresses'+--+-- * 'niStatus'+--+-- * 'niGroups'+--+-- * 'niSourceDestCheck'+--+-- * 'niTagSet'+--+-- * 'niVPCId'+--+-- * 'niRequesterManaged'+--+-- * 'niNetworkInterfaceId'+--+-- * 'niSubnetId'+--+-- * 'niAttachment'+--+-- * 'niMACAddress'+--+-- * 'niOwnerId'+--+-- * 'niAvailabilityZone'+--+-- * 'niPrivateIPAddress'+--+-- * 'niPrivateDNSName'+--+-- * 'niRequesterId'+--+-- * 'niDescription'+--+-- * 'niAssociation'+networkInterface+    :: NetworkInterface+networkInterface =+    NetworkInterface'+    { _niPrivateIPAddresses = Nothing+    , _niStatus = Nothing+    , _niGroups = Nothing+    , _niSourceDestCheck = Nothing+    , _niTagSet = Nothing+    , _niVPCId = Nothing+    , _niRequesterManaged = Nothing+    , _niNetworkInterfaceId = Nothing+    , _niSubnetId = Nothing+    , _niAttachment = Nothing+    , _niMACAddress = Nothing+    , _niOwnerId = Nothing+    , _niAvailabilityZone = Nothing+    , _niPrivateIPAddress = Nothing+    , _niPrivateDNSName = Nothing+    , _niRequesterId = Nothing+    , _niDescription = Nothing+    , _niAssociation = Nothing+    }++-- | The private IP addresses associated with the network interface.+niPrivateIPAddresses :: Lens' NetworkInterface [NetworkInterfacePrivateIPAddress]+niPrivateIPAddresses = lens _niPrivateIPAddresses (\ s a -> s{_niPrivateIPAddresses = a}) . _Default . _Coerce;++-- | The status of the network interface.+niStatus :: Lens' NetworkInterface (Maybe NetworkInterfaceStatus)+niStatus = lens _niStatus (\ s a -> s{_niStatus = a});++-- | Any security groups for the network interface.+niGroups :: Lens' NetworkInterface [GroupIdentifier]+niGroups = lens _niGroups (\ s a -> s{_niGroups = 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});++-- | Any tags assigned to the network interface.+niTagSet :: Lens' NetworkInterface [Tag]+niTagSet = lens _niTagSet (\ s a -> s{_niTagSet = a}) . _Default . _Coerce;++-- | The ID of the VPC.+niVPCId :: Lens' NetworkInterface (Maybe Text)+niVPCId = lens _niVPCId (\ s a -> s{_niVPCId = a});++-- | 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 network interface attachment.+niAttachment :: Lens' NetworkInterface (Maybe NetworkInterfaceAttachment)+niAttachment = lens _niAttachment (\ s a -> s{_niAttachment = a});++-- | The MAC address.+niMACAddress :: Lens' NetworkInterface (Maybe Text)+niMACAddress = lens _niMACAddress (\ s a -> s{_niMACAddress = 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 .@? "privateIpAddressesSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "status")+                <*>+                (x .@? "groupSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "sourceDestCheck")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "vpcId")+                <*> (x .@? "requesterManaged")+                <*> (x .@? "networkInterfaceId")+                <*> (x .@? "subnetId")+                <*> (x .@? "attachment")+                <*> (x .@? "macAddress")+                <*> (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)+    , _niaDeleteOnTermination :: !(Maybe Bool)+    , _niaStatus              :: !(Maybe AttachmentStatus)+    , _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'+--+-- * 'niaDeleteOnTermination'+--+-- * 'niaStatus'+--+-- * 'niaAttachmentId'+--+-- * 'niaInstanceOwnerId'+--+-- * 'niaAttachTime'+--+-- * 'niaDeviceIndex'+networkInterfaceAttachment+    :: NetworkInterfaceAttachment+networkInterfaceAttachment =+    NetworkInterfaceAttachment'+    { _niaInstanceId = Nothing+    , _niaDeleteOnTermination = Nothing+    , _niaStatus = 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});++-- | 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 attachment state.+niaStatus :: Lens' NetworkInterfaceAttachment (Maybe AttachmentStatus)+niaStatus = lens _niaStatus (\ s a -> s{_niaStatus = 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 .@? "deleteOnTermination")+                <*> (x .@? "status")+                <*> (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 "item" <$> _ndcValues),+               "Key" =: _ndcKey]++-- | Describes the placement for the instance.+--+-- /See:/ 'placement' smart constructor.+data Placement = Placement'+    { _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:+--+-- * 'pAvailabilityZone'+--+-- * 'pTenancy'+--+-- * 'pGroupName'+placement+    :: Placement+placement =+    Placement'+    { _pAvailabilityZone = Nothing+    , _pTenancy = Nothing+    , _pGroupName = Nothing+    }++-- | 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.+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 .@? "availabilityZone") <*> (x .@? "tenancy") <*>+                (x .@? "groupName")++instance ToQuery Placement where+        toQuery Placement'{..}+          = mconcat+              ["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 instances 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'+    { _rcFrequency :: !(Maybe RecurringChargeFrequency)+    , _rcAmount    :: !(Maybe Double)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RecurringCharge' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcFrequency'+--+-- * 'rcAmount'+recurringCharge+    :: RecurringCharge+recurringCharge =+    RecurringCharge'+    { _rcFrequency = Nothing+    , _rcAmount = Nothing+    }++-- | The frequency of the recurring charge.+rcFrequency :: Lens' RecurringCharge (Maybe RecurringChargeFrequency)+rcFrequency = lens _rcFrequency (\ s a -> s{_rcFrequency = a});++-- | The amount of the recurring charge.+rcAmount :: Lens' RecurringCharge (Maybe Double)+rcAmount = lens _rcAmount (\ s a -> s{_rcAmount = a});++instance FromXML RecurringCharge where+        parseXML x+          = RecurringCharge' <$>+              (x .@? "frequency") <*> (x .@? "amount")++-- | 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])+    , _rslsNetworkInterfaces   :: !(Maybe [InstanceNetworkInterfaceSpecification])+    , _rslsKeyName             :: !(Maybe Text)+    , _rslsRAMDiskId           :: !(Maybe Text)+    , _rslsKernelId            :: !(Maybe Text)+    , _rslsSubnetId            :: !(Maybe Text)+    , _rslsInstanceType        :: !(Maybe InstanceType)+    , _rslsEBSOptimized        :: !(Maybe Bool)+    , _rslsUserData            :: !(Maybe Text)+    , _rslsMonitoring          :: !(Maybe RunInstancesMonitoringEnabled)+    , _rslsIAMInstanceProfile  :: !(Maybe IAMInstanceProfileSpecification)+    , _rslsImageId             :: !(Maybe Text)+    , _rslsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _rslsAddressingType      :: !(Maybe Text)+    , _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'+--+-- * 'rslsNetworkInterfaces'+--+-- * 'rslsKeyName'+--+-- * 'rslsRAMDiskId'+--+-- * 'rslsKernelId'+--+-- * 'rslsSubnetId'+--+-- * 'rslsInstanceType'+--+-- * 'rslsEBSOptimized'+--+-- * 'rslsUserData'+--+-- * 'rslsMonitoring'+--+-- * 'rslsIAMInstanceProfile'+--+-- * 'rslsImageId'+--+-- * 'rslsBlockDeviceMappings'+--+-- * 'rslsAddressingType'+--+-- * 'rslsPlacement'+requestSpotLaunchSpecification+    :: RequestSpotLaunchSpecification+requestSpotLaunchSpecification =+    RequestSpotLaunchSpecification'+    { _rslsSecurityGroupIds = Nothing+    , _rslsSecurityGroups = Nothing+    , _rslsNetworkInterfaces = Nothing+    , _rslsKeyName = Nothing+    , _rslsRAMDiskId = Nothing+    , _rslsKernelId = Nothing+    , _rslsSubnetId = Nothing+    , _rslsInstanceType = Nothing+    , _rslsEBSOptimized = Nothing+    , _rslsUserData = Nothing+    , _rslsMonitoring = Nothing+    , _rslsIAMInstanceProfile = Nothing+    , _rslsImageId = Nothing+    , _rslsBlockDeviceMappings = Nothing+    , _rslsAddressingType = 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;++-- | One or more network interfaces.+rslsNetworkInterfaces :: Lens' RequestSpotLaunchSpecification [InstanceNetworkInterfaceSpecification]+rslsNetworkInterfaces = lens _rslsNetworkInterfaces (\ s a -> s{_rslsNetworkInterfaces = a}) . _Default . _Coerce;++-- | The name of the key pair.+rslsKeyName :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsKeyName = lens _rslsKeyName (\ s a -> s{_rslsKeyName = a});++-- | The ID of the RAM disk.+rslsRAMDiskId :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsRAMDiskId = lens _rslsRAMDiskId (\ s a -> s{_rslsRAMDiskId = a});++-- | The ID of the kernel.+rslsKernelId :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsKernelId = lens _rslsKernelId (\ s a -> s{_rslsKernelId = 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 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});++-- | One or more block device mapping entries.+rslsBlockDeviceMappings :: Lens' RequestSpotLaunchSpecification [BlockDeviceMapping]+rslsBlockDeviceMappings = lens _rslsBlockDeviceMappings (\ s a -> s{_rslsBlockDeviceMappings = a}) . _Default . _Coerce;++-- | Deprecated.+rslsAddressingType :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsAddressingType = lens _rslsAddressingType (\ s a -> s{_rslsAddressingType = a});++-- | 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 "item" <$> _rslsSecurityGroupIds),+               toQuery (toQueryList "item" <$> _rslsSecurityGroups),+               toQuery+                 (toQueryList "item" <$> _rslsNetworkInterfaces),+               "KeyName" =: _rslsKeyName,+               "RamdiskId" =: _rslsRAMDiskId,+               "KernelId" =: _rslsKernelId,+               "SubnetId" =: _rslsSubnetId,+               "InstanceType" =: _rslsInstanceType,+               "EbsOptimized" =: _rslsEBSOptimized,+               "UserData" =: _rslsUserData,+               "Monitoring" =: _rslsMonitoring,+               "IamInstanceProfile" =: _rslsIAMInstanceProfile,+               "ImageId" =: _rslsImageId,+               toQuery+                 (toQueryList "item" <$> _rslsBlockDeviceMappings),+               "AddressingType" =: _rslsAddressingType,+               "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)+    , _riAvailabilityZone    :: !(Maybe Text)+    , _riEnd                 :: !(Maybe ISO8601)+    , _riOfferingType        :: !(Maybe OfferingTypeValues)+    , _riUsagePrice          :: !(Maybe Double)+    , _riRecurringCharges    :: !(Maybe [RecurringCharge])+    , _riInstanceTenancy     :: !(Maybe Tenancy)+    , _riFixedPrice          :: !(Maybe Double)+    , _riReservedInstancesId :: !(Maybe Text)+    , _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'+--+-- * 'riAvailabilityZone'+--+-- * 'riEnd'+--+-- * 'riOfferingType'+--+-- * 'riUsagePrice'+--+-- * 'riRecurringCharges'+--+-- * 'riInstanceTenancy'+--+-- * 'riFixedPrice'+--+-- * 'riReservedInstancesId'+--+-- * 'riDuration'+--+-- * 'riTags'+reservedInstances+    :: ReservedInstances+reservedInstances =+    ReservedInstances'+    { _riState = Nothing+    , _riCurrencyCode = Nothing+    , _riInstanceCount = Nothing+    , _riProductDescription = Nothing+    , _riStart = Nothing+    , _riInstanceType = Nothing+    , _riAvailabilityZone = Nothing+    , _riEnd = Nothing+    , _riOfferingType = Nothing+    , _riUsagePrice = Nothing+    , _riRecurringCharges = Nothing+    , _riInstanceTenancy = Nothing+    , _riFixedPrice = Nothing+    , _riReservedInstancesId = 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 Reserved Instances 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 Availability Zone in which the Reserved Instance can be used.+riAvailabilityZone :: Lens' ReservedInstances (Maybe Text)+riAvailabilityZone = lens _riAvailabilityZone (\ s a -> s{_riAvailabilityZone = a});++-- | The time when the Reserved Instance expires.+riEnd :: Lens' ReservedInstances (Maybe UTCTime)+riEnd = lens _riEnd (\ s a -> s{_riEnd = a}) . mapping _Time;++-- | 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 recurring charge tag assigned to the resource.+riRecurringCharges :: Lens' ReservedInstances [RecurringCharge]+riRecurringCharges = lens _riRecurringCharges (\ s a -> s{_riRecurringCharges = a}) . _Default . _Coerce;++-- | The tenancy of the reserved instance.+riInstanceTenancy :: Lens' ReservedInstances (Maybe Tenancy)+riInstanceTenancy = lens _riInstanceTenancy (\ s a -> s{_riInstanceTenancy = 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 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 .@? "availabilityZone")+                <*> (x .@? "end")+                <*> (x .@? "offeringType")+                <*> (x .@? "usagePrice")+                <*>+                (x .@? "recurringCharges" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "instanceTenancy")+                <*> (x .@? "fixedPrice")+                <*> (x .@? "reservedInstancesId")+                <*> (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)+    , _rilInstanceCounts             :: !(Maybe [InstanceCount])+    , _rilReservedInstancesListingId :: !(Maybe Text)+    , _rilTags                       :: !(Maybe [Tag])+    } 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'+--+-- * 'rilInstanceCounts'+--+-- * 'rilReservedInstancesListingId'+--+-- * 'rilTags'+reservedInstancesListing+    :: ReservedInstancesListing+reservedInstancesListing =+    ReservedInstancesListing'+    { _rilStatus = Nothing+    , _rilClientToken = Nothing+    , _rilUpdateDate = Nothing+    , _rilCreateDate = Nothing+    , _rilPriceSchedules = Nothing+    , _rilStatusMessage = Nothing+    , _rilReservedInstancesId = Nothing+    , _rilInstanceCounts = Nothing+    , _rilReservedInstancesListingId = Nothing+    , _rilTags = 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});++-- | 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});++-- | Any tags assigned to the resource.+rilTags :: Lens' ReservedInstancesListing [Tag]+rilTags = lens _rilTags (\ s a -> s{_rilTags = a}) . _Default . _Coerce;++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 .@? "instanceCounts" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "reservedInstancesListingId")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | 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])+    , _rioOfferingType                :: !(Maybe OfferingTypeValues)+    , _rioUsagePrice                  :: !(Maybe Double)+    , _rioRecurringCharges            :: !(Maybe [RecurringCharge])+    , _rioReservedInstancesOfferingId :: !(Maybe Text)+    , _rioInstanceTenancy             :: !(Maybe Tenancy)+    , _rioFixedPrice                  :: !(Maybe Double)+    , _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'+--+-- * 'rioOfferingType'+--+-- * 'rioUsagePrice'+--+-- * 'rioRecurringCharges'+--+-- * 'rioReservedInstancesOfferingId'+--+-- * 'rioInstanceTenancy'+--+-- * 'rioFixedPrice'+--+-- * 'rioDuration'+reservedInstancesOffering+    :: ReservedInstancesOffering+reservedInstancesOffering =+    ReservedInstancesOffering'+    { _rioMarketplace = Nothing+    , _rioCurrencyCode = Nothing+    , _rioProductDescription = Nothing+    , _rioInstanceType = Nothing+    , _rioAvailabilityZone = Nothing+    , _rioPricingDetails = Nothing+    , _rioOfferingType = Nothing+    , _rioUsagePrice = Nothing+    , _rioRecurringCharges = Nothing+    , _rioReservedInstancesOfferingId = Nothing+    , _rioInstanceTenancy = Nothing+    , _rioFixedPrice = 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 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 recurring charge tag assigned to the resource.+rioRecurringCharges :: Lens' ReservedInstancesOffering [RecurringCharge]+rioRecurringCharges = lens _rioRecurringCharges (\ s a -> s{_rioRecurringCharges = a}) . _Default . _Coerce;++-- | The ID of the Reserved Instance offering.+rioReservedInstancesOfferingId :: Lens' ReservedInstancesOffering (Maybe Text)+rioReservedInstancesOfferingId = lens _rioReservedInstancesOfferingId (\ s a -> s{_rioReservedInstancesOfferingId = a});++-- | The tenancy of the reserved instance.+rioInstanceTenancy :: Lens' ReservedInstancesOffering (Maybe Tenancy)+rioInstanceTenancy = lens _rioInstanceTenancy (\ s a -> s{_rioInstanceTenancy = a});++-- | The purchase price of the Reserved Instance.+rioFixedPrice :: Lens' ReservedInstancesOffering (Maybe Double)+rioFixedPrice = lens _rioFixedPrice (\ s a -> s{_rioFixedPrice = 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 .@? "offeringType")+                <*> (x .@? "usagePrice")+                <*>+                (x .@? "recurringCharges" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "reservedInstancesOfferingId")+                <*> (x .@? "instanceTenancy")+                <*> (x .@? "fixedPrice")+                <*> (x .@? "duration")++-- | Describes a route in a route table.+--+-- /See:/ 'route' smart constructor.+data Route = Route'+    { _rInstanceId              :: !(Maybe Text)+    , _rOrigin                  :: !(Maybe RouteOrigin)+    , _rVPCPeeringConnectionId  :: !(Maybe Text)+    , _rState                   :: !(Maybe RouteState)+    , _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:+--+-- * 'rInstanceId'+--+-- * 'rOrigin'+--+-- * 'rVPCPeeringConnectionId'+--+-- * 'rState'+--+-- * 'rNetworkInterfaceId'+--+-- * 'rGatewayId'+--+-- * 'rInstanceOwnerId'+--+-- * 'rDestinationPrefixListId'+--+-- * 'rDestinationCIdRBlock'+route+    :: Route+route =+    Route'+    { _rInstanceId = Nothing+    , _rOrigin = Nothing+    , _rVPCPeeringConnectionId = Nothing+    , _rState = Nothing+    , _rNetworkInterfaceId = Nothing+    , _rGatewayId = Nothing+    , _rInstanceOwnerId = Nothing+    , _rDestinationPrefixListId = Nothing+    , _rDestinationCIdRBlock = Nothing+    }++-- | 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 ID of the VPC peering connection.+rVPCPeeringConnectionId :: Lens' Route (Maybe Text)+rVPCPeeringConnectionId = lens _rVPCPeeringConnectionId (\ s a -> s{_rVPCPeeringConnectionId = 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 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 .@? "instanceId") <*> (x .@? "origin") <*>+                (x .@? "vpcPeeringConnectionId")+                <*> (x .@? "state")+                <*> (x .@? "networkInterfaceId")+                <*> (x .@? "gatewayId")+                <*> (x .@? "instanceOwnerId")+                <*> (x .@? "destinationPrefixListId")+                <*> (x .@? "destinationCidrBlock")++-- | Describes a route table.+--+-- /See:/ 'routeTable' smart constructor.+data RouteTable = RouteTable'+    { _rtRoutes          :: !(Maybe [Route])+    , _rtRouteTableId    :: !(Maybe Text)+    , _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:+--+-- * 'rtRoutes'+--+-- * 'rtRouteTableId'+--+-- * 'rtVPCId'+--+-- * 'rtPropagatingVGWs'+--+-- * 'rtAssociations'+--+-- * 'rtTags'+routeTable+    :: RouteTable+routeTable =+    RouteTable'+    { _rtRoutes = Nothing+    , _rtRouteTableId = Nothing+    , _rtVPCId = Nothing+    , _rtPropagatingVGWs = Nothing+    , _rtAssociations = Nothing+    , _rtTags = Nothing+    }++-- | The routes in the route table.+rtRoutes :: Lens' RouteTable [Route]+rtRoutes = lens _rtRoutes (\ s a -> s{_rtRoutes = a}) . _Default . _Coerce;++-- | The ID of the route table.+rtRouteTableId :: Lens' RouteTable (Maybe Text)+rtRouteTableId = lens _rtRouteTableId (\ s a -> s{_rtRouteTableId = a});++-- | 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 .@? "routeSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "routeTableId")+                <*> (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.+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'+    { _sOwnerAlias  :: !(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:+--+-- * 'sOwnerAlias'+--+-- * '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'+    { _sOwnerAlias = Nothing+    , _sKMSKeyId = Nothing+    , _sTags = Nothing+    , _sSnapshotId = pSnapshotId_+    , _sOwnerId = pOwnerId_+    , _sVolumeId = pVolumeId_+    , _sVolumeSize = pVolumeSize_+    , _sDescription = pDescription_+    , _sStartTime = _Time # pStartTime_+    , _sProgress = pProgress_+    , _sState = pState_+    , _sEncrypted = pEncrypted_+    }++-- | 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 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.+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.+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 .@? "ownerAlias") <*> (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)+    , _sdURL           :: !(Maybe Text)+    , _sdFormat        :: !(Maybe Text)+    , _sdDeviceName    :: !(Maybe Text)+    , _sdUserBucket    :: !(Maybe UserBucketDetails)+    , _sdDiskImageSize :: !(Maybe Double)+    , _sdStatusMessage :: !(Maybe Text)+    , _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'+--+-- * 'sdURL'+--+-- * 'sdFormat'+--+-- * 'sdDeviceName'+--+-- * 'sdUserBucket'+--+-- * 'sdDiskImageSize'+--+-- * 'sdStatusMessage'+--+-- * 'sdDescription'+--+-- * 'sdSnapshotId'+snapshotDetail+    :: SnapshotDetail+snapshotDetail =+    SnapshotDetail'+    { _sdStatus = Nothing+    , _sdProgress = Nothing+    , _sdURL = Nothing+    , _sdFormat = Nothing+    , _sdDeviceName = Nothing+    , _sdUserBucket = Nothing+    , _sdDiskImageSize = Nothing+    , _sdStatusMessage = 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 URL used to access the disk image.+sdURL :: Lens' SnapshotDetail (Maybe Text)+sdURL = lens _sdURL (\ s a -> s{_sdURL = 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 block device mapping for the snapshot.+sdDeviceName :: Lens' SnapshotDetail (Maybe Text)+sdDeviceName = lens _sdDeviceName (\ s a -> s{_sdDeviceName = 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 detailed status message for the snapshot creation.+sdStatusMessage :: Lens' SnapshotDetail (Maybe Text)+sdStatusMessage = lens _sdStatusMessage (\ s a -> s{_sdStatusMessage = 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 .@? "url")+                <*> (x .@? "format")+                <*> (x .@? "deviceName")+                <*> (x .@? "userBucket")+                <*> (x .@? "diskImageSize")+                <*> (x .@? "statusMessage")+                <*> (x .@? "description")+                <*> (x .@? "snapshotId")++-- | The disk container object for the import snapshot request.+--+-- /See:/ 'snapshotDiskContainer' smart constructor.+data SnapshotDiskContainer = SnapshotDiskContainer'+    { _sdcURL         :: !(Maybe Text)+    , _sdcFormat      :: !(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:+--+-- * 'sdcURL'+--+-- * 'sdcFormat'+--+-- * 'sdcUserBucket'+--+-- * 'sdcDescription'+snapshotDiskContainer+    :: SnapshotDiskContainer+snapshotDiskContainer =+    SnapshotDiskContainer'+    { _sdcURL = Nothing+    , _sdcFormat = Nothing+    , _sdcUserBucket = Nothing+    , _sdcDescription = Nothing+    }++-- | 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});++-- | 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});++-- | 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+              ["Url" =: _sdcURL, "Format" =: _sdcFormat,+               "UserBucket" =: _sdcUserBucket,+               "Description" =: _sdcDescription]++-- | Details about the import snapshot task.+--+-- /See:/ 'snapshotTaskDetail' smart constructor.+data SnapshotTaskDetail = SnapshotTaskDetail'+    { _stdStatus        :: !(Maybe Text)+    , _stdProgress      :: !(Maybe Text)+    , _stdURL           :: !(Maybe Text)+    , _stdFormat        :: !(Maybe Text)+    , _stdUserBucket    :: !(Maybe UserBucketDetails)+    , _stdDiskImageSize :: !(Maybe Double)+    , _stdStatusMessage :: !(Maybe Text)+    , _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'+--+-- * 'stdURL'+--+-- * 'stdFormat'+--+-- * 'stdUserBucket'+--+-- * 'stdDiskImageSize'+--+-- * 'stdStatusMessage'+--+-- * 'stdDescription'+--+-- * 'stdSnapshotId'+snapshotTaskDetail+    :: SnapshotTaskDetail+snapshotTaskDetail =+    SnapshotTaskDetail'+    { _stdStatus = Nothing+    , _stdProgress = Nothing+    , _stdURL = Nothing+    , _stdFormat = Nothing+    , _stdUserBucket = Nothing+    , _stdDiskImageSize = Nothing+    , _stdStatusMessage = 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 URL of the disk image from which the snapshot is created.+stdURL :: Lens' SnapshotTaskDetail (Maybe Text)+stdURL = lens _stdURL (\ s a -> s{_stdURL = 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 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});++-- | A detailed status message for the import snapshot task.+stdStatusMessage :: Lens' SnapshotTaskDetail (Maybe Text)+stdStatusMessage = lens _stdStatusMessage (\ s a -> s{_stdStatusMessage = 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 .@? "url")+                <*> (x .@? "format")+                <*> (x .@? "userBucket")+                <*> (x .@? "diskImageSize")+                <*> (x .@? "statusMessage")+                <*> (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 an instance.+--+-- /See:/ 'spotFleetLaunchSpecification' smart constructor.+data SpotFleetLaunchSpecification = SpotFleetLaunchSpecification'+    { _sflsSecurityGroups      :: !(Maybe [GroupIdentifier])+    , _sflsNetworkInterfaces   :: !(Maybe [InstanceNetworkInterfaceSpecification])+    , _sflsKeyName             :: !(Maybe Text)+    , _sflsRAMDiskId           :: !(Maybe Text)+    , _sflsKernelId            :: !(Maybe Text)+    , _sflsSubnetId            :: !(Maybe Text)+    , _sflsInstanceType        :: !(Maybe InstanceType)+    , _sflsEBSOptimized        :: !(Maybe Bool)+    , _sflsUserData            :: !(Maybe Text)+    , _sflsMonitoring          :: !(Maybe SpotFleetMonitoring)+    , _sflsIAMInstanceProfile  :: !(Maybe IAMInstanceProfileSpecification)+    , _sflsImageId             :: !(Maybe Text)+    , _sflsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _sflsAddressingType      :: !(Maybe Text)+    , _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'+--+-- * 'sflsNetworkInterfaces'+--+-- * 'sflsKeyName'+--+-- * 'sflsRAMDiskId'+--+-- * 'sflsKernelId'+--+-- * 'sflsSubnetId'+--+-- * 'sflsInstanceType'+--+-- * 'sflsEBSOptimized'+--+-- * 'sflsUserData'+--+-- * 'sflsMonitoring'+--+-- * 'sflsIAMInstanceProfile'+--+-- * 'sflsImageId'+--+-- * 'sflsBlockDeviceMappings'+--+-- * 'sflsAddressingType'+--+-- * 'sflsPlacement'+spotFleetLaunchSpecification+    :: SpotFleetLaunchSpecification+spotFleetLaunchSpecification =+    SpotFleetLaunchSpecification'+    { _sflsSecurityGroups = Nothing+    , _sflsNetworkInterfaces = Nothing+    , _sflsKeyName = Nothing+    , _sflsRAMDiskId = Nothing+    , _sflsKernelId = Nothing+    , _sflsSubnetId = Nothing+    , _sflsInstanceType = Nothing+    , _sflsEBSOptimized = Nothing+    , _sflsUserData = Nothing+    , _sflsMonitoring = Nothing+    , _sflsIAMInstanceProfile = Nothing+    , _sflsImageId = Nothing+    , _sflsBlockDeviceMappings = Nothing+    , _sflsAddressingType = Nothing+    , _sflsPlacement = Nothing+    }++-- | One or more security groups. To request an instance in a nondefault VPC,+-- you must specify the ID of the security group. To request an instance in+-- EC2-Classic or a default VPC, you can specify the name or the ID of the+-- security group.+sflsSecurityGroups :: Lens' SpotFleetLaunchSpecification [GroupIdentifier]+sflsSecurityGroups = lens _sflsSecurityGroups (\ s a -> s{_sflsSecurityGroups = a}) . _Default . _Coerce;++-- | One or more network interfaces.+sflsNetworkInterfaces :: Lens' SpotFleetLaunchSpecification [InstanceNetworkInterfaceSpecification]+sflsNetworkInterfaces = lens _sflsNetworkInterfaces (\ s a -> s{_sflsNetworkInterfaces = a}) . _Default . _Coerce;++-- | The name of the key pair.+sflsKeyName :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsKeyName = lens _sflsKeyName (\ s a -> s{_sflsKeyName = a});++-- | The ID of the RAM disk.+sflsRAMDiskId :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsRAMDiskId = lens _sflsRAMDiskId (\ s a -> s{_sflsRAMDiskId = a});++-- | The ID of the kernel.+sflsKernelId :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsKernelId = lens _sflsKernelId (\ s a -> s{_sflsKernelId = a});++-- | The ID of the subnet in which to launch the instance.+sflsSubnetId :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsSubnetId = lens _sflsSubnetId (\ s a -> s{_sflsSubnetId = a});++-- | The instance type.+sflsInstanceType :: Lens' SpotFleetLaunchSpecification (Maybe InstanceType)+sflsInstanceType = lens _sflsInstanceType (\ s a -> s{_sflsInstanceType = 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'+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 instance.+sflsMonitoring :: Lens' SpotFleetLaunchSpecification (Maybe SpotFleetMonitoring)+sflsMonitoring = lens _sflsMonitoring (\ s a -> s{_sflsMonitoring = a});++-- | Undocumented member.+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});++-- | One or more block device mapping entries.+sflsBlockDeviceMappings :: Lens' SpotFleetLaunchSpecification [BlockDeviceMapping]+sflsBlockDeviceMappings = lens _sflsBlockDeviceMappings (\ s a -> s{_sflsBlockDeviceMappings = a}) . _Default . _Coerce;++-- | Deprecated.+sflsAddressingType :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsAddressingType = lens _sflsAddressingType (\ s a -> s{_sflsAddressingType = a});++-- | Undocumented member.+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 .@? "networkInterfaceSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "keyName")+                <*> (x .@? "ramdiskId")+                <*> (x .@? "kernelId")+                <*> (x .@? "subnetId")+                <*> (x .@? "instanceType")+                <*> (x .@? "ebsOptimized")+                <*> (x .@? "userData")+                <*> (x .@? "monitoring")+                <*> (x .@? "iamInstanceProfile")+                <*> (x .@? "imageId")+                <*>+                (x .@? "blockDeviceMapping" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "addressingType")+                <*> (x .@? "placement")++instance ToQuery SpotFleetLaunchSpecification where+        toQuery SpotFleetLaunchSpecification'{..}+          = mconcat+              [toQuery+                 (toQueryList "item" <$> _sflsSecurityGroups),+               toQuery+                 (toQueryList "item" <$> _sflsNetworkInterfaces),+               "KeyName" =: _sflsKeyName,+               "RamdiskId" =: _sflsRAMDiskId,+               "KernelId" =: _sflsKernelId,+               "SubnetId" =: _sflsSubnetId,+               "InstanceType" =: _sflsInstanceType,+               "EbsOptimized" =: _sflsEBSOptimized,+               "UserData" =: _sflsUserData,+               "Monitoring" =: _sflsMonitoring,+               "IamInstanceProfile" =: _sflsIAMInstanceProfile,+               "ImageId" =: _sflsImageId,+               toQuery+                 (toQueryList "item" <$> _sflsBlockDeviceMappings),+               "AddressingType" =: _sflsAddressingType,+               "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+    } 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'+spotFleetRequestConfig+    :: Text -- ^ 'sfrcSpotFleetRequestId'+    -> BatchState -- ^ 'sfrcSpotFleetRequestState'+    -> SpotFleetRequestConfigData -- ^ 'sfrcSpotFleetRequestConfig'+    -> SpotFleetRequestConfig+spotFleetRequestConfig pSpotFleetRequestId_ pSpotFleetRequestState_ pSpotFleetRequestConfig_ =+    SpotFleetRequestConfig'+    { _sfrcSpotFleetRequestId = pSpotFleetRequestId_+    , _sfrcSpotFleetRequestState = pSpotFleetRequestState_+    , _sfrcSpotFleetRequestConfig = pSpotFleetRequestConfig_+    }++-- | 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});++instance FromXML SpotFleetRequestConfig where+        parseXML x+          = SpotFleetRequestConfig' <$>+              (x .@ "spotFleetRequestId") <*>+                (x .@ "spotFleetRequestState")+                <*> (x .@ "spotFleetRequestConfig")++-- | Describes the configuration of a Spot fleet request.+--+-- /See:/ 'spotFleetRequestConfigData' smart constructor.+data SpotFleetRequestConfigData = SpotFleetRequestConfigData'+    { _sfrcdClientToken                      :: !(Maybe Text)+    , _sfrcdValidUntil                       :: !(Maybe ISO8601)+    , _sfrcdTerminateInstancesWithExpiration :: !(Maybe Bool)+    , _sfrcdValidFrom                        :: !(Maybe ISO8601)+    , _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'+--+-- * 'sfrcdValidUntil'+--+-- * 'sfrcdTerminateInstancesWithExpiration'+--+-- * 'sfrcdValidFrom'+--+-- * 'sfrcdSpotPrice'+--+-- * 'sfrcdTargetCapacity'+--+-- * 'sfrcdIAMFleetRole'+--+-- * 'sfrcdLaunchSpecifications'+spotFleetRequestConfigData+    :: Text -- ^ 'sfrcdSpotPrice'+    -> Int -- ^ 'sfrcdTargetCapacity'+    -> Text -- ^ 'sfrcdIAMFleetRole'+    -> NonEmpty SpotFleetLaunchSpecification -- ^ 'sfrcdLaunchSpecifications'+    -> SpotFleetRequestConfigData+spotFleetRequestConfigData pSpotPrice_ pTargetCapacity_ pIAMFleetRole_ pLaunchSpecifications_ =+    SpotFleetRequestConfigData'+    { _sfrcdClientToken = Nothing+    , _sfrcdValidUntil = Nothing+    , _sfrcdTerminateInstancesWithExpiration = Nothing+    , _sfrcdValidFrom = 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});++-- | 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 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;++-- | The maximum hourly price (bid) for any Spot Instance launched to fulfill+-- the request.+sfrcdSpotPrice :: Lens' SpotFleetRequestConfigData Text+sfrcdSpotPrice = lens _sfrcdSpotPrice (\ s a -> s{_sfrcdSpotPrice = a});++-- | The maximum number of Spot Instances to launch.+sfrcdTargetCapacity :: Lens' SpotFleetRequestConfigData Int+sfrcdTargetCapacity = lens _sfrcdTargetCapacity (\ s a -> s{_sfrcdTargetCapacity = a});++-- | Grants the Spot fleet service permission to terminate instances on your+-- behalf when you cancel a 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 instances.+sfrcdLaunchSpecifications :: Lens' SpotFleetRequestConfigData (NonEmpty SpotFleetLaunchSpecification)+sfrcdLaunchSpecifications = lens _sfrcdLaunchSpecifications (\ s a -> s{_sfrcdLaunchSpecifications = a}) . _List1;++instance FromXML SpotFleetRequestConfigData where+        parseXML x+          = SpotFleetRequestConfigData' <$>+              (x .@? "clientToken") <*> (x .@? "validUntil") <*>+                (x .@? "terminateInstancesWithExpiration")+                <*> (x .@? "validFrom")+                <*> (x .@ "spotPrice")+                <*> (x .@ "targetCapacity")+                <*> (x .@ "iamFleetRole")+                <*>+                (x .@? "launchSpecifications" .!@ mempty >>=+                   parseXMLList1 "item")++instance ToQuery SpotFleetRequestConfigData where+        toQuery SpotFleetRequestConfigData'{..}+          = mconcat+              ["ClientToken" =: _sfrcdClientToken,+               "ValidUntil" =: _sfrcdValidUntil,+               "TerminateInstancesWithExpiration" =:+                 _sfrcdTerminateInstancesWithExpiration,+               "ValidFrom" =: _sfrcdValidFrom,+               "SpotPrice" =: _sfrcdSpotPrice,+               "TargetCapacity" =: _sfrcdTargetCapacity,+               "IamFleetRole" =: _sfrcdIAMFleetRole,+               toQueryList "item" _sfrcdLaunchSpecifications]++-- | Describe a Spot Instance request.+--+-- /See:/ 'spotInstanceRequest' smart constructor.+data SpotInstanceRequest = SpotInstanceRequest'+    { _sirInstanceId               :: !(Maybe Text)+    , _sirStatus                   :: !(Maybe SpotInstanceStatus)+    , _sirState                    :: !(Maybe SpotInstanceState)+    , _sirProductDescription       :: !(Maybe RIProductDescription)+    , _sirSpotPrice                :: !(Maybe Text)+    , _sirAvailabilityZoneGroup    :: !(Maybe Text)+    , _sirLaunchSpecification      :: !(Maybe LaunchSpecification)+    , _sirLaunchedAvailabilityZone :: !(Maybe Text)+    , _sirValidUntil               :: !(Maybe ISO8601)+    , _sirFault                    :: !(Maybe SpotInstanceStateFault)+    , _sirLaunchGroup              :: !(Maybe Text)+    , _sirSpotInstanceRequestId    :: !(Maybe Text)+    , _sirType                     :: !(Maybe SpotInstanceType)+    , _sirValidFrom                :: !(Maybe ISO8601)+    , _sirTags                     :: !(Maybe [Tag])+    , _sirCreateTime               :: !(Maybe ISO8601)+    } 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'+--+-- * 'sirProductDescription'+--+-- * 'sirSpotPrice'+--+-- * 'sirAvailabilityZoneGroup'+--+-- * 'sirLaunchSpecification'+--+-- * 'sirLaunchedAvailabilityZone'+--+-- * 'sirValidUntil'+--+-- * 'sirFault'+--+-- * 'sirLaunchGroup'+--+-- * 'sirSpotInstanceRequestId'+--+-- * 'sirType'+--+-- * 'sirValidFrom'+--+-- * 'sirTags'+--+-- * 'sirCreateTime'+spotInstanceRequest+    :: SpotInstanceRequest+spotInstanceRequest =+    SpotInstanceRequest'+    { _sirInstanceId = Nothing+    , _sirStatus = Nothing+    , _sirState = Nothing+    , _sirProductDescription = Nothing+    , _sirSpotPrice = Nothing+    , _sirAvailabilityZoneGroup = Nothing+    , _sirLaunchSpecification = Nothing+    , _sirLaunchedAvailabilityZone = Nothing+    , _sirValidUntil = Nothing+    , _sirFault = Nothing+    , _sirLaunchGroup = Nothing+    , _sirSpotInstanceRequestId = Nothing+    , _sirType = Nothing+    , _sirValidFrom = Nothing+    , _sirTags = Nothing+    , _sirCreateTime = 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});++-- | 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 any Spot Instance launched to fulfill+-- the request.+sirSpotPrice :: Lens' SpotInstanceRequest (Maybe Text)+sirSpotPrice = lens _sirSpotPrice (\ s a -> s{_sirSpotPrice = 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});++-- | Additional information for launching instances.+sirLaunchSpecification :: Lens' SpotInstanceRequest (Maybe LaunchSpecification)+sirLaunchSpecification = lens _sirLaunchSpecification (\ s a -> s{_sirLaunchSpecification = 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, the+-- request 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 fault codes for the Spot Instance request, if any.+sirFault :: Lens' SpotInstanceRequest (Maybe SpotInstanceStateFault)+sirFault = lens _sirFault (\ s a -> s{_sirFault = a});++-- | 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 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). If this is a one-time request, the+-- request becomes active at this date and time and remains active until+-- all instances launch, the request expires, or the request is canceled.+-- If the request is persistent, the request becomes active at this date+-- and time and remains active until it expires or is canceled.+sirValidFrom :: Lens' SpotInstanceRequest (Maybe UTCTime)+sirValidFrom = lens _sirValidFrom (\ s a -> s{_sirValidFrom = a}) . mapping _Time;++-- | Any tags assigned to the resource.+sirTags :: Lens' SpotInstanceRequest [Tag]+sirTags = lens _sirTags (\ s a -> s{_sirTags = a}) . _Default . _Coerce;++-- | 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;++instance FromXML SpotInstanceRequest where+        parseXML x+          = SpotInstanceRequest' <$>+              (x .@? "instanceId") <*> (x .@? "status") <*>+                (x .@? "state")+                <*> (x .@? "productDescription")+                <*> (x .@? "spotPrice")+                <*> (x .@? "availabilityZoneGroup")+                <*> (x .@? "launchSpecification")+                <*> (x .@? "launchedAvailabilityZone")+                <*> (x .@? "validUntil")+                <*> (x .@? "fault")+                <*> (x .@? "launchGroup")+                <*> (x .@? "spotInstanceRequestId")+                <*> (x .@? "type")+                <*> (x .@? "validFrom")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "createTime")++-- | 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.+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 Zone.+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'+    { _subTags                    :: !(Maybe [Tag])+    , _subAvailabilityZone        :: !Text+    , _subAvailableIPAddressCount :: !Int+    , _subCIdRBlock               :: !Text+    , _subDefaultForAz            :: !Bool+    , _subMapPublicIPOnLaunch     :: !Bool+    , _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:+--+-- * 'subTags'+--+-- * 'subAvailabilityZone'+--+-- * 'subAvailableIPAddressCount'+--+-- * 'subCIdRBlock'+--+-- * 'subDefaultForAz'+--+-- * 'subMapPublicIPOnLaunch'+--+-- * 'subState'+--+-- * 'subSubnetId'+--+-- * 'subVPCId'+subnet+    :: Text -- ^ 'subAvailabilityZone'+    -> Int -- ^ 'subAvailableIPAddressCount'+    -> Text -- ^ 'subCIdRBlock'+    -> Bool -- ^ 'subDefaultForAz'+    -> Bool -- ^ 'subMapPublicIPOnLaunch'+    -> SubnetState -- ^ 'subState'+    -> Text -- ^ 'subSubnetId'+    -> Text -- ^ 'subVPCId'+    -> Subnet+subnet pAvailabilityZone_ pAvailableIPAddressCount_ pCIdRBlock_ pDefaultForAz_ pMapPublicIPOnLaunch_ pState_ pSubnetId_ pVPCId_ =+    Subnet'+    { _subTags = Nothing+    , _subAvailabilityZone = pAvailabilityZone_+    , _subAvailableIPAddressCount = pAvailableIPAddressCount_+    , _subCIdRBlock = pCIdRBlock_+    , _subDefaultForAz = pDefaultForAz_+    , _subMapPublicIPOnLaunch = pMapPublicIPOnLaunch_+    , _subState = pState_+    , _subSubnetId = pSubnetId_+    , _subVPCId = pVPCId_+    }++-- | 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});++-- | Indicates whether this is the default subnet for the Availability Zone.+subDefaultForAz :: Lens' Subnet Bool+subDefaultForAz = lens _subDefaultForAz (\ s a -> s{_subDefaultForAz = a});++-- | Indicates whether instances launched in this subnet receive a public IP+-- address.+subMapPublicIPOnLaunch :: Lens' Subnet Bool+subMapPublicIPOnLaunch = lens _subMapPublicIPOnLaunch (\ s a -> s{_subMapPublicIPOnLaunch = 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 .@? "tagSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@ "availabilityZone")+                <*> (x .@ "availableIpAddressCount")+                <*> (x .@ "cidrBlock")+                <*> (x .@ "defaultForAz")+                <*> (x .@ "mapPublicIpOnLaunch")+                <*> (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 occured. 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])+    , _vpcCIdRBlock       :: !Text+    , _vpcDHCPOptionsId   :: !Text+    , _vpcInstanceTenancy :: !Tenancy+    , _vpcIsDefault       :: !Bool+    , _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'+--+-- * 'vpcCIdRBlock'+--+-- * 'vpcDHCPOptionsId'+--+-- * 'vpcInstanceTenancy'+--+-- * 'vpcIsDefault'+--+-- * 'vpcState'+--+-- * 'vpcVPCId'+vpc+    :: Text -- ^ 'vpcCIdRBlock'+    -> Text -- ^ 'vpcDHCPOptionsId'+    -> Tenancy -- ^ 'vpcInstanceTenancy'+    -> Bool -- ^ 'vpcIsDefault'+    -> VPCState -- ^ 'vpcState'+    -> Text -- ^ 'vpcVPCId'+    -> VPC+vpc pCIdRBlock_ pDHCPOptionsId_ pInstanceTenancy_ pIsDefault_ pState_ pVPCId_ =+    VPC'+    { _vpcTags = Nothing+    , _vpcCIdRBlock = pCIdRBlock_+    , _vpcDHCPOptionsId = pDHCPOptionsId_+    , _vpcInstanceTenancy = pInstanceTenancy_+    , _vpcIsDefault = pIsDefault_+    , _vpcState = pState_+    , _vpcVPCId = pVPCId_+    }++-- | Any tags assigned to the VPC.+vpcTags :: Lens' VPC [Tag]+vpcTags = lens _vpcTags (\ s a -> s{_vpcTags = a}) . _Default . _Coerce;++-- | 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});++-- | Indicates whether the VPC is the default VPC.+vpcIsDefault :: Lens' VPC Bool+vpcIsDefault = lens _vpcIsDefault (\ s a -> s{_vpcIsDefault = 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 .@ "cidrBlock")+                <*> (x .@ "dhcpOptionsId")+                <*> (x .@ "instanceTenancy")+                <*> (x .@ "isDefault")+                <*> (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'+    { _vePolicyDocument    :: !(Maybe Text)+    , _veState             :: !(Maybe State)+    , _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:+--+-- * 'vePolicyDocument'+--+-- * 'veState'+--+-- * 'veVPCId'+--+-- * 'veCreationTimestamp'+--+-- * 'veServiceName'+--+-- * 'veVPCEndpointId'+--+-- * 'veRouteTableIds'+vpcEndpoint+    :: VPCEndpoint+vpcEndpoint =+    VPCEndpoint'+    { _vePolicyDocument = Nothing+    , _veState = Nothing+    , _veVPCId = Nothing+    , _veCreationTimestamp = Nothing+    , _veServiceName = Nothing+    , _veVPCEndpointId = Nothing+    , _veRouteTableIds = Nothing+    }++-- | The policy document associated with the endpoint.+vePolicyDocument :: Lens' VPCEndpoint (Maybe Text)+vePolicyDocument = lens _vePolicyDocument (\ s a -> s{_vePolicyDocument = a});++-- | The state of the VPC endpoint.+veState :: Lens' VPCEndpoint (Maybe State)+veState = lens _veState (\ s a -> s{_veState = 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 .@? "policyDocument") <*> (x .@? "state") <*>+                (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'+    { _vpcpcStatus                 :: !(Maybe VPCPeeringConnectionStateReason)+    , _vpcpcVPCPeeringConnectionId :: !(Maybe Text)+    , _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:+--+-- * 'vpcpcStatus'+--+-- * 'vpcpcVPCPeeringConnectionId'+--+-- * 'vpcpcAccepterVPCInfo'+--+-- * 'vpcpcRequesterVPCInfo'+--+-- * 'vpcpcExpirationTime'+--+-- * 'vpcpcTags'+vpcPeeringConnection+    :: VPCPeeringConnection+vpcPeeringConnection =+    VPCPeeringConnection'+    { _vpcpcStatus = Nothing+    , _vpcpcVPCPeeringConnectionId = Nothing+    , _vpcpcAccepterVPCInfo = Nothing+    , _vpcpcRequesterVPCInfo = Nothing+    , _vpcpcExpirationTime = Nothing+    , _vpcpcTags = Nothing+    }++-- | The status of the VPC peering connection.+vpcpcStatus :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionStateReason)+vpcpcStatus = lens _vpcpcStatus (\ s a -> s{_vpcpcStatus = a});++-- | The ID of the VPC peering connection.+vpcpcVPCPeeringConnectionId :: Lens' VPCPeeringConnection (Maybe Text)+vpcpcVPCPeeringConnectionId = lens _vpcpcVPCPeeringConnectionId (\ s a -> s{_vpcpcVPCPeeringConnectionId = 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 .@? "status") <*> (x .@? "vpcPeeringConnectionId")+                <*> (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'+    { _vcRoutes                       :: !(Maybe [VPNStaticRoute])+    , _vcVPNGatewayId                 :: !(Maybe Text)+    , _vcOptions                      :: !(Maybe VPNConnectionOptions)+    , _vcVGWTelemetry                 :: !(Maybe [VGWTelemetry])+    , _vcTags                         :: !(Maybe [Tag])+    , _vcVPNConnectionId              :: !Text+    , _vcCustomerGatewayId            :: !Text+    , _vcCustomerGatewayConfiguration :: !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:+--+-- * 'vcRoutes'+--+-- * 'vcVPNGatewayId'+--+-- * 'vcOptions'+--+-- * 'vcVGWTelemetry'+--+-- * 'vcTags'+--+-- * 'vcVPNConnectionId'+--+-- * 'vcCustomerGatewayId'+--+-- * 'vcCustomerGatewayConfiguration'+--+-- * 'vcState'+--+-- * 'vcType'+vpnConnection+    :: Text -- ^ 'vcVPNConnectionId'+    -> Text -- ^ 'vcCustomerGatewayId'+    -> Text -- ^ 'vcCustomerGatewayConfiguration'+    -> VPNState -- ^ 'vcState'+    -> GatewayType -- ^ 'vcType'+    -> VPNConnection+vpnConnection pVPNConnectionId_ pCustomerGatewayId_ pCustomerGatewayConfiguration_ pState_ pType_ =+    VPNConnection'+    { _vcRoutes = Nothing+    , _vcVPNGatewayId = Nothing+    , _vcOptions = Nothing+    , _vcVGWTelemetry = Nothing+    , _vcTags = Nothing+    , _vcVPNConnectionId = pVPNConnectionId_+    , _vcCustomerGatewayId = pCustomerGatewayId_+    , _vcCustomerGatewayConfiguration = pCustomerGatewayConfiguration_+    , _vcState = pState_+    , _vcType = pType_+    }++-- | 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});++-- | Information about the VPN tunnel.+vcVGWTelemetry :: Lens' VPNConnection [VGWTelemetry]+vcVGWTelemetry = lens _vcVGWTelemetry (\ s a -> s{_vcVGWTelemetry = a}) . _Default . _Coerce;++-- | Any tags assigned to the VPN connection.+vcTags :: Lens' VPNConnection [Tag]+vcTags = lens _vcTags (\ s a -> s{_vcTags = 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 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 Text+vcCustomerGatewayConfiguration = lens _vcCustomerGatewayConfiguration (\ s a -> s{_vcCustomerGatewayConfiguration = 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 .@? "routes" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "vpnGatewayId")+                <*> (x .@? "options")+                <*>+                (x .@? "vgwTelemetry" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@ "vpnConnectionId")+                <*> (x .@ "customerGatewayId")+                <*> (x .@ "customerGatewayConfiguration")+                <*> (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'+    { _vgVPCAttachments   :: !(Maybe [VPCAttachment])+    , _vgState            :: !(Maybe VPNState)+    , _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:+--+-- * 'vgVPCAttachments'+--+-- * 'vgState'+--+-- * 'vgVPNGatewayId'+--+-- * 'vgAvailabilityZone'+--+-- * 'vgType'+--+-- * 'vgTags'+vpnGateway+    :: VPNGateway+vpnGateway =+    VPNGateway'+    { _vgVPCAttachments = Nothing+    , _vgState = Nothing+    , _vgVPNGatewayId = Nothing+    , _vgAvailabilityZone = Nothing+    , _vgType = Nothing+    , _vgTags = Nothing+    }++-- | Any VPCs attached to the virtual private gateway.+vgVPCAttachments :: Lens' VPNGateway [VPCAttachment]+vgVPCAttachments = lens _vgVPCAttachments (\ s a -> s{_vgVPCAttachments = a}) . _Default . _Coerce;++-- | The current state of the virtual private gateway.+vgState :: Lens' VPNGateway (Maybe VPNState)+vgState = lens _vgState (\ s a -> s{_vgState = a});++-- | 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 .@? "attachments" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "state")+                <*> (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])+    , _vsiAvailabilityZone :: !(Maybe Text)+    , _vsiEvents           :: !(Maybe [VolumeStatusEvent])+    , _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'+--+-- * 'vsiAvailabilityZone'+--+-- * 'vsiEvents'+--+-- * 'vsiVolumeId'+volumeStatusItem+    :: VolumeStatusItem+volumeStatusItem =+    VolumeStatusItem'+    { _vsiVolumeStatus = Nothing+    , _vsiActions = Nothing+    , _vsiAvailabilityZone = Nothing+    , _vsiEvents = 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;++-- | The Availability Zone of the volume.+vsiAvailabilityZone :: Lens' VolumeStatusItem (Maybe Text)+vsiAvailabilityZone = lens _vsiAvailabilityZone (\ s a -> s{_vsiAvailabilityZone = a});++-- | A list of events associated with the volume.+vsiEvents :: Lens' VolumeStatusItem [VolumeStatusEvent]+vsiEvents = lens _vsiEvents (\ s a -> s{_vsiEvents = a}) . _Default . _Coerce;++-- | 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 .@? "availabilityZone")+                <*>+                (x .@? "eventsSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "volumeId")
+ gen/Network/AWS/EC2/Types/Sum.hs view
@@ -0,0 +1,2404 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.EC2.Types.Sum+-- 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.Sum where++import           Network.AWS.Prelude++data AccountAttributeName+    = DefaultVPC+    | SupportedPlatforms+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText AccountAttributeName where+    parser = takeLowerText >>= \case+        "default-vpc" -> pure DefaultVPC+        "supported-platforms" -> pure SupportedPlatforms+        e -> fromTextError $ "Failure parsing AccountAttributeName from value: '" <> e+           <> "'. Accepted values: default-vpc, supported-platforms"++instance ToText AccountAttributeName where+    toText = \case+        DefaultVPC -> "default-vpc"+        SupportedPlatforms -> "supported-platforms"++instance Hashable     AccountAttributeName+instance ToByteString AccountAttributeName+instance ToQuery      AccountAttributeName+instance ToHeader     AccountAttributeName++data AddressStatus+    = InClassic+    | InVPC+    | MoveInProgress+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText AddressStatus where+    parser = takeLowerText >>= \case+        "inclassic" -> pure InClassic+        "invpc" -> pure InVPC+        "moveinprogress" -> pure MoveInProgress+        e -> fromTextError $ "Failure parsing AddressStatus from value: '" <> e+           <> "'. Accepted values: inclassic, invpc, moveinprogress"++instance ToText AddressStatus where+    toText = \case+        InClassic -> "inclassic"+        InVPC -> "invpc"+        MoveInProgress -> "moveinprogress"++instance Hashable     AddressStatus+instance ToByteString AddressStatus+instance ToQuery      AddressStatus+instance ToHeader     AddressStatus++instance FromXML AddressStatus where+    parseXML = parseXMLText "AddressStatus"++data ArchitectureValues+    = I386+    | X86_64+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ArchitectureValues where+    parser = takeLowerText >>= \case+        "i386" -> pure I386+        "x86_64" -> pure X86_64+        e -> fromTextError $ "Failure parsing ArchitectureValues from value: '" <> e+           <> "'. Accepted values: i386, x86_64"++instance ToText ArchitectureValues where+    toText = \case+        I386 -> "i386"+        X86_64 -> "x86_64"++instance Hashable     ArchitectureValues+instance ToByteString ArchitectureValues+instance ToQuery      ArchitectureValues+instance ToHeader     ArchitectureValues++instance FromXML ArchitectureValues where+    parseXML = parseXMLText "ArchitectureValues"++data AttachmentStatus+    = Attached+    | Attaching+    | Detached+    | Detaching+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText AttachmentStatus where+    parser = takeLowerText >>= \case+        "attached" -> pure Attached+        "attaching" -> pure Attaching+        "detached" -> pure Detached+        "detaching" -> pure Detaching+        e -> fromTextError $ "Failure parsing AttachmentStatus from value: '" <> e+           <> "'. Accepted values: attached, attaching, detached, detaching"++instance ToText AttachmentStatus where+    toText = \case+        Attached -> "attached"+        Attaching -> "attaching"+        Detached -> "detached"+        Detaching -> "detaching"++instance Hashable     AttachmentStatus+instance ToByteString AttachmentStatus+instance ToQuery      AttachmentStatus+instance ToHeader     AttachmentStatus++instance FromXML AttachmentStatus where+    parseXML = parseXMLText "AttachmentStatus"++data AvailabilityZoneState =+    AZSAvailable+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText AvailabilityZoneState where+    parser = takeLowerText >>= \case+        "available" -> pure AZSAvailable+        e -> fromTextError $ "Failure parsing AvailabilityZoneState from value: '" <> e+           <> "'. Accepted values: available"++instance ToText AvailabilityZoneState where+    toText = \case+        AZSAvailable -> "available"++instance Hashable     AvailabilityZoneState+instance ToByteString AvailabilityZoneState+instance ToQuery      AvailabilityZoneState+instance ToHeader     AvailabilityZoneState++instance FromXML AvailabilityZoneState where+    parseXML = parseXMLText "AvailabilityZoneState"++data BatchState+    = BSActive+    | BSCancelled+    | BSCancelledRunning+    | BSCancelledTerminating+    | BSFailed+    | BSSubmitted+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText BatchState where+    parser = takeLowerText >>= \case+        "active" -> pure BSActive+        "cancelled" -> pure BSCancelled+        "cancelled_running" -> pure BSCancelledRunning+        "cancelled_terminating" -> pure BSCancelledTerminating+        "failed" -> pure BSFailed+        "submitted" -> pure BSSubmitted+        e -> fromTextError $ "Failure parsing BatchState from value: '" <> e+           <> "'. Accepted values: active, cancelled, cancelled_running, cancelled_terminating, failed, submitted"++instance ToText BatchState where+    toText = \case+        BSActive -> "active"+        BSCancelled -> "cancelled"+        BSCancelledRunning -> "cancelled_running"+        BSCancelledTerminating -> "cancelled_terminating"+        BSFailed -> "failed"+        BSSubmitted -> "submitted"++instance Hashable     BatchState+instance ToByteString BatchState+instance ToQuery      BatchState+instance ToHeader     BatchState++instance FromXML BatchState where+    parseXML = parseXMLText "BatchState"++data BundleTaskState+    = BTSBundling+    | BTSCancelling+    | BTSComplete+    | BTSFailed+    | BTSPending+    | BTSStoring+    | BTSWaitingForShutdown+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText BundleTaskState where+    parser = takeLowerText >>= \case+        "bundling" -> pure BTSBundling+        "cancelling" -> pure BTSCancelling+        "complete" -> pure BTSComplete+        "failed" -> pure BTSFailed+        "pending" -> pure BTSPending+        "storing" -> pure BTSStoring+        "waiting-for-shutdown" -> pure BTSWaitingForShutdown+        e -> fromTextError $ "Failure parsing BundleTaskState from value: '" <> e+           <> "'. Accepted values: bundling, cancelling, complete, failed, pending, storing, waiting-for-shutdown"++instance ToText BundleTaskState where+    toText = \case+        BTSBundling -> "bundling"+        BTSCancelling -> "cancelling"+        BTSComplete -> "complete"+        BTSFailed -> "failed"+        BTSPending -> "pending"+        BTSStoring -> "storing"+        BTSWaitingForShutdown -> "waiting-for-shutdown"++instance Hashable     BundleTaskState+instance ToByteString BundleTaskState+instance ToQuery      BundleTaskState+instance ToHeader     BundleTaskState++instance FromXML BundleTaskState where+    parseXML = parseXMLText "BundleTaskState"++data CancelBatchErrorCode+    = FleetRequestIdDoesNotExist+    | FleetRequestIdMalformed+    | FleetRequestNotInCancellableState+    | UnexpectedError+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText CancelBatchErrorCode where+    parser = takeLowerText >>= \case+        "fleetrequestiddoesnotexist" -> pure FleetRequestIdDoesNotExist+        "fleetrequestidmalformed" -> pure FleetRequestIdMalformed+        "fleetrequestnotincancellablestate" -> pure FleetRequestNotInCancellableState+        "unexpectederror" -> pure UnexpectedError+        e -> fromTextError $ "Failure parsing CancelBatchErrorCode from value: '" <> e+           <> "'. Accepted values: fleetrequestiddoesnotexist, fleetrequestidmalformed, fleetrequestnotincancellablestate, unexpectederror"++instance ToText CancelBatchErrorCode where+    toText = \case+        FleetRequestIdDoesNotExist -> "fleetrequestiddoesnotexist"+        FleetRequestIdMalformed -> "fleetrequestidmalformed"+        FleetRequestNotInCancellableState -> "fleetrequestnotincancellablestate"+        UnexpectedError -> "unexpectederror"++instance Hashable     CancelBatchErrorCode+instance ToByteString CancelBatchErrorCode+instance ToQuery      CancelBatchErrorCode+instance ToHeader     CancelBatchErrorCode++instance FromXML CancelBatchErrorCode where+    parseXML = parseXMLText "CancelBatchErrorCode"++data CancelSpotInstanceRequestState+    = CSIRSActive+    | CSIRSCancelled+    | CSIRSClosed+    | CSIRSCompleted+    | CSIRSOpen+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText CancelSpotInstanceRequestState where+    parser = takeLowerText >>= \case+        "active" -> pure CSIRSActive+        "cancelled" -> pure CSIRSCancelled+        "closed" -> pure CSIRSClosed+        "completed" -> pure CSIRSCompleted+        "open" -> pure CSIRSOpen+        e -> fromTextError $ "Failure parsing CancelSpotInstanceRequestState from value: '" <> e+           <> "'. Accepted values: active, cancelled, closed, completed, open"++instance ToText CancelSpotInstanceRequestState where+    toText = \case+        CSIRSActive -> "active"+        CSIRSCancelled -> "cancelled"+        CSIRSClosed -> "closed"+        CSIRSCompleted -> "completed"+        CSIRSOpen -> "open"++instance Hashable     CancelSpotInstanceRequestState+instance ToByteString CancelSpotInstanceRequestState+instance ToQuery      CancelSpotInstanceRequestState+instance ToHeader     CancelSpotInstanceRequestState++instance FromXML CancelSpotInstanceRequestState where+    parseXML = parseXMLText "CancelSpotInstanceRequestState"++data ContainerFormat =+    Ova+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ContainerFormat where+    parser = takeLowerText >>= \case+        "ova" -> pure Ova+        e -> fromTextError $ "Failure parsing ContainerFormat from value: '" <> e+           <> "'. Accepted values: ova"++instance ToText ContainerFormat where+    toText = \case+        Ova -> "ova"++instance Hashable     ContainerFormat+instance ToByteString ContainerFormat+instance ToQuery      ContainerFormat+instance ToHeader     ContainerFormat++instance FromXML ContainerFormat where+    parseXML = parseXMLText "ContainerFormat"++data ConversionTaskState+    = CTSActive+    | CTSCancelled+    | CTSCancelling+    | CTSCompleted+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ConversionTaskState where+    parser = takeLowerText >>= \case+        "active" -> pure CTSActive+        "cancelled" -> pure CTSCancelled+        "cancelling" -> pure CTSCancelling+        "completed" -> pure CTSCompleted+        e -> fromTextError $ "Failure parsing ConversionTaskState from value: '" <> e+           <> "'. Accepted values: active, cancelled, cancelling, completed"++instance ToText ConversionTaskState where+    toText = \case+        CTSActive -> "active"+        CTSCancelled -> "cancelled"+        CTSCancelling -> "cancelling"+        CTSCompleted -> "completed"++instance Hashable     ConversionTaskState+instance ToByteString ConversionTaskState+instance ToQuery      ConversionTaskState+instance ToHeader     ConversionTaskState++instance FromXML ConversionTaskState where+    parseXML = parseXMLText "ConversionTaskState"++data CurrencyCodeValues =+    Usd+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText CurrencyCodeValues where+    parser = takeLowerText >>= \case+        "usd" -> pure Usd+        e -> fromTextError $ "Failure parsing CurrencyCodeValues from value: '" <> e+           <> "'. Accepted values: usd"++instance ToText CurrencyCodeValues where+    toText = \case+        Usd -> "usd"++instance Hashable     CurrencyCodeValues+instance ToByteString CurrencyCodeValues+instance ToQuery      CurrencyCodeValues+instance ToHeader     CurrencyCodeValues++instance FromXML CurrencyCodeValues where+    parseXML = parseXMLText "CurrencyCodeValues"++data DatafeedSubscriptionState+    = DSSActive+    | DSSInactive+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText DatafeedSubscriptionState where+    parser = takeLowerText >>= \case+        "active" -> pure DSSActive+        "inactive" -> pure DSSInactive+        e -> fromTextError $ "Failure parsing DatafeedSubscriptionState from value: '" <> e+           <> "'. Accepted values: active, inactive"++instance ToText DatafeedSubscriptionState where+    toText = \case+        DSSActive -> "active"+        DSSInactive -> "inactive"++instance Hashable     DatafeedSubscriptionState+instance ToByteString DatafeedSubscriptionState+instance ToQuery      DatafeedSubscriptionState+instance ToHeader     DatafeedSubscriptionState++instance FromXML DatafeedSubscriptionState where+    parseXML = parseXMLText "DatafeedSubscriptionState"++data DeviceType+    = EBS+    | InstanceStore+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText DeviceType where+    parser = takeLowerText >>= \case+        "ebs" -> pure EBS+        "instance-store" -> pure InstanceStore+        e -> fromTextError $ "Failure parsing DeviceType from value: '" <> e+           <> "'. Accepted values: ebs, instance-store"++instance ToText DeviceType where+    toText = \case+        EBS -> "ebs"+        InstanceStore -> "instance-store"++instance Hashable     DeviceType+instance ToByteString DeviceType+instance ToQuery      DeviceType+instance ToHeader     DeviceType++instance FromXML DeviceType where+    parseXML = parseXMLText "DeviceType"++data DiskImageFormat+    = Raw+    | VHD+    | VMDK+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText DiskImageFormat where+    parser = takeLowerText >>= \case+        "raw" -> pure Raw+        "vhd" -> pure VHD+        "vmdk" -> pure VMDK+        e -> fromTextError $ "Failure parsing DiskImageFormat from value: '" <> e+           <> "'. Accepted values: raw, vhd, vmdk"++instance ToText DiskImageFormat where+    toText = \case+        Raw -> "raw"+        VHD -> "vhd"+        VMDK -> "vmdk"++instance Hashable     DiskImageFormat+instance ToByteString DiskImageFormat+instance ToQuery      DiskImageFormat+instance ToHeader     DiskImageFormat++instance FromXML DiskImageFormat where+    parseXML = parseXMLText "DiskImageFormat"++data DomainType+    = DTStandard+    | DTVPC+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText DomainType where+    parser = takeLowerText >>= \case+        "standard" -> pure DTStandard+        "vpc" -> pure DTVPC+        e -> fromTextError $ "Failure parsing DomainType from value: '" <> e+           <> "'. Accepted values: standard, vpc"++instance ToText DomainType where+    toText = \case+        DTStandard -> "standard"+        DTVPC -> "vpc"++instance Hashable     DomainType+instance ToByteString DomainType+instance ToQuery      DomainType+instance ToHeader     DomainType++instance FromXML DomainType where+    parseXML = parseXMLText "DomainType"++data EventCode+    = InstanceReboot+    | InstanceRetirement+    | InstanceStop+    | SystemMaintenance+    | SystemReboot+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText EventCode where+    parser = takeLowerText >>= \case+        "instance-reboot" -> pure InstanceReboot+        "instance-retirement" -> pure InstanceRetirement+        "instance-stop" -> pure InstanceStop+        "system-maintenance" -> pure SystemMaintenance+        "system-reboot" -> pure SystemReboot+        e -> fromTextError $ "Failure parsing EventCode from value: '" <> e+           <> "'. Accepted values: instance-reboot, instance-retirement, instance-stop, system-maintenance, system-reboot"++instance ToText EventCode where+    toText = \case+        InstanceReboot -> "instance-reboot"+        InstanceRetirement -> "instance-retirement"+        InstanceStop -> "instance-stop"+        SystemMaintenance -> "system-maintenance"+        SystemReboot -> "system-reboot"++instance Hashable     EventCode+instance ToByteString EventCode+instance ToQuery      EventCode+instance ToHeader     EventCode++instance FromXML EventCode where+    parseXML = parseXMLText "EventCode"++data EventType+    = Error'+    | FleetRequestChange+    | InstanceChange+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText EventType where+    parser = takeLowerText >>= \case+        "error" -> pure Error'+        "fleetrequestchange" -> pure FleetRequestChange+        "instancechange" -> pure InstanceChange+        e -> fromTextError $ "Failure parsing EventType from value: '" <> e+           <> "'. Accepted values: error, fleetrequestchange, instancechange"++instance ToText EventType where+    toText = \case+        Error' -> "error"+        FleetRequestChange -> "fleetrequestchange"+        InstanceChange -> "instancechange"++instance Hashable     EventType+instance ToByteString EventType+instance ToQuery      EventType+instance ToHeader     EventType++instance FromXML EventType where+    parseXML = parseXMLText "EventType"++data ExportEnvironment+    = Citrix+    | Microsoft+    | VMware+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ExportEnvironment where+    parser = takeLowerText >>= \case+        "citrix" -> pure Citrix+        "microsoft" -> pure Microsoft+        "vmware" -> pure VMware+        e -> fromTextError $ "Failure parsing ExportEnvironment from value: '" <> e+           <> "'. Accepted values: citrix, microsoft, vmware"++instance ToText ExportEnvironment where+    toText = \case+        Citrix -> "citrix"+        Microsoft -> "microsoft"+        VMware -> "vmware"++instance Hashable     ExportEnvironment+instance ToByteString ExportEnvironment+instance ToQuery      ExportEnvironment+instance ToHeader     ExportEnvironment++instance FromXML ExportEnvironment where+    parseXML = parseXMLText "ExportEnvironment"++data ExportTaskState+    = ETSActive+    | ETSCancelled+    | ETSCancelling+    | ETSCompleted+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ExportTaskState where+    parser = takeLowerText >>= \case+        "active" -> pure ETSActive+        "cancelled" -> pure ETSCancelled+        "cancelling" -> pure ETSCancelling+        "completed" -> pure ETSCompleted+        e -> fromTextError $ "Failure parsing ExportTaskState from value: '" <> e+           <> "'. Accepted values: active, cancelled, cancelling, completed"++instance ToText ExportTaskState where+    toText = \case+        ETSActive -> "active"+        ETSCancelled -> "cancelled"+        ETSCancelling -> "cancelling"+        ETSCompleted -> "completed"++instance Hashable     ExportTaskState+instance ToByteString ExportTaskState+instance ToQuery      ExportTaskState+instance ToHeader     ExportTaskState++instance FromXML ExportTaskState where+    parseXML = parseXMLText "ExportTaskState"++data FlowLogsResourceType+    = FLRTNetworkInterface+    | FLRTSubnet+    | FLRTVPC+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText FlowLogsResourceType where+    parser = takeLowerText >>= \case+        "networkinterface" -> pure FLRTNetworkInterface+        "subnet" -> pure FLRTSubnet+        "vpc" -> pure FLRTVPC+        e -> fromTextError $ "Failure parsing FlowLogsResourceType from value: '" <> e+           <> "'. Accepted values: networkinterface, subnet, vpc"++instance ToText FlowLogsResourceType where+    toText = \case+        FLRTNetworkInterface -> "networkinterface"+        FLRTSubnet -> "subnet"+        FLRTVPC -> "vpc"++instance Hashable     FlowLogsResourceType+instance ToByteString FlowLogsResourceType+instance ToQuery      FlowLogsResourceType+instance ToHeader     FlowLogsResourceType++data GatewayType =+    IPsec_1+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText GatewayType where+    parser = takeLowerText >>= \case+        "ipsec.1" -> pure IPsec_1+        e -> fromTextError $ "Failure parsing GatewayType from value: '" <> e+           <> "'. Accepted values: ipsec.1"++instance ToText GatewayType where+    toText = \case+        IPsec_1 -> "ipsec.1"++instance Hashable     GatewayType+instance ToByteString GatewayType+instance ToQuery      GatewayType+instance ToHeader     GatewayType++instance FromXML GatewayType where+    parseXML = parseXMLText "GatewayType"++data HypervisorType+    = Ovm+    | Xen+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText HypervisorType where+    parser = takeLowerText >>= \case+        "ovm" -> pure Ovm+        "xen" -> pure Xen+        e -> fromTextError $ "Failure parsing HypervisorType from value: '" <> e+           <> "'. Accepted values: ovm, xen"++instance ToText HypervisorType where+    toText = \case+        Ovm -> "ovm"+        Xen -> "xen"++instance Hashable     HypervisorType+instance ToByteString HypervisorType+instance ToQuery      HypervisorType+instance ToHeader     HypervisorType++instance FromXML HypervisorType where+    parseXML = parseXMLText "HypervisorType"++data ImageAttributeName+    = BlockDeviceMapping+    | Description+    | Kernel+    | LaunchPermission+    | ProductCodes+    | RAMDisk+    | SRIOVNetSupport+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ImageAttributeName where+    parser = takeLowerText >>= \case+        "blockdevicemapping" -> pure BlockDeviceMapping+        "description" -> pure Description+        "kernel" -> pure Kernel+        "launchpermission" -> pure LaunchPermission+        "productcodes" -> pure ProductCodes+        "ramdisk" -> pure RAMDisk+        "sriovnetsupport" -> pure SRIOVNetSupport+        e -> fromTextError $ "Failure parsing ImageAttributeName from value: '" <> e+           <> "'. Accepted values: blockdevicemapping, description, kernel, launchpermission, productcodes, ramdisk, sriovnetsupport"++instance ToText ImageAttributeName where+    toText = \case+        BlockDeviceMapping -> "blockdevicemapping"+        Description -> "description"+        Kernel -> "kernel"+        LaunchPermission -> "launchpermission"+        ProductCodes -> "productcodes"+        RAMDisk -> "ramdisk"+        SRIOVNetSupport -> "sriovnetsupport"++instance Hashable     ImageAttributeName+instance ToByteString ImageAttributeName+instance ToQuery      ImageAttributeName+instance ToHeader     ImageAttributeName++data ImageState+    = ISAvailable+    | ISDeregistered+    | ISError'+    | ISFailed+    | ISInvalid+    | ISPending+    | ISTransient+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ImageState where+    parser = takeLowerText >>= \case+        "available" -> pure ISAvailable+        "deregistered" -> pure ISDeregistered+        "error" -> pure ISError'+        "failed" -> pure ISFailed+        "invalid" -> pure ISInvalid+        "pending" -> pure ISPending+        "transient" -> pure ISTransient+        e -> fromTextError $ "Failure parsing ImageState from value: '" <> e+           <> "'. Accepted values: available, deregistered, error, failed, invalid, pending, transient"++instance ToText ImageState where+    toText = \case+        ISAvailable -> "available"+        ISDeregistered -> "deregistered"+        ISError' -> "error"+        ISFailed -> "failed"+        ISInvalid -> "invalid"+        ISPending -> "pending"+        ISTransient -> "transient"++instance Hashable     ImageState+instance ToByteString ImageState+instance ToQuery      ImageState+instance ToHeader     ImageState++instance FromXML ImageState where+    parseXML = parseXMLText "ImageState"++data ImageTypeValues+    = ITVKernel+    | ITVMachine+    | ITVRAMDisk+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ImageTypeValues where+    parser = takeLowerText >>= \case+        "kernel" -> pure ITVKernel+        "machine" -> pure ITVMachine+        "ramdisk" -> pure ITVRAMDisk+        e -> fromTextError $ "Failure parsing ImageTypeValues from value: '" <> e+           <> "'. Accepted values: kernel, machine, ramdisk"++instance ToText ImageTypeValues where+    toText = \case+        ITVKernel -> "kernel"+        ITVMachine -> "machine"+        ITVRAMDisk -> "ramdisk"++instance Hashable     ImageTypeValues+instance ToByteString ImageTypeValues+instance ToQuery      ImageTypeValues+instance ToHeader     ImageTypeValues++instance FromXML ImageTypeValues where+    parseXML = parseXMLText "ImageTypeValues"++data InstanceAttributeName+    = IANBlockDeviceMapping+    | IANDisableAPITermination+    | IANEBSOptimized+    | IANGroupSet+    | IANInstanceInitiatedShutdownBehavior+    | IANInstanceType+    | IANKernel+    | IANProductCodes+    | IANRAMDisk+    | IANRootDeviceName+    | IANSRIOVNetSupport+    | IANSourceDestCheck+    | IANUserData+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText InstanceAttributeName where+    parser = takeLowerText >>= \case+        "blockdevicemapping" -> pure IANBlockDeviceMapping+        "disableapitermination" -> pure IANDisableAPITermination+        "ebsoptimized" -> pure IANEBSOptimized+        "groupset" -> pure IANGroupSet+        "instanceinitiatedshutdownbehavior" -> pure IANInstanceInitiatedShutdownBehavior+        "instancetype" -> pure IANInstanceType+        "kernel" -> pure IANKernel+        "productcodes" -> pure IANProductCodes+        "ramdisk" -> pure IANRAMDisk+        "rootdevicename" -> pure IANRootDeviceName+        "sriovnetsupport" -> pure IANSRIOVNetSupport+        "sourcedestcheck" -> pure IANSourceDestCheck+        "userdata" -> pure IANUserData+        e -> fromTextError $ "Failure parsing InstanceAttributeName from value: '" <> e+           <> "'. Accepted values: blockdevicemapping, disableapitermination, ebsoptimized, groupset, instanceinitiatedshutdownbehavior, instancetype, kernel, productcodes, ramdisk, rootdevicename, sriovnetsupport, sourcedestcheck, userdata"++instance ToText InstanceAttributeName where+    toText = \case+        IANBlockDeviceMapping -> "blockdevicemapping"+        IANDisableAPITermination -> "disableapitermination"+        IANEBSOptimized -> "ebsoptimized"+        IANGroupSet -> "groupset"+        IANInstanceInitiatedShutdownBehavior -> "instanceinitiatedshutdownbehavior"+        IANInstanceType -> "instancetype"+        IANKernel -> "kernel"+        IANProductCodes -> "productcodes"+        IANRAMDisk -> "ramdisk"+        IANRootDeviceName -> "rootdevicename"+        IANSRIOVNetSupport -> "sriovnetsupport"+        IANSourceDestCheck -> "sourcedestcheck"+        IANUserData -> "userdata"++instance Hashable     InstanceAttributeName+instance ToByteString InstanceAttributeName+instance ToQuery      InstanceAttributeName+instance ToHeader     InstanceAttributeName++data InstanceLifecycleType =+    Spot+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText InstanceLifecycleType where+    parser = takeLowerText >>= \case+        "spot" -> pure Spot+        e -> fromTextError $ "Failure parsing InstanceLifecycleType from value: '" <> e+           <> "'. Accepted values: spot"++instance ToText InstanceLifecycleType where+    toText = \case+        Spot -> "spot"++instance Hashable     InstanceLifecycleType+instance ToByteString InstanceLifecycleType+instance ToQuery      InstanceLifecycleType+instance ToHeader     InstanceLifecycleType++instance FromXML InstanceLifecycleType where+    parseXML = parseXMLText "InstanceLifecycleType"++data InstanceStateName+    = ISNPending+    | ISNRunning+    | ISNShuttingDown+    | ISNStopped+    | ISNStopping+    | ISNTerminated+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText InstanceStateName where+    parser = takeLowerText >>= \case+        "pending" -> pure ISNPending+        "running" -> pure ISNRunning+        "shutting-down" -> pure ISNShuttingDown+        "stopped" -> pure ISNStopped+        "stopping" -> pure ISNStopping+        "terminated" -> pure ISNTerminated+        e -> fromTextError $ "Failure parsing InstanceStateName from value: '" <> e+           <> "'. Accepted values: pending, running, shutting-down, stopped, stopping, terminated"++instance ToText InstanceStateName where+    toText = \case+        ISNPending -> "pending"+        ISNRunning -> "running"+        ISNShuttingDown -> "shutting-down"+        ISNStopped -> "stopped"+        ISNStopping -> "stopping"+        ISNTerminated -> "terminated"++instance Hashable     InstanceStateName+instance ToByteString InstanceStateName+instance ToQuery      InstanceStateName+instance ToHeader     InstanceStateName++instance FromXML InstanceStateName where+    parseXML = parseXMLText "InstanceStateName"++data InstanceType+    = 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+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText InstanceType where+    parser = takeLowerText >>= \case+        "c1.medium" -> pure C1_Medium+        "c1.xlarge" -> pure C1_XLarge+        "c3.2xlarge" -> pure C3_2XLarge+        "c3.4xlarge" -> pure C3_4XLarge+        "c3.8xlarge" -> pure C3_8XLarge+        "c3.large" -> pure C3_Large+        "c3.xlarge" -> pure C3_XLarge+        "c4.2xlarge" -> pure C4_2XLarge+        "c4.4xlarge" -> pure C4_4XLarge+        "c4.8xlarge" -> pure C4_8XLarge+        "c4.large" -> pure C4_Large+        "c4.xlarge" -> pure C4_XLarge+        "cc1.4xlarge" -> pure CC1_4XLarge+        "cc2.8xlarge" -> pure CC2_8XLarge+        "cg1.4xlarge" -> pure CG1_4XLarge+        "cr1.8xlarge" -> pure CR1_8XLarge+        "d2.2xlarge" -> pure D2_2XLarge+        "d2.4xlarge" -> pure D2_4XLarge+        "d2.8xlarge" -> pure D2_8XLarge+        "d2.xlarge" -> pure D2_XLarge+        "g2.2xlarge" -> pure G2_2XLarge+        "hi1.4xlarge" -> pure HI1_4XLarge+        "hs1.8xlarge" -> pure HS1_8XLarge+        "i2.2xlarge" -> pure I2_2XLarge+        "i2.4xlarge" -> pure I2_4XLarge+        "i2.8xlarge" -> pure I2_8XLarge+        "i2.xlarge" -> pure I2_XLarge+        "m1.large" -> pure M1_Large+        "m1.medium" -> pure M1_Medium+        "m1.small" -> pure M1_Small+        "m1.xlarge" -> pure M1_XLarge+        "m2.2xlarge" -> pure M2_2XLarge+        "m2.4xlarge" -> pure M2_4XLarge+        "m2.xlarge" -> pure M2_XLarge+        "m3.2xlarge" -> pure M3_2XLarge+        "m3.large" -> pure M3_Large+        "m3.medium" -> pure M3_Medium+        "m3.xlarge" -> pure M3_XLarge+        "m4.10xlarge" -> pure M4_10XLarge+        "m4.2xlarge" -> pure M4_2XLarge+        "m4.4xlarge" -> pure M4_4XLarge+        "m4.large" -> pure M4_Large+        "m4.xlarge" -> pure M4_XLarge+        "r3.2xlarge" -> pure R3_2XLarge+        "r3.4xlarge" -> pure R3_4XLarge+        "r3.8xlarge" -> pure R3_8XLarge+        "r3.large" -> pure R3_Large+        "r3.xlarge" -> pure R3_XLarge+        "t1.micro" -> pure T1_Micro+        "t2.large" -> pure T2_Large+        "t2.medium" -> pure T2_Medium+        "t2.micro" -> pure T2_Micro+        "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"++instance ToText InstanceType where+    toText = \case+        C1_Medium -> "c1.medium"+        C1_XLarge -> "c1.xlarge"+        C3_2XLarge -> "c3.2xlarge"+        C3_4XLarge -> "c3.4xlarge"+        C3_8XLarge -> "c3.8xlarge"+        C3_Large -> "c3.large"+        C3_XLarge -> "c3.xlarge"+        C4_2XLarge -> "c4.2xlarge"+        C4_4XLarge -> "c4.4xlarge"+        C4_8XLarge -> "c4.8xlarge"+        C4_Large -> "c4.large"+        C4_XLarge -> "c4.xlarge"+        CC1_4XLarge -> "cc1.4xlarge"+        CC2_8XLarge -> "cc2.8xlarge"+        CG1_4XLarge -> "cg1.4xlarge"+        CR1_8XLarge -> "cr1.8xlarge"+        D2_2XLarge -> "d2.2xlarge"+        D2_4XLarge -> "d2.4xlarge"+        D2_8XLarge -> "d2.8xlarge"+        D2_XLarge -> "d2.xlarge"+        G2_2XLarge -> "g2.2xlarge"+        HI1_4XLarge -> "hi1.4xlarge"+        HS1_8XLarge -> "hs1.8xlarge"+        I2_2XLarge -> "i2.2xlarge"+        I2_4XLarge -> "i2.4xlarge"+        I2_8XLarge -> "i2.8xlarge"+        I2_XLarge -> "i2.xlarge"+        M1_Large -> "m1.large"+        M1_Medium -> "m1.medium"+        M1_Small -> "m1.small"+        M1_XLarge -> "m1.xlarge"+        M2_2XLarge -> "m2.2xlarge"+        M2_4XLarge -> "m2.4xlarge"+        M2_XLarge -> "m2.xlarge"+        M3_2XLarge -> "m3.2xlarge"+        M3_Large -> "m3.large"+        M3_Medium -> "m3.medium"+        M3_XLarge -> "m3.xlarge"+        M4_10XLarge -> "m4.10xlarge"+        M4_2XLarge -> "m4.2xlarge"+        M4_4XLarge -> "m4.4xlarge"+        M4_Large -> "m4.large"+        M4_XLarge -> "m4.xlarge"+        R3_2XLarge -> "r3.2xlarge"+        R3_4XLarge -> "r3.4xlarge"+        R3_8XLarge -> "r3.8xlarge"+        R3_Large -> "r3.large"+        R3_XLarge -> "r3.xlarge"+        T1_Micro -> "t1.micro"+        T2_Large -> "t2.large"+        T2_Medium -> "t2.medium"+        T2_Micro -> "t2.micro"+        T2_Small -> "t2.small"++instance Hashable     InstanceType+instance ToByteString InstanceType+instance ToQuery      InstanceType+instance ToHeader     InstanceType++instance FromXML InstanceType where+    parseXML = parseXMLText "InstanceType"++data ListingState+    = LAvailable+    | LCancelled+    | LPending+    | LSold+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ListingState where+    parser = takeLowerText >>= \case+        "available" -> pure LAvailable+        "cancelled" -> pure LCancelled+        "pending" -> pure LPending+        "sold" -> pure LSold+        e -> fromTextError $ "Failure parsing ListingState from value: '" <> e+           <> "'. Accepted values: available, cancelled, pending, sold"++instance ToText ListingState where+    toText = \case+        LAvailable -> "available"+        LCancelled -> "cancelled"+        LPending -> "pending"+        LSold -> "sold"++instance Hashable     ListingState+instance ToByteString ListingState+instance ToQuery      ListingState+instance ToHeader     ListingState++instance FromXML ListingState where+    parseXML = parseXMLText "ListingState"++data ListingStatus+    = LSActive+    | LSCancelled+    | LSClosed+    | LSPending+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ListingStatus where+    parser = takeLowerText >>= \case+        "active" -> pure LSActive+        "cancelled" -> pure LSCancelled+        "closed" -> pure LSClosed+        "pending" -> pure LSPending+        e -> fromTextError $ "Failure parsing ListingStatus from value: '" <> e+           <> "'. Accepted values: active, cancelled, closed, pending"++instance ToText ListingStatus where+    toText = \case+        LSActive -> "active"+        LSCancelled -> "cancelled"+        LSClosed -> "closed"+        LSPending -> "pending"++instance Hashable     ListingStatus+instance ToByteString ListingStatus+instance ToQuery      ListingStatus+instance ToHeader     ListingStatus++instance FromXML ListingStatus where+    parseXML = parseXMLText "ListingStatus"++data MonitoringState+    = MSDisabled+    | MSDisabling+    | MSEnabled+    | MSPending+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText MonitoringState where+    parser = takeLowerText >>= \case+        "disabled" -> pure MSDisabled+        "disabling" -> pure MSDisabling+        "enabled" -> pure MSEnabled+        "pending" -> pure MSPending+        e -> fromTextError $ "Failure parsing MonitoringState from value: '" <> e+           <> "'. Accepted values: disabled, disabling, enabled, pending"++instance ToText MonitoringState where+    toText = \case+        MSDisabled -> "disabled"+        MSDisabling -> "disabling"+        MSEnabled -> "enabled"+        MSPending -> "pending"++instance Hashable     MonitoringState+instance ToByteString MonitoringState+instance ToQuery      MonitoringState+instance ToHeader     MonitoringState++instance FromXML MonitoringState where+    parseXML = parseXMLText "MonitoringState"++data MoveStatus+    = MovingToVPC+    | RestoringToClassic+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText MoveStatus where+    parser = takeLowerText >>= \case+        "movingtovpc" -> pure MovingToVPC+        "restoringtoclassic" -> pure RestoringToClassic+        e -> fromTextError $ "Failure parsing MoveStatus from value: '" <> e+           <> "'. Accepted values: movingtovpc, restoringtoclassic"++instance ToText MoveStatus where+    toText = \case+        MovingToVPC -> "movingtovpc"+        RestoringToClassic -> "restoringtoclassic"++instance Hashable     MoveStatus+instance ToByteString MoveStatus+instance ToQuery      MoveStatus+instance ToHeader     MoveStatus++instance FromXML MoveStatus where+    parseXML = parseXMLText "MoveStatus"++data NetworkInterfaceAttribute+    = NIAAttachment+    | NIADescription+    | NIAGroupSet+    | NIASourceDestCheck+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText NetworkInterfaceAttribute where+    parser = takeLowerText >>= \case+        "attachment" -> pure NIAAttachment+        "description" -> pure NIADescription+        "groupset" -> pure NIAGroupSet+        "sourcedestcheck" -> pure NIASourceDestCheck+        e -> fromTextError $ "Failure parsing NetworkInterfaceAttribute from value: '" <> e+           <> "'. Accepted values: attachment, description, groupset, sourcedestcheck"++instance ToText NetworkInterfaceAttribute where+    toText = \case+        NIAAttachment -> "attachment"+        NIADescription -> "description"+        NIAGroupSet -> "groupset"+        NIASourceDestCheck -> "sourcedestcheck"++instance Hashable     NetworkInterfaceAttribute+instance ToByteString NetworkInterfaceAttribute+instance ToQuery      NetworkInterfaceAttribute+instance ToHeader     NetworkInterfaceAttribute++data NetworkInterfaceStatus+    = NISAttaching+    | NISAvailable+    | NISDetaching+    | NISInUse+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText NetworkInterfaceStatus where+    parser = takeLowerText >>= \case+        "attaching" -> pure NISAttaching+        "available" -> pure NISAvailable+        "detaching" -> pure NISDetaching+        "in-use" -> pure NISInUse+        e -> fromTextError $ "Failure parsing NetworkInterfaceStatus from value: '" <> e+           <> "'. Accepted values: attaching, available, detaching, in-use"++instance ToText NetworkInterfaceStatus where+    toText = \case+        NISAttaching -> "attaching"+        NISAvailable -> "available"+        NISDetaching -> "detaching"+        NISInUse -> "in-use"++instance Hashable     NetworkInterfaceStatus+instance ToByteString NetworkInterfaceStatus+instance ToQuery      NetworkInterfaceStatus+instance ToHeader     NetworkInterfaceStatus++instance FromXML NetworkInterfaceStatus where+    parseXML = parseXMLText "NetworkInterfaceStatus"++data OfferingTypeValues+    = AllUpfront+    | HeavyUtilization+    | LightUtilization+    | MediumUtilization+    | NoUpfront+    | PartialUpfront+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText OfferingTypeValues where+    parser = takeLowerText >>= \case+        "all upfront" -> pure AllUpfront+        "heavy utilization" -> pure HeavyUtilization+        "light utilization" -> pure LightUtilization+        "medium utilization" -> pure MediumUtilization+        "no upfront" -> pure NoUpfront+        "partial upfront" -> pure PartialUpfront+        e -> fromTextError $ "Failure parsing OfferingTypeValues from value: '" <> e+           <> "'. Accepted values: all upfront, heavy utilization, light utilization, medium utilization, no upfront, partial upfront"++instance ToText OfferingTypeValues where+    toText = \case+        AllUpfront -> "all upfront"+        HeavyUtilization -> "heavy utilization"+        LightUtilization -> "light utilization"+        MediumUtilization -> "medium utilization"+        NoUpfront -> "no upfront"+        PartialUpfront -> "partial upfront"++instance Hashable     OfferingTypeValues+instance ToByteString OfferingTypeValues+instance ToQuery      OfferingTypeValues+instance ToHeader     OfferingTypeValues++instance FromXML OfferingTypeValues where+    parseXML = parseXMLText "OfferingTypeValues"++data PermissionGroup =+    PGAll+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText PermissionGroup where+    parser = takeLowerText >>= \case+        "all" -> pure PGAll+        e -> fromTextError $ "Failure parsing PermissionGroup from value: '" <> e+           <> "'. Accepted values: all"++instance ToText PermissionGroup where+    toText = \case+        PGAll -> "all"++instance Hashable     PermissionGroup+instance ToByteString PermissionGroup+instance ToQuery      PermissionGroup+instance ToHeader     PermissionGroup++instance FromXML PermissionGroup where+    parseXML = parseXMLText "PermissionGroup"++data PlacementGroupState+    = PGSAvailable+    | PGSDeleted+    | PGSDeleting+    | PGSPending+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText PlacementGroupState where+    parser = takeLowerText >>= \case+        "available" -> pure PGSAvailable+        "deleted" -> pure PGSDeleted+        "deleting" -> pure PGSDeleting+        "pending" -> pure PGSPending+        e -> fromTextError $ "Failure parsing PlacementGroupState from value: '" <> e+           <> "'. Accepted values: available, deleted, deleting, pending"++instance ToText PlacementGroupState where+    toText = \case+        PGSAvailable -> "available"+        PGSDeleted -> "deleted"+        PGSDeleting -> "deleting"+        PGSPending -> "pending"++instance Hashable     PlacementGroupState+instance ToByteString PlacementGroupState+instance ToQuery      PlacementGroupState+instance ToHeader     PlacementGroupState++instance FromXML PlacementGroupState where+    parseXML = parseXMLText "PlacementGroupState"++data PlacementStrategy =+    Cluster+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText PlacementStrategy where+    parser = takeLowerText >>= \case+        "cluster" -> pure Cluster+        e -> fromTextError $ "Failure parsing PlacementStrategy from value: '" <> e+           <> "'. Accepted values: cluster"++instance ToText PlacementStrategy where+    toText = \case+        Cluster -> "cluster"++instance Hashable     PlacementStrategy+instance ToByteString PlacementStrategy+instance ToQuery      PlacementStrategy+instance ToHeader     PlacementStrategy++instance FromXML PlacementStrategy where+    parseXML = parseXMLText "PlacementStrategy"++data PlatformValues =+    PVWindows+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText PlatformValues where+    parser = takeLowerText >>= \case+        "windows" -> pure PVWindows+        e -> fromTextError $ "Failure parsing PlatformValues from value: '" <> e+           <> "'. Accepted values: windows"++instance ToText PlatformValues where+    toText = \case+        PVWindows -> "windows"++instance Hashable     PlatformValues+instance ToByteString PlatformValues+instance ToQuery      PlatformValues+instance ToHeader     PlatformValues++instance FromXML PlatformValues where+    parseXML = parseXMLText "PlatformValues"++data ProductCodeValues+    = Devpay+    | Marketplace+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ProductCodeValues where+    parser = takeLowerText >>= \case+        "devpay" -> pure Devpay+        "marketplace" -> pure Marketplace+        e -> fromTextError $ "Failure parsing ProductCodeValues from value: '" <> e+           <> "'. Accepted values: devpay, marketplace"++instance ToText ProductCodeValues where+    toText = \case+        Devpay -> "devpay"+        Marketplace -> "marketplace"++instance Hashable     ProductCodeValues+instance ToByteString ProductCodeValues+instance ToQuery      ProductCodeValues+instance ToHeader     ProductCodeValues++instance FromXML ProductCodeValues where+    parseXML = parseXMLText "ProductCodeValues"++data RIProductDescription+    = LinuxUnix+    | LinuxUnixAmazonVPC+    | Windows+    | WindowsAmazonVPC+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText RIProductDescription where+    parser = takeLowerText >>= \case+        "linux/unix" -> pure LinuxUnix+        "linux/unix (amazon vpc)" -> pure LinuxUnixAmazonVPC+        "windows" -> pure Windows+        "windows (amazon vpc)" -> pure WindowsAmazonVPC+        e -> fromTextError $ "Failure parsing RIProductDescription from value: '" <> e+           <> "'. Accepted values: linux/unix, linux/unix (amazon vpc), windows, windows (amazon vpc)"++instance ToText RIProductDescription where+    toText = \case+        LinuxUnix -> "linux/unix"+        LinuxUnixAmazonVPC -> "linux/unix (amazon vpc)"+        Windows -> "windows"+        WindowsAmazonVPC -> "windows (amazon vpc)"++instance Hashable     RIProductDescription+instance ToByteString RIProductDescription+instance ToQuery      RIProductDescription+instance ToHeader     RIProductDescription++instance FromXML RIProductDescription where+    parseXML = parseXMLText "RIProductDescription"++data RecurringChargeFrequency =+    Hourly+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText RecurringChargeFrequency where+    parser = takeLowerText >>= \case+        "hourly" -> pure Hourly+        e -> fromTextError $ "Failure parsing RecurringChargeFrequency from value: '" <> e+           <> "'. Accepted values: hourly"++instance ToText RecurringChargeFrequency where+    toText = \case+        Hourly -> "hourly"++instance Hashable     RecurringChargeFrequency+instance ToByteString RecurringChargeFrequency+instance ToQuery      RecurringChargeFrequency+instance ToHeader     RecurringChargeFrequency++instance FromXML RecurringChargeFrequency where+    parseXML = parseXMLText "RecurringChargeFrequency"++data ReportInstanceReasonCodes+    = InstanceStuckInState+    | NotAcceptingCredentials+    | Other+    | PasswordNotAvailable+    | PerformanceEBSVolume+    | PerformanceInstanceStore+    | PerformanceNetwork+    | PerformanceOther+    | Unresponsive+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ReportInstanceReasonCodes where+    parser = takeLowerText >>= \case+        "instance-stuck-in-state" -> pure InstanceStuckInState+        "not-accepting-credentials" -> pure NotAcceptingCredentials+        "other" -> pure Other+        "password-not-available" -> pure PasswordNotAvailable+        "performance-ebs-volume" -> pure PerformanceEBSVolume+        "performance-instance-store" -> pure PerformanceInstanceStore+        "performance-network" -> pure PerformanceNetwork+        "performance-other" -> pure PerformanceOther+        "unresponsive" -> pure Unresponsive+        e -> fromTextError $ "Failure parsing ReportInstanceReasonCodes from value: '" <> e+           <> "'. Accepted values: instance-stuck-in-state, not-accepting-credentials, other, password-not-available, performance-ebs-volume, performance-instance-store, performance-network, performance-other, unresponsive"++instance ToText ReportInstanceReasonCodes where+    toText = \case+        InstanceStuckInState -> "instance-stuck-in-state"+        NotAcceptingCredentials -> "not-accepting-credentials"+        Other -> "other"+        PasswordNotAvailable -> "password-not-available"+        PerformanceEBSVolume -> "performance-ebs-volume"+        PerformanceInstanceStore -> "performance-instance-store"+        PerformanceNetwork -> "performance-network"+        PerformanceOther -> "performance-other"+        Unresponsive -> "unresponsive"++instance Hashable     ReportInstanceReasonCodes+instance ToByteString ReportInstanceReasonCodes+instance ToQuery      ReportInstanceReasonCodes+instance ToHeader     ReportInstanceReasonCodes++data ReportStatusType+    = Impaired+    | OK+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ReportStatusType where+    parser = takeLowerText >>= \case+        "impaired" -> pure Impaired+        "ok" -> pure OK+        e -> fromTextError $ "Failure parsing ReportStatusType from value: '" <> e+           <> "'. Accepted values: impaired, ok"++instance ToText ReportStatusType where+    toText = \case+        Impaired -> "impaired"+        OK -> "ok"++instance Hashable     ReportStatusType+instance ToByteString ReportStatusType+instance ToQuery      ReportStatusType+instance ToHeader     ReportStatusType++data ReservedInstanceState+    = Active+    | PaymentFailed+    | PaymentPending+    | Retired+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ReservedInstanceState where+    parser = takeLowerText >>= \case+        "active" -> pure Active+        "payment-failed" -> pure PaymentFailed+        "payment-pending" -> pure PaymentPending+        "retired" -> pure Retired+        e -> fromTextError $ "Failure parsing ReservedInstanceState from value: '" <> e+           <> "'. Accepted values: active, payment-failed, payment-pending, retired"++instance ToText ReservedInstanceState where+    toText = \case+        Active -> "active"+        PaymentFailed -> "payment-failed"+        PaymentPending -> "payment-pending"+        Retired -> "retired"++instance Hashable     ReservedInstanceState+instance ToByteString ReservedInstanceState+instance ToQuery      ReservedInstanceState+instance ToHeader     ReservedInstanceState++instance FromXML ReservedInstanceState where+    parseXML = parseXMLText "ReservedInstanceState"++data ResetImageAttributeName =+    RIANLaunchPermission+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ResetImageAttributeName where+    parser = takeLowerText >>= \case+        "launchpermission" -> pure RIANLaunchPermission+        e -> fromTextError $ "Failure parsing ResetImageAttributeName from value: '" <> e+           <> "'. Accepted values: launchpermission"++instance ToText ResetImageAttributeName where+    toText = \case+        RIANLaunchPermission -> "launchpermission"++instance Hashable     ResetImageAttributeName+instance ToByteString ResetImageAttributeName+instance ToQuery      ResetImageAttributeName+instance ToHeader     ResetImageAttributeName++data ResourceType+    = CustomerGateway+    | DHCPOptions+    | Image+    | Instance+    | InternetGateway+    | NetworkACL+    | NetworkInterface+    | ReservedInstances+    | RouteTable+    | SecurityGroup+    | Snapshot+    | SpotInstancesRequest+    | Subnet+    | VPC+    | VPNConnection+    | VPNGateway+    | Volume+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ResourceType where+    parser = takeLowerText >>= \case+        "customer-gateway" -> pure CustomerGateway+        "dhcp-options" -> pure DHCPOptions+        "image" -> pure Image+        "instance" -> pure Instance+        "internet-gateway" -> pure InternetGateway+        "network-acl" -> pure NetworkACL+        "network-interface" -> pure NetworkInterface+        "reserved-instances" -> pure ReservedInstances+        "route-table" -> pure RouteTable+        "security-group" -> pure SecurityGroup+        "snapshot" -> pure Snapshot+        "spot-instances-request" -> pure SpotInstancesRequest+        "subnet" -> pure Subnet+        "vpc" -> pure VPC+        "vpn-connection" -> pure VPNConnection+        "vpn-gateway" -> pure VPNGateway+        "volume" -> pure Volume+        e -> fromTextError $ "Failure parsing ResourceType from value: '" <> e+           <> "'. Accepted values: customer-gateway, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, security-group, snapshot, spot-instances-request, subnet, vpc, vpn-connection, vpn-gateway, volume"++instance ToText ResourceType where+    toText = \case+        CustomerGateway -> "customer-gateway"+        DHCPOptions -> "dhcp-options"+        Image -> "image"+        Instance -> "instance"+        InternetGateway -> "internet-gateway"+        NetworkACL -> "network-acl"+        NetworkInterface -> "network-interface"+        ReservedInstances -> "reserved-instances"+        RouteTable -> "route-table"+        SecurityGroup -> "security-group"+        Snapshot -> "snapshot"+        SpotInstancesRequest -> "spot-instances-request"+        Subnet -> "subnet"+        VPC -> "vpc"+        VPNConnection -> "vpn-connection"+        VPNGateway -> "vpn-gateway"+        Volume -> "volume"++instance Hashable     ResourceType+instance ToByteString ResourceType+instance ToQuery      ResourceType+instance ToHeader     ResourceType++instance FromXML ResourceType where+    parseXML = parseXMLText "ResourceType"++data RouteOrigin+    = CreateRoute+    | CreateRouteTable+    | EnableVGWRoutePropagation+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText RouteOrigin where+    parser = takeLowerText >>= \case+        "createroute" -> pure CreateRoute+        "createroutetable" -> pure CreateRouteTable+        "enablevgwroutepropagation" -> pure EnableVGWRoutePropagation+        e -> fromTextError $ "Failure parsing RouteOrigin from value: '" <> e+           <> "'. Accepted values: createroute, createroutetable, enablevgwroutepropagation"++instance ToText RouteOrigin where+    toText = \case+        CreateRoute -> "createroute"+        CreateRouteTable -> "createroutetable"+        EnableVGWRoutePropagation -> "enablevgwroutepropagation"++instance Hashable     RouteOrigin+instance ToByteString RouteOrigin+instance ToQuery      RouteOrigin+instance ToHeader     RouteOrigin++instance FromXML RouteOrigin where+    parseXML = parseXMLText "RouteOrigin"++data RouteState+    = RSActive+    | RSBlackhole+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText RouteState where+    parser = takeLowerText >>= \case+        "active" -> pure RSActive+        "blackhole" -> pure RSBlackhole+        e -> fromTextError $ "Failure parsing RouteState from value: '" <> e+           <> "'. Accepted values: active, blackhole"++instance ToText RouteState where+    toText = \case+        RSActive -> "active"+        RSBlackhole -> "blackhole"++instance Hashable     RouteState+instance ToByteString RouteState+instance ToQuery      RouteState+instance ToHeader     RouteState++instance FromXML RouteState where+    parseXML = parseXMLText "RouteState"++data RuleAction+    = Allow+    | Deny+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText RuleAction where+    parser = takeLowerText >>= \case+        "allow" -> pure Allow+        "deny" -> pure Deny+        e -> fromTextError $ "Failure parsing RuleAction from value: '" <> e+           <> "'. Accepted values: allow, deny"++instance ToText RuleAction where+    toText = \case+        Allow -> "allow"+        Deny -> "deny"++instance Hashable     RuleAction+instance ToByteString RuleAction+instance ToQuery      RuleAction+instance ToHeader     RuleAction++instance FromXML RuleAction where+    parseXML = parseXMLText "RuleAction"++data ShutdownBehavior+    = Stop+    | Terminate+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ShutdownBehavior where+    parser = takeLowerText >>= \case+        "stop" -> pure Stop+        "terminate" -> pure Terminate+        e -> fromTextError $ "Failure parsing ShutdownBehavior from value: '" <> e+           <> "'. Accepted values: stop, terminate"++instance ToText ShutdownBehavior where+    toText = \case+        Stop -> "stop"+        Terminate -> "terminate"++instance Hashable     ShutdownBehavior+instance ToByteString ShutdownBehavior+instance ToQuery      ShutdownBehavior+instance ToHeader     ShutdownBehavior++data SnapshotAttributeName+    = SANCreateVolumePermission+    | SANProductCodes+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText SnapshotAttributeName where+    parser = takeLowerText >>= \case+        "createvolumepermission" -> pure SANCreateVolumePermission+        "productcodes" -> pure SANProductCodes+        e -> fromTextError $ "Failure parsing SnapshotAttributeName from value: '" <> e+           <> "'. Accepted values: createvolumepermission, productcodes"++instance ToText SnapshotAttributeName where+    toText = \case+        SANCreateVolumePermission -> "createvolumepermission"+        SANProductCodes -> "productcodes"++instance Hashable     SnapshotAttributeName+instance ToByteString SnapshotAttributeName+instance ToQuery      SnapshotAttributeName+instance ToHeader     SnapshotAttributeName++data SnapshotState+    = SSCompleted+    | SSError'+    | SSPending+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText SnapshotState where+    parser = takeLowerText >>= \case+        "completed" -> pure SSCompleted+        "error" -> pure SSError'+        "pending" -> pure SSPending+        e -> fromTextError $ "Failure parsing SnapshotState from value: '" <> e+           <> "'. Accepted values: completed, error, pending"++instance ToText SnapshotState where+    toText = \case+        SSCompleted -> "completed"+        SSError' -> "error"+        SSPending -> "pending"++instance Hashable     SnapshotState+instance ToByteString SnapshotState+instance ToQuery      SnapshotState+instance ToHeader     SnapshotState++instance FromXML SnapshotState where+    parseXML = parseXMLText "SnapshotState"++data SpotInstanceState+    = SISActive+    | SISCancelled+    | SISClosed+    | SISFailed+    | SISOpen+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText SpotInstanceState where+    parser = takeLowerText >>= \case+        "active" -> pure SISActive+        "cancelled" -> pure SISCancelled+        "closed" -> pure SISClosed+        "failed" -> pure SISFailed+        "open" -> pure SISOpen+        e -> fromTextError $ "Failure parsing SpotInstanceState from value: '" <> e+           <> "'. Accepted values: active, cancelled, closed, failed, open"++instance ToText SpotInstanceState where+    toText = \case+        SISActive -> "active"+        SISCancelled -> "cancelled"+        SISClosed -> "closed"+        SISFailed -> "failed"+        SISOpen -> "open"++instance Hashable     SpotInstanceState+instance ToByteString SpotInstanceState+instance ToQuery      SpotInstanceState+instance ToHeader     SpotInstanceState++instance FromXML SpotInstanceState where+    parseXML = parseXMLText "SpotInstanceState"++data SpotInstanceType+    = OneTime+    | Persistent+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText SpotInstanceType where+    parser = takeLowerText >>= \case+        "one-time" -> pure OneTime+        "persistent" -> pure Persistent+        e -> fromTextError $ "Failure parsing SpotInstanceType from value: '" <> e+           <> "'. Accepted values: one-time, persistent"++instance ToText SpotInstanceType where+    toText = \case+        OneTime -> "one-time"+        Persistent -> "persistent"++instance Hashable     SpotInstanceType+instance ToByteString SpotInstanceType+instance ToQuery      SpotInstanceType+instance ToHeader     SpotInstanceType++instance FromXML SpotInstanceType where+    parseXML = parseXMLText "SpotInstanceType"++data State+    = Available+    | Deleted+    | Deleting+    | Pending+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText State where+    parser = takeLowerText >>= \case+        "available" -> pure Available+        "deleted" -> pure Deleted+        "deleting" -> pure Deleting+        "pending" -> pure Pending+        e -> fromTextError $ "Failure parsing State from value: '" <> e+           <> "'. Accepted values: available, deleted, deleting, pending"++instance ToText State where+    toText = \case+        Available -> "available"+        Deleted -> "deleted"+        Deleting -> "deleting"+        Pending -> "pending"++instance Hashable     State+instance ToByteString State+instance ToQuery      State+instance ToHeader     State++instance FromXML State where+    parseXML = parseXMLText "State"++data StatusName =+    Reachability+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText StatusName where+    parser = takeLowerText >>= \case+        "reachability" -> pure Reachability+        e -> fromTextError $ "Failure parsing StatusName from value: '" <> e+           <> "'. Accepted values: reachability"++instance ToText StatusName where+    toText = \case+        Reachability -> "reachability"++instance Hashable     StatusName+instance ToByteString StatusName+instance ToQuery      StatusName+instance ToHeader     StatusName++instance FromXML StatusName where+    parseXML = parseXMLText "StatusName"++data StatusType+    = Failed+    | Initializing+    | InsufficientData+    | Passed+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText StatusType where+    parser = takeLowerText >>= \case+        "failed" -> pure Failed+        "initializing" -> pure Initializing+        "insufficient-data" -> pure InsufficientData+        "passed" -> pure Passed+        e -> fromTextError $ "Failure parsing StatusType from value: '" <> e+           <> "'. Accepted values: failed, initializing, insufficient-data, passed"++instance ToText StatusType where+    toText = \case+        Failed -> "failed"+        Initializing -> "initializing"+        InsufficientData -> "insufficient-data"+        Passed -> "passed"++instance Hashable     StatusType+instance ToByteString StatusType+instance ToQuery      StatusType+instance ToHeader     StatusType++instance FromXML StatusType where+    parseXML = parseXMLText "StatusType"++data SubnetState+    = SAvailable+    | SPending+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText SubnetState where+    parser = takeLowerText >>= \case+        "available" -> pure SAvailable+        "pending" -> pure SPending+        e -> fromTextError $ "Failure parsing SubnetState from value: '" <> e+           <> "'. Accepted values: available, pending"++instance ToText SubnetState where+    toText = \case+        SAvailable -> "available"+        SPending -> "pending"++instance Hashable     SubnetState+instance ToByteString SubnetState+instance ToQuery      SubnetState+instance ToHeader     SubnetState++instance FromXML SubnetState where+    parseXML = parseXMLText "SubnetState"++data SummaryStatus+    = SSImpaired+    | SSInitializing+    | SSInsufficientData+    | SSNotApplicable+    | SSOK+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText SummaryStatus where+    parser = takeLowerText >>= \case+        "impaired" -> pure SSImpaired+        "initializing" -> pure SSInitializing+        "insufficient-data" -> pure SSInsufficientData+        "not-applicable" -> pure SSNotApplicable+        "ok" -> pure SSOK+        e -> fromTextError $ "Failure parsing SummaryStatus from value: '" <> e+           <> "'. Accepted values: impaired, initializing, insufficient-data, not-applicable, ok"++instance ToText SummaryStatus where+    toText = \case+        SSImpaired -> "impaired"+        SSInitializing -> "initializing"+        SSInsufficientData -> "insufficient-data"+        SSNotApplicable -> "not-applicable"+        SSOK -> "ok"++instance Hashable     SummaryStatus+instance ToByteString SummaryStatus+instance ToQuery      SummaryStatus+instance ToHeader     SummaryStatus++instance FromXML SummaryStatus where+    parseXML = parseXMLText "SummaryStatus"++data TelemetryStatus+    = Down+    | UP+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText TelemetryStatus where+    parser = takeLowerText >>= \case+        "down" -> pure Down+        "up" -> pure UP+        e -> fromTextError $ "Failure parsing TelemetryStatus from value: '" <> e+           <> "'. Accepted values: down, up"++instance ToText TelemetryStatus where+    toText = \case+        Down -> "down"+        UP -> "up"++instance Hashable     TelemetryStatus+instance ToByteString TelemetryStatus+instance ToQuery      TelemetryStatus+instance ToHeader     TelemetryStatus++instance FromXML TelemetryStatus where+    parseXML = parseXMLText "TelemetryStatus"++data Tenancy+    = Dedicated+    | Default+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText Tenancy where+    parser = takeLowerText >>= \case+        "dedicated" -> pure Dedicated+        "default" -> pure Default+        e -> fromTextError $ "Failure parsing Tenancy from value: '" <> e+           <> "'. Accepted values: dedicated, default"++instance ToText Tenancy where+    toText = \case+        Dedicated -> "dedicated"+        Default -> "default"++instance Hashable     Tenancy+instance ToByteString Tenancy+instance ToQuery      Tenancy+instance ToHeader     Tenancy++instance FromXML Tenancy where+    parseXML = parseXMLText "Tenancy"++data TrafficType+    = Accept+    | All+    | Reject+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText TrafficType where+    parser = takeLowerText >>= \case+        "accept" -> pure Accept+        "all" -> pure All+        "reject" -> pure Reject+        e -> fromTextError $ "Failure parsing TrafficType from value: '" <> e+           <> "'. Accepted values: accept, all, reject"++instance ToText TrafficType where+    toText = \case+        Accept -> "accept"+        All -> "all"+        Reject -> "reject"++instance Hashable     TrafficType+instance ToByteString TrafficType+instance ToQuery      TrafficType+instance ToHeader     TrafficType++instance FromXML TrafficType where+    parseXML = parseXMLText "TrafficType"++data VPCAttributeName+    = EnableDNSHostnames+    | EnableDNSSupport+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VPCAttributeName where+    parser = takeLowerText >>= \case+        "enablednshostnames" -> pure EnableDNSHostnames+        "enablednssupport" -> pure EnableDNSSupport+        e -> fromTextError $ "Failure parsing VPCAttributeName from value: '" <> e+           <> "'. Accepted values: enablednshostnames, enablednssupport"++instance ToText VPCAttributeName where+    toText = \case+        EnableDNSHostnames -> "enablednshostnames"+        EnableDNSSupport -> "enablednssupport"++instance Hashable     VPCAttributeName+instance ToByteString VPCAttributeName+instance ToQuery      VPCAttributeName+instance ToHeader     VPCAttributeName++data VPCPeeringConnectionStateReasonCode+    = VPCSRCActive+    | VPCSRCDeleted+    | VPCSRCDeleting+    | VPCSRCExpired+    | VPCSRCFailed+    | VPCSRCInitiatingRequest+    | VPCSRCPendingAcceptance+    | VPCSRCProvisioning+    | VPCSRCRejected+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VPCPeeringConnectionStateReasonCode where+    parser = takeLowerText >>= \case+        "active" -> pure VPCSRCActive+        "deleted" -> pure VPCSRCDeleted+        "deleting" -> pure VPCSRCDeleting+        "expired" -> pure VPCSRCExpired+        "failed" -> pure VPCSRCFailed+        "initiating-request" -> pure VPCSRCInitiatingRequest+        "pending-acceptance" -> pure VPCSRCPendingAcceptance+        "provisioning" -> pure VPCSRCProvisioning+        "rejected" -> pure VPCSRCRejected+        e -> fromTextError $ "Failure parsing VPCPeeringConnectionStateReasonCode from value: '" <> e+           <> "'. Accepted values: active, deleted, deleting, expired, failed, initiating-request, pending-acceptance, provisioning, rejected"++instance ToText VPCPeeringConnectionStateReasonCode where+    toText = \case+        VPCSRCActive -> "active"+        VPCSRCDeleted -> "deleted"+        VPCSRCDeleting -> "deleting"+        VPCSRCExpired -> "expired"+        VPCSRCFailed -> "failed"+        VPCSRCInitiatingRequest -> "initiating-request"+        VPCSRCPendingAcceptance -> "pending-acceptance"+        VPCSRCProvisioning -> "provisioning"+        VPCSRCRejected -> "rejected"++instance Hashable     VPCPeeringConnectionStateReasonCode+instance ToByteString VPCPeeringConnectionStateReasonCode+instance ToQuery      VPCPeeringConnectionStateReasonCode+instance ToHeader     VPCPeeringConnectionStateReasonCode++instance FromXML VPCPeeringConnectionStateReasonCode where+    parseXML = parseXMLText "VPCPeeringConnectionStateReasonCode"++data VPCState+    = VPCSAvailable+    | VPCSPending+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VPCState where+    parser = takeLowerText >>= \case+        "available" -> pure VPCSAvailable+        "pending" -> pure VPCSPending+        e -> fromTextError $ "Failure parsing VPCState from value: '" <> e+           <> "'. Accepted values: available, pending"++instance ToText VPCState where+    toText = \case+        VPCSAvailable -> "available"+        VPCSPending -> "pending"++instance Hashable     VPCState+instance ToByteString VPCState+instance ToQuery      VPCState+instance ToHeader     VPCState++instance FromXML VPCState where+    parseXML = parseXMLText "VPCState"++data VPNState+    = VSAvailable+    | VSDeleted+    | VSDeleting+    | VSPending+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VPNState where+    parser = takeLowerText >>= \case+        "available" -> pure VSAvailable+        "deleted" -> pure VSDeleted+        "deleting" -> pure VSDeleting+        "pending" -> pure VSPending+        e -> fromTextError $ "Failure parsing VPNState from value: '" <> e+           <> "'. Accepted values: available, deleted, deleting, pending"++instance ToText VPNState where+    toText = \case+        VSAvailable -> "available"+        VSDeleted -> "deleted"+        VSDeleting -> "deleting"+        VSPending -> "pending"++instance Hashable     VPNState+instance ToByteString VPNState+instance ToQuery      VPNState+instance ToHeader     VPNState++instance FromXML VPNState where+    parseXML = parseXMLText "VPNState"++data VPNStaticRouteSource =+    Static+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VPNStaticRouteSource where+    parser = takeLowerText >>= \case+        "static" -> pure Static+        e -> fromTextError $ "Failure parsing VPNStaticRouteSource from value: '" <> e+           <> "'. Accepted values: static"++instance ToText VPNStaticRouteSource where+    toText = \case+        Static -> "static"++instance Hashable     VPNStaticRouteSource+instance ToByteString VPNStaticRouteSource+instance ToQuery      VPNStaticRouteSource+instance ToHeader     VPNStaticRouteSource++instance FromXML VPNStaticRouteSource where+    parseXML = parseXMLText "VPNStaticRouteSource"++data VirtualizationType+    = HVM+    | Paravirtual+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VirtualizationType where+    parser = takeLowerText >>= \case+        "hvm" -> pure HVM+        "paravirtual" -> pure Paravirtual+        e -> fromTextError $ "Failure parsing VirtualizationType from value: '" <> e+           <> "'. Accepted values: hvm, paravirtual"++instance ToText VirtualizationType where+    toText = \case+        HVM -> "hvm"+        Paravirtual -> "paravirtual"++instance Hashable     VirtualizationType+instance ToByteString VirtualizationType+instance ToQuery      VirtualizationType+instance ToHeader     VirtualizationType++instance FromXML VirtualizationType where+    parseXML = parseXMLText "VirtualizationType"++data VolumeAttachmentState+    = VASAttached+    | VASAttaching+    | VASDetached+    | VASDetaching+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VolumeAttachmentState where+    parser = takeLowerText >>= \case+        "attached" -> pure VASAttached+        "attaching" -> pure VASAttaching+        "detached" -> pure VASDetached+        "detaching" -> pure VASDetaching+        e -> fromTextError $ "Failure parsing VolumeAttachmentState from value: '" <> e+           <> "'. Accepted values: attached, attaching, detached, detaching"++instance ToText VolumeAttachmentState where+    toText = \case+        VASAttached -> "attached"+        VASAttaching -> "attaching"+        VASDetached -> "detached"+        VASDetaching -> "detaching"++instance Hashable     VolumeAttachmentState+instance ToByteString VolumeAttachmentState+instance ToQuery      VolumeAttachmentState+instance ToHeader     VolumeAttachmentState++instance FromXML VolumeAttachmentState where+    parseXML = parseXMLText "VolumeAttachmentState"++data VolumeAttributeName+    = VANAutoEnableIO+    | VANProductCodes+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VolumeAttributeName where+    parser = takeLowerText >>= \case+        "autoenableio" -> pure VANAutoEnableIO+        "productcodes" -> pure VANProductCodes+        e -> fromTextError $ "Failure parsing VolumeAttributeName from value: '" <> e+           <> "'. Accepted values: autoenableio, productcodes"++instance ToText VolumeAttributeName where+    toText = \case+        VANAutoEnableIO -> "autoenableio"+        VANProductCodes -> "productcodes"++instance Hashable     VolumeAttributeName+instance ToByteString VolumeAttributeName+instance ToQuery      VolumeAttributeName+instance ToHeader     VolumeAttributeName++data VolumeState+    = VAvailable+    | VCreating+    | VDeleted+    | VDeleting+    | VError'+    | VInUse+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VolumeState where+    parser = takeLowerText >>= \case+        "available" -> pure VAvailable+        "creating" -> pure VCreating+        "deleted" -> pure VDeleted+        "deleting" -> pure VDeleting+        "error" -> pure VError'+        "in-use" -> pure VInUse+        e -> fromTextError $ "Failure parsing VolumeState from value: '" <> e+           <> "'. Accepted values: available, creating, deleted, deleting, error, in-use"++instance ToText VolumeState where+    toText = \case+        VAvailable -> "available"+        VCreating -> "creating"+        VDeleted -> "deleted"+        VDeleting -> "deleting"+        VError' -> "error"+        VInUse -> "in-use"++instance Hashable     VolumeState+instance ToByteString VolumeState+instance ToQuery      VolumeState+instance ToHeader     VolumeState++instance FromXML VolumeState where+    parseXML = parseXMLText "VolumeState"++data VolumeStatusInfoStatus+    = VSISImpaired+    | VSISInsufficientData+    | VSISOK+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VolumeStatusInfoStatus where+    parser = takeLowerText >>= \case+        "impaired" -> pure VSISImpaired+        "insufficient-data" -> pure VSISInsufficientData+        "ok" -> pure VSISOK+        e -> fromTextError $ "Failure parsing VolumeStatusInfoStatus from value: '" <> e+           <> "'. Accepted values: impaired, insufficient-data, ok"++instance ToText VolumeStatusInfoStatus where+    toText = \case+        VSISImpaired -> "impaired"+        VSISInsufficientData -> "insufficient-data"+        VSISOK -> "ok"++instance Hashable     VolumeStatusInfoStatus+instance ToByteString VolumeStatusInfoStatus+instance ToQuery      VolumeStatusInfoStatus+instance ToHeader     VolumeStatusInfoStatus++instance FromXML VolumeStatusInfoStatus where+    parseXML = parseXMLText "VolumeStatusInfoStatus"++data VolumeStatusName+    = IOEnabled+    | IOPerformance+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VolumeStatusName where+    parser = takeLowerText >>= \case+        "io-enabled" -> pure IOEnabled+        "io-performance" -> pure IOPerformance+        e -> fromTextError $ "Failure parsing VolumeStatusName from value: '" <> e+           <> "'. Accepted values: io-enabled, io-performance"++instance ToText VolumeStatusName where+    toText = \case+        IOEnabled -> "io-enabled"+        IOPerformance -> "io-performance"++instance Hashable     VolumeStatusName+instance ToByteString VolumeStatusName+instance ToQuery      VolumeStatusName+instance ToHeader     VolumeStatusName++instance FromXML VolumeStatusName where+    parseXML = parseXMLText "VolumeStatusName"++data VolumeType+    = GP2+    | IO1+    | Standard+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText VolumeType where+    parser = takeLowerText >>= \case+        "gp2" -> pure GP2+        "io1" -> pure IO1+        "standard" -> pure Standard+        e -> fromTextError $ "Failure parsing VolumeType from value: '" <> e+           <> "'. Accepted values: gp2, io1, standard"++instance ToText VolumeType where+    toText = \case+        GP2 -> "gp2"+        IO1 -> "io1"+        Standard -> "standard"++instance Hashable     VolumeType+instance ToByteString VolumeType+instance ToQuery      VolumeType+instance ToHeader     VolumeType++instance FromXML VolumeType where+    parseXML = parseXMLText "VolumeType"
+ gen/Network/AWS/EC2/UnassignPrivateIPAddresses.hs view
@@ -0,0 +1,110 @@+{-# 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.UnassignPrivateIPAddresses+-- 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)+--+-- 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+      unassignPrivateIPAddresses+    , UnassignPrivateIPAddresses+    -- * Request Lenses+    , upiaNetworkInterfaceId+    , upiaPrivateIPAddresses++    -- * Destructuring the Response+    , unassignPrivateIPAddressesResponse+    , UnassignPrivateIPAddressesResponse+    ) where++import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'unassignPrivateIPAddresses' smart constructor.+data UnassignPrivateIPAddresses = UnassignPrivateIPAddresses'+    { _upiaNetworkInterfaceId :: !Text+    , _upiaPrivateIPAddresses :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnassignPrivateIPAddresses' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upiaNetworkInterfaceId'+--+-- * 'upiaPrivateIPAddresses'+unassignPrivateIPAddresses+    :: Text -- ^ 'upiaNetworkInterfaceId'+    -> UnassignPrivateIPAddresses+unassignPrivateIPAddresses pNetworkInterfaceId_ =+    UnassignPrivateIPAddresses'+    { _upiaNetworkInterfaceId = pNetworkInterfaceId_+    , _upiaPrivateIPAddresses = mempty+    }++-- | The ID of the network interface.+upiaNetworkInterfaceId :: Lens' UnassignPrivateIPAddresses Text+upiaNetworkInterfaceId = lens _upiaNetworkInterfaceId (\ s a -> s{_upiaNetworkInterfaceId = a});++-- | The secondary private IP addresses to unassign from the network+-- interface. You can specify this option multiple times to unassign more+-- than one IP address.+upiaPrivateIPAddresses :: Lens' UnassignPrivateIPAddresses [Text]+upiaPrivateIPAddresses = lens _upiaPrivateIPAddresses (\ s a -> s{_upiaPrivateIPAddresses = a}) . _Coerce;++instance AWSRequest UnassignPrivateIPAddresses where+        type Sv UnassignPrivateIPAddresses = EC2+        type Rs UnassignPrivateIPAddresses =+             UnassignPrivateIPAddressesResponse+        request = post+        response+          = receiveNull UnassignPrivateIPAddressesResponse'++instance ToHeaders UnassignPrivateIPAddresses where+        toHeaders = const mempty++instance ToPath UnassignPrivateIPAddresses where+        toPath = const "/"++instance ToQuery UnassignPrivateIPAddresses where+        toQuery UnassignPrivateIPAddresses'{..}+          = mconcat+              ["Action" =:+                 ("UnassignPrivateIpAddresses" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "NetworkInterfaceId" =: _upiaNetworkInterfaceId,+               toQueryList "PrivateIpAddress"+                 _upiaPrivateIPAddresses]++-- | /See:/ 'unassignPrivateIPAddressesResponse' smart constructor.+data UnassignPrivateIPAddressesResponse =+    UnassignPrivateIPAddressesResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnassignPrivateIPAddressesResponse' with the minimum fields required to make a request.+--+unassignPrivateIPAddressesResponse+    :: UnassignPrivateIPAddressesResponse+unassignPrivateIPAddressesResponse = UnassignPrivateIPAddressesResponse'
− gen/Network/AWS/EC2/UnassignPrivateIpAddresses.hs
@@ -1,105 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.EC2.UnassignPrivateIpAddresses--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Unassigns one or more secondary private IP addresses from a network interface.------ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-UnassignPrivateIpAddresses.html>-module Network.AWS.EC2.UnassignPrivateIpAddresses-    (-    -- * Request-      UnassignPrivateIpAddresses-    -- ** Request constructor-    , unassignPrivateIpAddresses-    -- ** Request lenses-    , upiaNetworkInterfaceId-    , upiaPrivateIpAddresses--    -- * Response-    , UnassignPrivateIpAddressesResponse-    -- ** Response constructor-    , unassignPrivateIpAddressesResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts--data UnassignPrivateIpAddresses = UnassignPrivateIpAddresses-    { _upiaNetworkInterfaceId :: Text-    , _upiaPrivateIpAddresses :: List "PrivateIpAddress" Text-    } deriving (Eq, Ord, Read, Show)---- | 'UnassignPrivateIpAddresses' constructor.------ The fields accessible through corresponding lenses are:------ * 'upiaNetworkInterfaceId' @::@ 'Text'------ * 'upiaPrivateIpAddresses' @::@ ['Text']----unassignPrivateIpAddresses :: Text -- ^ 'upiaNetworkInterfaceId'-                           -> UnassignPrivateIpAddresses-unassignPrivateIpAddresses p1 = UnassignPrivateIpAddresses-    { _upiaNetworkInterfaceId = p1-    , _upiaPrivateIpAddresses = mempty-    }---- | The ID of the network interface.-upiaNetworkInterfaceId :: Lens' UnassignPrivateIpAddresses Text-upiaNetworkInterfaceId =-    lens _upiaNetworkInterfaceId (\s a -> s { _upiaNetworkInterfaceId = a })---- | The secondary private IP addresses to unassign from the network interface.--- You can specify this option multiple times to unassign more than one IP--- address.-upiaPrivateIpAddresses :: Lens' UnassignPrivateIpAddresses [Text]-upiaPrivateIpAddresses =-    lens _upiaPrivateIpAddresses (\s a -> s { _upiaPrivateIpAddresses = a })-        . _List--data UnassignPrivateIpAddressesResponse = UnassignPrivateIpAddressesResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'UnassignPrivateIpAddressesResponse' constructor.-unassignPrivateIpAddressesResponse :: UnassignPrivateIpAddressesResponse-unassignPrivateIpAddressesResponse = UnassignPrivateIpAddressesResponse--instance ToPath UnassignPrivateIpAddresses where-    toPath = const "/"--instance ToQuery UnassignPrivateIpAddresses where-    toQuery UnassignPrivateIpAddresses{..} = mconcat-        [ "NetworkInterfaceId" =? _upiaNetworkInterfaceId-        , "PrivateIpAddress"   `toQueryList` _upiaPrivateIpAddresses-        ]--instance ToHeaders UnassignPrivateIpAddresses--instance AWSRequest UnassignPrivateIpAddresses where-    type Sv UnassignPrivateIpAddresses = EC2-    type Rs UnassignPrivateIpAddresses = UnassignPrivateIpAddressesResponse--    request  = post "UnassignPrivateIpAddresses"-    response = nullResponse UnassignPrivateIpAddressesResponse
gen/Network/AWS/EC2/UnmonitorInstances.hs view
@@ -1,122 +1,137 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.UnmonitorInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Disables monitoring for a running instance. For more information about--- monitoring instances, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html Monitoring Your Instances and Volumes> in the /AmazonElastic Compute Cloud User Guide/.+-- Disables monitoring for a running instance. For more information about+-- 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/. ----- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-UnmonitorInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-UnmonitorInstances.html AWS API Reference> for UnmonitorInstances. module Network.AWS.EC2.UnmonitorInstances     (-    -- * Request-      UnmonitorInstances-    -- ** Request constructor-    , unmonitorInstances-    -- ** Request lenses+    -- * Creating a Request+      unmonitorInstances+    , UnmonitorInstances+    -- * Request Lenses     , uiDryRun     , uiInstanceIds -    -- * Response-    , UnmonitorInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , unmonitorInstancesResponse-    -- ** Response lenses-    , uirInstanceMonitorings+    , UnmonitorInstancesResponse+    -- * Response Lenses+    , uirsInstanceMonitorings+    , uirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.EC2.Types-import qualified GHC.Exts+import           Network.AWS.EC2.Types+import           Network.AWS.EC2.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data UnmonitorInstances = UnmonitorInstances-    { _uiDryRun      :: Maybe Bool-    , _uiInstanceIds :: List "InstanceId" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'unmonitorInstances' smart constructor.+data UnmonitorInstances = UnmonitorInstances'+    { _uiDryRun      :: !(Maybe Bool)+    , _uiInstanceIds :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'UnmonitorInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'UnmonitorInstances' with the minimum fields required to make a request. ----- * 'uiDryRun' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'uiInstanceIds' @::@ ['Text']+-- * 'uiDryRun' ---unmonitorInstances :: UnmonitorInstances-unmonitorInstances = UnmonitorInstances-    { _uiDryRun      = Nothing+-- * 'uiInstanceIds'+unmonitorInstances+    :: UnmonitorInstances+unmonitorInstances =+    UnmonitorInstances'+    { _uiDryRun = Nothing     , _uiInstanceIds = mempty     }  -- | 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'.+-- actually making the request, and provides an error response. If you have+-- the required permissions, the error response is 'DryRunOperation'.+-- Otherwise, it is 'UnauthorizedOperation'. uiDryRun :: Lens' UnmonitorInstances (Maybe Bool)-uiDryRun = lens _uiDryRun (\s a -> s { _uiDryRun = a })+uiDryRun = lens _uiDryRun (\ s a -> s{_uiDryRun = a});  -- | One or more instance IDs. uiInstanceIds :: Lens' UnmonitorInstances [Text]-uiInstanceIds = lens _uiInstanceIds (\s a -> s { _uiInstanceIds = a }) . _List--newtype UnmonitorInstancesResponse = UnmonitorInstancesResponse-    { _uirInstanceMonitorings :: List "item" InstanceMonitoring-    } deriving (Eq, Read, Show, Monoid, Semigroup)+uiInstanceIds = lens _uiInstanceIds (\ s a -> s{_uiInstanceIds = a}) . _Coerce; --- | 'UnmonitorInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'uirInstanceMonitorings' @::@ ['InstanceMonitoring']----unmonitorInstancesResponse :: UnmonitorInstancesResponse-unmonitorInstancesResponse = UnmonitorInstancesResponse-    { _uirInstanceMonitorings = mempty-    }+instance AWSRequest UnmonitorInstances where+        type Sv UnmonitorInstances = EC2+        type Rs UnmonitorInstances =+             UnmonitorInstancesResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 UnmonitorInstancesResponse' <$>+                   (x .@? "instancesSet" .!@ mempty >>=+                      may (parseXMLList "item"))+                     <*> (pure (fromEnum s))) --- | Monitoring information for one or more instances.-uirInstanceMonitorings :: Lens' UnmonitorInstancesResponse [InstanceMonitoring]-uirInstanceMonitorings =-    lens _uirInstanceMonitorings (\s a -> s { _uirInstanceMonitorings = a })-        . _List+instance ToHeaders UnmonitorInstances where+        toHeaders = const mempty  instance ToPath UnmonitorInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery UnmonitorInstances where-    toQuery UnmonitorInstances{..} = mconcat-        [ "DryRun"     =? _uiDryRun-        , "InstanceId" `toQueryList` _uiInstanceIds-        ]+        toQuery UnmonitorInstances'{..}+          = mconcat+              ["Action" =: ("UnmonitorInstances" :: ByteString),+               "Version" =: ("2015-04-15" :: ByteString),+               "DryRun" =: _uiDryRun,+               toQueryList "InstanceId" _uiInstanceIds] -instance ToHeaders UnmonitorInstances+-- | /See:/ 'unmonitorInstancesResponse' smart constructor.+data UnmonitorInstancesResponse = UnmonitorInstancesResponse'+    { _uirsInstanceMonitorings :: !(Maybe [InstanceMonitoring])+    , _uirsStatus              :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest UnmonitorInstances where-    type Sv UnmonitorInstances = EC2-    type Rs UnmonitorInstances = UnmonitorInstancesResponse+-- | Creates a value of 'UnmonitorInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uirsInstanceMonitorings'+--+-- * 'uirsStatus'+unmonitorInstancesResponse+    :: Int -- ^ 'uirsStatus'+    -> UnmonitorInstancesResponse+unmonitorInstancesResponse pStatus_ =+    UnmonitorInstancesResponse'+    { _uirsInstanceMonitorings = Nothing+    , _uirsStatus = pStatus_+    } -    request  = post "UnmonitorInstances"-    response = xmlResponse+-- | Monitoring information for one or more instances.+uirsInstanceMonitorings :: Lens' UnmonitorInstancesResponse [InstanceMonitoring]+uirsInstanceMonitorings = lens _uirsInstanceMonitorings (\ s a -> s{_uirsInstanceMonitorings = a}) . _Default . _Coerce; -instance FromXML UnmonitorInstancesResponse where-    parseXML x = UnmonitorInstancesResponse-        <$> x .@? "instancesSet" .!@ mempty+-- | The response status code.+uirsStatus :: Lens' UnmonitorInstancesResponse Int+uirsStatus = lens _uirsStatus (\ s a -> s{_uirsStatus = a});
gen/Network/AWS/EC2/Waiters.hs view
@@ -1,331 +1,522 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeFamilies      #-} +{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.EC2.Waiters--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.- module Network.AWS.EC2.Waiters where -import Network.AWS.EC2.DescribeBundleTasks-import Network.AWS.EC2.DescribeConversionTasks-import Network.AWS.EC2.DescribeCustomerGateways-import Network.AWS.EC2.DescribeExportTasks-import Network.AWS.EC2.DescribeImages-import Network.AWS.EC2.DescribeInstanceStatus-import Network.AWS.EC2.DescribeInstances-import Network.AWS.EC2.DescribeSnapshots-import Network.AWS.EC2.DescribeSpotInstanceRequests-import Network.AWS.EC2.DescribeSubnets-import Network.AWS.EC2.DescribeVolumes-import Network.AWS.EC2.DescribeVpcs-import Network.AWS.EC2.DescribeVpnConnections-import Network.AWS.EC2.GetPasswordData-import Network.AWS.EC2.Types-import Network.AWS.Waiters+import           Network.AWS.EC2.DescribeBundleTasks+import           Network.AWS.EC2.DescribeConversionTasks+import           Network.AWS.EC2.DescribeConversionTasks+import           Network.AWS.EC2.DescribeConversionTasks+import           Network.AWS.EC2.DescribeCustomerGateways+import           Network.AWS.EC2.DescribeExportTasks+import           Network.AWS.EC2.DescribeExportTasks+import           Network.AWS.EC2.DescribeImages+import           Network.AWS.EC2.DescribeInstances+import           Network.AWS.EC2.DescribeInstances+import           Network.AWS.EC2.DescribeInstances+import           Network.AWS.EC2.DescribeInstances+import           Network.AWS.EC2.DescribeInstanceStatus+import           Network.AWS.EC2.DescribeInstanceStatus+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.DescribeVPCs+import           Network.AWS.EC2.DescribeVPNConnections+import           Network.AWS.EC2.DescribeVPNConnections+import           Network.AWS.EC2.GetPasswordData+import           Network.AWS.EC2.Types+import           Network.AWS.Prelude+import           Network.AWS.Waiter -bundleTaskComplete :: Wait DescribeBundleTasks-bundleTaskComplete = Wait-    { _waitName      = "BundleTaskComplete"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll BTSComplete AcceptSuccess-            (folding (concatOf dbtrBundleTasks) . btState)-        , matchAny BTSFailed AcceptFailure-            (folding (concatOf dbtrBundleTasks) . btState)-        ]+-- | Polls 'Network.AWS.EC2.DescribeInstances' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+instanceTerminated :: Wait DescribeInstances+instanceTerminated =+    Wait+    { _waitName = "InstanceTerminated"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "terminated"+                             AcceptSuccess+                             (folding (concatOf dirsReservations) .+                              folding (concatOf rInstances) .+                              insState . isName . to toTextCI)+                       , matchAny+                             "pending"+                             AcceptFailure+                             (folding (concatOf dirsReservations) .+                              folding (concatOf rInstances) .+                              insState . isName . to toTextCI)+                       , matchAny+                             "stopping"+                             AcceptFailure+                             (folding (concatOf dirsReservations) .+                              folding (concatOf rInstances) .+                              insState . isName . to toTextCI)]     } -conversionTaskCancelled :: Wait DescribeConversionTasks-conversionTaskCancelled = Wait-    { _waitName      = "ConversionTaskCancelled"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll CTSCancelled AcceptSuccess-            (folding (concatOf dctrConversionTasks) . ctState)-        ]+-- | Polls 'Network.AWS.EC2.DescribeVolumes' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+volumeInUse :: Wait DescribeVolumes+volumeInUse =+    Wait+    { _waitName = "VolumeInUse"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "in-use"+                             AcceptSuccess+                             (folding (concatOf dvvrsVolumes) .+                              vState . to toTextCI)+                       , matchAny+                             "deleted"+                             AcceptFailure+                             (folding (concatOf dvvrsVolumes) .+                              vState . to toTextCI)]     } -conversionTaskCompleted :: Wait DescribeConversionTasks-conversionTaskCompleted = Wait-    { _waitName      = "ConversionTaskCompleted"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll CTSCompleted AcceptSuccess-            (folding (concatOf dctrConversionTasks) . ctState)-        , matchAny CTSCancelled AcceptFailure-            (folding (concatOf dctrConversionTasks) . ctState)-        , matchAny CTSCancelling AcceptFailure-            (folding (concatOf dctrConversionTasks) . ctState)-        ]+-- | 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+subnetAvailable =+    Wait+    { _waitName = "SubnetAvailable"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "available"+                             AcceptSuccess+                             (folding (concatOf dsrsSubnets) .+                              subState . to toTextCI)]     } +-- | 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+systemStatusOK =+    Wait+    { _waitName = "SystemStatusOk"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "ok"+                             AcceptSuccess+                             (folding (concatOf disrsInstanceStatuses) .+                              isSystemStatus . _Just . issStatus . to toTextCI)]+    }++-- | Polls 'Network.AWS.EC2.DescribeCustomerGateways' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks. customerGatewayAvailable :: Wait DescribeCustomerGateways-customerGatewayAvailable = Wait-    { _waitName      = "CustomerGatewayAvailable"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll "available" AcceptSuccess-            (folding (concatOf dcgrCustomerGateways) . cgState)-        , matchAny "deleted" AcceptFailure-            (folding (concatOf dcgrCustomerGateways) . cgState)-        , matchAny "deleting" AcceptFailure-            (folding (concatOf dcgrCustomerGateways) . cgState)-        ]+customerGatewayAvailable =+    Wait+    { _waitName = "CustomerGatewayAvailable"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "available"+                             AcceptSuccess+                             (folding (concatOf dcgrsCustomerGateways) .+                              cgState . to toTextCI)+                       , matchAny+                             "deleted"+                             AcceptFailure+                             (folding (concatOf dcgrsCustomerGateways) .+                              cgState . to toTextCI)+                       , matchAny+                             "deleting"+                             AcceptFailure+                             (folding (concatOf dcgrsCustomerGateways) .+                              cgState . to toTextCI)]     } -exportTaskCancelled :: Wait DescribeExportTasks-exportTaskCancelled = Wait-    { _waitName      = "ExportTaskCancelled"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll ETSCancelled AcceptSuccess-            (folding (concatOf detrExportTasks) . etState)-        ]+-- | Polls 'Network.AWS.EC2.DescribeConversionTasks' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+conversionTaskCompleted :: Wait DescribeConversionTasks+conversionTaskCompleted =+    Wait+    { _waitName = "ConversionTaskCompleted"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "completed"+                             AcceptSuccess+                             (folding (concatOf dctrsConversionTasks) .+                              ctState . to toTextCI)+                       , matchAny+                             "cancelled"+                             AcceptFailure+                             (folding (concatOf dctrsConversionTasks) .+                              ctState . to toTextCI)+                       , matchAny+                             "cancelling"+                             AcceptFailure+                             (folding (concatOf dctrsConversionTasks) .+                              ctState . to toTextCI)]     } -exportTaskCompleted :: Wait DescribeExportTasks-exportTaskCompleted = Wait-    { _waitName      = "ExportTaskCompleted"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll ETSCompleted AcceptSuccess-            (folding (concatOf detrExportTasks) . etState)-        ]+-- | Polls 'Network.AWS.EC2.DescribeConversionTasks' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+conversionTaskDeleted :: Wait DescribeConversionTasks+conversionTaskDeleted =+    Wait+    { _waitName = "ConversionTaskDeleted"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "deleted"+                             AcceptSuccess+                             (folding (concatOf dctrsConversionTasks) .+                              ctState . to toTextCI)]     } -imageAvailable :: Wait DescribeImages-imageAvailable = Wait-    { _waitName      = "ImageAvailable"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll ISAvailable AcceptSuccess-            (folding (concatOf dirImages) . iState)-        , matchAny ISDeregistered AcceptFailure-            (folding (concatOf dirImages) . iState)-        ]+-- | Polls 'Network.AWS.EC2.DescribeInstances' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+instanceStopped :: Wait DescribeInstances+instanceStopped =+    Wait+    { _waitName = "InstanceStopped"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "stopped"+                             AcceptSuccess+                             (folding (concatOf dirsReservations) .+                              folding (concatOf rInstances) .+                              insState . isName . to toTextCI)+                       , matchAny+                             "pending"+                             AcceptFailure+                             (folding (concatOf dirsReservations) .+                              folding (concatOf rInstances) .+                              insState . isName . to toTextCI)+                       , matchAny+                             "terminated"+                             AcceptFailure+                             (folding (concatOf dirsReservations) .+                              folding (concatOf rInstances) .+                              insState . isName . to toTextCI)]     } -instanceExists :: Wait DescribeInstances-instanceExists = Wait-    { _waitName      = "InstanceExists"-    , _waitAttempts  = 40-    , _waitDelay     = 5-    , _waitAcceptors =-        [ matchStatus 200 AcceptSuccess-        , matchError "InvalidInstanceIDNotFound" AcceptRetry-        ]+-- | Polls 'Network.AWS.EC2.GetPasswordData' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+passwordDataAvailable :: Wait GetPasswordData+passwordDataAvailable =+    Wait+    { _waitName = "PasswordDataAvailable"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             True+                             AcceptSuccess+                             (nonEmpty gpdrsPasswordData)]     } +-- | Polls 'Network.AWS.EC2.DescribeInstances' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks. instanceRunning :: Wait DescribeInstances-instanceRunning = Wait-    { _waitName      = "InstanceRunning"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll ISNRunning AcceptSuccess-            (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName)-        , matchAny ISNShuttingDown AcceptFailure-            (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName)-        , matchAny ISNTerminated AcceptFailure-            (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName)-        , matchAny ISNStopping AcceptFailure-            (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName)-        ]+instanceRunning =+    Wait+    { _waitName = "InstanceRunning"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "running"+                             AcceptSuccess+                             (folding (concatOf dirsReservations) .+                              folding (concatOf rInstances) .+                              insState . isName . to toTextCI)+                       , matchAny+                             "shutting-down"+                             AcceptFailure+                             (folding (concatOf dirsReservations) .+                              folding (concatOf rInstances) .+                              insState . isName . to toTextCI)+                       , matchAny+                             "terminated"+                             AcceptFailure+                             (folding (concatOf dirsReservations) .+                              folding (concatOf rInstances) .+                              insState . isName . to toTextCI)+                       , matchAny+                             "stopping"+                             AcceptFailure+                             (folding (concatOf dirsReservations) .+                              folding (concatOf rInstances) .+                              insState . isName . to toTextCI)]     } -instanceStatusOk :: Wait DescribeInstanceStatus-instanceStatusOk = Wait-    { _waitName      = "InstanceStatusOk"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll SSOk AcceptSuccess-            (folding (concatOf disrInstanceStatuses) . isInstanceStatus . _Just . issStatus . _Just)-        ]+-- | Polls 'Network.AWS.EC2.DescribeSpotInstanceRequests' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+spotInstanceRequestFulfilled :: Wait DescribeSpotInstanceRequests+spotInstanceRequestFulfilled =+    Wait+    { _waitName = "SpotInstanceRequestFulfilled"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "fulfilled"+                             AcceptSuccess+                             (folding (concatOf dsirrsSpotInstanceRequests) .+                              sirStatus . _Just . sisCode . _Just . to toTextCI)+                       , matchAny+                             "schedule-expired"+                             AcceptFailure+                             (folding (concatOf dsirrsSpotInstanceRequests) .+                              sirStatus . _Just . sisCode . _Just . to toTextCI)+                       , matchAny+                             "canceled-before-fulfillment"+                             AcceptFailure+                             (folding (concatOf dsirrsSpotInstanceRequests) .+                              sirStatus . _Just . sisCode . _Just . to toTextCI)+                       , matchAny+                             "bad-parameters"+                             AcceptFailure+                             (folding (concatOf dsirrsSpotInstanceRequests) .+                              sirStatus . _Just . sisCode . _Just . to toTextCI)+                       , matchAny+                             "system-error"+                             AcceptFailure+                             (folding (concatOf dsirrsSpotInstanceRequests) .+                              sirStatus . _Just . sisCode . _Just . to toTextCI)]     } -instanceStopped :: Wait DescribeInstances-instanceStopped = Wait-    { _waitName      = "InstanceStopped"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll ISNStopped AcceptSuccess-            (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName)-        , matchAny ISNPending AcceptFailure-            (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName)-        , matchAny ISNTerminated AcceptFailure-            (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName)-        ]+-- | Polls 'Network.AWS.EC2.DescribeExportTasks' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+exportTaskCompleted :: Wait DescribeExportTasks+exportTaskCompleted =+    Wait+    { _waitName = "ExportTaskCompleted"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "completed"+                             AcceptSuccess+                             (folding (concatOf detrsExportTasks) .+                              etState . to toTextCI)]     } -instanceTerminated :: Wait DescribeInstances-instanceTerminated = Wait-    { _waitName      = "InstanceTerminated"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll ISNTerminated AcceptSuccess-            (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName)-        , matchAny ISNPending AcceptFailure-            (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName)-        , matchAny ISNStopping AcceptFailure-            (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName)-        ]+-- | Polls 'Network.AWS.EC2.DescribeVPCs' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+vpcAvailable :: Wait DescribeVPCs+vpcAvailable =+    Wait+    { _waitName = "VpcAvailable"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "available"+                             AcceptSuccess+                             (folding (concatOf dvrsVPCs) .+                              vpcState . to toTextCI)]     } -passwordDataAvailable :: Wait GetPasswordData-passwordDataAvailable = Wait-    { _waitName      = "PasswordDataAvailable"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll True AcceptSuccess-            (nonEmpty gpdrPasswordData)-        ]+-- | Polls 'Network.AWS.EC2.DescribeVPNConnections' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+vpnConnectionAvailable :: Wait DescribeVPNConnections+vpnConnectionAvailable =+    Wait+    { _waitName = "VpnConnectionAvailable"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "available"+                             AcceptSuccess+                             (folding (concatOf dvcrsVPNConnections) .+                              vcState . to toTextCI)+                       , matchAny+                             "deleting"+                             AcceptFailure+                             (folding (concatOf dvcrsVPNConnections) .+                              vcState . to toTextCI)+                       , matchAny+                             "deleted"+                             AcceptFailure+                             (folding (concatOf dvcrsVPNConnections) .+                              vcState . to toTextCI)]     } -snapshotCompleted :: Wait DescribeSnapshots-snapshotCompleted = Wait-    { _waitName      = "SnapshotCompleted"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll SSCompleted AcceptSuccess-            (folding (concatOf dsrSnapshots) . sState)-        ]+-- | Polls 'Network.AWS.EC2.DescribeExportTasks' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+exportTaskCancelled :: Wait DescribeExportTasks+exportTaskCancelled =+    Wait+    { _waitName = "ExportTaskCancelled"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "cancelled"+                             AcceptSuccess+                             (folding (concatOf detrsExportTasks) .+                              etState . to toTextCI)]     } -spotInstanceRequestFulfilled :: Wait DescribeSpotInstanceRequests-spotInstanceRequestFulfilled = Wait-    { _waitName      = "SpotInstanceRequestFulfilled"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll "fulfilled" AcceptSuccess-            (folding (concatOf dsirrSpotInstanceRequests) . siStatus . _Just . sisCode . _Just)-        , matchAny "schedule-expired" AcceptFailure-            (folding (concatOf dsirrSpotInstanceRequests) . siStatus . _Just . sisCode . _Just)-        , matchAny "canceled-before-fulfillment" AcceptFailure-            (folding (concatOf dsirrSpotInstanceRequests) . siStatus . _Just . sisCode . _Just)-        , matchAny "bad-parameters" AcceptFailure-            (folding (concatOf dsirrSpotInstanceRequests) . siStatus . _Just . sisCode . _Just)-        , matchAny "system-error" AcceptFailure-            (folding (concatOf dsirrSpotInstanceRequests) . siStatus . _Just . sisCode . _Just)-        ]+-- | Polls 'Network.AWS.EC2.DescribeVolumes' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+volumeDeleted :: Wait DescribeVolumes+volumeDeleted =+    Wait+    { _waitName = "VolumeDeleted"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "deleted"+                             AcceptSuccess+                             (folding (concatOf dvvrsVolumes) .+                              vState . to toTextCI)+                       , matchError "InvalidVolumeNotFound" AcceptSuccess]     } -subnetAvailable :: Wait DescribeSubnets-subnetAvailable = Wait-    { _waitName      = "SubnetAvailable"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll SubnetStateAvailable AcceptSuccess-            (folding (concatOf dsrSubnets) . s1State)-        ]+-- | Polls 'Network.AWS.EC2.DescribeBundleTasks' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+bundleTaskComplete :: Wait DescribeBundleTasks+bundleTaskComplete =+    Wait+    { _waitName = "BundleTaskComplete"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "complete"+                             AcceptSuccess+                             (folding (concatOf dbtrsBundleTasks) .+                              btState . to toTextCI)+                       , matchAny+                             "failed"+                             AcceptFailure+                             (folding (concatOf dbtrsBundleTasks) .+                              btState . to toTextCI)]     } -systemStatusOk :: Wait DescribeInstanceStatus-systemStatusOk = Wait-    { _waitName      = "SystemStatusOk"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll SSOk AcceptSuccess-            (folding (concatOf disrInstanceStatuses) . isSystemStatus . _Just . issStatus . _Just)-        ]+-- | Polls 'Network.AWS.EC2.DescribeVPNConnections' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+vpnConnectionDeleted :: Wait DescribeVPNConnections+vpnConnectionDeleted =+    Wait+    { _waitName = "VpnConnectionDeleted"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "deleted"+                             AcceptSuccess+                             (folding (concatOf dvcrsVPNConnections) .+                              vcState . to toTextCI)+                       , matchAny+                             "pending"+                             AcceptFailure+                             (folding (concatOf dvcrsVPNConnections) .+                              vcState . to toTextCI)]     } -volumeAvailable :: Wait DescribeVolumes-volumeAvailable = Wait-    { _waitName      = "VolumeAvailable"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll VSAvailable AcceptSuccess-            (folding (concatOf dvrVolumes) . vState)-        , matchAny VSDeleted AcceptFailure-            (folding (concatOf dvrVolumes) . vState)-        ]+-- | Polls 'Network.AWS.EC2.DescribeImages' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+imageAvailable :: Wait DescribeImages+imageAvailable =+    Wait+    { _waitName = "ImageAvailable"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "available"+                             AcceptSuccess+                             (folding (concatOf desrsImages) .+                              iState . to toTextCI)+                       , matchAny+                             "deregistered"+                             AcceptFailure+                             (folding (concatOf desrsImages) .+                              iState . to toTextCI)]     } -volumeDeleted :: Wait DescribeVolumes-volumeDeleted = Wait-    { _waitName      = "VolumeDeleted"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll VSDeleted AcceptSuccess-            (folding (concatOf dvrVolumes) . vState)-        , matchError "InvalidVolumeNotFound" AcceptSuccess-        ]+-- | Polls 'Network.AWS.EC2.DescribeConversionTasks' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+conversionTaskCancelled :: Wait DescribeConversionTasks+conversionTaskCancelled =+    Wait+    { _waitName = "ConversionTaskCancelled"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "cancelled"+                             AcceptSuccess+                             (folding (concatOf dctrsConversionTasks) .+                              ctState . to toTextCI)]     } -volumeInUse :: Wait DescribeVolumes-volumeInUse = Wait-    { _waitName      = "VolumeInUse"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll VSInUse AcceptSuccess-            (folding (concatOf dvrVolumes) . vState)-        , matchAny VSDeleted AcceptFailure-            (folding (concatOf dvrVolumes) . vState)-        ]+-- | Polls 'Network.AWS.EC2.DescribeInstances' every 5 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+instanceExists :: Wait DescribeInstances+instanceExists =+    Wait+    { _waitName = "InstanceExists"+    , _waitAttempts = 40+    , _waitDelay = 5+    , _waitAcceptors = [ matchStatus 200 AcceptSuccess+                       , matchError "InvalidInstanceIDNotFound" AcceptRetry]     } -vpcAvailable :: Wait DescribeVpcs-vpcAvailable = Wait-    { _waitName      = "VpcAvailable"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll VpcStateAvailable AcceptSuccess-            (folding (concatOf dvrVpcs) . vpcState)-        ]+-- | Polls 'Network.AWS.EC2.DescribeVolumes' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+volumeAvailable :: Wait DescribeVolumes+volumeAvailable =+    Wait+    { _waitName = "VolumeAvailable"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "available"+                             AcceptSuccess+                             (folding (concatOf dvvrsVolumes) .+                              vState . to toTextCI)+                       , matchAny+                             "deleted"+                             AcceptFailure+                             (folding (concatOf dvvrsVolumes) .+                              vState . to toTextCI)]     } -vpnConnectionAvailable :: Wait DescribeVpnConnections-vpnConnectionAvailable = Wait-    { _waitName      = "VpnConnectionAvailable"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll VpnStateAvailable AcceptSuccess-            (folding (concatOf dvcrVpnConnections) . vcState)-        , matchAny VpnStateDeleting AcceptFailure-            (folding (concatOf dvcrVpnConnections) . vcState)-        , matchAny VpnStateDeleted AcceptFailure-            (folding (concatOf dvcrVpnConnections) . vcState)-        ]+-- | 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+snapshotCompleted =+    Wait+    { _waitName = "SnapshotCompleted"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "completed"+                             AcceptSuccess+                             (folding (concatOf dssrsSnapshots) .+                              sState . to toTextCI)]     } -vpnConnectionDeleted :: Wait DescribeVpnConnections-vpnConnectionDeleted = Wait-    { _waitName      = "VpnConnectionDeleted"-    , _waitAttempts  = 40-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll VpnStateDeleted AcceptSuccess-            (folding (concatOf dvcrVpnConnections) . vcState)-        , matchAny VpnStatePending AcceptFailure-            (folding (concatOf dvcrVpnConnections) . vcState)-        ]+-- | Polls 'Network.AWS.EC2.DescribeInstanceStatus' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+instanceStatusOK :: Wait DescribeInstanceStatus+instanceStatusOK =+    Wait+    { _waitName = "InstanceStatusOk"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "ok"+                             AcceptSuccess+                             (folding (concatOf disrsInstanceStatuses) .+                              isInstanceStatus .+                              _Just . issStatus . to toTextCI)]     }
− src/Network/AWS/EC2/Internal.hs
@@ -1,68 +0,0 @@-{-# LANGUAGE DataKinds         #-}-{-# LANGUAGE DeriveGeneric     #-}-{-# LANGUAGE KindSignatures    #-}-{-# LANGUAGE OverloadedStrings #-}---- Module      : Network.AWS.EC2.Internal--- Copyright   : (c) 2013-2015 Brendan Hay <brendan.g.hay@gmail.com>--- 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---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)--module Network.AWS.EC2.Internal where--import           GHC.Generics-import           Network.AWS.Error-import           Network.AWS.Prelude--data Message = Message-    { _msgCode    :: Maybe ErrorCode-    , _msgMessage :: Text-    } deriving (Eq, Ord, Show, Generic)--instance AWSErrorCode Message where-    awsErrorCode = _msgCode--instance FromXML Message where-    parseXML x = Message-        <$> x .@ "Code"-        <*> x .@ "Message"--msgCode :: Lens' Message (Maybe ErrorCode)-msgCode = lens _msgCode (\s x -> s { _msgCode = x })--msgMessage :: Lens' Message Text-msgMessage = lens _msgMessage (\s x -> s { _msgMessage = x })--data EC2Error = EC2Error-    { _errRequestID :: Text-    , _errErrors    :: List1 "Error" Message-    } deriving (Eq, Ord, Show, Generic)--instance AWSErrorCode EC2Error where-    awsErrorCode e = let List1 (m :| _) = _errErrors e in awsErrorCode m--instance FromXML EC2Error where-    parseXML x = EC2Error-        <$> x .@ "RequestID"-        <*> x .@ "Errors"--errRequestID :: Lens' EC2Error Text-errRequestID = lens _errRequestID (\s x -> s { _errRequestID = x })--errErrors :: Lens' EC2Error (NonEmpty Message)-errErrors = lens _errErrors (\s x -> s { _errErrors = x }) . _List1---- <Response>---     <Errors>---          <Error>---            <Code>Error code text</Code>---            <Message>Error message</Message>---          </Error>---     </Errors>---     <RequestID>request ID</RequestID>--- </Response>
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- 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 Main (main) where++import Test.Tasty+import Test.AWS.EC2+import Test.AWS.EC2.Internal++main :: IO ()+main = defaultMain $ testGroup "EC2"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/EC2.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell   #-}++-- |+-- Module      : Test.AWS.EC2+-- Copyright   : (c) 2013-2015 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 Test.AWS.EC2+    ( tests+    , fixtures+    ) where++import           Data.Time+import           Network.AWS.EC2+import           Network.AWS.Prelude+import           Test.AWS.Gen.EC2+import           Test.AWS.TH+import           Test.Tasty++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures =+    [ testGroup "response"+        [ testDescribeInstancesResponse $ describeInstancesResponse 200+            & dirsReservations .~+                [ reservation "r-1a2b3c4d" "123456789012"+                    & rGroups .~+                        [ groupIdentifier+                            & giGroupId   ?~ "sg-1a2b3c4d"+                            & giGroupName ?~ "my-security-group"+                        ]++                    & rInstances .~+                        [ instance' "i-1a2b3c4d" "ami-1a2b3c4d" 0 C1_Medium+                            $(mkTime "2014-03-18T21:47:02+0000")+                            (placement & pAvailabilityZone ?~ "us-west-2a"+                                       & pTenancy          ?~ Default)+                            (monitoring & mState ?~ MSDisabled)+                            X86_64 EBS HVM Xen+                            (instanceState ISNRunning 16)+                                & insPlatform            ?~ PVWindows+                                & insClientToken         ?~ "ABCDE1234567890123"+                                & insSourceDestCheck     ?~ True+                                & insVPCId               ?~ "vpc-1a2b3c4d"+                                & insKeyName             ?~ "my-key-pair"+                                & insSubnetId            ?~ "subnet-1a2b3c4d"+                                & insRootDeviceName      ?~ "/dev/sda1"+                                & insPrivateIPAddress    ?~ "10.0.0.12"+                                & insPublicIPAddress     ?~ "46.51.219.63"+                                & insTags                .~ [tag "Name" "Windows Instance"]+                                & insState               .~ instanceState ISNRunning 16+                                & insSecurityGroups      .~+                                    [ groupIdentifier+                                        & giGroupId   ?~ "sg-1a2b3c4d"+                                        & giGroupName ?~ "my-security-group"+                                    ]++                                & insBlockDeviceMappings .~+                                    [ instanceBlockDeviceMapping+                                        & ibdmDeviceName ?~ "/dev/sda1"+                                        & ibdmEBS        ?~+                                            (ebsInstanceBlockDevice+                                                & eibdDeleteOnTermination ?~ True+                                                & eibdStatus              ?~ Attached+                                                & eibdVolumeId            ?~ "vol-1a2b3c4d"+                                                & eibdAttachTime          ?~ $(mkTime "2014-03-18T21:47:02+0000"))+                                    ]++                                & insNetworkInterfaces   .~+                                    [ instanceNetworkInterface+                                        & iniStatus              ?~ NISInUse+                                        & iniSourceDestCheck     ?~ True+                                        & iniVPCId               ?~ "vpc-1a2b3c4d"+                                        & iniNetworkInterfaceId  ?~ "eni-1a2b3c4d"+                                        & iniSubnetId            ?~ "subnet-1a2b3c4d"+                                        & iniMACAddress          ?~ "1b:2b:3c:4d:5e:6f"+                                        & iniOwnerId             ?~ "123456789012"+                                        & iniPrivateIPAddress    ?~ "10.0.0.12"+                                        & iniDescription         ?~ "Primary network interface"+                                        & iniAttachment          ?~+                                            (instanceNetworkInterfaceAttachment+                                                & iniaDeleteOnTermination ?~ True+                                                & iniaStatus              ?~ Attached+                                                & iniaAttachmentId        ?~ "eni-attach-1a2b3c4d"+                                                & iniaAttachTime          ?~ $(mkTime "2014-03-18T21:47:02+0000")+                                                & iniaDeviceIndex         ?~ 0)++                                        & iniAssociation         ?~+                                            (instanceNetworkInterfaceAssociation+                                                & iniaIPOwnerId  ?~ "123456789012"+                                                & iniaPublicIP   ?~ "198.51.100.63")++                                        & iniGroups              .~+                                            [ groupIdentifier+                                                & giGroupId   ?~ "sg-1a2b3c4d"+                                                & giGroupName ?~ "my-security-group"+                                            ]+                                    ]++                        ]+                ]+        ]+    ]+
+ test/Test/AWS/EC2/Internal.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Test.AWS.EC2.Internal+-- Copyright   : (c) 2013-2015 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+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.EC2.Internal where++import Test.AWS.Prelude
+ test/Test/AWS/Gen/EC2.hs view
@@ -0,0 +1,3133 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans        #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.AWS.Gen.EC2+-- 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 Test.AWS.Gen.EC2 where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.EC2+import Test.AWS.EC2.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ testDetachNetworkInterface $+--             detachNetworkInterface+--+--         , testDeleteVPCEndpoints $+--             deleteVPCEndpoints+--+--         , testDeleteKeyPair $+--             deleteKeyPair+--+--         , testDeleteFlowLogs $+--             deleteFlowLogs+--+--         , testDescribeTags $+--             describeTags+--+--         , testRevokeSecurityGroupEgress $+--             revokeSecurityGroupEgress+--+--         , testCreateVPNGateway $+--             createVPNGateway+--+--         , testDetachInternetGateway $+--             detachInternetGateway+--+--         , testCreateNetworkACL $+--             createNetworkACL+--+--         , testImportInstance $+--             importInstance+--+--         , testDescribeVPCClassicLink $+--             describeVPCClassicLink+--+--         , testDeleteVPNConnection $+--             deleteVPNConnection+--+--         , testAuthorizeSecurityGroupEgress $+--             authorizeSecurityGroupEgress+--+--         , testDescribeBundleTasks $+--             describeBundleTasks+--+--         , testCreateInternetGateway $+--             createInternetGateway+--+--         , testReleaseAddress $+--             releaseAddress+--+--         , testCancelBundleTask $+--             cancelBundleTask+--+--         , testModifyNetworkInterfaceAttribute $+--             modifyNetworkInterfaceAttribute+--+--         , testModifySubnetAttribute $+--             modifySubnetAttribute+--+--         , testDeregisterImage $+--             deregisterImage+--+--         , testDetachVolume $+--             detachVolume+--+--         , testCancelReservedInstancesListing $+--             cancelReservedInstancesListing+--+--         , testAttachClassicLinkVPC $+--             attachClassicLinkVPC+--+--         , testCancelSpotFleetRequests $+--             cancelSpotFleetRequests+--+--         , testDescribeDHCPOptions $+--             describeDHCPOptions+--+--         , testDescribeSpotPriceHistory $+--             describeSpotPriceHistory+--+--         , testStopInstances $+--             stopInstances+--+--         , testImportImage $+--             importImage+--+--         , testDeleteNetworkACLEntry $+--             deleteNetworkACLEntry+--+--         , testDisableVPCClassicLink $+--             disableVPCClassicLink+--+--         , testAuthorizeSecurityGroupIngress $+--             authorizeSecurityGroupIngress+--+--         , testBundleInstance $+--             bundleInstance+--+--         , testDescribeVPCEndpointServices $+--             describeVPCEndpointServices+--+--         , testReplaceNetworkACLAssociation $+--             replaceNetworkACLAssociation+--+--         , testCreateVPCPeeringConnection $+--             createVPCPeeringConnection+--+--         , testResetSnapshotAttribute $+--             resetSnapshotAttribute+--+--         , testDescribeAddresses $+--             describeAddresses+--+--         , testDescribeInternetGateways $+--             describeInternetGateways+--+--         , testReplaceRoute $+--             replaceRoute+--+--         , testCreateTags $+--             createTags+--+--         , testDescribeSubnets $+--             describeSubnets+--+--         , testDescribeNetworkInterfaces $+--             describeNetworkInterfaces+--+--         , testPurchaseReservedInstancesOffering $+--             purchaseReservedInstancesOffering+--+--         , testDescribeSnapshotAttribute $+--             describeSnapshotAttribute+--+--         , testCreateCustomerGateway $+--             createCustomerGateway+--+--         , testAttachInternetGateway $+--             attachInternetGateway+--+--         , testDeleteTags $+--             deleteTags+--+--         , testReplaceNetworkACLEntry $+--             replaceNetworkACLEntry+--+--         , testResetInstanceAttribute $+--             resetInstanceAttribute+--+--         , testDeleteRoute $+--             deleteRoute+--+--         , testDescribeVPNConnections $+--             describeVPNConnections+--+--         , testDescribeFlowLogs $+--             describeFlowLogs+--+--         , testDeleteSecurityGroup $+--             deleteSecurityGroup+--+--         , testDescribeReservedInstancesOfferings $+--             describeReservedInstancesOfferings+--+--         , testDeleteVPCPeeringConnection $+--             deleteVPCPeeringConnection+--+--         , testDescribeVPCEndpoints $+--             describeVPCEndpoints+--+--         , testDescribeInstanceAttribute $+--             describeInstanceAttribute+--+--         , testConfirmProductInstance $+--             confirmProductInstance+--+--         , testImportKeyPair $+--             importKeyPair+--+--         , testAttachNetworkInterface $+--             attachNetworkInterface+--+--         , testDescribeInstanceStatus $+--             describeInstanceStatus+--+--         , testCancelConversionTask $+--             cancelConversionTask+--+--         , testReportInstanceStatus $+--             reportInstanceStatus+--+--         , testAssociateDHCPOptions $+--             associateDHCPOptions+--+--         , testDescribeVPCs $+--             describeVPCs+--+--         , testRequestSpotInstances $+--             requestSpotInstances+--+--         , testModifyImageAttribute $+--             modifyImageAttribute+--+--         , testDescribeReservedInstances $+--             describeReservedInstances+--+--         , testAllocateAddress $+--             allocateAddress+--+--         , testRunInstances $+--             runInstances+--+--         , testCreateRouteTable $+--             createRouteTable+--+--         , testAttachVolume $+--             attachVolume+--+--         , testDescribeConversionTasks $+--             describeConversionTasks+--+--         , testRejectVPCPeeringConnection $+--             rejectVPCPeeringConnection+--+--         , testRevokeSecurityGroupIngress $+--             revokeSecurityGroupIngress+--+--         , testDescribeVolumes $+--             describeVolumes+--+--         , testDeleteVPNConnectionRoute $+--             deleteVPNConnectionRoute+--+--         , testModifyReservedInstances $+--             modifyReservedInstances+--+--         , testRegisterImage $+--             registerImage+--+--         , testModifyVPCEndpoint $+--             modifyVPCEndpoint+--+--         , testDeleteVPNGateway $+--             deleteVPNGateway+--+--         , testCreateVPC $+--             createVPC+--+--         , testDescribeMovingAddresses $+--             describeMovingAddresses+--+--         , testDescribeVolumeAttribute $+--             describeVolumeAttribute+--+--         , testMoveAddressToVPC $+--             moveAddressToVPC+--+--         , testGetPasswordData $+--             getPasswordData+--+--         , testCreateFlowLogs $+--             createFlowLogs+--+--         , testDescribeImportImageTasks $+--             describeImportImageTasks+--+--         , testDeleteNetworkACL $+--             deleteNetworkACL+--+--         , testDescribeSpotFleetRequests $+--             describeSpotFleetRequests+--+--         , testCopySnapshot $+--             copySnapshot+--+--         , testModifyVolumeAttribute $+--             modifyVolumeAttribute+--+--         , testDescribeVPCAttribute $+--             describeVPCAttribute+--+--         , testCreateVolume $+--             createVolume+--+--         , testDisassociateAddress $+--             disassociateAddress+--+--         , testDeleteVPC $+--             deleteVPC+--+--         , testDescribePrefixLists $+--             describePrefixLists+--+--         , testCreateInstanceExportTask $+--             createInstanceExportTask+--+--         , testDescribeSpotDatafeedSubscription $+--             describeSpotDatafeedSubscription+--+--         , testDetachVPNGateway $+--             detachVPNGateway+--+--         , testDescribeExportTasks $+--             describeExportTasks+--+--         , testDeletePlacementGroup $+--             deletePlacementGroup+--+--         , testCreateSubnet $+--             createSubnet+--+--         , testEnableVolumeIO $+--             enableVolumeIO+--+--         , testCancelExportTask $+--             cancelExportTask+--+--         , testRequestSpotFleet $+--             requestSpotFleet+--+--         , testDescribeInstances $+--             describeInstances+--+--         , testDescribeSecurityGroups $+--             describeSecurityGroups+--+--         , testDescribeVPCPeeringConnections $+--             describeVPCPeeringConnections+--+--         , testCreateNetworkInterface $+--             createNetworkInterface+--+--         , testAssociateAddress $+--             associateAddress+--+--         , testStartInstances $+--             startInstances+--+--         , testDescribeCustomerGateways $+--             describeCustomerGateways+--+--         , testResetNetworkInterfaceAttribute $+--             resetNetworkInterfaceAttribute+--+--         , testCreateVPNConnection $+--             createVPNConnection+--+--         , testDescribeSnapshots $+--             describeSnapshots+--+--         , testCreatePlacementGroup $+--             createPlacementGroup+--+--         , testReplaceRouteTableAssociation $+--             replaceRouteTableAssociation+--+--         , testDescribeNetworkInterfaceAttribute $+--             describeNetworkInterfaceAttribute+--+--         , testDescribeReservedInstancesListings $+--             describeReservedInstancesListings+--+--         , testDeleteNetworkInterface $+--             deleteNetworkInterface+--+--         , testDeleteInternetGateway $+--             deleteInternetGateway+--+--         , testDeleteSubnet $+--             deleteSubnet+--+--         , testCreateVPCEndpoint $+--             createVPCEndpoint+--+--         , testDescribeImportSnapshotTasks $+--             describeImportSnapshotTasks+--+--         , testCopyImage $+--             copyImage+--+--         , testDisassociateRouteTable $+--             disassociateRouteTable+--+--         , testUnmonitorInstances $+--             unmonitorInstances+--+--         , testImportVolume $+--             importVolume+--+--         , testDisableVGWRoutePropagation $+--             disableVGWRoutePropagation+--+--         , testCreateSpotDatafeedSubscription $+--             createSpotDatafeedSubscription+--+--         , testAssignPrivateIPAddresses $+--             assignPrivateIPAddresses+--+--         , testDeleteSnapshot $+--             deleteSnapshot+--+--         , testDeleteCustomerGateway $+--             deleteCustomerGateway+--+--         , testModifyInstanceAttribute $+--             modifyInstanceAttribute+--+--         , testCreateSecurityGroup $+--             createSecurityGroup+--+--         , testCancelSpotInstanceRequests $+--             cancelSpotInstanceRequests+--+--         , testCreateRoute $+--             createRoute+--+--         , testCreateNetworkACLEntry $+--             createNetworkACLEntry+--+--         , testModifySnapshotAttribute $+--             modifySnapshotAttribute+--+--         , testEnableVGWRoutePropagation $+--             enableVGWRoutePropagation+--+--         , testCreateSnapshot $+--             createSnapshot+--+--         , testDescribeSpotFleetRequestHistory $+--             describeSpotFleetRequestHistory+--+--         , testDeleteSpotDatafeedSubscription $+--             deleteSpotDatafeedSubscription+--+--         , testDescribePlacementGroups $+--             describePlacementGroups+--+--         , testCreateReservedInstancesListing $+--             createReservedInstancesListing+--+--         , testEnableVPCClassicLink $+--             enableVPCClassicLink+--+--         , testDescribeKeyPairs $+--             describeKeyPairs+--+--         , testRebootInstances $+--             rebootInstances+--+--         , testAttachVPNGateway $+--             attachVPNGateway+--+--         , testCreateVPNConnectionRoute $+--             createVPNConnectionRoute+--+--         , testDescribeClassicLinkInstances $+--             describeClassicLinkInstances+--+--         , testTerminateInstances $+--             terminateInstances+--+--         , testCreateDHCPOptions $+--             createDHCPOptions+--+--         , testAssociateRouteTable $+--             associateRouteTable+--+--         , testCreateImage $+--             createImage+--+--         , testDescribeAccountAttributes $+--             describeAccountAttributes+--+--         , testResetImageAttribute $+--             resetImageAttribute+--+--         , testDescribeNetworkACLs $+--             describeNetworkACLs+--+--         , testCancelImportTask $+--             cancelImportTask+--+--         , testGetConsoleOutput $+--             getConsoleOutput+--+--         , testUnassignPrivateIPAddresses $+--             unassignPrivateIPAddresses+--+--         , testDeleteRouteTable $+--             deleteRouteTable+--+--         , testDescribeImageAttribute $+--             describeImageAttribute+--+--         , testDeleteDHCPOptions $+--             deleteDHCPOptions+--+--         , testDescribeVPNGateways $+--             describeVPNGateways+--+--         , testDetachClassicLinkVPC $+--             detachClassicLinkVPC+--+--         , testDescribeReservedInstancesModifications $+--             describeReservedInstancesModifications+--+--         , testDescribeSpotInstanceRequests $+--             describeSpotInstanceRequests+--+--         , testMonitorInstances $+--             monitorInstances+--+--         , testDescribeRegions $+--             describeRegions+--+--         , testModifyVPCAttribute $+--             modifyVPCAttribute+--+--         , testDescribeSpotFleetInstances $+--             describeSpotFleetInstances+--+--         , testDescribeVolumeStatus $+--             describeVolumeStatus+--+--         , testDeleteVolume $+--             deleteVolume+--+--         , testDescribeImages $+--             describeImages+--+--         , testCreateKeyPair $+--             createKeyPair+--+--         , testRestoreAddressToClassic $+--             restoreAddressToClassic+--+--         , testDescribeAvailabilityZones $+--             describeAvailabilityZones+--+--         , testImportSnapshot $+--             importSnapshot+--+--         , testAcceptVPCPeeringConnection $+--             acceptVPCPeeringConnection+--+--         , testDescribeRouteTables $+--             describeRouteTables+--+--           ]++--     , testGroup "response"+--         [ testDetachNetworkInterfaceResponse $+--             detachNetworkInterfaceResponse+--+--         , testDeleteVPCEndpointsResponse $+--             deleteVPCEndpointsResponse+--+--         , testDeleteKeyPairResponse $+--             deleteKeyPairResponse+--+--         , testDeleteFlowLogsResponse $+--             deleteFlowLogsResponse+--+--         , testDescribeTagsResponse $+--             describeTagsResponse+--+--         , testRevokeSecurityGroupEgressResponse $+--             revokeSecurityGroupEgressResponse+--+--         , testCreateVPNGatewayResponse $+--             createVPNGatewayResponse+--+--         , testDetachInternetGatewayResponse $+--             detachInternetGatewayResponse+--+--         , testCreateNetworkACLResponse $+--             createNetworkACLResponse+--+--         , testImportInstanceResponse $+--             importInstanceResponse+--+--         , testDescribeVPCClassicLinkResponse $+--             describeVPCClassicLinkResponse+--+--         , testDeleteVPNConnectionResponse $+--             deleteVPNConnectionResponse+--+--         , testAuthorizeSecurityGroupEgressResponse $+--             authorizeSecurityGroupEgressResponse+--+--         , testDescribeBundleTasksResponse $+--             describeBundleTasksResponse+--+--         , testCreateInternetGatewayResponse $+--             createInternetGatewayResponse+--+--         , testReleaseAddressResponse $+--             releaseAddressResponse+--+--         , testCancelBundleTaskResponse $+--             cancelBundleTaskResponse+--+--         , testModifyNetworkInterfaceAttributeResponse $+--             modifyNetworkInterfaceAttributeResponse+--+--         , testModifySubnetAttributeResponse $+--             modifySubnetAttributeResponse+--+--         , testDeregisterImageResponse $+--             deregisterImageResponse+--+--         , testDetachVolumeResponse $+--             volumeAttachment+--+--         , testCancelReservedInstancesListingResponse $+--             cancelReservedInstancesListingResponse+--+--         , testAttachClassicLinkVPCResponse $+--             attachClassicLinkVPCResponse+--+--         , testCancelSpotFleetRequestsResponse $+--             cancelSpotFleetRequestsResponse+--+--         , testDescribeDHCPOptionsResponse $+--             describeDHCPOptionsResponse+--+--         , testDescribeSpotPriceHistoryResponse $+--             describeSpotPriceHistoryResponse+--+--         , testStopInstancesResponse $+--             stopInstancesResponse+--+--         , testImportImageResponse $+--             importImageResponse+--+--         , testDeleteNetworkACLEntryResponse $+--             deleteNetworkACLEntryResponse+--+--         , testDisableVPCClassicLinkResponse $+--             disableVPCClassicLinkResponse+--+--         , testAuthorizeSecurityGroupIngressResponse $+--             authorizeSecurityGroupIngressResponse+--+--         , testBundleInstanceResponse $+--             bundleInstanceResponse+--+--         , testDescribeVPCEndpointServicesResponse $+--             describeVPCEndpointServicesResponse+--+--         , testReplaceNetworkACLAssociationResponse $+--             replaceNetworkACLAssociationResponse+--+--         , testCreateVPCPeeringConnectionResponse $+--             createVPCPeeringConnectionResponse+--+--         , testResetSnapshotAttributeResponse $+--             resetSnapshotAttributeResponse+--+--         , testDescribeAddressesResponse $+--             describeAddressesResponse+--+--         , testDescribeInternetGatewaysResponse $+--             describeInternetGatewaysResponse+--+--         , testReplaceRouteResponse $+--             replaceRouteResponse+--+--         , testCreateTagsResponse $+--             createTagsResponse+--+--         , testDescribeSubnetsResponse $+--             describeSubnetsResponse+--+--         , testDescribeNetworkInterfacesResponse $+--             describeNetworkInterfacesResponse+--+--         , testPurchaseReservedInstancesOfferingResponse $+--             purchaseReservedInstancesOfferingResponse+--+--         , testDescribeSnapshotAttributeResponse $+--             describeSnapshotAttributeResponse+--+--         , testCreateCustomerGatewayResponse $+--             createCustomerGatewayResponse+--+--         , testAttachInternetGatewayResponse $+--             attachInternetGatewayResponse+--+--         , testDeleteTagsResponse $+--             deleteTagsResponse+--+--         , testReplaceNetworkACLEntryResponse $+--             replaceNetworkACLEntryResponse+--+--         , testResetInstanceAttributeResponse $+--             resetInstanceAttributeResponse+--+--         , testDeleteRouteResponse $+--             deleteRouteResponse+--+--         , testDescribeVPNConnectionsResponse $+--             describeVPNConnectionsResponse+--+--         , testDescribeFlowLogsResponse $+--             describeFlowLogsResponse+--+--         , testDeleteSecurityGroupResponse $+--             deleteSecurityGroupResponse+--+--         , testDescribeReservedInstancesOfferingsResponse $+--             describeReservedInstancesOfferingsResponse+--+--         , testDeleteVPCPeeringConnectionResponse $+--             deleteVPCPeeringConnectionResponse+--+--         , testDescribeVPCEndpointsResponse $+--             describeVPCEndpointsResponse+--+--         , testDescribeInstanceAttributeResponse $+--             describeInstanceAttributeResponse+--+--         , testConfirmProductInstanceResponse $+--             confirmProductInstanceResponse+--+--         , testImportKeyPairResponse $+--             importKeyPairResponse+--+--         , testAttachNetworkInterfaceResponse $+--             attachNetworkInterfaceResponse+--+--         , testDescribeInstanceStatusResponse $+--             describeInstanceStatusResponse+--+--         , testCancelConversionTaskResponse $+--             cancelConversionTaskResponse+--+--         , testReportInstanceStatusResponse $+--             reportInstanceStatusResponse+--+--         , testAssociateDHCPOptionsResponse $+--             associateDHCPOptionsResponse+--+--         , testDescribeVPCsResponse $+--             describeVPCsResponse+--+--         , testRequestSpotInstancesResponse $+--             requestSpotInstancesResponse+--+--         , testModifyImageAttributeResponse $+--             modifyImageAttributeResponse+--+--         , testDescribeReservedInstancesResponse $+--             describeReservedInstancesResponse+--+--         , testAllocateAddressResponse $+--             allocateAddressResponse+--+--         , testRunInstancesResponse $+--             reservation+--+--         , testCreateRouteTableResponse $+--             createRouteTableResponse+--+--         , testAttachVolumeResponse $+--             volumeAttachment+--+--         , testDescribeConversionTasksResponse $+--             describeConversionTasksResponse+--+--         , testRejectVPCPeeringConnectionResponse $+--             rejectVPCPeeringConnectionResponse+--+--         , testRevokeSecurityGroupIngressResponse $+--             revokeSecurityGroupIngressResponse+--+--         , testDescribeVolumesResponse $+--             describeVolumesResponse+--+--         , testDeleteVPNConnectionRouteResponse $+--             deleteVPNConnectionRouteResponse+--+--         , testModifyReservedInstancesResponse $+--             modifyReservedInstancesResponse+--+--         , testRegisterImageResponse $+--             registerImageResponse+--+--         , testModifyVPCEndpointResponse $+--             modifyVPCEndpointResponse+--+--         , testDeleteVPNGatewayResponse $+--             deleteVPNGatewayResponse+--+--         , testCreateVPCResponse $+--             createVPCResponse+--+--         , testDescribeMovingAddressesResponse $+--             describeMovingAddressesResponse+--+--         , testDescribeVolumeAttributeResponse $+--             describeVolumeAttributeResponse+--+--         , testMoveAddressToVPCResponse $+--             moveAddressToVPCResponse+--+--         , testGetPasswordDataResponse $+--             getPasswordDataResponse+--+--         , testCreateFlowLogsResponse $+--             createFlowLogsResponse+--+--         , testDescribeImportImageTasksResponse $+--             describeImportImageTasksResponse+--+--         , testDeleteNetworkACLResponse $+--             deleteNetworkACLResponse+--+--         , testDescribeSpotFleetRequestsResponse $+--             describeSpotFleetRequestsResponse+--+--         , testCopySnapshotResponse $+--             copySnapshotResponse+--+--         , testModifyVolumeAttributeResponse $+--             modifyVolumeAttributeResponse+--+--         , testDescribeVPCAttributeResponse $+--             describeVPCAttributeResponse+--+--         , testCreateVolumeResponse $+--             volume+--+--         , testDisassociateAddressResponse $+--             disassociateAddressResponse+--+--         , testDeleteVPCResponse $+--             deleteVPCResponse+--+--         , testDescribePrefixListsResponse $+--             describePrefixListsResponse+--+--         , testCreateInstanceExportTaskResponse $+--             createInstanceExportTaskResponse+--+--         , testDescribeSpotDatafeedSubscriptionResponse $+--             describeSpotDatafeedSubscriptionResponse+--+--         , testDetachVPNGatewayResponse $+--             detachVPNGatewayResponse+--+--         , testDescribeExportTasksResponse $+--             describeExportTasksResponse+--+--         , testDeletePlacementGroupResponse $+--             deletePlacementGroupResponse+--+--         , testCreateSubnetResponse $+--             createSubnetResponse+--+--         , testEnableVolumeIOResponse $+--             enableVolumeIOResponse+--+--         , testCancelExportTaskResponse $+--             cancelExportTaskResponse+--+--         , testRequestSpotFleetResponse $+--             requestSpotFleetResponse+--+--         , testDescribeInstancesResponse $+--             describeInstancesResponse+--+--         , testDescribeSecurityGroupsResponse $+--             describeSecurityGroupsResponse+--+--         , testDescribeVPCPeeringConnectionsResponse $+--             describeVPCPeeringConnectionsResponse+--+--         , testCreateNetworkInterfaceResponse $+--             createNetworkInterfaceResponse+--+--         , testAssociateAddressResponse $+--             associateAddressResponse+--+--         , testStartInstancesResponse $+--             startInstancesResponse+--+--         , testDescribeCustomerGatewaysResponse $+--             describeCustomerGatewaysResponse+--+--         , testResetNetworkInterfaceAttributeResponse $+--             resetNetworkInterfaceAttributeResponse+--+--         , testCreateVPNConnectionResponse $+--             createVPNConnectionResponse+--+--         , testDescribeSnapshotsResponse $+--             describeSnapshotsResponse+--+--         , testCreatePlacementGroupResponse $+--             createPlacementGroupResponse+--+--         , testReplaceRouteTableAssociationResponse $+--             replaceRouteTableAssociationResponse+--+--         , testDescribeNetworkInterfaceAttributeResponse $+--             describeNetworkInterfaceAttributeResponse+--+--         , testDescribeReservedInstancesListingsResponse $+--             describeReservedInstancesListingsResponse+--+--         , testDeleteNetworkInterfaceResponse $+--             deleteNetworkInterfaceResponse+--+--         , testDeleteInternetGatewayResponse $+--             deleteInternetGatewayResponse+--+--         , testDeleteSubnetResponse $+--             deleteSubnetResponse+--+--         , testCreateVPCEndpointResponse $+--             createVPCEndpointResponse+--+--         , testDescribeImportSnapshotTasksResponse $+--             describeImportSnapshotTasksResponse+--+--         , testCopyImageResponse $+--             copyImageResponse+--+--         , testDisassociateRouteTableResponse $+--             disassociateRouteTableResponse+--+--         , testUnmonitorInstancesResponse $+--             unmonitorInstancesResponse+--+--         , testImportVolumeResponse $+--             importVolumeResponse+--+--         , testDisableVGWRoutePropagationResponse $+--             disableVGWRoutePropagationResponse+--+--         , testCreateSpotDatafeedSubscriptionResponse $+--             createSpotDatafeedSubscriptionResponse+--+--         , testAssignPrivateIPAddressesResponse $+--             assignPrivateIPAddressesResponse+--+--         , testDeleteSnapshotResponse $+--             deleteSnapshotResponse+--+--         , testDeleteCustomerGatewayResponse $+--             deleteCustomerGatewayResponse+--+--         , testModifyInstanceAttributeResponse $+--             modifyInstanceAttributeResponse+--+--         , testCreateSecurityGroupResponse $+--             createSecurityGroupResponse+--+--         , testCancelSpotInstanceRequestsResponse $+--             cancelSpotInstanceRequestsResponse+--+--         , testCreateRouteResponse $+--             createRouteResponse+--+--         , testCreateNetworkACLEntryResponse $+--             createNetworkACLEntryResponse+--+--         , testModifySnapshotAttributeResponse $+--             modifySnapshotAttributeResponse+--+--         , testEnableVGWRoutePropagationResponse $+--             enableVGWRoutePropagationResponse+--+--         , testCreateSnapshotResponse $+--             snapshot+--+--         , testDescribeSpotFleetRequestHistoryResponse $+--             describeSpotFleetRequestHistoryResponse+--+--         , testDeleteSpotDatafeedSubscriptionResponse $+--             deleteSpotDatafeedSubscriptionResponse+--+--         , testDescribePlacementGroupsResponse $+--             describePlacementGroupsResponse+--+--         , testCreateReservedInstancesListingResponse $+--             createReservedInstancesListingResponse+--+--         , testEnableVPCClassicLinkResponse $+--             enableVPCClassicLinkResponse+--+--         , testDescribeKeyPairsResponse $+--             describeKeyPairsResponse+--+--         , testRebootInstancesResponse $+--             rebootInstancesResponse+--+--         , testAttachVPNGatewayResponse $+--             attachVPNGatewayResponse+--+--         , testCreateVPNConnectionRouteResponse $+--             createVPNConnectionRouteResponse+--+--         , testDescribeClassicLinkInstancesResponse $+--             describeClassicLinkInstancesResponse+--+--         , testTerminateInstancesResponse $+--             terminateInstancesResponse+--+--         , testCreateDHCPOptionsResponse $+--             createDHCPOptionsResponse+--+--         , testAssociateRouteTableResponse $+--             associateRouteTableResponse+--+--         , testCreateImageResponse $+--             createImageResponse+--+--         , testDescribeAccountAttributesResponse $+--             describeAccountAttributesResponse+--+--         , testResetImageAttributeResponse $+--             resetImageAttributeResponse+--+--         , testDescribeNetworkACLsResponse $+--             describeNetworkACLsResponse+--+--         , testCancelImportTaskResponse $+--             cancelImportTaskResponse+--+--         , testGetConsoleOutputResponse $+--             getConsoleOutputResponse+--+--         , testUnassignPrivateIPAddressesResponse $+--             unassignPrivateIPAddressesResponse+--+--         , testDeleteRouteTableResponse $+--             deleteRouteTableResponse+--+--         , testDescribeImageAttributeResponse $+--             describeImageAttributeResponse+--+--         , testDeleteDHCPOptionsResponse $+--             deleteDHCPOptionsResponse+--+--         , testDescribeVPNGatewaysResponse $+--             describeVPNGatewaysResponse+--+--         , testDetachClassicLinkVPCResponse $+--             detachClassicLinkVPCResponse+--+--         , testDescribeReservedInstancesModificationsResponse $+--             describeReservedInstancesModificationsResponse+--+--         , testDescribeSpotInstanceRequestsResponse $+--             describeSpotInstanceRequestsResponse+--+--         , testMonitorInstancesResponse $+--             monitorInstancesResponse+--+--         , testDescribeRegionsResponse $+--             describeRegionsResponse+--+--         , testModifyVPCAttributeResponse $+--             modifyVPCAttributeResponse+--+--         , testDescribeSpotFleetInstancesResponse $+--             describeSpotFleetInstancesResponse+--+--         , testDescribeVolumeStatusResponse $+--             describeVolumeStatusResponse+--+--         , testDeleteVolumeResponse $+--             deleteVolumeResponse+--+--         , testDescribeImagesResponse $+--             describeImagesResponse+--+--         , testCreateKeyPairResponse $+--             createKeyPairResponse+--+--         , testRestoreAddressToClassicResponse $+--             restoreAddressToClassicResponse+--+--         , testDescribeAvailabilityZonesResponse $+--             describeAvailabilityZonesResponse+--+--         , testImportSnapshotResponse $+--             importSnapshotResponse+--+--         , testAcceptVPCPeeringConnectionResponse $+--             acceptVPCPeeringConnectionResponse+--+--         , testDescribeRouteTablesResponse $+--             describeRouteTablesResponse+--+--           ]+--     ]++-- Requests++testDetachNetworkInterface :: DetachNetworkInterface -> TestTree+testDetachNetworkInterface = req+    "DetachNetworkInterface"+    "fixture/DetachNetworkInterface"++testDeleteVPCEndpoints :: DeleteVPCEndpoints -> TestTree+testDeleteVPCEndpoints = req+    "DeleteVPCEndpoints"+    "fixture/DeleteVPCEndpoints"++testDeleteKeyPair :: DeleteKeyPair -> TestTree+testDeleteKeyPair = req+    "DeleteKeyPair"+    "fixture/DeleteKeyPair"++testDeleteFlowLogs :: DeleteFlowLogs -> TestTree+testDeleteFlowLogs = req+    "DeleteFlowLogs"+    "fixture/DeleteFlowLogs"++testDescribeTags :: DescribeTags -> TestTree+testDescribeTags = req+    "DescribeTags"+    "fixture/DescribeTags"++testRevokeSecurityGroupEgress :: RevokeSecurityGroupEgress -> TestTree+testRevokeSecurityGroupEgress = req+    "RevokeSecurityGroupEgress"+    "fixture/RevokeSecurityGroupEgress"++testCreateVPNGateway :: CreateVPNGateway -> TestTree+testCreateVPNGateway = req+    "CreateVPNGateway"+    "fixture/CreateVPNGateway"++testDetachInternetGateway :: DetachInternetGateway -> TestTree+testDetachInternetGateway = req+    "DetachInternetGateway"+    "fixture/DetachInternetGateway"++testCreateNetworkACL :: CreateNetworkACL -> TestTree+testCreateNetworkACL = req+    "CreateNetworkACL"+    "fixture/CreateNetworkACL"++testImportInstance :: ImportInstance -> TestTree+testImportInstance = req+    "ImportInstance"+    "fixture/ImportInstance"++testDescribeVPCClassicLink :: DescribeVPCClassicLink -> TestTree+testDescribeVPCClassicLink = req+    "DescribeVPCClassicLink"+    "fixture/DescribeVPCClassicLink"++testDeleteVPNConnection :: DeleteVPNConnection -> TestTree+testDeleteVPNConnection = req+    "DeleteVPNConnection"+    "fixture/DeleteVPNConnection"++testAuthorizeSecurityGroupEgress :: AuthorizeSecurityGroupEgress -> TestTree+testAuthorizeSecurityGroupEgress = req+    "AuthorizeSecurityGroupEgress"+    "fixture/AuthorizeSecurityGroupEgress"++testDescribeBundleTasks :: DescribeBundleTasks -> TestTree+testDescribeBundleTasks = req+    "DescribeBundleTasks"+    "fixture/DescribeBundleTasks"++testCreateInternetGateway :: CreateInternetGateway -> TestTree+testCreateInternetGateway = req+    "CreateInternetGateway"+    "fixture/CreateInternetGateway"++testReleaseAddress :: ReleaseAddress -> TestTree+testReleaseAddress = req+    "ReleaseAddress"+    "fixture/ReleaseAddress"++testCancelBundleTask :: CancelBundleTask -> TestTree+testCancelBundleTask = req+    "CancelBundleTask"+    "fixture/CancelBundleTask"++testModifyNetworkInterfaceAttribute :: ModifyNetworkInterfaceAttribute -> TestTree+testModifyNetworkInterfaceAttribute = req+    "ModifyNetworkInterfaceAttribute"+    "fixture/ModifyNetworkInterfaceAttribute"++testModifySubnetAttribute :: ModifySubnetAttribute -> TestTree+testModifySubnetAttribute = req+    "ModifySubnetAttribute"+    "fixture/ModifySubnetAttribute"++testDeregisterImage :: DeregisterImage -> TestTree+testDeregisterImage = req+    "DeregisterImage"+    "fixture/DeregisterImage"++testDetachVolume :: DetachVolume -> TestTree+testDetachVolume = req+    "DetachVolume"+    "fixture/DetachVolume"++testCancelReservedInstancesListing :: CancelReservedInstancesListing -> TestTree+testCancelReservedInstancesListing = req+    "CancelReservedInstancesListing"+    "fixture/CancelReservedInstancesListing"++testAttachClassicLinkVPC :: AttachClassicLinkVPC -> TestTree+testAttachClassicLinkVPC = req+    "AttachClassicLinkVPC"+    "fixture/AttachClassicLinkVPC"++testCancelSpotFleetRequests :: CancelSpotFleetRequests -> TestTree+testCancelSpotFleetRequests = req+    "CancelSpotFleetRequests"+    "fixture/CancelSpotFleetRequests"++testDescribeDHCPOptions :: DescribeDHCPOptions -> TestTree+testDescribeDHCPOptions = req+    "DescribeDHCPOptions"+    "fixture/DescribeDHCPOptions"++testDescribeSpotPriceHistory :: DescribeSpotPriceHistory -> TestTree+testDescribeSpotPriceHistory = req+    "DescribeSpotPriceHistory"+    "fixture/DescribeSpotPriceHistory"++testStopInstances :: StopInstances -> TestTree+testStopInstances = req+    "StopInstances"+    "fixture/StopInstances"++testImportImage :: ImportImage -> TestTree+testImportImage = req+    "ImportImage"+    "fixture/ImportImage"++testDeleteNetworkACLEntry :: DeleteNetworkACLEntry -> TestTree+testDeleteNetworkACLEntry = req+    "DeleteNetworkACLEntry"+    "fixture/DeleteNetworkACLEntry"++testDisableVPCClassicLink :: DisableVPCClassicLink -> TestTree+testDisableVPCClassicLink = req+    "DisableVPCClassicLink"+    "fixture/DisableVPCClassicLink"++testAuthorizeSecurityGroupIngress :: AuthorizeSecurityGroupIngress -> TestTree+testAuthorizeSecurityGroupIngress = req+    "AuthorizeSecurityGroupIngress"+    "fixture/AuthorizeSecurityGroupIngress"++testBundleInstance :: BundleInstance -> TestTree+testBundleInstance = req+    "BundleInstance"+    "fixture/BundleInstance"++testDescribeVPCEndpointServices :: DescribeVPCEndpointServices -> TestTree+testDescribeVPCEndpointServices = req+    "DescribeVPCEndpointServices"+    "fixture/DescribeVPCEndpointServices"++testReplaceNetworkACLAssociation :: ReplaceNetworkACLAssociation -> TestTree+testReplaceNetworkACLAssociation = req+    "ReplaceNetworkACLAssociation"+    "fixture/ReplaceNetworkACLAssociation"++testCreateVPCPeeringConnection :: CreateVPCPeeringConnection -> TestTree+testCreateVPCPeeringConnection = req+    "CreateVPCPeeringConnection"+    "fixture/CreateVPCPeeringConnection"++testResetSnapshotAttribute :: ResetSnapshotAttribute -> TestTree+testResetSnapshotAttribute = req+    "ResetSnapshotAttribute"+    "fixture/ResetSnapshotAttribute"++testDescribeAddresses :: DescribeAddresses -> TestTree+testDescribeAddresses = req+    "DescribeAddresses"+    "fixture/DescribeAddresses"++testDescribeInternetGateways :: DescribeInternetGateways -> TestTree+testDescribeInternetGateways = req+    "DescribeInternetGateways"+    "fixture/DescribeInternetGateways"++testReplaceRoute :: ReplaceRoute -> TestTree+testReplaceRoute = req+    "ReplaceRoute"+    "fixture/ReplaceRoute"++testCreateTags :: CreateTags -> TestTree+testCreateTags = req+    "CreateTags"+    "fixture/CreateTags"++testDescribeSubnets :: DescribeSubnets -> TestTree+testDescribeSubnets = req+    "DescribeSubnets"+    "fixture/DescribeSubnets"++testDescribeNetworkInterfaces :: DescribeNetworkInterfaces -> TestTree+testDescribeNetworkInterfaces = req+    "DescribeNetworkInterfaces"+    "fixture/DescribeNetworkInterfaces"++testPurchaseReservedInstancesOffering :: PurchaseReservedInstancesOffering -> TestTree+testPurchaseReservedInstancesOffering = req+    "PurchaseReservedInstancesOffering"+    "fixture/PurchaseReservedInstancesOffering"++testDescribeSnapshotAttribute :: DescribeSnapshotAttribute -> TestTree+testDescribeSnapshotAttribute = req+    "DescribeSnapshotAttribute"+    "fixture/DescribeSnapshotAttribute"++testCreateCustomerGateway :: CreateCustomerGateway -> TestTree+testCreateCustomerGateway = req+    "CreateCustomerGateway"+    "fixture/CreateCustomerGateway"++testAttachInternetGateway :: AttachInternetGateway -> TestTree+testAttachInternetGateway = req+    "AttachInternetGateway"+    "fixture/AttachInternetGateway"++testDeleteTags :: DeleteTags -> TestTree+testDeleteTags = req+    "DeleteTags"+    "fixture/DeleteTags"++testReplaceNetworkACLEntry :: ReplaceNetworkACLEntry -> TestTree+testReplaceNetworkACLEntry = req+    "ReplaceNetworkACLEntry"+    "fixture/ReplaceNetworkACLEntry"++testResetInstanceAttribute :: ResetInstanceAttribute -> TestTree+testResetInstanceAttribute = req+    "ResetInstanceAttribute"+    "fixture/ResetInstanceAttribute"++testDeleteRoute :: DeleteRoute -> TestTree+testDeleteRoute = req+    "DeleteRoute"+    "fixture/DeleteRoute"++testDescribeVPNConnections :: DescribeVPNConnections -> TestTree+testDescribeVPNConnections = req+    "DescribeVPNConnections"+    "fixture/DescribeVPNConnections"++testDescribeFlowLogs :: DescribeFlowLogs -> TestTree+testDescribeFlowLogs = req+    "DescribeFlowLogs"+    "fixture/DescribeFlowLogs"++testDeleteSecurityGroup :: DeleteSecurityGroup -> TestTree+testDeleteSecurityGroup = req+    "DeleteSecurityGroup"+    "fixture/DeleteSecurityGroup"++testDescribeReservedInstancesOfferings :: DescribeReservedInstancesOfferings -> TestTree+testDescribeReservedInstancesOfferings = req+    "DescribeReservedInstancesOfferings"+    "fixture/DescribeReservedInstancesOfferings"++testDeleteVPCPeeringConnection :: DeleteVPCPeeringConnection -> TestTree+testDeleteVPCPeeringConnection = req+    "DeleteVPCPeeringConnection"+    "fixture/DeleteVPCPeeringConnection"++testDescribeVPCEndpoints :: DescribeVPCEndpoints -> TestTree+testDescribeVPCEndpoints = req+    "DescribeVPCEndpoints"+    "fixture/DescribeVPCEndpoints"++testDescribeInstanceAttribute :: DescribeInstanceAttribute -> TestTree+testDescribeInstanceAttribute = req+    "DescribeInstanceAttribute"+    "fixture/DescribeInstanceAttribute"++testConfirmProductInstance :: ConfirmProductInstance -> TestTree+testConfirmProductInstance = req+    "ConfirmProductInstance"+    "fixture/ConfirmProductInstance"++testImportKeyPair :: ImportKeyPair -> TestTree+testImportKeyPair = req+    "ImportKeyPair"+    "fixture/ImportKeyPair"++testAttachNetworkInterface :: AttachNetworkInterface -> TestTree+testAttachNetworkInterface = req+    "AttachNetworkInterface"+    "fixture/AttachNetworkInterface"++testDescribeInstanceStatus :: DescribeInstanceStatus -> TestTree+testDescribeInstanceStatus = req+    "DescribeInstanceStatus"+    "fixture/DescribeInstanceStatus"++testCancelConversionTask :: CancelConversionTask -> TestTree+testCancelConversionTask = req+    "CancelConversionTask"+    "fixture/CancelConversionTask"++testReportInstanceStatus :: ReportInstanceStatus -> TestTree+testReportInstanceStatus = req+    "ReportInstanceStatus"+    "fixture/ReportInstanceStatus"++testAssociateDHCPOptions :: AssociateDHCPOptions -> TestTree+testAssociateDHCPOptions = req+    "AssociateDHCPOptions"+    "fixture/AssociateDHCPOptions"++testDescribeVPCs :: DescribeVPCs -> TestTree+testDescribeVPCs = req+    "DescribeVPCs"+    "fixture/DescribeVPCs"++testRequestSpotInstances :: RequestSpotInstances -> TestTree+testRequestSpotInstances = req+    "RequestSpotInstances"+    "fixture/RequestSpotInstances"++testModifyImageAttribute :: ModifyImageAttribute -> TestTree+testModifyImageAttribute = req+    "ModifyImageAttribute"+    "fixture/ModifyImageAttribute"++testDescribeReservedInstances :: DescribeReservedInstances -> TestTree+testDescribeReservedInstances = req+    "DescribeReservedInstances"+    "fixture/DescribeReservedInstances"++testAllocateAddress :: AllocateAddress -> TestTree+testAllocateAddress = req+    "AllocateAddress"+    "fixture/AllocateAddress"++testRunInstances :: RunInstances -> TestTree+testRunInstances = req+    "RunInstances"+    "fixture/RunInstances"++testCreateRouteTable :: CreateRouteTable -> TestTree+testCreateRouteTable = req+    "CreateRouteTable"+    "fixture/CreateRouteTable"++testAttachVolume :: AttachVolume -> TestTree+testAttachVolume = req+    "AttachVolume"+    "fixture/AttachVolume"++testDescribeConversionTasks :: DescribeConversionTasks -> TestTree+testDescribeConversionTasks = req+    "DescribeConversionTasks"+    "fixture/DescribeConversionTasks"++testRejectVPCPeeringConnection :: RejectVPCPeeringConnection -> TestTree+testRejectVPCPeeringConnection = req+    "RejectVPCPeeringConnection"+    "fixture/RejectVPCPeeringConnection"++testRevokeSecurityGroupIngress :: RevokeSecurityGroupIngress -> TestTree+testRevokeSecurityGroupIngress = req+    "RevokeSecurityGroupIngress"+    "fixture/RevokeSecurityGroupIngress"++testDescribeVolumes :: DescribeVolumes -> TestTree+testDescribeVolumes = req+    "DescribeVolumes"+    "fixture/DescribeVolumes"++testDeleteVPNConnectionRoute :: DeleteVPNConnectionRoute -> TestTree+testDeleteVPNConnectionRoute = req+    "DeleteVPNConnectionRoute"+    "fixture/DeleteVPNConnectionRoute"++testModifyReservedInstances :: ModifyReservedInstances -> TestTree+testModifyReservedInstances = req+    "ModifyReservedInstances"+    "fixture/ModifyReservedInstances"++testRegisterImage :: RegisterImage -> TestTree+testRegisterImage = req+    "RegisterImage"+    "fixture/RegisterImage"++testModifyVPCEndpoint :: ModifyVPCEndpoint -> TestTree+testModifyVPCEndpoint = req+    "ModifyVPCEndpoint"+    "fixture/ModifyVPCEndpoint"++testDeleteVPNGateway :: DeleteVPNGateway -> TestTree+testDeleteVPNGateway = req+    "DeleteVPNGateway"+    "fixture/DeleteVPNGateway"++testCreateVPC :: CreateVPC -> TestTree+testCreateVPC = req+    "CreateVPC"+    "fixture/CreateVPC"++testDescribeMovingAddresses :: DescribeMovingAddresses -> TestTree+testDescribeMovingAddresses = req+    "DescribeMovingAddresses"+    "fixture/DescribeMovingAddresses"++testDescribeVolumeAttribute :: DescribeVolumeAttribute -> TestTree+testDescribeVolumeAttribute = req+    "DescribeVolumeAttribute"+    "fixture/DescribeVolumeAttribute"++testMoveAddressToVPC :: MoveAddressToVPC -> TestTree+testMoveAddressToVPC = req+    "MoveAddressToVPC"+    "fixture/MoveAddressToVPC"++testGetPasswordData :: GetPasswordData -> TestTree+testGetPasswordData = req+    "GetPasswordData"+    "fixture/GetPasswordData"++testCreateFlowLogs :: CreateFlowLogs -> TestTree+testCreateFlowLogs = req+    "CreateFlowLogs"+    "fixture/CreateFlowLogs"++testDescribeImportImageTasks :: DescribeImportImageTasks -> TestTree+testDescribeImportImageTasks = req+    "DescribeImportImageTasks"+    "fixture/DescribeImportImageTasks"++testDeleteNetworkACL :: DeleteNetworkACL -> TestTree+testDeleteNetworkACL = req+    "DeleteNetworkACL"+    "fixture/DeleteNetworkACL"++testDescribeSpotFleetRequests :: DescribeSpotFleetRequests -> TestTree+testDescribeSpotFleetRequests = req+    "DescribeSpotFleetRequests"+    "fixture/DescribeSpotFleetRequests"++testCopySnapshot :: CopySnapshot -> TestTree+testCopySnapshot = req+    "CopySnapshot"+    "fixture/CopySnapshot"++testModifyVolumeAttribute :: ModifyVolumeAttribute -> TestTree+testModifyVolumeAttribute = req+    "ModifyVolumeAttribute"+    "fixture/ModifyVolumeAttribute"++testDescribeVPCAttribute :: DescribeVPCAttribute -> TestTree+testDescribeVPCAttribute = req+    "DescribeVPCAttribute"+    "fixture/DescribeVPCAttribute"++testCreateVolume :: CreateVolume -> TestTree+testCreateVolume = req+    "CreateVolume"+    "fixture/CreateVolume"++testDisassociateAddress :: DisassociateAddress -> TestTree+testDisassociateAddress = req+    "DisassociateAddress"+    "fixture/DisassociateAddress"++testDeleteVPC :: DeleteVPC -> TestTree+testDeleteVPC = req+    "DeleteVPC"+    "fixture/DeleteVPC"++testDescribePrefixLists :: DescribePrefixLists -> TestTree+testDescribePrefixLists = req+    "DescribePrefixLists"+    "fixture/DescribePrefixLists"++testCreateInstanceExportTask :: CreateInstanceExportTask -> TestTree+testCreateInstanceExportTask = req+    "CreateInstanceExportTask"+    "fixture/CreateInstanceExportTask"++testDescribeSpotDatafeedSubscription :: DescribeSpotDatafeedSubscription -> TestTree+testDescribeSpotDatafeedSubscription = req+    "DescribeSpotDatafeedSubscription"+    "fixture/DescribeSpotDatafeedSubscription"++testDetachVPNGateway :: DetachVPNGateway -> TestTree+testDetachVPNGateway = req+    "DetachVPNGateway"+    "fixture/DetachVPNGateway"++testDescribeExportTasks :: DescribeExportTasks -> TestTree+testDescribeExportTasks = req+    "DescribeExportTasks"+    "fixture/DescribeExportTasks"++testDeletePlacementGroup :: DeletePlacementGroup -> TestTree+testDeletePlacementGroup = req+    "DeletePlacementGroup"+    "fixture/DeletePlacementGroup"++testCreateSubnet :: CreateSubnet -> TestTree+testCreateSubnet = req+    "CreateSubnet"+    "fixture/CreateSubnet"++testEnableVolumeIO :: EnableVolumeIO -> TestTree+testEnableVolumeIO = req+    "EnableVolumeIO"+    "fixture/EnableVolumeIO"++testCancelExportTask :: CancelExportTask -> TestTree+testCancelExportTask = req+    "CancelExportTask"+    "fixture/CancelExportTask"++testRequestSpotFleet :: RequestSpotFleet -> TestTree+testRequestSpotFleet = req+    "RequestSpotFleet"+    "fixture/RequestSpotFleet"++testDescribeInstances :: DescribeInstances -> TestTree+testDescribeInstances = req+    "DescribeInstances"+    "fixture/DescribeInstances"++testDescribeSecurityGroups :: DescribeSecurityGroups -> TestTree+testDescribeSecurityGroups = req+    "DescribeSecurityGroups"+    "fixture/DescribeSecurityGroups"++testDescribeVPCPeeringConnections :: DescribeVPCPeeringConnections -> TestTree+testDescribeVPCPeeringConnections = req+    "DescribeVPCPeeringConnections"+    "fixture/DescribeVPCPeeringConnections"++testCreateNetworkInterface :: CreateNetworkInterface -> TestTree+testCreateNetworkInterface = req+    "CreateNetworkInterface"+    "fixture/CreateNetworkInterface"++testAssociateAddress :: AssociateAddress -> TestTree+testAssociateAddress = req+    "AssociateAddress"+    "fixture/AssociateAddress"++testStartInstances :: StartInstances -> TestTree+testStartInstances = req+    "StartInstances"+    "fixture/StartInstances"++testDescribeCustomerGateways :: DescribeCustomerGateways -> TestTree+testDescribeCustomerGateways = req+    "DescribeCustomerGateways"+    "fixture/DescribeCustomerGateways"++testResetNetworkInterfaceAttribute :: ResetNetworkInterfaceAttribute -> TestTree+testResetNetworkInterfaceAttribute = req+    "ResetNetworkInterfaceAttribute"+    "fixture/ResetNetworkInterfaceAttribute"++testCreateVPNConnection :: CreateVPNConnection -> TestTree+testCreateVPNConnection = req+    "CreateVPNConnection"+    "fixture/CreateVPNConnection"++testDescribeSnapshots :: DescribeSnapshots -> TestTree+testDescribeSnapshots = req+    "DescribeSnapshots"+    "fixture/DescribeSnapshots"++testCreatePlacementGroup :: CreatePlacementGroup -> TestTree+testCreatePlacementGroup = req+    "CreatePlacementGroup"+    "fixture/CreatePlacementGroup"++testReplaceRouteTableAssociation :: ReplaceRouteTableAssociation -> TestTree+testReplaceRouteTableAssociation = req+    "ReplaceRouteTableAssociation"+    "fixture/ReplaceRouteTableAssociation"++testDescribeNetworkInterfaceAttribute :: DescribeNetworkInterfaceAttribute -> TestTree+testDescribeNetworkInterfaceAttribute = req+    "DescribeNetworkInterfaceAttribute"+    "fixture/DescribeNetworkInterfaceAttribute"++testDescribeReservedInstancesListings :: DescribeReservedInstancesListings -> TestTree+testDescribeReservedInstancesListings = req+    "DescribeReservedInstancesListings"+    "fixture/DescribeReservedInstancesListings"++testDeleteNetworkInterface :: DeleteNetworkInterface -> TestTree+testDeleteNetworkInterface = req+    "DeleteNetworkInterface"+    "fixture/DeleteNetworkInterface"++testDeleteInternetGateway :: DeleteInternetGateway -> TestTree+testDeleteInternetGateway = req+    "DeleteInternetGateway"+    "fixture/DeleteInternetGateway"++testDeleteSubnet :: DeleteSubnet -> TestTree+testDeleteSubnet = req+    "DeleteSubnet"+    "fixture/DeleteSubnet"++testCreateVPCEndpoint :: CreateVPCEndpoint -> TestTree+testCreateVPCEndpoint = req+    "CreateVPCEndpoint"+    "fixture/CreateVPCEndpoint"++testDescribeImportSnapshotTasks :: DescribeImportSnapshotTasks -> TestTree+testDescribeImportSnapshotTasks = req+    "DescribeImportSnapshotTasks"+    "fixture/DescribeImportSnapshotTasks"++testCopyImage :: CopyImage -> TestTree+testCopyImage = req+    "CopyImage"+    "fixture/CopyImage"++testDisassociateRouteTable :: DisassociateRouteTable -> TestTree+testDisassociateRouteTable = req+    "DisassociateRouteTable"+    "fixture/DisassociateRouteTable"++testUnmonitorInstances :: UnmonitorInstances -> TestTree+testUnmonitorInstances = req+    "UnmonitorInstances"+    "fixture/UnmonitorInstances"++testImportVolume :: ImportVolume -> TestTree+testImportVolume = req+    "ImportVolume"+    "fixture/ImportVolume"++testDisableVGWRoutePropagation :: DisableVGWRoutePropagation -> TestTree+testDisableVGWRoutePropagation = req+    "DisableVGWRoutePropagation"+    "fixture/DisableVGWRoutePropagation"++testCreateSpotDatafeedSubscription :: CreateSpotDatafeedSubscription -> TestTree+testCreateSpotDatafeedSubscription = req+    "CreateSpotDatafeedSubscription"+    "fixture/CreateSpotDatafeedSubscription"++testAssignPrivateIPAddresses :: AssignPrivateIPAddresses -> TestTree+testAssignPrivateIPAddresses = req+    "AssignPrivateIPAddresses"+    "fixture/AssignPrivateIPAddresses"++testDeleteSnapshot :: DeleteSnapshot -> TestTree+testDeleteSnapshot = req+    "DeleteSnapshot"+    "fixture/DeleteSnapshot"++testDeleteCustomerGateway :: DeleteCustomerGateway -> TestTree+testDeleteCustomerGateway = req+    "DeleteCustomerGateway"+    "fixture/DeleteCustomerGateway"++testModifyInstanceAttribute :: ModifyInstanceAttribute -> TestTree+testModifyInstanceAttribute = req+    "ModifyInstanceAttribute"+    "fixture/ModifyInstanceAttribute"++testCreateSecurityGroup :: CreateSecurityGroup -> TestTree+testCreateSecurityGroup = req+    "CreateSecurityGroup"+    "fixture/CreateSecurityGroup"++testCancelSpotInstanceRequests :: CancelSpotInstanceRequests -> TestTree+testCancelSpotInstanceRequests = req+    "CancelSpotInstanceRequests"+    "fixture/CancelSpotInstanceRequests"++testCreateRoute :: CreateRoute -> TestTree+testCreateRoute = req+    "CreateRoute"+    "fixture/CreateRoute"++testCreateNetworkACLEntry :: CreateNetworkACLEntry -> TestTree+testCreateNetworkACLEntry = req+    "CreateNetworkACLEntry"+    "fixture/CreateNetworkACLEntry"++testModifySnapshotAttribute :: ModifySnapshotAttribute -> TestTree+testModifySnapshotAttribute = req+    "ModifySnapshotAttribute"+    "fixture/ModifySnapshotAttribute"++testEnableVGWRoutePropagation :: EnableVGWRoutePropagation -> TestTree+testEnableVGWRoutePropagation = req+    "EnableVGWRoutePropagation"+    "fixture/EnableVGWRoutePropagation"++testCreateSnapshot :: CreateSnapshot -> TestTree+testCreateSnapshot = req+    "CreateSnapshot"+    "fixture/CreateSnapshot"++testDescribeSpotFleetRequestHistory :: DescribeSpotFleetRequestHistory -> TestTree+testDescribeSpotFleetRequestHistory = req+    "DescribeSpotFleetRequestHistory"+    "fixture/DescribeSpotFleetRequestHistory"++testDeleteSpotDatafeedSubscription :: DeleteSpotDatafeedSubscription -> TestTree+testDeleteSpotDatafeedSubscription = req+    "DeleteSpotDatafeedSubscription"+    "fixture/DeleteSpotDatafeedSubscription"++testDescribePlacementGroups :: DescribePlacementGroups -> TestTree+testDescribePlacementGroups = req+    "DescribePlacementGroups"+    "fixture/DescribePlacementGroups"++testCreateReservedInstancesListing :: CreateReservedInstancesListing -> TestTree+testCreateReservedInstancesListing = req+    "CreateReservedInstancesListing"+    "fixture/CreateReservedInstancesListing"++testEnableVPCClassicLink :: EnableVPCClassicLink -> TestTree+testEnableVPCClassicLink = req+    "EnableVPCClassicLink"+    "fixture/EnableVPCClassicLink"++testDescribeKeyPairs :: DescribeKeyPairs -> TestTree+testDescribeKeyPairs = req+    "DescribeKeyPairs"+    "fixture/DescribeKeyPairs"++testRebootInstances :: RebootInstances -> TestTree+testRebootInstances = req+    "RebootInstances"+    "fixture/RebootInstances"++testAttachVPNGateway :: AttachVPNGateway -> TestTree+testAttachVPNGateway = req+    "AttachVPNGateway"+    "fixture/AttachVPNGateway"++testCreateVPNConnectionRoute :: CreateVPNConnectionRoute -> TestTree+testCreateVPNConnectionRoute = req+    "CreateVPNConnectionRoute"+    "fixture/CreateVPNConnectionRoute"++testDescribeClassicLinkInstances :: DescribeClassicLinkInstances -> TestTree+testDescribeClassicLinkInstances = req+    "DescribeClassicLinkInstances"+    "fixture/DescribeClassicLinkInstances"++testTerminateInstances :: TerminateInstances -> TestTree+testTerminateInstances = req+    "TerminateInstances"+    "fixture/TerminateInstances"++testCreateDHCPOptions :: CreateDHCPOptions -> TestTree+testCreateDHCPOptions = req+    "CreateDHCPOptions"+    "fixture/CreateDHCPOptions"++testAssociateRouteTable :: AssociateRouteTable -> TestTree+testAssociateRouteTable = req+    "AssociateRouteTable"+    "fixture/AssociateRouteTable"++testCreateImage :: CreateImage -> TestTree+testCreateImage = req+    "CreateImage"+    "fixture/CreateImage"++testDescribeAccountAttributes :: DescribeAccountAttributes -> TestTree+testDescribeAccountAttributes = req+    "DescribeAccountAttributes"+    "fixture/DescribeAccountAttributes"++testResetImageAttribute :: ResetImageAttribute -> TestTree+testResetImageAttribute = req+    "ResetImageAttribute"+    "fixture/ResetImageAttribute"++testDescribeNetworkACLs :: DescribeNetworkACLs -> TestTree+testDescribeNetworkACLs = req+    "DescribeNetworkACLs"+    "fixture/DescribeNetworkACLs"++testCancelImportTask :: CancelImportTask -> TestTree+testCancelImportTask = req+    "CancelImportTask"+    "fixture/CancelImportTask"++testGetConsoleOutput :: GetConsoleOutput -> TestTree+testGetConsoleOutput = req+    "GetConsoleOutput"+    "fixture/GetConsoleOutput"++testUnassignPrivateIPAddresses :: UnassignPrivateIPAddresses -> TestTree+testUnassignPrivateIPAddresses = req+    "UnassignPrivateIPAddresses"+    "fixture/UnassignPrivateIPAddresses"++testDeleteRouteTable :: DeleteRouteTable -> TestTree+testDeleteRouteTable = req+    "DeleteRouteTable"+    "fixture/DeleteRouteTable"++testDescribeImageAttribute :: DescribeImageAttribute -> TestTree+testDescribeImageAttribute = req+    "DescribeImageAttribute"+    "fixture/DescribeImageAttribute"++testDeleteDHCPOptions :: DeleteDHCPOptions -> TestTree+testDeleteDHCPOptions = req+    "DeleteDHCPOptions"+    "fixture/DeleteDHCPOptions"++testDescribeVPNGateways :: DescribeVPNGateways -> TestTree+testDescribeVPNGateways = req+    "DescribeVPNGateways"+    "fixture/DescribeVPNGateways"++testDetachClassicLinkVPC :: DetachClassicLinkVPC -> TestTree+testDetachClassicLinkVPC = req+    "DetachClassicLinkVPC"+    "fixture/DetachClassicLinkVPC"++testDescribeReservedInstancesModifications :: DescribeReservedInstancesModifications -> TestTree+testDescribeReservedInstancesModifications = req+    "DescribeReservedInstancesModifications"+    "fixture/DescribeReservedInstancesModifications"++testDescribeSpotInstanceRequests :: DescribeSpotInstanceRequests -> TestTree+testDescribeSpotInstanceRequests = req+    "DescribeSpotInstanceRequests"+    "fixture/DescribeSpotInstanceRequests"++testMonitorInstances :: MonitorInstances -> TestTree+testMonitorInstances = req+    "MonitorInstances"+    "fixture/MonitorInstances"++testDescribeRegions :: DescribeRegions -> TestTree+testDescribeRegions = req+    "DescribeRegions"+    "fixture/DescribeRegions"++testModifyVPCAttribute :: ModifyVPCAttribute -> TestTree+testModifyVPCAttribute = req+    "ModifyVPCAttribute"+    "fixture/ModifyVPCAttribute"++testDescribeSpotFleetInstances :: DescribeSpotFleetInstances -> TestTree+testDescribeSpotFleetInstances = req+    "DescribeSpotFleetInstances"+    "fixture/DescribeSpotFleetInstances"++testDescribeVolumeStatus :: DescribeVolumeStatus -> TestTree+testDescribeVolumeStatus = req+    "DescribeVolumeStatus"+    "fixture/DescribeVolumeStatus"++testDeleteVolume :: DeleteVolume -> TestTree+testDeleteVolume = req+    "DeleteVolume"+    "fixture/DeleteVolume"++testDescribeImages :: DescribeImages -> TestTree+testDescribeImages = req+    "DescribeImages"+    "fixture/DescribeImages"++testCreateKeyPair :: CreateKeyPair -> TestTree+testCreateKeyPair = req+    "CreateKeyPair"+    "fixture/CreateKeyPair"++testRestoreAddressToClassic :: RestoreAddressToClassic -> TestTree+testRestoreAddressToClassic = req+    "RestoreAddressToClassic"+    "fixture/RestoreAddressToClassic"++testDescribeAvailabilityZones :: DescribeAvailabilityZones -> TestTree+testDescribeAvailabilityZones = req+    "DescribeAvailabilityZones"+    "fixture/DescribeAvailabilityZones"++testImportSnapshot :: ImportSnapshot -> TestTree+testImportSnapshot = req+    "ImportSnapshot"+    "fixture/ImportSnapshot"++testAcceptVPCPeeringConnection :: AcceptVPCPeeringConnection -> TestTree+testAcceptVPCPeeringConnection = req+    "AcceptVPCPeeringConnection"+    "fixture/AcceptVPCPeeringConnection"++testDescribeRouteTables :: DescribeRouteTables -> TestTree+testDescribeRouteTables = req+    "DescribeRouteTables"+    "fixture/DescribeRouteTables"++-- Responses++testDetachNetworkInterfaceResponse :: DetachNetworkInterfaceResponse -> TestTree+testDetachNetworkInterfaceResponse = res+    "DetachNetworkInterfaceResponse"+    "fixture/DetachNetworkInterfaceResponse"+    (Proxy :: Proxy DetachNetworkInterface)++testDeleteVPCEndpointsResponse :: DeleteVPCEndpointsResponse -> TestTree+testDeleteVPCEndpointsResponse = res+    "DeleteVPCEndpointsResponse"+    "fixture/DeleteVPCEndpointsResponse"+    (Proxy :: Proxy DeleteVPCEndpoints)++testDeleteKeyPairResponse :: DeleteKeyPairResponse -> TestTree+testDeleteKeyPairResponse = res+    "DeleteKeyPairResponse"+    "fixture/DeleteKeyPairResponse"+    (Proxy :: Proxy DeleteKeyPair)++testDeleteFlowLogsResponse :: DeleteFlowLogsResponse -> TestTree+testDeleteFlowLogsResponse = res+    "DeleteFlowLogsResponse"+    "fixture/DeleteFlowLogsResponse"+    (Proxy :: Proxy DeleteFlowLogs)++testDescribeTagsResponse :: DescribeTagsResponse -> TestTree+testDescribeTagsResponse = res+    "DescribeTagsResponse"+    "fixture/DescribeTagsResponse"+    (Proxy :: Proxy DescribeTags)++testRevokeSecurityGroupEgressResponse :: RevokeSecurityGroupEgressResponse -> TestTree+testRevokeSecurityGroupEgressResponse = res+    "RevokeSecurityGroupEgressResponse"+    "fixture/RevokeSecurityGroupEgressResponse"+    (Proxy :: Proxy RevokeSecurityGroupEgress)++testCreateVPNGatewayResponse :: CreateVPNGatewayResponse -> TestTree+testCreateVPNGatewayResponse = res+    "CreateVPNGatewayResponse"+    "fixture/CreateVPNGatewayResponse"+    (Proxy :: Proxy CreateVPNGateway)++testDetachInternetGatewayResponse :: DetachInternetGatewayResponse -> TestTree+testDetachInternetGatewayResponse = res+    "DetachInternetGatewayResponse"+    "fixture/DetachInternetGatewayResponse"+    (Proxy :: Proxy DetachInternetGateway)++testCreateNetworkACLResponse :: CreateNetworkACLResponse -> TestTree+testCreateNetworkACLResponse = res+    "CreateNetworkACLResponse"+    "fixture/CreateNetworkACLResponse"+    (Proxy :: Proxy CreateNetworkACL)++testImportInstanceResponse :: ImportInstanceResponse -> TestTree+testImportInstanceResponse = res+    "ImportInstanceResponse"+    "fixture/ImportInstanceResponse"+    (Proxy :: Proxy ImportInstance)++testDescribeVPCClassicLinkResponse :: DescribeVPCClassicLinkResponse -> TestTree+testDescribeVPCClassicLinkResponse = res+    "DescribeVPCClassicLinkResponse"+    "fixture/DescribeVPCClassicLinkResponse"+    (Proxy :: Proxy DescribeVPCClassicLink)++testDeleteVPNConnectionResponse :: DeleteVPNConnectionResponse -> TestTree+testDeleteVPNConnectionResponse = res+    "DeleteVPNConnectionResponse"+    "fixture/DeleteVPNConnectionResponse"+    (Proxy :: Proxy DeleteVPNConnection)++testAuthorizeSecurityGroupEgressResponse :: AuthorizeSecurityGroupEgressResponse -> TestTree+testAuthorizeSecurityGroupEgressResponse = res+    "AuthorizeSecurityGroupEgressResponse"+    "fixture/AuthorizeSecurityGroupEgressResponse"+    (Proxy :: Proxy AuthorizeSecurityGroupEgress)++testDescribeBundleTasksResponse :: DescribeBundleTasksResponse -> TestTree+testDescribeBundleTasksResponse = res+    "DescribeBundleTasksResponse"+    "fixture/DescribeBundleTasksResponse"+    (Proxy :: Proxy DescribeBundleTasks)++testCreateInternetGatewayResponse :: CreateInternetGatewayResponse -> TestTree+testCreateInternetGatewayResponse = res+    "CreateInternetGatewayResponse"+    "fixture/CreateInternetGatewayResponse"+    (Proxy :: Proxy CreateInternetGateway)++testReleaseAddressResponse :: ReleaseAddressResponse -> TestTree+testReleaseAddressResponse = res+    "ReleaseAddressResponse"+    "fixture/ReleaseAddressResponse"+    (Proxy :: Proxy ReleaseAddress)++testCancelBundleTaskResponse :: CancelBundleTaskResponse -> TestTree+testCancelBundleTaskResponse = res+    "CancelBundleTaskResponse"+    "fixture/CancelBundleTaskResponse"+    (Proxy :: Proxy CancelBundleTask)++testModifyNetworkInterfaceAttributeResponse :: ModifyNetworkInterfaceAttributeResponse -> TestTree+testModifyNetworkInterfaceAttributeResponse = res+    "ModifyNetworkInterfaceAttributeResponse"+    "fixture/ModifyNetworkInterfaceAttributeResponse"+    (Proxy :: Proxy ModifyNetworkInterfaceAttribute)++testModifySubnetAttributeResponse :: ModifySubnetAttributeResponse -> TestTree+testModifySubnetAttributeResponse = res+    "ModifySubnetAttributeResponse"+    "fixture/ModifySubnetAttributeResponse"+    (Proxy :: Proxy ModifySubnetAttribute)++testDeregisterImageResponse :: DeregisterImageResponse -> TestTree+testDeregisterImageResponse = res+    "DeregisterImageResponse"+    "fixture/DeregisterImageResponse"+    (Proxy :: Proxy DeregisterImage)++testDetachVolumeResponse :: VolumeAttachment -> TestTree+testDetachVolumeResponse = res+    "DetachVolumeResponse"+    "fixture/DetachVolumeResponse"+    (Proxy :: Proxy DetachVolume)++testCancelReservedInstancesListingResponse :: CancelReservedInstancesListingResponse -> TestTree+testCancelReservedInstancesListingResponse = res+    "CancelReservedInstancesListingResponse"+    "fixture/CancelReservedInstancesListingResponse"+    (Proxy :: Proxy CancelReservedInstancesListing)++testAttachClassicLinkVPCResponse :: AttachClassicLinkVPCResponse -> TestTree+testAttachClassicLinkVPCResponse = res+    "AttachClassicLinkVPCResponse"+    "fixture/AttachClassicLinkVPCResponse"+    (Proxy :: Proxy AttachClassicLinkVPC)++testCancelSpotFleetRequestsResponse :: CancelSpotFleetRequestsResponse -> TestTree+testCancelSpotFleetRequestsResponse = res+    "CancelSpotFleetRequestsResponse"+    "fixture/CancelSpotFleetRequestsResponse"+    (Proxy :: Proxy CancelSpotFleetRequests)++testDescribeDHCPOptionsResponse :: DescribeDHCPOptionsResponse -> TestTree+testDescribeDHCPOptionsResponse = res+    "DescribeDHCPOptionsResponse"+    "fixture/DescribeDHCPOptionsResponse"+    (Proxy :: Proxy DescribeDHCPOptions)++testDescribeSpotPriceHistoryResponse :: DescribeSpotPriceHistoryResponse -> TestTree+testDescribeSpotPriceHistoryResponse = res+    "DescribeSpotPriceHistoryResponse"+    "fixture/DescribeSpotPriceHistoryResponse"+    (Proxy :: Proxy DescribeSpotPriceHistory)++testStopInstancesResponse :: StopInstancesResponse -> TestTree+testStopInstancesResponse = res+    "StopInstancesResponse"+    "fixture/StopInstancesResponse"+    (Proxy :: Proxy StopInstances)++testImportImageResponse :: ImportImageResponse -> TestTree+testImportImageResponse = res+    "ImportImageResponse"+    "fixture/ImportImageResponse"+    (Proxy :: Proxy ImportImage)++testDeleteNetworkACLEntryResponse :: DeleteNetworkACLEntryResponse -> TestTree+testDeleteNetworkACLEntryResponse = res+    "DeleteNetworkACLEntryResponse"+    "fixture/DeleteNetworkACLEntryResponse"+    (Proxy :: Proxy DeleteNetworkACLEntry)++testDisableVPCClassicLinkResponse :: DisableVPCClassicLinkResponse -> TestTree+testDisableVPCClassicLinkResponse = res+    "DisableVPCClassicLinkResponse"+    "fixture/DisableVPCClassicLinkResponse"+    (Proxy :: Proxy DisableVPCClassicLink)++testAuthorizeSecurityGroupIngressResponse :: AuthorizeSecurityGroupIngressResponse -> TestTree+testAuthorizeSecurityGroupIngressResponse = res+    "AuthorizeSecurityGroupIngressResponse"+    "fixture/AuthorizeSecurityGroupIngressResponse"+    (Proxy :: Proxy AuthorizeSecurityGroupIngress)++testBundleInstanceResponse :: BundleInstanceResponse -> TestTree+testBundleInstanceResponse = res+    "BundleInstanceResponse"+    "fixture/BundleInstanceResponse"+    (Proxy :: Proxy BundleInstance)++testDescribeVPCEndpointServicesResponse :: DescribeVPCEndpointServicesResponse -> TestTree+testDescribeVPCEndpointServicesResponse = res+    "DescribeVPCEndpointServicesResponse"+    "fixture/DescribeVPCEndpointServicesResponse"+    (Proxy :: Proxy DescribeVPCEndpointServices)++testReplaceNetworkACLAssociationResponse :: ReplaceNetworkACLAssociationResponse -> TestTree+testReplaceNetworkACLAssociationResponse = res+    "ReplaceNetworkACLAssociationResponse"+    "fixture/ReplaceNetworkACLAssociationResponse"+    (Proxy :: Proxy ReplaceNetworkACLAssociation)++testCreateVPCPeeringConnectionResponse :: CreateVPCPeeringConnectionResponse -> TestTree+testCreateVPCPeeringConnectionResponse = res+    "CreateVPCPeeringConnectionResponse"+    "fixture/CreateVPCPeeringConnectionResponse"+    (Proxy :: Proxy CreateVPCPeeringConnection)++testResetSnapshotAttributeResponse :: ResetSnapshotAttributeResponse -> TestTree+testResetSnapshotAttributeResponse = res+    "ResetSnapshotAttributeResponse"+    "fixture/ResetSnapshotAttributeResponse"+    (Proxy :: Proxy ResetSnapshotAttribute)++testDescribeAddressesResponse :: DescribeAddressesResponse -> TestTree+testDescribeAddressesResponse = res+    "DescribeAddressesResponse"+    "fixture/DescribeAddressesResponse"+    (Proxy :: Proxy DescribeAddresses)++testDescribeInternetGatewaysResponse :: DescribeInternetGatewaysResponse -> TestTree+testDescribeInternetGatewaysResponse = res+    "DescribeInternetGatewaysResponse"+    "fixture/DescribeInternetGatewaysResponse"+    (Proxy :: Proxy DescribeInternetGateways)++testReplaceRouteResponse :: ReplaceRouteResponse -> TestTree+testReplaceRouteResponse = res+    "ReplaceRouteResponse"+    "fixture/ReplaceRouteResponse"+    (Proxy :: Proxy ReplaceRoute)++testCreateTagsResponse :: CreateTagsResponse -> TestTree+testCreateTagsResponse = res+    "CreateTagsResponse"+    "fixture/CreateTagsResponse"+    (Proxy :: Proxy CreateTags)++testDescribeSubnetsResponse :: DescribeSubnetsResponse -> TestTree+testDescribeSubnetsResponse = res+    "DescribeSubnetsResponse"+    "fixture/DescribeSubnetsResponse"+    (Proxy :: Proxy DescribeSubnets)++testDescribeNetworkInterfacesResponse :: DescribeNetworkInterfacesResponse -> TestTree+testDescribeNetworkInterfacesResponse = res+    "DescribeNetworkInterfacesResponse"+    "fixture/DescribeNetworkInterfacesResponse"+    (Proxy :: Proxy DescribeNetworkInterfaces)++testPurchaseReservedInstancesOfferingResponse :: PurchaseReservedInstancesOfferingResponse -> TestTree+testPurchaseReservedInstancesOfferingResponse = res+    "PurchaseReservedInstancesOfferingResponse"+    "fixture/PurchaseReservedInstancesOfferingResponse"+    (Proxy :: Proxy PurchaseReservedInstancesOffering)++testDescribeSnapshotAttributeResponse :: DescribeSnapshotAttributeResponse -> TestTree+testDescribeSnapshotAttributeResponse = res+    "DescribeSnapshotAttributeResponse"+    "fixture/DescribeSnapshotAttributeResponse"+    (Proxy :: Proxy DescribeSnapshotAttribute)++testCreateCustomerGatewayResponse :: CreateCustomerGatewayResponse -> TestTree+testCreateCustomerGatewayResponse = res+    "CreateCustomerGatewayResponse"+    "fixture/CreateCustomerGatewayResponse"+    (Proxy :: Proxy CreateCustomerGateway)++testAttachInternetGatewayResponse :: AttachInternetGatewayResponse -> TestTree+testAttachInternetGatewayResponse = res+    "AttachInternetGatewayResponse"+    "fixture/AttachInternetGatewayResponse"+    (Proxy :: Proxy AttachInternetGateway)++testDeleteTagsResponse :: DeleteTagsResponse -> TestTree+testDeleteTagsResponse = res+    "DeleteTagsResponse"+    "fixture/DeleteTagsResponse"+    (Proxy :: Proxy DeleteTags)++testReplaceNetworkACLEntryResponse :: ReplaceNetworkACLEntryResponse -> TestTree+testReplaceNetworkACLEntryResponse = res+    "ReplaceNetworkACLEntryResponse"+    "fixture/ReplaceNetworkACLEntryResponse"+    (Proxy :: Proxy ReplaceNetworkACLEntry)++testResetInstanceAttributeResponse :: ResetInstanceAttributeResponse -> TestTree+testResetInstanceAttributeResponse = res+    "ResetInstanceAttributeResponse"+    "fixture/ResetInstanceAttributeResponse"+    (Proxy :: Proxy ResetInstanceAttribute)++testDeleteRouteResponse :: DeleteRouteResponse -> TestTree+testDeleteRouteResponse = res+    "DeleteRouteResponse"+    "fixture/DeleteRouteResponse"+    (Proxy :: Proxy DeleteRoute)++testDescribeVPNConnectionsResponse :: DescribeVPNConnectionsResponse -> TestTree+testDescribeVPNConnectionsResponse = res+    "DescribeVPNConnectionsResponse"+    "fixture/DescribeVPNConnectionsResponse"+    (Proxy :: Proxy DescribeVPNConnections)++testDescribeFlowLogsResponse :: DescribeFlowLogsResponse -> TestTree+testDescribeFlowLogsResponse = res+    "DescribeFlowLogsResponse"+    "fixture/DescribeFlowLogsResponse"+    (Proxy :: Proxy DescribeFlowLogs)++testDeleteSecurityGroupResponse :: DeleteSecurityGroupResponse -> TestTree+testDeleteSecurityGroupResponse = res+    "DeleteSecurityGroupResponse"+    "fixture/DeleteSecurityGroupResponse"+    (Proxy :: Proxy DeleteSecurityGroup)++testDescribeReservedInstancesOfferingsResponse :: DescribeReservedInstancesOfferingsResponse -> TestTree+testDescribeReservedInstancesOfferingsResponse = res+    "DescribeReservedInstancesOfferingsResponse"+    "fixture/DescribeReservedInstancesOfferingsResponse"+    (Proxy :: Proxy DescribeReservedInstancesOfferings)++testDeleteVPCPeeringConnectionResponse :: DeleteVPCPeeringConnectionResponse -> TestTree+testDeleteVPCPeeringConnectionResponse = res+    "DeleteVPCPeeringConnectionResponse"+    "fixture/DeleteVPCPeeringConnectionResponse"+    (Proxy :: Proxy DeleteVPCPeeringConnection)++testDescribeVPCEndpointsResponse :: DescribeVPCEndpointsResponse -> TestTree+testDescribeVPCEndpointsResponse = res+    "DescribeVPCEndpointsResponse"+    "fixture/DescribeVPCEndpointsResponse"+    (Proxy :: Proxy DescribeVPCEndpoints)++testDescribeInstanceAttributeResponse :: DescribeInstanceAttributeResponse -> TestTree+testDescribeInstanceAttributeResponse = res+    "DescribeInstanceAttributeResponse"+    "fixture/DescribeInstanceAttributeResponse"+    (Proxy :: Proxy DescribeInstanceAttribute)++testConfirmProductInstanceResponse :: ConfirmProductInstanceResponse -> TestTree+testConfirmProductInstanceResponse = res+    "ConfirmProductInstanceResponse"+    "fixture/ConfirmProductInstanceResponse"+    (Proxy :: Proxy ConfirmProductInstance)++testImportKeyPairResponse :: ImportKeyPairResponse -> TestTree+testImportKeyPairResponse = res+    "ImportKeyPairResponse"+    "fixture/ImportKeyPairResponse"+    (Proxy :: Proxy ImportKeyPair)++testAttachNetworkInterfaceResponse :: AttachNetworkInterfaceResponse -> TestTree+testAttachNetworkInterfaceResponse = res+    "AttachNetworkInterfaceResponse"+    "fixture/AttachNetworkInterfaceResponse"+    (Proxy :: Proxy AttachNetworkInterface)++testDescribeInstanceStatusResponse :: DescribeInstanceStatusResponse -> TestTree+testDescribeInstanceStatusResponse = res+    "DescribeInstanceStatusResponse"+    "fixture/DescribeInstanceStatusResponse"+    (Proxy :: Proxy DescribeInstanceStatus)++testCancelConversionTaskResponse :: CancelConversionTaskResponse -> TestTree+testCancelConversionTaskResponse = res+    "CancelConversionTaskResponse"+    "fixture/CancelConversionTaskResponse"+    (Proxy :: Proxy CancelConversionTask)++testReportInstanceStatusResponse :: ReportInstanceStatusResponse -> TestTree+testReportInstanceStatusResponse = res+    "ReportInstanceStatusResponse"+    "fixture/ReportInstanceStatusResponse"+    (Proxy :: Proxy ReportInstanceStatus)++testAssociateDHCPOptionsResponse :: AssociateDHCPOptionsResponse -> TestTree+testAssociateDHCPOptionsResponse = res+    "AssociateDHCPOptionsResponse"+    "fixture/AssociateDHCPOptionsResponse"+    (Proxy :: Proxy AssociateDHCPOptions)++testDescribeVPCsResponse :: DescribeVPCsResponse -> TestTree+testDescribeVPCsResponse = res+    "DescribeVPCsResponse"+    "fixture/DescribeVPCsResponse"+    (Proxy :: Proxy DescribeVPCs)++testRequestSpotInstancesResponse :: RequestSpotInstancesResponse -> TestTree+testRequestSpotInstancesResponse = res+    "RequestSpotInstancesResponse"+    "fixture/RequestSpotInstancesResponse"+    (Proxy :: Proxy RequestSpotInstances)++testModifyImageAttributeResponse :: ModifyImageAttributeResponse -> TestTree+testModifyImageAttributeResponse = res+    "ModifyImageAttributeResponse"+    "fixture/ModifyImageAttributeResponse"+    (Proxy :: Proxy ModifyImageAttribute)++testDescribeReservedInstancesResponse :: DescribeReservedInstancesResponse -> TestTree+testDescribeReservedInstancesResponse = res+    "DescribeReservedInstancesResponse"+    "fixture/DescribeReservedInstancesResponse"+    (Proxy :: Proxy DescribeReservedInstances)++testAllocateAddressResponse :: AllocateAddressResponse -> TestTree+testAllocateAddressResponse = res+    "AllocateAddressResponse"+    "fixture/AllocateAddressResponse"+    (Proxy :: Proxy AllocateAddress)++testRunInstancesResponse :: Reservation -> TestTree+testRunInstancesResponse = res+    "RunInstancesResponse"+    "fixture/RunInstancesResponse"+    (Proxy :: Proxy RunInstances)++testCreateRouteTableResponse :: CreateRouteTableResponse -> TestTree+testCreateRouteTableResponse = res+    "CreateRouteTableResponse"+    "fixture/CreateRouteTableResponse"+    (Proxy :: Proxy CreateRouteTable)++testAttachVolumeResponse :: VolumeAttachment -> TestTree+testAttachVolumeResponse = res+    "AttachVolumeResponse"+    "fixture/AttachVolumeResponse"+    (Proxy :: Proxy AttachVolume)++testDescribeConversionTasksResponse :: DescribeConversionTasksResponse -> TestTree+testDescribeConversionTasksResponse = res+    "DescribeConversionTasksResponse"+    "fixture/DescribeConversionTasksResponse"+    (Proxy :: Proxy DescribeConversionTasks)++testRejectVPCPeeringConnectionResponse :: RejectVPCPeeringConnectionResponse -> TestTree+testRejectVPCPeeringConnectionResponse = res+    "RejectVPCPeeringConnectionResponse"+    "fixture/RejectVPCPeeringConnectionResponse"+    (Proxy :: Proxy RejectVPCPeeringConnection)++testRevokeSecurityGroupIngressResponse :: RevokeSecurityGroupIngressResponse -> TestTree+testRevokeSecurityGroupIngressResponse = res+    "RevokeSecurityGroupIngressResponse"+    "fixture/RevokeSecurityGroupIngressResponse"+    (Proxy :: Proxy RevokeSecurityGroupIngress)++testDescribeVolumesResponse :: DescribeVolumesResponse -> TestTree+testDescribeVolumesResponse = res+    "DescribeVolumesResponse"+    "fixture/DescribeVolumesResponse"+    (Proxy :: Proxy DescribeVolumes)++testDeleteVPNConnectionRouteResponse :: DeleteVPNConnectionRouteResponse -> TestTree+testDeleteVPNConnectionRouteResponse = res+    "DeleteVPNConnectionRouteResponse"+    "fixture/DeleteVPNConnectionRouteResponse"+    (Proxy :: Proxy DeleteVPNConnectionRoute)++testModifyReservedInstancesResponse :: ModifyReservedInstancesResponse -> TestTree+testModifyReservedInstancesResponse = res+    "ModifyReservedInstancesResponse"+    "fixture/ModifyReservedInstancesResponse"+    (Proxy :: Proxy ModifyReservedInstances)++testRegisterImageResponse :: RegisterImageResponse -> TestTree+testRegisterImageResponse = res+    "RegisterImageResponse"+    "fixture/RegisterImageResponse"+    (Proxy :: Proxy RegisterImage)++testModifyVPCEndpointResponse :: ModifyVPCEndpointResponse -> TestTree+testModifyVPCEndpointResponse = res+    "ModifyVPCEndpointResponse"+    "fixture/ModifyVPCEndpointResponse"+    (Proxy :: Proxy ModifyVPCEndpoint)++testDeleteVPNGatewayResponse :: DeleteVPNGatewayResponse -> TestTree+testDeleteVPNGatewayResponse = res+    "DeleteVPNGatewayResponse"+    "fixture/DeleteVPNGatewayResponse"+    (Proxy :: Proxy DeleteVPNGateway)++testCreateVPCResponse :: CreateVPCResponse -> TestTree+testCreateVPCResponse = res+    "CreateVPCResponse"+    "fixture/CreateVPCResponse"+    (Proxy :: Proxy CreateVPC)++testDescribeMovingAddressesResponse :: DescribeMovingAddressesResponse -> TestTree+testDescribeMovingAddressesResponse = res+    "DescribeMovingAddressesResponse"+    "fixture/DescribeMovingAddressesResponse"+    (Proxy :: Proxy DescribeMovingAddresses)++testDescribeVolumeAttributeResponse :: DescribeVolumeAttributeResponse -> TestTree+testDescribeVolumeAttributeResponse = res+    "DescribeVolumeAttributeResponse"+    "fixture/DescribeVolumeAttributeResponse"+    (Proxy :: Proxy DescribeVolumeAttribute)++testMoveAddressToVPCResponse :: MoveAddressToVPCResponse -> TestTree+testMoveAddressToVPCResponse = res+    "MoveAddressToVPCResponse"+    "fixture/MoveAddressToVPCResponse"+    (Proxy :: Proxy MoveAddressToVPC)++testGetPasswordDataResponse :: GetPasswordDataResponse -> TestTree+testGetPasswordDataResponse = res+    "GetPasswordDataResponse"+    "fixture/GetPasswordDataResponse"+    (Proxy :: Proxy GetPasswordData)++testCreateFlowLogsResponse :: CreateFlowLogsResponse -> TestTree+testCreateFlowLogsResponse = res+    "CreateFlowLogsResponse"+    "fixture/CreateFlowLogsResponse"+    (Proxy :: Proxy CreateFlowLogs)++testDescribeImportImageTasksResponse :: DescribeImportImageTasksResponse -> TestTree+testDescribeImportImageTasksResponse = res+    "DescribeImportImageTasksResponse"+    "fixture/DescribeImportImageTasksResponse"+    (Proxy :: Proxy DescribeImportImageTasks)++testDeleteNetworkACLResponse :: DeleteNetworkACLResponse -> TestTree+testDeleteNetworkACLResponse = res+    "DeleteNetworkACLResponse"+    "fixture/DeleteNetworkACLResponse"+    (Proxy :: Proxy DeleteNetworkACL)++testDescribeSpotFleetRequestsResponse :: DescribeSpotFleetRequestsResponse -> TestTree+testDescribeSpotFleetRequestsResponse = res+    "DescribeSpotFleetRequestsResponse"+    "fixture/DescribeSpotFleetRequestsResponse"+    (Proxy :: Proxy DescribeSpotFleetRequests)++testCopySnapshotResponse :: CopySnapshotResponse -> TestTree+testCopySnapshotResponse = res+    "CopySnapshotResponse"+    "fixture/CopySnapshotResponse"+    (Proxy :: Proxy CopySnapshot)++testModifyVolumeAttributeResponse :: ModifyVolumeAttributeResponse -> TestTree+testModifyVolumeAttributeResponse = res+    "ModifyVolumeAttributeResponse"+    "fixture/ModifyVolumeAttributeResponse"+    (Proxy :: Proxy ModifyVolumeAttribute)++testDescribeVPCAttributeResponse :: DescribeVPCAttributeResponse -> TestTree+testDescribeVPCAttributeResponse = res+    "DescribeVPCAttributeResponse"+    "fixture/DescribeVPCAttributeResponse"+    (Proxy :: Proxy DescribeVPCAttribute)++testCreateVolumeResponse :: Volume -> TestTree+testCreateVolumeResponse = res+    "CreateVolumeResponse"+    "fixture/CreateVolumeResponse"+    (Proxy :: Proxy CreateVolume)++testDisassociateAddressResponse :: DisassociateAddressResponse -> TestTree+testDisassociateAddressResponse = res+    "DisassociateAddressResponse"+    "fixture/DisassociateAddressResponse"+    (Proxy :: Proxy DisassociateAddress)++testDeleteVPCResponse :: DeleteVPCResponse -> TestTree+testDeleteVPCResponse = res+    "DeleteVPCResponse"+    "fixture/DeleteVPCResponse"+    (Proxy :: Proxy DeleteVPC)++testDescribePrefixListsResponse :: DescribePrefixListsResponse -> TestTree+testDescribePrefixListsResponse = res+    "DescribePrefixListsResponse"+    "fixture/DescribePrefixListsResponse"+    (Proxy :: Proxy DescribePrefixLists)++testCreateInstanceExportTaskResponse :: CreateInstanceExportTaskResponse -> TestTree+testCreateInstanceExportTaskResponse = res+    "CreateInstanceExportTaskResponse"+    "fixture/CreateInstanceExportTaskResponse"+    (Proxy :: Proxy CreateInstanceExportTask)++testDescribeSpotDatafeedSubscriptionResponse :: DescribeSpotDatafeedSubscriptionResponse -> TestTree+testDescribeSpotDatafeedSubscriptionResponse = res+    "DescribeSpotDatafeedSubscriptionResponse"+    "fixture/DescribeSpotDatafeedSubscriptionResponse"+    (Proxy :: Proxy DescribeSpotDatafeedSubscription)++testDetachVPNGatewayResponse :: DetachVPNGatewayResponse -> TestTree+testDetachVPNGatewayResponse = res+    "DetachVPNGatewayResponse"+    "fixture/DetachVPNGatewayResponse"+    (Proxy :: Proxy DetachVPNGateway)++testDescribeExportTasksResponse :: DescribeExportTasksResponse -> TestTree+testDescribeExportTasksResponse = res+    "DescribeExportTasksResponse"+    "fixture/DescribeExportTasksResponse"+    (Proxy :: Proxy DescribeExportTasks)++testDeletePlacementGroupResponse :: DeletePlacementGroupResponse -> TestTree+testDeletePlacementGroupResponse = res+    "DeletePlacementGroupResponse"+    "fixture/DeletePlacementGroupResponse"+    (Proxy :: Proxy DeletePlacementGroup)++testCreateSubnetResponse :: CreateSubnetResponse -> TestTree+testCreateSubnetResponse = res+    "CreateSubnetResponse"+    "fixture/CreateSubnetResponse"+    (Proxy :: Proxy CreateSubnet)++testEnableVolumeIOResponse :: EnableVolumeIOResponse -> TestTree+testEnableVolumeIOResponse = res+    "EnableVolumeIOResponse"+    "fixture/EnableVolumeIOResponse"+    (Proxy :: Proxy EnableVolumeIO)++testCancelExportTaskResponse :: CancelExportTaskResponse -> TestTree+testCancelExportTaskResponse = res+    "CancelExportTaskResponse"+    "fixture/CancelExportTaskResponse"+    (Proxy :: Proxy CancelExportTask)++testRequestSpotFleetResponse :: RequestSpotFleetResponse -> TestTree+testRequestSpotFleetResponse = res+    "RequestSpotFleetResponse"+    "fixture/RequestSpotFleetResponse"+    (Proxy :: Proxy RequestSpotFleet)++testDescribeInstancesResponse :: DescribeInstancesResponse -> TestTree+testDescribeInstancesResponse = res+    "DescribeInstancesResponse"+    "fixture/DescribeInstancesResponse"+    (Proxy :: Proxy DescribeInstances)++testDescribeSecurityGroupsResponse :: DescribeSecurityGroupsResponse -> TestTree+testDescribeSecurityGroupsResponse = res+    "DescribeSecurityGroupsResponse"+    "fixture/DescribeSecurityGroupsResponse"+    (Proxy :: Proxy DescribeSecurityGroups)++testDescribeVPCPeeringConnectionsResponse :: DescribeVPCPeeringConnectionsResponse -> TestTree+testDescribeVPCPeeringConnectionsResponse = res+    "DescribeVPCPeeringConnectionsResponse"+    "fixture/DescribeVPCPeeringConnectionsResponse"+    (Proxy :: Proxy DescribeVPCPeeringConnections)++testCreateNetworkInterfaceResponse :: CreateNetworkInterfaceResponse -> TestTree+testCreateNetworkInterfaceResponse = res+    "CreateNetworkInterfaceResponse"+    "fixture/CreateNetworkInterfaceResponse"+    (Proxy :: Proxy CreateNetworkInterface)++testAssociateAddressResponse :: AssociateAddressResponse -> TestTree+testAssociateAddressResponse = res+    "AssociateAddressResponse"+    "fixture/AssociateAddressResponse"+    (Proxy :: Proxy AssociateAddress)++testStartInstancesResponse :: StartInstancesResponse -> TestTree+testStartInstancesResponse = res+    "StartInstancesResponse"+    "fixture/StartInstancesResponse"+    (Proxy :: Proxy StartInstances)++testDescribeCustomerGatewaysResponse :: DescribeCustomerGatewaysResponse -> TestTree+testDescribeCustomerGatewaysResponse = res+    "DescribeCustomerGatewaysResponse"+    "fixture/DescribeCustomerGatewaysResponse"+    (Proxy :: Proxy DescribeCustomerGateways)++testResetNetworkInterfaceAttributeResponse :: ResetNetworkInterfaceAttributeResponse -> TestTree+testResetNetworkInterfaceAttributeResponse = res+    "ResetNetworkInterfaceAttributeResponse"+    "fixture/ResetNetworkInterfaceAttributeResponse"+    (Proxy :: Proxy ResetNetworkInterfaceAttribute)++testCreateVPNConnectionResponse :: CreateVPNConnectionResponse -> TestTree+testCreateVPNConnectionResponse = res+    "CreateVPNConnectionResponse"+    "fixture/CreateVPNConnectionResponse"+    (Proxy :: Proxy CreateVPNConnection)++testDescribeSnapshotsResponse :: DescribeSnapshotsResponse -> TestTree+testDescribeSnapshotsResponse = res+    "DescribeSnapshotsResponse"+    "fixture/DescribeSnapshotsResponse"+    (Proxy :: Proxy DescribeSnapshots)++testCreatePlacementGroupResponse :: CreatePlacementGroupResponse -> TestTree+testCreatePlacementGroupResponse = res+    "CreatePlacementGroupResponse"+    "fixture/CreatePlacementGroupResponse"+    (Proxy :: Proxy CreatePlacementGroup)++testReplaceRouteTableAssociationResponse :: ReplaceRouteTableAssociationResponse -> TestTree+testReplaceRouteTableAssociationResponse = res+    "ReplaceRouteTableAssociationResponse"+    "fixture/ReplaceRouteTableAssociationResponse"+    (Proxy :: Proxy ReplaceRouteTableAssociation)++testDescribeNetworkInterfaceAttributeResponse :: DescribeNetworkInterfaceAttributeResponse -> TestTree+testDescribeNetworkInterfaceAttributeResponse = res+    "DescribeNetworkInterfaceAttributeResponse"+    "fixture/DescribeNetworkInterfaceAttributeResponse"+    (Proxy :: Proxy DescribeNetworkInterfaceAttribute)++testDescribeReservedInstancesListingsResponse :: DescribeReservedInstancesListingsResponse -> TestTree+testDescribeReservedInstancesListingsResponse = res+    "DescribeReservedInstancesListingsResponse"+    "fixture/DescribeReservedInstancesListingsResponse"+    (Proxy :: Proxy DescribeReservedInstancesListings)++testDeleteNetworkInterfaceResponse :: DeleteNetworkInterfaceResponse -> TestTree+testDeleteNetworkInterfaceResponse = res+    "DeleteNetworkInterfaceResponse"+    "fixture/DeleteNetworkInterfaceResponse"+    (Proxy :: Proxy DeleteNetworkInterface)++testDeleteInternetGatewayResponse :: DeleteInternetGatewayResponse -> TestTree+testDeleteInternetGatewayResponse = res+    "DeleteInternetGatewayResponse"+    "fixture/DeleteInternetGatewayResponse"+    (Proxy :: Proxy DeleteInternetGateway)++testDeleteSubnetResponse :: DeleteSubnetResponse -> TestTree+testDeleteSubnetResponse = res+    "DeleteSubnetResponse"+    "fixture/DeleteSubnetResponse"+    (Proxy :: Proxy DeleteSubnet)++testCreateVPCEndpointResponse :: CreateVPCEndpointResponse -> TestTree+testCreateVPCEndpointResponse = res+    "CreateVPCEndpointResponse"+    "fixture/CreateVPCEndpointResponse"+    (Proxy :: Proxy CreateVPCEndpoint)++testDescribeImportSnapshotTasksResponse :: DescribeImportSnapshotTasksResponse -> TestTree+testDescribeImportSnapshotTasksResponse = res+    "DescribeImportSnapshotTasksResponse"+    "fixture/DescribeImportSnapshotTasksResponse"+    (Proxy :: Proxy DescribeImportSnapshotTasks)++testCopyImageResponse :: CopyImageResponse -> TestTree+testCopyImageResponse = res+    "CopyImageResponse"+    "fixture/CopyImageResponse"+    (Proxy :: Proxy CopyImage)++testDisassociateRouteTableResponse :: DisassociateRouteTableResponse -> TestTree+testDisassociateRouteTableResponse = res+    "DisassociateRouteTableResponse"+    "fixture/DisassociateRouteTableResponse"+    (Proxy :: Proxy DisassociateRouteTable)++testUnmonitorInstancesResponse :: UnmonitorInstancesResponse -> TestTree+testUnmonitorInstancesResponse = res+    "UnmonitorInstancesResponse"+    "fixture/UnmonitorInstancesResponse"+    (Proxy :: Proxy UnmonitorInstances)++testImportVolumeResponse :: ImportVolumeResponse -> TestTree+testImportVolumeResponse = res+    "ImportVolumeResponse"+    "fixture/ImportVolumeResponse"+    (Proxy :: Proxy ImportVolume)++testDisableVGWRoutePropagationResponse :: DisableVGWRoutePropagationResponse -> TestTree+testDisableVGWRoutePropagationResponse = res+    "DisableVGWRoutePropagationResponse"+    "fixture/DisableVGWRoutePropagationResponse"+    (Proxy :: Proxy DisableVGWRoutePropagation)++testCreateSpotDatafeedSubscriptionResponse :: CreateSpotDatafeedSubscriptionResponse -> TestTree+testCreateSpotDatafeedSubscriptionResponse = res+    "CreateSpotDatafeedSubscriptionResponse"+    "fixture/CreateSpotDatafeedSubscriptionResponse"+    (Proxy :: Proxy CreateSpotDatafeedSubscription)++testAssignPrivateIPAddressesResponse :: AssignPrivateIPAddressesResponse -> TestTree+testAssignPrivateIPAddressesResponse = res+    "AssignPrivateIPAddressesResponse"+    "fixture/AssignPrivateIPAddressesResponse"+    (Proxy :: Proxy AssignPrivateIPAddresses)++testDeleteSnapshotResponse :: DeleteSnapshotResponse -> TestTree+testDeleteSnapshotResponse = res+    "DeleteSnapshotResponse"+    "fixture/DeleteSnapshotResponse"+    (Proxy :: Proxy DeleteSnapshot)++testDeleteCustomerGatewayResponse :: DeleteCustomerGatewayResponse -> TestTree+testDeleteCustomerGatewayResponse = res+    "DeleteCustomerGatewayResponse"+    "fixture/DeleteCustomerGatewayResponse"+    (Proxy :: Proxy DeleteCustomerGateway)++testModifyInstanceAttributeResponse :: ModifyInstanceAttributeResponse -> TestTree+testModifyInstanceAttributeResponse = res+    "ModifyInstanceAttributeResponse"+    "fixture/ModifyInstanceAttributeResponse"+    (Proxy :: Proxy ModifyInstanceAttribute)++testCreateSecurityGroupResponse :: CreateSecurityGroupResponse -> TestTree+testCreateSecurityGroupResponse = res+    "CreateSecurityGroupResponse"+    "fixture/CreateSecurityGroupResponse"+    (Proxy :: Proxy CreateSecurityGroup)++testCancelSpotInstanceRequestsResponse :: CancelSpotInstanceRequestsResponse -> TestTree+testCancelSpotInstanceRequestsResponse = res+    "CancelSpotInstanceRequestsResponse"+    "fixture/CancelSpotInstanceRequestsResponse"+    (Proxy :: Proxy CancelSpotInstanceRequests)++testCreateRouteResponse :: CreateRouteResponse -> TestTree+testCreateRouteResponse = res+    "CreateRouteResponse"+    "fixture/CreateRouteResponse"+    (Proxy :: Proxy CreateRoute)++testCreateNetworkACLEntryResponse :: CreateNetworkACLEntryResponse -> TestTree+testCreateNetworkACLEntryResponse = res+    "CreateNetworkACLEntryResponse"+    "fixture/CreateNetworkACLEntryResponse"+    (Proxy :: Proxy CreateNetworkACLEntry)++testModifySnapshotAttributeResponse :: ModifySnapshotAttributeResponse -> TestTree+testModifySnapshotAttributeResponse = res+    "ModifySnapshotAttributeResponse"+    "fixture/ModifySnapshotAttributeResponse"+    (Proxy :: Proxy ModifySnapshotAttribute)++testEnableVGWRoutePropagationResponse :: EnableVGWRoutePropagationResponse -> TestTree+testEnableVGWRoutePropagationResponse = res+    "EnableVGWRoutePropagationResponse"+    "fixture/EnableVGWRoutePropagationResponse"+    (Proxy :: Proxy EnableVGWRoutePropagation)++testCreateSnapshotResponse :: Snapshot -> TestTree+testCreateSnapshotResponse = res+    "CreateSnapshotResponse"+    "fixture/CreateSnapshotResponse"+    (Proxy :: Proxy CreateSnapshot)++testDescribeSpotFleetRequestHistoryResponse :: DescribeSpotFleetRequestHistoryResponse -> TestTree+testDescribeSpotFleetRequestHistoryResponse = res+    "DescribeSpotFleetRequestHistoryResponse"+    "fixture/DescribeSpotFleetRequestHistoryResponse"+    (Proxy :: Proxy DescribeSpotFleetRequestHistory)++testDeleteSpotDatafeedSubscriptionResponse :: DeleteSpotDatafeedSubscriptionResponse -> TestTree+testDeleteSpotDatafeedSubscriptionResponse = res+    "DeleteSpotDatafeedSubscriptionResponse"+    "fixture/DeleteSpotDatafeedSubscriptionResponse"+    (Proxy :: Proxy DeleteSpotDatafeedSubscription)++testDescribePlacementGroupsResponse :: DescribePlacementGroupsResponse -> TestTree+testDescribePlacementGroupsResponse = res+    "DescribePlacementGroupsResponse"+    "fixture/DescribePlacementGroupsResponse"+    (Proxy :: Proxy DescribePlacementGroups)++testCreateReservedInstancesListingResponse :: CreateReservedInstancesListingResponse -> TestTree+testCreateReservedInstancesListingResponse = res+    "CreateReservedInstancesListingResponse"+    "fixture/CreateReservedInstancesListingResponse"+    (Proxy :: Proxy CreateReservedInstancesListing)++testEnableVPCClassicLinkResponse :: EnableVPCClassicLinkResponse -> TestTree+testEnableVPCClassicLinkResponse = res+    "EnableVPCClassicLinkResponse"+    "fixture/EnableVPCClassicLinkResponse"+    (Proxy :: Proxy EnableVPCClassicLink)++testDescribeKeyPairsResponse :: DescribeKeyPairsResponse -> TestTree+testDescribeKeyPairsResponse = res+    "DescribeKeyPairsResponse"+    "fixture/DescribeKeyPairsResponse"+    (Proxy :: Proxy DescribeKeyPairs)++testRebootInstancesResponse :: RebootInstancesResponse -> TestTree+testRebootInstancesResponse = res+    "RebootInstancesResponse"+    "fixture/RebootInstancesResponse"+    (Proxy :: Proxy RebootInstances)++testAttachVPNGatewayResponse :: AttachVPNGatewayResponse -> TestTree+testAttachVPNGatewayResponse = res+    "AttachVPNGatewayResponse"+    "fixture/AttachVPNGatewayResponse"+    (Proxy :: Proxy AttachVPNGateway)++testCreateVPNConnectionRouteResponse :: CreateVPNConnectionRouteResponse -> TestTree+testCreateVPNConnectionRouteResponse = res+    "CreateVPNConnectionRouteResponse"+    "fixture/CreateVPNConnectionRouteResponse"+    (Proxy :: Proxy CreateVPNConnectionRoute)++testDescribeClassicLinkInstancesResponse :: DescribeClassicLinkInstancesResponse -> TestTree+testDescribeClassicLinkInstancesResponse = res+    "DescribeClassicLinkInstancesResponse"+    "fixture/DescribeClassicLinkInstancesResponse"+    (Proxy :: Proxy DescribeClassicLinkInstances)++testTerminateInstancesResponse :: TerminateInstancesResponse -> TestTree+testTerminateInstancesResponse = res+    "TerminateInstancesResponse"+    "fixture/TerminateInstancesResponse"+    (Proxy :: Proxy TerminateInstances)++testCreateDHCPOptionsResponse :: CreateDHCPOptionsResponse -> TestTree+testCreateDHCPOptionsResponse = res+    "CreateDHCPOptionsResponse"+    "fixture/CreateDHCPOptionsResponse"+    (Proxy :: Proxy CreateDHCPOptions)++testAssociateRouteTableResponse :: AssociateRouteTableResponse -> TestTree+testAssociateRouteTableResponse = res+    "AssociateRouteTableResponse"+    "fixture/AssociateRouteTableResponse"+    (Proxy :: Proxy AssociateRouteTable)++testCreateImageResponse :: CreateImageResponse -> TestTree+testCreateImageResponse = res+    "CreateImageResponse"+    "fixture/CreateImageResponse"+    (Proxy :: Proxy CreateImage)++testDescribeAccountAttributesResponse :: DescribeAccountAttributesResponse -> TestTree+testDescribeAccountAttributesResponse = res+    "DescribeAccountAttributesResponse"+    "fixture/DescribeAccountAttributesResponse"+    (Proxy :: Proxy DescribeAccountAttributes)++testResetImageAttributeResponse :: ResetImageAttributeResponse -> TestTree+testResetImageAttributeResponse = res+    "ResetImageAttributeResponse"+    "fixture/ResetImageAttributeResponse"+    (Proxy :: Proxy ResetImageAttribute)++testDescribeNetworkACLsResponse :: DescribeNetworkACLsResponse -> TestTree+testDescribeNetworkACLsResponse = res+    "DescribeNetworkACLsResponse"+    "fixture/DescribeNetworkACLsResponse"+    (Proxy :: Proxy DescribeNetworkACLs)++testCancelImportTaskResponse :: CancelImportTaskResponse -> TestTree+testCancelImportTaskResponse = res+    "CancelImportTaskResponse"+    "fixture/CancelImportTaskResponse"+    (Proxy :: Proxy CancelImportTask)++testGetConsoleOutputResponse :: GetConsoleOutputResponse -> TestTree+testGetConsoleOutputResponse = res+    "GetConsoleOutputResponse"+    "fixture/GetConsoleOutputResponse"+    (Proxy :: Proxy GetConsoleOutput)++testUnassignPrivateIPAddressesResponse :: UnassignPrivateIPAddressesResponse -> TestTree+testUnassignPrivateIPAddressesResponse = res+    "UnassignPrivateIPAddressesResponse"+    "fixture/UnassignPrivateIPAddressesResponse"+    (Proxy :: Proxy UnassignPrivateIPAddresses)++testDeleteRouteTableResponse :: DeleteRouteTableResponse -> TestTree+testDeleteRouteTableResponse = res+    "DeleteRouteTableResponse"+    "fixture/DeleteRouteTableResponse"+    (Proxy :: Proxy DeleteRouteTable)++testDescribeImageAttributeResponse :: DescribeImageAttributeResponse -> TestTree+testDescribeImageAttributeResponse = res+    "DescribeImageAttributeResponse"+    "fixture/DescribeImageAttributeResponse"+    (Proxy :: Proxy DescribeImageAttribute)++testDeleteDHCPOptionsResponse :: DeleteDHCPOptionsResponse -> TestTree+testDeleteDHCPOptionsResponse = res+    "DeleteDHCPOptionsResponse"+    "fixture/DeleteDHCPOptionsResponse"+    (Proxy :: Proxy DeleteDHCPOptions)++testDescribeVPNGatewaysResponse :: DescribeVPNGatewaysResponse -> TestTree+testDescribeVPNGatewaysResponse = res+    "DescribeVPNGatewaysResponse"+    "fixture/DescribeVPNGatewaysResponse"+    (Proxy :: Proxy DescribeVPNGateways)++testDetachClassicLinkVPCResponse :: DetachClassicLinkVPCResponse -> TestTree+testDetachClassicLinkVPCResponse = res+    "DetachClassicLinkVPCResponse"+    "fixture/DetachClassicLinkVPCResponse"+    (Proxy :: Proxy DetachClassicLinkVPC)++testDescribeReservedInstancesModificationsResponse :: DescribeReservedInstancesModificationsResponse -> TestTree+testDescribeReservedInstancesModificationsResponse = res+    "DescribeReservedInstancesModificationsResponse"+    "fixture/DescribeReservedInstancesModificationsResponse"+    (Proxy :: Proxy DescribeReservedInstancesModifications)++testDescribeSpotInstanceRequestsResponse :: DescribeSpotInstanceRequestsResponse -> TestTree+testDescribeSpotInstanceRequestsResponse = res+    "DescribeSpotInstanceRequestsResponse"+    "fixture/DescribeSpotInstanceRequestsResponse"+    (Proxy :: Proxy DescribeSpotInstanceRequests)++testMonitorInstancesResponse :: MonitorInstancesResponse -> TestTree+testMonitorInstancesResponse = res+    "MonitorInstancesResponse"+    "fixture/MonitorInstancesResponse"+    (Proxy :: Proxy MonitorInstances)++testDescribeRegionsResponse :: DescribeRegionsResponse -> TestTree+testDescribeRegionsResponse = res+    "DescribeRegionsResponse"+    "fixture/DescribeRegionsResponse"+    (Proxy :: Proxy DescribeRegions)++testModifyVPCAttributeResponse :: ModifyVPCAttributeResponse -> TestTree+testModifyVPCAttributeResponse = res+    "ModifyVPCAttributeResponse"+    "fixture/ModifyVPCAttributeResponse"+    (Proxy :: Proxy ModifyVPCAttribute)++testDescribeSpotFleetInstancesResponse :: DescribeSpotFleetInstancesResponse -> TestTree+testDescribeSpotFleetInstancesResponse = res+    "DescribeSpotFleetInstancesResponse"+    "fixture/DescribeSpotFleetInstancesResponse"+    (Proxy :: Proxy DescribeSpotFleetInstances)++testDescribeVolumeStatusResponse :: DescribeVolumeStatusResponse -> TestTree+testDescribeVolumeStatusResponse = res+    "DescribeVolumeStatusResponse"+    "fixture/DescribeVolumeStatusResponse"+    (Proxy :: Proxy DescribeVolumeStatus)++testDeleteVolumeResponse :: DeleteVolumeResponse -> TestTree+testDeleteVolumeResponse = res+    "DeleteVolumeResponse"+    "fixture/DeleteVolumeResponse"+    (Proxy :: Proxy DeleteVolume)++testDescribeImagesResponse :: DescribeImagesResponse -> TestTree+testDescribeImagesResponse = res+    "DescribeImagesResponse"+    "fixture/DescribeImagesResponse"+    (Proxy :: Proxy DescribeImages)++testCreateKeyPairResponse :: CreateKeyPairResponse -> TestTree+testCreateKeyPairResponse = res+    "CreateKeyPairResponse"+    "fixture/CreateKeyPairResponse"+    (Proxy :: Proxy CreateKeyPair)++testRestoreAddressToClassicResponse :: RestoreAddressToClassicResponse -> TestTree+testRestoreAddressToClassicResponse = res+    "RestoreAddressToClassicResponse"+    "fixture/RestoreAddressToClassicResponse"+    (Proxy :: Proxy RestoreAddressToClassic)++testDescribeAvailabilityZonesResponse :: DescribeAvailabilityZonesResponse -> TestTree+testDescribeAvailabilityZonesResponse = res+    "DescribeAvailabilityZonesResponse"+    "fixture/DescribeAvailabilityZonesResponse"+    (Proxy :: Proxy DescribeAvailabilityZones)++testImportSnapshotResponse :: ImportSnapshotResponse -> TestTree+testImportSnapshotResponse = res+    "ImportSnapshotResponse"+    "fixture/ImportSnapshotResponse"+    (Proxy :: Proxy ImportSnapshot)++testAcceptVPCPeeringConnectionResponse :: AcceptVPCPeeringConnectionResponse -> TestTree+testAcceptVPCPeeringConnectionResponse = res+    "AcceptVPCPeeringConnectionResponse"+    "fixture/AcceptVPCPeeringConnectionResponse"+    (Proxy :: Proxy AcceptVPCPeeringConnection)++testDescribeRouteTablesResponse :: DescribeRouteTablesResponse -> TestTree+testDescribeRouteTablesResponse = res+    "DescribeRouteTablesResponse"+    "fixture/DescribeRouteTablesResponse"+    (Proxy :: Proxy DescribeRouteTables)