packages feed

amazonka-ec2 1.2.0.2 → 1.3.0

raw patch · 137 files changed

+16156/−16049 lines, 137 filesdep ~amazonka-coredep ~amazonka-ec2dep ~amazonka-testPVP ok

version bump matches the API change (PVP)

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

API changes (from Hackage documentation)

- Network.AWS.EC2: Accept :: TrafficType
- Network.AWS.EC2: Failed :: StatusType
- Network.AWS.EC2: Initializing :: StatusType
- Network.AWS.EC2: LinuxUnix :: RIProductDescription
- Network.AWS.EC2: LinuxUnixAmazonVPC :: RIProductDescription
- 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: Passed :: StatusType
- Network.AWS.EC2: Reject :: TrafficType
- Network.AWS.EC2: VSISImpaired :: VolumeStatusInfoStatus
- Network.AWS.EC2: VSISInsufficientData :: VolumeStatusInfoStatus
- Network.AWS.EC2: VSISOK :: VolumeStatusInfoStatus
- Network.AWS.EC2: WindowsAmazonVPC :: RIProductDescription
- Network.AWS.EC2.AcceptVPCPeeringConnection: avpcrsStatus :: Lens' AcceptVPCPeeringConnectionResponse Int
- Network.AWS.EC2.AllocateAddress: aarsStatus :: Lens' AllocateAddressResponse Int
- Network.AWS.EC2.AssociateAddress: arsStatus :: Lens' AssociateAddressResponse Int
- Network.AWS.EC2.AssociateRouteTable: artrsStatus :: Lens' AssociateRouteTableResponse Int
- Network.AWS.EC2.AttachClassicLinkVPC: aclvrsStatus :: Lens' AttachClassicLinkVPCResponse Int
- Network.AWS.EC2.AttachNetworkInterface: anirsStatus :: Lens' AttachNetworkInterfaceResponse Int
- Network.AWS.EC2.AttachVPNGateway: avgrsStatus :: Lens' AttachVPNGatewayResponse Int
- Network.AWS.EC2.BundleInstance: birsStatus :: Lens' BundleInstanceResponse Int
- Network.AWS.EC2.CancelBundleTask: cbtrsStatus :: Lens' CancelBundleTaskResponse Int
- Network.AWS.EC2.CancelImportTask: citrsStatus :: Lens' CancelImportTaskResponse Int
- Network.AWS.EC2.CancelReservedInstancesListing: crilrsStatus :: Lens' CancelReservedInstancesListingResponse Int
- Network.AWS.EC2.CancelSpotFleetRequests: csfrrsStatus :: Lens' CancelSpotFleetRequestsResponse Int
- Network.AWS.EC2.CancelSpotInstanceRequests: csirrsStatus :: Lens' CancelSpotInstanceRequestsResponse Int
- Network.AWS.EC2.ConfirmProductInstance: cpirsStatus :: Lens' ConfirmProductInstanceResponse Int
- Network.AWS.EC2.CopyImage: coprsStatus :: Lens' CopyImageResponse Int
- Network.AWS.EC2.CopySnapshot: csrsStatus :: Lens' CopySnapshotResponse Int
- Network.AWS.EC2.CreateCustomerGateway: ccgrsStatus :: Lens' CreateCustomerGatewayResponse Int
- Network.AWS.EC2.CreateDHCPOptions: cdorsStatus :: Lens' CreateDHCPOptionsResponse Int
- Network.AWS.EC2.CreateFlowLogs: cflrsStatus :: Lens' CreateFlowLogsResponse Int
- Network.AWS.EC2.CreateImage: cirsStatus :: Lens' CreateImageResponse Int
- Network.AWS.EC2.CreateInstanceExportTask: cietrsStatus :: Lens' CreateInstanceExportTaskResponse Int
- Network.AWS.EC2.CreateInternetGateway: cigrsStatus :: Lens' CreateInternetGatewayResponse Int
- Network.AWS.EC2.CreateKeyPair: ckprsStatus :: Lens' CreateKeyPairResponse Int
- Network.AWS.EC2.CreateNetworkACL: cnarsStatus :: Lens' CreateNetworkACLResponse Int
- Network.AWS.EC2.CreateNetworkInterface: cnirsStatus :: Lens' CreateNetworkInterfaceResponse Int
- Network.AWS.EC2.CreateReservedInstancesListing: crersStatus :: Lens' CreateReservedInstancesListingResponse Int
- Network.AWS.EC2.CreateRoute: crrsStatus :: Lens' CreateRouteResponse Int
- Network.AWS.EC2.CreateRouteTable: crtrsStatus :: Lens' CreateRouteTableResponse Int
- Network.AWS.EC2.CreateSecurityGroup: csgrsStatus :: Lens' CreateSecurityGroupResponse Int
- Network.AWS.EC2.CreateSpotDatafeedSubscription: csdsrsStatus :: Lens' CreateSpotDatafeedSubscriptionResponse Int
- Network.AWS.EC2.CreateSubnet: crsStatus :: Lens' CreateSubnetResponse Int
- Network.AWS.EC2.CreateVPC: cvrsStatus :: Lens' CreateVPCResponse Int
- Network.AWS.EC2.CreateVPCEndpoint: cversStatus :: Lens' CreateVPCEndpointResponse Int
- Network.AWS.EC2.CreateVPCPeeringConnection: cvpcrsStatus :: Lens' CreateVPCPeeringConnectionResponse Int
- Network.AWS.EC2.CreateVPNConnection: cvcrsStatus :: Lens' CreateVPNConnectionResponse Int
- Network.AWS.EC2.CreateVPNGateway: cvgrsStatus :: Lens' CreateVPNGatewayResponse Int
- Network.AWS.EC2.DeleteFlowLogs: dflrsStatus :: Lens' DeleteFlowLogsResponse Int
- Network.AWS.EC2.DeleteVPCEndpoints: dversStatus :: Lens' DeleteVPCEndpointsResponse Int
- Network.AWS.EC2.DeleteVPCPeeringConnection: dvpcrsStatus :: Lens' DeleteVPCPeeringConnectionResponse Int
- Network.AWS.EC2.DescribeAccountAttributes: daarsStatus :: Lens' DescribeAccountAttributesResponse Int
- Network.AWS.EC2.DescribeAddresses: darsStatus :: Lens' DescribeAddressesResponse Int
- Network.AWS.EC2.DescribeAvailabilityZones: dazrsStatus :: Lens' DescribeAvailabilityZonesResponse Int
- Network.AWS.EC2.DescribeBundleTasks: dbtrsStatus :: Lens' DescribeBundleTasksResponse Int
- Network.AWS.EC2.DescribeClassicLinkInstances: dclirsStatus :: Lens' DescribeClassicLinkInstancesResponse Int
- Network.AWS.EC2.DescribeConversionTasks: dctrsStatus :: Lens' DescribeConversionTasksResponse Int
- Network.AWS.EC2.DescribeCustomerGateways: dcgrsStatus :: Lens' DescribeCustomerGatewaysResponse Int
- Network.AWS.EC2.DescribeDHCPOptions: ddorsStatus :: Lens' DescribeDHCPOptionsResponse Int
- Network.AWS.EC2.DescribeExportTasks: detrsStatus :: Lens' DescribeExportTasksResponse Int
- Network.AWS.EC2.DescribeFlowLogs: dflsrsStatus :: Lens' DescribeFlowLogsResponse Int
- Network.AWS.EC2.DescribeImageAttribute: diarsStatus :: Lens' DescribeImageAttributeResponse Int
- Network.AWS.EC2.DescribeImages: desrsStatus :: Lens' DescribeImagesResponse Int
- Network.AWS.EC2.DescribeImportImageTasks: diitrsStatus :: Lens' DescribeImportImageTasksResponse Int
- Network.AWS.EC2.DescribeImportSnapshotTasks: distrsStatus :: Lens' DescribeImportSnapshotTasksResponse Int
- Network.AWS.EC2.DescribeInstanceAttribute: drsStatus :: Lens' DescribeInstanceAttributeResponse Int
- Network.AWS.EC2.DescribeInstanceStatus: disrsStatus :: Lens' DescribeInstanceStatusResponse Int
- Network.AWS.EC2.DescribeInstances: dirsStatus :: Lens' DescribeInstancesResponse Int
- Network.AWS.EC2.DescribeInternetGateways: digrsStatus :: Lens' DescribeInternetGatewaysResponse Int
- Network.AWS.EC2.DescribeKeyPairs: dkprsStatus :: Lens' DescribeKeyPairsResponse Int
- Network.AWS.EC2.DescribeMovingAddresses: dmarsStatus :: Lens' DescribeMovingAddressesResponse Int
- Network.AWS.EC2.DescribeNetworkACLs: dnarsStatus :: Lens' DescribeNetworkACLsResponse Int
- Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarsStatus :: Lens' DescribeNetworkInterfaceAttributeResponse Int
- Network.AWS.EC2.DescribeNetworkInterfaces: dnirsStatus :: Lens' DescribeNetworkInterfacesResponse Int
- Network.AWS.EC2.DescribePlacementGroups: dpgrsStatus :: Lens' DescribePlacementGroupsResponse Int
- Network.AWS.EC2.DescribePrefixLists: dplrsStatus :: Lens' DescribePrefixListsResponse Int
- Network.AWS.EC2.DescribeRegions: drrsStatus :: Lens' DescribeRegionsResponse Int
- Network.AWS.EC2.DescribeReservedInstances: drirsStatus :: Lens' DescribeReservedInstancesResponse Int
- Network.AWS.EC2.DescribeReservedInstancesListings: drilrsStatus :: Lens' DescribeReservedInstancesListingsResponse Int
- Network.AWS.EC2.DescribeReservedInstancesModifications: drimrsStatus :: Lens' DescribeReservedInstancesModificationsResponse Int
- Network.AWS.EC2.DescribeReservedInstancesOfferings: driorsStatus :: Lens' DescribeReservedInstancesOfferingsResponse Int
- Network.AWS.EC2.DescribeRouteTables: drtrsStatus :: Lens' DescribeRouteTablesResponse Int
- Network.AWS.EC2.DescribeSecurityGroups: dsgrsStatus :: Lens' DescribeSecurityGroupsResponse Int
- Network.AWS.EC2.DescribeSnapshotAttribute: dsarsStatus :: Lens' DescribeSnapshotAttributeResponse Int
- Network.AWS.EC2.DescribeSnapshots: dssrsStatus :: Lens' DescribeSnapshotsResponse Int
- Network.AWS.EC2.DescribeSpotDatafeedSubscription: dsdsrsStatus :: Lens' DescribeSpotDatafeedSubscriptionResponse Int
- Network.AWS.EC2.DescribeSpotFleetInstances: dsfirsStatus :: Lens' DescribeSpotFleetInstancesResponse Int
- Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrsStatus :: Lens' DescribeSpotFleetRequestHistoryResponse Int
- Network.AWS.EC2.DescribeSpotFleetRequests: dsfrrsStatus :: Lens' DescribeSpotFleetRequestsResponse Int
- Network.AWS.EC2.DescribeSpotInstanceRequests: dsirrsStatus :: Lens' DescribeSpotInstanceRequestsResponse Int
- Network.AWS.EC2.DescribeSpotPriceHistory: dsphrsStatus :: Lens' DescribeSpotPriceHistoryResponse Int
- Network.AWS.EC2.DescribeSubnets: dsrsStatus :: Lens' DescribeSubnetsResponse Int
- Network.AWS.EC2.DescribeTags: dtrsStatus :: Lens' DescribeTagsResponse Int
- Network.AWS.EC2.DescribeVPCAttribute: dvpcarsStatus :: Lens' DescribeVPCAttributeResponse Int
- Network.AWS.EC2.DescribeVPCClassicLink: dvclrsStatus :: Lens' DescribeVPCClassicLinkResponse Int
- Network.AWS.EC2.DescribeVPCEndpointServices: dvesrsStatus :: Lens' DescribeVPCEndpointServicesResponse Int
- Network.AWS.EC2.DescribeVPCEndpoints: dvpcersStatus :: Lens' DescribeVPCEndpointsResponse Int
- Network.AWS.EC2.DescribeVPCPeeringConnections: dvpcpcrsStatus :: Lens' DescribeVPCPeeringConnectionsResponse Int
- Network.AWS.EC2.DescribeVPCs: dvrsStatus :: Lens' DescribeVPCsResponse Int
- Network.AWS.EC2.DescribeVPNConnections: dvcrsStatus :: Lens' DescribeVPNConnectionsResponse Int
- Network.AWS.EC2.DescribeVPNGateways: dvgrsStatus :: Lens' DescribeVPNGatewaysResponse Int
- Network.AWS.EC2.DescribeVolumeAttribute: dvarsStatus :: Lens' DescribeVolumeAttributeResponse Int
- Network.AWS.EC2.DescribeVolumeStatus: dvsrsStatus :: Lens' DescribeVolumeStatusResponse Int
- Network.AWS.EC2.DescribeVolumes: dvvrsStatus :: Lens' DescribeVolumesResponse Int
- Network.AWS.EC2.DetachClassicLinkVPC: dclvrsStatus :: Lens' DetachClassicLinkVPCResponse Int
- Network.AWS.EC2.DisableVPCClassicLink: dvpcclrsStatus :: Lens' DisableVPCClassicLinkResponse Int
- Network.AWS.EC2.EnableVPCClassicLink: evclrsStatus :: Lens' EnableVPCClassicLinkResponse Int
- Network.AWS.EC2.GetConsoleOutput: gcorsStatus :: Lens' GetConsoleOutputResponse Int
- Network.AWS.EC2.GetPasswordData: gpdrsStatus :: Lens' GetPasswordDataResponse Int
- Network.AWS.EC2.ImportInstance: iirsStatus :: Lens' ImportInstanceResponse Int
- Network.AWS.EC2.ImportKeyPair: ikprsStatus :: Lens' ImportKeyPairResponse Int
- Network.AWS.EC2.ImportSnapshot: isrsStatus :: Lens' ImportSnapshotResponse Int
- Network.AWS.EC2.ImportVolume: ivrsStatus :: Lens' ImportVolumeResponse Int
- Network.AWS.EC2.ModifyReservedInstances: mrirsStatus :: Lens' ModifyReservedInstancesResponse Int
- Network.AWS.EC2.ModifyVPCEndpoint: mversStatus :: Lens' ModifyVPCEndpointResponse Int
- Network.AWS.EC2.MonitorInstances: mirsStatus :: Lens' MonitorInstancesResponse Int
- Network.AWS.EC2.PurchaseReservedInstancesOffering: priorsStatus :: Lens' PurchaseReservedInstancesOfferingResponse Int
- Network.AWS.EC2.RegisterImage: rirsStatus :: Lens' RegisterImageResponse Int
- Network.AWS.EC2.RejectVPCPeeringConnection: rvpcrsStatus :: Lens' RejectVPCPeeringConnectionResponse Int
- Network.AWS.EC2.ReplaceNetworkACLAssociation: rnaarsStatus :: Lens' ReplaceNetworkACLAssociationResponse Int
- Network.AWS.EC2.ReplaceRouteTableAssociation: rrtarsStatus :: Lens' ReplaceRouteTableAssociationResponse Int
- Network.AWS.EC2.RequestSpotFleet: rsfrsStatus :: Lens' RequestSpotFleetResponse Int
- Network.AWS.EC2.RequestSpotInstances: rsirsStatus :: Lens' RequestSpotInstancesResponse Int
- Network.AWS.EC2.StartInstances: srsStatus :: Lens' StartInstancesResponse Int
- Network.AWS.EC2.StopInstances: sirsStatus :: Lens' StopInstancesResponse Int
- Network.AWS.EC2.TerminateInstances: tirsStatus :: Lens' TerminateInstancesResponse Int
- Network.AWS.EC2.Types: Accept :: TrafficType
- Network.AWS.EC2.Types: Failed :: StatusType
- Network.AWS.EC2.Types: Initializing :: StatusType
- Network.AWS.EC2.Types: LinuxUnix :: RIProductDescription
- Network.AWS.EC2.Types: LinuxUnixAmazonVPC :: RIProductDescription
- Network.AWS.EC2.Types: PGAll :: PermissionGroup
- Network.AWS.EC2.Types: PGSAvailable :: PlacementGroupState
- Network.AWS.EC2.Types: PGSDeleted :: PlacementGroupState
- Network.AWS.EC2.Types: PGSDeleting :: PlacementGroupState
- Network.AWS.EC2.Types: PGSPending :: PlacementGroupState
- Network.AWS.EC2.Types: PVWindows :: PlatformValues
- Network.AWS.EC2.Types: Passed :: StatusType
- Network.AWS.EC2.Types: Reject :: TrafficType
- Network.AWS.EC2.Types: VSISImpaired :: VolumeStatusInfoStatus
- Network.AWS.EC2.Types: VSISInsufficientData :: VolumeStatusInfoStatus
- Network.AWS.EC2.Types: VSISOK :: VolumeStatusInfoStatus
- Network.AWS.EC2.Types: WindowsAmazonVPC :: RIProductDescription
- Network.AWS.EC2.UnmonitorInstances: uirsStatus :: Lens' UnmonitorInstancesResponse Int
+ Network.AWS.EC2: Add :: OperationType
+ Network.AWS.EC2: RIDLinuxUnix :: RIProductDescription
+ Network.AWS.EC2: RIDLinuxUnixAmazonVPC :: RIProductDescription
+ Network.AWS.EC2: RIDWindows :: RIProductDescription
+ Network.AWS.EC2: RIDWindowsAmazonVPC :: RIProductDescription
+ Network.AWS.EC2: RSTImpaired :: ReportStatusType
+ Network.AWS.EC2: RSTOK :: ReportStatusType
+ Network.AWS.EC2: Remove :: OperationType
+ Network.AWS.EC2: SDeleted :: State
+ Network.AWS.EC2: SDeleting :: State
+ Network.AWS.EC2: STFailed :: StatusType
+ Network.AWS.EC2: STInitializing :: StatusType
+ Network.AWS.EC2: STInsufficientData :: StatusType
+ Network.AWS.EC2: STPassed :: StatusType
+ Network.AWS.EC2: SubAvailable :: SubnetState
+ Network.AWS.EC2: SubPending :: SubnetState
+ Network.AWS.EC2: TTAccept :: TrafficType
+ Network.AWS.EC2: TTAll :: TrafficType
+ Network.AWS.EC2: TTReject :: TrafficType
+ Network.AWS.EC2: data OperationType
+ Network.AWS.EC2: sflsSpotPrice :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2: sflsWeightedCapacity :: Lens' SpotFleetLaunchSpecification (Maybe Double)
+ Network.AWS.EC2.AcceptVPCPeeringConnection: avpcrsResponseStatus :: Lens' AcceptVPCPeeringConnectionResponse Int
+ Network.AWS.EC2.AllocateAddress: aarsResponseStatus :: Lens' AllocateAddressResponse Int
+ Network.AWS.EC2.AssociateAddress: arsResponseStatus :: Lens' AssociateAddressResponse Int
+ Network.AWS.EC2.AssociateRouteTable: artrsResponseStatus :: Lens' AssociateRouteTableResponse Int
+ Network.AWS.EC2.AttachClassicLinkVPC: aclvrsResponseStatus :: Lens' AttachClassicLinkVPCResponse Int
+ Network.AWS.EC2.AttachNetworkInterface: anirsResponseStatus :: Lens' AttachNetworkInterfaceResponse Int
+ Network.AWS.EC2.AttachVPNGateway: avgrsResponseStatus :: Lens' AttachVPNGatewayResponse Int
+ Network.AWS.EC2.BundleInstance: birsResponseStatus :: Lens' BundleInstanceResponse Int
+ Network.AWS.EC2.CancelBundleTask: cbtrsResponseStatus :: Lens' CancelBundleTaskResponse Int
+ Network.AWS.EC2.CancelImportTask: citrsResponseStatus :: Lens' CancelImportTaskResponse Int
+ Network.AWS.EC2.CancelReservedInstancesListing: crilrsResponseStatus :: Lens' CancelReservedInstancesListingResponse Int
+ Network.AWS.EC2.CancelSpotFleetRequests: csfrrsResponseStatus :: Lens' CancelSpotFleetRequestsResponse Int
+ Network.AWS.EC2.CancelSpotInstanceRequests: csirrsResponseStatus :: Lens' CancelSpotInstanceRequestsResponse Int
+ Network.AWS.EC2.ConfirmProductInstance: cpirsResponseStatus :: Lens' ConfirmProductInstanceResponse Int
+ Network.AWS.EC2.CopyImage: coprsResponseStatus :: Lens' CopyImageResponse Int
+ Network.AWS.EC2.CopySnapshot: csrsResponseStatus :: Lens' CopySnapshotResponse Int
+ Network.AWS.EC2.CreateCustomerGateway: ccgrsResponseStatus :: Lens' CreateCustomerGatewayResponse Int
+ Network.AWS.EC2.CreateDHCPOptions: cdorsResponseStatus :: Lens' CreateDHCPOptionsResponse Int
+ Network.AWS.EC2.CreateFlowLogs: cflrsResponseStatus :: Lens' CreateFlowLogsResponse Int
+ Network.AWS.EC2.CreateImage: cirsResponseStatus :: Lens' CreateImageResponse Int
+ Network.AWS.EC2.CreateInstanceExportTask: cietrsResponseStatus :: Lens' CreateInstanceExportTaskResponse Int
+ Network.AWS.EC2.CreateInternetGateway: cigrsResponseStatus :: Lens' CreateInternetGatewayResponse Int
+ Network.AWS.EC2.CreateKeyPair: ckprsResponseStatus :: Lens' CreateKeyPairResponse Int
+ Network.AWS.EC2.CreateNetworkACL: cnarsResponseStatus :: Lens' CreateNetworkACLResponse Int
+ Network.AWS.EC2.CreateNetworkInterface: cnirsResponseStatus :: Lens' CreateNetworkInterfaceResponse Int
+ Network.AWS.EC2.CreateReservedInstancesListing: crersResponseStatus :: Lens' CreateReservedInstancesListingResponse Int
+ Network.AWS.EC2.CreateRoute: crrsResponseStatus :: Lens' CreateRouteResponse Int
+ Network.AWS.EC2.CreateRouteTable: crtrsResponseStatus :: Lens' CreateRouteTableResponse Int
+ Network.AWS.EC2.CreateSecurityGroup: csgrsResponseStatus :: Lens' CreateSecurityGroupResponse Int
+ Network.AWS.EC2.CreateSpotDatafeedSubscription: csdsrsResponseStatus :: Lens' CreateSpotDatafeedSubscriptionResponse Int
+ Network.AWS.EC2.CreateSubnet: crsResponseStatus :: Lens' CreateSubnetResponse Int
+ Network.AWS.EC2.CreateVPC: cvrsResponseStatus :: Lens' CreateVPCResponse Int
+ Network.AWS.EC2.CreateVPCEndpoint: cversResponseStatus :: Lens' CreateVPCEndpointResponse Int
+ Network.AWS.EC2.CreateVPCPeeringConnection: cvpcrsResponseStatus :: Lens' CreateVPCPeeringConnectionResponse Int
+ Network.AWS.EC2.CreateVPNConnection: cvcrsResponseStatus :: Lens' CreateVPNConnectionResponse Int
+ Network.AWS.EC2.CreateVPNGateway: cvgrsResponseStatus :: Lens' CreateVPNGatewayResponse Int
+ Network.AWS.EC2.DeleteFlowLogs: dflrsResponseStatus :: Lens' DeleteFlowLogsResponse Int
+ Network.AWS.EC2.DeleteVPCEndpoints: dversResponseStatus :: Lens' DeleteVPCEndpointsResponse Int
+ Network.AWS.EC2.DeleteVPCPeeringConnection: dvpcrsResponseStatus :: Lens' DeleteVPCPeeringConnectionResponse Int
+ Network.AWS.EC2.DescribeAccountAttributes: daarsResponseStatus :: Lens' DescribeAccountAttributesResponse Int
+ Network.AWS.EC2.DescribeAddresses: darsResponseStatus :: Lens' DescribeAddressesResponse Int
+ Network.AWS.EC2.DescribeAvailabilityZones: dazrsResponseStatus :: Lens' DescribeAvailabilityZonesResponse Int
+ Network.AWS.EC2.DescribeBundleTasks: dbtrsResponseStatus :: Lens' DescribeBundleTasksResponse Int
+ Network.AWS.EC2.DescribeClassicLinkInstances: dclirsResponseStatus :: Lens' DescribeClassicLinkInstancesResponse Int
+ Network.AWS.EC2.DescribeConversionTasks: dctrsResponseStatus :: Lens' DescribeConversionTasksResponse Int
+ Network.AWS.EC2.DescribeCustomerGateways: dcgrsResponseStatus :: Lens' DescribeCustomerGatewaysResponse Int
+ Network.AWS.EC2.DescribeDHCPOptions: ddorsResponseStatus :: Lens' DescribeDHCPOptionsResponse Int
+ Network.AWS.EC2.DescribeExportTasks: detrsResponseStatus :: Lens' DescribeExportTasksResponse Int
+ Network.AWS.EC2.DescribeFlowLogs: dflsrsResponseStatus :: Lens' DescribeFlowLogsResponse Int
+ Network.AWS.EC2.DescribeImageAttribute: diarsResponseStatus :: Lens' DescribeImageAttributeResponse Int
+ Network.AWS.EC2.DescribeImages: desrsResponseStatus :: Lens' DescribeImagesResponse Int
+ Network.AWS.EC2.DescribeImportImageTasks: diitrsResponseStatus :: Lens' DescribeImportImageTasksResponse Int
+ Network.AWS.EC2.DescribeImportSnapshotTasks: distrsResponseStatus :: Lens' DescribeImportSnapshotTasksResponse Int
+ Network.AWS.EC2.DescribeInstanceAttribute: drsResponseStatus :: Lens' DescribeInstanceAttributeResponse Int
+ Network.AWS.EC2.DescribeInstanceStatus: disrsResponseStatus :: Lens' DescribeInstanceStatusResponse Int
+ Network.AWS.EC2.DescribeInstances: dirsResponseStatus :: Lens' DescribeInstancesResponse Int
+ Network.AWS.EC2.DescribeInternetGateways: digrsResponseStatus :: Lens' DescribeInternetGatewaysResponse Int
+ Network.AWS.EC2.DescribeKeyPairs: dkprsResponseStatus :: Lens' DescribeKeyPairsResponse Int
+ Network.AWS.EC2.DescribeMovingAddresses: dmarsResponseStatus :: Lens' DescribeMovingAddressesResponse Int
+ Network.AWS.EC2.DescribeNetworkACLs: dnarsResponseStatus :: Lens' DescribeNetworkACLsResponse Int
+ Network.AWS.EC2.DescribeNetworkInterfaceAttribute: dniarsResponseStatus :: Lens' DescribeNetworkInterfaceAttributeResponse Int
+ Network.AWS.EC2.DescribeNetworkInterfaces: dnirsResponseStatus :: Lens' DescribeNetworkInterfacesResponse Int
+ Network.AWS.EC2.DescribePlacementGroups: dpgrsResponseStatus :: Lens' DescribePlacementGroupsResponse Int
+ Network.AWS.EC2.DescribePrefixLists: dplrsResponseStatus :: Lens' DescribePrefixListsResponse Int
+ Network.AWS.EC2.DescribeRegions: drrsResponseStatus :: Lens' DescribeRegionsResponse Int
+ Network.AWS.EC2.DescribeReservedInstances: drirsResponseStatus :: Lens' DescribeReservedInstancesResponse Int
+ Network.AWS.EC2.DescribeReservedInstancesListings: drilrsResponseStatus :: Lens' DescribeReservedInstancesListingsResponse Int
+ Network.AWS.EC2.DescribeReservedInstancesModifications: drimrsResponseStatus :: Lens' DescribeReservedInstancesModificationsResponse Int
+ Network.AWS.EC2.DescribeReservedInstancesOfferings: driorsResponseStatus :: Lens' DescribeReservedInstancesOfferingsResponse Int
+ Network.AWS.EC2.DescribeRouteTables: drtrsResponseStatus :: Lens' DescribeRouteTablesResponse Int
+ Network.AWS.EC2.DescribeSecurityGroups: dsgrsResponseStatus :: Lens' DescribeSecurityGroupsResponse Int
+ Network.AWS.EC2.DescribeSnapshotAttribute: dsarsResponseStatus :: Lens' DescribeSnapshotAttributeResponse Int
+ Network.AWS.EC2.DescribeSnapshots: dssrsResponseStatus :: Lens' DescribeSnapshotsResponse Int
+ Network.AWS.EC2.DescribeSpotDatafeedSubscription: dsdsrsResponseStatus :: Lens' DescribeSpotDatafeedSubscriptionResponse Int
+ Network.AWS.EC2.DescribeSpotFleetInstances: dsfirsResponseStatus :: Lens' DescribeSpotFleetInstancesResponse Int
+ Network.AWS.EC2.DescribeSpotFleetRequestHistory: dsfrhrsResponseStatus :: Lens' DescribeSpotFleetRequestHistoryResponse Int
+ Network.AWS.EC2.DescribeSpotFleetRequests: dsfrrsResponseStatus :: Lens' DescribeSpotFleetRequestsResponse Int
+ Network.AWS.EC2.DescribeSpotInstanceRequests: dsirrsResponseStatus :: Lens' DescribeSpotInstanceRequestsResponse Int
+ Network.AWS.EC2.DescribeSpotPriceHistory: dsphrsResponseStatus :: Lens' DescribeSpotPriceHistoryResponse Int
+ Network.AWS.EC2.DescribeSubnets: dsrsResponseStatus :: Lens' DescribeSubnetsResponse Int
+ Network.AWS.EC2.DescribeTags: dtrsResponseStatus :: Lens' DescribeTagsResponse Int
+ Network.AWS.EC2.DescribeVPCAttribute: dvpcarsResponseStatus :: Lens' DescribeVPCAttributeResponse Int
+ Network.AWS.EC2.DescribeVPCClassicLink: dvclrsResponseStatus :: Lens' DescribeVPCClassicLinkResponse Int
+ Network.AWS.EC2.DescribeVPCEndpointServices: dvesrsResponseStatus :: Lens' DescribeVPCEndpointServicesResponse Int
+ Network.AWS.EC2.DescribeVPCEndpoints: dvpcersResponseStatus :: Lens' DescribeVPCEndpointsResponse Int
+ Network.AWS.EC2.DescribeVPCPeeringConnections: dvpcpcrsResponseStatus :: Lens' DescribeVPCPeeringConnectionsResponse Int
+ Network.AWS.EC2.DescribeVPCs: dvrsResponseStatus :: Lens' DescribeVPCsResponse Int
+ Network.AWS.EC2.DescribeVPNConnections: dvcrsResponseStatus :: Lens' DescribeVPNConnectionsResponse Int
+ Network.AWS.EC2.DescribeVPNGateways: dvgrsResponseStatus :: Lens' DescribeVPNGatewaysResponse Int
+ Network.AWS.EC2.DescribeVolumeAttribute: dvarsResponseStatus :: Lens' DescribeVolumeAttributeResponse Int
+ Network.AWS.EC2.DescribeVolumeStatus: dvsrsResponseStatus :: Lens' DescribeVolumeStatusResponse Int
+ Network.AWS.EC2.DescribeVolumes: dvvrsResponseStatus :: Lens' DescribeVolumesResponse Int
+ Network.AWS.EC2.DetachClassicLinkVPC: dclvrsResponseStatus :: Lens' DetachClassicLinkVPCResponse Int
+ Network.AWS.EC2.DisableVPCClassicLink: dvpcclrsResponseStatus :: Lens' DisableVPCClassicLinkResponse Int
+ Network.AWS.EC2.EnableVPCClassicLink: evclrsResponseStatus :: Lens' EnableVPCClassicLinkResponse Int
+ Network.AWS.EC2.GetConsoleOutput: gcorsResponseStatus :: Lens' GetConsoleOutputResponse Int
+ Network.AWS.EC2.GetPasswordData: gpdrsResponseStatus :: Lens' GetPasswordDataResponse Int
+ Network.AWS.EC2.ImportImage: instance Selector S1_0_11ImportImageResponse
+ Network.AWS.EC2.ImportImage: irsResponseStatus :: Lens' ImportImageResponse Int
+ Network.AWS.EC2.ImportInstance: iirsResponseStatus :: Lens' ImportInstanceResponse Int
+ Network.AWS.EC2.ImportKeyPair: ikprsResponseStatus :: Lens' ImportKeyPairResponse Int
+ Network.AWS.EC2.ImportSnapshot: isrsResponseStatus :: Lens' ImportSnapshotResponse Int
+ Network.AWS.EC2.ImportVolume: ivrsResponseStatus :: Lens' ImportVolumeResponse Int
+ Network.AWS.EC2.ModifyReservedInstances: mrirsResponseStatus :: Lens' ModifyReservedInstancesResponse Int
+ Network.AWS.EC2.ModifyVPCEndpoint: mversResponseStatus :: Lens' ModifyVPCEndpointResponse Int
+ Network.AWS.EC2.MonitorInstances: mirsResponseStatus :: Lens' MonitorInstancesResponse Int
+ Network.AWS.EC2.MoveAddressToVPC: instance Selector S1_0_2MoveAddressToVPCResponse
+ Network.AWS.EC2.MoveAddressToVPC: matvrsResponseStatus :: Lens' MoveAddressToVPCResponse Int
+ Network.AWS.EC2.PurchaseReservedInstancesOffering: priorsResponseStatus :: Lens' PurchaseReservedInstancesOfferingResponse Int
+ Network.AWS.EC2.RegisterImage: rirsResponseStatus :: Lens' RegisterImageResponse Int
+ Network.AWS.EC2.RejectVPCPeeringConnection: rvpcrsResponseStatus :: Lens' RejectVPCPeeringConnectionResponse Int
+ Network.AWS.EC2.ReplaceNetworkACLAssociation: rnaarsResponseStatus :: Lens' ReplaceNetworkACLAssociationResponse Int
+ Network.AWS.EC2.ReplaceRouteTableAssociation: rrtarsResponseStatus :: Lens' ReplaceRouteTableAssociationResponse Int
+ Network.AWS.EC2.RequestSpotFleet: rsfrsResponseStatus :: Lens' RequestSpotFleetResponse Int
+ Network.AWS.EC2.RequestSpotInstances: rsirsResponseStatus :: Lens' RequestSpotInstancesResponse Int
+ Network.AWS.EC2.RestoreAddressToClassic: instance Selector S1_0_2RestoreAddressToClassicResponse
+ Network.AWS.EC2.RestoreAddressToClassic: ratcrsResponseStatus :: Lens' RestoreAddressToClassicResponse Int
+ Network.AWS.EC2.StartInstances: srsResponseStatus :: Lens' StartInstancesResponse Int
+ Network.AWS.EC2.StopInstances: sirsResponseStatus :: Lens' StopInstancesResponse Int
+ Network.AWS.EC2.TerminateInstances: tirsResponseStatus :: Lens' TerminateInstancesResponse Int
+ Network.AWS.EC2.Types: Add :: OperationType
+ Network.AWS.EC2.Types: RIDLinuxUnix :: RIProductDescription
+ Network.AWS.EC2.Types: RIDLinuxUnixAmazonVPC :: RIProductDescription
+ Network.AWS.EC2.Types: RIDWindows :: RIProductDescription
+ Network.AWS.EC2.Types: RIDWindowsAmazonVPC :: RIProductDescription
+ Network.AWS.EC2.Types: RSTImpaired :: ReportStatusType
+ Network.AWS.EC2.Types: RSTOK :: ReportStatusType
+ Network.AWS.EC2.Types: Remove :: OperationType
+ Network.AWS.EC2.Types: SDeleted :: State
+ Network.AWS.EC2.Types: SDeleting :: State
+ Network.AWS.EC2.Types: STFailed :: StatusType
+ Network.AWS.EC2.Types: STInitializing :: StatusType
+ Network.AWS.EC2.Types: STInsufficientData :: StatusType
+ Network.AWS.EC2.Types: STPassed :: StatusType
+ Network.AWS.EC2.Types: SubAvailable :: SubnetState
+ Network.AWS.EC2.Types: SubPending :: SubnetState
+ Network.AWS.EC2.Types: TTAccept :: TrafficType
+ Network.AWS.EC2.Types: TTAll :: TrafficType
+ Network.AWS.EC2.Types: TTReject :: TrafficType
+ Network.AWS.EC2.Types: data OperationType
+ Network.AWS.EC2.Types: sflsSpotPrice :: Lens' SpotFleetLaunchSpecification (Maybe Text)
+ Network.AWS.EC2.Types: sflsWeightedCapacity :: Lens' SpotFleetLaunchSpecification (Maybe Double)
+ Network.AWS.EC2.UnmonitorInstances: uirsResponseStatus :: Lens' UnmonitorInstancesResponse Int
- Network.AWS.EC2: All :: TrafficType
+ Network.AWS.EC2: All :: PermissionGroup
- Network.AWS.EC2: Available :: State
+ Network.AWS.EC2: Available :: PlacementGroupState
- Network.AWS.EC2: Deleted :: State
+ Network.AWS.EC2: Deleted :: PlacementGroupState
- Network.AWS.EC2: Deleting :: State
+ Network.AWS.EC2: Deleting :: PlacementGroupState
- Network.AWS.EC2: Impaired :: ReportStatusType
+ Network.AWS.EC2: Impaired :: VolumeStatusInfoStatus
- Network.AWS.EC2: InsufficientData :: StatusType
+ Network.AWS.EC2: InsufficientData :: VolumeStatusInfoStatus
- Network.AWS.EC2: OK :: ReportStatusType
+ Network.AWS.EC2: OK :: VolumeStatusInfoStatus
- Network.AWS.EC2: Pending :: State
+ Network.AWS.EC2: Pending :: PlacementGroupState
- Network.AWS.EC2: SAvailable :: SubnetState
+ Network.AWS.EC2: SAvailable :: State
- Network.AWS.EC2: SPending :: SubnetState
+ Network.AWS.EC2: SPending :: State
- Network.AWS.EC2: Windows :: RIProductDescription
+ Network.AWS.EC2: Windows :: PlatformValues
- Network.AWS.EC2: vcCustomerGatewayConfiguration :: Lens' VPNConnection Text
+ Network.AWS.EC2: vcCustomerGatewayConfiguration :: Lens' VPNConnection (Maybe Text)
- Network.AWS.EC2: vpnConnection :: Text -> Text -> Text -> VPNState -> GatewayType -> VPNConnection
+ Network.AWS.EC2: vpnConnection :: Text -> Text -> VPNState -> GatewayType -> VPNConnection
- Network.AWS.EC2.ImportImage: irsStatus :: Lens' ImportImageResponse Int
+ Network.AWS.EC2.ImportImage: irsStatus :: Lens' ImportImageResponse (Maybe Text)
- Network.AWS.EC2.ModifyImageAttribute: miaOperationType :: Lens' ModifyImageAttribute (Maybe Text)
+ Network.AWS.EC2.ModifyImageAttribute: miaOperationType :: Lens' ModifyImageAttribute (Maybe OperationType)
- Network.AWS.EC2.ModifySnapshotAttribute: msaOperationType :: Lens' ModifySnapshotAttribute (Maybe Text)
+ Network.AWS.EC2.ModifySnapshotAttribute: msaOperationType :: Lens' ModifySnapshotAttribute (Maybe OperationType)
- Network.AWS.EC2.MoveAddressToVPC: matvrsStatus :: Lens' MoveAddressToVPCResponse Int
+ Network.AWS.EC2.MoveAddressToVPC: matvrsStatus :: Lens' MoveAddressToVPCResponse (Maybe AddressStatus)
- Network.AWS.EC2.RestoreAddressToClassic: ratcrsStatus :: Lens' RestoreAddressToClassicResponse Int
+ Network.AWS.EC2.RestoreAddressToClassic: ratcrsStatus :: Lens' RestoreAddressToClassicResponse (Maybe AddressStatus)
- Network.AWS.EC2.Types: All :: TrafficType
+ Network.AWS.EC2.Types: All :: PermissionGroup
- Network.AWS.EC2.Types: Available :: State
+ Network.AWS.EC2.Types: Available :: PlacementGroupState
- Network.AWS.EC2.Types: Deleted :: State
+ Network.AWS.EC2.Types: Deleted :: PlacementGroupState
- Network.AWS.EC2.Types: Deleting :: State
+ Network.AWS.EC2.Types: Deleting :: PlacementGroupState
- Network.AWS.EC2.Types: Impaired :: ReportStatusType
+ Network.AWS.EC2.Types: Impaired :: VolumeStatusInfoStatus
- Network.AWS.EC2.Types: InsufficientData :: StatusType
+ Network.AWS.EC2.Types: InsufficientData :: VolumeStatusInfoStatus
- Network.AWS.EC2.Types: OK :: ReportStatusType
+ Network.AWS.EC2.Types: OK :: VolumeStatusInfoStatus
- Network.AWS.EC2.Types: Pending :: State
+ Network.AWS.EC2.Types: Pending :: PlacementGroupState
- Network.AWS.EC2.Types: SAvailable :: SubnetState
+ Network.AWS.EC2.Types: SAvailable :: State
- Network.AWS.EC2.Types: SPending :: SubnetState
+ Network.AWS.EC2.Types: SPending :: State
- Network.AWS.EC2.Types: Windows :: RIProductDescription
+ Network.AWS.EC2.Types: Windows :: PlatformValues
- Network.AWS.EC2.Types: vcCustomerGatewayConfiguration :: Lens' VPNConnection Text
+ Network.AWS.EC2.Types: vcCustomerGatewayConfiguration :: Lens' VPNConnection (Maybe Text)
- Network.AWS.EC2.Types: vpnConnection :: Text -> Text -> Text -> VPNState -> GatewayType -> VPNConnection
+ Network.AWS.EC2.Types: vpnConnection :: Text -> Text -> VPNState -> GatewayType -> VPNConnection

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.2.0.2`+`1.3.0`   ## Description
amazonka-ec2.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-ec2-version:               1.2.0.2+version:               1.3.0 synopsis:              Amazon Elastic Compute Cloud SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues@@ -236,7 +236,7 @@         , Network.AWS.EC2.Types.Sum      build-depends:-          amazonka-core == 1.2.0.*+          amazonka-core == 1.3.0.*         , base          >= 4.7     && < 5  test-suite amazonka-ec2-test@@ -256,9 +256,9 @@         , Test.AWS.EC2.Internal      build-depends:-          amazonka-core == 1.2.0.*-        , amazonka-test == 1.2.0.*-        , amazonka-ec2 == 1.2.0.*+          amazonka-core == 1.3.0.*+        , amazonka-test == 1.3.0.*+        , amazonka-ec2 == 1.3.0.*         , base         , bytestring         , lens
gen/Network/AWS/EC2.hs view
@@ -48,12 +48,12 @@     -- ** ConversionTaskCompleted     , conversionTaskCompleted -    -- ** ConversionTaskDeleted-    , conversionTaskDeleted-     -- ** InstanceStopped     , instanceStopped +    -- ** ConversionTaskDeleted+    , conversionTaskDeleted+     -- ** PasswordDataAvailable     , passwordDataAvailable @@ -63,12 +63,12 @@     -- ** SpotInstanceRequestFulfilled     , spotInstanceRequestFulfilled -    -- ** ExportTaskCompleted-    , exportTaskCompleted-     -- ** VPCAvailable     , vpcAvailable +    -- ** ExportTaskCompleted+    , exportTaskCompleted+     -- ** VPNConnectionAvailable     , vpnConnectionAvailable @@ -84,89 +84,89 @@     -- ** VPNConnectionDeleted     , vpnConnectionDeleted -    -- ** ImageAvailable-    , imageAvailable-     -- ** ConversionTaskCancelled     , conversionTaskCancelled -    -- ** InstanceExists-    , instanceExists--    -- ** VolumeAvailable-    , volumeAvailable+    -- ** ImageAvailable+    , imageAvailable      -- ** SnapshotCompleted     , snapshotCompleted +    -- ** InstanceExists+    , instanceExists+     -- ** InstanceStatusOK     , instanceStatusOK +    -- ** VolumeAvailable+    , volumeAvailable+     -- * Operations     -- $operations -    -- ** DetachNetworkInterface-    , module Network.AWS.EC2.DetachNetworkInterface+    -- ** ImportInstance+    , module Network.AWS.EC2.ImportInstance -    -- ** DeleteVPCEndpoints-    , module Network.AWS.EC2.DeleteVPCEndpoints+    -- ** RevokeSecurityGroupEgress+    , module Network.AWS.EC2.RevokeSecurityGroupEgress +    -- ** CreateVPNGateway+    , module Network.AWS.EC2.CreateVPNGateway++    -- ** CreateNetworkACL+    , module Network.AWS.EC2.CreateNetworkACL+     -- ** 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+    -- ** DetachNetworkInterface+    , module Network.AWS.EC2.DetachNetworkInterface      -- ** DetachInternetGateway     , module Network.AWS.EC2.DetachInternetGateway -    -- ** CreateNetworkACL-    , module Network.AWS.EC2.CreateNetworkACL+    -- ** DeleteVPCEndpoints+    , module Network.AWS.EC2.DeleteVPCEndpoints -    -- ** ImportInstance-    , module Network.AWS.EC2.ImportInstance+    -- ** DeleteFlowLogs+    , module Network.AWS.EC2.DeleteFlowLogs      -- ** DescribeVPCClassicLink     , module Network.AWS.EC2.DescribeVPCClassicLink -    -- ** DeleteVPNConnection-    , module Network.AWS.EC2.DeleteVPNConnection--    -- ** AuthorizeSecurityGroupEgress-    , module Network.AWS.EC2.AuthorizeSecurityGroupEgress+    -- ** ModifySubnetAttribute+    , module Network.AWS.EC2.ModifySubnetAttribute -    -- ** DescribeBundleTasks-    , module Network.AWS.EC2.DescribeBundleTasks+    -- ** DetachVolume+    , module Network.AWS.EC2.DetachVolume -    -- ** CreateInternetGateway-    , module Network.AWS.EC2.CreateInternetGateway+    -- ** CancelBundleTask+    , module Network.AWS.EC2.CancelBundleTask      -- ** ReleaseAddress     , module Network.AWS.EC2.ReleaseAddress -    -- ** CancelBundleTask-    , module Network.AWS.EC2.CancelBundleTask+    -- ** CreateInternetGateway+    , module Network.AWS.EC2.CreateInternetGateway -    -- ** ModifyNetworkInterfaceAttribute-    , module Network.AWS.EC2.ModifyNetworkInterfaceAttribute+    -- ** DeleteVPNConnection+    , module Network.AWS.EC2.DeleteVPNConnection -    -- ** ModifySubnetAttribute-    , module Network.AWS.EC2.ModifySubnetAttribute+    -- ** DescribeBundleTasks+    , module Network.AWS.EC2.DescribeBundleTasks +    -- ** AuthorizeSecurityGroupEgress+    , module Network.AWS.EC2.AuthorizeSecurityGroupEgress+     -- ** DeregisterImage     , module Network.AWS.EC2.DeregisterImage -    -- ** DetachVolume-    , module Network.AWS.EC2.DetachVolume+    -- ** ModifyNetworkInterfaceAttribute+    , module Network.AWS.EC2.ModifyNetworkInterfaceAttribute      -- ** CancelReservedInstancesListing     , module Network.AWS.EC2.CancelReservedInstancesListing@@ -177,215 +177,206 @@     -- ** 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+    -- ** DescribeDHCPOptions+    , module Network.AWS.EC2.DescribeDHCPOptions      -- ** ImportImage     , module Network.AWS.EC2.ImportImage -    -- ** DeleteNetworkACLEntry-    , module Network.AWS.EC2.DeleteNetworkACLEntry+    -- ** StopInstances+    , module Network.AWS.EC2.StopInstances +    -- ** DescribeInternetGateways+    , module Network.AWS.EC2.DescribeInternetGateways+     -- ** DisableVPCClassicLink     , module Network.AWS.EC2.DisableVPCClassicLink -    -- ** AuthorizeSecurityGroupIngress-    , module Network.AWS.EC2.AuthorizeSecurityGroupIngress-     -- ** BundleInstance     , module Network.AWS.EC2.BundleInstance -    -- ** DescribeVPCEndpointServices-    , module Network.AWS.EC2.DescribeVPCEndpointServices+    -- ** DescribeNetworkInterfaces+    , module Network.AWS.EC2.DescribeNetworkInterfaces      -- ** 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+    -- ** DescribeSnapshotAttribute+    , module Network.AWS.EC2.DescribeSnapshotAttribute      -- ** ReplaceRoute     , module Network.AWS.EC2.ReplaceRoute -    -- ** CreateTags-    , module Network.AWS.EC2.CreateTags+    -- ** DescribeVPCEndpointServices+    , module Network.AWS.EC2.DescribeVPCEndpointServices +    -- ** AuthorizeSecurityGroupIngress+    , module Network.AWS.EC2.AuthorizeSecurityGroupIngress++    -- ** CreateVPCPeeringConnection+    , module Network.AWS.EC2.CreateVPCPeeringConnection+     -- ** DescribeSubnets     , module Network.AWS.EC2.DescribeSubnets -    -- ** DescribeNetworkInterfaces-    , module Network.AWS.EC2.DescribeNetworkInterfaces+    -- ** CreateTags+    , module Network.AWS.EC2.CreateTags      -- ** PurchaseReservedInstancesOffering     , module Network.AWS.EC2.PurchaseReservedInstancesOffering -    -- ** DescribeSnapshotAttribute-    , module Network.AWS.EC2.DescribeSnapshotAttribute+    -- ** DeleteNetworkACLEntry+    , module Network.AWS.EC2.DeleteNetworkACLEntry -    -- ** CreateCustomerGateway-    , module Network.AWS.EC2.CreateCustomerGateway+    -- ** ResetSnapshotAttribute+    , module Network.AWS.EC2.ResetSnapshotAttribute -    -- ** AttachInternetGateway-    , module Network.AWS.EC2.AttachInternetGateway+    -- ** DescribeVPNConnections+    , module Network.AWS.EC2.DescribeVPNConnections -    -- ** DeleteTags-    , module Network.AWS.EC2.DeleteTags+    -- ** DeleteRoute+    , module Network.AWS.EC2.DeleteRoute      -- ** ReplaceNetworkACLEntry     , module Network.AWS.EC2.ReplaceNetworkACLEntry +    -- ** DescribeVPCEndpoints+    , module Network.AWS.EC2.DescribeVPCEndpoints+     -- ** ResetInstanceAttribute     , module Network.AWS.EC2.ResetInstanceAttribute -    -- ** DeleteRoute-    , module Network.AWS.EC2.DeleteRoute--    -- ** DescribeVPNConnections-    , module Network.AWS.EC2.DescribeVPNConnections--    -- ** DescribeFlowLogs-    , module Network.AWS.EC2.DescribeFlowLogs+    -- ** AttachNetworkInterface+    , module Network.AWS.EC2.AttachNetworkInterface -    -- ** DeleteSecurityGroup-    , module Network.AWS.EC2.DeleteSecurityGroup+    -- ** DescribeInstanceStatus (Paginated)+    , module Network.AWS.EC2.DescribeInstanceStatus -    -- ** DescribeReservedInstancesOfferings (Paginated)-    , module Network.AWS.EC2.DescribeReservedInstancesOfferings+    -- ** ImportKeyPair+    , module Network.AWS.EC2.ImportKeyPair -    -- ** DeleteVPCPeeringConnection-    , module Network.AWS.EC2.DeleteVPCPeeringConnection+    -- ** DeleteTags+    , module Network.AWS.EC2.DeleteTags -    -- ** DescribeVPCEndpoints-    , module Network.AWS.EC2.DescribeVPCEndpoints+    -- ** ConfirmProductInstance+    , module Network.AWS.EC2.ConfirmProductInstance      -- ** DescribeInstanceAttribute     , module Network.AWS.EC2.DescribeInstanceAttribute -    -- ** ConfirmProductInstance-    , module Network.AWS.EC2.ConfirmProductInstance+    -- ** DescribeReservedInstancesOfferings (Paginated)+    , module Network.AWS.EC2.DescribeReservedInstancesOfferings -    -- ** ImportKeyPair-    , module Network.AWS.EC2.ImportKeyPair+    -- ** CreateCustomerGateway+    , module Network.AWS.EC2.CreateCustomerGateway -    -- ** AttachNetworkInterface-    , module Network.AWS.EC2.AttachNetworkInterface+    -- ** DeleteSecurityGroup+    , module Network.AWS.EC2.DeleteSecurityGroup -    -- ** DescribeInstanceStatus (Paginated)-    , module Network.AWS.EC2.DescribeInstanceStatus+    -- ** DeleteVPCPeeringConnection+    , module Network.AWS.EC2.DeleteVPCPeeringConnection -    -- ** CancelConversionTask-    , module Network.AWS.EC2.CancelConversionTask+    -- ** AttachInternetGateway+    , module Network.AWS.EC2.AttachInternetGateway -    -- ** ReportInstanceStatus-    , module Network.AWS.EC2.ReportInstanceStatus+    -- ** DescribeFlowLogs+    , module Network.AWS.EC2.DescribeFlowLogs +    -- ** RunInstances+    , module Network.AWS.EC2.RunInstances+     -- ** AssociateDHCPOptions     , module Network.AWS.EC2.AssociateDHCPOptions +    -- ** DescribeReservedInstances+    , module Network.AWS.EC2.DescribeReservedInstances+     -- ** DescribeVPCs     , module Network.AWS.EC2.DescribeVPCs -    -- ** RequestSpotInstances-    , module Network.AWS.EC2.RequestSpotInstances--    -- ** ModifyImageAttribute-    , module Network.AWS.EC2.ModifyImageAttribute--    -- ** DescribeReservedInstances-    , module Network.AWS.EC2.DescribeReservedInstances+    -- ** DescribeConversionTasks+    , module Network.AWS.EC2.DescribeConversionTasks      -- ** AllocateAddress     , module Network.AWS.EC2.AllocateAddress -    -- ** RunInstances-    , module Network.AWS.EC2.RunInstances+    -- ** CancelConversionTask+    , module Network.AWS.EC2.CancelConversionTask +    -- ** ModifyImageAttribute+    , module Network.AWS.EC2.ModifyImageAttribute+     -- ** CreateRouteTable     , module Network.AWS.EC2.CreateRouteTable +    -- ** ReportInstanceStatus+    , module Network.AWS.EC2.ReportInstanceStatus+     -- ** AttachVolume     , module Network.AWS.EC2.AttachVolume -    -- ** DescribeConversionTasks-    , module Network.AWS.EC2.DescribeConversionTasks--    -- ** RejectVPCPeeringConnection-    , module Network.AWS.EC2.RejectVPCPeeringConnection--    -- ** RevokeSecurityGroupIngress-    , module Network.AWS.EC2.RevokeSecurityGroupIngress+    -- ** RequestSpotInstances+    , module Network.AWS.EC2.RequestSpotInstances      -- ** DescribeVolumes     , module Network.AWS.EC2.DescribeVolumes +    -- ** RejectVPCPeeringConnection+    , module Network.AWS.EC2.RejectVPCPeeringConnection+     -- ** DeleteVPNConnectionRoute     , module Network.AWS.EC2.DeleteVPNConnectionRoute -    -- ** ModifyReservedInstances-    , module Network.AWS.EC2.ModifyReservedInstances+    -- ** ModifyVPCEndpoint+    , module Network.AWS.EC2.ModifyVPCEndpoint      -- ** RegisterImage     , module Network.AWS.EC2.RegisterImage -    -- ** ModifyVPCEndpoint-    , module Network.AWS.EC2.ModifyVPCEndpoint--    -- ** DeleteVPNGateway-    , module Network.AWS.EC2.DeleteVPNGateway+    -- ** RevokeSecurityGroupIngress+    , module Network.AWS.EC2.RevokeSecurityGroupIngress -    -- ** CreateVPC-    , module Network.AWS.EC2.CreateVPC+    -- ** ModifyReservedInstances+    , module Network.AWS.EC2.ModifyReservedInstances -    -- ** DescribeMovingAddresses-    , module Network.AWS.EC2.DescribeMovingAddresses+    -- ** CreateFlowLogs+    , module Network.AWS.EC2.CreateFlowLogs -    -- ** DescribeVolumeAttribute-    , module Network.AWS.EC2.DescribeVolumeAttribute+    -- ** DescribeSpotFleetRequests+    , module Network.AWS.EC2.DescribeSpotFleetRequests      -- ** MoveAddressToVPC     , module Network.AWS.EC2.MoveAddressToVPC -    -- ** GetPasswordData-    , module Network.AWS.EC2.GetPasswordData+    -- ** DeleteNetworkACL+    , module Network.AWS.EC2.DeleteNetworkACL -    -- ** CreateFlowLogs-    , module Network.AWS.EC2.CreateFlowLogs+    -- ** DeleteVPNGateway+    , module Network.AWS.EC2.DeleteVPNGateway      -- ** DescribeImportImageTasks     , module Network.AWS.EC2.DescribeImportImageTasks -    -- ** DeleteNetworkACL-    , module Network.AWS.EC2.DeleteNetworkACL--    -- ** DescribeSpotFleetRequests-    , module Network.AWS.EC2.DescribeSpotFleetRequests+    -- ** DescribeVolumeAttribute+    , module Network.AWS.EC2.DescribeVolumeAttribute -    -- ** CopySnapshot-    , module Network.AWS.EC2.CopySnapshot+    -- ** DescribeMovingAddresses+    , module Network.AWS.EC2.DescribeMovingAddresses -    -- ** ModifyVolumeAttribute-    , module Network.AWS.EC2.ModifyVolumeAttribute+    -- ** GetPasswordData+    , module Network.AWS.EC2.GetPasswordData -    -- ** DescribeVPCAttribute-    , module Network.AWS.EC2.DescribeVPCAttribute+    -- ** CreateVPC+    , module Network.AWS.EC2.CreateVPC -    -- ** CreateVolume-    , module Network.AWS.EC2.CreateVolume+    -- ** CopySnapshot+    , module Network.AWS.EC2.CopySnapshot      -- ** DisassociateAddress     , module Network.AWS.EC2.DisassociateAddress@@ -393,102 +384,111 @@     -- ** DeleteVPC     , module Network.AWS.EC2.DeleteVPC -    -- ** DescribePrefixLists-    , module Network.AWS.EC2.DescribePrefixLists-     -- ** CreateInstanceExportTask     , module Network.AWS.EC2.CreateInstanceExportTask +    -- ** DescribeVPCAttribute+    , module Network.AWS.EC2.DescribeVPCAttribute++    -- ** CreateVolume+    , module Network.AWS.EC2.CreateVolume++    -- ** ModifyVolumeAttribute+    , module Network.AWS.EC2.ModifyVolumeAttribute+     -- ** DescribeSpotDatafeedSubscription     , module Network.AWS.EC2.DescribeSpotDatafeedSubscription -    -- ** DetachVPNGateway-    , module Network.AWS.EC2.DetachVPNGateway--    -- ** DescribeExportTasks-    , module Network.AWS.EC2.DescribeExportTasks+    -- ** DescribePrefixLists+    , module Network.AWS.EC2.DescribePrefixLists      -- ** DeletePlacementGroup     , module Network.AWS.EC2.DeletePlacementGroup +    -- ** RequestSpotFleet+    , module Network.AWS.EC2.RequestSpotFleet+     -- ** CreateSubnet     , module Network.AWS.EC2.CreateSubnet -    -- ** EnableVolumeIO-    , module Network.AWS.EC2.EnableVolumeIO+    -- ** CreateNetworkInterface+    , module Network.AWS.EC2.CreateNetworkInterface -    -- ** CancelExportTask-    , module Network.AWS.EC2.CancelExportTask+    -- ** DescribeSecurityGroups+    , module Network.AWS.EC2.DescribeSecurityGroups -    -- ** RequestSpotFleet-    , module Network.AWS.EC2.RequestSpotFleet+    -- ** DescribeExportTasks+    , module Network.AWS.EC2.DescribeExportTasks +    -- ** DetachVPNGateway+    , module Network.AWS.EC2.DetachVPNGateway++    -- ** EnableVolumeIO+    , module Network.AWS.EC2.EnableVolumeIO+     -- ** 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+    -- ** CancelExportTask+    , module Network.AWS.EC2.CancelExportTask -    -- ** AssociateAddress-    , module Network.AWS.EC2.AssociateAddress+    -- ** DeleteNetworkInterface+    , module Network.AWS.EC2.DeleteNetworkInterface +    -- ** ReplaceRouteTableAssociation+    , module Network.AWS.EC2.ReplaceRouteTableAssociation+     -- ** StartInstances     , module Network.AWS.EC2.StartInstances -    -- ** DescribeCustomerGateways-    , module Network.AWS.EC2.DescribeCustomerGateways--    -- ** ResetNetworkInterfaceAttribute-    , module Network.AWS.EC2.ResetNetworkInterfaceAttribute--    -- ** CreateVPNConnection-    , module Network.AWS.EC2.CreateVPNConnection+    -- ** CreatePlacementGroup+    , module Network.AWS.EC2.CreatePlacementGroup      -- ** DescribeSnapshots (Paginated)     , module Network.AWS.EC2.DescribeSnapshots -    -- ** CreatePlacementGroup-    , module Network.AWS.EC2.CreatePlacementGroup--    -- ** ReplaceRouteTableAssociation-    , module Network.AWS.EC2.ReplaceRouteTableAssociation+    -- ** AssociateAddress+    , module Network.AWS.EC2.AssociateAddress      -- ** DescribeNetworkInterfaceAttribute     , module Network.AWS.EC2.DescribeNetworkInterfaceAttribute -    -- ** DescribeReservedInstancesListings-    , module Network.AWS.EC2.DescribeReservedInstancesListings--    -- ** DeleteNetworkInterface-    , module Network.AWS.EC2.DeleteNetworkInterface+    -- ** ResetNetworkInterfaceAttribute+    , module Network.AWS.EC2.ResetNetworkInterfaceAttribute      -- ** DeleteInternetGateway     , module Network.AWS.EC2.DeleteInternetGateway -    -- ** DeleteSubnet-    , module Network.AWS.EC2.DeleteSubnet+    -- ** DescribeReservedInstancesListings+    , module Network.AWS.EC2.DescribeReservedInstancesListings -    -- ** CreateVPCEndpoint-    , module Network.AWS.EC2.CreateVPCEndpoint+    -- ** CreateVPNConnection+    , module Network.AWS.EC2.CreateVPNConnection      -- ** DescribeImportSnapshotTasks     , module Network.AWS.EC2.DescribeImportSnapshotTasks +    -- ** DescribeCustomerGateways+    , module Network.AWS.EC2.DescribeCustomerGateways++    -- ** DeleteSubnet+    , module Network.AWS.EC2.DeleteSubnet+     -- ** CopyImage     , module Network.AWS.EC2.CopyImage -    -- ** DisassociateRouteTable-    , module Network.AWS.EC2.DisassociateRouteTable+    -- ** CreateVPCEndpoint+    , module Network.AWS.EC2.CreateVPCEndpoint      -- ** UnmonitorInstances     , module Network.AWS.EC2.UnmonitorInstances +    -- ** CreateSecurityGroup+    , module Network.AWS.EC2.CreateSecurityGroup+     -- ** ImportVolume     , module Network.AWS.EC2.ImportVolume @@ -498,65 +498,68 @@     -- ** CreateSpotDatafeedSubscription     , module Network.AWS.EC2.CreateSpotDatafeedSubscription -    -- ** AssignPrivateIPAddresses-    , module Network.AWS.EC2.AssignPrivateIPAddresses+    -- ** CancelSpotInstanceRequests+    , module Network.AWS.EC2.CancelSpotInstanceRequests +    -- ** CreateRoute+    , module Network.AWS.EC2.CreateRoute+     -- ** DeleteSnapshot     , module Network.AWS.EC2.DeleteSnapshot -    -- ** DeleteCustomerGateway-    , module Network.AWS.EC2.DeleteCustomerGateway+    -- ** AssignPrivateIPAddresses+    , module Network.AWS.EC2.AssignPrivateIPAddresses      -- ** ModifyInstanceAttribute     , module Network.AWS.EC2.ModifyInstanceAttribute -    -- ** CreateSecurityGroup-    , module Network.AWS.EC2.CreateSecurityGroup+    -- ** DeleteCustomerGateway+    , module Network.AWS.EC2.DeleteCustomerGateway -    -- ** CancelSpotInstanceRequests-    , module Network.AWS.EC2.CancelSpotInstanceRequests+    -- ** DisassociateRouteTable+    , module Network.AWS.EC2.DisassociateRouteTable -    -- ** CreateRoute-    , module Network.AWS.EC2.CreateRoute+    -- ** DeleteSpotDatafeedSubscription+    , module Network.AWS.EC2.DeleteSpotDatafeedSubscription -    -- ** CreateNetworkACLEntry-    , module Network.AWS.EC2.CreateNetworkACLEntry+    -- ** EnableVPCClassicLink+    , module Network.AWS.EC2.EnableVPCClassicLink -    -- ** ModifySnapshotAttribute-    , module Network.AWS.EC2.ModifySnapshotAttribute+    -- ** DescribePlacementGroups+    , module Network.AWS.EC2.DescribePlacementGroups      -- ** EnableVGWRoutePropagation     , module Network.AWS.EC2.EnableVGWRoutePropagation -    -- ** CreateSnapshot-    , module Network.AWS.EC2.CreateSnapshot-     -- ** DescribeSpotFleetRequestHistory     , module Network.AWS.EC2.DescribeSpotFleetRequestHistory -    -- ** DeleteSpotDatafeedSubscription-    , module Network.AWS.EC2.DeleteSpotDatafeedSubscription+    -- ** ModifySnapshotAttribute+    , module Network.AWS.EC2.ModifySnapshotAttribute -    -- ** DescribePlacementGroups-    , module Network.AWS.EC2.DescribePlacementGroups+    -- ** CreateSnapshot+    , module Network.AWS.EC2.CreateSnapshot +    -- ** CreateNetworkACLEntry+    , module Network.AWS.EC2.CreateNetworkACLEntry+     -- ** CreateReservedInstancesListing     , module Network.AWS.EC2.CreateReservedInstancesListing -    -- ** EnableVPCClassicLink-    , module Network.AWS.EC2.EnableVPCClassicLink+    -- ** AttachVPNGateway+    , module Network.AWS.EC2.AttachVPNGateway -    -- ** DescribeKeyPairs-    , module Network.AWS.EC2.DescribeKeyPairs+    -- ** CreateDHCPOptions+    , module Network.AWS.EC2.CreateDHCPOptions +    -- ** DescribeAccountAttributes+    , module Network.AWS.EC2.DescribeAccountAttributes+     -- ** RebootInstances     , module Network.AWS.EC2.RebootInstances -    -- ** AttachVPNGateway-    , module Network.AWS.EC2.AttachVPNGateway--    -- ** CreateVPNConnectionRoute-    , module Network.AWS.EC2.CreateVPNConnectionRoute+    -- ** CreateImage+    , module Network.AWS.EC2.CreateImage      -- ** DescribeClassicLinkInstances     , module Network.AWS.EC2.DescribeClassicLinkInstances@@ -564,92 +567,89 @@     -- ** TerminateInstances     , module Network.AWS.EC2.TerminateInstances -    -- ** CreateDHCPOptions-    , module Network.AWS.EC2.CreateDHCPOptions+    -- ** DescribeKeyPairs+    , module Network.AWS.EC2.DescribeKeyPairs +    -- ** CreateVPNConnectionRoute+    , module Network.AWS.EC2.CreateVPNConnectionRoute+     -- ** AssociateRouteTable     , module Network.AWS.EC2.AssociateRouteTable -    -- ** CreateImage-    , module Network.AWS.EC2.CreateImage+    -- ** DescribeVPNGateways+    , module Network.AWS.EC2.DescribeVPNGateways -    -- ** DescribeAccountAttributes-    , module Network.AWS.EC2.DescribeAccountAttributes+    -- ** GetConsoleOutput+    , module Network.AWS.EC2.GetConsoleOutput +    -- ** DescribeImageAttribute+    , module Network.AWS.EC2.DescribeImageAttribute++    -- ** DeleteRouteTable+    , module Network.AWS.EC2.DeleteRouteTable+     -- ** ResetImageAttribute     , module Network.AWS.EC2.ResetImageAttribute -    -- ** DescribeNetworkACLs-    , module Network.AWS.EC2.DescribeNetworkACLs--    -- ** CancelImportTask-    , module Network.AWS.EC2.CancelImportTask+    -- ** DescribeReservedInstancesModifications (Paginated)+    , module Network.AWS.EC2.DescribeReservedInstancesModifications -    -- ** GetConsoleOutput-    , module Network.AWS.EC2.GetConsoleOutput+    -- ** DescribeSpotInstanceRequests+    , module Network.AWS.EC2.DescribeSpotInstanceRequests      -- ** 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+    -- ** DescribeNetworkACLs+    , module Network.AWS.EC2.DescribeNetworkACLs +    -- ** CancelImportTask+    , module Network.AWS.EC2.CancelImportTask+     -- ** DetachClassicLinkVPC     , module Network.AWS.EC2.DetachClassicLinkVPC -    -- ** DescribeReservedInstancesModifications (Paginated)-    , module Network.AWS.EC2.DescribeReservedInstancesModifications--    -- ** DescribeSpotInstanceRequests-    , module Network.AWS.EC2.DescribeSpotInstanceRequests+    -- ** DescribeRegions+    , module Network.AWS.EC2.DescribeRegions      -- ** MonitorInstances     , module Network.AWS.EC2.MonitorInstances -    -- ** DescribeRegions-    , module Network.AWS.EC2.DescribeRegions--    -- ** ModifyVPCAttribute-    , module Network.AWS.EC2.ModifyVPCAttribute+    -- ** AcceptVPCPeeringConnection+    , module Network.AWS.EC2.AcceptVPCPeeringConnection -    -- ** DescribeSpotFleetInstances-    , module Network.AWS.EC2.DescribeSpotFleetInstances+    -- ** ImportSnapshot+    , module Network.AWS.EC2.ImportSnapshot      -- ** DescribeVolumeStatus (Paginated)     , module Network.AWS.EC2.DescribeVolumeStatus -    -- ** DeleteVolume-    , module Network.AWS.EC2.DeleteVolume+    -- ** DescribeRouteTables+    , module Network.AWS.EC2.DescribeRouteTables +    -- ** DescribeAvailabilityZones+    , module Network.AWS.EC2.DescribeAvailabilityZones++    -- ** ModifyVPCAttribute+    , module Network.AWS.EC2.ModifyVPCAttribute+     -- ** 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+    -- ** CreateKeyPair+    , module Network.AWS.EC2.CreateKeyPair -    -- ** AcceptVPCPeeringConnection-    , module Network.AWS.EC2.AcceptVPCPeeringConnection+    -- ** DeleteVolume+    , module Network.AWS.EC2.DeleteVolume -    -- ** DescribeRouteTables-    , module Network.AWS.EC2.DescribeRouteTables+    -- ** DescribeSpotFleetInstances+    , module Network.AWS.EC2.DescribeSpotFleetInstances      -- * Types @@ -764,6 +764,9 @@     -- ** OfferingTypeValues     , OfferingTypeValues (..) +    -- ** OperationType+    , OperationType (..)+     -- ** PermissionGroup     , PermissionGroup (..) @@ -905,8 +908,8 @@     -- ** Address     , Address     , address-    , aInstanceId     , aAssociationId+    , aInstanceId     , aNetworkInterfaceOwnerId     , aAllocationId     , aDomain@@ -927,8 +930,8 @@     -- ** AvailabilityZone     , AvailabilityZone     , availabilityZone-    , azRegionName     , azState+    , azRegionName     , azZoneName     , azMessages @@ -1096,8 +1099,8 @@     -- ** EBSInstanceBlockDevice     , EBSInstanceBlockDevice     , ebsInstanceBlockDevice-    , eibdDeleteOnTermination     , eibdStatus+    , eibdDeleteOnTermination     , eibdVolumeId     , eibdAttachTime @@ -1155,8 +1158,8 @@     , flTrafficType     , flDeliverLogsStatus     , flDeliverLogsErrorMessage-    , flDeliverLogsPermissionARN     , flLogGroupName+    , flDeliverLogsPermissionARN     , flFlowLogId      -- ** GroupIdentifier@@ -1218,8 +1221,8 @@     , iCreationDate     , iProductCodes     , iStateReason-    , iBlockDeviceMappings     , iDescription+    , iBlockDeviceMappings     , iTags     , iImageId     , iImageLocation@@ -1235,8 +1238,8 @@     -- ** ImageDiskContainer     , ImageDiskContainer     , imageDiskContainer-    , idcURL     , idcFormat+    , idcURL     , idcDeviceName     , idcUserBucket     , idcDescription@@ -1263,12 +1266,12 @@     , iilsAdditionalInfo     , iilsGroupNames     , iilsSubnetId-    , iilsGroupIds     , iilsInstanceType+    , iilsGroupIds     , iilsUserData     , iilsMonitoring-    , iilsInstanceInitiatedShutdownBehavior     , iilsPrivateIPAddress+    , iilsInstanceInitiatedShutdownBehavior     , iilsArchitecture     , iilsPlacement @@ -1316,17 +1319,17 @@     , insClientToken     , insSourceDestCheck     , insVPCId-    , insNetworkInterfaces     , insKeyName+    , insNetworkInterfaces     , insRAMDiskId-    , insKernelId     , insSubnetId+    , insKernelId     , insRootDeviceName-    , insEBSOptimized     , insSRIOVNetSupport+    , insEBSOptimized     , insStateTransitionReason-    , insIAMInstanceProfile     , insInstanceLifecycle+    , insIAMInstanceProfile     , insPrivateIPAddress     , insProductCodes     , insSpotInstanceRequestId@@ -1371,8 +1374,8 @@     -- ** InstanceExportDetails     , InstanceExportDetails     , instanceExportDetails-    , iedInstanceId     , iedTargetEnvironment+    , iedInstanceId      -- ** InstanceMonitoring     , InstanceMonitoring@@ -1383,15 +1386,15 @@     -- ** InstanceNetworkInterface     , InstanceNetworkInterface     , instanceNetworkInterface-    , iniPrivateIPAddresses-    , iniStatus     , iniGroups+    , iniStatus+    , iniPrivateIPAddresses     , iniSourceDestCheck     , iniVPCId     , iniNetworkInterfaceId     , iniSubnetId-    , iniAttachment     , iniMACAddress+    , iniAttachment     , iniOwnerId     , iniPrivateIPAddress     , iniPrivateDNSName@@ -1408,8 +1411,8 @@     -- ** InstanceNetworkInterfaceAttachment     , InstanceNetworkInterfaceAttachment     , instanceNetworkInterfaceAttachment-    , iniaDeleteOnTermination     , iniaStatus+    , iniaDeleteOnTermination     , iniaAttachmentId     , iniaAttachTime     , iniaDeviceIndex@@ -1417,16 +1420,16 @@     -- ** InstanceNetworkInterfaceSpecification     , InstanceNetworkInterfaceSpecification     , instanceNetworkInterfaceSpecification+    , inisGroups     , inisPrivateIPAddresses     , inisDeleteOnTermination-    , inisGroups     , inisAssociatePublicIPAddress     , inisNetworkInterfaceId     , inisSubnetId     , inisPrivateIPAddress     , inisSecondaryPrivateIPAddressCount-    , inisDeviceIndex     , inisDescription+    , inisDeviceIndex      -- ** InstancePrivateIPAddress     , InstancePrivateIPAddress@@ -1454,8 +1457,8 @@     , instanceStatus     , isInstanceId     , isSystemStatus-    , isAvailabilityZone     , isEvents+    , isAvailabilityZone     , isInstanceStatus     , isInstanceState @@ -1515,19 +1518,19 @@     , LaunchSpecification     , launchSpecification     , lsSecurityGroups-    , lsNetworkInterfaces     , lsKeyName+    , lsNetworkInterfaces     , lsRAMDiskId-    , lsKernelId     , lsSubnetId+    , lsKernelId     , lsInstanceType     , lsEBSOptimized     , lsUserData     , lsMonitoring     , lsIAMInstanceProfile     , lsImageId-    , lsBlockDeviceMappings     , lsAddressingType+    , lsBlockDeviceMappings     , lsPlacement      -- ** Monitoring@@ -1548,8 +1551,8 @@     , naNetworkACLId     , naVPCId     , naAssociations-    , naIsDefault     , naTags+    , naIsDefault      -- ** NetworkACLAssociation     , NetworkACLAssociation@@ -1572,17 +1575,17 @@     -- ** NetworkInterface     , NetworkInterface     , networkInterface-    , niPrivateIPAddresses-    , niStatus     , niGroups+    , niStatus+    , niPrivateIPAddresses     , niSourceDestCheck-    , niTagSet     , niVPCId+    , niTagSet     , niRequesterManaged     , niNetworkInterfaceId     , niSubnetId-    , niAttachment     , niMACAddress+    , niAttachment     , niOwnerId     , niAvailabilityZone     , niPrivateIPAddress@@ -1604,8 +1607,8 @@     , NetworkInterfaceAttachment     , networkInterfaceAttachment     , niaInstanceId-    , niaDeleteOnTermination     , niaStatus+    , niaDeleteOnTermination     , niaAttachmentId     , niaInstanceOwnerId     , niaAttachTime@@ -1704,8 +1707,8 @@     -- ** RecurringCharge     , RecurringCharge     , recurringCharge-    , rcFrequency     , rcAmount+    , rcFrequency      -- ** RegionInfo     , RegionInfo@@ -1718,19 +1721,19 @@     , requestSpotLaunchSpecification     , rslsSecurityGroupIds     , rslsSecurityGroups-    , rslsNetworkInterfaces     , rslsKeyName+    , rslsNetworkInterfaces     , rslsRAMDiskId-    , rslsKernelId     , rslsSubnetId+    , rslsKernelId     , rslsInstanceType     , rslsEBSOptimized     , rslsUserData     , rslsMonitoring     , rslsIAMInstanceProfile     , rslsImageId-    , rslsBlockDeviceMappings     , rslsAddressingType+    , rslsBlockDeviceMappings     , rslsPlacement      -- ** Reservation@@ -1757,14 +1760,14 @@     , riProductDescription     , riStart     , riInstanceType-    , riAvailabilityZone     , riEnd+    , riAvailabilityZone+    , riRecurringCharges     , riOfferingType     , riUsagePrice-    , riRecurringCharges-    , riInstanceTenancy     , riFixedPrice     , riReservedInstancesId+    , riInstanceTenancy     , riDuration     , riTags @@ -1791,9 +1794,9 @@     , rilPriceSchedules     , rilStatusMessage     , rilReservedInstancesId+    , rilTags     , rilInstanceCounts     , rilReservedInstancesListingId-    , rilTags      -- ** ReservedInstancesModification     , ReservedInstancesModification@@ -1823,20 +1826,20 @@     , rioInstanceType     , rioAvailabilityZone     , rioPricingDetails+    , rioRecurringCharges     , rioOfferingType     , rioUsagePrice-    , rioRecurringCharges-    , rioReservedInstancesOfferingId-    , rioInstanceTenancy     , rioFixedPrice+    , rioInstanceTenancy+    , rioReservedInstancesOfferingId     , rioDuration      -- ** Route     , Route     , route+    , rVPCPeeringConnectionId     , rInstanceId     , rOrigin-    , rVPCPeeringConnectionId     , rState     , rNetworkInterfaceId     , rGatewayId@@ -1847,8 +1850,8 @@     -- ** RouteTable     , RouteTable     , routeTable-    , rtRoutes     , rtRouteTableId+    , rtRoutes     , rtVPCId     , rtPropagatingVGWs     , rtAssociations@@ -1909,20 +1912,20 @@     , snapshotDetail     , sdStatus     , sdProgress-    , sdURL     , sdFormat+    , sdURL     , sdDeviceName+    , sdStatusMessage     , sdUserBucket     , sdDiskImageSize-    , sdStatusMessage     , sdDescription     , sdSnapshotId      -- ** SnapshotDiskContainer     , SnapshotDiskContainer     , snapshotDiskContainer-    , sdcURL     , sdcFormat+    , sdcURL     , sdcUserBucket     , sdcDescription @@ -1931,11 +1934,11 @@     , snapshotTaskDetail     , stdStatus     , stdProgress-    , stdURL     , stdFormat+    , stdURL+    , stdStatusMessage     , stdUserBucket     , stdDiskImageSize-    , stdStatusMessage     , stdDescription     , stdSnapshotId @@ -1952,19 +1955,21 @@     , SpotFleetLaunchSpecification     , spotFleetLaunchSpecification     , sflsSecurityGroups-    , sflsNetworkInterfaces+    , sflsSpotPrice+    , sflsWeightedCapacity     , sflsKeyName+    , sflsNetworkInterfaces     , sflsRAMDiskId-    , sflsKernelId     , sflsSubnetId+    , sflsKernelId     , sflsInstanceType     , sflsEBSOptimized     , sflsUserData     , sflsMonitoring     , sflsIAMInstanceProfile     , sflsImageId-    , sflsBlockDeviceMappings     , sflsAddressingType+    , sflsBlockDeviceMappings     , sflsPlacement      -- ** SpotFleetMonitoring@@ -1999,17 +2004,17 @@     , sirState     , sirProductDescription     , sirSpotPrice-    , sirAvailabilityZoneGroup     , sirLaunchSpecification+    , sirAvailabilityZoneGroup     , sirLaunchedAvailabilityZone     , sirValidUntil-    , sirFault     , sirLaunchGroup+    , sirFault     , sirSpotInstanceRequestId     , sirType     , sirValidFrom-    , sirTags     , sirCreateTime+    , sirTags      -- ** SpotInstanceStateFault     , SpotInstanceStateFault@@ -2149,8 +2154,8 @@     -- ** VPCEndpoint     , VPCEndpoint     , vpcEndpoint-    , vePolicyDocument     , veState+    , vePolicyDocument     , veVPCId     , veCreationTimestamp     , veServiceName@@ -2160,8 +2165,8 @@     -- ** VPCPeeringConnection     , VPCPeeringConnection     , vpcPeeringConnection-    , vpcpcStatus     , vpcpcVPCPeeringConnectionId+    , vpcpcStatus     , vpcpcAccepterVPCInfo     , vpcpcRequesterVPCInfo     , vpcpcExpirationTime@@ -2183,14 +2188,14 @@     -- ** VPNConnection     , VPNConnection     , vpnConnection+    , vcCustomerGatewayConfiguration     , vcRoutes     , vcVPNGatewayId     , vcOptions-    , vcVGWTelemetry     , vcTags+    , vcVGWTelemetry     , vcVPNConnectionId     , vcCustomerGatewayId-    , vcCustomerGatewayConfiguration     , vcState     , vcType @@ -2207,8 +2212,8 @@     -- ** VPNGateway     , VPNGateway     , vpnGateway-    , vgVPCAttachments     , vgState+    , vgVPCAttachments     , vgVPNGatewayId     , vgAvailabilityZone     , vgType@@ -2286,8 +2291,8 @@     , volumeStatusItem     , vsiVolumeStatus     , vsiActions-    , vsiAvailabilityZone     , vsiEvents+    , vsiAvailabilityZone     , vsiVolumeId     ) where 
gen/Network/AWS/EC2/AcceptVPCPeeringConnection.hs view
@@ -39,7 +39,7 @@     , AcceptVPCPeeringConnectionResponse     -- * Response Lenses     , avpcrsVPCPeeringConnection-    , avpcrsStatus+    , avpcrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -110,7 +110,7 @@ -- | /See:/ 'acceptVPCPeeringConnectionResponse' smart constructor. data AcceptVPCPeeringConnectionResponse = AcceptVPCPeeringConnectionResponse'     { _avpcrsVPCPeeringConnection :: !(Maybe VPCPeeringConnection)-    , _avpcrsStatus               :: !Int+    , _avpcrsResponseStatus       :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'AcceptVPCPeeringConnectionResponse' with the minimum fields required to make a request.@@ -119,14 +119,14 @@ -- -- * 'avpcrsVPCPeeringConnection' ----- * 'avpcrsStatus'+-- * 'avpcrsResponseStatus' acceptVPCPeeringConnectionResponse-    :: Int -- ^ 'avpcrsStatus'+    :: Int -- ^ 'avpcrsResponseStatus'     -> AcceptVPCPeeringConnectionResponse-acceptVPCPeeringConnectionResponse pStatus_ =+acceptVPCPeeringConnectionResponse pResponseStatus_ =     AcceptVPCPeeringConnectionResponse'     { _avpcrsVPCPeeringConnection = Nothing-    , _avpcrsStatus = pStatus_+    , _avpcrsResponseStatus = pResponseStatus_     }  -- | Information about the VPC peering connection.@@ -134,5 +134,5 @@ avpcrsVPCPeeringConnection = lens _avpcrsVPCPeeringConnection (\ s a -> s{_avpcrsVPCPeeringConnection = a});  -- | The response status code.-avpcrsStatus :: Lens' AcceptVPCPeeringConnectionResponse Int-avpcrsStatus = lens _avpcrsStatus (\ s a -> s{_avpcrsStatus = a});+avpcrsResponseStatus :: Lens' AcceptVPCPeeringConnectionResponse Int+avpcrsResponseStatus = lens _avpcrsResponseStatus (\ s a -> s{_avpcrsResponseStatus = a});
gen/Network/AWS/EC2/AllocateAddress.hs view
@@ -42,7 +42,7 @@     , aarsAllocationId     , aarsDomain     , aarsPublicIP-    , aarsStatus+    , aarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -111,10 +111,10 @@  -- | /See:/ 'allocateAddressResponse' smart constructor. data AllocateAddressResponse = AllocateAddressResponse'-    { _aarsAllocationId :: !(Maybe Text)-    , _aarsDomain       :: !(Maybe DomainType)-    , _aarsPublicIP     :: !(Maybe Text)-    , _aarsStatus       :: !Int+    { _aarsAllocationId   :: !(Maybe Text)+    , _aarsDomain         :: !(Maybe DomainType)+    , _aarsPublicIP       :: !(Maybe Text)+    , _aarsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'AllocateAddressResponse' with the minimum fields required to make a request.@@ -127,16 +127,16 @@ -- -- * 'aarsPublicIP' ----- * 'aarsStatus'+-- * 'aarsResponseStatus' allocateAddressResponse-    :: Int -- ^ 'aarsStatus'+    :: Int -- ^ 'aarsResponseStatus'     -> AllocateAddressResponse-allocateAddressResponse pStatus_ =+allocateAddressResponse pResponseStatus_ =     AllocateAddressResponse'     { _aarsAllocationId = Nothing     , _aarsDomain = Nothing     , _aarsPublicIP = Nothing-    , _aarsStatus = pStatus_+    , _aarsResponseStatus = pResponseStatus_     }  -- | [EC2-VPC] The ID that AWS assigns to represent the allocation of the@@ -154,5 +154,5 @@ aarsPublicIP = lens _aarsPublicIP (\ s a -> s{_aarsPublicIP = a});  -- | The response status code.-aarsStatus :: Lens' AllocateAddressResponse Int-aarsStatus = lens _aarsStatus (\ s a -> s{_aarsStatus = a});+aarsResponseStatus :: Lens' AllocateAddressResponse Int+aarsResponseStatus = lens _aarsResponseStatus (\ s a -> s{_aarsResponseStatus = a});
gen/Network/AWS/EC2/AssociateAddress.hs view
@@ -59,7 +59,7 @@     , AssociateAddressResponse     -- * Response Lenses     , arsAssociationId-    , arsStatus+    , arsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -179,8 +179,8 @@  -- | /See:/ 'associateAddressResponse' smart constructor. data AssociateAddressResponse = AssociateAddressResponse'-    { _arsAssociationId :: !(Maybe Text)-    , _arsStatus        :: !Int+    { _arsAssociationId  :: !(Maybe Text)+    , _arsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'AssociateAddressResponse' with the minimum fields required to make a request.@@ -189,14 +189,14 @@ -- -- * 'arsAssociationId' ----- * 'arsStatus'+-- * 'arsResponseStatus' associateAddressResponse-    :: Int -- ^ 'arsStatus'+    :: Int -- ^ 'arsResponseStatus'     -> AssociateAddressResponse-associateAddressResponse pStatus_ =+associateAddressResponse pResponseStatus_ =     AssociateAddressResponse'     { _arsAssociationId = Nothing-    , _arsStatus = pStatus_+    , _arsResponseStatus = pResponseStatus_     }  -- | [EC2-VPC] The ID that represents the association of the Elastic IP@@ -205,5 +205,5 @@ arsAssociationId = lens _arsAssociationId (\ s a -> s{_arsAssociationId = a});  -- | The response status code.-arsStatus :: Lens' AssociateAddressResponse Int-arsStatus = lens _arsStatus (\ s a -> s{_arsStatus = a});+arsResponseStatus :: Lens' AssociateAddressResponse Int+arsResponseStatus = lens _arsResponseStatus (\ s a -> s{_arsResponseStatus = a});
gen/Network/AWS/EC2/AssociateRouteTable.hs view
@@ -45,7 +45,7 @@     , AssociateRouteTableResponse     -- * Response Lenses     , artrsAssociationId-    , artrsStatus+    , artrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -122,8 +122,8 @@  -- | /See:/ 'associateRouteTableResponse' smart constructor. data AssociateRouteTableResponse = AssociateRouteTableResponse'-    { _artrsAssociationId :: !(Maybe Text)-    , _artrsStatus        :: !Int+    { _artrsAssociationId  :: !(Maybe Text)+    , _artrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'AssociateRouteTableResponse' with the minimum fields required to make a request.@@ -132,14 +132,14 @@ -- -- * 'artrsAssociationId' ----- * 'artrsStatus'+-- * 'artrsResponseStatus' associateRouteTableResponse-    :: Int -- ^ 'artrsStatus'+    :: Int -- ^ 'artrsResponseStatus'     -> AssociateRouteTableResponse-associateRouteTableResponse pStatus_ =+associateRouteTableResponse pResponseStatus_ =     AssociateRouteTableResponse'     { _artrsAssociationId = Nothing-    , _artrsStatus = pStatus_+    , _artrsResponseStatus = pResponseStatus_     }  -- | The route table association ID (needed to disassociate the route table).@@ -147,5 +147,5 @@ artrsAssociationId = lens _artrsAssociationId (\ s a -> s{_artrsAssociationId = a});  -- | The response status code.-artrsStatus :: Lens' AssociateRouteTableResponse Int-artrsStatus = lens _artrsStatus (\ s a -> s{_artrsStatus = a});+artrsResponseStatus :: Lens' AssociateRouteTableResponse Int+artrsResponseStatus = lens _artrsResponseStatus (\ s a -> s{_artrsResponseStatus = a});
gen/Network/AWS/EC2/AttachClassicLinkVPC.hs view
@@ -49,7 +49,7 @@     , AttachClassicLinkVPCResponse     -- * Response Lenses     , aclvrsReturn-    , aclvrsStatus+    , aclvrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -138,8 +138,8 @@  -- | /See:/ 'attachClassicLinkVPCResponse' smart constructor. data AttachClassicLinkVPCResponse = AttachClassicLinkVPCResponse'-    { _aclvrsReturn :: !(Maybe Bool)-    , _aclvrsStatus :: !Int+    { _aclvrsReturn         :: !(Maybe Bool)+    , _aclvrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'AttachClassicLinkVPCResponse' with the minimum fields required to make a request.@@ -148,14 +148,14 @@ -- -- * 'aclvrsReturn' ----- * 'aclvrsStatus'+-- * 'aclvrsResponseStatus' attachClassicLinkVPCResponse-    :: Int -- ^ 'aclvrsStatus'+    :: Int -- ^ 'aclvrsResponseStatus'     -> AttachClassicLinkVPCResponse-attachClassicLinkVPCResponse pStatus_ =+attachClassicLinkVPCResponse pResponseStatus_ =     AttachClassicLinkVPCResponse'     { _aclvrsReturn = Nothing-    , _aclvrsStatus = pStatus_+    , _aclvrsResponseStatus = pResponseStatus_     }  -- | Returns 'true' if the request succeeds; otherwise, it returns an error.@@ -163,5 +163,5 @@ aclvrsReturn = lens _aclvrsReturn (\ s a -> s{_aclvrsReturn = a});  -- | The response status code.-aclvrsStatus :: Lens' AttachClassicLinkVPCResponse Int-aclvrsStatus = lens _aclvrsStatus (\ s a -> s{_aclvrsStatus = a});+aclvrsResponseStatus :: Lens' AttachClassicLinkVPCResponse Int+aclvrsResponseStatus = lens _aclvrsResponseStatus (\ s a -> s{_aclvrsResponseStatus = a});
gen/Network/AWS/EC2/AttachNetworkInterface.hs view
@@ -37,7 +37,7 @@     , AttachNetworkInterfaceResponse     -- * Response Lenses     , anirsAttachmentId-    , anirsStatus+    , anirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -126,8 +126,8 @@  -- | /See:/ 'attachNetworkInterfaceResponse' smart constructor. data AttachNetworkInterfaceResponse = AttachNetworkInterfaceResponse'-    { _anirsAttachmentId :: !(Maybe Text)-    , _anirsStatus       :: !Int+    { _anirsAttachmentId   :: !(Maybe Text)+    , _anirsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'AttachNetworkInterfaceResponse' with the minimum fields required to make a request.@@ -136,14 +136,14 @@ -- -- * 'anirsAttachmentId' ----- * 'anirsStatus'+-- * 'anirsResponseStatus' attachNetworkInterfaceResponse-    :: Int -- ^ 'anirsStatus'+    :: Int -- ^ 'anirsResponseStatus'     -> AttachNetworkInterfaceResponse-attachNetworkInterfaceResponse pStatus_ =+attachNetworkInterfaceResponse pResponseStatus_ =     AttachNetworkInterfaceResponse'     { _anirsAttachmentId = Nothing-    , _anirsStatus = pStatus_+    , _anirsResponseStatus = pResponseStatus_     }  -- | The ID of the network interface attachment.@@ -151,5 +151,5 @@ anirsAttachmentId = lens _anirsAttachmentId (\ s a -> s{_anirsAttachmentId = a});  -- | The response status code.-anirsStatus :: Lens' AttachNetworkInterfaceResponse Int-anirsStatus = lens _anirsStatus (\ s a -> s{_anirsStatus = a});+anirsResponseStatus :: Lens' AttachNetworkInterfaceResponse Int+anirsResponseStatus = lens _anirsResponseStatus (\ s a -> s{_anirsResponseStatus = a});
gen/Network/AWS/EC2/AttachVPNGateway.hs view
@@ -38,7 +38,7 @@     , AttachVPNGatewayResponse     -- * Response Lenses     , avgrsVPCAttachment-    , avgrsStatus+    , avgrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -115,8 +115,8 @@  -- | /See:/ 'attachVPNGatewayResponse' smart constructor. data AttachVPNGatewayResponse = AttachVPNGatewayResponse'-    { _avgrsVPCAttachment :: !(Maybe VPCAttachment)-    , _avgrsStatus        :: !Int+    { _avgrsVPCAttachment  :: !(Maybe VPCAttachment)+    , _avgrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'AttachVPNGatewayResponse' with the minimum fields required to make a request.@@ -125,14 +125,14 @@ -- -- * 'avgrsVPCAttachment' ----- * 'avgrsStatus'+-- * 'avgrsResponseStatus' attachVPNGatewayResponse-    :: Int -- ^ 'avgrsStatus'+    :: Int -- ^ 'avgrsResponseStatus'     -> AttachVPNGatewayResponse-attachVPNGatewayResponse pStatus_ =+attachVPNGatewayResponse pResponseStatus_ =     AttachVPNGatewayResponse'     { _avgrsVPCAttachment = Nothing-    , _avgrsStatus = pStatus_+    , _avgrsResponseStatus = pResponseStatus_     }  -- | Information about the attachment.@@ -140,5 +140,5 @@ avgrsVPCAttachment = lens _avgrsVPCAttachment (\ s a -> s{_avgrsVPCAttachment = a});  -- | The response status code.-avgrsStatus :: Lens' AttachVPNGatewayResponse Int-avgrsStatus = lens _avgrsStatus (\ s a -> s{_avgrsStatus = a});+avgrsResponseStatus :: Lens' AttachVPNGatewayResponse Int+avgrsResponseStatus = lens _avgrsResponseStatus (\ s a -> s{_avgrsResponseStatus = a});
gen/Network/AWS/EC2/AuthorizeSecurityGroupIngress.hs view
@@ -53,8 +53,8 @@     , asgiGroupId     , asgiToPort     , asgiCIdRIP-    , asgiGroupName     , asgiSourceSecurityGroupOwnerId+    , asgiGroupName     , asgiSourceSecurityGroupName     , asgiDryRun @@ -77,8 +77,8 @@     , _asgiGroupId                    :: !(Maybe Text)     , _asgiToPort                     :: !(Maybe Int)     , _asgiCIdRIP                     :: !(Maybe Text)-    , _asgiGroupName                  :: !(Maybe Text)     , _asgiSourceSecurityGroupOwnerId :: !(Maybe Text)+    , _asgiGroupName                  :: !(Maybe Text)     , _asgiSourceSecurityGroupName    :: !(Maybe Text)     , _asgiDryRun                     :: !(Maybe Bool)     } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -99,10 +99,10 @@ -- -- * 'asgiCIdRIP' ----- * 'asgiGroupName'--- -- * 'asgiSourceSecurityGroupOwnerId' --+-- * 'asgiGroupName'+-- -- * 'asgiSourceSecurityGroupName' -- -- * 'asgiDryRun'@@ -116,8 +116,8 @@     , _asgiGroupId = Nothing     , _asgiToPort = Nothing     , _asgiCIdRIP = Nothing-    , _asgiGroupName = Nothing     , _asgiSourceSecurityGroupOwnerId = Nothing+    , _asgiGroupName = Nothing     , _asgiSourceSecurityGroupName = Nothing     , _asgiDryRun = Nothing     }@@ -153,10 +153,6 @@ 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});- -- | [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@@ -168,6 +164,10 @@ asgiSourceSecurityGroupOwnerId :: Lens' AuthorizeSecurityGroupIngress (Maybe Text) asgiSourceSecurityGroupOwnerId = lens _asgiSourceSecurityGroupOwnerId (\ s a -> s{_asgiSourceSecurityGroupOwnerId = a}); +-- | [EC2-Classic, default VPC] The name of the security group.+asgiGroupName :: Lens' AuthorizeSecurityGroupIngress (Maybe Text)+asgiGroupName = lens _asgiGroupName (\ s a -> s{_asgiGroupName = a});+ -- | [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@@ -210,9 +210,9 @@                "IpProtocol" =: _asgiIPProtocol,                "GroupId" =: _asgiGroupId, "ToPort" =: _asgiToPort,                "CidrIp" =: _asgiCIdRIP,-               "GroupName" =: _asgiGroupName,                "SourceSecurityGroupOwnerId" =:                  _asgiSourceSecurityGroupOwnerId,+               "GroupName" =: _asgiGroupName,                "SourceSecurityGroupName" =:                  _asgiSourceSecurityGroupName,                "DryRun" =: _asgiDryRun]
gen/Network/AWS/EC2/BundleInstance.hs view
@@ -45,7 +45,7 @@     , BundleInstanceResponse     -- * Response Lenses     , birsBundleTask-    , birsStatus+    , birsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -130,8 +130,8 @@  -- | /See:/ 'bundleInstanceResponse' smart constructor. data BundleInstanceResponse = BundleInstanceResponse'-    { _birsBundleTask :: !(Maybe BundleTask)-    , _birsStatus     :: !Int+    { _birsBundleTask     :: !(Maybe BundleTask)+    , _birsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'BundleInstanceResponse' with the minimum fields required to make a request.@@ -140,14 +140,14 @@ -- -- * 'birsBundleTask' ----- * 'birsStatus'+-- * 'birsResponseStatus' bundleInstanceResponse-    :: Int -- ^ 'birsStatus'+    :: Int -- ^ 'birsResponseStatus'     -> BundleInstanceResponse-bundleInstanceResponse pStatus_ =+bundleInstanceResponse pResponseStatus_ =     BundleInstanceResponse'     { _birsBundleTask = Nothing-    , _birsStatus = pStatus_+    , _birsResponseStatus = pResponseStatus_     }  -- | Information about the bundle task.@@ -155,5 +155,5 @@ birsBundleTask = lens _birsBundleTask (\ s a -> s{_birsBundleTask = a});  -- | The response status code.-birsStatus :: Lens' BundleInstanceResponse Int-birsStatus = lens _birsStatus (\ s a -> s{_birsStatus = a});+birsResponseStatus :: Lens' BundleInstanceResponse Int+birsResponseStatus = lens _birsResponseStatus (\ s a -> s{_birsResponseStatus = a});
gen/Network/AWS/EC2/CancelBundleTask.hs view
@@ -36,7 +36,7 @@     , CancelBundleTaskResponse     -- * Response Lenses     , cbtrsBundleTask-    , cbtrsStatus+    , cbtrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -102,8 +102,8 @@  -- | /See:/ 'cancelBundleTaskResponse' smart constructor. data CancelBundleTaskResponse = CancelBundleTaskResponse'-    { _cbtrsBundleTask :: !(Maybe BundleTask)-    , _cbtrsStatus     :: !Int+    { _cbtrsBundleTask     :: !(Maybe BundleTask)+    , _cbtrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CancelBundleTaskResponse' with the minimum fields required to make a request.@@ -112,14 +112,14 @@ -- -- * 'cbtrsBundleTask' ----- * 'cbtrsStatus'+-- * 'cbtrsResponseStatus' cancelBundleTaskResponse-    :: Int -- ^ 'cbtrsStatus'+    :: Int -- ^ 'cbtrsResponseStatus'     -> CancelBundleTaskResponse-cancelBundleTaskResponse pStatus_ =+cancelBundleTaskResponse pResponseStatus_ =     CancelBundleTaskResponse'     { _cbtrsBundleTask = Nothing-    , _cbtrsStatus = pStatus_+    , _cbtrsResponseStatus = pResponseStatus_     }  -- | Information about the bundle task.@@ -127,5 +127,5 @@ cbtrsBundleTask = lens _cbtrsBundleTask (\ s a -> s{_cbtrsBundleTask = a});  -- | The response status code.-cbtrsStatus :: Lens' CancelBundleTaskResponse Int-cbtrsStatus = lens _cbtrsStatus (\ s a -> s{_cbtrsStatus = a});+cbtrsResponseStatus :: Lens' CancelBundleTaskResponse Int+cbtrsResponseStatus = lens _cbtrsResponseStatus (\ s a -> s{_cbtrsResponseStatus = a});
gen/Network/AWS/EC2/CancelImportTask.hs view
@@ -38,7 +38,7 @@     , citrsState     , citrsImportTaskId     , citrsPreviousState-    , citrsStatus+    , citrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -115,10 +115,10 @@  -- | /See:/ 'cancelImportTaskResponse' smart constructor. data CancelImportTaskResponse = CancelImportTaskResponse'-    { _citrsState         :: !(Maybe Text)-    , _citrsImportTaskId  :: !(Maybe Text)-    , _citrsPreviousState :: !(Maybe Text)-    , _citrsStatus        :: !Int+    { _citrsState          :: !(Maybe Text)+    , _citrsImportTaskId   :: !(Maybe Text)+    , _citrsPreviousState  :: !(Maybe Text)+    , _citrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CancelImportTaskResponse' with the minimum fields required to make a request.@@ -131,16 +131,16 @@ -- -- * 'citrsPreviousState' ----- * 'citrsStatus'+-- * 'citrsResponseStatus' cancelImportTaskResponse-    :: Int -- ^ 'citrsStatus'+    :: Int -- ^ 'citrsResponseStatus'     -> CancelImportTaskResponse-cancelImportTaskResponse pStatus_ =+cancelImportTaskResponse pResponseStatus_ =     CancelImportTaskResponse'     { _citrsState = Nothing     , _citrsImportTaskId = Nothing     , _citrsPreviousState = Nothing-    , _citrsStatus = pStatus_+    , _citrsResponseStatus = pResponseStatus_     }  -- | The current state of the task being canceled.@@ -156,5 +156,5 @@ citrsPreviousState = lens _citrsPreviousState (\ s a -> s{_citrsPreviousState = a});  -- | The response status code.-citrsStatus :: Lens' CancelImportTaskResponse Int-citrsStatus = lens _citrsStatus (\ s a -> s{_citrsStatus = a});+citrsResponseStatus :: Lens' CancelImportTaskResponse Int+citrsResponseStatus = lens _citrsResponseStatus (\ s a -> s{_citrsResponseStatus = a});
gen/Network/AWS/EC2/CancelReservedInstancesListing.hs view
@@ -39,7 +39,7 @@     , CancelReservedInstancesListingResponse     -- * Response Lenses     , crilrsReservedInstancesListings-    , crilrsStatus+    , crilrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -102,7 +102,7 @@ -- | /See:/ 'cancelReservedInstancesListingResponse' smart constructor. data CancelReservedInstancesListingResponse = CancelReservedInstancesListingResponse'     { _crilrsReservedInstancesListings :: !(Maybe [ReservedInstancesListing])-    , _crilrsStatus                    :: !Int+    , _crilrsResponseStatus            :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CancelReservedInstancesListingResponse' with the minimum fields required to make a request.@@ -111,14 +111,14 @@ -- -- * 'crilrsReservedInstancesListings' ----- * 'crilrsStatus'+-- * 'crilrsResponseStatus' cancelReservedInstancesListingResponse-    :: Int -- ^ 'crilrsStatus'+    :: Int -- ^ 'crilrsResponseStatus'     -> CancelReservedInstancesListingResponse-cancelReservedInstancesListingResponse pStatus_ =+cancelReservedInstancesListingResponse pResponseStatus_ =     CancelReservedInstancesListingResponse'     { _crilrsReservedInstancesListings = Nothing-    , _crilrsStatus = pStatus_+    , _crilrsResponseStatus = pResponseStatus_     }  -- | The Reserved Instance listing.@@ -126,5 +126,5 @@ crilrsReservedInstancesListings = lens _crilrsReservedInstancesListings (\ s a -> s{_crilrsReservedInstancesListings = a}) . _Default . _Coerce;  -- | The response status code.-crilrsStatus :: Lens' CancelReservedInstancesListingResponse Int-crilrsStatus = lens _crilrsStatus (\ s a -> s{_crilrsStatus = a});+crilrsResponseStatus :: Lens' CancelReservedInstancesListingResponse Int+crilrsResponseStatus = lens _crilrsResponseStatus (\ s a -> s{_crilrsResponseStatus = a});
gen/Network/AWS/EC2/CancelSpotFleetRequests.hs view
@@ -37,7 +37,7 @@     -- * Response Lenses     , csfrrsSuccessfulFleetRequests     , csfrrsUnsuccessfulFleetRequests-    , csfrrsStatus+    , csfrrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -128,7 +128,7 @@ data CancelSpotFleetRequestsResponse = CancelSpotFleetRequestsResponse'     { _csfrrsSuccessfulFleetRequests   :: !(Maybe [CancelSpotFleetRequestsSuccessItem])     , _csfrrsUnsuccessfulFleetRequests :: !(Maybe [CancelSpotFleetRequestsErrorItem])-    , _csfrrsStatus                    :: !Int+    , _csfrrsResponseStatus            :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CancelSpotFleetRequestsResponse' with the minimum fields required to make a request.@@ -139,15 +139,15 @@ -- -- * 'csfrrsUnsuccessfulFleetRequests' ----- * 'csfrrsStatus'+-- * 'csfrrsResponseStatus' cancelSpotFleetRequestsResponse-    :: Int -- ^ 'csfrrsStatus'+    :: Int -- ^ 'csfrrsResponseStatus'     -> CancelSpotFleetRequestsResponse-cancelSpotFleetRequestsResponse pStatus_ =+cancelSpotFleetRequestsResponse pResponseStatus_ =     CancelSpotFleetRequestsResponse'     { _csfrrsSuccessfulFleetRequests = Nothing     , _csfrrsUnsuccessfulFleetRequests = Nothing-    , _csfrrsStatus = pStatus_+    , _csfrrsResponseStatus = pResponseStatus_     }  -- | Information about the Spot fleet requests that are successfully@@ -161,5 +161,5 @@ 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});+csfrrsResponseStatus :: Lens' CancelSpotFleetRequestsResponse Int+csfrrsResponseStatus = lens _csfrrsResponseStatus (\ s a -> s{_csfrrsResponseStatus = a});
gen/Network/AWS/EC2/CancelSpotInstanceRequests.hs view
@@ -44,7 +44,7 @@     , CancelSpotInstanceRequestsResponse     -- * Response Lenses     , csirrsCancelledSpotInstanceRequests-    , csirrsStatus+    , csirrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -120,7 +120,7 @@ -- /See:/ 'cancelSpotInstanceRequestsResponse' smart constructor. data CancelSpotInstanceRequestsResponse = CancelSpotInstanceRequestsResponse'     { _csirrsCancelledSpotInstanceRequests :: !(Maybe [CancelledSpotInstanceRequest])-    , _csirrsStatus                        :: !Int+    , _csirrsResponseStatus                :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CancelSpotInstanceRequestsResponse' with the minimum fields required to make a request.@@ -129,14 +129,14 @@ -- -- * 'csirrsCancelledSpotInstanceRequests' ----- * 'csirrsStatus'+-- * 'csirrsResponseStatus' cancelSpotInstanceRequestsResponse-    :: Int -- ^ 'csirrsStatus'+    :: Int -- ^ 'csirrsResponseStatus'     -> CancelSpotInstanceRequestsResponse-cancelSpotInstanceRequestsResponse pStatus_ =+cancelSpotInstanceRequestsResponse pResponseStatus_ =     CancelSpotInstanceRequestsResponse'     { _csirrsCancelledSpotInstanceRequests = Nothing-    , _csirrsStatus = pStatus_+    , _csirrsResponseStatus = pResponseStatus_     }  -- | One or more Spot Instance requests.@@ -144,5 +144,5 @@ csirrsCancelledSpotInstanceRequests = lens _csirrsCancelledSpotInstanceRequests (\ s a -> s{_csirrsCancelledSpotInstanceRequests = a}) . _Default . _Coerce;  -- | The response status code.-csirrsStatus :: Lens' CancelSpotInstanceRequestsResponse Int-csirrsStatus = lens _csirrsStatus (\ s a -> s{_csirrsStatus = a});+csirrsResponseStatus :: Lens' CancelSpotInstanceRequestsResponse Int+csirrsResponseStatus = lens _csirrsResponseStatus (\ s a -> s{_csirrsResponseStatus = a});
gen/Network/AWS/EC2/ConfirmProductInstance.hs view
@@ -40,7 +40,7 @@     -- * Response Lenses     , cpirsReturn     , cpirsOwnerId-    , cpirsStatus+    , cpirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -120,9 +120,9 @@  -- | /See:/ 'confirmProductInstanceResponse' smart constructor. data ConfirmProductInstanceResponse = ConfirmProductInstanceResponse'-    { _cpirsReturn  :: !(Maybe Bool)-    , _cpirsOwnerId :: !(Maybe Text)-    , _cpirsStatus  :: !Int+    { _cpirsReturn         :: !(Maybe Bool)+    , _cpirsOwnerId        :: !(Maybe Text)+    , _cpirsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'ConfirmProductInstanceResponse' with the minimum fields required to make a request.@@ -133,15 +133,15 @@ -- -- * 'cpirsOwnerId' ----- * 'cpirsStatus'+-- * 'cpirsResponseStatus' confirmProductInstanceResponse-    :: Int -- ^ 'cpirsStatus'+    :: Int -- ^ 'cpirsResponseStatus'     -> ConfirmProductInstanceResponse-confirmProductInstanceResponse pStatus_ =+confirmProductInstanceResponse pResponseStatus_ =     ConfirmProductInstanceResponse'     { _cpirsReturn = Nothing     , _cpirsOwnerId = Nothing-    , _cpirsStatus = pStatus_+    , _cpirsResponseStatus = pResponseStatus_     }  -- | The return value of the request. Returns 'true' if the specified product@@ -156,5 +156,5 @@ cpirsOwnerId = lens _cpirsOwnerId (\ s a -> s{_cpirsOwnerId = a});  -- | The response status code.-cpirsStatus :: Lens' ConfirmProductInstanceResponse Int-cpirsStatus = lens _cpirsStatus (\ s a -> s{_cpirsStatus = a});+cpirsResponseStatus :: Lens' ConfirmProductInstanceResponse Int+cpirsResponseStatus = lens _cpirsResponseStatus (\ s a -> s{_cpirsResponseStatus = a});
gen/Network/AWS/EC2/CopyImage.hs view
@@ -35,8 +35,8 @@     , CopyImage     -- * Request Lenses     , ciClientToken-    , ciDryRun     , ciDescription+    , ciDryRun     , ciSourceRegion     , ciSourceImageId     , ciName@@ -46,7 +46,7 @@     , CopyImageResponse     -- * Response Lenses     , coprsImageId-    , coprsStatus+    , coprsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -58,8 +58,8 @@ -- | /See:/ 'copyImage' smart constructor. data CopyImage = CopyImage'     { _ciClientToken   :: !(Maybe Text)-    , _ciDryRun        :: !(Maybe Bool)     , _ciDescription   :: !(Maybe Text)+    , _ciDryRun        :: !(Maybe Bool)     , _ciSourceRegion  :: !Text     , _ciSourceImageId :: !Text     , _ciName          :: !Text@@ -71,10 +71,10 @@ -- -- * 'ciClientToken' ----- * 'ciDryRun'--- -- * 'ciDescription' --+-- * 'ciDryRun'+-- -- * 'ciSourceRegion' -- -- * 'ciSourceImageId'@@ -88,8 +88,8 @@ copyImage pSourceRegion_ pSourceImageId_ pName_ =     CopyImage'     { _ciClientToken = Nothing-    , _ciDryRun = Nothing     , _ciDescription = Nothing+    , _ciDryRun = Nothing     , _ciSourceRegion = pSourceRegion_     , _ciSourceImageId = pSourceImageId_     , _ciName = pName_@@ -102,6 +102,10 @@ 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});+ -- | Checks whether you have the required permissions for the action, without -- actually making the request, and provides an error response. If you have -- the required permissions, the error response is 'DryRunOperation'.@@ -109,10 +113,6 @@ ciDryRun :: Lens' CopyImage (Maybe Bool) ciDryRun = lens _ciDryRun (\ s a -> s{_ciDryRun = 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});@@ -146,16 +146,16 @@               ["Action" =: ("CopyImage" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),                "ClientToken" =: _ciClientToken,-               "DryRun" =: _ciDryRun,                "Description" =: _ciDescription,+               "DryRun" =: _ciDryRun,                "SourceRegion" =: _ciSourceRegion,                "SourceImageId" =: _ciSourceImageId,                "Name" =: _ciName]  -- | /See:/ 'copyImageResponse' smart constructor. data CopyImageResponse = CopyImageResponse'-    { _coprsImageId :: !(Maybe Text)-    , _coprsStatus  :: !Int+    { _coprsImageId        :: !(Maybe Text)+    , _coprsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CopyImageResponse' with the minimum fields required to make a request.@@ -164,14 +164,14 @@ -- -- * 'coprsImageId' ----- * 'coprsStatus'+-- * 'coprsResponseStatus' copyImageResponse-    :: Int -- ^ 'coprsStatus'+    :: Int -- ^ 'coprsResponseStatus'     -> CopyImageResponse-copyImageResponse pStatus_ =+copyImageResponse pResponseStatus_ =     CopyImageResponse'     { _coprsImageId = Nothing-    , _coprsStatus = pStatus_+    , _coprsResponseStatus = pResponseStatus_     }  -- | The ID of the new AMI.@@ -179,5 +179,5 @@ coprsImageId = lens _coprsImageId (\ s a -> s{_coprsImageId = a});  -- | The response status code.-coprsStatus :: Lens' CopyImageResponse Int-coprsStatus = lens _coprsStatus (\ s a -> s{_coprsStatus = a});+coprsResponseStatus :: Lens' CopyImageResponse Int+coprsResponseStatus = lens _coprsResponseStatus (\ s a -> s{_coprsResponseStatus = a});
gen/Network/AWS/EC2/CopySnapshot.hs view
@@ -42,12 +42,12 @@       copySnapshot     , CopySnapshot     -- * Request Lenses-    , csEncrypted     , csPresignedURL+    , csEncrypted     , csDestinationRegion     , csKMSKeyId-    , csDryRun     , csDescription+    , csDryRun     , csSourceRegion     , csSourceSnapshotId @@ -56,7 +56,7 @@     , CopySnapshotResponse     -- * Response Lenses     , csrsSnapshotId-    , csrsStatus+    , csrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -67,12 +67,12 @@  -- | /See:/ 'copySnapshot' smart constructor. data CopySnapshot = CopySnapshot'-    { _csEncrypted         :: !(Maybe Bool)-    , _csPresignedURL      :: !(Maybe Text)+    { _csPresignedURL      :: !(Maybe Text)+    , _csEncrypted         :: !(Maybe Bool)     , _csDestinationRegion :: !(Maybe Text)     , _csKMSKeyId          :: !(Maybe Text)-    , _csDryRun            :: !(Maybe Bool)     , _csDescription       :: !(Maybe Text)+    , _csDryRun            :: !(Maybe Bool)     , _csSourceRegion      :: !Text     , _csSourceSnapshotId  :: !Text     } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -81,18 +81,18 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'csEncrypted'--- -- * 'csPresignedURL' --+-- * 'csEncrypted'+-- -- * 'csDestinationRegion' -- -- * 'csKMSKeyId' ----- * 'csDryRun'--- -- * 'csDescription' --+-- * 'csDryRun'+-- -- * 'csSourceRegion' -- -- * 'csSourceSnapshotId'@@ -102,27 +102,16 @@     -> CopySnapshot copySnapshot pSourceRegion_ pSourceSnapshotId_ =     CopySnapshot'-    { _csEncrypted = Nothing-    , _csPresignedURL = Nothing+    { _csPresignedURL = Nothing+    , _csEncrypted = Nothing     , _csDestinationRegion = Nothing     , _csKMSKeyId = Nothing-    , _csDryRun = Nothing     , _csDescription = Nothing+    , _csDryRun = Nothing     , _csSourceRegion = pSourceRegion_     , _csSourceSnapshotId = pSourceSnapshotId_     } --- | 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 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@@ -139,6 +128,17 @@ csPresignedURL :: Lens' CopySnapshot (Maybe Text) csPresignedURL = lens _csPresignedURL (\ s a -> s{_csPresignedURL = 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.@@ -163,6 +163,10 @@ csKMSKeyId :: Lens' CopySnapshot (Maybe Text) csKMSKeyId = lens _csKMSKeyId (\ s a -> s{_csKMSKeyId = a}); +-- | A description for the EBS snapshot.+csDescription :: Lens' CopySnapshot (Maybe Text)+csDescription = lens _csDescription (\ s a -> s{_csDescription = 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'.@@ -170,10 +174,6 @@ csDryRun :: Lens' CopySnapshot (Maybe Bool) csDryRun = lens _csDryRun (\ s a -> s{_csDryRun = 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});@@ -202,18 +202,19 @@           = mconcat               ["Action" =: ("CopySnapshot" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),-               "Encrypted" =: _csEncrypted,                "PresignedUrl" =: _csPresignedURL,+               "Encrypted" =: _csEncrypted,                "DestinationRegion" =: _csDestinationRegion,-               "KmsKeyId" =: _csKMSKeyId, "DryRun" =: _csDryRun,+               "KmsKeyId" =: _csKMSKeyId,                "Description" =: _csDescription,+               "DryRun" =: _csDryRun,                "SourceRegion" =: _csSourceRegion,                "SourceSnapshotId" =: _csSourceSnapshotId]  -- | /See:/ 'copySnapshotResponse' smart constructor. data CopySnapshotResponse = CopySnapshotResponse'-    { _csrsSnapshotId :: !(Maybe Text)-    , _csrsStatus     :: !Int+    { _csrsSnapshotId     :: !(Maybe Text)+    , _csrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CopySnapshotResponse' with the minimum fields required to make a request.@@ -222,14 +223,14 @@ -- -- * 'csrsSnapshotId' ----- * 'csrsStatus'+-- * 'csrsResponseStatus' copySnapshotResponse-    :: Int -- ^ 'csrsStatus'+    :: Int -- ^ 'csrsResponseStatus'     -> CopySnapshotResponse-copySnapshotResponse pStatus_ =+copySnapshotResponse pResponseStatus_ =     CopySnapshotResponse'     { _csrsSnapshotId = Nothing-    , _csrsStatus = pStatus_+    , _csrsResponseStatus = pResponseStatus_     }  -- | The ID of the new snapshot.@@ -237,5 +238,5 @@ csrsSnapshotId = lens _csrsSnapshotId (\ s a -> s{_csrsSnapshotId = a});  -- | The response status code.-csrsStatus :: Lens' CopySnapshotResponse Int-csrsStatus = lens _csrsStatus (\ s a -> s{_csrsStatus = a});+csrsResponseStatus :: Lens' CopySnapshotResponse Int+csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a});
gen/Network/AWS/EC2/CreateCustomerGateway.hs view
@@ -63,7 +63,7 @@     , CreateCustomerGatewayResponse     -- * Response Lenses     , ccgrsCustomerGateway-    , ccgrsStatus+    , ccgrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -154,7 +154,7 @@ -- | /See:/ 'createCustomerGatewayResponse' smart constructor. data CreateCustomerGatewayResponse = CreateCustomerGatewayResponse'     { _ccgrsCustomerGateway :: !(Maybe CustomerGateway)-    , _ccgrsStatus          :: !Int+    , _ccgrsResponseStatus  :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateCustomerGatewayResponse' with the minimum fields required to make a request.@@ -163,14 +163,14 @@ -- -- * 'ccgrsCustomerGateway' ----- * 'ccgrsStatus'+-- * 'ccgrsResponseStatus' createCustomerGatewayResponse-    :: Int -- ^ 'ccgrsStatus'+    :: Int -- ^ 'ccgrsResponseStatus'     -> CreateCustomerGatewayResponse-createCustomerGatewayResponse pStatus_ =+createCustomerGatewayResponse pResponseStatus_ =     CreateCustomerGatewayResponse'     { _ccgrsCustomerGateway = Nothing-    , _ccgrsStatus = pStatus_+    , _ccgrsResponseStatus = pResponseStatus_     }  -- | Information about the customer gateway.@@ -178,5 +178,5 @@ ccgrsCustomerGateway = lens _ccgrsCustomerGateway (\ s a -> s{_ccgrsCustomerGateway = a});  -- | The response status code.-ccgrsStatus :: Lens' CreateCustomerGatewayResponse Int-ccgrsStatus = lens _ccgrsStatus (\ s a -> s{_ccgrsStatus = a});+ccgrsResponseStatus :: Lens' CreateCustomerGatewayResponse Int+ccgrsResponseStatus = lens _ccgrsResponseStatus (\ s a -> s{_ccgrsResponseStatus = a});
gen/Network/AWS/EC2/CreateDHCPOptions.hs view
@@ -73,7 +73,7 @@     , CreateDHCPOptionsResponse     -- * Response Lenses     , cdorsDHCPOptions-    , cdorsStatus+    , cdorsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -140,8 +140,8 @@  -- | /See:/ 'createDHCPOptionsResponse' smart constructor. data CreateDHCPOptionsResponse = CreateDHCPOptionsResponse'-    { _cdorsDHCPOptions :: !(Maybe DHCPOptions)-    , _cdorsStatus      :: !Int+    { _cdorsDHCPOptions    :: !(Maybe DHCPOptions)+    , _cdorsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateDHCPOptionsResponse' with the minimum fields required to make a request.@@ -150,14 +150,14 @@ -- -- * 'cdorsDHCPOptions' ----- * 'cdorsStatus'+-- * 'cdorsResponseStatus' createDHCPOptionsResponse-    :: Int -- ^ 'cdorsStatus'+    :: Int -- ^ 'cdorsResponseStatus'     -> CreateDHCPOptionsResponse-createDHCPOptionsResponse pStatus_ =+createDHCPOptionsResponse pResponseStatus_ =     CreateDHCPOptionsResponse'     { _cdorsDHCPOptions = Nothing-    , _cdorsStatus = pStatus_+    , _cdorsResponseStatus = pResponseStatus_     }  -- | A set of DHCP options.@@ -165,5 +165,5 @@ cdorsDHCPOptions = lens _cdorsDHCPOptions (\ s a -> s{_cdorsDHCPOptions = a});  -- | The response status code.-cdorsStatus :: Lens' CreateDHCPOptionsResponse Int-cdorsStatus = lens _cdorsStatus (\ s a -> s{_cdorsStatus = a});+cdorsResponseStatus :: Lens' CreateDHCPOptionsResponse Int+cdorsResponseStatus = lens _cdorsResponseStatus (\ s a -> s{_cdorsResponseStatus = a});
gen/Network/AWS/EC2/CreateFlowLogs.hs view
@@ -50,7 +50,7 @@     , cflrsUnsuccessful     , cflrsClientToken     , cflrsFlowLogIds-    , cflrsStatus+    , cflrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -163,10 +163,10 @@  -- | /See:/ 'createFlowLogsResponse' smart constructor. data CreateFlowLogsResponse = CreateFlowLogsResponse'-    { _cflrsUnsuccessful :: !(Maybe [UnsuccessfulItem])-    , _cflrsClientToken  :: !(Maybe Text)-    , _cflrsFlowLogIds   :: !(Maybe [Text])-    , _cflrsStatus       :: !Int+    { _cflrsUnsuccessful   :: !(Maybe [UnsuccessfulItem])+    , _cflrsClientToken    :: !(Maybe Text)+    , _cflrsFlowLogIds     :: !(Maybe [Text])+    , _cflrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateFlowLogsResponse' with the minimum fields required to make a request.@@ -179,16 +179,16 @@ -- -- * 'cflrsFlowLogIds' ----- * 'cflrsStatus'+-- * 'cflrsResponseStatus' createFlowLogsResponse-    :: Int -- ^ 'cflrsStatus'+    :: Int -- ^ 'cflrsResponseStatus'     -> CreateFlowLogsResponse-createFlowLogsResponse pStatus_ =+createFlowLogsResponse pResponseStatus_ =     CreateFlowLogsResponse'     { _cflrsUnsuccessful = Nothing     , _cflrsClientToken = Nothing     , _cflrsFlowLogIds = Nothing-    , _cflrsStatus = pStatus_+    , _cflrsResponseStatus = pResponseStatus_     }  -- | Information about the flow logs that could not be created successfully.@@ -205,5 +205,5 @@ 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});+cflrsResponseStatus :: Lens' CreateFlowLogsResponse Int+cflrsResponseStatus = lens _cflrsResponseStatus (\ s a -> s{_cflrsResponseStatus = a});
gen/Network/AWS/EC2/CreateImage.hs view
@@ -39,9 +39,9 @@     , CreateImage     -- * Request Lenses     , ciiNoReboot+    , ciiDescription     , ciiBlockDeviceMappings     , ciiDryRun-    , ciiDescription     , ciiInstanceId     , ciiName @@ -50,7 +50,7 @@     , CreateImageResponse     -- * Response Lenses     , cirsImageId-    , cirsStatus+    , cirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -62,9 +62,9 @@ -- | /See:/ 'createImage' smart constructor. data CreateImage = CreateImage'     { _ciiNoReboot            :: !(Maybe Bool)+    , _ciiDescription         :: !(Maybe Text)     , _ciiBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])     , _ciiDryRun              :: !(Maybe Bool)-    , _ciiDescription         :: !(Maybe Text)     , _ciiInstanceId          :: !Text     , _ciiName                :: !Text     } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -75,12 +75,12 @@ -- -- * 'ciiNoReboot' --+-- * 'ciiDescription'+-- -- * 'ciiBlockDeviceMappings' -- -- * 'ciiDryRun' ----- * 'ciiDescription'--- -- * 'ciiInstanceId' -- -- * 'ciiName'@@ -91,9 +91,9 @@ createImage pInstanceId_ pName_ =     CreateImage'     { _ciiNoReboot = Nothing+    , _ciiDescription = Nothing     , _ciiBlockDeviceMappings = Nothing     , _ciiDryRun = Nothing-    , _ciiDescription = Nothing     , _ciiInstanceId = pInstanceId_     , _ciiName = pName_     }@@ -107,6 +107,10 @@ ciiNoReboot :: Lens' CreateImage (Maybe Bool) ciiNoReboot = lens _ciiNoReboot (\ s a -> s{_ciiNoReboot = a}); +-- | A description for the new image.+ciiDescription :: Lens' CreateImage (Maybe Text)+ciiDescription = lens _ciiDescription (\ s a -> s{_ciiDescription = a});+ -- | Information about one or more block device mappings. ciiBlockDeviceMappings :: Lens' CreateImage [BlockDeviceMapping] ciiBlockDeviceMappings = lens _ciiBlockDeviceMappings (\ s a -> s{_ciiBlockDeviceMappings = a}) . _Default . _Coerce;@@ -118,10 +122,6 @@ 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. ciiInstanceId :: Lens' CreateImage Text ciiInstanceId = lens _ciiInstanceId (\ s a -> s{_ciiInstanceId = a});@@ -155,17 +155,17 @@               ["Action" =: ("CreateImage" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),                "NoReboot" =: _ciiNoReboot,+               "Description" =: _ciiDescription,                toQuery                  (toQueryList "BlockDeviceMapping" <$>                     _ciiBlockDeviceMappings),                "DryRun" =: _ciiDryRun,-               "Description" =: _ciiDescription,                "InstanceId" =: _ciiInstanceId, "Name" =: _ciiName]  -- | /See:/ 'createImageResponse' smart constructor. data CreateImageResponse = CreateImageResponse'-    { _cirsImageId :: !(Maybe Text)-    , _cirsStatus  :: !Int+    { _cirsImageId        :: !(Maybe Text)+    , _cirsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateImageResponse' with the minimum fields required to make a request.@@ -174,14 +174,14 @@ -- -- * 'cirsImageId' ----- * 'cirsStatus'+-- * 'cirsResponseStatus' createImageResponse-    :: Int -- ^ 'cirsStatus'+    :: Int -- ^ 'cirsResponseStatus'     -> CreateImageResponse-createImageResponse pStatus_ =+createImageResponse pResponseStatus_ =     CreateImageResponse'     { _cirsImageId = Nothing-    , _cirsStatus = pStatus_+    , _cirsResponseStatus = pResponseStatus_     }  -- | The ID of the new AMI.@@ -189,5 +189,5 @@ cirsImageId = lens _cirsImageId (\ s a -> s{_cirsImageId = a});  -- | The response status code.-cirsStatus :: Lens' CreateImageResponse Int-cirsStatus = lens _cirsStatus (\ s a -> s{_cirsStatus = a});+cirsResponseStatus :: Lens' CreateImageResponse Int+cirsResponseStatus = lens _cirsResponseStatus (\ s a -> s{_cirsResponseStatus = a});
gen/Network/AWS/EC2/CreateInstanceExportTask.hs view
@@ -42,7 +42,7 @@     , CreateInstanceExportTaskResponse     -- * Response Lenses     , cietrsExportTask-    , cietrsStatus+    , cietrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -127,8 +127,8 @@  -- | /See:/ 'createInstanceExportTaskResponse' smart constructor. data CreateInstanceExportTaskResponse = CreateInstanceExportTaskResponse'-    { _cietrsExportTask :: !(Maybe ExportTask)-    , _cietrsStatus     :: !Int+    { _cietrsExportTask     :: !(Maybe ExportTask)+    , _cietrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateInstanceExportTaskResponse' with the minimum fields required to make a request.@@ -137,14 +137,14 @@ -- -- * 'cietrsExportTask' ----- * 'cietrsStatus'+-- * 'cietrsResponseStatus' createInstanceExportTaskResponse-    :: Int -- ^ 'cietrsStatus'+    :: Int -- ^ 'cietrsResponseStatus'     -> CreateInstanceExportTaskResponse-createInstanceExportTaskResponse pStatus_ =+createInstanceExportTaskResponse pResponseStatus_ =     CreateInstanceExportTaskResponse'     { _cietrsExportTask = Nothing-    , _cietrsStatus = pStatus_+    , _cietrsResponseStatus = pResponseStatus_     }  -- | Information about the instance export task.@@ -152,5 +152,5 @@ cietrsExportTask = lens _cietrsExportTask (\ s a -> s{_cietrsExportTask = a});  -- | The response status code.-cietrsStatus :: Lens' CreateInstanceExportTaskResponse Int-cietrsStatus = lens _cietrsStatus (\ s a -> s{_cietrsStatus = a});+cietrsResponseStatus :: Lens' CreateInstanceExportTaskResponse Int+cietrsResponseStatus = lens _cietrsResponseStatus (\ s a -> s{_cietrsResponseStatus = a});
gen/Network/AWS/EC2/CreateInternetGateway.hs view
@@ -38,7 +38,7 @@     , CreateInternetGatewayResponse     -- * Response Lenses     , cigrsInternetGateway-    , cigrsStatus+    , cigrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -97,7 +97,7 @@ -- | /See:/ 'createInternetGatewayResponse' smart constructor. data CreateInternetGatewayResponse = CreateInternetGatewayResponse'     { _cigrsInternetGateway :: !(Maybe InternetGateway)-    , _cigrsStatus          :: !Int+    , _cigrsResponseStatus  :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateInternetGatewayResponse' with the minimum fields required to make a request.@@ -106,14 +106,14 @@ -- -- * 'cigrsInternetGateway' ----- * 'cigrsStatus'+-- * 'cigrsResponseStatus' createInternetGatewayResponse-    :: Int -- ^ 'cigrsStatus'+    :: Int -- ^ 'cigrsResponseStatus'     -> CreateInternetGatewayResponse-createInternetGatewayResponse pStatus_ =+createInternetGatewayResponse pResponseStatus_ =     CreateInternetGatewayResponse'     { _cigrsInternetGateway = Nothing-    , _cigrsStatus = pStatus_+    , _cigrsResponseStatus = pResponseStatus_     }  -- | Information about the Internet gateway.@@ -121,5 +121,5 @@ cigrsInternetGateway = lens _cigrsInternetGateway (\ s a -> s{_cigrsInternetGateway = a});  -- | The response status code.-cigrsStatus :: Lens' CreateInternetGatewayResponse Int-cigrsStatus = lens _cigrsStatus (\ s a -> s{_cigrsStatus = a});+cigrsResponseStatus :: Lens' CreateInternetGatewayResponse Int+cigrsResponseStatus = lens _cigrsResponseStatus (\ s a -> s{_cigrsResponseStatus = a});
gen/Network/AWS/EC2/CreateKeyPair.hs view
@@ -48,7 +48,7 @@     , createKeyPairResponse     , CreateKeyPairResponse     -- * Response Lenses-    , ckprsStatus+    , ckprsResponseStatus     , ckprsKeyName     , ckprsKeyFingerprint     , ckprsKeyMaterial@@ -123,7 +123,7 @@ -- -- /See:/ 'createKeyPairResponse' smart constructor. data CreateKeyPairResponse = CreateKeyPairResponse'-    { _ckprsStatus         :: !Int+    { _ckprsResponseStatus :: !Int     , _ckprsKeyName        :: !Text     , _ckprsKeyFingerprint :: !Text     , _ckprsKeyMaterial    :: !Text@@ -133,7 +133,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ckprsStatus'+-- * 'ckprsResponseStatus' -- -- * 'ckprsKeyName' --@@ -141,22 +141,22 @@ -- -- * 'ckprsKeyMaterial' createKeyPairResponse-    :: Int -- ^ 'ckprsStatus'+    :: Int -- ^ 'ckprsResponseStatus'     -> Text -- ^ 'ckprsKeyName'     -> Text -- ^ 'ckprsKeyFingerprint'     -> Text -- ^ 'ckprsKeyMaterial'     -> CreateKeyPairResponse-createKeyPairResponse pStatus_ pKeyName_ pKeyFingerprint_ pKeyMaterial_ =+createKeyPairResponse pResponseStatus_ pKeyName_ pKeyFingerprint_ pKeyMaterial_ =     CreateKeyPairResponse'-    { _ckprsStatus = pStatus_+    { _ckprsResponseStatus = pResponseStatus_     , _ckprsKeyName = pKeyName_     , _ckprsKeyFingerprint = pKeyFingerprint_     , _ckprsKeyMaterial = pKeyMaterial_     }  -- | The response status code.-ckprsStatus :: Lens' CreateKeyPairResponse Int-ckprsStatus = lens _ckprsStatus (\ s a -> s{_ckprsStatus = a});+ckprsResponseStatus :: Lens' CreateKeyPairResponse Int+ckprsResponseStatus = lens _ckprsResponseStatus (\ s a -> s{_ckprsResponseStatus = a});  -- | The name of the key pair. ckprsKeyName :: Lens' CreateKeyPairResponse Text
gen/Network/AWS/EC2/CreateNetworkACL.hs view
@@ -41,7 +41,7 @@     , CreateNetworkACLResponse     -- * Response Lenses     , cnarsNetworkACL-    , cnarsStatus+    , cnarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -107,8 +107,8 @@  -- | /See:/ 'createNetworkACLResponse' smart constructor. data CreateNetworkACLResponse = CreateNetworkACLResponse'-    { _cnarsNetworkACL :: !(Maybe NetworkACL)-    , _cnarsStatus     :: !Int+    { _cnarsNetworkACL     :: !(Maybe NetworkACL)+    , _cnarsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateNetworkACLResponse' with the minimum fields required to make a request.@@ -117,14 +117,14 @@ -- -- * 'cnarsNetworkACL' ----- * 'cnarsStatus'+-- * 'cnarsResponseStatus' createNetworkACLResponse-    :: Int -- ^ 'cnarsStatus'+    :: Int -- ^ 'cnarsResponseStatus'     -> CreateNetworkACLResponse-createNetworkACLResponse pStatus_ =+createNetworkACLResponse pResponseStatus_ =     CreateNetworkACLResponse'     { _cnarsNetworkACL = Nothing-    , _cnarsStatus = pStatus_+    , _cnarsResponseStatus = pResponseStatus_     }  -- | Information about the network ACL.@@ -132,5 +132,5 @@ cnarsNetworkACL = lens _cnarsNetworkACL (\ s a -> s{_cnarsNetworkACL = a});  -- | The response status code.-cnarsStatus :: Lens' CreateNetworkACLResponse Int-cnarsStatus = lens _cnarsStatus (\ s a -> s{_cnarsStatus = a});+cnarsResponseStatus :: Lens' CreateNetworkACLResponse Int+cnarsResponseStatus = lens _cnarsResponseStatus (\ s a -> s{_cnarsResponseStatus = a});
gen/Network/AWS/EC2/CreateNetworkInterface.hs view
@@ -31,12 +31,12 @@       createNetworkInterface     , CreateNetworkInterface     -- * Request Lenses-    , cniPrivateIPAddresses     , cniGroups+    , cniPrivateIPAddresses     , cniPrivateIPAddress     , cniSecondaryPrivateIPAddressCount-    , cniDryRun     , cniDescription+    , cniDryRun     , cniSubnetId      -- * Destructuring the Response@@ -44,7 +44,7 @@     , CreateNetworkInterfaceResponse     -- * Response Lenses     , cnirsNetworkInterface-    , cnirsStatus+    , cnirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -55,12 +55,12 @@  -- | /See:/ 'createNetworkInterface' smart constructor. data CreateNetworkInterface = CreateNetworkInterface'-    { _cniPrivateIPAddresses             :: !(Maybe [PrivateIPAddressSpecification])-    , _cniGroups                         :: !(Maybe [Text])+    { _cniGroups                         :: !(Maybe [Text])+    , _cniPrivateIPAddresses             :: !(Maybe [PrivateIPAddressSpecification])     , _cniPrivateIPAddress               :: !(Maybe Text)     , _cniSecondaryPrivateIPAddressCount :: !(Maybe Int)-    , _cniDryRun                         :: !(Maybe Bool)     , _cniDescription                    :: !(Maybe Text)+    , _cniDryRun                         :: !(Maybe Bool)     , _cniSubnetId                       :: !Text     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -68,41 +68,41 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cniPrivateIPAddresses'--- -- * 'cniGroups' --+-- * 'cniPrivateIPAddresses'+-- -- * 'cniPrivateIPAddress' -- -- * 'cniSecondaryPrivateIPAddressCount' ----- * 'cniDryRun'--- -- * 'cniDescription' --+-- * 'cniDryRun'+-- -- * 'cniSubnetId' createNetworkInterface     :: Text -- ^ 'cniSubnetId'     -> CreateNetworkInterface createNetworkInterface pSubnetId_ =     CreateNetworkInterface'-    { _cniPrivateIPAddresses = Nothing-    , _cniGroups = Nothing+    { _cniGroups = Nothing+    , _cniPrivateIPAddresses = Nothing     , _cniPrivateIPAddress = Nothing     , _cniSecondaryPrivateIPAddressCount = Nothing-    , _cniDryRun = Nothing     , _cniDescription = Nothing+    , _cniDryRun = Nothing     , _cniSubnetId = pSubnetId_     } --- | 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}) . _Default . _Coerce; +-- | One or more private IP addresses.+cniPrivateIPAddresses :: Lens' CreateNetworkInterface [PrivateIPAddressSpecification]+cniPrivateIPAddresses = lens _cniPrivateIPAddresses (\ s a -> s{_cniPrivateIPAddresses = a}) . _Default . _Coerce;+ -- | 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@@ -124,6 +124,10 @@ cniSecondaryPrivateIPAddressCount :: Lens' CreateNetworkInterface (Maybe Int) cniSecondaryPrivateIPAddressCount = lens _cniSecondaryPrivateIPAddressCount (\ s a -> s{_cniSecondaryPrivateIPAddressCount = a}); +-- | 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'.@@ -131,10 +135,6 @@ 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});@@ -162,21 +162,20 @@                  ("CreateNetworkInterface" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),                toQuery+                 (toQueryList "SecurityGroupId" <$> _cniGroups),+               toQuery                  (toQueryList "PrivateIpAddresses" <$>                     _cniPrivateIPAddresses),-               toQuery-                 (toQueryList "SecurityGroupId" <$> _cniGroups),                "PrivateIpAddress" =: _cniPrivateIPAddress,                "SecondaryPrivateIpAddressCount" =:                  _cniSecondaryPrivateIPAddressCount,-               "DryRun" =: _cniDryRun,                "Description" =: _cniDescription,-               "SubnetId" =: _cniSubnetId]+               "DryRun" =: _cniDryRun, "SubnetId" =: _cniSubnetId]  -- | /See:/ 'createNetworkInterfaceResponse' smart constructor. data CreateNetworkInterfaceResponse = CreateNetworkInterfaceResponse'     { _cnirsNetworkInterface :: !(Maybe NetworkInterface)-    , _cnirsStatus           :: !Int+    , _cnirsResponseStatus   :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateNetworkInterfaceResponse' with the minimum fields required to make a request.@@ -185,14 +184,14 @@ -- -- * 'cnirsNetworkInterface' ----- * 'cnirsStatus'+-- * 'cnirsResponseStatus' createNetworkInterfaceResponse-    :: Int -- ^ 'cnirsStatus'+    :: Int -- ^ 'cnirsResponseStatus'     -> CreateNetworkInterfaceResponse-createNetworkInterfaceResponse pStatus_ =+createNetworkInterfaceResponse pResponseStatus_ =     CreateNetworkInterfaceResponse'     { _cnirsNetworkInterface = Nothing-    , _cnirsStatus = pStatus_+    , _cnirsResponseStatus = pResponseStatus_     }  -- | Information about the network interface.@@ -200,5 +199,5 @@ cnirsNetworkInterface = lens _cnirsNetworkInterface (\ s a -> s{_cnirsNetworkInterface = a});  -- | The response status code.-cnirsStatus :: Lens' CreateNetworkInterfaceResponse Int-cnirsStatus = lens _cnirsStatus (\ s a -> s{_cnirsStatus = a});+cnirsResponseStatus :: Lens' CreateNetworkInterfaceResponse Int+cnirsResponseStatus = lens _cnirsResponseStatus (\ s a -> s{_cnirsResponseStatus = a});
gen/Network/AWS/EC2/CreateReservedInstancesListing.hs view
@@ -58,7 +58,7 @@     , CreateReservedInstancesListingResponse     -- * Response Lenses     , crersReservedInstancesListings-    , crersStatus+    , crersResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -156,7 +156,7 @@ -- | /See:/ 'createReservedInstancesListingResponse' smart constructor. data CreateReservedInstancesListingResponse = CreateReservedInstancesListingResponse'     { _crersReservedInstancesListings :: !(Maybe [ReservedInstancesListing])-    , _crersStatus                    :: !Int+    , _crersResponseStatus            :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateReservedInstancesListingResponse' with the minimum fields required to make a request.@@ -165,14 +165,14 @@ -- -- * 'crersReservedInstancesListings' ----- * 'crersStatus'+-- * 'crersResponseStatus' createReservedInstancesListingResponse-    :: Int -- ^ 'crersStatus'+    :: Int -- ^ 'crersResponseStatus'     -> CreateReservedInstancesListingResponse-createReservedInstancesListingResponse pStatus_ =+createReservedInstancesListingResponse pResponseStatus_ =     CreateReservedInstancesListingResponse'     { _crersReservedInstancesListings = Nothing-    , _crersStatus = pStatus_+    , _crersResponseStatus = pResponseStatus_     }  -- | Information about the Reserved Instances listing.@@ -180,5 +180,5 @@ crersReservedInstancesListings = lens _crersReservedInstancesListings (\ s a -> s{_crersReservedInstancesListings = a}) . _Default . _Coerce;  -- | The response status code.-crersStatus :: Lens' CreateReservedInstancesListingResponse Int-crersStatus = lens _crersStatus (\ s a -> s{_crersStatus = a});+crersResponseStatus :: Lens' CreateReservedInstancesListingResponse Int+crersResponseStatus = lens _crersResponseStatus (\ s a -> s{_crersResponseStatus = a});
gen/Network/AWS/EC2/CreateRoute.hs view
@@ -48,8 +48,8 @@       createRoute     , CreateRoute     -- * Request Lenses-    , crInstanceId     , crVPCPeeringConnectionId+    , crInstanceId     , crNetworkInterfaceId     , crGatewayId     , crDryRun@@ -61,7 +61,7 @@     , CreateRouteResponse     -- * Response Lenses     , crrsReturn-    , crrsStatus+    , crrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -72,8 +72,8 @@  -- | /See:/ 'createRoute' smart constructor. data CreateRoute = CreateRoute'-    { _crInstanceId             :: !(Maybe Text)-    , _crVPCPeeringConnectionId :: !(Maybe Text)+    { _crVPCPeeringConnectionId :: !(Maybe Text)+    , _crInstanceId             :: !(Maybe Text)     , _crNetworkInterfaceId     :: !(Maybe Text)     , _crGatewayId              :: !(Maybe Text)     , _crDryRun                 :: !(Maybe Bool)@@ -85,10 +85,10 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'crInstanceId'--- -- * 'crVPCPeeringConnectionId' --+-- * 'crInstanceId'+-- -- * 'crNetworkInterfaceId' -- -- * 'crGatewayId'@@ -104,8 +104,8 @@     -> CreateRoute createRoute pRouteTableId_ pDestinationCIdRBlock_ =     CreateRoute'-    { _crInstanceId = Nothing-    , _crVPCPeeringConnectionId = Nothing+    { _crVPCPeeringConnectionId = Nothing+    , _crInstanceId = Nothing     , _crNetworkInterfaceId = Nothing     , _crGatewayId = Nothing     , _crDryRun = Nothing@@ -113,15 +113,15 @@     , _crDestinationCIdRBlock = pDestinationCIdRBlock_     } +-- | The ID of a VPC peering connection.+crVPCPeeringConnectionId :: Lens' CreateRoute (Maybe Text)+crVPCPeeringConnectionId = lens _crVPCPeeringConnectionId (\ s a -> s{_crVPCPeeringConnectionId = 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 ID of a VPC peering connection.-crVPCPeeringConnectionId :: Lens' CreateRoute (Maybe Text)-crVPCPeeringConnectionId = lens _crVPCPeeringConnectionId (\ s a -> s{_crVPCPeeringConnectionId = a});- -- | The ID of a network interface. crNetworkInterfaceId :: Lens' CreateRoute (Maybe Text) crNetworkInterfaceId = lens _crNetworkInterfaceId (\ s a -> s{_crNetworkInterfaceId = a});@@ -167,9 +167,9 @@           = mconcat               ["Action" =: ("CreateRoute" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),-               "InstanceId" =: _crInstanceId,                "VpcPeeringConnectionId" =:                  _crVPCPeeringConnectionId,+               "InstanceId" =: _crInstanceId,                "NetworkInterfaceId" =: _crNetworkInterfaceId,                "GatewayId" =: _crGatewayId, "DryRun" =: _crDryRun,                "RouteTableId" =: _crRouteTableId,@@ -177,8 +177,8 @@  -- | /See:/ 'createRouteResponse' smart constructor. data CreateRouteResponse = CreateRouteResponse'-    { _crrsReturn :: !(Maybe Bool)-    , _crrsStatus :: !Int+    { _crrsReturn         :: !(Maybe Bool)+    , _crrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateRouteResponse' with the minimum fields required to make a request.@@ -187,14 +187,14 @@ -- -- * 'crrsReturn' ----- * 'crrsStatus'+-- * 'crrsResponseStatus' createRouteResponse-    :: Int -- ^ 'crrsStatus'+    :: Int -- ^ 'crrsResponseStatus'     -> CreateRouteResponse-createRouteResponse pStatus_ =+createRouteResponse pResponseStatus_ =     CreateRouteResponse'     { _crrsReturn = Nothing-    , _crrsStatus = pStatus_+    , _crrsResponseStatus = pResponseStatus_     }  -- | Returns 'true' if the request succeeds; otherwise, it returns an error.@@ -202,5 +202,5 @@ crrsReturn = lens _crrsReturn (\ s a -> s{_crrsReturn = a});  -- | The response status code.-crrsStatus :: Lens' CreateRouteResponse Int-crrsStatus = lens _crrsStatus (\ s a -> s{_crrsStatus = a});+crrsResponseStatus :: Lens' CreateRouteResponse Int+crrsResponseStatus = lens _crrsResponseStatus (\ s a -> s{_crrsResponseStatus = a});
gen/Network/AWS/EC2/CreateRouteTable.hs view
@@ -40,7 +40,7 @@     , CreateRouteTableResponse     -- * Response Lenses     , crtrsRouteTable-    , crtrsStatus+    , crtrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -106,8 +106,8 @@  -- | /See:/ 'createRouteTableResponse' smart constructor. data CreateRouteTableResponse = CreateRouteTableResponse'-    { _crtrsRouteTable :: !(Maybe RouteTable)-    , _crtrsStatus     :: !Int+    { _crtrsRouteTable     :: !(Maybe RouteTable)+    , _crtrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateRouteTableResponse' with the minimum fields required to make a request.@@ -116,14 +116,14 @@ -- -- * 'crtrsRouteTable' ----- * 'crtrsStatus'+-- * 'crtrsResponseStatus' createRouteTableResponse-    :: Int -- ^ 'crtrsStatus'+    :: Int -- ^ 'crtrsResponseStatus'     -> CreateRouteTableResponse-createRouteTableResponse pStatus_ =+createRouteTableResponse pResponseStatus_ =     CreateRouteTableResponse'     { _crtrsRouteTable = Nothing-    , _crtrsStatus = pStatus_+    , _crtrsResponseStatus = pResponseStatus_     }  -- | Information about the route table.@@ -131,5 +131,5 @@ crtrsRouteTable = lens _crtrsRouteTable (\ s a -> s{_crtrsRouteTable = a});  -- | The response status code.-crtrsStatus :: Lens' CreateRouteTableResponse Int-crtrsStatus = lens _crtrsStatus (\ s a -> s{_crtrsStatus = a});+crtrsResponseStatus :: Lens' CreateRouteTableResponse Int+crtrsResponseStatus = lens _crtrsResponseStatus (\ s a -> s{_crtrsResponseStatus = a});
gen/Network/AWS/EC2/CreateSecurityGroup.hs view
@@ -64,7 +64,7 @@     , createSecurityGroupResponse     , CreateSecurityGroupResponse     -- * Response Lenses-    , csgrsStatus+    , csgrsResponseStatus     , csgrsGroupId     ) where @@ -165,30 +165,30 @@  -- | /See:/ 'createSecurityGroupResponse' smart constructor. data CreateSecurityGroupResponse = CreateSecurityGroupResponse'-    { _csgrsStatus  :: !Int-    , _csgrsGroupId :: !Text+    { _csgrsResponseStatus :: !Int+    , _csgrsGroupId        :: !Text     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | 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'+-- * 'csgrsResponseStatus' -- -- * 'csgrsGroupId' createSecurityGroupResponse-    :: Int -- ^ 'csgrsStatus'+    :: Int -- ^ 'csgrsResponseStatus'     -> Text -- ^ 'csgrsGroupId'     -> CreateSecurityGroupResponse-createSecurityGroupResponse pStatus_ pGroupId_ =+createSecurityGroupResponse pResponseStatus_ pGroupId_ =     CreateSecurityGroupResponse'-    { _csgrsStatus = pStatus_+    { _csgrsResponseStatus = pResponseStatus_     , _csgrsGroupId = pGroupId_     }  -- | The response status code.-csgrsStatus :: Lens' CreateSecurityGroupResponse Int-csgrsStatus = lens _csgrsStatus (\ s a -> s{_csgrsStatus = a});+csgrsResponseStatus :: Lens' CreateSecurityGroupResponse Int+csgrsResponseStatus = lens _csgrsResponseStatus (\ s a -> s{_csgrsResponseStatus = a});  -- | The ID of the security group. csgrsGroupId :: Lens' CreateSecurityGroupResponse Text
gen/Network/AWS/EC2/CreateSnapshot.hs view
@@ -57,8 +57,8 @@       createSnapshot     , CreateSnapshot     -- * Request Lenses-    , ccDryRun     , ccDescription+    , ccDryRun     , ccVolumeId      -- * Destructuring the Response@@ -87,8 +87,8 @@  -- | /See:/ 'createSnapshot' smart constructor. data CreateSnapshot = CreateSnapshot'-    { _ccDryRun      :: !(Maybe Bool)-    , _ccDescription :: !(Maybe Text)+    { _ccDescription :: !(Maybe Text)+    , _ccDryRun      :: !(Maybe Bool)     , _ccVolumeId    :: !Text     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -96,21 +96,25 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ccDryRun'--- -- * 'ccDescription' --+-- * 'ccDryRun'+-- -- * 'ccVolumeId' createSnapshot     :: Text -- ^ 'ccVolumeId'     -> CreateSnapshot createSnapshot pVolumeId_ =     CreateSnapshot'-    { _ccDryRun = Nothing-    , _ccDescription = Nothing+    { _ccDescription = Nothing+    , _ccDryRun = Nothing     , _ccVolumeId = pVolumeId_     } +-- | A description for the snapshot.+ccDescription :: Lens' CreateSnapshot (Maybe Text)+ccDescription = lens _ccDescription (\ s a -> s{_ccDescription = 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'.@@ -118,10 +122,6 @@ ccDryRun :: Lens' CreateSnapshot (Maybe Bool) ccDryRun = lens _ccDryRun (\ s a -> s{_ccDryRun = a}); --- | A description for the snapshot.-ccDescription :: Lens' CreateSnapshot (Maybe Text)-ccDescription = lens _ccDescription (\ s a -> s{_ccDescription = a});- -- | The ID of the EBS volume. ccVolumeId :: Lens' CreateSnapshot Text ccVolumeId = lens _ccVolumeId (\ s a -> s{_ccVolumeId = a});@@ -142,6 +142,5 @@           = mconcat               ["Action" =: ("CreateSnapshot" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),-               "DryRun" =: _ccDryRun,                "Description" =: _ccDescription,-               "VolumeId" =: _ccVolumeId]+               "DryRun" =: _ccDryRun, "VolumeId" =: _ccVolumeId]
gen/Network/AWS/EC2/CreateSpotDatafeedSubscription.hs view
@@ -40,7 +40,7 @@     , CreateSpotDatafeedSubscriptionResponse     -- * Response Lenses     , csdsrsSpotDatafeedSubscription-    , csdsrsStatus+    , csdsrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -125,7 +125,7 @@ -- /See:/ 'createSpotDatafeedSubscriptionResponse' smart constructor. data CreateSpotDatafeedSubscriptionResponse = CreateSpotDatafeedSubscriptionResponse'     { _csdsrsSpotDatafeedSubscription :: !(Maybe SpotDatafeedSubscription)-    , _csdsrsStatus                   :: !Int+    , _csdsrsResponseStatus           :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateSpotDatafeedSubscriptionResponse' with the minimum fields required to make a request.@@ -134,14 +134,14 @@ -- -- * 'csdsrsSpotDatafeedSubscription' ----- * 'csdsrsStatus'+-- * 'csdsrsResponseStatus' createSpotDatafeedSubscriptionResponse-    :: Int -- ^ 'csdsrsStatus'+    :: Int -- ^ 'csdsrsResponseStatus'     -> CreateSpotDatafeedSubscriptionResponse-createSpotDatafeedSubscriptionResponse pStatus_ =+createSpotDatafeedSubscriptionResponse pResponseStatus_ =     CreateSpotDatafeedSubscriptionResponse'     { _csdsrsSpotDatafeedSubscription = Nothing-    , _csdsrsStatus = pStatus_+    , _csdsrsResponseStatus = pResponseStatus_     }  -- | The Spot Instance data feed subscription.@@ -149,5 +149,5 @@ csdsrsSpotDatafeedSubscription = lens _csdsrsSpotDatafeedSubscription (\ s a -> s{_csdsrsSpotDatafeedSubscription = a});  -- | The response status code.-csdsrsStatus :: Lens' CreateSpotDatafeedSubscriptionResponse Int-csdsrsStatus = lens _csdsrsStatus (\ s a -> s{_csdsrsStatus = a});+csdsrsResponseStatus :: Lens' CreateSpotDatafeedSubscriptionResponse Int+csdsrsResponseStatus = lens _csdsrsResponseStatus (\ s a -> s{_csdsrsResponseStatus = a});
gen/Network/AWS/EC2/CreateSubnet.hs view
@@ -63,7 +63,7 @@     , CreateSubnetResponse     -- * Response Lenses     , crsSubnet-    , crsStatus+    , crsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -151,8 +151,8 @@  -- | /See:/ 'createSubnetResponse' smart constructor. data CreateSubnetResponse = CreateSubnetResponse'-    { _crsSubnet :: !(Maybe Subnet)-    , _crsStatus :: !Int+    { _crsSubnet         :: !(Maybe Subnet)+    , _crsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateSubnetResponse' with the minimum fields required to make a request.@@ -161,14 +161,14 @@ -- -- * 'crsSubnet' ----- * 'crsStatus'+-- * 'crsResponseStatus' createSubnetResponse-    :: Int -- ^ 'crsStatus'+    :: Int -- ^ 'crsResponseStatus'     -> CreateSubnetResponse-createSubnetResponse pStatus_ =+createSubnetResponse pResponseStatus_ =     CreateSubnetResponse'     { _crsSubnet = Nothing-    , _crsStatus = pStatus_+    , _crsResponseStatus = pResponseStatus_     }  -- | Information about the subnet.@@ -176,5 +176,5 @@ crsSubnet = lens _crsSubnet (\ s a -> s{_crsSubnet = a});  -- | The response status code.-crsStatus :: Lens' CreateSubnetResponse Int-crsStatus = lens _crsStatus (\ s a -> s{_crsStatus = a});+crsResponseStatus :: Lens' CreateSubnetResponse Int+crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a});
gen/Network/AWS/EC2/CreateVPC.hs view
@@ -48,7 +48,7 @@     , CreateVPCResponse     -- * Response Lenses     , cvrsVPC-    , cvrsStatus+    , cvrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -131,8 +131,8 @@  -- | /See:/ 'createVPCResponse' smart constructor. data CreateVPCResponse = CreateVPCResponse'-    { _cvrsVPC    :: !(Maybe VPC)-    , _cvrsStatus :: !Int+    { _cvrsVPC            :: !(Maybe VPC)+    , _cvrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateVPCResponse' with the minimum fields required to make a request.@@ -141,14 +141,14 @@ -- -- * 'cvrsVPC' ----- * 'cvrsStatus'+-- * 'cvrsResponseStatus' createVPCResponse-    :: Int -- ^ 'cvrsStatus'+    :: Int -- ^ 'cvrsResponseStatus'     -> CreateVPCResponse-createVPCResponse pStatus_ =+createVPCResponse pResponseStatus_ =     CreateVPCResponse'     { _cvrsVPC = Nothing-    , _cvrsStatus = pStatus_+    , _cvrsResponseStatus = pResponseStatus_     }  -- | Information about the VPC.@@ -156,5 +156,5 @@ cvrsVPC = lens _cvrsVPC (\ s a -> s{_cvrsVPC = a});  -- | The response status code.-cvrsStatus :: Lens' CreateVPCResponse Int-cvrsStatus = lens _cvrsStatus (\ s a -> s{_cvrsStatus = a});+cvrsResponseStatus :: Lens' CreateVPCResponse Int+cvrsResponseStatus = lens _cvrsResponseStatus (\ s a -> s{_cvrsResponseStatus = a});
gen/Network/AWS/EC2/CreateVPCEndpoint.hs view
@@ -46,7 +46,7 @@     -- * Response Lenses     , cversClientToken     , cversVPCEndpoint-    , cversStatus+    , cversResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -159,9 +159,9 @@  -- | /See:/ 'createVPCEndpointResponse' smart constructor. data CreateVPCEndpointResponse = CreateVPCEndpointResponse'-    { _cversClientToken :: !(Maybe Text)-    , _cversVPCEndpoint :: !(Maybe VPCEndpoint)-    , _cversStatus      :: !Int+    { _cversClientToken    :: !(Maybe Text)+    , _cversVPCEndpoint    :: !(Maybe VPCEndpoint)+    , _cversResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateVPCEndpointResponse' with the minimum fields required to make a request.@@ -172,15 +172,15 @@ -- -- * 'cversVPCEndpoint' ----- * 'cversStatus'+-- * 'cversResponseStatus' createVPCEndpointResponse-    :: Int -- ^ 'cversStatus'+    :: Int -- ^ 'cversResponseStatus'     -> CreateVPCEndpointResponse-createVPCEndpointResponse pStatus_ =+createVPCEndpointResponse pResponseStatus_ =     CreateVPCEndpointResponse'     { _cversClientToken = Nothing     , _cversVPCEndpoint = Nothing-    , _cversStatus = pStatus_+    , _cversResponseStatus = pResponseStatus_     }  -- | Unique, case-sensitive identifier you provide to ensure the idempotency@@ -193,5 +193,5 @@ cversVPCEndpoint = lens _cversVPCEndpoint (\ s a -> s{_cversVPCEndpoint = a});  -- | The response status code.-cversStatus :: Lens' CreateVPCEndpointResponse Int-cversStatus = lens _cversStatus (\ s a -> s{_cversStatus = a});+cversResponseStatus :: Lens' CreateVPCEndpointResponse Int+cversResponseStatus = lens _cversResponseStatus (\ s a -> s{_cversResponseStatus = a});
gen/Network/AWS/EC2/CreateVPCPeeringConnection.hs view
@@ -48,7 +48,7 @@     , CreateVPCPeeringConnectionResponse     -- * Response Lenses     , cvpcrsVPCPeeringConnection-    , cvpcrsStatus+    , cvpcrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -138,7 +138,7 @@ -- | /See:/ 'createVPCPeeringConnectionResponse' smart constructor. data CreateVPCPeeringConnectionResponse = CreateVPCPeeringConnectionResponse'     { _cvpcrsVPCPeeringConnection :: !(Maybe VPCPeeringConnection)-    , _cvpcrsStatus               :: !Int+    , _cvpcrsResponseStatus       :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateVPCPeeringConnectionResponse' with the minimum fields required to make a request.@@ -147,14 +147,14 @@ -- -- * 'cvpcrsVPCPeeringConnection' ----- * 'cvpcrsStatus'+-- * 'cvpcrsResponseStatus' createVPCPeeringConnectionResponse-    :: Int -- ^ 'cvpcrsStatus'+    :: Int -- ^ 'cvpcrsResponseStatus'     -> CreateVPCPeeringConnectionResponse-createVPCPeeringConnectionResponse pStatus_ =+createVPCPeeringConnectionResponse pResponseStatus_ =     CreateVPCPeeringConnectionResponse'     { _cvpcrsVPCPeeringConnection = Nothing-    , _cvpcrsStatus = pStatus_+    , _cvpcrsResponseStatus = pResponseStatus_     }  -- | Information about the VPC peering connection.@@ -162,5 +162,5 @@ cvpcrsVPCPeeringConnection = lens _cvpcrsVPCPeeringConnection (\ s a -> s{_cvpcrsVPCPeeringConnection = a});  -- | The response status code.-cvpcrsStatus :: Lens' CreateVPCPeeringConnectionResponse Int-cvpcrsStatus = lens _cvpcrsStatus (\ s a -> s{_cvpcrsStatus = a});+cvpcrsResponseStatus :: Lens' CreateVPCPeeringConnectionResponse Int+cvpcrsResponseStatus = lens _cvpcrsResponseStatus (\ s a -> s{_cvpcrsResponseStatus = a});
gen/Network/AWS/EC2/CreateVPNConnection.hs view
@@ -54,7 +54,7 @@     , CreateVPNConnectionResponse     -- * Response Lenses     , cvcrsVPNConnection-    , cvcrsStatus+    , cvcrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -154,8 +154,8 @@  -- | /See:/ 'createVPNConnectionResponse' smart constructor. data CreateVPNConnectionResponse = CreateVPNConnectionResponse'-    { _cvcrsVPNConnection :: !(Maybe VPNConnection)-    , _cvcrsStatus        :: !Int+    { _cvcrsVPNConnection  :: !(Maybe VPNConnection)+    , _cvcrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateVPNConnectionResponse' with the minimum fields required to make a request.@@ -164,14 +164,14 @@ -- -- * 'cvcrsVPNConnection' ----- * 'cvcrsStatus'+-- * 'cvcrsResponseStatus' createVPNConnectionResponse-    :: Int -- ^ 'cvcrsStatus'+    :: Int -- ^ 'cvcrsResponseStatus'     -> CreateVPNConnectionResponse-createVPNConnectionResponse pStatus_ =+createVPNConnectionResponse pResponseStatus_ =     CreateVPNConnectionResponse'     { _cvcrsVPNConnection = Nothing-    , _cvcrsStatus = pStatus_+    , _cvcrsResponseStatus = pResponseStatus_     }  -- | Information about the VPN connection.@@ -179,5 +179,5 @@ cvcrsVPNConnection = lens _cvcrsVPNConnection (\ s a -> s{_cvcrsVPNConnection = a});  -- | The response status code.-cvcrsStatus :: Lens' CreateVPNConnectionResponse Int-cvcrsStatus = lens _cvcrsStatus (\ s a -> s{_cvcrsStatus = a});+cvcrsResponseStatus :: Lens' CreateVPNConnectionResponse Int+cvcrsResponseStatus = lens _cvcrsResponseStatus (\ s a -> s{_cvcrsResponseStatus = a});
gen/Network/AWS/EC2/CreateVPNGateway.hs view
@@ -42,7 +42,7 @@     , CreateVPNGatewayResponse     -- * Response Lenses     , cvgrsVPNGateway-    , cvgrsStatus+    , cvgrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -117,8 +117,8 @@  -- | /See:/ 'createVPNGatewayResponse' smart constructor. data CreateVPNGatewayResponse = CreateVPNGatewayResponse'-    { _cvgrsVPNGateway :: !(Maybe VPNGateway)-    , _cvgrsStatus     :: !Int+    { _cvgrsVPNGateway     :: !(Maybe VPNGateway)+    , _cvgrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'CreateVPNGatewayResponse' with the minimum fields required to make a request.@@ -127,14 +127,14 @@ -- -- * 'cvgrsVPNGateway' ----- * 'cvgrsStatus'+-- * 'cvgrsResponseStatus' createVPNGatewayResponse-    :: Int -- ^ 'cvgrsStatus'+    :: Int -- ^ 'cvgrsResponseStatus'     -> CreateVPNGatewayResponse-createVPNGatewayResponse pStatus_ =+createVPNGatewayResponse pResponseStatus_ =     CreateVPNGatewayResponse'     { _cvgrsVPNGateway = Nothing-    , _cvgrsStatus = pStatus_+    , _cvgrsResponseStatus = pResponseStatus_     }  -- | Information about the virtual private gateway.@@ -142,5 +142,5 @@ cvgrsVPNGateway = lens _cvgrsVPNGateway (\ s a -> s{_cvgrsVPNGateway = a});  -- | The response status code.-cvgrsStatus :: Lens' CreateVPNGatewayResponse Int-cvgrsStatus = lens _cvgrsStatus (\ s a -> s{_cvgrsStatus = a});+cvgrsResponseStatus :: Lens' CreateVPNGatewayResponse Int+cvgrsResponseStatus = lens _cvgrsResponseStatus (\ s a -> s{_cvgrsResponseStatus = a});
gen/Network/AWS/EC2/DeleteFlowLogs.hs view
@@ -34,7 +34,7 @@     , DeleteFlowLogsResponse     -- * Response Lenses     , dflrsUnsuccessful-    , dflrsStatus+    , dflrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -90,8 +90,8 @@  -- | /See:/ 'deleteFlowLogsResponse' smart constructor. data DeleteFlowLogsResponse = DeleteFlowLogsResponse'-    { _dflrsUnsuccessful :: !(Maybe [UnsuccessfulItem])-    , _dflrsStatus       :: !Int+    { _dflrsUnsuccessful   :: !(Maybe [UnsuccessfulItem])+    , _dflrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DeleteFlowLogsResponse' with the minimum fields required to make a request.@@ -100,14 +100,14 @@ -- -- * 'dflrsUnsuccessful' ----- * 'dflrsStatus'+-- * 'dflrsResponseStatus' deleteFlowLogsResponse-    :: Int -- ^ 'dflrsStatus'+    :: Int -- ^ 'dflrsResponseStatus'     -> DeleteFlowLogsResponse-deleteFlowLogsResponse pStatus_ =+deleteFlowLogsResponse pResponseStatus_ =     DeleteFlowLogsResponse'     { _dflrsUnsuccessful = Nothing-    , _dflrsStatus = pStatus_+    , _dflrsResponseStatus = pResponseStatus_     }  -- | Information about the flow logs that could not be deleted successfully.@@ -115,5 +115,5 @@ 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});+dflrsResponseStatus :: Lens' DeleteFlowLogsResponse Int+dflrsResponseStatus = lens _dflrsResponseStatus (\ s a -> s{_dflrsResponseStatus = a});
gen/Network/AWS/EC2/DeleteVPCEndpoints.hs view
@@ -37,7 +37,7 @@     , DeleteVPCEndpointsResponse     -- * Response Lenses     , dversUnsuccessful-    , dversStatus+    , dversResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -106,8 +106,8 @@  -- | /See:/ 'deleteVPCEndpointsResponse' smart constructor. data DeleteVPCEndpointsResponse = DeleteVPCEndpointsResponse'-    { _dversUnsuccessful :: !(Maybe [UnsuccessfulItem])-    , _dversStatus       :: !Int+    { _dversUnsuccessful   :: !(Maybe [UnsuccessfulItem])+    , _dversResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DeleteVPCEndpointsResponse' with the minimum fields required to make a request.@@ -116,14 +116,14 @@ -- -- * 'dversUnsuccessful' ----- * 'dversStatus'+-- * 'dversResponseStatus' deleteVPCEndpointsResponse-    :: Int -- ^ 'dversStatus'+    :: Int -- ^ 'dversResponseStatus'     -> DeleteVPCEndpointsResponse-deleteVPCEndpointsResponse pStatus_ =+deleteVPCEndpointsResponse pResponseStatus_ =     DeleteVPCEndpointsResponse'     { _dversUnsuccessful = Nothing-    , _dversStatus = pStatus_+    , _dversResponseStatus = pResponseStatus_     }  -- | Information about the endpoints that were not successfully deleted.@@ -131,5 +131,5 @@ 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});+dversResponseStatus :: Lens' DeleteVPCEndpointsResponse Int+dversResponseStatus = lens _dversResponseStatus (\ s a -> s{_dversResponseStatus = a});
gen/Network/AWS/EC2/DeleteVPCPeeringConnection.hs view
@@ -38,7 +38,7 @@     , DeleteVPCPeeringConnectionResponse     -- * Response Lenses     , dvpcrsReturn-    , dvpcrsStatus+    , dvpcrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -108,8 +108,8 @@  -- | /See:/ 'deleteVPCPeeringConnectionResponse' smart constructor. data DeleteVPCPeeringConnectionResponse = DeleteVPCPeeringConnectionResponse'-    { _dvpcrsReturn :: !(Maybe Bool)-    , _dvpcrsStatus :: !Int+    { _dvpcrsReturn         :: !(Maybe Bool)+    , _dvpcrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DeleteVPCPeeringConnectionResponse' with the minimum fields required to make a request.@@ -118,14 +118,14 @@ -- -- * 'dvpcrsReturn' ----- * 'dvpcrsStatus'+-- * 'dvpcrsResponseStatus' deleteVPCPeeringConnectionResponse-    :: Int -- ^ 'dvpcrsStatus'+    :: Int -- ^ 'dvpcrsResponseStatus'     -> DeleteVPCPeeringConnectionResponse-deleteVPCPeeringConnectionResponse pStatus_ =+deleteVPCPeeringConnectionResponse pResponseStatus_ =     DeleteVPCPeeringConnectionResponse'     { _dvpcrsReturn = Nothing-    , _dvpcrsStatus = pStatus_+    , _dvpcrsResponseStatus = pResponseStatus_     }  -- | Returns 'true' if the request succeeds; otherwise, it returns an error.@@ -133,5 +133,5 @@ dvpcrsReturn = lens _dvpcrsReturn (\ s a -> s{_dvpcrsReturn = a});  -- | The response status code.-dvpcrsStatus :: Lens' DeleteVPCPeeringConnectionResponse Int-dvpcrsStatus = lens _dvpcrsStatus (\ s a -> s{_dvpcrsStatus = a});+dvpcrsResponseStatus :: Lens' DeleteVPCPeeringConnectionResponse Int+dvpcrsResponseStatus = lens _dvpcrsResponseStatus (\ s a -> s{_dvpcrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeAccountAttributes.hs view
@@ -55,7 +55,7 @@     , DescribeAccountAttributesResponse     -- * Response Lenses     , daarsAccountAttributes-    , daarsStatus+    , daarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -127,7 +127,7 @@ -- | /See:/ 'describeAccountAttributesResponse' smart constructor. data DescribeAccountAttributesResponse = DescribeAccountAttributesResponse'     { _daarsAccountAttributes :: !(Maybe [AccountAttribute])-    , _daarsStatus            :: !Int+    , _daarsResponseStatus    :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeAccountAttributesResponse' with the minimum fields required to make a request.@@ -136,14 +136,14 @@ -- -- * 'daarsAccountAttributes' ----- * 'daarsStatus'+-- * 'daarsResponseStatus' describeAccountAttributesResponse-    :: Int -- ^ 'daarsStatus'+    :: Int -- ^ 'daarsResponseStatus'     -> DescribeAccountAttributesResponse-describeAccountAttributesResponse pStatus_ =+describeAccountAttributesResponse pResponseStatus_ =     DescribeAccountAttributesResponse'     { _daarsAccountAttributes = Nothing-    , _daarsStatus = pStatus_+    , _daarsResponseStatus = pResponseStatus_     }  -- | Information about one or more account attributes.@@ -151,5 +151,5 @@ daarsAccountAttributes = lens _daarsAccountAttributes (\ s a -> s{_daarsAccountAttributes = a}) . _Default . _Coerce;  -- | The response status code.-daarsStatus :: Lens' DescribeAccountAttributesResponse Int-daarsStatus = lens _daarsStatus (\ s a -> s{_daarsStatus = a});+daarsResponseStatus :: Lens' DescribeAccountAttributesResponse Int+daarsResponseStatus = lens _daarsResponseStatus (\ s a -> s{_daarsResponseStatus = a});
gen/Network/AWS/EC2/DescribeAddresses.hs view
@@ -32,17 +32,17 @@       describeAddresses     , DescribeAddresses     -- * Request Lenses-    , daPublicIPs     , daFilters-    , daDryRun+    , daPublicIPs     , daAllocationIds+    , daDryRun      -- * Destructuring the Response     , describeAddressesResponse     , DescribeAddressesResponse     -- * Response Lenses     , darsAddresses-    , darsStatus+    , darsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -53,39 +53,33 @@  -- | /See:/ 'describeAddresses' smart constructor. data DescribeAddresses = DescribeAddresses'-    { _daPublicIPs     :: !(Maybe [Text])-    , _daFilters       :: !(Maybe [Filter])-    , _daDryRun        :: !(Maybe Bool)+    { _daFilters       :: !(Maybe [Filter])+    , _daPublicIPs     :: !(Maybe [Text])     , _daAllocationIds :: !(Maybe [Text])+    , _daDryRun        :: !(Maybe Bool)     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeAddresses' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'daPublicIPs'--- -- * 'daFilters' ----- * 'daDryRun'+-- * 'daPublicIPs' -- -- * 'daAllocationIds'+--+-- * 'daDryRun' describeAddresses     :: DescribeAddresses describeAddresses =     DescribeAddresses'-    { _daPublicIPs = Nothing-    , _daFilters = Nothing-    , _daDryRun = Nothing+    { _daFilters = Nothing+    , _daPublicIPs = Nothing     , _daAllocationIds = Nothing+    , _daDryRun = Nothing     } --- | [EC2-Classic] One or more Elastic IP addresses.------ Default: Describes all your Elastic IP addresses.-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.@@ -111,12 +105,11 @@ daFilters :: Lens' DescribeAddresses [Filter] daFilters = lens _daFilters (\ s a -> s{_daFilters = 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'.-daDryRun :: Lens' DescribeAddresses (Maybe Bool)-daDryRun = lens _daDryRun (\ s a -> s{_daDryRun = a});+-- | [EC2-Classic] One or more Elastic IP addresses.+--+-- Default: Describes all your Elastic IP addresses.+daPublicIPs :: Lens' DescribeAddresses [Text]+daPublicIPs = lens _daPublicIPs (\ s a -> s{_daPublicIPs = a}) . _Default . _Coerce;  -- | [EC2-VPC] One or more allocation IDs. --@@ -124,6 +117,13 @@ daAllocationIds :: Lens' DescribeAddresses [Text] daAllocationIds = lens _daAllocationIds (\ s a -> s{_daAllocationIds = 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'.+daDryRun :: Lens' DescribeAddresses (Maybe Bool)+daDryRun = lens _daDryRun (\ s a -> s{_daDryRun = a});+ instance AWSRequest DescribeAddresses where         type Rs DescribeAddresses = DescribeAddressesResponse         request = postQuery eC2@@ -146,16 +146,16 @@           = mconcat               ["Action" =: ("DescribeAddresses" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),-               toQuery (toQueryList "PublicIp" <$> _daPublicIPs),                toQuery (toQueryList "Filter" <$> _daFilters),-               "DryRun" =: _daDryRun,+               toQuery (toQueryList "PublicIp" <$> _daPublicIPs),                toQuery-                 (toQueryList "AllocationId" <$> _daAllocationIds)]+                 (toQueryList "AllocationId" <$> _daAllocationIds),+               "DryRun" =: _daDryRun]  -- | /See:/ 'describeAddressesResponse' smart constructor. data DescribeAddressesResponse = DescribeAddressesResponse'-    { _darsAddresses :: !(Maybe [Address])-    , _darsStatus    :: !Int+    { _darsAddresses      :: !(Maybe [Address])+    , _darsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeAddressesResponse' with the minimum fields required to make a request.@@ -164,14 +164,14 @@ -- -- * 'darsAddresses' ----- * 'darsStatus'+-- * 'darsResponseStatus' describeAddressesResponse-    :: Int -- ^ 'darsStatus'+    :: Int -- ^ 'darsResponseStatus'     -> DescribeAddressesResponse-describeAddressesResponse pStatus_ =+describeAddressesResponse pResponseStatus_ =     DescribeAddressesResponse'     { _darsAddresses = Nothing-    , _darsStatus = pStatus_+    , _darsResponseStatus = pResponseStatus_     }  -- | Information about one or more Elastic IP addresses.@@ -179,5 +179,5 @@ darsAddresses = lens _darsAddresses (\ s a -> s{_darsAddresses = a}) . _Default . _Coerce;  -- | The response status code.-darsStatus :: Lens' DescribeAddressesResponse Int-darsStatus = lens _darsStatus (\ s a -> s{_darsStatus = a});+darsResponseStatus :: Lens' DescribeAddressesResponse Int+darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a});
gen/Network/AWS/EC2/DescribeAvailabilityZones.hs view
@@ -44,7 +44,7 @@     , DescribeAvailabilityZonesResponse     -- * Response Lenses     , dazrsAvailabilityZones-    , dazrsStatus+    , dazrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -136,7 +136,7 @@ -- | /See:/ 'describeAvailabilityZonesResponse' smart constructor. data DescribeAvailabilityZonesResponse = DescribeAvailabilityZonesResponse'     { _dazrsAvailabilityZones :: !(Maybe [AvailabilityZone])-    , _dazrsStatus            :: !Int+    , _dazrsResponseStatus    :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeAvailabilityZonesResponse' with the minimum fields required to make a request.@@ -145,14 +145,14 @@ -- -- * 'dazrsAvailabilityZones' ----- * 'dazrsStatus'+-- * 'dazrsResponseStatus' describeAvailabilityZonesResponse-    :: Int -- ^ 'dazrsStatus'+    :: Int -- ^ 'dazrsResponseStatus'     -> DescribeAvailabilityZonesResponse-describeAvailabilityZonesResponse pStatus_ =+describeAvailabilityZonesResponse pResponseStatus_ =     DescribeAvailabilityZonesResponse'     { _dazrsAvailabilityZones = Nothing-    , _dazrsStatus = pStatus_+    , _dazrsResponseStatus = pResponseStatus_     }  -- | Information about one or more Availability Zones.@@ -160,5 +160,5 @@ dazrsAvailabilityZones = lens _dazrsAvailabilityZones (\ s a -> s{_dazrsAvailabilityZones = a}) . _Default . _Coerce;  -- | The response status code.-dazrsStatus :: Lens' DescribeAvailabilityZonesResponse Int-dazrsStatus = lens _dazrsStatus (\ s a -> s{_dazrsStatus = a});+dazrsResponseStatus :: Lens' DescribeAvailabilityZonesResponse Int+dazrsResponseStatus = lens _dazrsResponseStatus (\ s a -> s{_dazrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeBundleTasks.hs view
@@ -41,7 +41,7 @@     , DescribeBundleTasksResponse     -- * Response Lenses     , dbtrsBundleTasks-    , dbtrsStatus+    , dbtrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -145,8 +145,8 @@  -- | /See:/ 'describeBundleTasksResponse' smart constructor. data DescribeBundleTasksResponse = DescribeBundleTasksResponse'-    { _dbtrsBundleTasks :: !(Maybe [BundleTask])-    , _dbtrsStatus      :: !Int+    { _dbtrsBundleTasks    :: !(Maybe [BundleTask])+    , _dbtrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeBundleTasksResponse' with the minimum fields required to make a request.@@ -155,14 +155,14 @@ -- -- * 'dbtrsBundleTasks' ----- * 'dbtrsStatus'+-- * 'dbtrsResponseStatus' describeBundleTasksResponse-    :: Int -- ^ 'dbtrsStatus'+    :: Int -- ^ 'dbtrsResponseStatus'     -> DescribeBundleTasksResponse-describeBundleTasksResponse pStatus_ =+describeBundleTasksResponse pResponseStatus_ =     DescribeBundleTasksResponse'     { _dbtrsBundleTasks = Nothing-    , _dbtrsStatus = pStatus_+    , _dbtrsResponseStatus = pResponseStatus_     }  -- | Information about one or more bundle tasks.@@ -170,5 +170,5 @@ dbtrsBundleTasks = lens _dbtrsBundleTasks (\ s a -> s{_dbtrsBundleTasks = a}) . _Default . _Coerce;  -- | The response status code.-dbtrsStatus :: Lens' DescribeBundleTasksResponse Int-dbtrsStatus = lens _dbtrsStatus (\ s a -> s{_dbtrsStatus = a});+dbtrsResponseStatus :: Lens' DescribeBundleTasksResponse Int+dbtrsResponseStatus = lens _dbtrsResponseStatus (\ s a -> s{_dbtrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeClassicLinkInstances.hs view
@@ -42,7 +42,7 @@     -- * Response Lenses     , dclirsNextToken     , dclirsInstances-    , dclirsStatus+    , dclirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -173,9 +173,9 @@  -- | /See:/ 'describeClassicLinkInstancesResponse' smart constructor. data DescribeClassicLinkInstancesResponse = DescribeClassicLinkInstancesResponse'-    { _dclirsNextToken :: !(Maybe Text)-    , _dclirsInstances :: !(Maybe [ClassicLinkInstance])-    , _dclirsStatus    :: !Int+    { _dclirsNextToken      :: !(Maybe Text)+    , _dclirsInstances      :: !(Maybe [ClassicLinkInstance])+    , _dclirsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeClassicLinkInstancesResponse' with the minimum fields required to make a request.@@ -186,15 +186,15 @@ -- -- * 'dclirsInstances' ----- * 'dclirsStatus'+-- * 'dclirsResponseStatus' describeClassicLinkInstancesResponse-    :: Int -- ^ 'dclirsStatus'+    :: Int -- ^ 'dclirsResponseStatus'     -> DescribeClassicLinkInstancesResponse-describeClassicLinkInstancesResponse pStatus_ =+describeClassicLinkInstancesResponse pResponseStatus_ =     DescribeClassicLinkInstancesResponse'     { _dclirsNextToken = Nothing     , _dclirsInstances = Nothing-    , _dclirsStatus = pStatus_+    , _dclirsResponseStatus = pResponseStatus_     }  -- | The token to use to retrieve the next page of results. This value is@@ -207,5 +207,5 @@ dclirsInstances = lens _dclirsInstances (\ s a -> s{_dclirsInstances = a}) . _Default . _Coerce;  -- | The response status code.-dclirsStatus :: Lens' DescribeClassicLinkInstancesResponse Int-dclirsStatus = lens _dclirsStatus (\ s a -> s{_dclirsStatus = a});+dclirsResponseStatus :: Lens' DescribeClassicLinkInstancesResponse Int+dclirsResponseStatus = lens _dclirsResponseStatus (\ s a -> s{_dclirsResponseStatus = a});
gen/Network/AWS/EC2/DescribeConversionTasks.hs view
@@ -30,8 +30,8 @@       describeConversionTasks     , DescribeConversionTasks     -- * Request Lenses-    , dctConversionTaskIds     , dctFilters+    , dctConversionTaskIds     , dctDryRun      -- * Destructuring the Response@@ -39,7 +39,7 @@     , DescribeConversionTasksResponse     -- * Response Lenses     , dctrsConversionTasks-    , dctrsStatus+    , dctrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -50,8 +50,8 @@  -- | /See:/ 'describeConversionTasks' smart constructor. data DescribeConversionTasks = DescribeConversionTasks'-    { _dctConversionTaskIds :: !(Maybe [Text])-    , _dctFilters           :: !(Maybe [Filter])+    { _dctFilters           :: !(Maybe [Filter])+    , _dctConversionTaskIds :: !(Maybe [Text])     , _dctDryRun            :: !(Maybe Bool)     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -59,28 +59,28 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dctConversionTaskIds'--- -- * 'dctFilters' --+-- * 'dctConversionTaskIds'+-- -- * 'dctDryRun' describeConversionTasks     :: DescribeConversionTasks describeConversionTasks =     DescribeConversionTasks'-    { _dctConversionTaskIds = Nothing-    , _dctFilters = Nothing+    { _dctFilters = Nothing+    , _dctConversionTaskIds = Nothing     , _dctDryRun = Nothing     } --- | One or more conversion task IDs.-dctConversionTaskIds :: Lens' DescribeConversionTasks [Text]-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}) . _Default . _Coerce; +-- | One or more conversion task IDs.+dctConversionTaskIds :: Lens' DescribeConversionTasks [Text]+dctConversionTaskIds = lens _dctConversionTaskIds (\ s a -> s{_dctConversionTaskIds = 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'.@@ -112,16 +112,16 @@               ["Action" =:                  ("DescribeConversionTasks" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dctFilters),                toQuery                  (toQueryList "ConversionTaskId" <$>                     _dctConversionTaskIds),-               toQuery (toQueryList "Filter" <$> _dctFilters),                "DryRun" =: _dctDryRun]  -- | /See:/ 'describeConversionTasksResponse' smart constructor. data DescribeConversionTasksResponse = DescribeConversionTasksResponse'     { _dctrsConversionTasks :: !(Maybe [ConversionTask])-    , _dctrsStatus          :: !Int+    , _dctrsResponseStatus  :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeConversionTasksResponse' with the minimum fields required to make a request.@@ -130,14 +130,14 @@ -- -- * 'dctrsConversionTasks' ----- * 'dctrsStatus'+-- * 'dctrsResponseStatus' describeConversionTasksResponse-    :: Int -- ^ 'dctrsStatus'+    :: Int -- ^ 'dctrsResponseStatus'     -> DescribeConversionTasksResponse-describeConversionTasksResponse pStatus_ =+describeConversionTasksResponse pResponseStatus_ =     DescribeConversionTasksResponse'     { _dctrsConversionTasks = Nothing-    , _dctrsStatus = pStatus_+    , _dctrsResponseStatus = pResponseStatus_     }  -- | Information about the conversion tasks.@@ -145,5 +145,5 @@ dctrsConversionTasks = lens _dctrsConversionTasks (\ s a -> s{_dctrsConversionTasks = a}) . _Default . _Coerce;  -- | The response status code.-dctrsStatus :: Lens' DescribeConversionTasksResponse Int-dctrsStatus = lens _dctrsStatus (\ s a -> s{_dctrsStatus = a});+dctrsResponseStatus :: Lens' DescribeConversionTasksResponse Int+dctrsResponseStatus = lens _dctrsResponseStatus (\ s a -> s{_dctrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeCustomerGateways.hs view
@@ -40,7 +40,7 @@     , DescribeCustomerGatewaysResponse     -- * Response Lenses     , dcgrsCustomerGateways-    , dcgrsStatus+    , dcgrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -153,7 +153,7 @@ -- | /See:/ 'describeCustomerGatewaysResponse' smart constructor. data DescribeCustomerGatewaysResponse = DescribeCustomerGatewaysResponse'     { _dcgrsCustomerGateways :: !(Maybe [CustomerGateway])-    , _dcgrsStatus           :: !Int+    , _dcgrsResponseStatus   :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeCustomerGatewaysResponse' with the minimum fields required to make a request.@@ -162,14 +162,14 @@ -- -- * 'dcgrsCustomerGateways' ----- * 'dcgrsStatus'+-- * 'dcgrsResponseStatus' describeCustomerGatewaysResponse-    :: Int -- ^ 'dcgrsStatus'+    :: Int -- ^ 'dcgrsResponseStatus'     -> DescribeCustomerGatewaysResponse-describeCustomerGatewaysResponse pStatus_ =+describeCustomerGatewaysResponse pResponseStatus_ =     DescribeCustomerGatewaysResponse'     { _dcgrsCustomerGateways = Nothing-    , _dcgrsStatus = pStatus_+    , _dcgrsResponseStatus = pResponseStatus_     }  -- | Information about one or more customer gateways.@@ -177,5 +177,5 @@ dcgrsCustomerGateways = lens _dcgrsCustomerGateways (\ s a -> s{_dcgrsCustomerGateways = a}) . _Default . _Coerce;  -- | The response status code.-dcgrsStatus :: Lens' DescribeCustomerGatewaysResponse Int-dcgrsStatus = lens _dcgrsStatus (\ s a -> s{_dcgrsStatus = a});+dcgrsResponseStatus :: Lens' DescribeCustomerGatewaysResponse Int+dcgrsResponseStatus = lens _dcgrsResponseStatus (\ s a -> s{_dcgrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeDHCPOptions.hs view
@@ -40,7 +40,7 @@     , DescribeDHCPOptionsResponse     -- * Response Lenses     , ddorsDHCPOptions-    , ddorsStatus+    , ddorsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -142,8 +142,8 @@  -- | /See:/ 'describeDHCPOptionsResponse' smart constructor. data DescribeDHCPOptionsResponse = DescribeDHCPOptionsResponse'-    { _ddorsDHCPOptions :: !(Maybe [DHCPOptions])-    , _ddorsStatus      :: !Int+    { _ddorsDHCPOptions    :: !(Maybe [DHCPOptions])+    , _ddorsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeDHCPOptionsResponse' with the minimum fields required to make a request.@@ -152,14 +152,14 @@ -- -- * 'ddorsDHCPOptions' ----- * 'ddorsStatus'+-- * 'ddorsResponseStatus' describeDHCPOptionsResponse-    :: Int -- ^ 'ddorsStatus'+    :: Int -- ^ 'ddorsResponseStatus'     -> DescribeDHCPOptionsResponse-describeDHCPOptionsResponse pStatus_ =+describeDHCPOptionsResponse pResponseStatus_ =     DescribeDHCPOptionsResponse'     { _ddorsDHCPOptions = Nothing-    , _ddorsStatus = pStatus_+    , _ddorsResponseStatus = pResponseStatus_     }  -- | Information about one or more DHCP options sets.@@ -167,5 +167,5 @@ 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});+ddorsResponseStatus :: Lens' DescribeDHCPOptionsResponse Int+ddorsResponseStatus = lens _ddorsResponseStatus (\ s a -> s{_ddorsResponseStatus = a});
gen/Network/AWS/EC2/DescribeExportTasks.hs view
@@ -34,7 +34,7 @@     , DescribeExportTasksResponse     -- * Response Lenses     , detrsExportTasks-    , detrsStatus+    , detrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -92,8 +92,8 @@  -- | /See:/ 'describeExportTasksResponse' smart constructor. data DescribeExportTasksResponse = DescribeExportTasksResponse'-    { _detrsExportTasks :: !(Maybe [ExportTask])-    , _detrsStatus      :: !Int+    { _detrsExportTasks    :: !(Maybe [ExportTask])+    , _detrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeExportTasksResponse' with the minimum fields required to make a request.@@ -102,14 +102,14 @@ -- -- * 'detrsExportTasks' ----- * 'detrsStatus'+-- * 'detrsResponseStatus' describeExportTasksResponse-    :: Int -- ^ 'detrsStatus'+    :: Int -- ^ 'detrsResponseStatus'     -> DescribeExportTasksResponse-describeExportTasksResponse pStatus_ =+describeExportTasksResponse pResponseStatus_ =     DescribeExportTasksResponse'     { _detrsExportTasks = Nothing-    , _detrsStatus = pStatus_+    , _detrsResponseStatus = pResponseStatus_     }  -- | Information about the export tasks.@@ -117,5 +117,5 @@ detrsExportTasks = lens _detrsExportTasks (\ s a -> s{_detrsExportTasks = a}) . _Default . _Coerce;  -- | The response status code.-detrsStatus :: Lens' DescribeExportTasksResponse Int-detrsStatus = lens _detrsStatus (\ s a -> s{_detrsStatus = a});+detrsResponseStatus :: Lens' DescribeExportTasksResponse Int+detrsResponseStatus = lens _detrsResponseStatus (\ s a -> s{_detrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeFlowLogs.hs view
@@ -30,8 +30,8 @@     , DescribeFlowLogs     -- * Request Lenses     , dNextToken-    , dFilter     , dFlowLogIds+    , dFilter     , dMaxResults      -- * Destructuring the Response@@ -40,7 +40,7 @@     -- * Response Lenses     , dflsrsNextToken     , dflsrsFlowLogs-    , dflsrsStatus+    , dflsrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -52,8 +52,8 @@ -- | /See:/ 'describeFlowLogs' smart constructor. data DescribeFlowLogs = DescribeFlowLogs'     { _dNextToken  :: !(Maybe Text)-    , _dFilter     :: !(Maybe [Filter])     , _dFlowLogIds :: !(Maybe [Text])+    , _dFilter     :: !(Maybe [Filter])     , _dMaxResults :: !(Maybe Int)     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -63,18 +63,18 @@ -- -- * 'dNextToken' ----- * 'dFilter'--- -- * 'dFlowLogIds' --+-- * 'dFilter'+-- -- * 'dMaxResults' describeFlowLogs     :: DescribeFlowLogs describeFlowLogs =     DescribeFlowLogs'     { _dNextToken = Nothing-    , _dFilter = Nothing     , _dFlowLogIds = Nothing+    , _dFilter = Nothing     , _dMaxResults = Nothing     } @@ -82,6 +82,10 @@ dNextToken :: Lens' DescribeFlowLogs (Maybe Text) dNextToken = lens _dNextToken (\ s a -> s{_dNextToken = a}); +-- | One or more flow log IDs.+dFlowLogIds :: Lens' DescribeFlowLogs [Text]+dFlowLogIds = lens _dFlowLogIds (\ s a -> s{_dFlowLogIds = a}) . _Default . _Coerce;+ -- | One or more filters. -- -- -   'deliver-log-status' - The status of the logs delivery ('SUCCESS' |@@ -98,10 +102,6 @@ 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@@ -135,15 +135,15 @@               ["Action" =: ("DescribeFlowLogs" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),                "NextToken" =: _dNextToken,-               toQuery (toQueryList "Filter" <$> _dFilter),                toQuery (toQueryList "FlowLogId" <$> _dFlowLogIds),+               toQuery (toQueryList "Filter" <$> _dFilter),                "MaxResults" =: _dMaxResults]  -- | /See:/ 'describeFlowLogsResponse' smart constructor. data DescribeFlowLogsResponse = DescribeFlowLogsResponse'-    { _dflsrsNextToken :: !(Maybe Text)-    , _dflsrsFlowLogs  :: !(Maybe [FlowLog])-    , _dflsrsStatus    :: !Int+    { _dflsrsNextToken      :: !(Maybe Text)+    , _dflsrsFlowLogs       :: !(Maybe [FlowLog])+    , _dflsrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeFlowLogsResponse' with the minimum fields required to make a request.@@ -154,15 +154,15 @@ -- -- * 'dflsrsFlowLogs' ----- * 'dflsrsStatus'+-- * 'dflsrsResponseStatus' describeFlowLogsResponse-    :: Int -- ^ 'dflsrsStatus'+    :: Int -- ^ 'dflsrsResponseStatus'     -> DescribeFlowLogsResponse-describeFlowLogsResponse pStatus_ =+describeFlowLogsResponse pResponseStatus_ =     DescribeFlowLogsResponse'     { _dflsrsNextToken = Nothing     , _dflsrsFlowLogs = Nothing-    , _dflsrsStatus = pStatus_+    , _dflsrsResponseStatus = pResponseStatus_     }  -- | The token to use to retrieve the next page of results. This value is@@ -175,5 +175,5 @@ 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});+dflsrsResponseStatus :: Lens' DescribeFlowLogsResponse Int+dflsrsResponseStatus = lens _dflsrsResponseStatus (\ s a -> s{_dflsrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeImageAttribute.hs view
@@ -42,9 +42,9 @@     , diarsSRIOVNetSupport     , diarsImageId     , diarsProductCodes-    , diarsBlockDeviceMappings     , diarsDescription-    , diarsStatus+    , diarsBlockDeviceMappings+    , diarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -117,10 +117,10 @@                      <*>                      (x .@? "productCodes" .!@ mempty >>=                         may (parseXMLList "item"))+                     <*> (x .@? "description")                      <*>                      (x .@? "blockDeviceMapping" .!@ mempty >>=                         may (parseXMLList "item"))-                     <*> (x .@? "description")                      <*> (pure (fromEnum s)))  instance ToHeaders DescribeImageAttribute where@@ -148,9 +148,9 @@     , _diarsSRIOVNetSupport     :: !(Maybe AttributeValue)     , _diarsImageId             :: !(Maybe Text)     , _diarsProductCodes        :: !(Maybe [ProductCode])-    , _diarsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])     , _diarsDescription         :: !(Maybe AttributeValue)-    , _diarsStatus              :: !Int+    , _diarsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _diarsResponseStatus      :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeImageAttributeResponse' with the minimum fields required to make a request.@@ -169,15 +169,15 @@ -- -- * 'diarsProductCodes' ----- * 'diarsBlockDeviceMappings'--- -- * 'diarsDescription' ----- * 'diarsStatus'+-- * 'diarsBlockDeviceMappings'+--+-- * 'diarsResponseStatus' describeImageAttributeResponse-    :: Int -- ^ 'diarsStatus'+    :: Int -- ^ 'diarsResponseStatus'     -> DescribeImageAttributeResponse-describeImageAttributeResponse pStatus_ =+describeImageAttributeResponse pResponseStatus_ =     DescribeImageAttributeResponse'     { _diarsLaunchPermissions = Nothing     , _diarsRAMDiskId = Nothing@@ -185,9 +185,9 @@     , _diarsSRIOVNetSupport = Nothing     , _diarsImageId = Nothing     , _diarsProductCodes = Nothing-    , _diarsBlockDeviceMappings = Nothing     , _diarsDescription = Nothing-    , _diarsStatus = pStatus_+    , _diarsBlockDeviceMappings = Nothing+    , _diarsResponseStatus = pResponseStatus_     }  -- | One or more launch permissions.@@ -214,14 +214,14 @@ diarsProductCodes :: Lens' DescribeImageAttributeResponse [ProductCode] diarsProductCodes = lens _diarsProductCodes (\ s a -> s{_diarsProductCodes = a}) . _Default . _Coerce; --- | One or more block device mapping entries.-diarsBlockDeviceMappings :: Lens' DescribeImageAttributeResponse [BlockDeviceMapping]-diarsBlockDeviceMappings = lens _diarsBlockDeviceMappings (\ s a -> s{_diarsBlockDeviceMappings = a}) . _Default . _Coerce;- -- | A description for the AMI. diarsDescription :: Lens' DescribeImageAttributeResponse (Maybe AttributeValue) diarsDescription = lens _diarsDescription (\ s a -> s{_diarsDescription = a}); +-- | One or more block device mapping entries.+diarsBlockDeviceMappings :: Lens' DescribeImageAttributeResponse [BlockDeviceMapping]+diarsBlockDeviceMappings = lens _diarsBlockDeviceMappings (\ s a -> s{_diarsBlockDeviceMappings = a}) . _Default . _Coerce;+ -- | The response status code.-diarsStatus :: Lens' DescribeImageAttributeResponse Int-diarsStatus = lens _diarsStatus (\ s a -> s{_diarsStatus = a});+diarsResponseStatus :: Lens' DescribeImageAttributeResponse Int+diarsResponseStatus = lens _diarsResponseStatus (\ s a -> s{_diarsResponseStatus = a});
gen/Network/AWS/EC2/DescribeImages.hs view
@@ -44,7 +44,7 @@     , DescribeImagesResponse     -- * Response Lenses     , desrsImages-    , desrsStatus+    , desrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -228,8 +228,8 @@  -- | /See:/ 'describeImagesResponse' smart constructor. data DescribeImagesResponse = DescribeImagesResponse'-    { _desrsImages :: !(Maybe [Image])-    , _desrsStatus :: !Int+    { _desrsImages         :: !(Maybe [Image])+    , _desrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeImagesResponse' with the minimum fields required to make a request.@@ -238,14 +238,14 @@ -- -- * 'desrsImages' ----- * 'desrsStatus'+-- * 'desrsResponseStatus' describeImagesResponse-    :: Int -- ^ 'desrsStatus'+    :: Int -- ^ 'desrsResponseStatus'     -> DescribeImagesResponse-describeImagesResponse pStatus_ =+describeImagesResponse pResponseStatus_ =     DescribeImagesResponse'     { _desrsImages = Nothing-    , _desrsStatus = pStatus_+    , _desrsResponseStatus = pResponseStatus_     }  -- | Information about one or more images.@@ -253,5 +253,5 @@ desrsImages = lens _desrsImages (\ s a -> s{_desrsImages = a}) . _Default . _Coerce;  -- | The response status code.-desrsStatus :: Lens' DescribeImagesResponse Int-desrsStatus = lens _desrsStatus (\ s a -> s{_desrsStatus = a});+desrsResponseStatus :: Lens' DescribeImagesResponse Int+desrsResponseStatus = lens _desrsResponseStatus (\ s a -> s{_desrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeImportImageTasks.hs view
@@ -38,9 +38,9 @@     , describeImportImageTasksResponse     , DescribeImportImageTasksResponse     -- * Response Lenses-    , diitrsImportImageTasks     , diitrsNextToken-    , diitrsStatus+    , diitrsImportImageTasks+    , diitrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -113,9 +113,9 @@           = receiveXML               (\ s h x ->                  DescribeImportImageTasksResponse' <$>-                   (x .@? "importImageTaskSet" .!@ mempty >>=-                      may (parseXMLList "item"))-                     <*> (x .@? "nextToken")+                   (x .@? "nextToken") <*>+                     (x .@? "importImageTaskSet" .!@ mempty >>=+                        may (parseXMLList "item"))                      <*> (pure (fromEnum s)))  instance ToHeaders DescribeImportImageTasks where@@ -139,40 +139,40 @@  -- | /See:/ 'describeImportImageTasksResponse' smart constructor. data DescribeImportImageTasksResponse = DescribeImportImageTasksResponse'-    { _diitrsImportImageTasks :: !(Maybe [ImportImageTask])-    , _diitrsNextToken        :: !(Maybe Text)-    , _diitrsStatus           :: !Int+    { _diitrsNextToken        :: !(Maybe Text)+    , _diitrsImportImageTasks :: !(Maybe [ImportImageTask])+    , _diitrsResponseStatus   :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | 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'+-- * 'diitrsImportImageTasks'+--+-- * 'diitrsResponseStatus' describeImportImageTasksResponse-    :: Int -- ^ 'diitrsStatus'+    :: Int -- ^ 'diitrsResponseStatus'     -> DescribeImportImageTasksResponse-describeImportImageTasksResponse pStatus_ =+describeImportImageTasksResponse pResponseStatus_ =     DescribeImportImageTasksResponse'-    { _diitrsImportImageTasks = Nothing-    , _diitrsNextToken = Nothing-    , _diitrsStatus = pStatus_+    { _diitrsNextToken = Nothing+    , _diitrsImportImageTasks = Nothing+    , _diitrsResponseStatus = pResponseStatus_     } --- | 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;- -- | 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}); +-- | 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;+ -- | The response status code.-diitrsStatus :: Lens' DescribeImportImageTasksResponse Int-diitrsStatus = lens _diitrsStatus (\ s a -> s{_diitrsStatus = a});+diitrsResponseStatus :: Lens' DescribeImportImageTasksResponse Int+diitrsResponseStatus = lens _diitrsResponseStatus (\ s a -> s{_diitrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeImportSnapshotTasks.hs view
@@ -39,7 +39,7 @@     -- * Response Lenses     , distrsNextToken     , distrsImportSnapshotTasks-    , distrsStatus+    , distrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -140,7 +140,7 @@ data DescribeImportSnapshotTasksResponse = DescribeImportSnapshotTasksResponse'     { _distrsNextToken           :: !(Maybe Text)     , _distrsImportSnapshotTasks :: !(Maybe [ImportSnapshotTask])-    , _distrsStatus              :: !Int+    , _distrsResponseStatus      :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeImportSnapshotTasksResponse' with the minimum fields required to make a request.@@ -151,15 +151,15 @@ -- -- * 'distrsImportSnapshotTasks' ----- * 'distrsStatus'+-- * 'distrsResponseStatus' describeImportSnapshotTasksResponse-    :: Int -- ^ 'distrsStatus'+    :: Int -- ^ 'distrsResponseStatus'     -> DescribeImportSnapshotTasksResponse-describeImportSnapshotTasksResponse pStatus_ =+describeImportSnapshotTasksResponse pResponseStatus_ =     DescribeImportSnapshotTasksResponse'     { _distrsNextToken = Nothing     , _distrsImportSnapshotTasks = Nothing-    , _distrsStatus = pStatus_+    , _distrsResponseStatus = pResponseStatus_     }  -- | The token to use to get the next page of results. This value is 'null'@@ -173,5 +173,5 @@ 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});+distrsResponseStatus :: Lens' DescribeImportSnapshotTasksResponse Int+distrsResponseStatus = lens _distrsResponseStatus (\ s a -> s{_distrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeInstanceAttribute.hs view
@@ -46,15 +46,15 @@     , drsDisableAPITermination     , drsRAMDiskId     , drsKernelId-    , drsInstanceType     , drsRootDeviceName+    , drsInstanceType+    , drsSRIOVNetSupport     , drsEBSOptimized     , drsUserData-    , drsSRIOVNetSupport     , drsInstanceInitiatedShutdownBehavior     , drsProductCodes     , drsBlockDeviceMappings-    , drsStatus+    , drsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -120,11 +120,11 @@                      <*> (x .@? "disableApiTermination")                      <*> (x .@? "ramdisk")                      <*> (x .@? "kernel")-                     <*> (x .@? "instanceType")                      <*> (x .@? "rootDeviceName")+                     <*> (x .@? "instanceType")+                     <*> (x .@? "sriovNetSupport")                      <*> (x .@? "ebsOptimized")                      <*> (x .@? "userData")-                     <*> (x .@? "sriovNetSupport")                      <*> (x .@? "instanceInitiatedShutdownBehavior")                      <*>                      (x .@? "productCodes" .!@ mempty >>=@@ -160,15 +160,15 @@     , _drsDisableAPITermination             :: !(Maybe AttributeBooleanValue)     , _drsRAMDiskId                         :: !(Maybe AttributeValue)     , _drsKernelId                          :: !(Maybe AttributeValue)-    , _drsInstanceType                      :: !(Maybe AttributeValue)     , _drsRootDeviceName                    :: !(Maybe AttributeValue)+    , _drsInstanceType                      :: !(Maybe AttributeValue)+    , _drsSRIOVNetSupport                   :: !(Maybe AttributeValue)     , _drsEBSOptimized                      :: !(Maybe AttributeBooleanValue)     , _drsUserData                          :: !(Maybe AttributeValue)-    , _drsSRIOVNetSupport                   :: !(Maybe AttributeValue)     , _drsInstanceInitiatedShutdownBehavior :: !(Maybe AttributeValue)     , _drsProductCodes                      :: !(Maybe [ProductCode])     , _drsBlockDeviceMappings               :: !(Maybe [InstanceBlockDeviceMapping])-    , _drsStatus                            :: !Int+    , _drsResponseStatus                    :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeInstanceAttributeResponse' with the minimum fields required to make a request.@@ -187,27 +187,27 @@ -- -- * 'drsKernelId' --+-- * 'drsRootDeviceName'+-- -- * 'drsInstanceType' ----- * 'drsRootDeviceName'+-- * 'drsSRIOVNetSupport' -- -- * 'drsEBSOptimized' -- -- * 'drsUserData' ----- * 'drsSRIOVNetSupport'--- -- * 'drsInstanceInitiatedShutdownBehavior' -- -- * 'drsProductCodes' -- -- * 'drsBlockDeviceMappings' ----- * 'drsStatus'+-- * 'drsResponseStatus' describeInstanceAttributeResponse-    :: Int -- ^ 'drsStatus'+    :: Int -- ^ 'drsResponseStatus'     -> DescribeInstanceAttributeResponse-describeInstanceAttributeResponse pStatus_ =+describeInstanceAttributeResponse pResponseStatus_ =     DescribeInstanceAttributeResponse'     { _drsInstanceId = Nothing     , _drsGroups = Nothing@@ -215,15 +215,15 @@     , _drsDisableAPITermination = Nothing     , _drsRAMDiskId = Nothing     , _drsKernelId = Nothing-    , _drsInstanceType = Nothing     , _drsRootDeviceName = Nothing+    , _drsInstanceType = Nothing+    , _drsSRIOVNetSupport = Nothing     , _drsEBSOptimized = Nothing     , _drsUserData = Nothing-    , _drsSRIOVNetSupport = Nothing     , _drsInstanceInitiatedShutdownBehavior = Nothing     , _drsProductCodes = Nothing     , _drsBlockDeviceMappings = Nothing-    , _drsStatus = pStatus_+    , _drsResponseStatus = pResponseStatus_     }  -- | The ID of the instance.@@ -253,15 +253,19 @@ drsKernelId :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue) drsKernelId = lens _drsKernelId (\ s a -> s{_drsKernelId = a}); --- | The instance type.-drsInstanceType :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)-drsInstanceType = lens _drsInstanceType (\ s a -> s{_drsInstanceType = 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}); +-- | The instance type.+drsInstanceType :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)+drsInstanceType = lens _drsInstanceType (\ s a -> s{_drsInstanceType = a});++-- | Undocumented member.+drsSRIOVNetSupport :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)+drsSRIOVNetSupport = lens _drsSRIOVNetSupport (\ s a -> s{_drsSRIOVNetSupport = a});+ -- | Indicates whether the instance is optimized for EBS I\/O. drsEBSOptimized :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeBooleanValue) drsEBSOptimized = lens _drsEBSOptimized (\ s a -> s{_drsEBSOptimized = a});@@ -270,10 +274,6 @@ drsUserData :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue) drsUserData = lens _drsUserData (\ s a -> s{_drsUserData = a}); --- | Undocumented member.-drsSRIOVNetSupport :: Lens' DescribeInstanceAttributeResponse (Maybe AttributeValue)-drsSRIOVNetSupport = lens _drsSRIOVNetSupport (\ s a -> s{_drsSRIOVNetSupport = a});- -- | Indicates whether an instance stops or terminates when you initiate -- shutdown from the instance (using the operating system command for -- system shutdown).@@ -289,5 +289,5 @@ drsBlockDeviceMappings = lens _drsBlockDeviceMappings (\ s a -> s{_drsBlockDeviceMappings = a}) . _Default . _Coerce;  -- | The response status code.-drsStatus :: Lens' DescribeInstanceAttributeResponse Int-drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});+drsResponseStatus :: Lens' DescribeInstanceAttributeResponse Int+drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
gen/Network/AWS/EC2/DescribeInstanceStatus.hs view
@@ -65,7 +65,7 @@     -- * Response Lenses     , disrsInstanceStatuses     , disrsNextToken-    , disrsStatus+    , disrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -236,7 +236,7 @@ data DescribeInstanceStatusResponse = DescribeInstanceStatusResponse'     { _disrsInstanceStatuses :: !(Maybe [InstanceStatus])     , _disrsNextToken        :: !(Maybe Text)-    , _disrsStatus           :: !Int+    , _disrsResponseStatus   :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeInstanceStatusResponse' with the minimum fields required to make a request.@@ -247,15 +247,15 @@ -- -- * 'disrsNextToken' ----- * 'disrsStatus'+-- * 'disrsResponseStatus' describeInstanceStatusResponse-    :: Int -- ^ 'disrsStatus'+    :: Int -- ^ 'disrsResponseStatus'     -> DescribeInstanceStatusResponse-describeInstanceStatusResponse pStatus_ =+describeInstanceStatusResponse pResponseStatus_ =     DescribeInstanceStatusResponse'     { _disrsInstanceStatuses = Nothing     , _disrsNextToken = Nothing-    , _disrsStatus = pStatus_+    , _disrsResponseStatus = pResponseStatus_     }  -- | One or more instance status descriptions.@@ -268,5 +268,5 @@ disrsNextToken = lens _disrsNextToken (\ s a -> s{_disrsNextToken = a});  -- | The response status code.-disrsStatus :: Lens' DescribeInstanceStatusResponse Int-disrsStatus = lens _disrsStatus (\ s a -> s{_disrsStatus = a});+disrsResponseStatus :: Lens' DescribeInstanceStatusResponse Int+disrsResponseStatus = lens _disrsResponseStatus (\ s a -> s{_disrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeInstances.hs view
@@ -51,7 +51,7 @@     -- * Response Lenses     , dirsNextToken     , dirsReservations-    , dirsStatus+    , dirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -407,9 +407,9 @@  -- | /See:/ 'describeInstancesResponse' smart constructor. data DescribeInstancesResponse = DescribeInstancesResponse'-    { _dirsNextToken    :: !(Maybe Text)-    , _dirsReservations :: !(Maybe [Reservation])-    , _dirsStatus       :: !Int+    { _dirsNextToken      :: !(Maybe Text)+    , _dirsReservations   :: !(Maybe [Reservation])+    , _dirsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeInstancesResponse' with the minimum fields required to make a request.@@ -420,15 +420,15 @@ -- -- * 'dirsReservations' ----- * 'dirsStatus'+-- * 'dirsResponseStatus' describeInstancesResponse-    :: Int -- ^ 'dirsStatus'+    :: Int -- ^ 'dirsResponseStatus'     -> DescribeInstancesResponse-describeInstancesResponse pStatus_ =+describeInstancesResponse pResponseStatus_ =     DescribeInstancesResponse'     { _dirsNextToken = Nothing     , _dirsReservations = Nothing-    , _dirsStatus = pStatus_+    , _dirsResponseStatus = pResponseStatus_     }  -- | The token to use to retrieve the next page of results. This value is@@ -441,5 +441,5 @@ dirsReservations = lens _dirsReservations (\ s a -> s{_dirsReservations = a}) . _Default . _Coerce;  -- | The response status code.-dirsStatus :: Lens' DescribeInstancesResponse Int-dirsStatus = lens _dirsStatus (\ s a -> s{_dirsStatus = a});+dirsResponseStatus :: Lens' DescribeInstancesResponse Int+dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a});
gen/Network/AWS/EC2/DescribeInternetGateways.hs view
@@ -36,7 +36,7 @@     , DescribeInternetGatewaysResponse     -- * Response Lenses     , digrsInternetGateways-    , digrsStatus+    , digrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -143,7 +143,7 @@ -- | /See:/ 'describeInternetGatewaysResponse' smart constructor. data DescribeInternetGatewaysResponse = DescribeInternetGatewaysResponse'     { _digrsInternetGateways :: !(Maybe [InternetGateway])-    , _digrsStatus           :: !Int+    , _digrsResponseStatus   :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeInternetGatewaysResponse' with the minimum fields required to make a request.@@ -152,14 +152,14 @@ -- -- * 'digrsInternetGateways' ----- * 'digrsStatus'+-- * 'digrsResponseStatus' describeInternetGatewaysResponse-    :: Int -- ^ 'digrsStatus'+    :: Int -- ^ 'digrsResponseStatus'     -> DescribeInternetGatewaysResponse-describeInternetGatewaysResponse pStatus_ =+describeInternetGatewaysResponse pResponseStatus_ =     DescribeInternetGatewaysResponse'     { _digrsInternetGateways = Nothing-    , _digrsStatus = pStatus_+    , _digrsResponseStatus = pResponseStatus_     }  -- | Information about one or more Internet gateways.@@ -167,5 +167,5 @@ digrsInternetGateways = lens _digrsInternetGateways (\ s a -> s{_digrsInternetGateways = a}) . _Default . _Coerce;  -- | The response status code.-digrsStatus :: Lens' DescribeInternetGatewaysResponse Int-digrsStatus = lens _digrsStatus (\ s a -> s{_digrsStatus = a});+digrsResponseStatus :: Lens' DescribeInternetGatewaysResponse Int+digrsResponseStatus = lens _digrsResponseStatus (\ s a -> s{_digrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeKeyPairs.hs view
@@ -40,7 +40,7 @@     , DescribeKeyPairsResponse     -- * Response Lenses     , dkprsKeyPairs-    , dkprsStatus+    , dkprsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -124,8 +124,8 @@  -- | /See:/ 'describeKeyPairsResponse' smart constructor. data DescribeKeyPairsResponse = DescribeKeyPairsResponse'-    { _dkprsKeyPairs :: !(Maybe [KeyPairInfo])-    , _dkprsStatus   :: !Int+    { _dkprsKeyPairs       :: !(Maybe [KeyPairInfo])+    , _dkprsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeKeyPairsResponse' with the minimum fields required to make a request.@@ -134,14 +134,14 @@ -- -- * 'dkprsKeyPairs' ----- * 'dkprsStatus'+-- * 'dkprsResponseStatus' describeKeyPairsResponse-    :: Int -- ^ 'dkprsStatus'+    :: Int -- ^ 'dkprsResponseStatus'     -> DescribeKeyPairsResponse-describeKeyPairsResponse pStatus_ =+describeKeyPairsResponse pResponseStatus_ =     DescribeKeyPairsResponse'     { _dkprsKeyPairs = Nothing-    , _dkprsStatus = pStatus_+    , _dkprsResponseStatus = pResponseStatus_     }  -- | Information about one or more key pairs.@@ -149,5 +149,5 @@ dkprsKeyPairs = lens _dkprsKeyPairs (\ s a -> s{_dkprsKeyPairs = a}) . _Default . _Coerce;  -- | The response status code.-dkprsStatus :: Lens' DescribeKeyPairsResponse Int-dkprsStatus = lens _dkprsStatus (\ s a -> s{_dkprsStatus = a});+dkprsResponseStatus :: Lens' DescribeKeyPairsResponse Int+dkprsResponseStatus = lens _dkprsResponseStatus (\ s a -> s{_dkprsResponseStatus = a});
gen/Network/AWS/EC2/DescribeMovingAddresses.hs view
@@ -30,8 +30,8 @@       describeMovingAddresses     , DescribeMovingAddresses     -- * Request Lenses-    , dmaPublicIPs     , dmaFilters+    , dmaPublicIPs     , dmaNextToken     , dmaDryRun     , dmaMaxResults@@ -42,7 +42,7 @@     -- * Response Lenses     , dmarsMovingAddressStatuses     , dmarsNextToken-    , dmarsStatus+    , dmarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -53,8 +53,8 @@  -- | /See:/ 'describeMovingAddresses' smart constructor. data DescribeMovingAddresses = DescribeMovingAddresses'-    { _dmaPublicIPs  :: !(Maybe [Text])-    , _dmaFilters    :: !(Maybe [Filter])+    { _dmaFilters    :: !(Maybe [Filter])+    , _dmaPublicIPs  :: !(Maybe [Text])     , _dmaNextToken  :: !(Maybe Text)     , _dmaDryRun     :: !(Maybe Bool)     , _dmaMaxResults :: !(Maybe Int)@@ -64,10 +64,10 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dmaPublicIPs'--- -- * 'dmaFilters' --+-- * 'dmaPublicIPs'+-- -- * 'dmaNextToken' -- -- * 'dmaDryRun'@@ -77,17 +77,13 @@     :: DescribeMovingAddresses describeMovingAddresses =     DescribeMovingAddresses'-    { _dmaPublicIPs = Nothing-    , _dmaFilters = Nothing+    { _dmaFilters = Nothing+    , _dmaPublicIPs = Nothing     , _dmaNextToken = Nothing     , _dmaDryRun = Nothing     , _dmaMaxResults = Nothing     } --- | 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@@ -96,6 +92,10 @@ dmaFilters :: Lens' DescribeMovingAddresses [Filter] dmaFilters = lens _dmaFilters (\ s a -> s{_dmaFilters = a}) . _Default . _Coerce; +-- | One or more Elastic IP addresses.+dmaPublicIPs :: Lens' DescribeMovingAddresses [Text]+dmaPublicIPs = lens _dmaPublicIPs (\ s a -> s{_dmaPublicIPs = a}) . _Default . _Coerce;+ -- | The token to use to retrieve the next page of results. dmaNextToken :: Lens' DescribeMovingAddresses (Maybe Text) dmaNextToken = lens _dmaNextToken (\ s a -> s{_dmaNextToken = a});@@ -142,8 +142,8 @@               ["Action" =:                  ("DescribeMovingAddresses" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),-               toQuery (toQueryList "PublicIp" <$> _dmaPublicIPs),                toQuery (toQueryList "Filter" <$> _dmaFilters),+               toQuery (toQueryList "PublicIp" <$> _dmaPublicIPs),                "NextToken" =: _dmaNextToken, "DryRun" =: _dmaDryRun,                "MaxResults" =: _dmaMaxResults] @@ -151,7 +151,7 @@ data DescribeMovingAddressesResponse = DescribeMovingAddressesResponse'     { _dmarsMovingAddressStatuses :: !(Maybe [MovingAddressStatus])     , _dmarsNextToken             :: !(Maybe Text)-    , _dmarsStatus                :: !Int+    , _dmarsResponseStatus        :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeMovingAddressesResponse' with the minimum fields required to make a request.@@ -162,15 +162,15 @@ -- -- * 'dmarsNextToken' ----- * 'dmarsStatus'+-- * 'dmarsResponseStatus' describeMovingAddressesResponse-    :: Int -- ^ 'dmarsStatus'+    :: Int -- ^ 'dmarsResponseStatus'     -> DescribeMovingAddressesResponse-describeMovingAddressesResponse pStatus_ =+describeMovingAddressesResponse pResponseStatus_ =     DescribeMovingAddressesResponse'     { _dmarsMovingAddressStatuses = Nothing     , _dmarsNextToken = Nothing-    , _dmarsStatus = pStatus_+    , _dmarsResponseStatus = pResponseStatus_     }  -- | The status for each Elastic IP address.@@ -183,5 +183,5 @@ dmarsNextToken = lens _dmarsNextToken (\ s a -> s{_dmarsNextToken = a});  -- | The response status code.-dmarsStatus :: Lens' DescribeMovingAddressesResponse Int-dmarsStatus = lens _dmarsStatus (\ s a -> s{_dmarsStatus = a});+dmarsResponseStatus :: Lens' DescribeMovingAddressesResponse Int+dmarsResponseStatus = lens _dmarsResponseStatus (\ s a -> s{_dmarsResponseStatus = a});
gen/Network/AWS/EC2/DescribeNetworkACLs.hs view
@@ -32,15 +32,15 @@     , DescribeNetworkACLs     -- * Request Lenses     , dnaclFilters-    , dnaclDryRun     , dnaclNetworkACLIds+    , dnaclDryRun      -- * Destructuring the Response     , describeNetworkACLsResponse     , DescribeNetworkACLsResponse     -- * Response Lenses     , dnarsNetworkACLs-    , dnarsStatus+    , dnarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -52,8 +52,8 @@ -- | /See:/ 'describeNetworkACLs' smart constructor. data DescribeNetworkACLs = DescribeNetworkACLs'     { _dnaclFilters       :: !(Maybe [Filter])-    , _dnaclDryRun        :: !(Maybe Bool)     , _dnaclNetworkACLIds :: !(Maybe [Text])+    , _dnaclDryRun        :: !(Maybe Bool)     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeNetworkACLs' with the minimum fields required to make a request.@@ -62,16 +62,16 @@ -- -- * 'dnaclFilters' ----- * 'dnaclDryRun'--- -- * 'dnaclNetworkACLIds'+--+-- * 'dnaclDryRun' describeNetworkACLs     :: DescribeNetworkACLs describeNetworkACLs =     DescribeNetworkACLs'     { _dnaclFilters = Nothing-    , _dnaclDryRun = Nothing     , _dnaclNetworkACLIds = Nothing+    , _dnaclDryRun = Nothing     }  -- | One or more filters.@@ -133,6 +133,12 @@ dnaclFilters :: Lens' DescribeNetworkACLs [Filter] dnaclFilters = lens _dnaclFilters (\ s a -> s{_dnaclFilters = a}) . _Default . _Coerce; +-- | 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;+ -- | Checks whether you have the required permissions for the action, without -- actually making the request, and provides an error response. If you have -- the required permissions, the error response is 'DryRunOperation'.@@ -140,12 +146,6 @@ 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 Rs DescribeNetworkACLs =              DescribeNetworkACLsResponse@@ -170,14 +170,14 @@               ["Action" =: ("DescribeNetworkAcls" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),                toQuery (toQueryList "Filter" <$> _dnaclFilters),-               "DryRun" =: _dnaclDryRun,                toQuery-                 (toQueryList "NetworkAclId" <$> _dnaclNetworkACLIds)]+                 (toQueryList "NetworkAclId" <$> _dnaclNetworkACLIds),+               "DryRun" =: _dnaclDryRun]  -- | /See:/ 'describeNetworkACLsResponse' smart constructor. data DescribeNetworkACLsResponse = DescribeNetworkACLsResponse'-    { _dnarsNetworkACLs :: !(Maybe [NetworkACL])-    , _dnarsStatus      :: !Int+    { _dnarsNetworkACLs    :: !(Maybe [NetworkACL])+    , _dnarsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeNetworkACLsResponse' with the minimum fields required to make a request.@@ -186,14 +186,14 @@ -- -- * 'dnarsNetworkACLs' ----- * 'dnarsStatus'+-- * 'dnarsResponseStatus' describeNetworkACLsResponse-    :: Int -- ^ 'dnarsStatus'+    :: Int -- ^ 'dnarsResponseStatus'     -> DescribeNetworkACLsResponse-describeNetworkACLsResponse pStatus_ =+describeNetworkACLsResponse pResponseStatus_ =     DescribeNetworkACLsResponse'     { _dnarsNetworkACLs = Nothing-    , _dnarsStatus = pStatus_+    , _dnarsResponseStatus = pResponseStatus_     }  -- | Information about one or more network ACLs.@@ -201,5 +201,5 @@ 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});+dnarsResponseStatus :: Lens' DescribeNetworkACLsResponse Int+dnarsResponseStatus = lens _dnarsResponseStatus (\ s a -> s{_dnarsResponseStatus = a});
gen/Network/AWS/EC2/DescribeNetworkInterfaceAttribute.hs view
@@ -41,7 +41,7 @@     , dniarsNetworkInterfaceId     , dniarsAttachment     , dniarsDescription-    , dniarsStatus+    , dniarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -134,7 +134,7 @@     , _dniarsNetworkInterfaceId :: !(Maybe Text)     , _dniarsAttachment         :: !(Maybe NetworkInterfaceAttachment)     , _dniarsDescription        :: !(Maybe AttributeValue)-    , _dniarsStatus             :: !Int+    , _dniarsResponseStatus     :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeNetworkInterfaceAttributeResponse' with the minimum fields required to make a request.@@ -151,18 +151,18 @@ -- -- * 'dniarsDescription' ----- * 'dniarsStatus'+-- * 'dniarsResponseStatus' describeNetworkInterfaceAttributeResponse-    :: Int -- ^ 'dniarsStatus'+    :: Int -- ^ 'dniarsResponseStatus'     -> DescribeNetworkInterfaceAttributeResponse-describeNetworkInterfaceAttributeResponse pStatus_ =+describeNetworkInterfaceAttributeResponse pResponseStatus_ =     DescribeNetworkInterfaceAttributeResponse'     { _dniarsGroups = Nothing     , _dniarsSourceDestCheck = Nothing     , _dniarsNetworkInterfaceId = Nothing     , _dniarsAttachment = Nothing     , _dniarsDescription = Nothing-    , _dniarsStatus = pStatus_+    , _dniarsResponseStatus = pResponseStatus_     }  -- | The security groups associated with the network interface.@@ -186,5 +186,5 @@ dniarsDescription = lens _dniarsDescription (\ s a -> s{_dniarsDescription = a});  -- | The response status code.-dniarsStatus :: Lens' DescribeNetworkInterfaceAttributeResponse Int-dniarsStatus = lens _dniarsStatus (\ s a -> s{_dniarsStatus = a});+dniarsResponseStatus :: Lens' DescribeNetworkInterfaceAttributeResponse Int+dniarsResponseStatus = lens _dniarsResponseStatus (\ s a -> s{_dniarsResponseStatus = a});
gen/Network/AWS/EC2/DescribeNetworkInterfaces.hs view
@@ -36,7 +36,7 @@     , DescribeNetworkInterfacesResponse     -- * Response Lenses     , dnirsNetworkInterfaces-    , dnirsStatus+    , dnirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -227,7 +227,7 @@ -- | /See:/ 'describeNetworkInterfacesResponse' smart constructor. data DescribeNetworkInterfacesResponse = DescribeNetworkInterfacesResponse'     { _dnirsNetworkInterfaces :: !(Maybe [NetworkInterface])-    , _dnirsStatus            :: !Int+    , _dnirsResponseStatus    :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeNetworkInterfacesResponse' with the minimum fields required to make a request.@@ -236,14 +236,14 @@ -- -- * 'dnirsNetworkInterfaces' ----- * 'dnirsStatus'+-- * 'dnirsResponseStatus' describeNetworkInterfacesResponse-    :: Int -- ^ 'dnirsStatus'+    :: Int -- ^ 'dnirsResponseStatus'     -> DescribeNetworkInterfacesResponse-describeNetworkInterfacesResponse pStatus_ =+describeNetworkInterfacesResponse pResponseStatus_ =     DescribeNetworkInterfacesResponse'     { _dnirsNetworkInterfaces = Nothing-    , _dnirsStatus = pStatus_+    , _dnirsResponseStatus = pResponseStatus_     }  -- | Information about one or more network interfaces.@@ -251,5 +251,5 @@ dnirsNetworkInterfaces = lens _dnirsNetworkInterfaces (\ s a -> s{_dnirsNetworkInterfaces = a}) . _Default . _Coerce;  -- | The response status code.-dnirsStatus :: Lens' DescribeNetworkInterfacesResponse Int-dnirsStatus = lens _dnirsStatus (\ s a -> s{_dnirsStatus = a});+dnirsResponseStatus :: Lens' DescribeNetworkInterfacesResponse Int+dnirsResponseStatus = lens _dnirsResponseStatus (\ s a -> s{_dnirsResponseStatus = a});
gen/Network/AWS/EC2/DescribePlacementGroups.hs view
@@ -30,8 +30,8 @@       describePlacementGroups     , DescribePlacementGroups     -- * Request Lenses-    , dpgsGroupNames     , dpgsFilters+    , dpgsGroupNames     , dpgsDryRun      -- * Destructuring the Response@@ -39,7 +39,7 @@     , DescribePlacementGroupsResponse     -- * Response Lenses     , dpgrsPlacementGroups-    , dpgrsStatus+    , dpgrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -50,8 +50,8 @@  -- | /See:/ 'describePlacementGroups' smart constructor. data DescribePlacementGroups = DescribePlacementGroups'-    { _dpgsGroupNames :: !(Maybe [Text])-    , _dpgsFilters    :: !(Maybe [Filter])+    { _dpgsFilters    :: !(Maybe [Filter])+    , _dpgsGroupNames :: !(Maybe [Text])     , _dpgsDryRun     :: !(Maybe Bool)     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -59,27 +59,20 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dpgsGroupNames'--- -- * 'dpgsFilters' --+-- * 'dpgsGroupNames'+-- -- * 'dpgsDryRun' describePlacementGroups     :: DescribePlacementGroups describePlacementGroups =     DescribePlacementGroups'-    { _dpgsGroupNames = Nothing-    , _dpgsFilters = Nothing+    { _dpgsFilters = Nothing+    , _dpgsGroupNames = Nothing     , _dpgsDryRun = Nothing     } --- | One or more placement group names.------ Default: Describes all your placement groups, or only those otherwise--- specified.-dpgsGroupNames :: Lens' DescribePlacementGroups [Text]-dpgsGroupNames = lens _dpgsGroupNames (\ s a -> s{_dpgsGroupNames = a}) . _Default . _Coerce;- -- | One or more filters. -- -- -   'group-name' - The name of the placement group.@@ -92,6 +85,13 @@ dpgsFilters :: Lens' DescribePlacementGroups [Filter] dpgsFilters = lens _dpgsFilters (\ s a -> s{_dpgsFilters = a}) . _Default . _Coerce; +-- | One or more placement group names.+--+-- Default: Describes all your placement groups, or only those otherwise+-- specified.+dpgsGroupNames :: Lens' DescribePlacementGroups [Text]+dpgsGroupNames = lens _dpgsGroupNames (\ s a -> s{_dpgsGroupNames = 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'.@@ -123,15 +123,15 @@               ["Action" =:                  ("DescribePlacementGroups" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dpgsFilters),                toQuery                  (toQueryList "GroupName" <$> _dpgsGroupNames),-               toQuery (toQueryList "Filter" <$> _dpgsFilters),                "DryRun" =: _dpgsDryRun]  -- | /See:/ 'describePlacementGroupsResponse' smart constructor. data DescribePlacementGroupsResponse = DescribePlacementGroupsResponse'     { _dpgrsPlacementGroups :: !(Maybe [PlacementGroup])-    , _dpgrsStatus          :: !Int+    , _dpgrsResponseStatus  :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribePlacementGroupsResponse' with the minimum fields required to make a request.@@ -140,14 +140,14 @@ -- -- * 'dpgrsPlacementGroups' ----- * 'dpgrsStatus'+-- * 'dpgrsResponseStatus' describePlacementGroupsResponse-    :: Int -- ^ 'dpgrsStatus'+    :: Int -- ^ 'dpgrsResponseStatus'     -> DescribePlacementGroupsResponse-describePlacementGroupsResponse pStatus_ =+describePlacementGroupsResponse pResponseStatus_ =     DescribePlacementGroupsResponse'     { _dpgrsPlacementGroups = Nothing-    , _dpgrsStatus = pStatus_+    , _dpgrsResponseStatus = pResponseStatus_     }  -- | One or more placement groups.@@ -155,5 +155,5 @@ dpgrsPlacementGroups = lens _dpgrsPlacementGroups (\ s a -> s{_dpgrsPlacementGroups = a}) . _Default . _Coerce;  -- | The response status code.-dpgrsStatus :: Lens' DescribePlacementGroupsResponse Int-dpgrsStatus = lens _dpgrsStatus (\ s a -> s{_dpgrsStatus = a});+dpgrsResponseStatus :: Lens' DescribePlacementGroupsResponse Int+dpgrsResponseStatus = lens _dpgrsResponseStatus (\ s a -> s{_dpgrsResponseStatus = a});
gen/Network/AWS/EC2/DescribePrefixLists.hs view
@@ -32,8 +32,8 @@     , DescribePrefixLists     -- * Request Lenses     , dplFilters-    , dplNextToken     , dplPrefixListIds+    , dplNextToken     , dplDryRun     , dplMaxResults @@ -43,7 +43,7 @@     -- * Response Lenses     , dplrsNextToken     , dplrsPrefixLists-    , dplrsStatus+    , dplrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -55,8 +55,8 @@ -- | /See:/ 'describePrefixLists' smart constructor. data DescribePrefixLists = DescribePrefixLists'     { _dplFilters       :: !(Maybe [Filter])-    , _dplNextToken     :: !(Maybe Text)     , _dplPrefixListIds :: !(Maybe [Text])+    , _dplNextToken     :: !(Maybe Text)     , _dplDryRun        :: !(Maybe Bool)     , _dplMaxResults    :: !(Maybe Int)     } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -67,10 +67,10 @@ -- -- * 'dplFilters' ----- * 'dplNextToken'--- -- * 'dplPrefixListIds' --+-- * 'dplNextToken'+-- -- * 'dplDryRun' -- -- * 'dplMaxResults'@@ -79,8 +79,8 @@ describePrefixLists =     DescribePrefixLists'     { _dplFilters = Nothing-    , _dplNextToken = Nothing     , _dplPrefixListIds = Nothing+    , _dplNextToken = Nothing     , _dplDryRun = Nothing     , _dplMaxResults = Nothing     }@@ -94,15 +94,15 @@ dplFilters :: Lens' DescribePrefixLists [Filter] dplFilters = lens _dplFilters (\ s a -> s{_dplFilters = a}) . _Default . _Coerce; +-- | One or more prefix list IDs.+dplPrefixListIds :: Lens' DescribePrefixLists [Text]+dplPrefixListIds = lens _dplPrefixListIds (\ s a -> s{_dplPrefixListIds = a}) . _Default . _Coerce;+ -- | 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}); --- | One or more prefix list IDs.-dplPrefixListIds :: Lens' DescribePrefixLists [Text]-dplPrefixListIds = lens _dplPrefixListIds (\ s a -> s{_dplPrefixListIds = 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'.@@ -144,17 +144,16 @@               ["Action" =: ("DescribePrefixLists" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),                toQuery (toQueryList "Filter" <$> _dplFilters),-               "NextToken" =: _dplNextToken,                toQuery                  (toQueryList "PrefixListId" <$> _dplPrefixListIds),-               "DryRun" =: _dplDryRun,+               "NextToken" =: _dplNextToken, "DryRun" =: _dplDryRun,                "MaxResults" =: _dplMaxResults]  -- | /See:/ 'describePrefixListsResponse' smart constructor. data DescribePrefixListsResponse = DescribePrefixListsResponse'-    { _dplrsNextToken   :: !(Maybe Text)-    , _dplrsPrefixLists :: !(Maybe [PrefixList])-    , _dplrsStatus      :: !Int+    { _dplrsNextToken      :: !(Maybe Text)+    , _dplrsPrefixLists    :: !(Maybe [PrefixList])+    , _dplrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribePrefixListsResponse' with the minimum fields required to make a request.@@ -165,15 +164,15 @@ -- -- * 'dplrsPrefixLists' ----- * 'dplrsStatus'+-- * 'dplrsResponseStatus' describePrefixListsResponse-    :: Int -- ^ 'dplrsStatus'+    :: Int -- ^ 'dplrsResponseStatus'     -> DescribePrefixListsResponse-describePrefixListsResponse pStatus_ =+describePrefixListsResponse pResponseStatus_ =     DescribePrefixListsResponse'     { _dplrsNextToken = Nothing     , _dplrsPrefixLists = Nothing-    , _dplrsStatus = pStatus_+    , _dplrsResponseStatus = pResponseStatus_     }  -- | The token to use when requesting the next set of items. If there are no@@ -186,5 +185,5 @@ 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});+dplrsResponseStatus :: Lens' DescribePrefixListsResponse Int+dplrsResponseStatus = lens _dplrsResponseStatus (\ s a -> s{_dplrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeRegions.hs view
@@ -39,7 +39,7 @@     , DescribeRegionsResponse     -- * Response Lenses     , drrsRegions-    , drrsStatus+    , drrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -123,8 +123,8 @@  -- | /See:/ 'describeRegionsResponse' smart constructor. data DescribeRegionsResponse = DescribeRegionsResponse'-    { _drrsRegions :: !(Maybe [RegionInfo])-    , _drrsStatus  :: !Int+    { _drrsRegions        :: !(Maybe [RegionInfo])+    , _drrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeRegionsResponse' with the minimum fields required to make a request.@@ -133,14 +133,14 @@ -- -- * 'drrsRegions' ----- * 'drrsStatus'+-- * 'drrsResponseStatus' describeRegionsResponse-    :: Int -- ^ 'drrsStatus'+    :: Int -- ^ 'drrsResponseStatus'     -> DescribeRegionsResponse-describeRegionsResponse pStatus_ =+describeRegionsResponse pResponseStatus_ =     DescribeRegionsResponse'     { _drrsRegions = Nothing-    , _drrsStatus = pStatus_+    , _drrsResponseStatus = pResponseStatus_     }  -- | Information about one or more regions.@@ -148,5 +148,5 @@ drrsRegions = lens _drrsRegions (\ s a -> s{_drrsRegions = a}) . _Default . _Coerce;  -- | The response status code.-drrsStatus :: Lens' DescribeRegionsResponse Int-drrsStatus = lens _drrsStatus (\ s a -> s{_drrsStatus = a});+drrsResponseStatus :: Lens' DescribeRegionsResponse Int+drrsResponseStatus = lens _drrsResponseStatus (\ s a -> s{_drrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeReservedInstances.hs view
@@ -32,8 +32,8 @@     , DescribeReservedInstances     -- * Request Lenses     , driFilters-    , driOfferingType     , driReservedInstancesIds+    , driOfferingType     , driDryRun      -- * Destructuring the Response@@ -41,7 +41,7 @@     , DescribeReservedInstancesResponse     -- * Response Lenses     , drirsReservedInstances-    , drirsStatus+    , drirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -53,8 +53,8 @@ -- | /See:/ 'describeReservedInstances' smart constructor. data DescribeReservedInstances = DescribeReservedInstances'     { _driFilters              :: !(Maybe [Filter])-    , _driOfferingType         :: !(Maybe OfferingTypeValues)     , _driReservedInstancesIds :: !(Maybe [Text])+    , _driOfferingType         :: !(Maybe OfferingTypeValues)     , _driDryRun               :: !(Maybe Bool)     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -64,18 +64,18 @@ -- -- * 'driFilters' ----- * 'driOfferingType'--- -- * 'driReservedInstancesIds' --+-- * 'driOfferingType'+-- -- * 'driDryRun' describeReservedInstances     :: DescribeReservedInstances describeReservedInstances =     DescribeReservedInstances'     { _driFilters = Nothing-    , _driOfferingType = Nothing     , _driReservedInstancesIds = Nothing+    , _driOfferingType = Nothing     , _driDryRun = Nothing     } @@ -138,12 +138,6 @@ driFilters :: Lens' DescribeReservedInstances [Filter] 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.-driOfferingType :: Lens' DescribeReservedInstances (Maybe OfferingTypeValues)-driOfferingType = lens _driOfferingType (\ s a -> s{_driOfferingType = a});- -- | One or more Reserved Instance IDs. -- -- Default: Describes all your Reserved Instances, or only those otherwise@@ -151,6 +145,12 @@ driReservedInstancesIds :: Lens' DescribeReservedInstances [Text] driReservedInstancesIds = lens _driReservedInstancesIds (\ s a -> s{_driReservedInstancesIds = a}) . _Default . _Coerce; +-- | The Reserved Instance offering type. If you are using tools that predate+-- the 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});+ -- | Checks whether you have the required permissions for the action, without -- actually making the request, and provides an error response. If you have -- the required permissions, the error response is 'DryRunOperation'.@@ -183,16 +183,16 @@                  ("DescribeReservedInstances" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),                toQuery (toQueryList "Filter" <$> _driFilters),-               "OfferingType" =: _driOfferingType,                toQuery                  (toQueryList "ReservedInstancesId" <$>                     _driReservedInstancesIds),+               "OfferingType" =: _driOfferingType,                "DryRun" =: _driDryRun]  -- | /See:/ 'describeReservedInstancesResponse' smart constructor. data DescribeReservedInstancesResponse = DescribeReservedInstancesResponse'     { _drirsReservedInstances :: !(Maybe [ReservedInstances])-    , _drirsStatus            :: !Int+    , _drirsResponseStatus    :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeReservedInstancesResponse' with the minimum fields required to make a request.@@ -201,14 +201,14 @@ -- -- * 'drirsReservedInstances' ----- * 'drirsStatus'+-- * 'drirsResponseStatus' describeReservedInstancesResponse-    :: Int -- ^ 'drirsStatus'+    :: Int -- ^ 'drirsResponseStatus'     -> DescribeReservedInstancesResponse-describeReservedInstancesResponse pStatus_ =+describeReservedInstancesResponse pResponseStatus_ =     DescribeReservedInstancesResponse'     { _drirsReservedInstances = Nothing-    , _drirsStatus = pStatus_+    , _drirsResponseStatus = pResponseStatus_     }  -- | A list of Reserved Instances.@@ -216,5 +216,5 @@ drirsReservedInstances = lens _drirsReservedInstances (\ s a -> s{_drirsReservedInstances = a}) . _Default . _Coerce;  -- | The response status code.-drirsStatus :: Lens' DescribeReservedInstancesResponse Int-drirsStatus = lens _drirsStatus (\ s a -> s{_drirsStatus = a});+drirsResponseStatus :: Lens' DescribeReservedInstancesResponse Int+drirsResponseStatus = lens _drirsResponseStatus (\ s a -> s{_drirsResponseStatus = a});
gen/Network/AWS/EC2/DescribeReservedInstancesListings.hs view
@@ -59,7 +59,7 @@     , DescribeReservedInstancesListingsResponse     -- * Response Lenses     , drilrsReservedInstancesListings-    , drilrsStatus+    , drilrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -152,7 +152,7 @@ -- | /See:/ 'describeReservedInstancesListingsResponse' smart constructor. data DescribeReservedInstancesListingsResponse = DescribeReservedInstancesListingsResponse'     { _drilrsReservedInstancesListings :: !(Maybe [ReservedInstancesListing])-    , _drilrsStatus                    :: !Int+    , _drilrsResponseStatus            :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeReservedInstancesListingsResponse' with the minimum fields required to make a request.@@ -161,14 +161,14 @@ -- -- * 'drilrsReservedInstancesListings' ----- * 'drilrsStatus'+-- * 'drilrsResponseStatus' describeReservedInstancesListingsResponse-    :: Int -- ^ 'drilrsStatus'+    :: Int -- ^ 'drilrsResponseStatus'     -> DescribeReservedInstancesListingsResponse-describeReservedInstancesListingsResponse pStatus_ =+describeReservedInstancesListingsResponse pResponseStatus_ =     DescribeReservedInstancesListingsResponse'     { _drilrsReservedInstancesListings = Nothing-    , _drilrsStatus = pStatus_+    , _drilrsResponseStatus = pResponseStatus_     }  -- | Information about the Reserved Instance listing.@@ -176,5 +176,5 @@ drilrsReservedInstancesListings = lens _drilrsReservedInstancesListings (\ s a -> s{_drilrsReservedInstancesListings = a}) . _Default . _Coerce;  -- | The response status code.-drilrsStatus :: Lens' DescribeReservedInstancesListingsResponse Int-drilrsStatus = lens _drilrsStatus (\ s a -> s{_drilrsStatus = a});+drilrsResponseStatus :: Lens' DescribeReservedInstancesListingsResponse Int+drilrsResponseStatus = lens _drilrsResponseStatus (\ s a -> s{_drilrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeReservedInstancesModifications.hs view
@@ -46,7 +46,7 @@     -- * Response Lenses     , drimrsNextToken     , drimrsReservedInstancesModifications-    , drimrsStatus+    , drimrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -179,7 +179,7 @@ data DescribeReservedInstancesModificationsResponse = DescribeReservedInstancesModificationsResponse'     { _drimrsNextToken                      :: !(Maybe Text)     , _drimrsReservedInstancesModifications :: !(Maybe [ReservedInstancesModification])-    , _drimrsStatus                         :: !Int+    , _drimrsResponseStatus                 :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeReservedInstancesModificationsResponse' with the minimum fields required to make a request.@@ -190,15 +190,15 @@ -- -- * 'drimrsReservedInstancesModifications' ----- * 'drimrsStatus'+-- * 'drimrsResponseStatus' describeReservedInstancesModificationsResponse-    :: Int -- ^ 'drimrsStatus'+    :: Int -- ^ 'drimrsResponseStatus'     -> DescribeReservedInstancesModificationsResponse-describeReservedInstancesModificationsResponse pStatus_ =+describeReservedInstancesModificationsResponse pResponseStatus_ =     DescribeReservedInstancesModificationsResponse'     { _drimrsNextToken = Nothing     , _drimrsReservedInstancesModifications = Nothing-    , _drimrsStatus = pStatus_+    , _drimrsResponseStatus = pResponseStatus_     }  -- | The token to use to retrieve the next page of results. This value is@@ -211,5 +211,5 @@ drimrsReservedInstancesModifications = lens _drimrsReservedInstancesModifications (\ s a -> s{_drimrsReservedInstancesModifications = a}) . _Default . _Coerce;  -- | The response status code.-drimrsStatus :: Lens' DescribeReservedInstancesModificationsResponse Int-drimrsStatus = lens _drimrsStatus (\ s a -> s{_drimrsStatus = a});+drimrsResponseStatus :: Lens' DescribeReservedInstancesModificationsResponse Int+drimrsResponseStatus = lens _drimrsResponseStatus (\ s a -> s{_drimrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeReservedInstancesOfferings.hs view
@@ -39,8 +39,8 @@     -- * Request Lenses     , drioMaxDuration     , drioProductDescription-    , drioIncludeMarketplace     , drioFilters+    , drioIncludeMarketplace     , drioInstanceType     , drioNextToken     , drioMinDuration@@ -48,9 +48,9 @@     , drioOfferingType     , drioReservedInstancesOfferingIds     , drioInstanceTenancy+    , drioMaxInstanceCount     , drioDryRun     , drioMaxResults-    , drioMaxInstanceCount      -- * Destructuring the Response     , describeReservedInstancesOfferingsResponse@@ -58,7 +58,7 @@     -- * Response Lenses     , driorsNextToken     , driorsReservedInstancesOfferings-    , driorsStatus+    , driorsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -72,8 +72,8 @@ data DescribeReservedInstancesOfferings = DescribeReservedInstancesOfferings'     { _drioMaxDuration                  :: !(Maybe Integer)     , _drioProductDescription           :: !(Maybe RIProductDescription)-    , _drioIncludeMarketplace           :: !(Maybe Bool)     , _drioFilters                      :: !(Maybe [Filter])+    , _drioIncludeMarketplace           :: !(Maybe Bool)     , _drioInstanceType                 :: !(Maybe InstanceType)     , _drioNextToken                    :: !(Maybe Text)     , _drioMinDuration                  :: !(Maybe Integer)@@ -81,9 +81,9 @@     , _drioOfferingType                 :: !(Maybe OfferingTypeValues)     , _drioReservedInstancesOfferingIds :: !(Maybe [Text])     , _drioInstanceTenancy              :: !(Maybe Tenancy)+    , _drioMaxInstanceCount             :: !(Maybe Int)     , _drioDryRun                       :: !(Maybe Bool)     , _drioMaxResults                   :: !(Maybe Int)-    , _drioMaxInstanceCount             :: !(Maybe Int)     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeReservedInstancesOfferings' with the minimum fields required to make a request.@@ -94,10 +94,10 @@ -- -- * 'drioProductDescription' ----- * 'drioIncludeMarketplace'--- -- * 'drioFilters' --+-- * 'drioIncludeMarketplace'+-- -- * 'drioInstanceType' -- -- * 'drioNextToken'@@ -112,19 +112,19 @@ -- -- * 'drioInstanceTenancy' --+-- * 'drioMaxInstanceCount'+-- -- * 'drioDryRun' -- -- * 'drioMaxResults'------ * 'drioMaxInstanceCount' describeReservedInstancesOfferings     :: DescribeReservedInstancesOfferings describeReservedInstancesOfferings =     DescribeReservedInstancesOfferings'     { _drioMaxDuration = Nothing     , _drioProductDescription = Nothing-    , _drioIncludeMarketplace = Nothing     , _drioFilters = Nothing+    , _drioIncludeMarketplace = Nothing     , _drioInstanceType = Nothing     , _drioNextToken = Nothing     , _drioMinDuration = Nothing@@ -132,9 +132,9 @@     , _drioOfferingType = Nothing     , _drioReservedInstancesOfferingIds = Nothing     , _drioInstanceTenancy = Nothing+    , _drioMaxInstanceCount = Nothing     , _drioDryRun = Nothing     , _drioMaxResults = Nothing-    , _drioMaxInstanceCount = Nothing     }  -- | The maximum duration (in seconds) to filter when searching for@@ -149,10 +149,6 @@ 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@@ -195,6 +191,10 @@ drioFilters :: Lens' DescribeReservedInstancesOfferings [Filter] 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>@@ -235,6 +235,12 @@ drioInstanceTenancy :: Lens' DescribeReservedInstancesOfferings (Maybe Tenancy) drioInstanceTenancy = lens _drioInstanceTenancy (\ s a -> s{_drioInstanceTenancy = 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});+ -- | Checks whether you have the required permissions for the action, without -- actually making the request, and provides an error response. If you have -- the required permissions, the error response is 'DryRunOperation'.@@ -251,12 +257,6 @@ 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});- instance AWSPager DescribeReservedInstancesOfferings          where         page rq rs@@ -297,8 +297,8 @@                "Version" =: ("2015-04-15" :: ByteString),                "MaxDuration" =: _drioMaxDuration,                "ProductDescription" =: _drioProductDescription,-               "IncludeMarketplace" =: _drioIncludeMarketplace,                toQuery (toQueryList "Filter" <$> _drioFilters),+               "IncludeMarketplace" =: _drioIncludeMarketplace,                "InstanceType" =: _drioInstanceType,                "NextToken" =: _drioNextToken,                "MinDuration" =: _drioMinDuration,@@ -308,15 +308,15 @@                  (toQueryList "ReservedInstancesOfferingId" <$>                     _drioReservedInstancesOfferingIds),                "InstanceTenancy" =: _drioInstanceTenancy,+               "MaxInstanceCount" =: _drioMaxInstanceCount,                "DryRun" =: _drioDryRun,-               "MaxResults" =: _drioMaxResults,-               "MaxInstanceCount" =: _drioMaxInstanceCount]+               "MaxResults" =: _drioMaxResults]  -- | /See:/ 'describeReservedInstancesOfferingsResponse' smart constructor. data DescribeReservedInstancesOfferingsResponse = DescribeReservedInstancesOfferingsResponse'     { _driorsNextToken                  :: !(Maybe Text)     , _driorsReservedInstancesOfferings :: !(Maybe [ReservedInstancesOffering])-    , _driorsStatus                     :: !Int+    , _driorsResponseStatus             :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeReservedInstancesOfferingsResponse' with the minimum fields required to make a request.@@ -327,15 +327,15 @@ -- -- * 'driorsReservedInstancesOfferings' ----- * 'driorsStatus'+-- * 'driorsResponseStatus' describeReservedInstancesOfferingsResponse-    :: Int -- ^ 'driorsStatus'+    :: Int -- ^ 'driorsResponseStatus'     -> DescribeReservedInstancesOfferingsResponse-describeReservedInstancesOfferingsResponse pStatus_ =+describeReservedInstancesOfferingsResponse pResponseStatus_ =     DescribeReservedInstancesOfferingsResponse'     { _driorsNextToken = Nothing     , _driorsReservedInstancesOfferings = Nothing-    , _driorsStatus = pStatus_+    , _driorsResponseStatus = pResponseStatus_     }  -- | The token to use to retrieve the next page of results. This value is@@ -348,5 +348,5 @@ driorsReservedInstancesOfferings = lens _driorsReservedInstancesOfferings (\ s a -> s{_driorsReservedInstancesOfferings = a}) . _Default . _Coerce;  -- | The response status code.-driorsStatus :: Lens' DescribeReservedInstancesOfferingsResponse Int-driorsStatus = lens _driorsStatus (\ s a -> s{_driorsStatus = a});+driorsResponseStatus :: Lens' DescribeReservedInstancesOfferingsResponse Int+driorsResponseStatus = lens _driorsResponseStatus (\ s a -> s{_driorsResponseStatus = a});
gen/Network/AWS/EC2/DescribeRouteTables.hs view
@@ -45,7 +45,7 @@     , DescribeRouteTablesResponse     -- * Response Lenses     , drtrsRouteTables-    , drtrsStatus+    , drtrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -185,8 +185,8 @@  -- | /See:/ 'describeRouteTablesResponse' smart constructor. data DescribeRouteTablesResponse = DescribeRouteTablesResponse'-    { _drtrsRouteTables :: !(Maybe [RouteTable])-    , _drtrsStatus      :: !Int+    { _drtrsRouteTables    :: !(Maybe [RouteTable])+    , _drtrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeRouteTablesResponse' with the minimum fields required to make a request.@@ -195,14 +195,14 @@ -- -- * 'drtrsRouteTables' ----- * 'drtrsStatus'+-- * 'drtrsResponseStatus' describeRouteTablesResponse-    :: Int -- ^ 'drtrsStatus'+    :: Int -- ^ 'drtrsResponseStatus'     -> DescribeRouteTablesResponse-describeRouteTablesResponse pStatus_ =+describeRouteTablesResponse pResponseStatus_ =     DescribeRouteTablesResponse'     { _drtrsRouteTables = Nothing-    , _drtrsStatus = pStatus_+    , _drtrsResponseStatus = pResponseStatus_     }  -- | Information about one or more route tables.@@ -210,5 +210,5 @@ drtrsRouteTables = lens _drtrsRouteTables (\ s a -> s{_drtrsRouteTables = a}) . _Default . _Coerce;  -- | The response status code.-drtrsStatus :: Lens' DescribeRouteTablesResponse Int-drtrsStatus = lens _drtrsStatus (\ s a -> s{_drtrsStatus = a});+drtrsResponseStatus :: Lens' DescribeRouteTablesResponse Int+drtrsResponseStatus = lens _drtrsResponseStatus (\ s a -> s{_drtrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeSecurityGroups.hs view
@@ -34,8 +34,8 @@       describeSecurityGroups     , DescribeSecurityGroups     -- * Request Lenses-    , dsgsGroupNames     , dsgsFilters+    , dsgsGroupNames     , dsgsGroupIds     , dsgsDryRun @@ -44,7 +44,7 @@     , DescribeSecurityGroupsResponse     -- * Response Lenses     , dsgrsSecurityGroups-    , dsgrsStatus+    , dsgrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -55,8 +55,8 @@  -- | /See:/ 'describeSecurityGroups' smart constructor. data DescribeSecurityGroups = DescribeSecurityGroups'-    { _dsgsGroupNames :: !(Maybe [Text])-    , _dsgsFilters    :: !(Maybe [Filter])+    { _dsgsFilters    :: !(Maybe [Filter])+    , _dsgsGroupNames :: !(Maybe [Text])     , _dsgsGroupIds   :: !(Maybe [Text])     , _dsgsDryRun     :: !(Maybe Bool)     } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -65,10 +65,10 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dsgsGroupNames'--- -- * 'dsgsFilters' --+-- * 'dsgsGroupNames'+-- -- * 'dsgsGroupIds' -- -- * 'dsgsDryRun'@@ -76,21 +76,12 @@     :: DescribeSecurityGroups describeSecurityGroups =     DescribeSecurityGroups'-    { _dsgsGroupNames = Nothing-    , _dsgsFilters = Nothing+    { _dsgsFilters = Nothing+    , _dsgsGroupNames = Nothing     , _dsgsGroupIds = Nothing     , _dsgsDryRun = Nothing     } --- | [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.@@ -135,6 +126,15 @@ 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.+--+-- Default: Describes all your security groups.+dsgsGroupNames :: Lens' DescribeSecurityGroups [Text]+dsgsGroupNames = lens _dsgsGroupNames (\ s a -> s{_dsgsGroupNames = a}) . _Default . _Coerce;+ -- | One or more security group IDs. Required for security groups in a -- nondefault VPC. --@@ -173,16 +173,16 @@               ["Action" =:                  ("DescribeSecurityGroups" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),+               toQuery (toQueryList "Filter" <$> _dsgsFilters),                toQuery                  (toQueryList "GroupName" <$> _dsgsGroupNames),-               toQuery (toQueryList "Filter" <$> _dsgsFilters),                toQuery (toQueryList "GroupId" <$> _dsgsGroupIds),                "DryRun" =: _dsgsDryRun]  -- | /See:/ 'describeSecurityGroupsResponse' smart constructor. data DescribeSecurityGroupsResponse = DescribeSecurityGroupsResponse'     { _dsgrsSecurityGroups :: !(Maybe [SecurityGroup])-    , _dsgrsStatus         :: !Int+    , _dsgrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeSecurityGroupsResponse' with the minimum fields required to make a request.@@ -191,14 +191,14 @@ -- -- * 'dsgrsSecurityGroups' ----- * 'dsgrsStatus'+-- * 'dsgrsResponseStatus' describeSecurityGroupsResponse-    :: Int -- ^ 'dsgrsStatus'+    :: Int -- ^ 'dsgrsResponseStatus'     -> DescribeSecurityGroupsResponse-describeSecurityGroupsResponse pStatus_ =+describeSecurityGroupsResponse pResponseStatus_ =     DescribeSecurityGroupsResponse'     { _dsgrsSecurityGroups = Nothing-    , _dsgrsStatus = pStatus_+    , _dsgrsResponseStatus = pResponseStatus_     }  -- | Information about one or more security groups.@@ -206,5 +206,5 @@ dsgrsSecurityGroups = lens _dsgrsSecurityGroups (\ s a -> s{_dsgrsSecurityGroups = a}) . _Default . _Coerce;  -- | The response status code.-dsgrsStatus :: Lens' DescribeSecurityGroupsResponse Int-dsgrsStatus = lens _dsgrsStatus (\ s a -> s{_dsgrsStatus = a});+dsgrsResponseStatus :: Lens' DescribeSecurityGroupsResponse Int+dsgrsResponseStatus = lens _dsgrsResponseStatus (\ s a -> s{_dsgrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeSnapshotAttribute.hs view
@@ -43,7 +43,7 @@     , dsarsCreateVolumePermissions     , dsarsProductCodes     , dsarsSnapshotId-    , dsarsStatus+    , dsarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -131,7 +131,7 @@     { _dsarsCreateVolumePermissions :: !(Maybe [CreateVolumePermission])     , _dsarsProductCodes            :: !(Maybe [ProductCode])     , _dsarsSnapshotId              :: !(Maybe Text)-    , _dsarsStatus                  :: !Int+    , _dsarsResponseStatus          :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeSnapshotAttributeResponse' with the minimum fields required to make a request.@@ -144,16 +144,16 @@ -- -- * 'dsarsSnapshotId' ----- * 'dsarsStatus'+-- * 'dsarsResponseStatus' describeSnapshotAttributeResponse-    :: Int -- ^ 'dsarsStatus'+    :: Int -- ^ 'dsarsResponseStatus'     -> DescribeSnapshotAttributeResponse-describeSnapshotAttributeResponse pStatus_ =+describeSnapshotAttributeResponse pResponseStatus_ =     DescribeSnapshotAttributeResponse'     { _dsarsCreateVolumePermissions = Nothing     , _dsarsProductCodes = Nothing     , _dsarsSnapshotId = Nothing-    , _dsarsStatus = pStatus_+    , _dsarsResponseStatus = pResponseStatus_     }  -- | A list of permissions for creating volumes from the snapshot.@@ -169,5 +169,5 @@ dsarsSnapshotId = lens _dsarsSnapshotId (\ s a -> s{_dsarsSnapshotId = a});  -- | The response status code.-dsarsStatus :: Lens' DescribeSnapshotAttributeResponse Int-dsarsStatus = lens _dsarsStatus (\ s a -> s{_dsarsStatus = a});+dsarsResponseStatus :: Lens' DescribeSnapshotAttributeResponse Int+dsarsResponseStatus = lens _dsarsResponseStatus (\ s a -> s{_dsarsResponseStatus = a});
gen/Network/AWS/EC2/DescribeSnapshots.hs view
@@ -89,7 +89,7 @@     -- * Response Lenses     , dssrsNextToken     , dssrsSnapshots-    , dssrsStatus+    , dssrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -266,9 +266,9 @@  -- | /See:/ 'describeSnapshotsResponse' smart constructor. data DescribeSnapshotsResponse = DescribeSnapshotsResponse'-    { _dssrsNextToken :: !(Maybe Text)-    , _dssrsSnapshots :: !(Maybe [Snapshot])-    , _dssrsStatus    :: !Int+    { _dssrsNextToken      :: !(Maybe Text)+    , _dssrsSnapshots      :: !(Maybe [Snapshot])+    , _dssrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeSnapshotsResponse' with the minimum fields required to make a request.@@ -279,15 +279,15 @@ -- -- * 'dssrsSnapshots' ----- * 'dssrsStatus'+-- * 'dssrsResponseStatus' describeSnapshotsResponse-    :: Int -- ^ 'dssrsStatus'+    :: Int -- ^ 'dssrsResponseStatus'     -> DescribeSnapshotsResponse-describeSnapshotsResponse pStatus_ =+describeSnapshotsResponse pResponseStatus_ =     DescribeSnapshotsResponse'     { _dssrsNextToken = Nothing     , _dssrsSnapshots = Nothing-    , _dssrsStatus = pStatus_+    , _dssrsResponseStatus = pResponseStatus_     }  -- | The 'NextToken' value to include in a future 'DescribeSnapshots'@@ -302,5 +302,5 @@ dssrsSnapshots = lens _dssrsSnapshots (\ s a -> s{_dssrsSnapshots = a}) . _Default . _Coerce;  -- | The response status code.-dssrsStatus :: Lens' DescribeSnapshotsResponse Int-dssrsStatus = lens _dssrsStatus (\ s a -> s{_dssrsStatus = a});+dssrsResponseStatus :: Lens' DescribeSnapshotsResponse Int+dssrsResponseStatus = lens _dssrsResponseStatus (\ s a -> s{_dssrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeSpotDatafeedSubscription.hs view
@@ -36,7 +36,7 @@     , DescribeSpotDatafeedSubscriptionResponse     -- * Response Lenses     , dsdsrsSpotDatafeedSubscription-    , dsdsrsStatus+    , dsdsrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -105,7 +105,7 @@ -- /See:/ 'describeSpotDatafeedSubscriptionResponse' smart constructor. data DescribeSpotDatafeedSubscriptionResponse = DescribeSpotDatafeedSubscriptionResponse'     { _dsdsrsSpotDatafeedSubscription :: !(Maybe SpotDatafeedSubscription)-    , _dsdsrsStatus                   :: !Int+    , _dsdsrsResponseStatus           :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeSpotDatafeedSubscriptionResponse' with the minimum fields required to make a request.@@ -114,14 +114,14 @@ -- -- * 'dsdsrsSpotDatafeedSubscription' ----- * 'dsdsrsStatus'+-- * 'dsdsrsResponseStatus' describeSpotDatafeedSubscriptionResponse-    :: Int -- ^ 'dsdsrsStatus'+    :: Int -- ^ 'dsdsrsResponseStatus'     -> DescribeSpotDatafeedSubscriptionResponse-describeSpotDatafeedSubscriptionResponse pStatus_ =+describeSpotDatafeedSubscriptionResponse pResponseStatus_ =     DescribeSpotDatafeedSubscriptionResponse'     { _dsdsrsSpotDatafeedSubscription = Nothing-    , _dsdsrsStatus = pStatus_+    , _dsdsrsResponseStatus = pResponseStatus_     }  -- | The Spot Instance data feed subscription.@@ -129,5 +129,5 @@ dsdsrsSpotDatafeedSubscription = lens _dsdsrsSpotDatafeedSubscription (\ s a -> s{_dsdsrsSpotDatafeedSubscription = a});  -- | The response status code.-dsdsrsStatus :: Lens' DescribeSpotDatafeedSubscriptionResponse Int-dsdsrsStatus = lens _dsdsrsStatus (\ s a -> s{_dsdsrsStatus = a});+dsdsrsResponseStatus :: Lens' DescribeSpotDatafeedSubscriptionResponse Int+dsdsrsResponseStatus = lens _dsdsrsResponseStatus (\ s a -> s{_dsdsrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeSpotFleetInstances.hs view
@@ -37,7 +37,7 @@     , DescribeSpotFleetInstancesResponse     -- * Response Lenses     , dsfirsNextToken-    , dsfirsStatus+    , dsfirsResponseStatus     , dsfirsSpotFleetRequestId     , dsfirsActiveInstances     ) where@@ -138,7 +138,7 @@ -- /See:/ 'describeSpotFleetInstancesResponse' smart constructor. data DescribeSpotFleetInstancesResponse = DescribeSpotFleetInstancesResponse'     { _dsfirsNextToken          :: !(Maybe Text)-    , _dsfirsStatus             :: !Int+    , _dsfirsResponseStatus     :: !Int     , _dsfirsSpotFleetRequestId :: !Text     , _dsfirsActiveInstances    :: ![ActiveInstance]     } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -149,19 +149,19 @@ -- -- * 'dsfirsNextToken' ----- * 'dsfirsStatus'+-- * 'dsfirsResponseStatus' -- -- * 'dsfirsSpotFleetRequestId' -- -- * 'dsfirsActiveInstances' describeSpotFleetInstancesResponse-    :: Int -- ^ 'dsfirsStatus'+    :: Int -- ^ 'dsfirsResponseStatus'     -> Text -- ^ 'dsfirsSpotFleetRequestId'     -> DescribeSpotFleetInstancesResponse-describeSpotFleetInstancesResponse pStatus_ pSpotFleetRequestId_ =+describeSpotFleetInstancesResponse pResponseStatus_ pSpotFleetRequestId_ =     DescribeSpotFleetInstancesResponse'     { _dsfirsNextToken = Nothing-    , _dsfirsStatus = pStatus_+    , _dsfirsResponseStatus = pResponseStatus_     , _dsfirsSpotFleetRequestId = pSpotFleetRequestId_     , _dsfirsActiveInstances = mempty     }@@ -172,8 +172,8 @@ dsfirsNextToken = lens _dsfirsNextToken (\ s a -> s{_dsfirsNextToken = a});  -- | The response status code.-dsfirsStatus :: Lens' DescribeSpotFleetInstancesResponse Int-dsfirsStatus = lens _dsfirsStatus (\ s a -> s{_dsfirsStatus = a});+dsfirsResponseStatus :: Lens' DescribeSpotFleetInstancesResponse Int+dsfirsResponseStatus = lens _dsfirsResponseStatus (\ s a -> s{_dsfirsResponseStatus = a});  -- | The ID of the Spot fleet request. dsfirsSpotFleetRequestId :: Lens' DescribeSpotFleetInstancesResponse Text
gen/Network/AWS/EC2/DescribeSpotFleetRequestHistory.hs view
@@ -44,7 +44,7 @@     , DescribeSpotFleetRequestHistoryResponse     -- * Response Lenses     , dsfrhrsNextToken-    , dsfrhrsStatus+    , dsfrhrsResponseStatus     , dsfrhrsSpotFleetRequestId     , dsfrhrsStartTime     , dsfrhrsLastEvaluatedTime@@ -172,7 +172,7 @@ -- /See:/ 'describeSpotFleetRequestHistoryResponse' smart constructor. data DescribeSpotFleetRequestHistoryResponse = DescribeSpotFleetRequestHistoryResponse'     { _dsfrhrsNextToken          :: !(Maybe Text)-    , _dsfrhrsStatus             :: !Int+    , _dsfrhrsResponseStatus     :: !Int     , _dsfrhrsSpotFleetRequestId :: !Text     , _dsfrhrsStartTime          :: !ISO8601     , _dsfrhrsLastEvaluatedTime  :: !ISO8601@@ -185,7 +185,7 @@ -- -- * 'dsfrhrsNextToken' ----- * 'dsfrhrsStatus'+-- * 'dsfrhrsResponseStatus' -- -- * 'dsfrhrsSpotFleetRequestId' --@@ -195,15 +195,15 @@ -- -- * 'dsfrhrsHistoryRecords' describeSpotFleetRequestHistoryResponse-    :: Int -- ^ 'dsfrhrsStatus'+    :: Int -- ^ 'dsfrhrsResponseStatus'     -> Text -- ^ 'dsfrhrsSpotFleetRequestId'     -> UTCTime -- ^ 'dsfrhrsStartTime'     -> UTCTime -- ^ 'dsfrhrsLastEvaluatedTime'     -> DescribeSpotFleetRequestHistoryResponse-describeSpotFleetRequestHistoryResponse pStatus_ pSpotFleetRequestId_ pStartTime_ pLastEvaluatedTime_ =+describeSpotFleetRequestHistoryResponse pResponseStatus_ pSpotFleetRequestId_ pStartTime_ pLastEvaluatedTime_ =     DescribeSpotFleetRequestHistoryResponse'     { _dsfrhrsNextToken = Nothing-    , _dsfrhrsStatus = pStatus_+    , _dsfrhrsResponseStatus = pResponseStatus_     , _dsfrhrsSpotFleetRequestId = pSpotFleetRequestId_     , _dsfrhrsStartTime = _Time # pStartTime_     , _dsfrhrsLastEvaluatedTime = _Time # pLastEvaluatedTime_@@ -216,8 +216,8 @@ dsfrhrsNextToken = lens _dsfrhrsNextToken (\ s a -> s{_dsfrhrsNextToken = a});  -- | The response status code.-dsfrhrsStatus :: Lens' DescribeSpotFleetRequestHistoryResponse Int-dsfrhrsStatus = lens _dsfrhrsStatus (\ s a -> s{_dsfrhrsStatus = a});+dsfrhrsResponseStatus :: Lens' DescribeSpotFleetRequestHistoryResponse Int+dsfrhrsResponseStatus = lens _dsfrhrsResponseStatus (\ s a -> s{_dsfrhrsResponseStatus = a});  -- | The ID of the Spot fleet request. dsfrhrsSpotFleetRequestId :: Lens' DescribeSpotFleetRequestHistoryResponse Text
gen/Network/AWS/EC2/DescribeSpotFleetRequests.hs view
@@ -37,7 +37,7 @@     , DescribeSpotFleetRequestsResponse     -- * Response Lenses     , dsfrrsNextToken-    , dsfrrsStatus+    , dsfrrsResponseStatus     , dsfrrsSpotFleetRequestConfigs     ) where @@ -136,7 +136,7 @@ -- /See:/ 'describeSpotFleetRequestsResponse' smart constructor. data DescribeSpotFleetRequestsResponse = DescribeSpotFleetRequestsResponse'     { _dsfrrsNextToken               :: !(Maybe Text)-    , _dsfrrsStatus                  :: !Int+    , _dsfrrsResponseStatus          :: !Int     , _dsfrrsSpotFleetRequestConfigs :: ![SpotFleetRequestConfig]     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -146,16 +146,16 @@ -- -- * 'dsfrrsNextToken' ----- * 'dsfrrsStatus'+-- * 'dsfrrsResponseStatus' -- -- * 'dsfrrsSpotFleetRequestConfigs' describeSpotFleetRequestsResponse-    :: Int -- ^ 'dsfrrsStatus'+    :: Int -- ^ 'dsfrrsResponseStatus'     -> DescribeSpotFleetRequestsResponse-describeSpotFleetRequestsResponse pStatus_ =+describeSpotFleetRequestsResponse pResponseStatus_ =     DescribeSpotFleetRequestsResponse'     { _dsfrrsNextToken = Nothing-    , _dsfrrsStatus = pStatus_+    , _dsfrrsResponseStatus = pResponseStatus_     , _dsfrrsSpotFleetRequestConfigs = mempty     } @@ -165,8 +165,8 @@ dsfrrsNextToken = lens _dsfrrsNextToken (\ s a -> s{_dsfrrsNextToken = a});  -- | The response status code.-dsfrrsStatus :: Lens' DescribeSpotFleetRequestsResponse Int-dsfrrsStatus = lens _dsfrrsStatus (\ s a -> s{_dsfrrsStatus = a});+dsfrrsResponseStatus :: Lens' DescribeSpotFleetRequestsResponse Int+dsfrrsResponseStatus = lens _dsfrrsResponseStatus (\ s a -> s{_dsfrrsResponseStatus = a});  -- | Information about the configuration of your Spot fleet. dsfrrsSpotFleetRequestConfigs :: Lens' DescribeSpotFleetRequestsResponse [SpotFleetRequestConfig]
gen/Network/AWS/EC2/DescribeSpotInstanceRequests.hs view
@@ -49,7 +49,7 @@     , DescribeSpotInstanceRequestsResponse     -- * Response Lenses     , dsirrsSpotInstanceRequests-    , dsirrsStatus+    , dsirrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -254,7 +254,7 @@ -- /See:/ 'describeSpotInstanceRequestsResponse' smart constructor. data DescribeSpotInstanceRequestsResponse = DescribeSpotInstanceRequestsResponse'     { _dsirrsSpotInstanceRequests :: !(Maybe [SpotInstanceRequest])-    , _dsirrsStatus               :: !Int+    , _dsirrsResponseStatus       :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeSpotInstanceRequestsResponse' with the minimum fields required to make a request.@@ -263,14 +263,14 @@ -- -- * 'dsirrsSpotInstanceRequests' ----- * 'dsirrsStatus'+-- * 'dsirrsResponseStatus' describeSpotInstanceRequestsResponse-    :: Int -- ^ 'dsirrsStatus'+    :: Int -- ^ 'dsirrsResponseStatus'     -> DescribeSpotInstanceRequestsResponse-describeSpotInstanceRequestsResponse pStatus_ =+describeSpotInstanceRequestsResponse pResponseStatus_ =     DescribeSpotInstanceRequestsResponse'     { _dsirrsSpotInstanceRequests = Nothing-    , _dsirrsStatus = pStatus_+    , _dsirrsResponseStatus = pResponseStatus_     }  -- | One or more Spot Instance requests.@@ -278,5 +278,5 @@ dsirrsSpotInstanceRequests = lens _dsirrsSpotInstanceRequests (\ s a -> s{_dsirrsSpotInstanceRequests = a}) . _Default . _Coerce;  -- | The response status code.-dsirrsStatus :: Lens' DescribeSpotInstanceRequestsResponse Int-dsirrsStatus = lens _dsirrsStatus (\ s a -> s{_dsirrsStatus = a});+dsirrsResponseStatus :: Lens' DescribeSpotInstanceRequestsResponse Int+dsirrsResponseStatus = lens _dsirrsResponseStatus (\ s a -> s{_dsirrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeSpotPriceHistory.hs view
@@ -55,7 +55,7 @@     -- * Response Lenses     , dsphrsNextToken     , dsphrsSpotPriceHistory-    , dsphrsStatus+    , dsphrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -232,7 +232,7 @@ data DescribeSpotPriceHistoryResponse = DescribeSpotPriceHistoryResponse'     { _dsphrsNextToken        :: !(Maybe Text)     , _dsphrsSpotPriceHistory :: !(Maybe [SpotPrice])-    , _dsphrsStatus           :: !Int+    , _dsphrsResponseStatus   :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeSpotPriceHistoryResponse' with the minimum fields required to make a request.@@ -243,15 +243,15 @@ -- -- * 'dsphrsSpotPriceHistory' ----- * 'dsphrsStatus'+-- * 'dsphrsResponseStatus' describeSpotPriceHistoryResponse-    :: Int -- ^ 'dsphrsStatus'+    :: Int -- ^ 'dsphrsResponseStatus'     -> DescribeSpotPriceHistoryResponse-describeSpotPriceHistoryResponse pStatus_ =+describeSpotPriceHistoryResponse pResponseStatus_ =     DescribeSpotPriceHistoryResponse'     { _dsphrsNextToken = Nothing     , _dsphrsSpotPriceHistory = Nothing-    , _dsphrsStatus = pStatus_+    , _dsphrsResponseStatus = pResponseStatus_     }  -- | The token required to retrieve the next set of results. This value is@@ -264,5 +264,5 @@ dsphrsSpotPriceHistory = lens _dsphrsSpotPriceHistory (\ s a -> s{_dsphrsSpotPriceHistory = a}) . _Default . _Coerce;  -- | The response status code.-dsphrsStatus :: Lens' DescribeSpotPriceHistoryResponse Int-dsphrsStatus = lens _dsphrsStatus (\ s a -> s{_dsphrsStatus = a});+dsphrsResponseStatus :: Lens' DescribeSpotPriceHistoryResponse Int+dsphrsResponseStatus = lens _dsphrsResponseStatus (\ s a -> s{_dsphrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeSubnets.hs view
@@ -40,7 +40,7 @@     , DescribeSubnetsResponse     -- * Response Lenses     , dsrsSubnets-    , dsrsStatus+    , dsrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -155,8 +155,8 @@  -- | /See:/ 'describeSubnetsResponse' smart constructor. data DescribeSubnetsResponse = DescribeSubnetsResponse'-    { _dsrsSubnets :: !(Maybe [Subnet])-    , _dsrsStatus  :: !Int+    { _dsrsSubnets        :: !(Maybe [Subnet])+    , _dsrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeSubnetsResponse' with the minimum fields required to make a request.@@ -165,14 +165,14 @@ -- -- * 'dsrsSubnets' ----- * 'dsrsStatus'+-- * 'dsrsResponseStatus' describeSubnetsResponse-    :: Int -- ^ 'dsrsStatus'+    :: Int -- ^ 'dsrsResponseStatus'     -> DescribeSubnetsResponse-describeSubnetsResponse pStatus_ =+describeSubnetsResponse pResponseStatus_ =     DescribeSubnetsResponse'     { _dsrsSubnets = Nothing-    , _dsrsStatus = pStatus_+    , _dsrsResponseStatus = pResponseStatus_     }  -- | Information about one or more subnets.@@ -180,5 +180,5 @@ dsrsSubnets = lens _dsrsSubnets (\ s a -> s{_dsrsSubnets = a}) . _Default . _Coerce;  -- | The response status code.-dsrsStatus :: Lens' DescribeSubnetsResponse Int-dsrsStatus = lens _dsrsStatus (\ s a -> s{_dsrsStatus = a});+dsrsResponseStatus :: Lens' DescribeSubnetsResponse Int+dsrsResponseStatus = lens _dsrsResponseStatus (\ s a -> s{_dsrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeTags.hs view
@@ -44,7 +44,7 @@     -- * Response Lenses     , dtrsNextToken     , dtrsTags-    , dtrsStatus+    , dtrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -156,9 +156,9 @@  -- | /See:/ 'describeTagsResponse' smart constructor. data DescribeTagsResponse = DescribeTagsResponse'-    { _dtrsNextToken :: !(Maybe Text)-    , _dtrsTags      :: !(Maybe [TagDescription])-    , _dtrsStatus    :: !Int+    { _dtrsNextToken      :: !(Maybe Text)+    , _dtrsTags           :: !(Maybe [TagDescription])+    , _dtrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeTagsResponse' with the minimum fields required to make a request.@@ -169,15 +169,15 @@ -- -- * 'dtrsTags' ----- * 'dtrsStatus'+-- * 'dtrsResponseStatus' describeTagsResponse-    :: Int -- ^ 'dtrsStatus'+    :: Int -- ^ 'dtrsResponseStatus'     -> DescribeTagsResponse-describeTagsResponse pStatus_ =+describeTagsResponse pResponseStatus_ =     DescribeTagsResponse'     { _dtrsNextToken = Nothing     , _dtrsTags = Nothing-    , _dtrsStatus = pStatus_+    , _dtrsResponseStatus = pResponseStatus_     }  -- | The token to use to retrieve the next page of results. This value is@@ -190,5 +190,5 @@ dtrsTags = lens _dtrsTags (\ s a -> s{_dtrsTags = a}) . _Default . _Coerce;  -- | The response status code.-dtrsStatus :: Lens' DescribeTagsResponse Int-dtrsStatus = lens _dtrsStatus (\ s a -> s{_dtrsStatus = a});+dtrsResponseStatus :: Lens' DescribeTagsResponse Int+dtrsResponseStatus = lens _dtrsResponseStatus (\ s a -> s{_dtrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeVPCAttribute.hs view
@@ -39,7 +39,7 @@     , dvpcarsEnableDNSHostnames     , dvpcarsEnableDNSSupport     , dvpcarsVPCId-    , dvpcarsStatus+    , dvpcarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -121,7 +121,7 @@     { _dvpcarsEnableDNSHostnames :: !(Maybe AttributeBooleanValue)     , _dvpcarsEnableDNSSupport   :: !(Maybe AttributeBooleanValue)     , _dvpcarsVPCId              :: !(Maybe Text)-    , _dvpcarsStatus             :: !Int+    , _dvpcarsResponseStatus     :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVPCAttributeResponse' with the minimum fields required to make a request.@@ -134,16 +134,16 @@ -- -- * 'dvpcarsVPCId' ----- * 'dvpcarsStatus'+-- * 'dvpcarsResponseStatus' describeVPCAttributeResponse-    :: Int -- ^ 'dvpcarsStatus'+    :: Int -- ^ 'dvpcarsResponseStatus'     -> DescribeVPCAttributeResponse-describeVPCAttributeResponse pStatus_ =+describeVPCAttributeResponse pResponseStatus_ =     DescribeVPCAttributeResponse'     { _dvpcarsEnableDNSHostnames = Nothing     , _dvpcarsEnableDNSSupport = Nothing     , _dvpcarsVPCId = Nothing-    , _dvpcarsStatus = pStatus_+    , _dvpcarsResponseStatus = pResponseStatus_     }  -- | Indicates whether the instances launched in the VPC get DNS hostnames.@@ -164,5 +164,5 @@ dvpcarsVPCId = lens _dvpcarsVPCId (\ s a -> s{_dvpcarsVPCId = a});  -- | The response status code.-dvpcarsStatus :: Lens' DescribeVPCAttributeResponse Int-dvpcarsStatus = lens _dvpcarsStatus (\ s a -> s{_dvpcarsStatus = a});+dvpcarsResponseStatus :: Lens' DescribeVPCAttributeResponse Int+dvpcarsResponseStatus = lens _dvpcarsResponseStatus (\ s a -> s{_dvpcarsResponseStatus = a});
gen/Network/AWS/EC2/DescribeVPCClassicLink.hs view
@@ -36,7 +36,7 @@     , DescribeVPCClassicLinkResponse     -- * Response Lenses     , dvclrsVPCs-    , dvclrsStatus+    , dvclrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -133,8 +133,8 @@  -- | /See:/ 'describeVPCClassicLinkResponse' smart constructor. data DescribeVPCClassicLinkResponse = DescribeVPCClassicLinkResponse'-    { _dvclrsVPCs   :: !(Maybe [VPCClassicLink])-    , _dvclrsStatus :: !Int+    { _dvclrsVPCs           :: !(Maybe [VPCClassicLink])+    , _dvclrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVPCClassicLinkResponse' with the minimum fields required to make a request.@@ -143,14 +143,14 @@ -- -- * 'dvclrsVPCs' ----- * 'dvclrsStatus'+-- * 'dvclrsResponseStatus' describeVPCClassicLinkResponse-    :: Int -- ^ 'dvclrsStatus'+    :: Int -- ^ 'dvclrsResponseStatus'     -> DescribeVPCClassicLinkResponse-describeVPCClassicLinkResponse pStatus_ =+describeVPCClassicLinkResponse pResponseStatus_ =     DescribeVPCClassicLinkResponse'     { _dvclrsVPCs = Nothing-    , _dvclrsStatus = pStatus_+    , _dvclrsResponseStatus = pResponseStatus_     }  -- | The ClassicLink status of one or more VPCs.@@ -158,5 +158,5 @@ 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});+dvclrsResponseStatus :: Lens' DescribeVPCClassicLinkResponse Int+dvclrsResponseStatus = lens _dvclrsResponseStatus (\ s a -> s{_dvclrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeVPCEndpointServices.hs view
@@ -38,7 +38,7 @@     -- * Response Lenses     , dvesrsServiceNames     , dvesrsNextToken-    , dvesrsStatus+    , dvesrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -124,9 +124,9 @@  -- | /See:/ 'describeVPCEndpointServicesResponse' smart constructor. data DescribeVPCEndpointServicesResponse = DescribeVPCEndpointServicesResponse'-    { _dvesrsServiceNames :: !(Maybe [Text])-    , _dvesrsNextToken    :: !(Maybe Text)-    , _dvesrsStatus       :: !Int+    { _dvesrsServiceNames   :: !(Maybe [Text])+    , _dvesrsNextToken      :: !(Maybe Text)+    , _dvesrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVPCEndpointServicesResponse' with the minimum fields required to make a request.@@ -137,15 +137,15 @@ -- -- * 'dvesrsNextToken' ----- * 'dvesrsStatus'+-- * 'dvesrsResponseStatus' describeVPCEndpointServicesResponse-    :: Int -- ^ 'dvesrsStatus'+    :: Int -- ^ 'dvesrsResponseStatus'     -> DescribeVPCEndpointServicesResponse-describeVPCEndpointServicesResponse pStatus_ =+describeVPCEndpointServicesResponse pResponseStatus_ =     DescribeVPCEndpointServicesResponse'     { _dvesrsServiceNames = Nothing     , _dvesrsNextToken = Nothing-    , _dvesrsStatus = pStatus_+    , _dvesrsResponseStatus = pResponseStatus_     }  -- | A list of supported AWS services.@@ -158,5 +158,5 @@ dvesrsNextToken = lens _dvesrsNextToken (\ s a -> s{_dvesrsNextToken = a});  -- | The response status code.-dvesrsStatus :: Lens' DescribeVPCEndpointServicesResponse Int-dvesrsStatus = lens _dvesrsStatus (\ s a -> s{_dvesrsStatus = a});+dvesrsResponseStatus :: Lens' DescribeVPCEndpointServicesResponse Int+dvesrsResponseStatus = lens _dvesrsResponseStatus (\ s a -> s{_dvesrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeVPCEndpoints.hs view
@@ -39,7 +39,7 @@     -- * Response Lenses     , dvpcersNextToken     , dvpcersVPCEndpoints-    , dvpcersStatus+    , dvpcersResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -154,9 +154,9 @@  -- | /See:/ 'describeVPCEndpointsResponse' smart constructor. data DescribeVPCEndpointsResponse = DescribeVPCEndpointsResponse'-    { _dvpcersNextToken    :: !(Maybe Text)-    , _dvpcersVPCEndpoints :: !(Maybe [VPCEndpoint])-    , _dvpcersStatus       :: !Int+    { _dvpcersNextToken      :: !(Maybe Text)+    , _dvpcersVPCEndpoints   :: !(Maybe [VPCEndpoint])+    , _dvpcersResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVPCEndpointsResponse' with the minimum fields required to make a request.@@ -167,15 +167,15 @@ -- -- * 'dvpcersVPCEndpoints' ----- * 'dvpcersStatus'+-- * 'dvpcersResponseStatus' describeVPCEndpointsResponse-    :: Int -- ^ 'dvpcersStatus'+    :: Int -- ^ 'dvpcersResponseStatus'     -> DescribeVPCEndpointsResponse-describeVPCEndpointsResponse pStatus_ =+describeVPCEndpointsResponse pResponseStatus_ =     DescribeVPCEndpointsResponse'     { _dvpcersNextToken = Nothing     , _dvpcersVPCEndpoints = Nothing-    , _dvpcersStatus = pStatus_+    , _dvpcersResponseStatus = pResponseStatus_     }  -- | The token to use when requesting the next set of items. If there are no@@ -188,5 +188,5 @@ 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});+dvpcersResponseStatus :: Lens' DescribeVPCEndpointsResponse Int+dvpcersResponseStatus = lens _dvpcersResponseStatus (\ s a -> s{_dvpcersResponseStatus = a});
gen/Network/AWS/EC2/DescribeVPCPeeringConnections.hs view
@@ -36,7 +36,7 @@     , DescribeVPCPeeringConnectionsResponse     -- * Response Lenses     , dvpcpcrsVPCPeeringConnections-    , dvpcpcrsStatus+    , dvpcpcrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -164,7 +164,7 @@ -- | /See:/ 'describeVPCPeeringConnectionsResponse' smart constructor. data DescribeVPCPeeringConnectionsResponse = DescribeVPCPeeringConnectionsResponse'     { _dvpcpcrsVPCPeeringConnections :: !(Maybe [VPCPeeringConnection])-    , _dvpcpcrsStatus                :: !Int+    , _dvpcpcrsResponseStatus        :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVPCPeeringConnectionsResponse' with the minimum fields required to make a request.@@ -173,14 +173,14 @@ -- -- * 'dvpcpcrsVPCPeeringConnections' ----- * 'dvpcpcrsStatus'+-- * 'dvpcpcrsResponseStatus' describeVPCPeeringConnectionsResponse-    :: Int -- ^ 'dvpcpcrsStatus'+    :: Int -- ^ 'dvpcpcrsResponseStatus'     -> DescribeVPCPeeringConnectionsResponse-describeVPCPeeringConnectionsResponse pStatus_ =+describeVPCPeeringConnectionsResponse pResponseStatus_ =     DescribeVPCPeeringConnectionsResponse'     { _dvpcpcrsVPCPeeringConnections = Nothing-    , _dvpcpcrsStatus = pStatus_+    , _dvpcpcrsResponseStatus = pResponseStatus_     }  -- | Information about the VPC peering connections.@@ -188,5 +188,5 @@ 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});+dvpcpcrsResponseStatus :: Lens' DescribeVPCPeeringConnectionsResponse Int+dvpcpcrsResponseStatus = lens _dvpcpcrsResponseStatus (\ s a -> s{_dvpcpcrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeVPCs.hs view
@@ -36,7 +36,7 @@     , DescribeVPCsResponse     -- * Response Lenses     , dvrsVPCs-    , dvrsStatus+    , dvrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -143,8 +143,8 @@  -- | /See:/ 'describeVPCsResponse' smart constructor. data DescribeVPCsResponse = DescribeVPCsResponse'-    { _dvrsVPCs   :: !(Maybe [VPC])-    , _dvrsStatus :: !Int+    { _dvrsVPCs           :: !(Maybe [VPC])+    , _dvrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVPCsResponse' with the minimum fields required to make a request.@@ -153,14 +153,14 @@ -- -- * 'dvrsVPCs' ----- * 'dvrsStatus'+-- * 'dvrsResponseStatus' describeVPCsResponse-    :: Int -- ^ 'dvrsStatus'+    :: Int -- ^ 'dvrsResponseStatus'     -> DescribeVPCsResponse-describeVPCsResponse pStatus_ =+describeVPCsResponse pResponseStatus_ =     DescribeVPCsResponse'     { _dvrsVPCs = Nothing-    , _dvrsStatus = pStatus_+    , _dvrsResponseStatus = pResponseStatus_     }  -- | Information about one or more VPCs.@@ -168,5 +168,5 @@ 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});+dvrsResponseStatus :: Lens' DescribeVPCsResponse Int+dvrsResponseStatus = lens _dvrsResponseStatus (\ s a -> s{_dvrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeVPNConnections.hs view
@@ -40,7 +40,7 @@     , DescribeVPNConnectionsResponse     -- * Response Lenses     , dvcrsVPNConnections-    , dvcrsStatus+    , dvcrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -166,7 +166,7 @@ -- | /See:/ 'describeVPNConnectionsResponse' smart constructor. data DescribeVPNConnectionsResponse = DescribeVPNConnectionsResponse'     { _dvcrsVPNConnections :: !(Maybe [VPNConnection])-    , _dvcrsStatus         :: !Int+    , _dvcrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVPNConnectionsResponse' with the minimum fields required to make a request.@@ -175,14 +175,14 @@ -- -- * 'dvcrsVPNConnections' ----- * 'dvcrsStatus'+-- * 'dvcrsResponseStatus' describeVPNConnectionsResponse-    :: Int -- ^ 'dvcrsStatus'+    :: Int -- ^ 'dvcrsResponseStatus'     -> DescribeVPNConnectionsResponse-describeVPNConnectionsResponse pStatus_ =+describeVPNConnectionsResponse pResponseStatus_ =     DescribeVPNConnectionsResponse'     { _dvcrsVPNConnections = Nothing-    , _dvcrsStatus = pStatus_+    , _dvcrsResponseStatus = pResponseStatus_     }  -- | Information about one or more VPN connections.@@ -190,5 +190,5 @@ 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});+dvcrsResponseStatus :: Lens' DescribeVPNConnectionsResponse Int+dvcrsResponseStatus = lens _dvcrsResponseStatus (\ s a -> s{_dvcrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeVPNGateways.hs view
@@ -32,15 +32,15 @@     , DescribeVPNGateways     -- * Request Lenses     , dvgsFilters-    , dvgsDryRun     , dvgsVPNGatewayIds+    , dvgsDryRun      -- * Destructuring the Response     , describeVPNGatewaysResponse     , DescribeVPNGatewaysResponse     -- * Response Lenses     , dvgrsVPNGateways-    , dvgrsStatus+    , dvgrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -52,8 +52,8 @@ -- | /See:/ 'describeVPNGateways' smart constructor. data DescribeVPNGateways = DescribeVPNGateways'     { _dvgsFilters       :: !(Maybe [Filter])-    , _dvgsDryRun        :: !(Maybe Bool)     , _dvgsVPNGatewayIds :: !(Maybe [Text])+    , _dvgsDryRun        :: !(Maybe Bool)     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVPNGateways' with the minimum fields required to make a request.@@ -62,16 +62,16 @@ -- -- * 'dvgsFilters' ----- * 'dvgsDryRun'--- -- * 'dvgsVPNGatewayIds'+--+-- * 'dvgsDryRun' describeVPNGateways     :: DescribeVPNGateways describeVPNGateways =     DescribeVPNGateways'     { _dvgsFilters = Nothing-    , _dvgsDryRun = Nothing     , _dvgsVPNGatewayIds = Nothing+    , _dvgsDryRun = Nothing     }  -- | One or more filters.@@ -110,6 +110,12 @@ dvgsFilters :: Lens' DescribeVPNGateways [Filter] dvgsFilters = lens _dvgsFilters (\ s a -> s{_dvgsFilters = a}) . _Default . _Coerce; +-- | 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;+ -- | Checks whether you have the required permissions for the action, without -- actually making the request, and provides an error response. If you have -- the required permissions, the error response is 'DryRunOperation'.@@ -117,12 +123,6 @@ 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 Rs DescribeVPNGateways =              DescribeVPNGatewaysResponse@@ -147,14 +147,14 @@               ["Action" =: ("DescribeVpnGateways" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),                toQuery (toQueryList "Filter" <$> _dvgsFilters),-               "DryRun" =: _dvgsDryRun,                toQuery-                 (toQueryList "VpnGatewayId" <$> _dvgsVPNGatewayIds)]+                 (toQueryList "VpnGatewayId" <$> _dvgsVPNGatewayIds),+               "DryRun" =: _dvgsDryRun]  -- | /See:/ 'describeVPNGatewaysResponse' smart constructor. data DescribeVPNGatewaysResponse = DescribeVPNGatewaysResponse'-    { _dvgrsVPNGateways :: !(Maybe [VPNGateway])-    , _dvgrsStatus      :: !Int+    { _dvgrsVPNGateways    :: !(Maybe [VPNGateway])+    , _dvgrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVPNGatewaysResponse' with the minimum fields required to make a request.@@ -163,14 +163,14 @@ -- -- * 'dvgrsVPNGateways' ----- * 'dvgrsStatus'+-- * 'dvgrsResponseStatus' describeVPNGatewaysResponse-    :: Int -- ^ 'dvgrsStatus'+    :: Int -- ^ 'dvgrsResponseStatus'     -> DescribeVPNGatewaysResponse-describeVPNGatewaysResponse pStatus_ =+describeVPNGatewaysResponse pResponseStatus_ =     DescribeVPNGatewaysResponse'     { _dvgrsVPNGateways = Nothing-    , _dvgrsStatus = pStatus_+    , _dvgrsResponseStatus = pResponseStatus_     }  -- | Information about one or more virtual private gateways.@@ -178,5 +178,5 @@ 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});+dvgrsResponseStatus :: Lens' DescribeVPNGatewaysResponse Int+dvgrsResponseStatus = lens _dvgrsResponseStatus (\ s a -> s{_dvgrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeVolumeAttribute.hs view
@@ -40,10 +40,10 @@     , describeVolumeAttributeResponse     , DescribeVolumeAttributeResponse     -- * Response Lenses-    , dvarsProductCodes     , dvarsVolumeId+    , dvarsProductCodes     , dvarsAutoEnableIO-    , dvarsStatus+    , dvarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -101,9 +101,9 @@           = receiveXML               (\ s h x ->                  DescribeVolumeAttributeResponse' <$>-                   (x .@? "productCodes" .!@ mempty >>=-                      may (parseXMLList "item"))-                     <*> (x .@? "volumeId")+                   (x .@? "volumeId") <*>+                     (x .@? "productCodes" .!@ mempty >>=+                        may (parseXMLList "item"))                      <*> (x .@? "autoEnableIO")                      <*> (pure (fromEnum s))) @@ -124,46 +124,46 @@  -- | /See:/ 'describeVolumeAttributeResponse' smart constructor. data DescribeVolumeAttributeResponse = DescribeVolumeAttributeResponse'-    { _dvarsProductCodes :: !(Maybe [ProductCode])-    , _dvarsVolumeId     :: !(Maybe Text)-    , _dvarsAutoEnableIO :: !(Maybe AttributeBooleanValue)-    , _dvarsStatus       :: !Int+    { _dvarsVolumeId       :: !(Maybe Text)+    , _dvarsProductCodes   :: !(Maybe [ProductCode])+    , _dvarsAutoEnableIO   :: !(Maybe AttributeBooleanValue)+    , _dvarsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVolumeAttributeResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dvarsProductCodes'--- -- * 'dvarsVolumeId' --+-- * 'dvarsProductCodes'+-- -- * 'dvarsAutoEnableIO' ----- * 'dvarsStatus'+-- * 'dvarsResponseStatus' describeVolumeAttributeResponse-    :: Int -- ^ 'dvarsStatus'+    :: Int -- ^ 'dvarsResponseStatus'     -> DescribeVolumeAttributeResponse-describeVolumeAttributeResponse pStatus_ =+describeVolumeAttributeResponse pResponseStatus_ =     DescribeVolumeAttributeResponse'-    { _dvarsProductCodes = Nothing-    , _dvarsVolumeId = Nothing+    { _dvarsVolumeId = Nothing+    , _dvarsProductCodes = Nothing     , _dvarsAutoEnableIO = Nothing-    , _dvarsStatus = pStatus_+    , _dvarsResponseStatus = pResponseStatus_     } --- | A list of product codes.-dvarsProductCodes :: Lens' DescribeVolumeAttributeResponse [ProductCode]-dvarsProductCodes = lens _dvarsProductCodes (\ s a -> s{_dvarsProductCodes = a}) . _Default . _Coerce;- -- | The ID of the volume. dvarsVolumeId :: Lens' DescribeVolumeAttributeResponse (Maybe Text) dvarsVolumeId = lens _dvarsVolumeId (\ s a -> s{_dvarsVolumeId = a}); +-- | A list of product codes.+dvarsProductCodes :: Lens' DescribeVolumeAttributeResponse [ProductCode]+dvarsProductCodes = lens _dvarsProductCodes (\ s a -> s{_dvarsProductCodes = a}) . _Default . _Coerce;+ -- | The state of 'autoEnableIO' attribute. dvarsAutoEnableIO :: Lens' DescribeVolumeAttributeResponse (Maybe AttributeBooleanValue) dvarsAutoEnableIO = lens _dvarsAutoEnableIO (\ s a -> s{_dvarsAutoEnableIO = a});  -- | The response status code.-dvarsStatus :: Lens' DescribeVolumeAttributeResponse Int-dvarsStatus = lens _dvarsStatus (\ s a -> s{_dvarsStatus = a});+dvarsResponseStatus :: Lens' DescribeVolumeAttributeResponse Int+dvarsResponseStatus = lens _dvarsResponseStatus (\ s a -> s{_dvarsResponseStatus = a});
gen/Network/AWS/EC2/DescribeVolumeStatus.hs view
@@ -79,7 +79,7 @@     -- * Response Lenses     , dvsrsNextToken     , dvsrsVolumeStatuses-    , dvsrsStatus+    , dvsrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -232,7 +232,7 @@ data DescribeVolumeStatusResponse = DescribeVolumeStatusResponse'     { _dvsrsNextToken      :: !(Maybe Text)     , _dvsrsVolumeStatuses :: !(Maybe [VolumeStatusItem])-    , _dvsrsStatus         :: !Int+    , _dvsrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVolumeStatusResponse' with the minimum fields required to make a request.@@ -243,15 +243,15 @@ -- -- * 'dvsrsVolumeStatuses' ----- * 'dvsrsStatus'+-- * 'dvsrsResponseStatus' describeVolumeStatusResponse-    :: Int -- ^ 'dvsrsStatus'+    :: Int -- ^ 'dvsrsResponseStatus'     -> DescribeVolumeStatusResponse-describeVolumeStatusResponse pStatus_ =+describeVolumeStatusResponse pResponseStatus_ =     DescribeVolumeStatusResponse'     { _dvsrsNextToken = Nothing     , _dvsrsVolumeStatuses = Nothing-    , _dvsrsStatus = pStatus_+    , _dvsrsResponseStatus = pResponseStatus_     }  -- | The token to use to retrieve the next page of results. This value is@@ -264,5 +264,5 @@ dvsrsVolumeStatuses = lens _dvsrsVolumeStatuses (\ s a -> s{_dvsrsVolumeStatuses = a}) . _Default . _Coerce;  -- | The response status code.-dvsrsStatus :: Lens' DescribeVolumeStatusResponse Int-dvsrsStatus = lens _dvsrsStatus (\ s a -> s{_dvsrsStatus = a});+dvsrsResponseStatus :: Lens' DescribeVolumeStatusResponse Int+dvsrsResponseStatus = lens _dvsrsResponseStatus (\ s a -> s{_dvsrsResponseStatus = a});
gen/Network/AWS/EC2/DescribeVolumes.hs view
@@ -50,7 +50,7 @@     -- * Response Lenses     , dvvrsNextToken     , dvvrsVolumes-    , dvvrsStatus+    , dvvrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -208,9 +208,9 @@  -- | /See:/ 'describeVolumesResponse' smart constructor. data DescribeVolumesResponse = DescribeVolumesResponse'-    { _dvvrsNextToken :: !(Maybe Text)-    , _dvvrsVolumes   :: !(Maybe [Volume])-    , _dvvrsStatus    :: !Int+    { _dvvrsNextToken      :: !(Maybe Text)+    , _dvvrsVolumes        :: !(Maybe [Volume])+    , _dvvrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DescribeVolumesResponse' with the minimum fields required to make a request.@@ -221,15 +221,15 @@ -- -- * 'dvvrsVolumes' ----- * 'dvvrsStatus'+-- * 'dvvrsResponseStatus' describeVolumesResponse-    :: Int -- ^ 'dvvrsStatus'+    :: Int -- ^ 'dvvrsResponseStatus'     -> DescribeVolumesResponse-describeVolumesResponse pStatus_ =+describeVolumesResponse pResponseStatus_ =     DescribeVolumesResponse'     { _dvvrsNextToken = Nothing     , _dvvrsVolumes = Nothing-    , _dvvrsStatus = pStatus_+    , _dvvrsResponseStatus = pResponseStatus_     }  -- | The 'NextToken' value to include in a future 'DescribeVolumes' request.@@ -244,5 +244,5 @@ 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});+dvvrsResponseStatus :: Lens' DescribeVolumesResponse Int+dvvrsResponseStatus = lens _dvvrsResponseStatus (\ s a -> s{_dvvrsResponseStatus = a});
gen/Network/AWS/EC2/DetachClassicLinkVPC.hs view
@@ -39,7 +39,7 @@     , DetachClassicLinkVPCResponse     -- * Response Lenses     , dclvrsReturn-    , dclvrsStatus+    , dclvrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -117,8 +117,8 @@  -- | /See:/ 'detachClassicLinkVPCResponse' smart constructor. data DetachClassicLinkVPCResponse = DetachClassicLinkVPCResponse'-    { _dclvrsReturn :: !(Maybe Bool)-    , _dclvrsStatus :: !Int+    { _dclvrsReturn         :: !(Maybe Bool)+    , _dclvrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DetachClassicLinkVPCResponse' with the minimum fields required to make a request.@@ -127,14 +127,14 @@ -- -- * 'dclvrsReturn' ----- * 'dclvrsStatus'+-- * 'dclvrsResponseStatus' detachClassicLinkVPCResponse-    :: Int -- ^ 'dclvrsStatus'+    :: Int -- ^ 'dclvrsResponseStatus'     -> DetachClassicLinkVPCResponse-detachClassicLinkVPCResponse pStatus_ =+detachClassicLinkVPCResponse pResponseStatus_ =     DetachClassicLinkVPCResponse'     { _dclvrsReturn = Nothing-    , _dclvrsStatus = pStatus_+    , _dclvrsResponseStatus = pResponseStatus_     }  -- | Returns 'true' if the request succeeds; otherwise, it returns an error.@@ -142,5 +142,5 @@ dclvrsReturn = lens _dclvrsReturn (\ s a -> s{_dclvrsReturn = a});  -- | The response status code.-dclvrsStatus :: Lens' DetachClassicLinkVPCResponse Int-dclvrsStatus = lens _dclvrsStatus (\ s a -> s{_dclvrsStatus = a});+dclvrsResponseStatus :: Lens' DetachClassicLinkVPCResponse Int+dclvrsResponseStatus = lens _dclvrsResponseStatus (\ s a -> s{_dclvrsResponseStatus = a});
gen/Network/AWS/EC2/DisableVPCClassicLink.hs view
@@ -36,7 +36,7 @@     , DisableVPCClassicLinkResponse     -- * Response Lenses     , dvpcclrsReturn-    , dvpcclrsStatus+    , dvpcclrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -103,8 +103,8 @@  -- | /See:/ 'disableVPCClassicLinkResponse' smart constructor. data DisableVPCClassicLinkResponse = DisableVPCClassicLinkResponse'-    { _dvpcclrsReturn :: !(Maybe Bool)-    , _dvpcclrsStatus :: !Int+    { _dvpcclrsReturn         :: !(Maybe Bool)+    , _dvpcclrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'DisableVPCClassicLinkResponse' with the minimum fields required to make a request.@@ -113,14 +113,14 @@ -- -- * 'dvpcclrsReturn' ----- * 'dvpcclrsStatus'+-- * 'dvpcclrsResponseStatus' disableVPCClassicLinkResponse-    :: Int -- ^ 'dvpcclrsStatus'+    :: Int -- ^ 'dvpcclrsResponseStatus'     -> DisableVPCClassicLinkResponse-disableVPCClassicLinkResponse pStatus_ =+disableVPCClassicLinkResponse pResponseStatus_ =     DisableVPCClassicLinkResponse'     { _dvpcclrsReturn = Nothing-    , _dvpcclrsStatus = pStatus_+    , _dvpcclrsResponseStatus = pResponseStatus_     }  -- | Returns 'true' if the request succeeds; otherwise, it returns an error.@@ -128,5 +128,5 @@ dvpcclrsReturn = lens _dvpcclrsReturn (\ s a -> s{_dvpcclrsReturn = a});  -- | The response status code.-dvpcclrsStatus :: Lens' DisableVPCClassicLinkResponse Int-dvpcclrsStatus = lens _dvpcclrsStatus (\ s a -> s{_dvpcclrsStatus = a});+dvpcclrsResponseStatus :: Lens' DisableVPCClassicLinkResponse Int+dvpcclrsResponseStatus = lens _dvpcclrsResponseStatus (\ s a -> s{_dvpcclrsResponseStatus = a});
gen/Network/AWS/EC2/EnableVPCClassicLink.hs view
@@ -43,7 +43,7 @@     , EnableVPCClassicLinkResponse     -- * Response Lenses     , evclrsReturn-    , evclrsStatus+    , evclrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -110,8 +110,8 @@  -- | /See:/ 'enableVPCClassicLinkResponse' smart constructor. data EnableVPCClassicLinkResponse = EnableVPCClassicLinkResponse'-    { _evclrsReturn :: !(Maybe Bool)-    , _evclrsStatus :: !Int+    { _evclrsReturn         :: !(Maybe Bool)+    , _evclrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'EnableVPCClassicLinkResponse' with the minimum fields required to make a request.@@ -120,14 +120,14 @@ -- -- * 'evclrsReturn' ----- * 'evclrsStatus'+-- * 'evclrsResponseStatus' enableVPCClassicLinkResponse-    :: Int -- ^ 'evclrsStatus'+    :: Int -- ^ 'evclrsResponseStatus'     -> EnableVPCClassicLinkResponse-enableVPCClassicLinkResponse pStatus_ =+enableVPCClassicLinkResponse pResponseStatus_ =     EnableVPCClassicLinkResponse'     { _evclrsReturn = Nothing-    , _evclrsStatus = pStatus_+    , _evclrsResponseStatus = pResponseStatus_     }  -- | Returns 'true' if the request succeeds; otherwise, it returns an error.@@ -135,5 +135,5 @@ evclrsReturn = lens _evclrsReturn (\ s a -> s{_evclrsReturn = a});  -- | The response status code.-evclrsStatus :: Lens' EnableVPCClassicLinkResponse Int-evclrsStatus = lens _evclrsStatus (\ s a -> s{_evclrsStatus = a});+evclrsResponseStatus :: Lens' EnableVPCClassicLinkResponse Int+evclrsResponseStatus = lens _evclrsResponseStatus (\ s a -> s{_evclrsResponseStatus = a});
gen/Network/AWS/EC2/GetConsoleOutput.hs view
@@ -56,7 +56,7 @@     , gcorsInstanceId     , gcorsOutput     , gcorsTimestamp-    , gcorsStatus+    , gcorsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -125,10 +125,10 @@  -- | /See:/ 'getConsoleOutputResponse' smart constructor. data GetConsoleOutputResponse = GetConsoleOutputResponse'-    { _gcorsInstanceId :: !(Maybe Text)-    , _gcorsOutput     :: !(Maybe Text)-    , _gcorsTimestamp  :: !(Maybe ISO8601)-    , _gcorsStatus     :: !Int+    { _gcorsInstanceId     :: !(Maybe Text)+    , _gcorsOutput         :: !(Maybe Text)+    , _gcorsTimestamp      :: !(Maybe ISO8601)+    , _gcorsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'GetConsoleOutputResponse' with the minimum fields required to make a request.@@ -141,16 +141,16 @@ -- -- * 'gcorsTimestamp' ----- * 'gcorsStatus'+-- * 'gcorsResponseStatus' getConsoleOutputResponse-    :: Int -- ^ 'gcorsStatus'+    :: Int -- ^ 'gcorsResponseStatus'     -> GetConsoleOutputResponse-getConsoleOutputResponse pStatus_ =+getConsoleOutputResponse pResponseStatus_ =     GetConsoleOutputResponse'     { _gcorsInstanceId = Nothing     , _gcorsOutput = Nothing     , _gcorsTimestamp = Nothing-    , _gcorsStatus = pStatus_+    , _gcorsResponseStatus = pResponseStatus_     }  -- | The ID of the instance.@@ -166,5 +166,5 @@ gcorsTimestamp = lens _gcorsTimestamp (\ s a -> s{_gcorsTimestamp = a}) . mapping _Time;  -- | The response status code.-gcorsStatus :: Lens' GetConsoleOutputResponse Int-gcorsStatus = lens _gcorsStatus (\ s a -> s{_gcorsStatus = a});+gcorsResponseStatus :: Lens' GetConsoleOutputResponse Int+gcorsResponseStatus = lens _gcorsResponseStatus (\ s a -> s{_gcorsResponseStatus = a});
gen/Network/AWS/EC2/GetPasswordData.hs view
@@ -48,7 +48,7 @@     , getPasswordDataResponse     , GetPasswordDataResponse     -- * Response Lenses-    , gpdrsStatus+    , gpdrsResponseStatus     , gpdrsInstanceId     , gpdrsPasswordData     , gpdrsTimestamp@@ -120,17 +120,17 @@  -- | /See:/ 'getPasswordDataResponse' smart constructor. data GetPasswordDataResponse = GetPasswordDataResponse'-    { _gpdrsStatus       :: !Int-    , _gpdrsInstanceId   :: !Text-    , _gpdrsPasswordData :: !Text-    , _gpdrsTimestamp    :: !ISO8601+    { _gpdrsResponseStatus :: !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. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gpdrsStatus'+-- * 'gpdrsResponseStatus' -- -- * 'gpdrsInstanceId' --@@ -138,22 +138,22 @@ -- -- * 'gpdrsTimestamp' getPasswordDataResponse-    :: Int -- ^ 'gpdrsStatus'+    :: Int -- ^ 'gpdrsResponseStatus'     -> Text -- ^ 'gpdrsInstanceId'     -> Text -- ^ 'gpdrsPasswordData'     -> UTCTime -- ^ 'gpdrsTimestamp'     -> GetPasswordDataResponse-getPasswordDataResponse pStatus_ pInstanceId_ pPasswordData_ pTimestamp_ =+getPasswordDataResponse pResponseStatus_ pInstanceId_ pPasswordData_ pTimestamp_ =     GetPasswordDataResponse'-    { _gpdrsStatus = pStatus_+    { _gpdrsResponseStatus = pResponseStatus_     , _gpdrsInstanceId = pInstanceId_     , _gpdrsPasswordData = pPasswordData_     , _gpdrsTimestamp = _Time # pTimestamp_     }  -- | The response status code.-gpdrsStatus :: Lens' GetPasswordDataResponse Int-gpdrsStatus = lens _gpdrsStatus (\ s a -> s{_gpdrsStatus = a});+gpdrsResponseStatus :: Lens' GetPasswordDataResponse Int+gpdrsResponseStatus = lens _gpdrsResponseStatus (\ s a -> s{_gpdrsResponseStatus = a});  -- | The ID of the Windows instance. gpdrsInstanceId :: Lens' GetPasswordDataResponse Text
gen/Network/AWS/EC2/ImportImage.hs view
@@ -34,8 +34,8 @@     , impLicenseType     , impRoleName     , impArchitecture-    , impDryRun     , impDescription+    , impDryRun     , impClientData     , impDiskContainers @@ -43,6 +43,7 @@     , importImageResponse     , ImportImageResponse     -- * Response Lenses+    , irsStatus     , irsHypervisor     , irsPlatform     , irsProgress@@ -53,7 +54,7 @@     , irsImportTaskId     , irsArchitecture     , irsDescription-    , irsStatus+    , irsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -70,8 +71,8 @@     , _impLicenseType    :: !(Maybe Text)     , _impRoleName       :: !(Maybe Text)     , _impArchitecture   :: !(Maybe Text)-    , _impDryRun         :: !(Maybe Bool)     , _impDescription    :: !(Maybe Text)+    , _impDryRun         :: !(Maybe Bool)     , _impClientData     :: !(Maybe ClientData)     , _impDiskContainers :: !(Maybe [ImageDiskContainer])     } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -92,10 +93,10 @@ -- -- * 'impArchitecture' ----- * 'impDryRun'--- -- * 'impDescription' --+-- * 'impDryRun'+-- -- * 'impClientData' -- -- * 'impDiskContainers'@@ -109,8 +110,8 @@     , _impLicenseType = Nothing     , _impRoleName = Nothing     , _impArchitecture = Nothing-    , _impDryRun = Nothing     , _impDescription = Nothing+    , _impDryRun = Nothing     , _impClientData = Nothing     , _impDiskContainers = Nothing     }@@ -155,6 +156,10 @@ impArchitecture :: Lens' ImportImage (Maybe Text) impArchitecture = lens _impArchitecture (\ s a -> s{_impArchitecture = a}); +-- | A description string for the import image task.+impDescription :: Lens' ImportImage (Maybe Text)+impDescription = lens _impDescription (\ s a -> s{_impDescription = 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'.@@ -162,10 +167,6 @@ impDryRun :: Lens' ImportImage (Maybe Bool) impDryRun = lens _impDryRun (\ s a -> s{_impDryRun = a}); --- | A description string for the import image task.-impDescription :: Lens' ImportImage (Maybe Text)-impDescription = lens _impDescription (\ s a -> s{_impDescription = a});- -- | The client-specific data. impClientData :: Lens' ImportImage (Maybe ClientData) impClientData = lens _impClientData (\ s a -> s{_impClientData = a});@@ -181,8 +182,9 @@           = receiveXML               (\ s h x ->                  ImportImageResponse' <$>-                   (x .@? "hypervisor") <*> (x .@? "platform") <*>-                     (x .@? "progress")+                   (x .@? "status") <*> (x .@? "hypervisor") <*>+                     (x .@? "platform")+                     <*> (x .@? "progress")                      <*> (x .@? "licenseType")                      <*>                      (x .@? "snapshotDetailSet" .!@ mempty >>=@@ -211,15 +213,16 @@                "LicenseType" =: _impLicenseType,                "RoleName" =: _impRoleName,                "Architecture" =: _impArchitecture,-               "DryRun" =: _impDryRun,                "Description" =: _impDescription,+               "DryRun" =: _impDryRun,                "ClientData" =: _impClientData,                toQuery                  (toQueryList "DiskContainer" <$> _impDiskContainers)]  -- | /See:/ 'importImageResponse' smart constructor. data ImportImageResponse = ImportImageResponse'-    { _irsHypervisor      :: !(Maybe Text)+    { _irsStatus          :: !(Maybe Text)+    , _irsHypervisor      :: !(Maybe Text)     , _irsPlatform        :: !(Maybe Text)     , _irsProgress        :: !(Maybe Text)     , _irsLicenseType     :: !(Maybe Text)@@ -229,13 +232,15 @@     , _irsImportTaskId    :: !(Maybe Text)     , _irsArchitecture    :: !(Maybe Text)     , _irsDescription     :: !(Maybe Text)-    , _irsStatus          :: !Int+    , _irsResponseStatus  :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'ImportImageResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'irsStatus'+-- -- * 'irsHypervisor' -- -- * 'irsPlatform'@@ -256,13 +261,14 @@ -- -- * 'irsDescription' ----- * 'irsStatus'+-- * 'irsResponseStatus' importImageResponse-    :: Int -- ^ 'irsStatus'+    :: Int -- ^ 'irsResponseStatus'     -> ImportImageResponse-importImageResponse pStatus_ =+importImageResponse pResponseStatus_ =     ImportImageResponse'-    { _irsHypervisor = Nothing+    { _irsStatus = Nothing+    , _irsHypervisor = Nothing     , _irsPlatform = Nothing     , _irsProgress = Nothing     , _irsLicenseType = Nothing@@ -272,9 +278,13 @@     , _irsImportTaskId = Nothing     , _irsArchitecture = Nothing     , _irsDescription = Nothing-    , _irsStatus = pStatus_+    , _irsResponseStatus = pResponseStatus_     } +-- | A brief status of the task.+irsStatus :: Lens' ImportImageResponse (Maybe Text)+irsStatus = lens _irsStatus (\ s a -> s{_irsStatus = a});+ -- | The target hypervisor of the import task. irsHypervisor :: Lens' ImportImageResponse (Maybe Text) irsHypervisor = lens _irsHypervisor (\ s a -> s{_irsHypervisor = a});@@ -316,5 +326,5 @@ irsDescription = lens _irsDescription (\ s a -> s{_irsDescription = a});  -- | The response status code.-irsStatus :: Lens' ImportImageResponse Int-irsStatus = lens _irsStatus (\ s a -> s{_irsStatus = a});+irsResponseStatus :: Lens' ImportImageResponse Int+irsResponseStatus = lens _irsResponseStatus (\ s a -> s{_irsResponseStatus = a});
gen/Network/AWS/EC2/ImportInstance.hs view
@@ -35,8 +35,8 @@     -- * Request Lenses     , iiLaunchSpecification     , iiDiskImages-    , iiDryRun     , iiDescription+    , iiDryRun     , iiPlatform      -- * Destructuring the Response@@ -44,7 +44,7 @@     , ImportInstanceResponse     -- * Response Lenses     , iirsConversionTask-    , iirsStatus+    , iirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -57,8 +57,8 @@ data ImportInstance = ImportInstance'     { _iiLaunchSpecification :: !(Maybe ImportInstanceLaunchSpecification)     , _iiDiskImages          :: !(Maybe [DiskImage])-    , _iiDryRun              :: !(Maybe Bool)     , _iiDescription         :: !(Maybe Text)+    , _iiDryRun              :: !(Maybe Bool)     , _iiPlatform            :: !PlatformValues     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -70,10 +70,10 @@ -- -- * 'iiDiskImages' ----- * 'iiDryRun'--- -- * 'iiDescription' --+-- * 'iiDryRun'+-- -- * 'iiPlatform' importInstance     :: PlatformValues -- ^ 'iiPlatform'@@ -82,8 +82,8 @@     ImportInstance'     { _iiLaunchSpecification = Nothing     , _iiDiskImages = Nothing-    , _iiDryRun = Nothing     , _iiDescription = Nothing+    , _iiDryRun = Nothing     , _iiPlatform = pPlatform_     } @@ -95,6 +95,10 @@ iiDiskImages :: Lens' ImportInstance [DiskImage] iiDiskImages = lens _iiDiskImages (\ s a -> s{_iiDiskImages = a}) . _Default . _Coerce; +-- | A description for the instance being imported.+iiDescription :: Lens' ImportInstance (Maybe Text)+iiDescription = lens _iiDescription (\ s a -> s{_iiDescription = 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'.@@ -102,10 +106,6 @@ iiDryRun :: Lens' ImportInstance (Maybe Bool) iiDryRun = lens _iiDryRun (\ s a -> s{_iiDryRun = 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});@@ -132,14 +132,13 @@                "Version" =: ("2015-04-15" :: ByteString),                "LaunchSpecification" =: _iiLaunchSpecification,                toQuery (toQueryList "DiskImage" <$> _iiDiskImages),-               "DryRun" =: _iiDryRun,                "Description" =: _iiDescription,-               "Platform" =: _iiPlatform]+               "DryRun" =: _iiDryRun, "Platform" =: _iiPlatform]  -- | /See:/ 'importInstanceResponse' smart constructor. data ImportInstanceResponse = ImportInstanceResponse'     { _iirsConversionTask :: !(Maybe ConversionTask)-    , _iirsStatus         :: !Int+    , _iirsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'ImportInstanceResponse' with the minimum fields required to make a request.@@ -148,14 +147,14 @@ -- -- * 'iirsConversionTask' ----- * 'iirsStatus'+-- * 'iirsResponseStatus' importInstanceResponse-    :: Int -- ^ 'iirsStatus'+    :: Int -- ^ 'iirsResponseStatus'     -> ImportInstanceResponse-importInstanceResponse pStatus_ =+importInstanceResponse pResponseStatus_ =     ImportInstanceResponse'     { _iirsConversionTask = Nothing-    , _iirsStatus = pStatus_+    , _iirsResponseStatus = pResponseStatus_     }  -- | Information about the conversion task.@@ -163,5 +162,5 @@ iirsConversionTask = lens _iirsConversionTask (\ s a -> s{_iirsConversionTask = a});  -- | The response status code.-iirsStatus :: Lens' ImportInstanceResponse Int-iirsStatus = lens _iirsStatus (\ s a -> s{_iirsStatus = a});+iirsResponseStatus :: Lens' ImportInstanceResponse Int+iirsResponseStatus = lens _iirsResponseStatus (\ s a -> s{_iirsResponseStatus = a});
gen/Network/AWS/EC2/ImportKeyPair.hs view
@@ -45,7 +45,7 @@     -- * Response Lenses     , ikprsKeyFingerprint     , ikprsKeyName-    , ikprsStatus+    , ikprsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -131,7 +131,7 @@ data ImportKeyPairResponse = ImportKeyPairResponse'     { _ikprsKeyFingerprint :: !(Maybe Text)     , _ikprsKeyName        :: !(Maybe Text)-    , _ikprsStatus         :: !Int+    , _ikprsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'ImportKeyPairResponse' with the minimum fields required to make a request.@@ -142,15 +142,15 @@ -- -- * 'ikprsKeyName' ----- * 'ikprsStatus'+-- * 'ikprsResponseStatus' importKeyPairResponse-    :: Int -- ^ 'ikprsStatus'+    :: Int -- ^ 'ikprsResponseStatus'     -> ImportKeyPairResponse-importKeyPairResponse pStatus_ =+importKeyPairResponse pResponseStatus_ =     ImportKeyPairResponse'     { _ikprsKeyFingerprint = Nothing     , _ikprsKeyName = Nothing-    , _ikprsStatus = pStatus_+    , _ikprsResponseStatus = pResponseStatus_     }  -- | The MD5 public key fingerprint as specified in section 4 of RFC 4716.@@ -162,5 +162,5 @@ ikprsKeyName = lens _ikprsKeyName (\ s a -> s{_ikprsKeyName = a});  -- | The response status code.-ikprsStatus :: Lens' ImportKeyPairResponse Int-ikprsStatus = lens _ikprsStatus (\ s a -> s{_ikprsStatus = a});+ikprsResponseStatus :: Lens' ImportKeyPairResponse Int+ikprsResponseStatus = lens _ikprsResponseStatus (\ s a -> s{_ikprsResponseStatus = a});
gen/Network/AWS/EC2/ImportSnapshot.hs view
@@ -30,8 +30,8 @@     , isDiskContainer     , isClientToken     , isRoleName-    , isDryRun     , isDescription+    , isDryRun     , isClientData      -- * Destructuring the Response@@ -41,7 +41,7 @@     , isrsSnapshotTaskDetail     , isrsImportTaskId     , isrsDescription-    , isrsStatus+    , isrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -55,8 +55,8 @@     { _isDiskContainer :: !(Maybe SnapshotDiskContainer)     , _isClientToken   :: !(Maybe Text)     , _isRoleName      :: !(Maybe Text)-    , _isDryRun        :: !(Maybe Bool)     , _isDescription   :: !(Maybe Text)+    , _isDryRun        :: !(Maybe Bool)     , _isClientData    :: !(Maybe ClientData)     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -70,10 +70,10 @@ -- -- * 'isRoleName' ----- * 'isDryRun'--- -- * 'isDescription' --+-- * 'isDryRun'+-- -- * 'isClientData' importSnapshot     :: ImportSnapshot@@ -82,8 +82,8 @@     { _isDiskContainer = Nothing     , _isClientToken = Nothing     , _isRoleName = Nothing-    , _isDryRun = Nothing     , _isDescription = Nothing+    , _isDryRun = Nothing     , _isClientData = Nothing     } @@ -100,6 +100,10 @@ isRoleName :: Lens' ImportSnapshot (Maybe Text) isRoleName = lens _isRoleName (\ s a -> s{_isRoleName = a}); +-- | The description string for the import snapshot task.+isDescription :: Lens' ImportSnapshot (Maybe Text)+isDescription = lens _isDescription (\ s a -> s{_isDescription = 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'.@@ -107,10 +111,6 @@ 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});- -- | The client-specific data. isClientData :: Lens' ImportSnapshot (Maybe ClientData) isClientData = lens _isClientData (\ s a -> s{_isClientData = a});@@ -140,16 +140,16 @@                "Version" =: ("2015-04-15" :: ByteString),                "DiskContainer" =: _isDiskContainer,                "ClientToken" =: _isClientToken,-               "RoleName" =: _isRoleName, "DryRun" =: _isDryRun,+               "RoleName" =: _isRoleName,                "Description" =: _isDescription,-               "ClientData" =: _isClientData]+               "DryRun" =: _isDryRun, "ClientData" =: _isClientData]  -- | /See:/ 'importSnapshotResponse' smart constructor. data ImportSnapshotResponse = ImportSnapshotResponse'     { _isrsSnapshotTaskDetail :: !(Maybe SnapshotTaskDetail)     , _isrsImportTaskId       :: !(Maybe Text)     , _isrsDescription        :: !(Maybe Text)-    , _isrsStatus             :: !Int+    , _isrsResponseStatus     :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'ImportSnapshotResponse' with the minimum fields required to make a request.@@ -162,16 +162,16 @@ -- -- * 'isrsDescription' ----- * 'isrsStatus'+-- * 'isrsResponseStatus' importSnapshotResponse-    :: Int -- ^ 'isrsStatus'+    :: Int -- ^ 'isrsResponseStatus'     -> ImportSnapshotResponse-importSnapshotResponse pStatus_ =+importSnapshotResponse pResponseStatus_ =     ImportSnapshotResponse'     { _isrsSnapshotTaskDetail = Nothing     , _isrsImportTaskId = Nothing     , _isrsDescription = Nothing-    , _isrsStatus = pStatus_+    , _isrsResponseStatus = pResponseStatus_     }  -- | Information about the import snapshot task.@@ -187,5 +187,5 @@ isrsDescription = lens _isrsDescription (\ s a -> s{_isrsDescription = a});  -- | The response status code.-isrsStatus :: Lens' ImportSnapshotResponse Int-isrsStatus = lens _isrsStatus (\ s a -> s{_isrsStatus = a});+isrsResponseStatus :: Lens' ImportSnapshotResponse Int+isrsResponseStatus = lens _isrsResponseStatus (\ s a -> s{_isrsResponseStatus = a});
gen/Network/AWS/EC2/ImportVolume.hs view
@@ -32,8 +32,8 @@       importVolume     , ImportVolume     -- * Request Lenses-    , ivDryRun     , ivDescription+    , ivDryRun     , ivAvailabilityZone     , ivImage     , ivVolume@@ -43,7 +43,7 @@     , ImportVolumeResponse     -- * Response Lenses     , ivrsConversionTask-    , ivrsStatus+    , ivrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -54,8 +54,8 @@  -- | /See:/ 'importVolume' smart constructor. data ImportVolume = ImportVolume'-    { _ivDryRun           :: !(Maybe Bool)-    , _ivDescription      :: !(Maybe Text)+    { _ivDescription      :: !(Maybe Text)+    , _ivDryRun           :: !(Maybe Bool)     , _ivAvailabilityZone :: !Text     , _ivImage            :: !DiskImageDetail     , _ivVolume           :: !VolumeDetail@@ -65,10 +65,10 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ivDryRun'--- -- * 'ivDescription' --+-- * 'ivDryRun'+-- -- * 'ivAvailabilityZone' -- -- * 'ivImage'@@ -81,13 +81,17 @@     -> ImportVolume importVolume pAvailabilityZone_ pImage_ pVolume_ =     ImportVolume'-    { _ivDryRun = Nothing-    , _ivDescription = Nothing+    { _ivDescription = Nothing+    , _ivDryRun = Nothing     , _ivAvailabilityZone = pAvailabilityZone_     , _ivImage = pImage_     , _ivVolume = pVolume_     } +-- | A description of the volume.+ivDescription :: Lens' ImportVolume (Maybe Text)+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'.@@ -95,10 +99,6 @@ 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});- -- | The Availability Zone for the resulting EBS volume. ivAvailabilityZone :: Lens' ImportVolume Text ivAvailabilityZone = lens _ivAvailabilityZone (\ s a -> s{_ivAvailabilityZone = a});@@ -131,15 +131,15 @@           = mconcat               ["Action" =: ("ImportVolume" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),-               "DryRun" =: _ivDryRun,                "Description" =: _ivDescription,+               "DryRun" =: _ivDryRun,                "AvailabilityZone" =: _ivAvailabilityZone,                "Image" =: _ivImage, "Volume" =: _ivVolume]  -- | /See:/ 'importVolumeResponse' smart constructor. data ImportVolumeResponse = ImportVolumeResponse'     { _ivrsConversionTask :: !(Maybe ConversionTask)-    , _ivrsStatus         :: !Int+    , _ivrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'ImportVolumeResponse' with the minimum fields required to make a request.@@ -148,14 +148,14 @@ -- -- * 'ivrsConversionTask' ----- * 'ivrsStatus'+-- * 'ivrsResponseStatus' importVolumeResponse-    :: Int -- ^ 'ivrsStatus'+    :: Int -- ^ 'ivrsResponseStatus'     -> ImportVolumeResponse-importVolumeResponse pStatus_ =+importVolumeResponse pResponseStatus_ =     ImportVolumeResponse'     { _ivrsConversionTask = Nothing-    , _ivrsStatus = pStatus_+    , _ivrsResponseStatus = pResponseStatus_     }  -- | Information about the conversion task.@@ -163,5 +163,5 @@ ivrsConversionTask = lens _ivrsConversionTask (\ s a -> s{_ivrsConversionTask = a});  -- | The response status code.-ivrsStatus :: Lens' ImportVolumeResponse Int-ivrsStatus = lens _ivrsStatus (\ s a -> s{_ivrsStatus = a});+ivrsResponseStatus :: Lens' ImportVolumeResponse Int+ivrsResponseStatus = lens _ivrsResponseStatus (\ s a -> s{_ivrsResponseStatus = a});
gen/Network/AWS/EC2/ModifyImageAttribute.hs view
@@ -38,8 +38,8 @@     , miaLaunchPermission     , miaOperationType     , miaProductCodes-    , miaDryRun     , miaDescription+    , miaDryRun     , miaImageId      -- * Destructuring the Response@@ -60,10 +60,10 @@     , _miaUserGroups       :: !(Maybe [Text])     , _miaValue            :: !(Maybe Text)     , _miaLaunchPermission :: !(Maybe LaunchPermissionModifications)-    , _miaOperationType    :: !(Maybe Text)+    , _miaOperationType    :: !(Maybe OperationType)     , _miaProductCodes     :: !(Maybe [Text])-    , _miaDryRun           :: !(Maybe Bool)     , _miaDescription      :: !(Maybe AttributeValue)+    , _miaDryRun           :: !(Maybe Bool)     , _miaImageId          :: !Text     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -85,10 +85,10 @@ -- -- * 'miaProductCodes' ----- * 'miaDryRun'--- -- * 'miaDescription' --+-- * 'miaDryRun'+-- -- * 'miaImageId' modifyImageAttribute     :: Text -- ^ 'miaImageId'@@ -102,8 +102,8 @@     , _miaLaunchPermission = Nothing     , _miaOperationType = Nothing     , _miaProductCodes = Nothing-    , _miaDryRun = Nothing     , _miaDescription = Nothing+    , _miaDryRun = Nothing     , _miaImageId = pImageId_     } @@ -131,7 +131,7 @@ miaLaunchPermission = lens _miaLaunchPermission (\ s a -> s{_miaLaunchPermission = a});  -- | The operation type.-miaOperationType :: Lens' ModifyImageAttribute (Maybe Text)+miaOperationType :: Lens' ModifyImageAttribute (Maybe OperationType) miaOperationType = lens _miaOperationType (\ s a -> s{_miaOperationType = a});  -- | One or more product codes. After you add a product code to an AMI, it@@ -140,6 +140,10 @@ miaProductCodes :: Lens' ModifyImageAttribute [Text] miaProductCodes = lens _miaProductCodes (\ s a -> s{_miaProductCodes = a}) . _Default . _Coerce; +-- | A description for the AMI.+miaDescription :: Lens' ModifyImageAttribute (Maybe AttributeValue)+miaDescription = lens _miaDescription (\ s a -> s{_miaDescription = 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'.@@ -147,10 +151,6 @@ miaDryRun :: Lens' ModifyImageAttribute (Maybe Bool) miaDryRun = lens _miaDryRun (\ s a -> s{_miaDryRun = a}); --- | A description for the AMI.-miaDescription :: Lens' ModifyImageAttribute (Maybe AttributeValue)-miaDescription = lens _miaDescription (\ s a -> s{_miaDescription = a});- -- | The ID of the AMI. miaImageId :: Lens' ModifyImageAttribute Text miaImageId = lens _miaImageId (\ s a -> s{_miaImageId = a});@@ -180,9 +180,8 @@                "OperationType" =: _miaOperationType,                toQuery                  (toQueryList "ProductCode" <$> _miaProductCodes),-               "DryRun" =: _miaDryRun,                "Description" =: _miaDescription,-               "ImageId" =: _miaImageId]+               "DryRun" =: _miaDryRun, "ImageId" =: _miaImageId]  -- | /See:/ 'modifyImageAttributeResponse' smart constructor. data ModifyImageAttributeResponse =
gen/Network/AWS/EC2/ModifyInstanceAttribute.hs view
@@ -33,17 +33,17 @@       modifyInstanceAttribute     , ModifyInstanceAttribute     -- * Request Lenses-    , mAttribute     , mGroups+    , mAttribute     , mSourceDestCheck     , mDisableAPITermination+    , mKernel     , mRAMDisk     , mValue-    , mKernel     , mInstanceType+    , mSRIOVNetSupport     , mEBSOptimized     , mUserData-    , mSRIOVNetSupport     , mInstanceInitiatedShutdownBehavior     , mBlockDeviceMappings     , mDryRun@@ -62,17 +62,17 @@  -- | /See:/ 'modifyInstanceAttribute' smart constructor. data ModifyInstanceAttribute = ModifyInstanceAttribute'-    { _mAttribute                         :: !(Maybe InstanceAttributeName)-    , _mGroups                            :: !(Maybe [Text])+    { _mGroups                            :: !(Maybe [Text])+    , _mAttribute                         :: !(Maybe InstanceAttributeName)     , _mSourceDestCheck                   :: !(Maybe AttributeBooleanValue)     , _mDisableAPITermination             :: !(Maybe AttributeBooleanValue)+    , _mKernel                            :: !(Maybe AttributeValue)     , _mRAMDisk                           :: !(Maybe AttributeValue)     , _mValue                             :: !(Maybe Text)-    , _mKernel                            :: !(Maybe AttributeValue)     , _mInstanceType                      :: !(Maybe AttributeValue)+    , _mSRIOVNetSupport                   :: !(Maybe AttributeValue)     , _mEBSOptimized                      :: !(Maybe AttributeBooleanValue)     , _mUserData                          :: !(Maybe BlobAttributeValue)-    , _mSRIOVNetSupport                   :: !(Maybe AttributeValue)     , _mInstanceInitiatedShutdownBehavior :: !(Maybe AttributeValue)     , _mBlockDeviceMappings               :: !(Maybe [InstanceBlockDeviceMappingSpecification])     , _mDryRun                            :: !(Maybe Bool)@@ -83,28 +83,28 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'mAttribute'--- -- * 'mGroups' --+-- * 'mAttribute'+-- -- * 'mSourceDestCheck' -- -- * 'mDisableAPITermination' --+-- * 'mKernel'+-- -- * 'mRAMDisk' -- -- * 'mValue' ----- * 'mKernel'--- -- * 'mInstanceType' --+-- * 'mSRIOVNetSupport'+-- -- * 'mEBSOptimized' -- -- * 'mUserData' ----- * 'mSRIOVNetSupport'--- -- * 'mInstanceInitiatedShutdownBehavior' -- -- * 'mBlockDeviceMappings'@@ -117,27 +117,23 @@     -> ModifyInstanceAttribute modifyInstanceAttribute pInstanceId_ =     ModifyInstanceAttribute'-    { _mAttribute = Nothing-    , _mGroups = Nothing+    { _mGroups = Nothing+    , _mAttribute = Nothing     , _mSourceDestCheck = Nothing     , _mDisableAPITermination = Nothing+    , _mKernel = Nothing     , _mRAMDisk = Nothing     , _mValue = Nothing-    , _mKernel = Nothing     , _mInstanceType = Nothing+    , _mSRIOVNetSupport = Nothing     , _mEBSOptimized = Nothing     , _mUserData = Nothing-    , _mSRIOVNetSupport = Nothing     , _mInstanceInitiatedShutdownBehavior = Nothing     , _mBlockDeviceMappings = Nothing     , _mDryRun = Nothing     , _mInstanceId = pInstanceId_     } --- | The name of the attribute.-mAttribute :: Lens' ModifyInstanceAttribute (Maybe InstanceAttributeName)-mAttribute = lens _mAttribute (\ s a -> s{_mAttribute = 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@@ -145,6 +141,10 @@ mGroups :: Lens' ModifyInstanceAttribute [Text] mGroups = lens _mGroups (\ s a -> s{_mGroups = a}) . _Default . _Coerce; +-- | The name of the attribute.+mAttribute :: Lens' ModifyInstanceAttribute (Maybe InstanceAttributeName)+mAttribute = lens _mAttribute (\ s a -> s{_mAttribute = 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.@@ -152,10 +152,18 @@ mSourceDestCheck = lens _mSourceDestCheck (\ s a -> s{_mSourceDestCheck = a});  -- | If the value is 'true', you can\'t terminate the instance using the--- Amazon EC2 console, CLI, or API; otherwise, you can.+-- Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use this+-- paramater for Spot Instances. mDisableAPITermination :: Lens' ModifyInstanceAttribute (Maybe AttributeBooleanValue) mDisableAPITermination = lens _mDisableAPITermination (\ s a -> s{_mDisableAPITermination = 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 RAM disk to the specified value. We recommend -- that you use PV-GRUB instead of kernels and RAM disks. For more -- information, see@@ -165,17 +173,10 @@  -- | A new value for the attribute. Use only with the 'kernel', 'ramdisk', -- 'userData', 'disableApiTermination', or--- 'intanceInitiateShutdownBehavior' attribute.+-- 'instanceInitiatedShutdownBehavior' attribute. mValue :: Lens' ModifyInstanceAttribute (Maybe Text) mValue = lens _mValue (\ s a -> s{_mValue = 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 type to the specified value. For more information, -- see -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Types>.@@ -184,6 +185,15 @@ mInstanceType :: Lens' ModifyInstanceAttribute (Maybe AttributeValue) mInstanceType = lens _mInstanceType (\ s a -> s{_mInstanceType = 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.+mSRIOVNetSupport :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)+mSRIOVNetSupport = lens _mSRIOVNetSupport (\ s a -> s{_mSRIOVNetSupport = 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.@@ -196,15 +206,6 @@ 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.-mSRIOVNetSupport :: Lens' ModifyInstanceAttribute (Maybe AttributeValue)-mSRIOVNetSupport = lens _mSRIOVNetSupport (\ s a -> s{_mSRIOVNetSupport = a});- -- | Specifies whether an instance stops or terminates when you initiate -- shutdown from the instance (using the operating system command for -- system shutdown).@@ -253,16 +254,15 @@               ["Action" =:                  ("ModifyInstanceAttribute" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),-               "Attribute" =: _mAttribute,                toQuery (toQueryList "GroupId" <$> _mGroups),+               "Attribute" =: _mAttribute,                "SourceDestCheck" =: _mSourceDestCheck,                "DisableApiTermination" =: _mDisableAPITermination,-               "Ramdisk" =: _mRAMDisk, "Value" =: _mValue,-               "Kernel" =: _mKernel,-               "InstanceType" =: _mInstanceType,+               "Kernel" =: _mKernel, "Ramdisk" =: _mRAMDisk,+               "Value" =: _mValue, "InstanceType" =: _mInstanceType,+               "SriovNetSupport" =: _mSRIOVNetSupport,                "EbsOptimized" =: _mEBSOptimized,                "UserData" =: _mUserData,-               "SriovNetSupport" =: _mSRIOVNetSupport,                "InstanceInitiatedShutdownBehavior" =:                  _mInstanceInitiatedShutdownBehavior,                toQuery
gen/Network/AWS/EC2/ModifyNetworkInterfaceAttribute.hs view
@@ -31,8 +31,8 @@     , mniaGroups     , mniaSourceDestCheck     , mniaAttachment-    , mniaDryRun     , mniaDescription+    , mniaDryRun     , mniaNetworkInterfaceId      -- * Destructuring the Response@@ -51,8 +51,8 @@     { _mniaGroups             :: !(Maybe [Text])     , _mniaSourceDestCheck    :: !(Maybe AttributeBooleanValue)     , _mniaAttachment         :: !(Maybe NetworkInterfaceAttachmentChanges)-    , _mniaDryRun             :: !(Maybe Bool)     , _mniaDescription        :: !(Maybe AttributeValue)+    , _mniaDryRun             :: !(Maybe Bool)     , _mniaNetworkInterfaceId :: !Text     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -66,10 +66,10 @@ -- -- * 'mniaAttachment' ----- * 'mniaDryRun'--- -- * 'mniaDescription' --+-- * 'mniaDryRun'+-- -- * 'mniaNetworkInterfaceId' modifyNetworkInterfaceAttribute     :: Text -- ^ 'mniaNetworkInterfaceId'@@ -79,8 +79,8 @@     { _mniaGroups = Nothing     , _mniaSourceDestCheck = Nothing     , _mniaAttachment = Nothing-    , _mniaDryRun = Nothing     , _mniaDescription = Nothing+    , _mniaDryRun = Nothing     , _mniaNetworkInterfaceId = pNetworkInterfaceId_     } @@ -106,6 +106,10 @@ mniaAttachment :: Lens' ModifyNetworkInterfaceAttribute (Maybe NetworkInterfaceAttachmentChanges) mniaAttachment = lens _mniaAttachment (\ s a -> s{_mniaAttachment = a}); +-- | A description for the network interface.+mniaDescription :: Lens' ModifyNetworkInterfaceAttribute (Maybe AttributeValue)+mniaDescription = lens _mniaDescription (\ s a -> s{_mniaDescription = 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'.@@ -113,10 +117,6 @@ mniaDryRun :: Lens' ModifyNetworkInterfaceAttribute (Maybe Bool) mniaDryRun = lens _mniaDryRun (\ s a -> s{_mniaDryRun = a}); --- | 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});@@ -148,8 +148,8 @@                  (toQueryList "SecurityGroupId" <$> _mniaGroups),                "SourceDestCheck" =: _mniaSourceDestCheck,                "Attachment" =: _mniaAttachment,-               "DryRun" =: _mniaDryRun,                "Description" =: _mniaDescription,+               "DryRun" =: _mniaDryRun,                "NetworkInterfaceId" =: _mniaNetworkInterfaceId]  -- | /See:/ 'modifyNetworkInterfaceAttributeResponse' smart constructor.
gen/Network/AWS/EC2/ModifyReservedInstances.hs view
@@ -43,7 +43,7 @@     , ModifyReservedInstancesResponse     -- * Response Lenses     , mrirsReservedInstancesModificationId-    , mrirsStatus+    , mrirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -124,7 +124,7 @@ -- | /See:/ 'modifyReservedInstancesResponse' smart constructor. data ModifyReservedInstancesResponse = ModifyReservedInstancesResponse'     { _mrirsReservedInstancesModificationId :: !(Maybe Text)-    , _mrirsStatus                          :: !Int+    , _mrirsResponseStatus                  :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'ModifyReservedInstancesResponse' with the minimum fields required to make a request.@@ -133,14 +133,14 @@ -- -- * 'mrirsReservedInstancesModificationId' ----- * 'mrirsStatus'+-- * 'mrirsResponseStatus' modifyReservedInstancesResponse-    :: Int -- ^ 'mrirsStatus'+    :: Int -- ^ 'mrirsResponseStatus'     -> ModifyReservedInstancesResponse-modifyReservedInstancesResponse pStatus_ =+modifyReservedInstancesResponse pResponseStatus_ =     ModifyReservedInstancesResponse'     { _mrirsReservedInstancesModificationId = Nothing-    , _mrirsStatus = pStatus_+    , _mrirsResponseStatus = pResponseStatus_     }  -- | The ID for the modification.@@ -148,5 +148,5 @@ mrirsReservedInstancesModificationId = lens _mrirsReservedInstancesModificationId (\ s a -> s{_mrirsReservedInstancesModificationId = a});  -- | The response status code.-mrirsStatus :: Lens' ModifyReservedInstancesResponse Int-mrirsStatus = lens _mrirsStatus (\ s a -> s{_mrirsStatus = a});+mrirsResponseStatus :: Lens' ModifyReservedInstancesResponse Int+mrirsResponseStatus = lens _mrirsResponseStatus (\ s a -> s{_mrirsResponseStatus = a});
gen/Network/AWS/EC2/ModifySnapshotAttribute.hs view
@@ -38,8 +38,8 @@     , ModifySnapshotAttribute     -- * Request Lenses     , msaAttribute-    , msaUserIds     , msaCreateVolumePermission+    , msaUserIds     , msaGroupNames     , msaOperationType     , msaDryRun@@ -59,10 +59,10 @@ -- | /See:/ 'modifySnapshotAttribute' smart constructor. data ModifySnapshotAttribute = ModifySnapshotAttribute'     { _msaAttribute              :: !(Maybe SnapshotAttributeName)-    , _msaUserIds                :: !(Maybe [Text])     , _msaCreateVolumePermission :: !(Maybe CreateVolumePermissionModifications)+    , _msaUserIds                :: !(Maybe [Text])     , _msaGroupNames             :: !(Maybe [Text])-    , _msaOperationType          :: !(Maybe Text)+    , _msaOperationType          :: !(Maybe OperationType)     , _msaDryRun                 :: !(Maybe Bool)     , _msaSnapshotId             :: !Text     } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -73,10 +73,10 @@ -- -- * 'msaAttribute' ----- * 'msaUserIds'--- -- * 'msaCreateVolumePermission' --+-- * 'msaUserIds'+-- -- * 'msaGroupNames' -- -- * 'msaOperationType'@@ -90,8 +90,8 @@ modifySnapshotAttribute pSnapshotId_ =     ModifySnapshotAttribute'     { _msaAttribute = Nothing-    , _msaUserIds = Nothing     , _msaCreateVolumePermission = Nothing+    , _msaUserIds = Nothing     , _msaGroupNames = Nothing     , _msaOperationType = Nothing     , _msaDryRun = Nothing@@ -104,20 +104,20 @@ msaAttribute :: Lens' ModifySnapshotAttribute (Maybe SnapshotAttributeName) 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}); +-- | The account ID to modify for the snapshot.+msaUserIds :: Lens' ModifySnapshotAttribute [Text]+msaUserIds = lens _msaUserIds (\ s a -> s{_msaUserIds = a}) . _Default . _Coerce;+ -- | The group to modify for the snapshot. msaGroupNames :: Lens' ModifySnapshotAttribute [Text] 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' ModifySnapshotAttribute (Maybe OperationType) msaOperationType = lens _msaOperationType (\ s a -> s{_msaOperationType = a});  -- | Checks whether you have the required permissions for the action, without@@ -151,9 +151,9 @@                  ("ModifySnapshotAttribute" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),                "Attribute" =: _msaAttribute,-               toQuery (toQueryList "UserId" <$> _msaUserIds),                "CreateVolumePermission" =:                  _msaCreateVolumePermission,+               toQuery (toQueryList "UserId" <$> _msaUserIds),                toQuery (toQueryList "UserGroup" <$> _msaGroupNames),                "OperationType" =: _msaOperationType,                "DryRun" =: _msaDryRun,
gen/Network/AWS/EC2/ModifyVPCEndpoint.hs view
@@ -41,7 +41,7 @@     , ModifyVPCEndpointResponse     -- * Response Lenses     , mversReturn-    , mversStatus+    , mversResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -150,8 +150,8 @@  -- | /See:/ 'modifyVPCEndpointResponse' smart constructor. data ModifyVPCEndpointResponse = ModifyVPCEndpointResponse'-    { _mversReturn :: !(Maybe Bool)-    , _mversStatus :: !Int+    { _mversReturn         :: !(Maybe Bool)+    , _mversResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'ModifyVPCEndpointResponse' with the minimum fields required to make a request.@@ -160,14 +160,14 @@ -- -- * 'mversReturn' ----- * 'mversStatus'+-- * 'mversResponseStatus' modifyVPCEndpointResponse-    :: Int -- ^ 'mversStatus'+    :: Int -- ^ 'mversResponseStatus'     -> ModifyVPCEndpointResponse-modifyVPCEndpointResponse pStatus_ =+modifyVPCEndpointResponse pResponseStatus_ =     ModifyVPCEndpointResponse'     { _mversReturn = Nothing-    , _mversStatus = pStatus_+    , _mversResponseStatus = pResponseStatus_     }  -- | Returns 'true' if the request succeeds; otherwise, it returns an error.@@ -175,5 +175,5 @@ mversReturn = lens _mversReturn (\ s a -> s{_mversReturn = a});  -- | The response status code.-mversStatus :: Lens' ModifyVPCEndpointResponse Int-mversStatus = lens _mversStatus (\ s a -> s{_mversStatus = a});+mversResponseStatus :: Lens' ModifyVPCEndpointResponse Int+mversResponseStatus = lens _mversResponseStatus (\ s a -> s{_mversResponseStatus = a});
gen/Network/AWS/EC2/MonitorInstances.hs view
@@ -38,7 +38,7 @@     , MonitorInstancesResponse     -- * Response Lenses     , mirsInstanceMonitorings-    , mirsStatus+    , mirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -107,7 +107,7 @@ -- | /See:/ 'monitorInstancesResponse' smart constructor. data MonitorInstancesResponse = MonitorInstancesResponse'     { _mirsInstanceMonitorings :: !(Maybe [InstanceMonitoring])-    , _mirsStatus              :: !Int+    , _mirsResponseStatus      :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'MonitorInstancesResponse' with the minimum fields required to make a request.@@ -116,14 +116,14 @@ -- -- * 'mirsInstanceMonitorings' ----- * 'mirsStatus'+-- * 'mirsResponseStatus' monitorInstancesResponse-    :: Int -- ^ 'mirsStatus'+    :: Int -- ^ 'mirsResponseStatus'     -> MonitorInstancesResponse-monitorInstancesResponse pStatus_ =+monitorInstancesResponse pResponseStatus_ =     MonitorInstancesResponse'     { _mirsInstanceMonitorings = Nothing-    , _mirsStatus = pStatus_+    , _mirsResponseStatus = pResponseStatus_     }  -- | Monitoring information for one or more instances.@@ -131,5 +131,5 @@ mirsInstanceMonitorings = lens _mirsInstanceMonitorings (\ s a -> s{_mirsInstanceMonitorings = a}) . _Default . _Coerce;  -- | The response status code.-mirsStatus :: Lens' MonitorInstancesResponse Int-mirsStatus = lens _mirsStatus (\ s a -> s{_mirsStatus = a});+mirsResponseStatus :: Lens' MonitorInstancesResponse Int+mirsResponseStatus = lens _mirsResponseStatus (\ s a -> s{_mirsResponseStatus = a});
gen/Network/AWS/EC2/MoveAddressToVPC.hs view
@@ -40,8 +40,9 @@     , moveAddressToVPCResponse     , MoveAddressToVPCResponse     -- * Response Lenses-    , matvrsAllocationId     , matvrsStatus+    , matvrsAllocationId+    , matvrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -90,7 +91,8 @@           = receiveXML               (\ s h x ->                  MoveAddressToVPCResponse' <$>-                   (x .@? "allocationId") <*> (pure (fromEnum s)))+                   (x .@? "status") <*> (x .@? "allocationId") <*>+                     (pure (fromEnum s)))  instance ToHeaders MoveAddressToVPC where         toHeaders = const mempty@@ -107,30 +109,38 @@  -- | /See:/ 'moveAddressToVPCResponse' smart constructor. data MoveAddressToVPCResponse = MoveAddressToVPCResponse'-    { _matvrsAllocationId :: !(Maybe Text)-    , _matvrsStatus       :: !Int+    { _matvrsStatus         :: !(Maybe AddressStatus)+    , _matvrsAllocationId   :: !(Maybe Text)+    , _matvrsResponseStatus :: !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: --+-- * 'matvrsStatus'+-- -- * 'matvrsAllocationId' ----- * 'matvrsStatus'+-- * 'matvrsResponseStatus' moveAddressToVPCResponse-    :: Int -- ^ 'matvrsStatus'+    :: Int -- ^ 'matvrsResponseStatus'     -> MoveAddressToVPCResponse-moveAddressToVPCResponse pStatus_ =+moveAddressToVPCResponse pResponseStatus_ =     MoveAddressToVPCResponse'-    { _matvrsAllocationId = Nothing-    , _matvrsStatus = pStatus_+    { _matvrsStatus = Nothing+    , _matvrsAllocationId = Nothing+    , _matvrsResponseStatus = pResponseStatus_     } +-- | The status of the move of the IP address.+matvrsStatus :: Lens' MoveAddressToVPCResponse (Maybe AddressStatus)+matvrsStatus = lens _matvrsStatus (\ s a -> s{_matvrsStatus = a});+ -- | 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});+matvrsResponseStatus :: Lens' MoveAddressToVPCResponse Int+matvrsResponseStatus = lens _matvrsResponseStatus (\ s a -> s{_matvrsResponseStatus = a});
gen/Network/AWS/EC2/PurchaseReservedInstancesOffering.hs view
@@ -51,7 +51,7 @@     , PurchaseReservedInstancesOfferingResponse     -- * Response Lenses     , priorsReservedInstancesId-    , priorsStatus+    , priorsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -148,7 +148,7 @@ -- | /See:/ 'purchaseReservedInstancesOfferingResponse' smart constructor. data PurchaseReservedInstancesOfferingResponse = PurchaseReservedInstancesOfferingResponse'     { _priorsReservedInstancesId :: !(Maybe Text)-    , _priorsStatus              :: !Int+    , _priorsResponseStatus      :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'PurchaseReservedInstancesOfferingResponse' with the minimum fields required to make a request.@@ -157,14 +157,14 @@ -- -- * 'priorsReservedInstancesId' ----- * 'priorsStatus'+-- * 'priorsResponseStatus' purchaseReservedInstancesOfferingResponse-    :: Int -- ^ 'priorsStatus'+    :: Int -- ^ 'priorsResponseStatus'     -> PurchaseReservedInstancesOfferingResponse-purchaseReservedInstancesOfferingResponse pStatus_ =+purchaseReservedInstancesOfferingResponse pResponseStatus_ =     PurchaseReservedInstancesOfferingResponse'     { _priorsReservedInstancesId = Nothing-    , _priorsStatus = pStatus_+    , _priorsResponseStatus = pResponseStatus_     }  -- | The IDs of the purchased Reserved Instances.@@ -172,5 +172,5 @@ priorsReservedInstancesId = lens _priorsReservedInstancesId (\ s a -> s{_priorsReservedInstancesId = a});  -- | The response status code.-priorsStatus :: Lens' PurchaseReservedInstancesOfferingResponse Int-priorsStatus = lens _priorsStatus (\ s a -> s{_priorsStatus = a});+priorsResponseStatus :: Lens' PurchaseReservedInstancesOfferingResponse Int+priorsResponseStatus = lens _priorsResponseStatus (\ s a -> s{_priorsResponseStatus = a});
gen/Network/AWS/EC2/RegisterImage.hs view
@@ -19,25 +19,33 @@ -- Portability : non-portable (GHC extensions) -- -- 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>+-- 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 /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. ----- 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 also use 'RegisterImage' to create an Amazon EBS-backed Linux+-- 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 an Instance from a Snapshot>+-- in the /Amazon Elastic Compute Cloud User Guide/. --+-- Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and+-- SUSE Linux Enterprise Server (SLES), use the EC2 'billingProduct' code+-- associated with an AMI to verify subscription status for package+-- updates. Creating an AMI from an EBS snapshot does not maintain this+-- billing code, and subsequent instances launched from such an AMI will+-- not be able to connect to package update infrastructure.+--+-- Similarly, although you can create a Windows AMI from a snapshot, you+-- can\'t successfully launch an instance from the AMI.+--+-- To create Windows AMIs or to create AMIs for Linux operating systems+-- that must retain AMI billing codes to work properly, see CreateImage.+-- -- 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@@ -60,9 +68,9 @@     , riRootDeviceName     , riSRIOVNetSupport     , riArchitecture+    , riDescription     , riBlockDeviceMappings     , riDryRun-    , riDescription     , riName      -- * Destructuring the Response@@ -70,7 +78,7 @@     , RegisterImageResponse     -- * Response Lenses     , rirsImageId-    , rirsStatus+    , rirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -88,9 +96,9 @@     , _riRootDeviceName      :: !(Maybe Text)     , _riSRIOVNetSupport     :: !(Maybe Text)     , _riArchitecture        :: !(Maybe ArchitectureValues)+    , _riDescription         :: !(Maybe Text)     , _riBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])     , _riDryRun              :: !(Maybe Bool)-    , _riDescription         :: !(Maybe Text)     , _riName                :: !Text     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -112,12 +120,12 @@ -- -- * 'riArchitecture' --+-- * 'riDescription'+-- -- * 'riBlockDeviceMappings' -- -- * 'riDryRun' ----- * 'riDescription'--- -- * 'riName' registerImage     :: Text -- ^ 'riName'@@ -131,9 +139,9 @@     , _riRootDeviceName = Nothing     , _riSRIOVNetSupport = Nothing     , _riArchitecture = Nothing+    , _riDescription = Nothing     , _riBlockDeviceMappings = Nothing     , _riDryRun = Nothing-    , _riDescription = Nothing     , _riName = pName_     } @@ -177,6 +185,10 @@ riArchitecture :: Lens' RegisterImage (Maybe ArchitectureValues) riArchitecture = lens _riArchitecture (\ s a -> s{_riArchitecture = a}); +-- | A description for your AMI.+riDescription :: Lens' RegisterImage (Maybe Text)+riDescription = lens _riDescription (\ s a -> s{_riDescription = a});+ -- | One or more block device mapping entries. riBlockDeviceMappings :: Lens' RegisterImage [BlockDeviceMapping] riBlockDeviceMappings = lens _riBlockDeviceMappings (\ s a -> s{_riBlockDeviceMappings = a}) . _Default . _Coerce;@@ -188,10 +200,6 @@ 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. -- -- Constraints: 3-128 alphanumeric characters, parentheses (()), square@@ -227,16 +235,16 @@                "RootDeviceName" =: _riRootDeviceName,                "SriovNetSupport" =: _riSRIOVNetSupport,                "Architecture" =: _riArchitecture,+               "Description" =: _riDescription,                toQuery                  (toQueryList "BlockDeviceMapping" <$>                     _riBlockDeviceMappings),-               "DryRun" =: _riDryRun,-               "Description" =: _riDescription, "Name" =: _riName]+               "DryRun" =: _riDryRun, "Name" =: _riName]  -- | /See:/ 'registerImageResponse' smart constructor. data RegisterImageResponse = RegisterImageResponse'-    { _rirsImageId :: !(Maybe Text)-    , _rirsStatus  :: !Int+    { _rirsImageId        :: !(Maybe Text)+    , _rirsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'RegisterImageResponse' with the minimum fields required to make a request.@@ -245,14 +253,14 @@ -- -- * 'rirsImageId' ----- * 'rirsStatus'+-- * 'rirsResponseStatus' registerImageResponse-    :: Int -- ^ 'rirsStatus'+    :: Int -- ^ 'rirsResponseStatus'     -> RegisterImageResponse-registerImageResponse pStatus_ =+registerImageResponse pResponseStatus_ =     RegisterImageResponse'     { _rirsImageId = Nothing-    , _rirsStatus = pStatus_+    , _rirsResponseStatus = pResponseStatus_     }  -- | The ID of the newly registered AMI.@@ -260,5 +268,5 @@ rirsImageId = lens _rirsImageId (\ s a -> s{_rirsImageId = a});  -- | The response status code.-rirsStatus :: Lens' RegisterImageResponse Int-rirsStatus = lens _rirsStatus (\ s a -> s{_rirsStatus = a});+rirsResponseStatus :: Lens' RegisterImageResponse Int+rirsResponseStatus = lens _rirsResponseStatus (\ s a -> s{_rirsResponseStatus = a});
gen/Network/AWS/EC2/RejectVPCPeeringConnection.hs view
@@ -40,7 +40,7 @@     , RejectVPCPeeringConnectionResponse     -- * Response Lenses     , rvpcrsReturn-    , rvpcrsStatus+    , rvpcrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -110,8 +110,8 @@  -- | /See:/ 'rejectVPCPeeringConnectionResponse' smart constructor. data RejectVPCPeeringConnectionResponse = RejectVPCPeeringConnectionResponse'-    { _rvpcrsReturn :: !(Maybe Bool)-    , _rvpcrsStatus :: !Int+    { _rvpcrsReturn         :: !(Maybe Bool)+    , _rvpcrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'RejectVPCPeeringConnectionResponse' with the minimum fields required to make a request.@@ -120,14 +120,14 @@ -- -- * 'rvpcrsReturn' ----- * 'rvpcrsStatus'+-- * 'rvpcrsResponseStatus' rejectVPCPeeringConnectionResponse-    :: Int -- ^ 'rvpcrsStatus'+    :: Int -- ^ 'rvpcrsResponseStatus'     -> RejectVPCPeeringConnectionResponse-rejectVPCPeeringConnectionResponse pStatus_ =+rejectVPCPeeringConnectionResponse pResponseStatus_ =     RejectVPCPeeringConnectionResponse'     { _rvpcrsReturn = Nothing-    , _rvpcrsStatus = pStatus_+    , _rvpcrsResponseStatus = pResponseStatus_     }  -- | Returns 'true' if the request succeeds; otherwise, it returns an error.@@ -135,5 +135,5 @@ rvpcrsReturn = lens _rvpcrsReturn (\ s a -> s{_rvpcrsReturn = a});  -- | The response status code.-rvpcrsStatus :: Lens' RejectVPCPeeringConnectionResponse Int-rvpcrsStatus = lens _rvpcrsStatus (\ s a -> s{_rvpcrsStatus = a});+rvpcrsResponseStatus :: Lens' RejectVPCPeeringConnectionResponse Int+rvpcrsResponseStatus = lens _rvpcrsResponseStatus (\ s a -> s{_rvpcrsResponseStatus = a});
gen/Network/AWS/EC2/ReplaceNetworkACLAssociation.hs view
@@ -40,7 +40,7 @@     , ReplaceNetworkACLAssociationResponse     -- * Response Lenses     , rnaarsNewAssociationId-    , rnaarsStatus+    , rnaarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -122,7 +122,7 @@ -- | /See:/ 'replaceNetworkACLAssociationResponse' smart constructor. data ReplaceNetworkACLAssociationResponse = ReplaceNetworkACLAssociationResponse'     { _rnaarsNewAssociationId :: !(Maybe Text)-    , _rnaarsStatus           :: !Int+    , _rnaarsResponseStatus   :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'ReplaceNetworkACLAssociationResponse' with the minimum fields required to make a request.@@ -131,14 +131,14 @@ -- -- * 'rnaarsNewAssociationId' ----- * 'rnaarsStatus'+-- * 'rnaarsResponseStatus' replaceNetworkACLAssociationResponse-    :: Int -- ^ 'rnaarsStatus'+    :: Int -- ^ 'rnaarsResponseStatus'     -> ReplaceNetworkACLAssociationResponse-replaceNetworkACLAssociationResponse pStatus_ =+replaceNetworkACLAssociationResponse pResponseStatus_ =     ReplaceNetworkACLAssociationResponse'     { _rnaarsNewAssociationId = Nothing-    , _rnaarsStatus = pStatus_+    , _rnaarsResponseStatus = pResponseStatus_     }  -- | The ID of the new association.@@ -146,5 +146,5 @@ rnaarsNewAssociationId = lens _rnaarsNewAssociationId (\ s a -> s{_rnaarsNewAssociationId = a});  -- | The response status code.-rnaarsStatus :: Lens' ReplaceNetworkACLAssociationResponse Int-rnaarsStatus = lens _rnaarsStatus (\ s a -> s{_rnaarsStatus = a});+rnaarsResponseStatus :: Lens' ReplaceNetworkACLAssociationResponse Int+rnaarsResponseStatus = lens _rnaarsResponseStatus (\ s a -> s{_rnaarsResponseStatus = a});
gen/Network/AWS/EC2/ReplaceRoute.hs view
@@ -33,8 +33,8 @@       replaceRoute     , ReplaceRoute     -- * Request Lenses-    , rrInstanceId     , rrVPCPeeringConnectionId+    , rrInstanceId     , rrNetworkInterfaceId     , rrGatewayId     , rrDryRun@@ -54,8 +54,8 @@  -- | /See:/ 'replaceRoute' smart constructor. data ReplaceRoute = ReplaceRoute'-    { _rrInstanceId             :: !(Maybe Text)-    , _rrVPCPeeringConnectionId :: !(Maybe Text)+    { _rrVPCPeeringConnectionId :: !(Maybe Text)+    , _rrInstanceId             :: !(Maybe Text)     , _rrNetworkInterfaceId     :: !(Maybe Text)     , _rrGatewayId              :: !(Maybe Text)     , _rrDryRun                 :: !(Maybe Bool)@@ -67,10 +67,10 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'rrInstanceId'--- -- * 'rrVPCPeeringConnectionId' --+-- * 'rrInstanceId'+-- -- * 'rrNetworkInterfaceId' -- -- * 'rrGatewayId'@@ -86,8 +86,8 @@     -> ReplaceRoute replaceRoute pRouteTableId_ pDestinationCIdRBlock_ =     ReplaceRoute'-    { _rrInstanceId = Nothing-    , _rrVPCPeeringConnectionId = Nothing+    { _rrVPCPeeringConnectionId = Nothing+    , _rrInstanceId = Nothing     , _rrNetworkInterfaceId = Nothing     , _rrGatewayId = Nothing     , _rrDryRun = Nothing@@ -95,14 +95,14 @@     , _rrDestinationCIdRBlock = pDestinationCIdRBlock_     } --- | The ID of a NAT instance in your VPC.-rrInstanceId :: Lens' ReplaceRoute (Maybe Text)-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 NAT instance in your VPC.+rrInstanceId :: Lens' ReplaceRoute (Maybe Text)+rrInstanceId = lens _rrInstanceId (\ s a -> s{_rrInstanceId = a});+ -- | The ID of a network interface. rrNetworkInterfaceId :: Lens' ReplaceRoute (Maybe Text) rrNetworkInterfaceId = lens _rrNetworkInterfaceId (\ s a -> s{_rrNetworkInterfaceId = a});@@ -143,9 +143,9 @@           = mconcat               ["Action" =: ("ReplaceRoute" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),-               "InstanceId" =: _rrInstanceId,                "VpcPeeringConnectionId" =:                  _rrVPCPeeringConnectionId,+               "InstanceId" =: _rrInstanceId,                "NetworkInterfaceId" =: _rrNetworkInterfaceId,                "GatewayId" =: _rrGatewayId, "DryRun" =: _rrDryRun,                "RouteTableId" =: _rrRouteTableId,
gen/Network/AWS/EC2/ReplaceRouteTableAssociation.hs view
@@ -46,7 +46,7 @@     , ReplaceRouteTableAssociationResponse     -- * Response Lenses     , rrtarsNewAssociationId-    , rrtarsStatus+    , rrtarsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -127,7 +127,7 @@ -- | /See:/ 'replaceRouteTableAssociationResponse' smart constructor. data ReplaceRouteTableAssociationResponse = ReplaceRouteTableAssociationResponse'     { _rrtarsNewAssociationId :: !(Maybe Text)-    , _rrtarsStatus           :: !Int+    , _rrtarsResponseStatus   :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'ReplaceRouteTableAssociationResponse' with the minimum fields required to make a request.@@ -136,14 +136,14 @@ -- -- * 'rrtarsNewAssociationId' ----- * 'rrtarsStatus'+-- * 'rrtarsResponseStatus' replaceRouteTableAssociationResponse-    :: Int -- ^ 'rrtarsStatus'+    :: Int -- ^ 'rrtarsResponseStatus'     -> ReplaceRouteTableAssociationResponse-replaceRouteTableAssociationResponse pStatus_ =+replaceRouteTableAssociationResponse pResponseStatus_ =     ReplaceRouteTableAssociationResponse'     { _rrtarsNewAssociationId = Nothing-    , _rrtarsStatus = pStatus_+    , _rrtarsResponseStatus = pResponseStatus_     }  -- | The ID of the new association.@@ -151,5 +151,5 @@ rrtarsNewAssociationId = lens _rrtarsNewAssociationId (\ s a -> s{_rrtarsNewAssociationId = a});  -- | The response status code.-rrtarsStatus :: Lens' ReplaceRouteTableAssociationResponse Int-rrtarsStatus = lens _rrtarsStatus (\ s a -> s{_rrtarsStatus = a});+rrtarsResponseStatus :: Lens' ReplaceRouteTableAssociationResponse Int+rrtarsResponseStatus = lens _rrtarsResponseStatus (\ s a -> s{_rrtarsResponseStatus = a});
gen/Network/AWS/EC2/ReportInstanceStatus.hs view
@@ -36,8 +36,8 @@     -- * Request Lenses     , risStartTime     , risEndTime-    , risDryRun     , risDescription+    , risDryRun     , risInstances     , risStatus     , risReasonCodes@@ -57,8 +57,8 @@ data ReportInstanceStatus = ReportInstanceStatus'     { _risStartTime   :: !(Maybe ISO8601)     , _risEndTime     :: !(Maybe ISO8601)-    , _risDryRun      :: !(Maybe Bool)     , _risDescription :: !(Maybe Text)+    , _risDryRun      :: !(Maybe Bool)     , _risInstances   :: ![Text]     , _risStatus      :: !ReportStatusType     , _risReasonCodes :: ![ReportInstanceReasonCodes]@@ -72,10 +72,10 @@ -- -- * 'risEndTime' ----- * 'risDryRun'--- -- * 'risDescription' --+-- * 'risDryRun'+-- -- * 'risInstances' -- -- * 'risStatus'@@ -88,8 +88,8 @@     ReportInstanceStatus'     { _risStartTime = Nothing     , _risEndTime = Nothing-    , _risDryRun = Nothing     , _risDescription = Nothing+    , _risDryRun = Nothing     , _risInstances = mempty     , _risStatus = pStatus_     , _risReasonCodes = mempty@@ -103,6 +103,10 @@ 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});+ -- | Checks whether you have the required permissions for the action, without -- actually making the request, and provides an error response. If you have -- the required permissions, the error response is 'DryRunOperation'.@@ -110,10 +114,6 @@ risDryRun :: Lens' ReportInstanceStatus (Maybe Bool) risDryRun = lens _risDryRun (\ s a -> s{_risDryRun = a}); --- | 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}) . _Coerce;@@ -171,8 +171,9 @@               ["Action" =: ("ReportInstanceStatus" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),                "StartTime" =: _risStartTime,-               "EndTime" =: _risEndTime, "DryRun" =: _risDryRun,+               "EndTime" =: _risEndTime,                "Description" =: _risDescription,+               "DryRun" =: _risDryRun,                toQueryList "InstanceId" _risInstances,                "Status" =: _risStatus,                toQueryList "ReasonCode" _risReasonCodes]
gen/Network/AWS/EC2/RequestSpotFleet.hs view
@@ -20,7 +20,11 @@ -- -- Creates a Spot fleet request. ----- For more information, see+-- You can submit a single request that specifies multiple instance types,+-- each with its own instance weighting that reflects its value to your+-- application workload. Amazon EC2 computes the bid price for each launch+-- specification and requests Spot Instances in the Spot pool where the+-- price per unit is the lowest. 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/. --@@ -38,7 +42,7 @@     , requestSpotFleetResponse     , RequestSpotFleetResponse     -- * Response Lenses-    , rsfrsStatus+    , rsfrsResponseStatus     , rsfrsSpotFleetRequestId     ) where @@ -111,7 +115,7 @@ -- -- /See:/ 'requestSpotFleetResponse' smart constructor. data RequestSpotFleetResponse = RequestSpotFleetResponse'-    { _rsfrsStatus             :: !Int+    { _rsfrsResponseStatus     :: !Int     , _rsfrsSpotFleetRequestId :: !Text     } deriving (Eq,Read,Show,Data,Typeable,Generic) @@ -119,22 +123,22 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'rsfrsStatus'+-- * 'rsfrsResponseStatus' -- -- * 'rsfrsSpotFleetRequestId' requestSpotFleetResponse-    :: Int -- ^ 'rsfrsStatus'+    :: Int -- ^ 'rsfrsResponseStatus'     -> Text -- ^ 'rsfrsSpotFleetRequestId'     -> RequestSpotFleetResponse-requestSpotFleetResponse pStatus_ pSpotFleetRequestId_ =+requestSpotFleetResponse pResponseStatus_ pSpotFleetRequestId_ =     RequestSpotFleetResponse'-    { _rsfrsStatus = pStatus_+    { _rsfrsResponseStatus = pResponseStatus_     , _rsfrsSpotFleetRequestId = pSpotFleetRequestId_     }  -- | The response status code.-rsfrsStatus :: Lens' RequestSpotFleetResponse Int-rsfrsStatus = lens _rsfrsStatus (\ s a -> s{_rsfrsStatus = a});+rsfrsResponseStatus :: Lens' RequestSpotFleetResponse Int+rsfrsResponseStatus = lens _rsfrsResponseStatus (\ s a -> s{_rsfrsResponseStatus = a});  -- | The ID of the Spot fleet request. rsfrsSpotFleetRequestId :: Lens' RequestSpotFleetResponse Text
gen/Network/AWS/EC2/RequestSpotInstances.hs view
@@ -33,10 +33,10 @@       requestSpotInstances     , RequestSpotInstances     -- * Request Lenses-    , rsiInstanceCount     , rsiClientToken-    , rsiAvailabilityZoneGroup+    , rsiInstanceCount     , rsiLaunchSpecification+    , rsiAvailabilityZoneGroup     , rsiValidUntil     , rsiLaunchGroup     , rsiType@@ -49,7 +49,7 @@     , RequestSpotInstancesResponse     -- * Response Lenses     , rsirsSpotInstanceRequests-    , rsirsStatus+    , rsirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -62,10 +62,10 @@ -- -- /See:/ 'requestSpotInstances' smart constructor. data RequestSpotInstances = RequestSpotInstances'-    { _rsiInstanceCount         :: !(Maybe Int)-    , _rsiClientToken           :: !(Maybe Text)-    , _rsiAvailabilityZoneGroup :: !(Maybe Text)+    { _rsiClientToken           :: !(Maybe Text)+    , _rsiInstanceCount         :: !(Maybe Int)     , _rsiLaunchSpecification   :: !(Maybe RequestSpotLaunchSpecification)+    , _rsiAvailabilityZoneGroup :: !(Maybe Text)     , _rsiValidUntil            :: !(Maybe ISO8601)     , _rsiLaunchGroup           :: !(Maybe Text)     , _rsiType                  :: !(Maybe SpotInstanceType)@@ -78,14 +78,14 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'rsiInstanceCount'--- -- * 'rsiClientToken' ----- * 'rsiAvailabilityZoneGroup'+-- * 'rsiInstanceCount' -- -- * 'rsiLaunchSpecification' --+-- * 'rsiAvailabilityZoneGroup'+-- -- * 'rsiValidUntil' -- -- * 'rsiLaunchGroup'@@ -102,10 +102,10 @@     -> RequestSpotInstances requestSpotInstances pSpotPrice_ =     RequestSpotInstances'-    { _rsiInstanceCount = Nothing-    , _rsiClientToken = Nothing-    , _rsiAvailabilityZoneGroup = Nothing+    { _rsiClientToken = Nothing+    , _rsiInstanceCount = Nothing     , _rsiLaunchSpecification = Nothing+    , _rsiAvailabilityZoneGroup = Nothing     , _rsiValidUntil = Nothing     , _rsiLaunchGroup = Nothing     , _rsiType = Nothing@@ -114,12 +114,6 @@     , _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>@@ -127,6 +121,16 @@ rsiClientToken :: Lens' RequestSpotInstances (Maybe Text) rsiClientToken = lens _rsiClientToken (\ s a -> s{_rsiClientToken = a}); +-- | The maximum number of Spot Instances to launch.+--+-- Default: 1+rsiInstanceCount :: Lens' RequestSpotInstances (Maybe Int)+rsiInstanceCount = lens _rsiInstanceCount (\ s a -> s{_rsiInstanceCount = a});++-- | Undocumented member.+rsiLaunchSpecification :: Lens' RequestSpotInstances (Maybe RequestSpotLaunchSpecification)+rsiLaunchSpecification = lens _rsiLaunchSpecification (\ s a -> s{_rsiLaunchSpecification = a});+ -- | The user-specified name for a logical grouping of bids. -- -- When you specify an Availability Zone group in a Spot Instance request,@@ -150,10 +154,6 @@ rsiAvailabilityZoneGroup :: Lens' RequestSpotInstances (Maybe Text) rsiAvailabilityZoneGroup = lens _rsiAvailabilityZoneGroup (\ s a -> s{_rsiAvailabilityZoneGroup = a}); --- | Undocumented member.-rsiLaunchSpecification :: Lens' RequestSpotInstances (Maybe RequestSpotLaunchSpecification)-rsiLaunchSpecification = lens _rsiLaunchSpecification (\ s a -> s{_rsiLaunchSpecification = a});- -- | The end date of the request. If this is a one-time request, the request -- remains active until all instances launch, the request is canceled, or -- this date is reached. If the request is persistent, it remains active@@ -221,10 +221,10 @@           = mconcat               ["Action" =: ("RequestSpotInstances" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),-               "InstanceCount" =: _rsiInstanceCount,                "ClientToken" =: _rsiClientToken,-               "AvailabilityZoneGroup" =: _rsiAvailabilityZoneGroup,+               "InstanceCount" =: _rsiInstanceCount,                "LaunchSpecification" =: _rsiLaunchSpecification,+               "AvailabilityZoneGroup" =: _rsiAvailabilityZoneGroup,                "ValidUntil" =: _rsiValidUntil,                "LaunchGroup" =: _rsiLaunchGroup, "Type" =: _rsiType,                "ValidFrom" =: _rsiValidFrom, "DryRun" =: _rsiDryRun,@@ -235,7 +235,7 @@ -- /See:/ 'requestSpotInstancesResponse' smart constructor. data RequestSpotInstancesResponse = RequestSpotInstancesResponse'     { _rsirsSpotInstanceRequests :: !(Maybe [SpotInstanceRequest])-    , _rsirsStatus               :: !Int+    , _rsirsResponseStatus       :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'RequestSpotInstancesResponse' with the minimum fields required to make a request.@@ -244,14 +244,14 @@ -- -- * 'rsirsSpotInstanceRequests' ----- * 'rsirsStatus'+-- * 'rsirsResponseStatus' requestSpotInstancesResponse-    :: Int -- ^ 'rsirsStatus'+    :: Int -- ^ 'rsirsResponseStatus'     -> RequestSpotInstancesResponse-requestSpotInstancesResponse pStatus_ =+requestSpotInstancesResponse pResponseStatus_ =     RequestSpotInstancesResponse'     { _rsirsSpotInstanceRequests = Nothing-    , _rsirsStatus = pStatus_+    , _rsirsResponseStatus = pResponseStatus_     }  -- | One or more Spot Instance requests.@@ -259,5 +259,5 @@ rsirsSpotInstanceRequests = lens _rsirsSpotInstanceRequests (\ s a -> s{_rsirsSpotInstanceRequests = a}) . _Default . _Coerce;  -- | The response status code.-rsirsStatus :: Lens' RequestSpotInstancesResponse Int-rsirsStatus = lens _rsirsStatus (\ s a -> s{_rsirsStatus = a});+rsirsResponseStatus :: Lens' RequestSpotInstancesResponse Int+rsirsResponseStatus = lens _rsirsResponseStatus (\ s a -> s{_rsirsResponseStatus = a});
gen/Network/AWS/EC2/RestoreAddressToClassic.hs view
@@ -37,8 +37,9 @@     , restoreAddressToClassicResponse     , RestoreAddressToClassicResponse     -- * Response Lenses-    , ratcrsPublicIP     , ratcrsStatus+    , ratcrsPublicIP+    , ratcrsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -88,7 +89,8 @@           = receiveXML               (\ s h x ->                  RestoreAddressToClassicResponse' <$>-                   (x .@? "publicIp") <*> (pure (fromEnum s)))+                   (x .@? "status") <*> (x .@? "publicIp") <*>+                     (pure (fromEnum s)))  instance ToHeaders RestoreAddressToClassic where         toHeaders = const mempty@@ -106,30 +108,38 @@  -- | /See:/ 'restoreAddressToClassicResponse' smart constructor. data RestoreAddressToClassicResponse = RestoreAddressToClassicResponse'-    { _ratcrsPublicIP :: !(Maybe Text)-    , _ratcrsStatus   :: !Int+    { _ratcrsStatus         :: !(Maybe AddressStatus)+    , _ratcrsPublicIP       :: !(Maybe Text)+    , _ratcrsResponseStatus :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | 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: --+-- * 'ratcrsStatus'+-- -- * 'ratcrsPublicIP' ----- * 'ratcrsStatus'+-- * 'ratcrsResponseStatus' restoreAddressToClassicResponse-    :: Int -- ^ 'ratcrsStatus'+    :: Int -- ^ 'ratcrsResponseStatus'     -> RestoreAddressToClassicResponse-restoreAddressToClassicResponse pStatus_ =+restoreAddressToClassicResponse pResponseStatus_ =     RestoreAddressToClassicResponse'-    { _ratcrsPublicIP = Nothing-    , _ratcrsStatus = pStatus_+    { _ratcrsStatus = Nothing+    , _ratcrsPublicIP = Nothing+    , _ratcrsResponseStatus = pResponseStatus_     } +-- | The move status for the IP address.+ratcrsStatus :: Lens' RestoreAddressToClassicResponse (Maybe AddressStatus)+ratcrsStatus = lens _ratcrsStatus (\ s a -> s{_ratcrsStatus = a});+ -- | The Elastic IP address. ratcrsPublicIP :: Lens' RestoreAddressToClassicResponse (Maybe Text) ratcrsPublicIP = lens _ratcrsPublicIP (\ s a -> s{_ratcrsPublicIP = a});  -- | The response status code.-ratcrsStatus :: Lens' RestoreAddressToClassicResponse Int-ratcrsStatus = lens _ratcrsStatus (\ s a -> s{_ratcrsStatus = a});+ratcrsResponseStatus :: Lens' RestoreAddressToClassicResponse Int+ratcrsResponseStatus = lens _ratcrsResponseStatus (\ s a -> s{_ratcrsResponseStatus = a});
gen/Network/AWS/EC2/RevokeSecurityGroupIngress.hs view
@@ -43,8 +43,8 @@     , rsgiGroupId     , rsgiToPort     , rsgiCIdRIP-    , rsgiGroupName     , rsgiSourceSecurityGroupOwnerId+    , rsgiGroupName     , rsgiSourceSecurityGroupName     , rsgiDryRun @@ -67,8 +67,8 @@     , _rsgiGroupId                    :: !(Maybe Text)     , _rsgiToPort                     :: !(Maybe Int)     , _rsgiCIdRIP                     :: !(Maybe Text)-    , _rsgiGroupName                  :: !(Maybe Text)     , _rsgiSourceSecurityGroupOwnerId :: !(Maybe Text)+    , _rsgiGroupName                  :: !(Maybe Text)     , _rsgiSourceSecurityGroupName    :: !(Maybe Text)     , _rsgiDryRun                     :: !(Maybe Bool)     } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -89,10 +89,10 @@ -- -- * 'rsgiCIdRIP' ----- * 'rsgiGroupName'--- -- * 'rsgiSourceSecurityGroupOwnerId' --+-- * 'rsgiGroupName'+-- -- * 'rsgiSourceSecurityGroupName' -- -- * 'rsgiDryRun'@@ -106,8 +106,8 @@     , _rsgiGroupId = Nothing     , _rsgiToPort = Nothing     , _rsgiCIdRIP = Nothing-    , _rsgiGroupName = Nothing     , _rsgiSourceSecurityGroupOwnerId = Nothing+    , _rsgiGroupName = Nothing     , _rsgiSourceSecurityGroupName = Nothing     , _rsgiDryRun = Nothing     }@@ -144,10 +144,6 @@ 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});- -- | [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@@ -157,6 +153,10 @@ rsgiSourceSecurityGroupOwnerId :: Lens' RevokeSecurityGroupIngress (Maybe Text) rsgiSourceSecurityGroupOwnerId = lens _rsgiSourceSecurityGroupOwnerId (\ s a -> s{_rsgiSourceSecurityGroupOwnerId = a}); +-- | [EC2-Classic, default VPC] The name of the security group.+rsgiGroupName :: Lens' RevokeSecurityGroupIngress (Maybe Text)+rsgiGroupName = lens _rsgiGroupName (\ s a -> s{_rsgiGroupName = a});+ -- | [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@@ -197,9 +197,9 @@                "IpProtocol" =: _rsgiIPProtocol,                "GroupId" =: _rsgiGroupId, "ToPort" =: _rsgiToPort,                "CidrIp" =: _rsgiCIdRIP,-               "GroupName" =: _rsgiGroupName,                "SourceSecurityGroupOwnerId" =:                  _rsgiSourceSecurityGroupOwnerId,+               "GroupName" =: _rsgiGroupName,                "SourceSecurityGroupName" =:                  _rsgiSourceSecurityGroupName,                "DryRun" =: _rsgiDryRun]
gen/Network/AWS/EC2/RunInstances.hs view
@@ -30,6 +30,12 @@ -- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html Security Groups> -- in the /Amazon Elastic Compute Cloud User Guide/. --+-- [EC2-VPC only accounts] If you don\'t specify a subnet in the request,+-- we choose a default subnet from your default VPC for you.+--+-- [EC2-Classic accounts] If you\'re launching into EC2-Classic and you+-- don\'t specify an Availability Zone, we choose one for you.+-- -- 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@@ -62,23 +68,23 @@       runInstances     , RunInstances     -- * Request Lenses-    , rSecurityGroupIds     , rAdditionalInfo+    , rSecurityGroupIds     , rSecurityGroups     , rClientToken     , rDisableAPITermination-    , rNetworkInterfaces     , rKeyName+    , rNetworkInterfaces     , rRAMDiskId-    , rKernelId     , rSubnetId+    , rKernelId     , rInstanceType     , rEBSOptimized     , rUserData     , rMonitoring     , rIAMInstanceProfile-    , rInstanceInitiatedShutdownBehavior     , rPrivateIPAddress+    , rInstanceInitiatedShutdownBehavior     , rBlockDeviceMappings     , rDryRun     , rPlacement@@ -105,23 +111,23 @@  -- | /See:/ 'runInstances' smart constructor. data RunInstances = RunInstances'-    { _rSecurityGroupIds                  :: !(Maybe [Text])-    , _rAdditionalInfo                    :: !(Maybe Text)+    { _rAdditionalInfo                    :: !(Maybe Text)+    , _rSecurityGroupIds                  :: !(Maybe [Text])     , _rSecurityGroups                    :: !(Maybe [Text])     , _rClientToken                       :: !(Maybe Text)     , _rDisableAPITermination             :: !(Maybe Bool)-    , _rNetworkInterfaces                 :: !(Maybe [InstanceNetworkInterfaceSpecification])     , _rKeyName                           :: !(Maybe Text)+    , _rNetworkInterfaces                 :: !(Maybe [InstanceNetworkInterfaceSpecification])     , _rRAMDiskId                         :: !(Maybe Text)-    , _rKernelId                          :: !(Maybe Text)     , _rSubnetId                          :: !(Maybe Text)+    , _rKernelId                          :: !(Maybe Text)     , _rInstanceType                      :: !(Maybe InstanceType)     , _rEBSOptimized                      :: !(Maybe Bool)     , _rUserData                          :: !(Maybe Text)     , _rMonitoring                        :: !(Maybe RunInstancesMonitoringEnabled)     , _rIAMInstanceProfile                :: !(Maybe IAMInstanceProfileSpecification)-    , _rInstanceInitiatedShutdownBehavior :: !(Maybe ShutdownBehavior)     , _rPrivateIPAddress                  :: !(Maybe Text)+    , _rInstanceInitiatedShutdownBehavior :: !(Maybe ShutdownBehavior)     , _rBlockDeviceMappings               :: !(Maybe [BlockDeviceMapping])     , _rDryRun                            :: !(Maybe Bool)     , _rPlacement                         :: !(Maybe Placement)@@ -134,26 +140,26 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'rSecurityGroupIds'--- -- * 'rAdditionalInfo' --+-- * 'rSecurityGroupIds'+-- -- * 'rSecurityGroups' -- -- * 'rClientToken' -- -- * 'rDisableAPITermination' ----- * 'rNetworkInterfaces'--- -- * 'rKeyName' ----- * 'rRAMDiskId'+-- * 'rNetworkInterfaces' ----- * 'rKernelId'+-- * 'rRAMDiskId' -- -- * 'rSubnetId' --+-- * 'rKernelId'+-- -- * 'rInstanceType' -- -- * 'rEBSOptimized'@@ -164,10 +170,10 @@ -- -- * 'rIAMInstanceProfile' ----- * 'rInstanceInitiatedShutdownBehavior'--- -- * 'rPrivateIPAddress' --+-- * 'rInstanceInitiatedShutdownBehavior'+-- -- * 'rBlockDeviceMappings' -- -- * 'rDryRun'@@ -186,23 +192,23 @@     -> RunInstances runInstances pImageId_ pMinCount_ pMaxCount_ =     RunInstances'-    { _rSecurityGroupIds = Nothing-    , _rAdditionalInfo = Nothing+    { _rAdditionalInfo = Nothing+    , _rSecurityGroupIds = Nothing     , _rSecurityGroups = Nothing     , _rClientToken = Nothing     , _rDisableAPITermination = Nothing-    , _rNetworkInterfaces = Nothing     , _rKeyName = Nothing+    , _rNetworkInterfaces = Nothing     , _rRAMDiskId = Nothing-    , _rKernelId = Nothing     , _rSubnetId = Nothing+    , _rKernelId = Nothing     , _rInstanceType = Nothing     , _rEBSOptimized = Nothing     , _rUserData = Nothing     , _rMonitoring = Nothing     , _rIAMInstanceProfile = Nothing-    , _rInstanceInitiatedShutdownBehavior = Nothing     , _rPrivateIPAddress = Nothing+    , _rInstanceInitiatedShutdownBehavior = Nothing     , _rBlockDeviceMappings = Nothing     , _rDryRun = Nothing     , _rPlacement = Nothing@@ -211,6 +217,10 @@     , _rMaxCount = pMaxCount_     } +-- | Reserved.+rAdditionalInfo :: Lens' RunInstances (Maybe Text)+rAdditionalInfo = lens _rAdditionalInfo (\ s a -> s{_rAdditionalInfo = a});+ -- | One or more security group IDs. You can create a security group using -- CreateSecurityGroup. --@@ -218,10 +228,6 @@ rSecurityGroupIds :: Lens' RunInstances [Text] rSecurityGroupIds = lens _rSecurityGroupIds (\ s a -> s{_rSecurityGroupIds = a}) . _Default . _Coerce; --- | Reserved.-rAdditionalInfo :: Lens' RunInstances (Maybe Text)-rAdditionalInfo = lens _rAdditionalInfo (\ s a -> s{_rAdditionalInfo = a});- -- | [EC2-Classic, default VPC] One or more security group names. For a -- nondefault VPC, you must use security group IDs instead. --@@ -250,10 +256,6 @@ rDisableAPITermination :: Lens' RunInstances (Maybe Bool) rDisableAPITermination = lens _rDisableAPITermination (\ s a -> s{_rDisableAPITermination = a}); --- | One or more network interfaces.-rNetworkInterfaces :: Lens' RunInstances [InstanceNetworkInterfaceSpecification]-rNetworkInterfaces = lens _rNetworkInterfaces (\ s a -> s{_rNetworkInterfaces = a}) . _Default . _Coerce;- -- | The name of the key pair. You can create a key pair using CreateKeyPair -- or ImportKeyPair. --@@ -263,6 +265,10 @@ rKeyName :: Lens' RunInstances (Maybe Text) rKeyName = lens _rKeyName (\ s a -> s{_rKeyName = a}); +-- | One or more network interfaces.+rNetworkInterfaces :: Lens' RunInstances [InstanceNetworkInterfaceSpecification]+rNetworkInterfaces = lens _rNetworkInterfaces (\ s a -> s{_rNetworkInterfaces = a}) . _Default . _Coerce;+ -- | The ID of the RAM disk. -- -- We recommend that you use PV-GRUB instead of kernels and RAM disks. For@@ -272,6 +278,10 @@ rRAMDiskId :: Lens' RunInstances (Maybe Text) rRAMDiskId = lens _rRAMDiskId (\ s a -> s{_rRAMDiskId = 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 ID of the kernel. -- -- We recommend that you use PV-GRUB instead of kernels and RAM disks. For@@ -281,10 +291,6 @@ rKernelId :: Lens' RunInstances (Maybe Text) rKernelId = lens _rKernelId (\ s a -> s{_rKernelId = 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 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/.@@ -315,14 +321,6 @@ rIAMInstanceProfile :: Lens' RunInstances (Maybe IAMInstanceProfileSpecification) rIAMInstanceProfile = lens _rIAMInstanceProfile (\ s a -> s{_rIAMInstanceProfile = 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. --@@ -336,6 +334,14 @@ rPrivateIPAddress :: Lens' RunInstances (Maybe Text) rPrivateIPAddress = lens _rPrivateIPAddress (\ s a -> s{_rPrivateIPAddress = 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});+ -- | The block device mapping. rBlockDeviceMappings :: Lens' RunInstances [BlockDeviceMapping] rBlockDeviceMappings = lens _rBlockDeviceMappings (\ s a -> s{_rBlockDeviceMappings = a}) . _Default . _Coerce;@@ -395,27 +401,28 @@           = mconcat               ["Action" =: ("RunInstances" :: ByteString),                "Version" =: ("2015-04-15" :: ByteString),+               "AdditionalInfo" =: _rAdditionalInfo,                toQuery                  (toQueryList "SecurityGroupId" <$>                     _rSecurityGroupIds),-               "AdditionalInfo" =: _rAdditionalInfo,                toQuery                  (toQueryList "SecurityGroup" <$> _rSecurityGroups),                "ClientToken" =: _rClientToken,                "DisableApiTermination" =: _rDisableAPITermination,+               "KeyName" =: _rKeyName,                toQuery                  (toQueryList "NetworkInterface" <$>                     _rNetworkInterfaces),-               "KeyName" =: _rKeyName, "RamdiskId" =: _rRAMDiskId,-               "KernelId" =: _rKernelId, "SubnetId" =: _rSubnetId,+               "RamdiskId" =: _rRAMDiskId, "SubnetId" =: _rSubnetId,+               "KernelId" =: _rKernelId,                "InstanceType" =: _rInstanceType,                "EbsOptimized" =: _rEBSOptimized,                "UserData" =: _rUserData,                "Monitoring" =: _rMonitoring,                "IamInstanceProfile" =: _rIAMInstanceProfile,+               "PrivateIpAddress" =: _rPrivateIPAddress,                "InstanceInitiatedShutdownBehavior" =:                  _rInstanceInitiatedShutdownBehavior,-               "PrivateIpAddress" =: _rPrivateIPAddress,                toQuery                  (toQueryList "BlockDeviceMapping" <$>                     _rBlockDeviceMappings),
gen/Network/AWS/EC2/StartInstances.hs view
@@ -56,7 +56,7 @@     , StartInstancesResponse     -- * Response Lenses     , srsStartingInstances-    , srsStatus+    , srsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -134,7 +134,7 @@ -- | /See:/ 'startInstancesResponse' smart constructor. data StartInstancesResponse = StartInstancesResponse'     { _srsStartingInstances :: !(Maybe [InstanceStateChange])-    , _srsStatus            :: !Int+    , _srsResponseStatus    :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'StartInstancesResponse' with the minimum fields required to make a request.@@ -143,14 +143,14 @@ -- -- * 'srsStartingInstances' ----- * 'srsStatus'+-- * 'srsResponseStatus' startInstancesResponse-    :: Int -- ^ 'srsStatus'+    :: Int -- ^ 'srsResponseStatus'     -> StartInstancesResponse-startInstancesResponse pStatus_ =+startInstancesResponse pResponseStatus_ =     StartInstancesResponse'     { _srsStartingInstances = Nothing-    , _srsStatus = pStatus_+    , _srsResponseStatus = pResponseStatus_     }  -- | Information about one or more started instances.@@ -158,5 +158,5 @@ srsStartingInstances = lens _srsStartingInstances (\ s a -> s{_srsStartingInstances = a}) . _Default . _Coerce;  -- | The response status code.-srsStatus :: Lens' StartInstancesResponse Int-srsStatus = lens _srsStatus (\ s a -> s{_srsStatus = a});+srsResponseStatus :: Lens' StartInstancesResponse Int+srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});
gen/Network/AWS/EC2/StopInstances.hs view
@@ -69,7 +69,7 @@     , StopInstancesResponse     -- * Response Lenses     , sirsStoppingInstances-    , sirsStatus+    , sirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -151,7 +151,7 @@ -- | /See:/ 'stopInstancesResponse' smart constructor. data StopInstancesResponse = StopInstancesResponse'     { _sirsStoppingInstances :: !(Maybe [InstanceStateChange])-    , _sirsStatus            :: !Int+    , _sirsResponseStatus    :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'StopInstancesResponse' with the minimum fields required to make a request.@@ -160,14 +160,14 @@ -- -- * 'sirsStoppingInstances' ----- * 'sirsStatus'+-- * 'sirsResponseStatus' stopInstancesResponse-    :: Int -- ^ 'sirsStatus'+    :: Int -- ^ 'sirsResponseStatus'     -> StopInstancesResponse-stopInstancesResponse pStatus_ =+stopInstancesResponse pResponseStatus_ =     StopInstancesResponse'     { _sirsStoppingInstances = Nothing-    , _sirsStatus = pStatus_+    , _sirsResponseStatus = pResponseStatus_     }  -- | Information about one or more stopped instances.@@ -175,5 +175,5 @@ sirsStoppingInstances = lens _sirsStoppingInstances (\ s a -> s{_sirsStoppingInstances = a}) . _Default . _Coerce;  -- | The response status code.-sirsStatus :: Lens' StopInstancesResponse Int-sirsStatus = lens _sirsStatus (\ s a -> s{_sirsStatus = a});+sirsResponseStatus :: Lens' StopInstancesResponse Int+sirsResponseStatus = lens _sirsResponseStatus (\ s a -> s{_sirsResponseStatus = a});
gen/Network/AWS/EC2/TerminateInstances.hs view
@@ -32,10 +32,10 @@ -- 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+-- persist. When you terminate an instance, any attached EBS volumes with+-- the 'DeleteOnTermination' block device mapping parameter set to 'true'+-- 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/. --@@ -58,7 +58,7 @@     , TerminateInstancesResponse     -- * Response Lenses     , tirsTerminatingInstances-    , tirsStatus+    , tirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -128,7 +128,7 @@ -- | /See:/ 'terminateInstancesResponse' smart constructor. data TerminateInstancesResponse = TerminateInstancesResponse'     { _tirsTerminatingInstances :: !(Maybe [InstanceStateChange])-    , _tirsStatus               :: !Int+    , _tirsResponseStatus       :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'TerminateInstancesResponse' with the minimum fields required to make a request.@@ -137,14 +137,14 @@ -- -- * 'tirsTerminatingInstances' ----- * 'tirsStatus'+-- * 'tirsResponseStatus' terminateInstancesResponse-    :: Int -- ^ 'tirsStatus'+    :: Int -- ^ 'tirsResponseStatus'     -> TerminateInstancesResponse-terminateInstancesResponse pStatus_ =+terminateInstancesResponse pResponseStatus_ =     TerminateInstancesResponse'     { _tirsTerminatingInstances = Nothing-    , _tirsStatus = pStatus_+    , _tirsResponseStatus = pResponseStatus_     }  -- | Information about one or more terminated instances.@@ -152,5 +152,5 @@ tirsTerminatingInstances = lens _tirsTerminatingInstances (\ s a -> s{_tirsTerminatingInstances = a}) . _Default . _Coerce;  -- | The response status code.-tirsStatus :: Lens' TerminateInstancesResponse Int-tirsStatus = lens _tirsStatus (\ s a -> s{_tirsStatus = a});+tirsResponseStatus :: Lens' TerminateInstancesResponse Int+tirsResponseStatus = lens _tirsResponseStatus (\ s a -> s{_tirsResponseStatus = a});
gen/Network/AWS/EC2/Types.hs view
@@ -128,6 +128,9 @@     -- * OfferingTypeValues     , OfferingTypeValues (..) +    -- * OperationType+    , OperationType (..)+     -- * PermissionGroup     , PermissionGroup (..) @@ -269,8 +272,8 @@     -- * Address     , Address     , address-    , aInstanceId     , aAssociationId+    , aInstanceId     , aNetworkInterfaceOwnerId     , aAllocationId     , aDomain@@ -291,8 +294,8 @@     -- * AvailabilityZone     , AvailabilityZone     , availabilityZone-    , azRegionName     , azState+    , azRegionName     , azZoneName     , azMessages @@ -460,8 +463,8 @@     -- * EBSInstanceBlockDevice     , EBSInstanceBlockDevice     , ebsInstanceBlockDevice-    , eibdDeleteOnTermination     , eibdStatus+    , eibdDeleteOnTermination     , eibdVolumeId     , eibdAttachTime @@ -519,8 +522,8 @@     , flTrafficType     , flDeliverLogsStatus     , flDeliverLogsErrorMessage-    , flDeliverLogsPermissionARN     , flLogGroupName+    , flDeliverLogsPermissionARN     , flFlowLogId      -- * GroupIdentifier@@ -582,8 +585,8 @@     , iCreationDate     , iProductCodes     , iStateReason-    , iBlockDeviceMappings     , iDescription+    , iBlockDeviceMappings     , iTags     , iImageId     , iImageLocation@@ -599,8 +602,8 @@     -- * ImageDiskContainer     , ImageDiskContainer     , imageDiskContainer-    , idcURL     , idcFormat+    , idcURL     , idcDeviceName     , idcUserBucket     , idcDescription@@ -627,12 +630,12 @@     , iilsAdditionalInfo     , iilsGroupNames     , iilsSubnetId-    , iilsGroupIds     , iilsInstanceType+    , iilsGroupIds     , iilsUserData     , iilsMonitoring-    , iilsInstanceInitiatedShutdownBehavior     , iilsPrivateIPAddress+    , iilsInstanceInitiatedShutdownBehavior     , iilsArchitecture     , iilsPlacement @@ -680,17 +683,17 @@     , insClientToken     , insSourceDestCheck     , insVPCId-    , insNetworkInterfaces     , insKeyName+    , insNetworkInterfaces     , insRAMDiskId-    , insKernelId     , insSubnetId+    , insKernelId     , insRootDeviceName-    , insEBSOptimized     , insSRIOVNetSupport+    , insEBSOptimized     , insStateTransitionReason-    , insIAMInstanceProfile     , insInstanceLifecycle+    , insIAMInstanceProfile     , insPrivateIPAddress     , insProductCodes     , insSpotInstanceRequestId@@ -735,8 +738,8 @@     -- * InstanceExportDetails     , InstanceExportDetails     , instanceExportDetails-    , iedInstanceId     , iedTargetEnvironment+    , iedInstanceId      -- * InstanceMonitoring     , InstanceMonitoring@@ -747,15 +750,15 @@     -- * InstanceNetworkInterface     , InstanceNetworkInterface     , instanceNetworkInterface-    , iniPrivateIPAddresses-    , iniStatus     , iniGroups+    , iniStatus+    , iniPrivateIPAddresses     , iniSourceDestCheck     , iniVPCId     , iniNetworkInterfaceId     , iniSubnetId-    , iniAttachment     , iniMACAddress+    , iniAttachment     , iniOwnerId     , iniPrivateIPAddress     , iniPrivateDNSName@@ -772,8 +775,8 @@     -- * InstanceNetworkInterfaceAttachment     , InstanceNetworkInterfaceAttachment     , instanceNetworkInterfaceAttachment-    , iniaDeleteOnTermination     , iniaStatus+    , iniaDeleteOnTermination     , iniaAttachmentId     , iniaAttachTime     , iniaDeviceIndex@@ -781,16 +784,16 @@     -- * InstanceNetworkInterfaceSpecification     , InstanceNetworkInterfaceSpecification     , instanceNetworkInterfaceSpecification+    , inisGroups     , inisPrivateIPAddresses     , inisDeleteOnTermination-    , inisGroups     , inisAssociatePublicIPAddress     , inisNetworkInterfaceId     , inisSubnetId     , inisPrivateIPAddress     , inisSecondaryPrivateIPAddressCount-    , inisDeviceIndex     , inisDescription+    , inisDeviceIndex      -- * InstancePrivateIPAddress     , InstancePrivateIPAddress@@ -818,8 +821,8 @@     , instanceStatus     , isInstanceId     , isSystemStatus-    , isAvailabilityZone     , isEvents+    , isAvailabilityZone     , isInstanceStatus     , isInstanceState @@ -879,19 +882,19 @@     , LaunchSpecification     , launchSpecification     , lsSecurityGroups-    , lsNetworkInterfaces     , lsKeyName+    , lsNetworkInterfaces     , lsRAMDiskId-    , lsKernelId     , lsSubnetId+    , lsKernelId     , lsInstanceType     , lsEBSOptimized     , lsUserData     , lsMonitoring     , lsIAMInstanceProfile     , lsImageId-    , lsBlockDeviceMappings     , lsAddressingType+    , lsBlockDeviceMappings     , lsPlacement      -- * Monitoring@@ -912,8 +915,8 @@     , naNetworkACLId     , naVPCId     , naAssociations-    , naIsDefault     , naTags+    , naIsDefault      -- * NetworkACLAssociation     , NetworkACLAssociation@@ -936,17 +939,17 @@     -- * NetworkInterface     , NetworkInterface     , networkInterface-    , niPrivateIPAddresses-    , niStatus     , niGroups+    , niStatus+    , niPrivateIPAddresses     , niSourceDestCheck-    , niTagSet     , niVPCId+    , niTagSet     , niRequesterManaged     , niNetworkInterfaceId     , niSubnetId-    , niAttachment     , niMACAddress+    , niAttachment     , niOwnerId     , niAvailabilityZone     , niPrivateIPAddress@@ -968,8 +971,8 @@     , NetworkInterfaceAttachment     , networkInterfaceAttachment     , niaInstanceId-    , niaDeleteOnTermination     , niaStatus+    , niaDeleteOnTermination     , niaAttachmentId     , niaInstanceOwnerId     , niaAttachTime@@ -1068,8 +1071,8 @@     -- * RecurringCharge     , RecurringCharge     , recurringCharge-    , rcFrequency     , rcAmount+    , rcFrequency      -- * RegionInfo     , RegionInfo@@ -1082,19 +1085,19 @@     , requestSpotLaunchSpecification     , rslsSecurityGroupIds     , rslsSecurityGroups-    , rslsNetworkInterfaces     , rslsKeyName+    , rslsNetworkInterfaces     , rslsRAMDiskId-    , rslsKernelId     , rslsSubnetId+    , rslsKernelId     , rslsInstanceType     , rslsEBSOptimized     , rslsUserData     , rslsMonitoring     , rslsIAMInstanceProfile     , rslsImageId-    , rslsBlockDeviceMappings     , rslsAddressingType+    , rslsBlockDeviceMappings     , rslsPlacement      -- * Reservation@@ -1121,14 +1124,14 @@     , riProductDescription     , riStart     , riInstanceType-    , riAvailabilityZone     , riEnd+    , riAvailabilityZone+    , riRecurringCharges     , riOfferingType     , riUsagePrice-    , riRecurringCharges-    , riInstanceTenancy     , riFixedPrice     , riReservedInstancesId+    , riInstanceTenancy     , riDuration     , riTags @@ -1155,9 +1158,9 @@     , rilPriceSchedules     , rilStatusMessage     , rilReservedInstancesId+    , rilTags     , rilInstanceCounts     , rilReservedInstancesListingId-    , rilTags      -- * ReservedInstancesModification     , ReservedInstancesModification@@ -1187,20 +1190,20 @@     , rioInstanceType     , rioAvailabilityZone     , rioPricingDetails+    , rioRecurringCharges     , rioOfferingType     , rioUsagePrice-    , rioRecurringCharges-    , rioReservedInstancesOfferingId-    , rioInstanceTenancy     , rioFixedPrice+    , rioInstanceTenancy+    , rioReservedInstancesOfferingId     , rioDuration      -- * Route     , Route     , route+    , rVPCPeeringConnectionId     , rInstanceId     , rOrigin-    , rVPCPeeringConnectionId     , rState     , rNetworkInterfaceId     , rGatewayId@@ -1211,8 +1214,8 @@     -- * RouteTable     , RouteTable     , routeTable-    , rtRoutes     , rtRouteTableId+    , rtRoutes     , rtVPCId     , rtPropagatingVGWs     , rtAssociations@@ -1273,20 +1276,20 @@     , snapshotDetail     , sdStatus     , sdProgress-    , sdURL     , sdFormat+    , sdURL     , sdDeviceName+    , sdStatusMessage     , sdUserBucket     , sdDiskImageSize-    , sdStatusMessage     , sdDescription     , sdSnapshotId      -- * SnapshotDiskContainer     , SnapshotDiskContainer     , snapshotDiskContainer-    , sdcURL     , sdcFormat+    , sdcURL     , sdcUserBucket     , sdcDescription @@ -1295,11 +1298,11 @@     , snapshotTaskDetail     , stdStatus     , stdProgress-    , stdURL     , stdFormat+    , stdURL+    , stdStatusMessage     , stdUserBucket     , stdDiskImageSize-    , stdStatusMessage     , stdDescription     , stdSnapshotId @@ -1316,19 +1319,21 @@     , SpotFleetLaunchSpecification     , spotFleetLaunchSpecification     , sflsSecurityGroups-    , sflsNetworkInterfaces+    , sflsSpotPrice+    , sflsWeightedCapacity     , sflsKeyName+    , sflsNetworkInterfaces     , sflsRAMDiskId-    , sflsKernelId     , sflsSubnetId+    , sflsKernelId     , sflsInstanceType     , sflsEBSOptimized     , sflsUserData     , sflsMonitoring     , sflsIAMInstanceProfile     , sflsImageId-    , sflsBlockDeviceMappings     , sflsAddressingType+    , sflsBlockDeviceMappings     , sflsPlacement      -- * SpotFleetMonitoring@@ -1363,17 +1368,17 @@     , sirState     , sirProductDescription     , sirSpotPrice-    , sirAvailabilityZoneGroup     , sirLaunchSpecification+    , sirAvailabilityZoneGroup     , sirLaunchedAvailabilityZone     , sirValidUntil-    , sirFault     , sirLaunchGroup+    , sirFault     , sirSpotInstanceRequestId     , sirType     , sirValidFrom-    , sirTags     , sirCreateTime+    , sirTags      -- * SpotInstanceStateFault     , SpotInstanceStateFault@@ -1513,8 +1518,8 @@     -- * VPCEndpoint     , VPCEndpoint     , vpcEndpoint-    , vePolicyDocument     , veState+    , vePolicyDocument     , veVPCId     , veCreationTimestamp     , veServiceName@@ -1524,8 +1529,8 @@     -- * VPCPeeringConnection     , VPCPeeringConnection     , vpcPeeringConnection-    , vpcpcStatus     , vpcpcVPCPeeringConnectionId+    , vpcpcStatus     , vpcpcAccepterVPCInfo     , vpcpcRequesterVPCInfo     , vpcpcExpirationTime@@ -1547,14 +1552,14 @@     -- * VPNConnection     , VPNConnection     , vpnConnection+    , vcCustomerGatewayConfiguration     , vcRoutes     , vcVPNGatewayId     , vcOptions-    , vcVGWTelemetry     , vcTags+    , vcVGWTelemetry     , vcVPNConnectionId     , vcCustomerGatewayId-    , vcCustomerGatewayConfiguration     , vcState     , vcType @@ -1571,8 +1576,8 @@     -- * VPNGateway     , VPNGateway     , vpnGateway-    , vgVPCAttachments     , vgState+    , vgVPCAttachments     , vgVPNGatewayId     , vgAvailabilityZone     , vgType@@ -1650,8 +1655,8 @@     , volumeStatusItem     , vsiVolumeStatus     , vsiActions-    , vsiAvailabilityZone     , vsiEvents+    , vsiAvailabilityZone     , vsiVolumeId     ) where 
gen/Network/AWS/EC2/Types/Product.hs view
@@ -134,10599 +134,10628 @@ -- -- /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.------ /Note:/ This 'Lens' automatically encodes and decodes Base64 data,--- despite what the AWS documentation might say.--- The underlying isomorphism will encode to Base64 representation during--- serialisation, and decode from Base64 representation during deserialisation.--- This 'Lens' accepts and returns only raw unencoded data.-bavValue :: Lens' BlobAttributeValue (Maybe ByteString)-bavValue = lens _bavValue (\ s a -> s{_bavValue = a}) . mapping _Base64;--instance ToQuery BlobAttributeValue where-        toQuery BlobAttributeValue'{..}-          = mconcat ["Value" =: _bavValue]---- | Describes a block device mapping.------ /See:/ 'blockDeviceMapping' smart constructor.-data BlockDeviceMapping = BlockDeviceMapping'-    { _bdmVirtualName :: !(Maybe Text)-    , _bdmNoDevice    :: !(Maybe Text)-    , _bdmEBS         :: !(Maybe EBSBlockDevice)-    , _bdmDeviceName  :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'BlockDeviceMapping' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bdmVirtualName'------ * 'bdmNoDevice'------ * 'bdmEBS'------ * 'bdmDeviceName'-blockDeviceMapping-    :: Text -- ^ 'bdmDeviceName'-    -> BlockDeviceMapping-blockDeviceMapping pDeviceName_ =-    BlockDeviceMapping'-    { _bdmVirtualName = Nothing-    , _bdmNoDevice = Nothing-    , _bdmEBS = Nothing-    , _bdmDeviceName = pDeviceName_-    }---- | The virtual device name ('ephemeral'N). Instance store volumes are--- numbered starting from 0. An instance type with 2 available instance--- store volumes can specify mappings for 'ephemeral0' and 'ephemeral1'.The--- number of available instance store volumes depends on the instance type.--- After you connect to the instance, you must mount the volume.------ Constraints: For M3 instances, you must specify instance store volumes--- in the block device mapping for the instance. When you launch an M3--- instance, we ignore any instance store volumes specified in the block--- device mapping for the AMI.-bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)-bdmVirtualName = lens _bdmVirtualName (\ s a -> s{_bdmVirtualName = a});---- | Suppresses the specified device included in the block device mapping of--- the AMI.-bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Text)-bdmNoDevice = lens _bdmNoDevice (\ s a -> s{_bdmNoDevice = a});---- | Parameters used to automatically set up EBS volumes when the instance is--- launched.-bdmEBS :: Lens' BlockDeviceMapping (Maybe EBSBlockDevice)-bdmEBS = lens _bdmEBS (\ s a -> s{_bdmEBS = a});---- | The device name exposed to the instance (for example, '\/dev\/sdh' or--- 'xvdh').-bdmDeviceName :: Lens' BlockDeviceMapping Text-bdmDeviceName = lens _bdmDeviceName (\ s a -> s{_bdmDeviceName = a});--instance FromXML BlockDeviceMapping where-        parseXML x-          = BlockDeviceMapping' <$>-              (x .@? "virtualName") <*> (x .@? "noDevice") <*>-                (x .@? "ebs")-                <*> (x .@ "deviceName")--instance ToQuery BlockDeviceMapping where-        toQuery BlockDeviceMapping'{..}-          = mconcat-              ["VirtualName" =: _bdmVirtualName,-               "NoDevice" =: _bdmNoDevice, "Ebs" =: _bdmEBS,-               "DeviceName" =: _bdmDeviceName]---- | Describes a bundle task.------ /See:/ 'bundleTask' smart constructor.-data BundleTask = BundleTask'-    { _btBundleTaskError :: !(Maybe BundleTaskError)-    , _btBundleId        :: !Text-    , _btInstanceId      :: !Text-    , _btProgress        :: !Text-    , _btStartTime       :: !ISO8601-    , _btState           :: !BundleTaskState-    , _btStorage         :: !Storage-    , _btUpdateTime      :: !ISO8601-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'BundleTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'btBundleTaskError'------ * 'btBundleId'------ * 'btInstanceId'------ * 'btProgress'------ * 'btStartTime'------ * 'btState'------ * 'btStorage'------ * 'btUpdateTime'-bundleTask-    :: Text -- ^ 'btBundleId'-    -> Text -- ^ 'btInstanceId'-    -> Text -- ^ 'btProgress'-    -> UTCTime -- ^ 'btStartTime'-    -> BundleTaskState -- ^ 'btState'-    -> Storage -- ^ 'btStorage'-    -> UTCTime -- ^ 'btUpdateTime'-    -> BundleTask-bundleTask pBundleId_ pInstanceId_ pProgress_ pStartTime_ pState_ pStorage_ pUpdateTime_ =-    BundleTask'-    { _btBundleTaskError = Nothing-    , _btBundleId = pBundleId_-    , _btInstanceId = pInstanceId_-    , _btProgress = pProgress_-    , _btStartTime = _Time # pStartTime_-    , _btState = pState_-    , _btStorage = pStorage_-    , _btUpdateTime = _Time # pUpdateTime_-    }---- | If the task fails, a description of the error.-btBundleTaskError :: Lens' BundleTask (Maybe BundleTaskError)-btBundleTaskError = lens _btBundleTaskError (\ s a -> s{_btBundleTaskError = a});---- | The ID of the bundle task.-btBundleId :: Lens' BundleTask Text-btBundleId = lens _btBundleId (\ s a -> s{_btBundleId = a});---- | The ID of the instance associated with this bundle task.-btInstanceId :: Lens' BundleTask Text-btInstanceId = lens _btInstanceId (\ s a -> s{_btInstanceId = a});---- | The level of task completion, as a percent (for example, 20%).-btProgress :: Lens' BundleTask Text-btProgress = lens _btProgress (\ s a -> s{_btProgress = a});---- | The time this task started.-btStartTime :: Lens' BundleTask UTCTime-btStartTime = lens _btStartTime (\ s a -> s{_btStartTime = a}) . _Time;---- | The state of the task.-btState :: Lens' BundleTask BundleTaskState-btState = lens _btState (\ s a -> s{_btState = a});---- | The Amazon S3 storage locations.-btStorage :: Lens' BundleTask Storage-btStorage = lens _btStorage (\ s a -> s{_btStorage = a});---- | The time of the most recent update for the task.-btUpdateTime :: Lens' BundleTask UTCTime-btUpdateTime = lens _btUpdateTime (\ s a -> s{_btUpdateTime = a}) . _Time;--instance FromXML BundleTask where-        parseXML x-          = BundleTask' <$>-              (x .@? "error") <*> (x .@ "bundleId") <*>-                (x .@ "instanceId")-                <*> (x .@ "progress")-                <*> (x .@ "startTime")-                <*> (x .@ "state")-                <*> (x .@ "storage")-                <*> (x .@ "updateTime")---- | Describes an error for BundleInstance.------ /See:/ 'bundleTaskError' smart constructor.-data BundleTaskError = BundleTaskError'-    { _bteCode    :: !(Maybe Text)-    , _bteMessage :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'BundleTaskError' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bteCode'------ * 'bteMessage'-bundleTaskError-    :: BundleTaskError-bundleTaskError =-    BundleTaskError'-    { _bteCode = Nothing-    , _bteMessage = Nothing-    }---- | The error code.-bteCode :: Lens' BundleTaskError (Maybe Text)-bteCode = lens _bteCode (\ s a -> s{_bteCode = a});---- | The error message.-bteMessage :: Lens' BundleTaskError (Maybe Text)-bteMessage = lens _bteMessage (\ s a -> s{_bteMessage = a});--instance FromXML BundleTaskError where-        parseXML x-          = BundleTaskError' <$>-              (x .@? "code") <*> (x .@? "message")---- | Describes a Spot fleet error.------ /See:/ 'cancelSpotFleetRequestsError' smart constructor.-data CancelSpotFleetRequestsError = CancelSpotFleetRequestsError'-    { _csfreCode    :: !CancelBatchErrorCode-    , _csfreMessage :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CancelSpotFleetRequestsError' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csfreCode'------ * 'csfreMessage'-cancelSpotFleetRequestsError-    :: CancelBatchErrorCode -- ^ 'csfreCode'-    -> Text -- ^ 'csfreMessage'-    -> CancelSpotFleetRequestsError-cancelSpotFleetRequestsError pCode_ pMessage_ =-    CancelSpotFleetRequestsError'-    { _csfreCode = pCode_-    , _csfreMessage = pMessage_-    }---- | The error code.-csfreCode :: Lens' CancelSpotFleetRequestsError CancelBatchErrorCode-csfreCode = lens _csfreCode (\ s a -> s{_csfreCode = a});---- | The description for the error code.-csfreMessage :: Lens' CancelSpotFleetRequestsError Text-csfreMessage = lens _csfreMessage (\ s a -> s{_csfreMessage = a});--instance FromXML CancelSpotFleetRequestsError where-        parseXML x-          = CancelSpotFleetRequestsError' <$>-              (x .@ "code") <*> (x .@ "message")---- | Describes a Spot fleet request that was not successfully canceled.------ /See:/ 'cancelSpotFleetRequestsErrorItem' smart constructor.-data CancelSpotFleetRequestsErrorItem = CancelSpotFleetRequestsErrorItem'-    { _csfreiSpotFleetRequestId :: !Text-    , _csfreiError              :: !CancelSpotFleetRequestsError-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CancelSpotFleetRequestsErrorItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csfreiSpotFleetRequestId'------ * 'csfreiError'-cancelSpotFleetRequestsErrorItem-    :: Text -- ^ 'csfreiSpotFleetRequestId'-    -> CancelSpotFleetRequestsError -- ^ 'csfreiError'-    -> CancelSpotFleetRequestsErrorItem-cancelSpotFleetRequestsErrorItem pSpotFleetRequestId_ pError_ =-    CancelSpotFleetRequestsErrorItem'-    { _csfreiSpotFleetRequestId = pSpotFleetRequestId_-    , _csfreiError = pError_-    }---- | The ID of the Spot fleet request.-csfreiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsErrorItem Text-csfreiSpotFleetRequestId = lens _csfreiSpotFleetRequestId (\ s a -> s{_csfreiSpotFleetRequestId = a});---- | The error.-csfreiError :: Lens' CancelSpotFleetRequestsErrorItem CancelSpotFleetRequestsError-csfreiError = lens _csfreiError (\ s a -> s{_csfreiError = a});--instance FromXML CancelSpotFleetRequestsErrorItem-         where-        parseXML x-          = CancelSpotFleetRequestsErrorItem' <$>-              (x .@ "spotFleetRequestId") <*> (x .@ "error")---- | Describes a Spot fleet request that was successfully canceled.------ /See:/ 'cancelSpotFleetRequestsSuccessItem' smart constructor.-data CancelSpotFleetRequestsSuccessItem = CancelSpotFleetRequestsSuccessItem'-    { _csfrsiSpotFleetRequestId            :: !Text-    , _csfrsiCurrentSpotFleetRequestState  :: !BatchState-    , _csfrsiPreviousSpotFleetRequestState :: !BatchState-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CancelSpotFleetRequestsSuccessItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csfrsiSpotFleetRequestId'------ * 'csfrsiCurrentSpotFleetRequestState'------ * 'csfrsiPreviousSpotFleetRequestState'-cancelSpotFleetRequestsSuccessItem-    :: Text -- ^ 'csfrsiSpotFleetRequestId'-    -> BatchState -- ^ 'csfrsiCurrentSpotFleetRequestState'-    -> BatchState -- ^ 'csfrsiPreviousSpotFleetRequestState'-    -> CancelSpotFleetRequestsSuccessItem-cancelSpotFleetRequestsSuccessItem pSpotFleetRequestId_ pCurrentSpotFleetRequestState_ pPreviousSpotFleetRequestState_ =-    CancelSpotFleetRequestsSuccessItem'-    { _csfrsiSpotFleetRequestId = pSpotFleetRequestId_-    , _csfrsiCurrentSpotFleetRequestState = pCurrentSpotFleetRequestState_-    , _csfrsiPreviousSpotFleetRequestState = pPreviousSpotFleetRequestState_-    }---- | The ID of the Spot fleet request.-csfrsiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsSuccessItem Text-csfrsiSpotFleetRequestId = lens _csfrsiSpotFleetRequestId (\ s a -> s{_csfrsiSpotFleetRequestId = a});---- | The current state of the Spot fleet request.-csfrsiCurrentSpotFleetRequestState :: Lens' CancelSpotFleetRequestsSuccessItem BatchState-csfrsiCurrentSpotFleetRequestState = lens _csfrsiCurrentSpotFleetRequestState (\ s a -> s{_csfrsiCurrentSpotFleetRequestState = a});---- | The previous state of the Spot fleet request.-csfrsiPreviousSpotFleetRequestState :: Lens' CancelSpotFleetRequestsSuccessItem BatchState-csfrsiPreviousSpotFleetRequestState = lens _csfrsiPreviousSpotFleetRequestState (\ s a -> s{_csfrsiPreviousSpotFleetRequestState = a});--instance FromXML CancelSpotFleetRequestsSuccessItem-         where-        parseXML x-          = CancelSpotFleetRequestsSuccessItem' <$>-              (x .@ "spotFleetRequestId") <*>-                (x .@ "currentSpotFleetRequestState")-                <*> (x .@ "previousSpotFleetRequestState")---- | Describes a request to cancel a Spot Instance.------ /See:/ 'cancelledSpotInstanceRequest' smart constructor.-data CancelledSpotInstanceRequest = CancelledSpotInstanceRequest'-    { _csirState                 :: !(Maybe CancelSpotInstanceRequestState)-    , _csirSpotInstanceRequestId :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CancelledSpotInstanceRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csirState'------ * 'csirSpotInstanceRequestId'-cancelledSpotInstanceRequest-    :: CancelledSpotInstanceRequest-cancelledSpotInstanceRequest =-    CancelledSpotInstanceRequest'-    { _csirState = Nothing-    , _csirSpotInstanceRequestId = Nothing-    }---- | The state of the Spot Instance request.-csirState :: Lens' CancelledSpotInstanceRequest (Maybe CancelSpotInstanceRequestState)-csirState = lens _csirState (\ s a -> s{_csirState = a});---- | The ID of the Spot Instance request.-csirSpotInstanceRequestId :: Lens' CancelledSpotInstanceRequest (Maybe Text)-csirSpotInstanceRequestId = lens _csirSpotInstanceRequestId (\ s a -> s{_csirSpotInstanceRequestId = a});--instance FromXML CancelledSpotInstanceRequest where-        parseXML x-          = CancelledSpotInstanceRequest' <$>-              (x .@? "state") <*> (x .@? "spotInstanceRequestId")---- | Describes a linked EC2-Classic instance.------ /See:/ 'classicLinkInstance' smart constructor.-data ClassicLinkInstance = ClassicLinkInstance'-    { _cliInstanceId :: !(Maybe Text)-    , _cliGroups     :: !(Maybe [GroupIdentifier])-    , _cliVPCId      :: !(Maybe Text)-    , _cliTags       :: !(Maybe [Tag])-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ClassicLinkInstance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cliInstanceId'------ * 'cliGroups'------ * 'cliVPCId'------ * 'cliTags'-classicLinkInstance-    :: ClassicLinkInstance-classicLinkInstance =-    ClassicLinkInstance'-    { _cliInstanceId = Nothing-    , _cliGroups = Nothing-    , _cliVPCId = Nothing-    , _cliTags = Nothing-    }---- | The ID of the instance.-cliInstanceId :: Lens' ClassicLinkInstance (Maybe Text)-cliInstanceId = lens _cliInstanceId (\ s a -> s{_cliInstanceId = a});---- | A list of security groups.-cliGroups :: Lens' ClassicLinkInstance [GroupIdentifier]-cliGroups = lens _cliGroups (\ s a -> s{_cliGroups = a}) . _Default . _Coerce;---- | The ID of the VPC.-cliVPCId :: Lens' ClassicLinkInstance (Maybe Text)-cliVPCId = lens _cliVPCId (\ s a -> s{_cliVPCId = a});---- | Any tags assigned to the instance.-cliTags :: Lens' ClassicLinkInstance [Tag]-cliTags = lens _cliTags (\ s a -> s{_cliTags = a}) . _Default . _Coerce;--instance FromXML ClassicLinkInstance where-        parseXML x-          = ClassicLinkInstance' <$>-              (x .@? "instanceId") <*>-                (x .@? "groupSet" .!@ mempty >>=-                   may (parseXMLList "item"))-                <*> (x .@? "vpcId")-                <*>-                (x .@? "tagSet" .!@ mempty >>=-                   may (parseXMLList "item"))---- | Describes the client-specific data.------ /See:/ 'clientData' smart constructor.-data ClientData = ClientData'-    { _cdUploadStart :: !(Maybe ISO8601)-    , _cdUploadSize  :: !(Maybe Double)-    , _cdUploadEnd   :: !(Maybe ISO8601)-    , _cdComment     :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ClientData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cdUploadStart'------ * 'cdUploadSize'------ * 'cdUploadEnd'------ * 'cdComment'-clientData-    :: ClientData-clientData =-    ClientData'-    { _cdUploadStart = Nothing-    , _cdUploadSize = Nothing-    , _cdUploadEnd = Nothing-    , _cdComment = Nothing-    }---- | The time that the disk upload starts.-cdUploadStart :: Lens' ClientData (Maybe UTCTime)-cdUploadStart = lens _cdUploadStart (\ s a -> s{_cdUploadStart = a}) . mapping _Time;---- | The size of the uploaded disk image, in GiB.-cdUploadSize :: Lens' ClientData (Maybe Double)-cdUploadSize = lens _cdUploadSize (\ s a -> s{_cdUploadSize = a});---- | The time that the disk upload ends.-cdUploadEnd :: Lens' ClientData (Maybe UTCTime)-cdUploadEnd = lens _cdUploadEnd (\ s a -> s{_cdUploadEnd = a}) . mapping _Time;---- | A user-defined comment about the disk upload.-cdComment :: Lens' ClientData (Maybe Text)-cdComment = lens _cdComment (\ s a -> s{_cdComment = a});--instance ToQuery ClientData where-        toQuery ClientData'{..}-          = mconcat-              ["UploadStart" =: _cdUploadStart,-               "UploadSize" =: _cdUploadSize,-               "UploadEnd" =: _cdUploadEnd, "Comment" =: _cdComment]---- | Describes a conversion task.------ /See:/ 'conversionTask' smart constructor.-data ConversionTask = ConversionTask'-    { _ctImportInstance   :: !(Maybe ImportInstanceTaskDetails)-    , _ctStatusMessage    :: !(Maybe Text)-    , _ctImportVolume     :: !(Maybe ImportVolumeTaskDetails)-    , _ctExpirationTime   :: !(Maybe Text)-    , _ctTags             :: !(Maybe [Tag])-    , _ctConversionTaskId :: !Text-    , _ctState            :: !ConversionTaskState-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ConversionTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ctImportInstance'------ * 'ctStatusMessage'------ * 'ctImportVolume'------ * 'ctExpirationTime'------ * 'ctTags'------ * 'ctConversionTaskId'------ * 'ctState'-conversionTask-    :: Text -- ^ 'ctConversionTaskId'-    -> ConversionTaskState -- ^ 'ctState'-    -> ConversionTask-conversionTask pConversionTaskId_ pState_ =-    ConversionTask'-    { _ctImportInstance = Nothing-    , _ctStatusMessage = Nothing-    , _ctImportVolume = Nothing-    , _ctExpirationTime = Nothing-    , _ctTags = Nothing-    , _ctConversionTaskId = pConversionTaskId_-    , _ctState = pState_-    }---- | If the task is for importing an instance, this contains information--- about the import instance task.-ctImportInstance :: Lens' ConversionTask (Maybe ImportInstanceTaskDetails)-ctImportInstance = lens _ctImportInstance (\ s a -> s{_ctImportInstance = a});---- | The status message related to the conversion task.-ctStatusMessage :: Lens' ConversionTask (Maybe Text)-ctStatusMessage = lens _ctStatusMessage (\ s a -> s{_ctStatusMessage = a});---- | If the task is for importing a volume, this contains information about--- the import volume task.-ctImportVolume :: Lens' ConversionTask (Maybe ImportVolumeTaskDetails)-ctImportVolume = lens _ctImportVolume (\ s a -> s{_ctImportVolume = a});---- | The time when the task expires. If the upload isn\'t complete before the--- expiration time, we automatically cancel the task.-ctExpirationTime :: Lens' ConversionTask (Maybe Text)-ctExpirationTime = lens _ctExpirationTime (\ s a -> s{_ctExpirationTime = a});---- | Any tags assigned to the task.-ctTags :: Lens' ConversionTask [Tag]-ctTags = lens _ctTags (\ s a -> s{_ctTags = a}) . _Default . _Coerce;---- | The ID of the conversion task.-ctConversionTaskId :: Lens' ConversionTask Text-ctConversionTaskId = lens _ctConversionTaskId (\ s a -> s{_ctConversionTaskId = a});---- | The state of the conversion task.-ctState :: Lens' ConversionTask ConversionTaskState-ctState = lens _ctState (\ s a -> s{_ctState = a});--instance FromXML ConversionTask where-        parseXML x-          = ConversionTask' <$>-              (x .@? "importInstance") <*> (x .@? "statusMessage")-                <*> (x .@? "importVolume")-                <*> (x .@? "expirationTime")-                <*>-                (x .@? "tagSet" .!@ mempty >>=-                   may (parseXMLList "item"))-                <*> (x .@ "conversionTaskId")-                <*> (x .@ "state")---- | Describes the user or group to be added or removed from the permissions--- for a volume.------ /See:/ 'createVolumePermission' smart constructor.-data CreateVolumePermission = CreateVolumePermission'-    { _cvpGroup  :: !(Maybe PermissionGroup)-    , _cvpUserId :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CreateVolumePermission' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cvpGroup'------ * 'cvpUserId'-createVolumePermission-    :: CreateVolumePermission-createVolumePermission =-    CreateVolumePermission'-    { _cvpGroup = Nothing-    , _cvpUserId = Nothing-    }---- | The specific group that is to be added or removed from a volume\'s list--- of create volume permissions.-cvpGroup :: Lens' CreateVolumePermission (Maybe PermissionGroup)-cvpGroup = lens _cvpGroup (\ s a -> s{_cvpGroup = a});---- | The specific AWS account ID that is to be added or removed from a--- volume\'s list of create volume permissions.-cvpUserId :: Lens' CreateVolumePermission (Maybe Text)-cvpUserId = lens _cvpUserId (\ s a -> s{_cvpUserId = a});--instance FromXML CreateVolumePermission where-        parseXML x-          = CreateVolumePermission' <$>-              (x .@? "group") <*> (x .@? "userId")--instance ToQuery CreateVolumePermission where-        toQuery CreateVolumePermission'{..}-          = mconcat-              ["Group" =: _cvpGroup, "UserId" =: _cvpUserId]---- | Describes modifications to the permissions for a volume.------ /See:/ 'createVolumePermissionModifications' smart constructor.-data CreateVolumePermissionModifications = CreateVolumePermissionModifications'-    { _cvpmRemove :: !(Maybe [CreateVolumePermission])-    , _cvpmAdd    :: !(Maybe [CreateVolumePermission])-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CreateVolumePermissionModifications' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cvpmRemove'------ * 'cvpmAdd'-createVolumePermissionModifications-    :: CreateVolumePermissionModifications-createVolumePermissionModifications =-    CreateVolumePermissionModifications'-    { _cvpmRemove = Nothing-    , _cvpmAdd = Nothing-    }---- | Removes a specific AWS account ID or group from a volume\'s list of--- create volume permissions.-cvpmRemove :: Lens' CreateVolumePermissionModifications [CreateVolumePermission]-cvpmRemove = lens _cvpmRemove (\ s a -> s{_cvpmRemove = a}) . _Default . _Coerce;---- | Adds a specific AWS account ID or group to a volume\'s list of create--- volume permissions.-cvpmAdd :: Lens' CreateVolumePermissionModifications [CreateVolumePermission]-cvpmAdd = lens _cvpmAdd (\ s a -> s{_cvpmAdd = a}) . _Default . _Coerce;--instance ToQuery CreateVolumePermissionModifications-         where-        toQuery CreateVolumePermissionModifications'{..}-          = mconcat-              [toQuery (toQueryList "Remove" <$> _cvpmRemove),-               toQuery (toQueryList "Add" <$> _cvpmAdd)]---- | Describes a customer gateway.------ /See:/ 'customerGateway' smart constructor.-data CustomerGateway = CustomerGateway'-    { _cgTags              :: !(Maybe [Tag])-    , _cgBGPASN            :: !Text-    , _cgCustomerGatewayId :: !Text-    , _cgIPAddress         :: !Text-    , _cgState             :: !Text-    , _cgType              :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CustomerGateway' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgTags'------ * 'cgBGPASN'------ * 'cgCustomerGatewayId'------ * 'cgIPAddress'------ * 'cgState'------ * 'cgType'-customerGateway-    :: Text -- ^ 'cgBGPASN'-    -> Text -- ^ 'cgCustomerGatewayId'-    -> Text -- ^ 'cgIPAddress'-    -> Text -- ^ 'cgState'-    -> Text -- ^ 'cgType'-    -> CustomerGateway-customerGateway pBGPASN_ pCustomerGatewayId_ pIPAddress_ pState_ pType_ =-    CustomerGateway'-    { _cgTags = Nothing-    , _cgBGPASN = pBGPASN_-    , _cgCustomerGatewayId = pCustomerGatewayId_-    , _cgIPAddress = pIPAddress_-    , _cgState = pState_-    , _cgType = pType_-    }---- | Any tags assigned to the customer gateway.-cgTags :: Lens' CustomerGateway [Tag]-cgTags = lens _cgTags (\ s a -> s{_cgTags = a}) . _Default . _Coerce;---- | The customer gateway\'s Border Gateway Protocol (BGP) Autonomous System--- Number (ASN).-cgBGPASN :: Lens' CustomerGateway Text-cgBGPASN = lens _cgBGPASN (\ s a -> s{_cgBGPASN = a});---- | The ID of the customer gateway.-cgCustomerGatewayId :: Lens' CustomerGateway Text-cgCustomerGatewayId = lens _cgCustomerGatewayId (\ s a -> s{_cgCustomerGatewayId = a});---- | The Internet-routable IP address of the customer gateway\'s outside--- interface.-cgIPAddress :: Lens' CustomerGateway Text-cgIPAddress = lens _cgIPAddress (\ s a -> s{_cgIPAddress = a});---- | The current state of the customer gateway--- ('pending | available | deleting | deleted').-cgState :: Lens' CustomerGateway Text-cgState = lens _cgState (\ s a -> s{_cgState = a});---- | The type of VPN connection the customer gateway supports ('ipsec.1').-cgType :: Lens' CustomerGateway Text-cgType = lens _cgType (\ s a -> s{_cgType = a});--instance FromXML CustomerGateway where-        parseXML x-          = CustomerGateway' <$>-              (x .@? "tagSet" .!@ mempty >>=-                 may (parseXMLList "item"))-                <*> (x .@ "bgpAsn")-                <*> (x .@ "customerGatewayId")-                <*> (x .@ "ipAddress")-                <*> (x .@ "state")-                <*> (x .@ "type")---- | Describes a DHCP configuration option.------ /See:/ 'dhcpConfiguration' smart constructor.-data DHCPConfiguration = DHCPConfiguration'-    { _dcValues :: !(Maybe [AttributeValue])-    , _dcKey    :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DHCPConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dcValues'------ * 'dcKey'-dhcpConfiguration-    :: DHCPConfiguration-dhcpConfiguration =-    DHCPConfiguration'-    { _dcValues = Nothing-    , _dcKey = Nothing-    }---- | One or more values for the DHCP option.-dcValues :: Lens' DHCPConfiguration [AttributeValue]-dcValues = lens _dcValues (\ s a -> s{_dcValues = a}) . _Default . _Coerce;---- | The name of a DHCP option.-dcKey :: Lens' DHCPConfiguration (Maybe Text)-dcKey = lens _dcKey (\ s a -> s{_dcKey = a});--instance FromXML DHCPConfiguration where-        parseXML x-          = DHCPConfiguration' <$>-              (x .@? "valueSet" .!@ mempty >>=-                 may (parseXMLList "item"))-                <*> (x .@? "key")---- | Describes a set of DHCP options.------ /See:/ 'dhcpOptions' smart constructor.-data DHCPOptions = DHCPOptions'-    { _doDHCPConfigurations :: !(Maybe [DHCPConfiguration])-    , _doDHCPOptionsId      :: !(Maybe Text)-    , _doTags               :: !(Maybe [Tag])-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DHCPOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'doDHCPConfigurations'------ * 'doDHCPOptionsId'------ * 'doTags'-dhcpOptions-    :: DHCPOptions-dhcpOptions =-    DHCPOptions'-    { _doDHCPConfigurations = Nothing-    , _doDHCPOptionsId = Nothing-    , _doTags = Nothing-    }---- | One or more DHCP options in the set.-doDHCPConfigurations :: Lens' DHCPOptions [DHCPConfiguration]-doDHCPConfigurations = lens _doDHCPConfigurations (\ s a -> s{_doDHCPConfigurations = a}) . _Default . _Coerce;---- | The ID of the set of DHCP options.-doDHCPOptionsId :: Lens' DHCPOptions (Maybe Text)-doDHCPOptionsId = lens _doDHCPOptionsId (\ s a -> s{_doDHCPOptionsId = a});---- | Any tags assigned to the DHCP options set.-doTags :: Lens' DHCPOptions [Tag]-doTags = lens _doTags (\ s a -> s{_doTags = a}) . _Default . _Coerce;--instance FromXML DHCPOptions where-        parseXML x-          = DHCPOptions' <$>-              (x .@? "dhcpConfigurationSet" .!@ mempty >>=-                 may (parseXMLList "item"))-                <*> (x .@? "dhcpOptionsId")-                <*>-                (x .@? "tagSet" .!@ mempty >>=-                   may (parseXMLList "item"))---- | Describes a disk image.------ /See:/ 'diskImage' smart constructor.-data DiskImage = DiskImage'-    { _diImage       :: !(Maybe DiskImageDetail)-    , _diVolume      :: !(Maybe VolumeDetail)-    , _diDescription :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskImage' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'diImage'------ * 'diVolume'------ * 'diDescription'-diskImage-    :: DiskImage-diskImage =-    DiskImage'-    { _diImage = Nothing-    , _diVolume = Nothing-    , _diDescription = Nothing-    }---- | Information about the disk image.-diImage :: Lens' DiskImage (Maybe DiskImageDetail)-diImage = lens _diImage (\ s a -> s{_diImage = a});---- | Information about the volume.-diVolume :: Lens' DiskImage (Maybe VolumeDetail)-diVolume = lens _diVolume (\ s a -> s{_diVolume = a});---- | A description of the disk image.-diDescription :: Lens' DiskImage (Maybe Text)-diDescription = lens _diDescription (\ s a -> s{_diDescription = a});--instance ToQuery DiskImage where-        toQuery DiskImage'{..}-          = mconcat-              ["Image" =: _diImage, "Volume" =: _diVolume,-               "Description" =: _diDescription]---- | Describes a disk image.------ /See:/ 'diskImageDescription' smart constructor.-data DiskImageDescription = DiskImageDescription'-    { _dChecksum          :: !(Maybe Text)-    , _dFormat            :: !DiskImageFormat-    , _dSize              :: !Integer-    , _dImportManifestURL :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskImageDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dChecksum'------ * 'dFormat'------ * 'dSize'------ * 'dImportManifestURL'-diskImageDescription-    :: DiskImageFormat -- ^ 'dFormat'-    -> Integer -- ^ 'dSize'-    -> Text -- ^ 'dImportManifestURL'-    -> DiskImageDescription-diskImageDescription pFormat_ pSize_ pImportManifestURL_ =-    DiskImageDescription'-    { _dChecksum = Nothing-    , _dFormat = pFormat_-    , _dSize = pSize_-    , _dImportManifestURL = pImportManifestURL_-    }---- | The checksum computed for the disk image.-dChecksum :: Lens' DiskImageDescription (Maybe Text)-dChecksum = lens _dChecksum (\ s a -> s{_dChecksum = a});---- | The disk image format.-dFormat :: Lens' DiskImageDescription DiskImageFormat-dFormat = lens _dFormat (\ s a -> s{_dFormat = a});---- | The size of the disk image, in GiB.-dSize :: Lens' DiskImageDescription Integer-dSize = lens _dSize (\ s a -> s{_dSize = a});---- | A presigned URL for the import manifest stored in Amazon S3. For--- information about creating a presigned URL for an Amazon S3 object, read--- the \"Query String Request Authentication Alternative\" section of the--- <http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html Authenticating REST Requests>--- topic in the /Amazon Simple Storage Service Developer Guide/.-dImportManifestURL :: Lens' DiskImageDescription Text-dImportManifestURL = lens _dImportManifestURL (\ s a -> s{_dImportManifestURL = a});--instance FromXML DiskImageDescription where-        parseXML x-          = DiskImageDescription' <$>-              (x .@? "checksum") <*> (x .@ "format") <*>-                (x .@ "size")-                <*> (x .@ "importManifestUrl")---- | Describes a disk image.------ /See:/ 'diskImageDetail' smart constructor.-data DiskImageDetail = DiskImageDetail'-    { _didFormat            :: !DiskImageFormat-    , _didBytes             :: !Integer-    , _didImportManifestURL :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskImageDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'didFormat'------ * 'didBytes'------ * 'didImportManifestURL'-diskImageDetail-    :: DiskImageFormat -- ^ 'didFormat'-    -> Integer -- ^ 'didBytes'-    -> Text -- ^ 'didImportManifestURL'-    -> DiskImageDetail-diskImageDetail pFormat_ pBytes_ pImportManifestURL_ =-    DiskImageDetail'-    { _didFormat = pFormat_-    , _didBytes = pBytes_-    , _didImportManifestURL = pImportManifestURL_-    }---- | The disk image format.-didFormat :: Lens' DiskImageDetail DiskImageFormat-didFormat = lens _didFormat (\ s a -> s{_didFormat = a});---- | The size of the disk image, in GiB.-didBytes :: Lens' DiskImageDetail Integer-didBytes = lens _didBytes (\ s a -> s{_didBytes = a});---- | A presigned URL for the import manifest stored in Amazon S3 and--- presented here as an Amazon S3 presigned URL. For information about--- creating a presigned URL for an Amazon S3 object, read the \"Query--- String Request Authentication Alternative\" section of the--- <http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html Authenticating REST Requests>--- topic in the /Amazon Simple Storage Service Developer Guide/.-didImportManifestURL :: Lens' DiskImageDetail Text-didImportManifestURL = lens _didImportManifestURL (\ s a -> s{_didImportManifestURL = a});--instance ToQuery DiskImageDetail where-        toQuery DiskImageDetail'{..}-          = mconcat-              ["Format" =: _didFormat, "Bytes" =: _didBytes,-               "ImportManifestUrl" =: _didImportManifestURL]---- | Describes a disk image volume.------ /See:/ 'diskImageVolumeDescription' smart constructor.-data DiskImageVolumeDescription = DiskImageVolumeDescription'-    { _divdSize :: !(Maybe Integer)-    , _divdId   :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskImageVolumeDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'divdSize'------ * 'divdId'-diskImageVolumeDescription-    :: Text -- ^ 'divdId'-    -> DiskImageVolumeDescription-diskImageVolumeDescription pId_ =-    DiskImageVolumeDescription'-    { _divdSize = Nothing-    , _divdId = pId_-    }---- | The size of the volume, in GiB.-divdSize :: Lens' DiskImageVolumeDescription (Maybe Integer)-divdSize = lens _divdSize (\ s a -> s{_divdSize = a});---- | The volume identifier.-divdId :: Lens' DiskImageVolumeDescription Text-divdId = lens _divdId (\ s a -> s{_divdId = a});--instance FromXML DiskImageVolumeDescription where-        parseXML x-          = DiskImageVolumeDescription' <$>-              (x .@? "size") <*> (x .@ "id")---- | Describes a block device for an EBS volume.------ /See:/ 'ebsBlockDevice' smart constructor.-data EBSBlockDevice = EBSBlockDevice'-    { _ebdDeleteOnTermination :: !(Maybe Bool)-    , _ebdVolumeSize          :: !(Maybe Int)-    , _ebdIOPS                :: !(Maybe Int)-    , _ebdEncrypted           :: !(Maybe Bool)-    , _ebdVolumeType          :: !(Maybe VolumeType)-    , _ebdSnapshotId          :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'EBSBlockDevice' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ebdDeleteOnTermination'------ * 'ebdVolumeSize'------ * 'ebdIOPS'------ * 'ebdEncrypted'------ * 'ebdVolumeType'------ * 'ebdSnapshotId'-ebsBlockDevice-    :: EBSBlockDevice-ebsBlockDevice =-    EBSBlockDevice'-    { _ebdDeleteOnTermination = Nothing-    , _ebdVolumeSize = Nothing-    , _ebdIOPS = Nothing-    , _ebdEncrypted = Nothing-    , _ebdVolumeType = Nothing-    , _ebdSnapshotId = Nothing-    }---- | Indicates whether the EBS volume is deleted on instance termination.-ebdDeleteOnTermination :: Lens' EBSBlockDevice (Maybe Bool)-ebdDeleteOnTermination = lens _ebdDeleteOnTermination (\ s a -> s{_ebdDeleteOnTermination = a});---- | The size of the volume, in GiB.------ Constraints: '1-1024' for 'standard' volumes, '1-16384' for 'gp2'--- volumes, and '4-16384' for 'io1' volumes. If you specify a snapshot, the--- volume size must be equal to or larger than the snapshot size.------ Default: If you\'re creating the volume from a snapshot and don\'t--- specify a volume size, the default is the snapshot size.-ebdVolumeSize :: Lens' EBSBlockDevice (Maybe Int)-ebdVolumeSize = lens _ebdVolumeSize (\ s a -> s{_ebdVolumeSize = a});---- | The number of I\/O operations per second (IOPS) that the volume--- supports. For Provisioned IOPS (SSD) volumes, this represents the number--- of IOPS that are provisioned for the volume. For General Purpose (SSD)--- volumes, this represents the baseline performance of the volume and the--- rate at which the volume accumulates I\/O credits for bursting. For more--- information on General Purpose (SSD) baseline performance, I\/O credits,--- and bursting, see--- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html Amazon EBS Volume Types>--- in the /Amazon Elastic Compute Cloud User Guide/.------ Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and--- 3 to 10000 for General Purpose (SSD) volumes.------ Condition: This parameter is required for requests to create 'io1'--- volumes; it is not used in requests to create 'standard' or 'gp2'--- volumes.-ebdIOPS :: Lens' EBSBlockDevice (Maybe Int)-ebdIOPS = lens _ebdIOPS (\ s a -> s{_ebdIOPS = a});---- | Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS--- volumes may only be attached to instances that support Amazon EBS--- encryption.-ebdEncrypted :: Lens' EBSBlockDevice (Maybe Bool)-ebdEncrypted = lens _ebdEncrypted (\ s a -> s{_ebdEncrypted = a});---- | The volume type. 'gp2' for General Purpose (SSD) volumes, 'io1' for--- Provisioned IOPS (SSD) volumes, and 'standard' for Magnetic volumes.------ Default: 'standard'-ebdVolumeType :: Lens' EBSBlockDevice (Maybe VolumeType)-ebdVolumeType = lens _ebdVolumeType (\ s a -> s{_ebdVolumeType = a});---- | The ID of the snapshot.-ebdSnapshotId :: Lens' EBSBlockDevice (Maybe Text)-ebdSnapshotId = lens _ebdSnapshotId (\ s a -> s{_ebdSnapshotId = a});--instance FromXML EBSBlockDevice where-        parseXML x-          = EBSBlockDevice' <$>-              (x .@? "deleteOnTermination") <*>-                (x .@? "volumeSize")-                <*> (x .@? "iops")-                <*> (x .@? "encrypted")-                <*> (x .@? "volumeType")-                <*> (x .@? "snapshotId")--instance ToQuery EBSBlockDevice where-        toQuery EBSBlockDevice'{..}-          = mconcat-              ["DeleteOnTermination" =: _ebdDeleteOnTermination,-               "VolumeSize" =: _ebdVolumeSize, "Iops" =: _ebdIOPS,-               "Encrypted" =: _ebdEncrypted,-               "VolumeType" =: _ebdVolumeType,-               "SnapshotId" =: _ebdSnapshotId]---- | Describes a parameter used to set up an EBS volume in a block device--- mapping.------ /See:/ 'ebsInstanceBlockDevice' smart constructor.-data EBSInstanceBlockDevice = EBSInstanceBlockDevice'-    { _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 "Value" <$> _fValues),-               "Name" =: _fName]---- | Describes a flow log.------ /See:/ 'flowLog' smart constructor.-data FlowLog = FlowLog'-    { _flCreationTime             :: !(Maybe ISO8601)-    , _flResourceId               :: !(Maybe Text)-    , _flFlowLogStatus            :: !(Maybe Text)-    , _flTrafficType              :: !(Maybe TrafficType)-    , _flDeliverLogsStatus        :: !(Maybe Text)-    , _flDeliverLogsErrorMessage  :: !(Maybe Text)-    , _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 "Groups" <$> _ipUserIdGroupPairs),-               toQuery-                 (toQueryList "PrefixListIds" <$> _ipPrefixListIds),-               "ToPort" =: _ipToPort,-               toQuery (toQueryList "IpRanges" <$> _ipIPRanges),-               "IpProtocol" =: _ipIPProtocol]---- | Describes an IP range.------ /See:/ 'ipRange' smart constructor.-newtype IPRange = IPRange'-    { _irCIdRIP :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'IPRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'irCIdRIP'-ipRange-    :: Text -- ^ 'irCIdRIP'-    -> IPRange-ipRange pCIdRIP_ =-    IPRange'-    { _irCIdRIP = pCIdRIP_-    }---- | The CIDR range. You can either specify a CIDR range or a source security--- group, not both.-irCIdRIP :: Lens' IPRange Text-irCIdRIP = lens _irCIdRIP (\ s a -> s{_irCIdRIP = a});--instance FromXML IPRange where-        parseXML x = IPRange' <$> (x .@ "cidrIp")--instance ToQuery IPRange where-        toQuery IPRange'{..}-          = mconcat ["CidrIp" =: _irCIdRIP]---- | Describes 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 "GroupName" <$> _iilsGroupNames),-               "SubnetId" =: _iilsSubnetId,-               toQuery (toQueryList "GroupId" <$> _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 "PrivateIpAddresses" <$>-                    _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 "Remove" <$> _lpmRemove),-               toQuery (toQueryList "Add" <$> _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 "Value" <$> _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 "SecurityGroupId" <$>-                    _rslsSecurityGroupIds),-               toQuery-                 (toQueryList "SecurityGroup" <$>-                    _rslsSecurityGroups),-               toQuery-                 (toQueryList "NetworkInterface" <$>-                    _rslsNetworkInterfaces),-               "KeyName" =: _rslsKeyName,-               "RamdiskId" =: _rslsRAMDiskId,-               "KernelId" =: _rslsKernelId,-               "SubnetId" =: _rslsSubnetId,-               "InstanceType" =: _rslsInstanceType,-               "EbsOptimized" =: _rslsEBSOptimized,-               "UserData" =: _rslsUserData,-               "Monitoring" =: _rslsMonitoring,-               "IamInstanceProfile" =: _rslsIAMInstanceProfile,-               "ImageId" =: _rslsImageId,-               toQuery-                 (toQueryList "BlockDeviceMapping" <$>-                    _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.------ /Note:/ This 'Lens' automatically encodes and decodes Base64 data,--- despite what the AWS documentation might say.--- The underlying isomorphism will encode to Base64 representation during--- serialisation, and decode from Base64 representation during deserialisation.--- This 'Lens' accepts and returns only raw unencoded data.-ssUploadPolicy :: Lens' S3Storage (Maybe ByteString)-ssUploadPolicy = lens _ssUploadPolicy (\ s a -> s{_ssUploadPolicy = a}) . mapping _Base64;---- | The bucket in which to store the AMI. You can specify a bucket that you--- already own or a new bucket that Amazon EC2 creates on your behalf. If--- you specify a bucket that belongs to someone else, Amazon EC2 returns an--- error.-ssBucket :: Lens' S3Storage (Maybe Text)-ssBucket = lens _ssBucket (\ s a -> s{_ssBucket = a});---- | The signature of the Base64 encoded JSON document.-ssUploadPolicySignature :: Lens' S3Storage (Maybe Text)-ssUploadPolicySignature = lens _ssUploadPolicySignature (\ s a -> s{_ssUploadPolicySignature = a});---- | The access key ID of the owner of the bucket. Before you specify a value--- for your access key ID, review and follow the guidance in--- <http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html Best Practices for Managing AWS Access Keys>.-ssAWSAccessKeyId :: Lens' S3Storage (Maybe Text)-ssAWSAccessKeyId = lens _ssAWSAccessKeyId (\ s a -> s{_ssAWSAccessKeyId = a});--instance FromXML S3Storage where-        parseXML x-          = S3Storage' <$>-              (x .@? "prefix") <*> (x .@? "uploadPolicy") <*>-                (x .@? "bucket")-                <*> (x .@? "uploadPolicySignature")-                <*> (x .@? "AWSAccessKeyId")--instance ToQuery S3Storage where-        toQuery S3Storage'{..}-          = mconcat-              ["Prefix" =: _ssPrefix,-               "UploadPolicy" =: _ssUploadPolicy,-               "Bucket" =: _ssBucket,-               "UploadPolicySignature" =: _ssUploadPolicySignature,-               "AWSAccessKeyId" =: _ssAWSAccessKeyId]---- | Describes a security group------ /See:/ 'securityGroup' smart constructor.-data SecurityGroup = SecurityGroup'-    { _sgVPCId               :: !(Maybe Text)-    , _sgIPPermissions       :: !(Maybe [IPPermission])-    , _sgIPPermissionsEgress :: !(Maybe [IPPermission])-    , _sgTags                :: !(Maybe [Tag])-    , _sgOwnerId             :: !Text-    , _sgGroupId             :: !Text-    , _sgGroupName           :: !Text-    , _sgDescription         :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'SecurityGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sgVPCId'------ * 'sgIPPermissions'------ * 'sgIPPermissionsEgress'------ * 'sgTags'------ * 'sgOwnerId'------ * 'sgGroupId'------ * 'sgGroupName'------ * 'sgDescription'-securityGroup-    :: Text -- ^ 'sgOwnerId'-    -> Text -- ^ 'sgGroupId'-    -> Text -- ^ 'sgGroupName'-    -> Text -- ^ 'sgDescription'-    -> SecurityGroup-securityGroup pOwnerId_ pGroupId_ pGroupName_ pDescription_ =-    SecurityGroup'-    { _sgVPCId = Nothing-    , _sgIPPermissions = Nothing-    , _sgIPPermissionsEgress = Nothing-    , _sgTags = Nothing-    , _sgOwnerId = pOwnerId_-    , _sgGroupId = pGroupId_-    , _sgGroupName = pGroupName_-    , _sgDescription = pDescription_-    }---- | [EC2-VPC] The ID of the VPC for the security group.-sgVPCId :: Lens' SecurityGroup (Maybe Text)-sgVPCId = lens _sgVPCId (\ s a -> s{_sgVPCId = a});---- | One or more inbound rules associated with the security group.-sgIPPermissions :: Lens' SecurityGroup [IPPermission]-sgIPPermissions = lens _sgIPPermissions (\ s a -> s{_sgIPPermissions = a}) . _Default . _Coerce;---- | [EC2-VPC] One or more outbound rules associated with the security group.-sgIPPermissionsEgress :: Lens' SecurityGroup [IPPermission]-sgIPPermissionsEgress = lens _sgIPPermissionsEgress (\ s a -> s{_sgIPPermissionsEgress = a}) . _Default . _Coerce;---- | Any tags assigned to the security group.-sgTags :: Lens' SecurityGroup [Tag]-sgTags = lens _sgTags (\ s a -> s{_sgTags = a}) . _Default . _Coerce;---- | The AWS account ID of the owner of the security group.-sgOwnerId :: Lens' SecurityGroup Text-sgOwnerId = lens _sgOwnerId (\ s a -> s{_sgOwnerId = a});---- | The ID of the security group.-sgGroupId :: Lens' SecurityGroup Text-sgGroupId = lens _sgGroupId (\ s a -> s{_sgGroupId = a});---- | The name of the security group.-sgGroupName :: Lens' SecurityGroup Text-sgGroupName = lens _sgGroupName (\ s a -> s{_sgGroupName = a});---- | A description of the security group.-sgDescription :: Lens' SecurityGroup Text-sgDescription = lens _sgDescription (\ s a -> s{_sgDescription = a});--instance FromXML SecurityGroup where-        parseXML x-          = SecurityGroup' <$>-              (x .@? "vpcId") <*>-                (x .@? "ipPermissions" .!@ mempty >>=-                   may (parseXMLList "item"))-                <*>-                (x .@? "ipPermissionsEgress" .!@ mempty >>=-                   may (parseXMLList "item"))-                <*>-                (x .@? "tagSet" .!@ mempty >>=-                   may (parseXMLList "item"))-                <*> (x .@ "ownerId")-                <*> (x .@ "groupId")-                <*> (x .@ "groupName")-                <*> (x .@ "groupDescription")---- | Describes a snapshot.------ /See:/ 'snapshot' smart constructor.-data Snapshot = Snapshot'-    { _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 "GroupSet" <$> _sflsSecurityGroups),-               toQuery-                 (toQueryList "NetworkInterfaceSet" <$>-                    _sflsNetworkInterfaces),-               "KeyName" =: _sflsKeyName,-               "RamdiskId" =: _sflsRAMDiskId,-               "KernelId" =: _sflsKernelId,-               "SubnetId" =: _sflsSubnetId,-               "InstanceType" =: _sflsInstanceType,-               "EbsOptimized" =: _sflsEBSOptimized,-               "UserData" =: _sflsUserData,-               "Monitoring" =: _sflsMonitoring,-               "IamInstanceProfile" =: _sflsIAMInstanceProfile,-               "ImageId" =: _sflsImageId,-               toQuery-                 (toQueryList "BlockDeviceMapping" <$>-                    _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 "LaunchSpecifications"-                 _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"))+    { _aAssociationId           :: !(Maybe Text)+    , _aInstanceId              :: !(Maybe Text)+    , _aNetworkInterfaceOwnerId :: !(Maybe Text)+    , _aAllocationId            :: !(Maybe Text)+    , _aDomain                  :: !(Maybe DomainType)+    , _aNetworkInterfaceId      :: !(Maybe Text)+    , _aPrivateIPAddress        :: !(Maybe Text)+    , _aPublicIP                :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Address' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aAssociationId'+--+-- * 'aInstanceId'+--+-- * 'aNetworkInterfaceOwnerId'+--+-- * 'aAllocationId'+--+-- * 'aDomain'+--+-- * 'aNetworkInterfaceId'+--+-- * 'aPrivateIPAddress'+--+-- * 'aPublicIP'+address+    :: Address+address =+    Address'+    { _aAssociationId = Nothing+    , _aInstanceId = Nothing+    , _aNetworkInterfaceOwnerId = Nothing+    , _aAllocationId = Nothing+    , _aDomain = Nothing+    , _aNetworkInterfaceId = Nothing+    , _aPrivateIPAddress = Nothing+    , _aPublicIP = Nothing+    }++-- | The ID representing the association of the address with an instance in a+-- VPC.+aAssociationId :: Lens' Address (Maybe Text)+aAssociationId = lens _aAssociationId (\ s a -> s{_aAssociationId = a});++-- | The ID of the instance that the address is associated with (if any).+aInstanceId :: Lens' Address (Maybe Text)+aInstanceId = lens _aInstanceId (\ s a -> s{_aInstanceId = a});++-- | The ID of the AWS account that owns the network interface.+aNetworkInterfaceOwnerId :: Lens' Address (Maybe Text)+aNetworkInterfaceOwnerId = lens _aNetworkInterfaceOwnerId (\ s a -> s{_aNetworkInterfaceOwnerId = a});++-- | The ID representing the allocation of the address for use with EC2-VPC.+aAllocationId :: Lens' Address (Maybe Text)+aAllocationId = lens _aAllocationId (\ s a -> s{_aAllocationId = a});++-- | Indicates whether this Elastic IP address is for use with instances in+-- EC2-Classic ('standard') or instances in a VPC ('vpc').+aDomain :: Lens' Address (Maybe DomainType)+aDomain = lens _aDomain (\ s a -> s{_aDomain = a});++-- | The ID of the network interface.+aNetworkInterfaceId :: Lens' Address (Maybe Text)+aNetworkInterfaceId = lens _aNetworkInterfaceId (\ s a -> s{_aNetworkInterfaceId = a});++-- | The private IP address associated with the Elastic IP address.+aPrivateIPAddress :: Lens' Address (Maybe Text)+aPrivateIPAddress = lens _aPrivateIPAddress (\ s a -> s{_aPrivateIPAddress = a});++-- | The Elastic IP address.+aPublicIP :: Lens' Address (Maybe Text)+aPublicIP = lens _aPublicIP (\ s a -> s{_aPublicIP = a});++instance FromXML Address where+        parseXML x+          = Address' <$>+              (x .@? "associationId") <*> (x .@? "instanceId") <*>+                (x .@? "networkInterfaceOwnerId")+                <*> (x .@? "allocationId")+                <*> (x .@? "domain")+                <*> (x .@? "networkInterfaceId")+                <*> (x .@? "privateIpAddress")+                <*> (x .@? "publicIp")++-- | The value to use when a resource attribute accepts a Boolean value.+--+-- /See:/ 'attributeBooleanValue' smart constructor.+newtype AttributeBooleanValue = AttributeBooleanValue'+    { _abvValue :: Maybe Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttributeBooleanValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'abvValue'+attributeBooleanValue+    :: AttributeBooleanValue+attributeBooleanValue =+    AttributeBooleanValue'+    { _abvValue = Nothing+    }++-- | Valid values are 'true' or 'false'.+abvValue :: Lens' AttributeBooleanValue (Maybe Bool)+abvValue = lens _abvValue (\ s a -> s{_abvValue = a});++instance FromXML AttributeBooleanValue where+        parseXML x+          = AttributeBooleanValue' <$> (x .@? "value")++instance ToQuery AttributeBooleanValue where+        toQuery AttributeBooleanValue'{..}+          = mconcat ["Value" =: _abvValue]++-- | The value to use for a resource attribute.+--+-- /See:/ 'attributeValue' smart constructor.+newtype AttributeValue = AttributeValue'+    { _avValue :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttributeValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avValue'+attributeValue+    :: AttributeValue+attributeValue =+    AttributeValue'+    { _avValue = Nothing+    }++-- | Valid values are case-sensitive and vary by action.+avValue :: Lens' AttributeValue (Maybe Text)+avValue = lens _avValue (\ s a -> s{_avValue = a});++instance FromXML AttributeValue where+        parseXML x = AttributeValue' <$> (x .@? "value")++instance ToQuery AttributeValue where+        toQuery AttributeValue'{..}+          = mconcat ["Value" =: _avValue]++-- | Describes an Availability Zone.+--+-- /See:/ 'availabilityZone' smart constructor.+data AvailabilityZone = AvailabilityZone'+    { _azState      :: !(Maybe AvailabilityZoneState)+    , _azRegionName :: !(Maybe Text)+    , _azZoneName   :: !(Maybe Text)+    , _azMessages   :: !(Maybe [AvailabilityZoneMessage])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AvailabilityZone' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'azState'+--+-- * 'azRegionName'+--+-- * 'azZoneName'+--+-- * 'azMessages'+availabilityZone+    :: AvailabilityZone+availabilityZone =+    AvailabilityZone'+    { _azState = Nothing+    , _azRegionName = Nothing+    , _azZoneName = Nothing+    , _azMessages = Nothing+    }++-- | The state of the Availability Zone ('available' | 'impaired' |+-- 'unavailable').+azState :: Lens' AvailabilityZone (Maybe AvailabilityZoneState)+azState = lens _azState (\ s a -> s{_azState = a});++-- | The name of the region.+azRegionName :: Lens' AvailabilityZone (Maybe Text)+azRegionName = lens _azRegionName (\ s a -> s{_azRegionName = a});++-- | The name of the Availability Zone.+azZoneName :: Lens' AvailabilityZone (Maybe Text)+azZoneName = lens _azZoneName (\ s a -> s{_azZoneName = a});++-- | Any messages about the Availability Zone.+azMessages :: Lens' AvailabilityZone [AvailabilityZoneMessage]+azMessages = lens _azMessages (\ s a -> s{_azMessages = a}) . _Default . _Coerce;++instance FromXML AvailabilityZone where+        parseXML x+          = AvailabilityZone' <$>+              (x .@? "zoneState") <*> (x .@? "regionName") <*>+                (x .@? "zoneName")+                <*>+                (x .@? "messageSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | Describes a message about an Availability Zone.+--+-- /See:/ 'availabilityZoneMessage' smart constructor.+newtype AvailabilityZoneMessage = AvailabilityZoneMessage'+    { _azmMessage :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AvailabilityZoneMessage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'azmMessage'+availabilityZoneMessage+    :: AvailabilityZoneMessage+availabilityZoneMessage =+    AvailabilityZoneMessage'+    { _azmMessage = Nothing+    }++-- | The message about the Availability Zone.+azmMessage :: Lens' AvailabilityZoneMessage (Maybe Text)+azmMessage = lens _azmMessage (\ s a -> s{_azmMessage = a});++instance FromXML AvailabilityZoneMessage where+        parseXML x+          = AvailabilityZoneMessage' <$> (x .@? "message")++-- | /See:/ 'blobAttributeValue' smart constructor.+newtype BlobAttributeValue = BlobAttributeValue'+    { _bavValue :: Maybe Base64+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlobAttributeValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bavValue'+blobAttributeValue+    :: BlobAttributeValue+blobAttributeValue =+    BlobAttributeValue'+    { _bavValue = Nothing+    }++-- | Undocumented member.+--+-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data,+-- despite what the AWS documentation might say.+-- The underlying isomorphism will encode to Base64 representation during+-- serialisation, and decode from Base64 representation during deserialisation.+-- This 'Lens' accepts and returns only raw unencoded data.+bavValue :: Lens' BlobAttributeValue (Maybe ByteString)+bavValue = lens _bavValue (\ s a -> s{_bavValue = a}) . mapping _Base64;++instance ToQuery BlobAttributeValue where+        toQuery BlobAttributeValue'{..}+          = mconcat ["Value" =: _bavValue]++-- | Describes a block device mapping.+--+-- /See:/ 'blockDeviceMapping' smart constructor.+data BlockDeviceMapping = BlockDeviceMapping'+    { _bdmVirtualName :: !(Maybe Text)+    , _bdmNoDevice    :: !(Maybe Text)+    , _bdmEBS         :: !(Maybe EBSBlockDevice)+    , _bdmDeviceName  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlockDeviceMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdmVirtualName'+--+-- * 'bdmNoDevice'+--+-- * 'bdmEBS'+--+-- * 'bdmDeviceName'+blockDeviceMapping+    :: Text -- ^ 'bdmDeviceName'+    -> BlockDeviceMapping+blockDeviceMapping pDeviceName_ =+    BlockDeviceMapping'+    { _bdmVirtualName = Nothing+    , _bdmNoDevice = Nothing+    , _bdmEBS = Nothing+    , _bdmDeviceName = pDeviceName_+    }++-- | The virtual device name ('ephemeral'N). Instance store volumes are+-- numbered starting from 0. An instance type with 2 available instance+-- store volumes can specify mappings for 'ephemeral0' and 'ephemeral1'.The+-- number of available instance store volumes depends on the instance type.+-- After you connect to the instance, you must mount the volume.+--+-- Constraints: For M3 instances, you must specify instance store volumes+-- in the block device mapping for the instance. When you launch an M3+-- instance, we ignore any instance store volumes specified in the block+-- device mapping for the AMI.+bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)+bdmVirtualName = lens _bdmVirtualName (\ s a -> s{_bdmVirtualName = a});++-- | Suppresses the specified device included in the block device mapping of+-- the AMI.+bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Text)+bdmNoDevice = lens _bdmNoDevice (\ s a -> s{_bdmNoDevice = a});++-- | Parameters used to automatically set up EBS volumes when the instance is+-- launched.+bdmEBS :: Lens' BlockDeviceMapping (Maybe EBSBlockDevice)+bdmEBS = lens _bdmEBS (\ s a -> s{_bdmEBS = a});++-- | The device name exposed to the instance (for example, '\/dev\/sdh' or+-- 'xvdh').+bdmDeviceName :: Lens' BlockDeviceMapping Text+bdmDeviceName = lens _bdmDeviceName (\ s a -> s{_bdmDeviceName = a});++instance FromXML BlockDeviceMapping where+        parseXML x+          = BlockDeviceMapping' <$>+              (x .@? "virtualName") <*> (x .@? "noDevice") <*>+                (x .@? "ebs")+                <*> (x .@ "deviceName")++instance ToQuery BlockDeviceMapping where+        toQuery BlockDeviceMapping'{..}+          = mconcat+              ["VirtualName" =: _bdmVirtualName,+               "NoDevice" =: _bdmNoDevice, "Ebs" =: _bdmEBS,+               "DeviceName" =: _bdmDeviceName]++-- | Describes a bundle task.+--+-- /See:/ 'bundleTask' smart constructor.+data BundleTask = BundleTask'+    { _btBundleTaskError :: !(Maybe BundleTaskError)+    , _btBundleId        :: !Text+    , _btInstanceId      :: !Text+    , _btProgress        :: !Text+    , _btStartTime       :: !ISO8601+    , _btState           :: !BundleTaskState+    , _btStorage         :: !Storage+    , _btUpdateTime      :: !ISO8601+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BundleTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'btBundleTaskError'+--+-- * 'btBundleId'+--+-- * 'btInstanceId'+--+-- * 'btProgress'+--+-- * 'btStartTime'+--+-- * 'btState'+--+-- * 'btStorage'+--+-- * 'btUpdateTime'+bundleTask+    :: Text -- ^ 'btBundleId'+    -> Text -- ^ 'btInstanceId'+    -> Text -- ^ 'btProgress'+    -> UTCTime -- ^ 'btStartTime'+    -> BundleTaskState -- ^ 'btState'+    -> Storage -- ^ 'btStorage'+    -> UTCTime -- ^ 'btUpdateTime'+    -> BundleTask+bundleTask pBundleId_ pInstanceId_ pProgress_ pStartTime_ pState_ pStorage_ pUpdateTime_ =+    BundleTask'+    { _btBundleTaskError = Nothing+    , _btBundleId = pBundleId_+    , _btInstanceId = pInstanceId_+    , _btProgress = pProgress_+    , _btStartTime = _Time # pStartTime_+    , _btState = pState_+    , _btStorage = pStorage_+    , _btUpdateTime = _Time # pUpdateTime_+    }++-- | If the task fails, a description of the error.+btBundleTaskError :: Lens' BundleTask (Maybe BundleTaskError)+btBundleTaskError = lens _btBundleTaskError (\ s a -> s{_btBundleTaskError = a});++-- | The ID of the bundle task.+btBundleId :: Lens' BundleTask Text+btBundleId = lens _btBundleId (\ s a -> s{_btBundleId = a});++-- | The ID of the instance associated with this bundle task.+btInstanceId :: Lens' BundleTask Text+btInstanceId = lens _btInstanceId (\ s a -> s{_btInstanceId = a});++-- | The level of task completion, as a percent (for example, 20%).+btProgress :: Lens' BundleTask Text+btProgress = lens _btProgress (\ s a -> s{_btProgress = a});++-- | The time this task started.+btStartTime :: Lens' BundleTask UTCTime+btStartTime = lens _btStartTime (\ s a -> s{_btStartTime = a}) . _Time;++-- | The state of the task.+btState :: Lens' BundleTask BundleTaskState+btState = lens _btState (\ s a -> s{_btState = a});++-- | The Amazon S3 storage locations.+btStorage :: Lens' BundleTask Storage+btStorage = lens _btStorage (\ s a -> s{_btStorage = a});++-- | The time of the most recent update for the task.+btUpdateTime :: Lens' BundleTask UTCTime+btUpdateTime = lens _btUpdateTime (\ s a -> s{_btUpdateTime = a}) . _Time;++instance FromXML BundleTask where+        parseXML x+          = BundleTask' <$>+              (x .@? "error") <*> (x .@ "bundleId") <*>+                (x .@ "instanceId")+                <*> (x .@ "progress")+                <*> (x .@ "startTime")+                <*> (x .@ "state")+                <*> (x .@ "storage")+                <*> (x .@ "updateTime")++-- | Describes an error for BundleInstance.+--+-- /See:/ 'bundleTaskError' smart constructor.+data BundleTaskError = BundleTaskError'+    { _bteCode    :: !(Maybe Text)+    , _bteMessage :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BundleTaskError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bteCode'+--+-- * 'bteMessage'+bundleTaskError+    :: BundleTaskError+bundleTaskError =+    BundleTaskError'+    { _bteCode = Nothing+    , _bteMessage = Nothing+    }++-- | The error code.+bteCode :: Lens' BundleTaskError (Maybe Text)+bteCode = lens _bteCode (\ s a -> s{_bteCode = a});++-- | The error message.+bteMessage :: Lens' BundleTaskError (Maybe Text)+bteMessage = lens _bteMessage (\ s a -> s{_bteMessage = a});++instance FromXML BundleTaskError where+        parseXML x+          = BundleTaskError' <$>+              (x .@? "code") <*> (x .@? "message")++-- | Describes a Spot fleet error.+--+-- /See:/ 'cancelSpotFleetRequestsError' smart constructor.+data CancelSpotFleetRequestsError = CancelSpotFleetRequestsError'+    { _csfreCode    :: !CancelBatchErrorCode+    , _csfreMessage :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelSpotFleetRequestsError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csfreCode'+--+-- * 'csfreMessage'+cancelSpotFleetRequestsError+    :: CancelBatchErrorCode -- ^ 'csfreCode'+    -> Text -- ^ 'csfreMessage'+    -> CancelSpotFleetRequestsError+cancelSpotFleetRequestsError pCode_ pMessage_ =+    CancelSpotFleetRequestsError'+    { _csfreCode = pCode_+    , _csfreMessage = pMessage_+    }++-- | The error code.+csfreCode :: Lens' CancelSpotFleetRequestsError CancelBatchErrorCode+csfreCode = lens _csfreCode (\ s a -> s{_csfreCode = a});++-- | The description for the error code.+csfreMessage :: Lens' CancelSpotFleetRequestsError Text+csfreMessage = lens _csfreMessage (\ s a -> s{_csfreMessage = a});++instance FromXML CancelSpotFleetRequestsError where+        parseXML x+          = CancelSpotFleetRequestsError' <$>+              (x .@ "code") <*> (x .@ "message")++-- | Describes a Spot fleet request that was not successfully canceled.+--+-- /See:/ 'cancelSpotFleetRequestsErrorItem' smart constructor.+data CancelSpotFleetRequestsErrorItem = CancelSpotFleetRequestsErrorItem'+    { _csfreiSpotFleetRequestId :: !Text+    , _csfreiError              :: !CancelSpotFleetRequestsError+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelSpotFleetRequestsErrorItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csfreiSpotFleetRequestId'+--+-- * 'csfreiError'+cancelSpotFleetRequestsErrorItem+    :: Text -- ^ 'csfreiSpotFleetRequestId'+    -> CancelSpotFleetRequestsError -- ^ 'csfreiError'+    -> CancelSpotFleetRequestsErrorItem+cancelSpotFleetRequestsErrorItem pSpotFleetRequestId_ pError_ =+    CancelSpotFleetRequestsErrorItem'+    { _csfreiSpotFleetRequestId = pSpotFleetRequestId_+    , _csfreiError = pError_+    }++-- | The ID of the Spot fleet request.+csfreiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsErrorItem Text+csfreiSpotFleetRequestId = lens _csfreiSpotFleetRequestId (\ s a -> s{_csfreiSpotFleetRequestId = a});++-- | The error.+csfreiError :: Lens' CancelSpotFleetRequestsErrorItem CancelSpotFleetRequestsError+csfreiError = lens _csfreiError (\ s a -> s{_csfreiError = a});++instance FromXML CancelSpotFleetRequestsErrorItem+         where+        parseXML x+          = CancelSpotFleetRequestsErrorItem' <$>+              (x .@ "spotFleetRequestId") <*> (x .@ "error")++-- | Describes a Spot fleet request that was successfully canceled.+--+-- /See:/ 'cancelSpotFleetRequestsSuccessItem' smart constructor.+data CancelSpotFleetRequestsSuccessItem = CancelSpotFleetRequestsSuccessItem'+    { _csfrsiSpotFleetRequestId            :: !Text+    , _csfrsiCurrentSpotFleetRequestState  :: !BatchState+    , _csfrsiPreviousSpotFleetRequestState :: !BatchState+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelSpotFleetRequestsSuccessItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csfrsiSpotFleetRequestId'+--+-- * 'csfrsiCurrentSpotFleetRequestState'+--+-- * 'csfrsiPreviousSpotFleetRequestState'+cancelSpotFleetRequestsSuccessItem+    :: Text -- ^ 'csfrsiSpotFleetRequestId'+    -> BatchState -- ^ 'csfrsiCurrentSpotFleetRequestState'+    -> BatchState -- ^ 'csfrsiPreviousSpotFleetRequestState'+    -> CancelSpotFleetRequestsSuccessItem+cancelSpotFleetRequestsSuccessItem pSpotFleetRequestId_ pCurrentSpotFleetRequestState_ pPreviousSpotFleetRequestState_ =+    CancelSpotFleetRequestsSuccessItem'+    { _csfrsiSpotFleetRequestId = pSpotFleetRequestId_+    , _csfrsiCurrentSpotFleetRequestState = pCurrentSpotFleetRequestState_+    , _csfrsiPreviousSpotFleetRequestState = pPreviousSpotFleetRequestState_+    }++-- | The ID of the Spot fleet request.+csfrsiSpotFleetRequestId :: Lens' CancelSpotFleetRequestsSuccessItem Text+csfrsiSpotFleetRequestId = lens _csfrsiSpotFleetRequestId (\ s a -> s{_csfrsiSpotFleetRequestId = a});++-- | The current state of the Spot fleet request.+csfrsiCurrentSpotFleetRequestState :: Lens' CancelSpotFleetRequestsSuccessItem BatchState+csfrsiCurrentSpotFleetRequestState = lens _csfrsiCurrentSpotFleetRequestState (\ s a -> s{_csfrsiCurrentSpotFleetRequestState = a});++-- | The previous state of the Spot fleet request.+csfrsiPreviousSpotFleetRequestState :: Lens' CancelSpotFleetRequestsSuccessItem BatchState+csfrsiPreviousSpotFleetRequestState = lens _csfrsiPreviousSpotFleetRequestState (\ s a -> s{_csfrsiPreviousSpotFleetRequestState = a});++instance FromXML CancelSpotFleetRequestsSuccessItem+         where+        parseXML x+          = CancelSpotFleetRequestsSuccessItem' <$>+              (x .@ "spotFleetRequestId") <*>+                (x .@ "currentSpotFleetRequestState")+                <*> (x .@ "previousSpotFleetRequestState")++-- | Describes a request to cancel a Spot Instance.+--+-- /See:/ 'cancelledSpotInstanceRequest' smart constructor.+data CancelledSpotInstanceRequest = CancelledSpotInstanceRequest'+    { _csirState                 :: !(Maybe CancelSpotInstanceRequestState)+    , _csirSpotInstanceRequestId :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelledSpotInstanceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csirState'+--+-- * 'csirSpotInstanceRequestId'+cancelledSpotInstanceRequest+    :: CancelledSpotInstanceRequest+cancelledSpotInstanceRequest =+    CancelledSpotInstanceRequest'+    { _csirState = Nothing+    , _csirSpotInstanceRequestId = Nothing+    }++-- | The state of the Spot Instance request.+csirState :: Lens' CancelledSpotInstanceRequest (Maybe CancelSpotInstanceRequestState)+csirState = lens _csirState (\ s a -> s{_csirState = a});++-- | The ID of the Spot Instance request.+csirSpotInstanceRequestId :: Lens' CancelledSpotInstanceRequest (Maybe Text)+csirSpotInstanceRequestId = lens _csirSpotInstanceRequestId (\ s a -> s{_csirSpotInstanceRequestId = a});++instance FromXML CancelledSpotInstanceRequest where+        parseXML x+          = CancelledSpotInstanceRequest' <$>+              (x .@? "state") <*> (x .@? "spotInstanceRequestId")++-- | Describes a linked EC2-Classic instance.+--+-- /See:/ 'classicLinkInstance' smart constructor.+data ClassicLinkInstance = ClassicLinkInstance'+    { _cliInstanceId :: !(Maybe Text)+    , _cliGroups     :: !(Maybe [GroupIdentifier])+    , _cliVPCId      :: !(Maybe Text)+    , _cliTags       :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClassicLinkInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cliInstanceId'+--+-- * 'cliGroups'+--+-- * 'cliVPCId'+--+-- * 'cliTags'+classicLinkInstance+    :: ClassicLinkInstance+classicLinkInstance =+    ClassicLinkInstance'+    { _cliInstanceId = Nothing+    , _cliGroups = Nothing+    , _cliVPCId = Nothing+    , _cliTags = Nothing+    }++-- | The ID of the instance.+cliInstanceId :: Lens' ClassicLinkInstance (Maybe Text)+cliInstanceId = lens _cliInstanceId (\ s a -> s{_cliInstanceId = a});++-- | A list of security groups.+cliGroups :: Lens' ClassicLinkInstance [GroupIdentifier]+cliGroups = lens _cliGroups (\ s a -> s{_cliGroups = a}) . _Default . _Coerce;++-- | The ID of the VPC.+cliVPCId :: Lens' ClassicLinkInstance (Maybe Text)+cliVPCId = lens _cliVPCId (\ s a -> s{_cliVPCId = a});++-- | Any tags assigned to the instance.+cliTags :: Lens' ClassicLinkInstance [Tag]+cliTags = lens _cliTags (\ s a -> s{_cliTags = a}) . _Default . _Coerce;++instance FromXML ClassicLinkInstance where+        parseXML x+          = ClassicLinkInstance' <$>+              (x .@? "instanceId") <*>+                (x .@? "groupSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "vpcId")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | Describes the client-specific data.+--+-- /See:/ 'clientData' smart constructor.+data ClientData = ClientData'+    { _cdUploadStart :: !(Maybe ISO8601)+    , _cdUploadSize  :: !(Maybe Double)+    , _cdUploadEnd   :: !(Maybe ISO8601)+    , _cdComment     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClientData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdUploadStart'+--+-- * 'cdUploadSize'+--+-- * 'cdUploadEnd'+--+-- * 'cdComment'+clientData+    :: ClientData+clientData =+    ClientData'+    { _cdUploadStart = Nothing+    , _cdUploadSize = Nothing+    , _cdUploadEnd = Nothing+    , _cdComment = Nothing+    }++-- | The time that the disk upload starts.+cdUploadStart :: Lens' ClientData (Maybe UTCTime)+cdUploadStart = lens _cdUploadStart (\ s a -> s{_cdUploadStart = a}) . mapping _Time;++-- | The size of the uploaded disk image, in GiB.+cdUploadSize :: Lens' ClientData (Maybe Double)+cdUploadSize = lens _cdUploadSize (\ s a -> s{_cdUploadSize = a});++-- | The time that the disk upload ends.+cdUploadEnd :: Lens' ClientData (Maybe UTCTime)+cdUploadEnd = lens _cdUploadEnd (\ s a -> s{_cdUploadEnd = a}) . mapping _Time;++-- | A user-defined comment about the disk upload.+cdComment :: Lens' ClientData (Maybe Text)+cdComment = lens _cdComment (\ s a -> s{_cdComment = a});++instance ToQuery ClientData where+        toQuery ClientData'{..}+          = mconcat+              ["UploadStart" =: _cdUploadStart,+               "UploadSize" =: _cdUploadSize,+               "UploadEnd" =: _cdUploadEnd, "Comment" =: _cdComment]++-- | Describes a conversion task.+--+-- /See:/ 'conversionTask' smart constructor.+data ConversionTask = ConversionTask'+    { _ctImportInstance   :: !(Maybe ImportInstanceTaskDetails)+    , _ctStatusMessage    :: !(Maybe Text)+    , _ctImportVolume     :: !(Maybe ImportVolumeTaskDetails)+    , _ctExpirationTime   :: !(Maybe Text)+    , _ctTags             :: !(Maybe [Tag])+    , _ctConversionTaskId :: !Text+    , _ctState            :: !ConversionTaskState+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConversionTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctImportInstance'+--+-- * 'ctStatusMessage'+--+-- * 'ctImportVolume'+--+-- * 'ctExpirationTime'+--+-- * 'ctTags'+--+-- * 'ctConversionTaskId'+--+-- * 'ctState'+conversionTask+    :: Text -- ^ 'ctConversionTaskId'+    -> ConversionTaskState -- ^ 'ctState'+    -> ConversionTask+conversionTask pConversionTaskId_ pState_ =+    ConversionTask'+    { _ctImportInstance = Nothing+    , _ctStatusMessage = Nothing+    , _ctImportVolume = Nothing+    , _ctExpirationTime = Nothing+    , _ctTags = Nothing+    , _ctConversionTaskId = pConversionTaskId_+    , _ctState = pState_+    }++-- | If the task is for importing an instance, this contains information+-- about the import instance task.+ctImportInstance :: Lens' ConversionTask (Maybe ImportInstanceTaskDetails)+ctImportInstance = lens _ctImportInstance (\ s a -> s{_ctImportInstance = a});++-- | The status message related to the conversion task.+ctStatusMessage :: Lens' ConversionTask (Maybe Text)+ctStatusMessage = lens _ctStatusMessage (\ s a -> s{_ctStatusMessage = a});++-- | If the task is for importing a volume, this contains information about+-- the import volume task.+ctImportVolume :: Lens' ConversionTask (Maybe ImportVolumeTaskDetails)+ctImportVolume = lens _ctImportVolume (\ s a -> s{_ctImportVolume = a});++-- | The time when the task expires. If the upload isn\'t complete before the+-- expiration time, we automatically cancel the task.+ctExpirationTime :: Lens' ConversionTask (Maybe Text)+ctExpirationTime = lens _ctExpirationTime (\ s a -> s{_ctExpirationTime = a});++-- | Any tags assigned to the task.+ctTags :: Lens' ConversionTask [Tag]+ctTags = lens _ctTags (\ s a -> s{_ctTags = a}) . _Default . _Coerce;++-- | The ID of the conversion task.+ctConversionTaskId :: Lens' ConversionTask Text+ctConversionTaskId = lens _ctConversionTaskId (\ s a -> s{_ctConversionTaskId = a});++-- | The state of the conversion task.+ctState :: Lens' ConversionTask ConversionTaskState+ctState = lens _ctState (\ s a -> s{_ctState = a});++instance FromXML ConversionTask where+        parseXML x+          = ConversionTask' <$>+              (x .@? "importInstance") <*> (x .@? "statusMessage")+                <*> (x .@? "importVolume")+                <*> (x .@? "expirationTime")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@ "conversionTaskId")+                <*> (x .@ "state")++-- | Describes the user or group to be added or removed from the permissions+-- for a volume.+--+-- /See:/ 'createVolumePermission' smart constructor.+data CreateVolumePermission = CreateVolumePermission'+    { _cvpGroup  :: !(Maybe PermissionGroup)+    , _cvpUserId :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVolumePermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvpGroup'+--+-- * 'cvpUserId'+createVolumePermission+    :: CreateVolumePermission+createVolumePermission =+    CreateVolumePermission'+    { _cvpGroup = Nothing+    , _cvpUserId = Nothing+    }++-- | The specific group that is to be added or removed from a volume\'s list+-- of create volume permissions.+cvpGroup :: Lens' CreateVolumePermission (Maybe PermissionGroup)+cvpGroup = lens _cvpGroup (\ s a -> s{_cvpGroup = a});++-- | The specific AWS account ID that is to be added or removed from a+-- volume\'s list of create volume permissions.+cvpUserId :: Lens' CreateVolumePermission (Maybe Text)+cvpUserId = lens _cvpUserId (\ s a -> s{_cvpUserId = a});++instance FromXML CreateVolumePermission where+        parseXML x+          = CreateVolumePermission' <$>+              (x .@? "group") <*> (x .@? "userId")++instance ToQuery CreateVolumePermission where+        toQuery CreateVolumePermission'{..}+          = mconcat+              ["Group" =: _cvpGroup, "UserId" =: _cvpUserId]++-- | Describes modifications to the permissions for a volume.+--+-- /See:/ 'createVolumePermissionModifications' smart constructor.+data CreateVolumePermissionModifications = CreateVolumePermissionModifications'+    { _cvpmRemove :: !(Maybe [CreateVolumePermission])+    , _cvpmAdd    :: !(Maybe [CreateVolumePermission])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateVolumePermissionModifications' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvpmRemove'+--+-- * 'cvpmAdd'+createVolumePermissionModifications+    :: CreateVolumePermissionModifications+createVolumePermissionModifications =+    CreateVolumePermissionModifications'+    { _cvpmRemove = Nothing+    , _cvpmAdd = Nothing+    }++-- | Removes a specific AWS account ID or group from a volume\'s list of+-- create volume permissions.+cvpmRemove :: Lens' CreateVolumePermissionModifications [CreateVolumePermission]+cvpmRemove = lens _cvpmRemove (\ s a -> s{_cvpmRemove = a}) . _Default . _Coerce;++-- | Adds a specific AWS account ID or group to a volume\'s list of create+-- volume permissions.+cvpmAdd :: Lens' CreateVolumePermissionModifications [CreateVolumePermission]+cvpmAdd = lens _cvpmAdd (\ s a -> s{_cvpmAdd = a}) . _Default . _Coerce;++instance ToQuery CreateVolumePermissionModifications+         where+        toQuery CreateVolumePermissionModifications'{..}+          = mconcat+              [toQuery (toQueryList "Remove" <$> _cvpmRemove),+               toQuery (toQueryList "Add" <$> _cvpmAdd)]++-- | Describes a customer gateway.+--+-- /See:/ 'customerGateway' smart constructor.+data CustomerGateway = CustomerGateway'+    { _cgTags              :: !(Maybe [Tag])+    , _cgBGPASN            :: !Text+    , _cgCustomerGatewayId :: !Text+    , _cgIPAddress         :: !Text+    , _cgState             :: !Text+    , _cgType              :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgTags'+--+-- * 'cgBGPASN'+--+-- * 'cgCustomerGatewayId'+--+-- * 'cgIPAddress'+--+-- * 'cgState'+--+-- * 'cgType'+customerGateway+    :: Text -- ^ 'cgBGPASN'+    -> Text -- ^ 'cgCustomerGatewayId'+    -> Text -- ^ 'cgIPAddress'+    -> Text -- ^ 'cgState'+    -> Text -- ^ 'cgType'+    -> CustomerGateway+customerGateway pBGPASN_ pCustomerGatewayId_ pIPAddress_ pState_ pType_ =+    CustomerGateway'+    { _cgTags = Nothing+    , _cgBGPASN = pBGPASN_+    , _cgCustomerGatewayId = pCustomerGatewayId_+    , _cgIPAddress = pIPAddress_+    , _cgState = pState_+    , _cgType = pType_+    }++-- | Any tags assigned to the customer gateway.+cgTags :: Lens' CustomerGateway [Tag]+cgTags = lens _cgTags (\ s a -> s{_cgTags = a}) . _Default . _Coerce;++-- | The customer gateway\'s Border Gateway Protocol (BGP) Autonomous System+-- Number (ASN).+cgBGPASN :: Lens' CustomerGateway Text+cgBGPASN = lens _cgBGPASN (\ s a -> s{_cgBGPASN = a});++-- | The ID of the customer gateway.+cgCustomerGatewayId :: Lens' CustomerGateway Text+cgCustomerGatewayId = lens _cgCustomerGatewayId (\ s a -> s{_cgCustomerGatewayId = a});++-- | The Internet-routable IP address of the customer gateway\'s outside+-- interface.+cgIPAddress :: Lens' CustomerGateway Text+cgIPAddress = lens _cgIPAddress (\ s a -> s{_cgIPAddress = a});++-- | The current state of the customer gateway+-- ('pending | available | deleting | deleted').+cgState :: Lens' CustomerGateway Text+cgState = lens _cgState (\ s a -> s{_cgState = a});++-- | The type of VPN connection the customer gateway supports ('ipsec.1').+cgType :: Lens' CustomerGateway Text+cgType = lens _cgType (\ s a -> s{_cgType = a});++instance FromXML CustomerGateway where+        parseXML x+          = CustomerGateway' <$>+              (x .@? "tagSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@ "bgpAsn")+                <*> (x .@ "customerGatewayId")+                <*> (x .@ "ipAddress")+                <*> (x .@ "state")+                <*> (x .@ "type")++-- | Describes a DHCP configuration option.+--+-- /See:/ 'dhcpConfiguration' smart constructor.+data DHCPConfiguration = DHCPConfiguration'+    { _dcValues :: !(Maybe [AttributeValue])+    , _dcKey    :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DHCPConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcValues'+--+-- * 'dcKey'+dhcpConfiguration+    :: DHCPConfiguration+dhcpConfiguration =+    DHCPConfiguration'+    { _dcValues = Nothing+    , _dcKey = Nothing+    }++-- | One or more values for the DHCP option.+dcValues :: Lens' DHCPConfiguration [AttributeValue]+dcValues = lens _dcValues (\ s a -> s{_dcValues = a}) . _Default . _Coerce;++-- | The name of a DHCP option.+dcKey :: Lens' DHCPConfiguration (Maybe Text)+dcKey = lens _dcKey (\ s a -> s{_dcKey = a});++instance FromXML DHCPConfiguration where+        parseXML x+          = DHCPConfiguration' <$>+              (x .@? "valueSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "key")++-- | Describes a set of DHCP options.+--+-- /See:/ 'dhcpOptions' smart constructor.+data DHCPOptions = DHCPOptions'+    { _doDHCPConfigurations :: !(Maybe [DHCPConfiguration])+    , _doDHCPOptionsId      :: !(Maybe Text)+    , _doTags               :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DHCPOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'doDHCPConfigurations'+--+-- * 'doDHCPOptionsId'+--+-- * 'doTags'+dhcpOptions+    :: DHCPOptions+dhcpOptions =+    DHCPOptions'+    { _doDHCPConfigurations = Nothing+    , _doDHCPOptionsId = Nothing+    , _doTags = Nothing+    }++-- | One or more DHCP options in the set.+doDHCPConfigurations :: Lens' DHCPOptions [DHCPConfiguration]+doDHCPConfigurations = lens _doDHCPConfigurations (\ s a -> s{_doDHCPConfigurations = a}) . _Default . _Coerce;++-- | The ID of the set of DHCP options.+doDHCPOptionsId :: Lens' DHCPOptions (Maybe Text)+doDHCPOptionsId = lens _doDHCPOptionsId (\ s a -> s{_doDHCPOptionsId = a});++-- | Any tags assigned to the DHCP options set.+doTags :: Lens' DHCPOptions [Tag]+doTags = lens _doTags (\ s a -> s{_doTags = a}) . _Default . _Coerce;++instance FromXML DHCPOptions where+        parseXML x+          = DHCPOptions' <$>+              (x .@? "dhcpConfigurationSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "dhcpOptionsId")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | Describes a disk image.+--+-- /See:/ 'diskImage' smart constructor.+data DiskImage = DiskImage'+    { _diImage       :: !(Maybe DiskImageDetail)+    , _diVolume      :: !(Maybe VolumeDetail)+    , _diDescription :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskImage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diImage'+--+-- * 'diVolume'+--+-- * 'diDescription'+diskImage+    :: DiskImage+diskImage =+    DiskImage'+    { _diImage = Nothing+    , _diVolume = Nothing+    , _diDescription = Nothing+    }++-- | Information about the disk image.+diImage :: Lens' DiskImage (Maybe DiskImageDetail)+diImage = lens _diImage (\ s a -> s{_diImage = a});++-- | Information about the volume.+diVolume :: Lens' DiskImage (Maybe VolumeDetail)+diVolume = lens _diVolume (\ s a -> s{_diVolume = a});++-- | A description of the disk image.+diDescription :: Lens' DiskImage (Maybe Text)+diDescription = lens _diDescription (\ s a -> s{_diDescription = a});++instance ToQuery DiskImage where+        toQuery DiskImage'{..}+          = mconcat+              ["Image" =: _diImage, "Volume" =: _diVolume,+               "Description" =: _diDescription]++-- | Describes a disk image.+--+-- /See:/ 'diskImageDescription' smart constructor.+data DiskImageDescription = DiskImageDescription'+    { _dChecksum          :: !(Maybe Text)+    , _dFormat            :: !DiskImageFormat+    , _dSize              :: !Integer+    , _dImportManifestURL :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskImageDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dChecksum'+--+-- * 'dFormat'+--+-- * 'dSize'+--+-- * 'dImportManifestURL'+diskImageDescription+    :: DiskImageFormat -- ^ 'dFormat'+    -> Integer -- ^ 'dSize'+    -> Text -- ^ 'dImportManifestURL'+    -> DiskImageDescription+diskImageDescription pFormat_ pSize_ pImportManifestURL_ =+    DiskImageDescription'+    { _dChecksum = Nothing+    , _dFormat = pFormat_+    , _dSize = pSize_+    , _dImportManifestURL = pImportManifestURL_+    }++-- | The checksum computed for the disk image.+dChecksum :: Lens' DiskImageDescription (Maybe Text)+dChecksum = lens _dChecksum (\ s a -> s{_dChecksum = a});++-- | The disk image format.+dFormat :: Lens' DiskImageDescription DiskImageFormat+dFormat = lens _dFormat (\ s a -> s{_dFormat = a});++-- | The size of the disk image, in GiB.+dSize :: Lens' DiskImageDescription Integer+dSize = lens _dSize (\ s a -> s{_dSize = a});++-- | A presigned URL for the import manifest stored in Amazon S3. For+-- information about creating a presigned URL for an Amazon S3 object, read+-- the \"Query String Request Authentication Alternative\" section of the+-- <http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html Authenticating REST Requests>+-- topic in the /Amazon Simple Storage Service Developer Guide/.+dImportManifestURL :: Lens' DiskImageDescription Text+dImportManifestURL = lens _dImportManifestURL (\ s a -> s{_dImportManifestURL = a});++instance FromXML DiskImageDescription where+        parseXML x+          = DiskImageDescription' <$>+              (x .@? "checksum") <*> (x .@ "format") <*>+                (x .@ "size")+                <*> (x .@ "importManifestUrl")++-- | Describes a disk image.+--+-- /See:/ 'diskImageDetail' smart constructor.+data DiskImageDetail = DiskImageDetail'+    { _didFormat            :: !DiskImageFormat+    , _didBytes             :: !Integer+    , _didImportManifestURL :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskImageDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'didFormat'+--+-- * 'didBytes'+--+-- * 'didImportManifestURL'+diskImageDetail+    :: DiskImageFormat -- ^ 'didFormat'+    -> Integer -- ^ 'didBytes'+    -> Text -- ^ 'didImportManifestURL'+    -> DiskImageDetail+diskImageDetail pFormat_ pBytes_ pImportManifestURL_ =+    DiskImageDetail'+    { _didFormat = pFormat_+    , _didBytes = pBytes_+    , _didImportManifestURL = pImportManifestURL_+    }++-- | The disk image format.+didFormat :: Lens' DiskImageDetail DiskImageFormat+didFormat = lens _didFormat (\ s a -> s{_didFormat = a});++-- | The size of the disk image, in GiB.+didBytes :: Lens' DiskImageDetail Integer+didBytes = lens _didBytes (\ s a -> s{_didBytes = a});++-- | A presigned URL for the import manifest stored in Amazon S3 and+-- presented here as an Amazon S3 presigned URL. For information about+-- creating a presigned URL for an Amazon S3 object, read the \"Query+-- String Request Authentication Alternative\" section of the+-- <http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html Authenticating REST Requests>+-- topic in the /Amazon Simple Storage Service Developer Guide/.+didImportManifestURL :: Lens' DiskImageDetail Text+didImportManifestURL = lens _didImportManifestURL (\ s a -> s{_didImportManifestURL = a});++instance ToQuery DiskImageDetail where+        toQuery DiskImageDetail'{..}+          = mconcat+              ["Format" =: _didFormat, "Bytes" =: _didBytes,+               "ImportManifestUrl" =: _didImportManifestURL]++-- | Describes a disk image volume.+--+-- /See:/ 'diskImageVolumeDescription' smart constructor.+data DiskImageVolumeDescription = DiskImageVolumeDescription'+    { _divdSize :: !(Maybe Integer)+    , _divdId   :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskImageVolumeDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'divdSize'+--+-- * 'divdId'+diskImageVolumeDescription+    :: Text -- ^ 'divdId'+    -> DiskImageVolumeDescription+diskImageVolumeDescription pId_ =+    DiskImageVolumeDescription'+    { _divdSize = Nothing+    , _divdId = pId_+    }++-- | The size of the volume, in GiB.+divdSize :: Lens' DiskImageVolumeDescription (Maybe Integer)+divdSize = lens _divdSize (\ s a -> s{_divdSize = a});++-- | The volume identifier.+divdId :: Lens' DiskImageVolumeDescription Text+divdId = lens _divdId (\ s a -> s{_divdId = a});++instance FromXML DiskImageVolumeDescription where+        parseXML x+          = DiskImageVolumeDescription' <$>+              (x .@? "size") <*> (x .@ "id")++-- | Describes a block device for an EBS volume.+--+-- /See:/ 'ebsBlockDevice' smart constructor.+data EBSBlockDevice = EBSBlockDevice'+    { _ebdDeleteOnTermination :: !(Maybe Bool)+    , _ebdVolumeSize          :: !(Maybe Int)+    , _ebdIOPS                :: !(Maybe Int)+    , _ebdEncrypted           :: !(Maybe Bool)+    , _ebdVolumeType          :: !(Maybe VolumeType)+    , _ebdSnapshotId          :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EBSBlockDevice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ebdDeleteOnTermination'+--+-- * 'ebdVolumeSize'+--+-- * 'ebdIOPS'+--+-- * 'ebdEncrypted'+--+-- * 'ebdVolumeType'+--+-- * 'ebdSnapshotId'+ebsBlockDevice+    :: EBSBlockDevice+ebsBlockDevice =+    EBSBlockDevice'+    { _ebdDeleteOnTermination = Nothing+    , _ebdVolumeSize = Nothing+    , _ebdIOPS = Nothing+    , _ebdEncrypted = Nothing+    , _ebdVolumeType = Nothing+    , _ebdSnapshotId = Nothing+    }++-- | Indicates whether the EBS volume is deleted on instance termination.+ebdDeleteOnTermination :: Lens' EBSBlockDevice (Maybe Bool)+ebdDeleteOnTermination = lens _ebdDeleteOnTermination (\ s a -> s{_ebdDeleteOnTermination = a});++-- | The size of the volume, in GiB.+--+-- Constraints: '1-1024' for 'standard' volumes, '1-16384' for 'gp2'+-- volumes, and '4-16384' for 'io1' volumes. If you specify a snapshot, the+-- volume size must be equal to or larger than the snapshot size.+--+-- Default: If you\'re creating the volume from a snapshot and don\'t+-- specify a volume size, the default is the snapshot size.+ebdVolumeSize :: Lens' EBSBlockDevice (Maybe Int)+ebdVolumeSize = lens _ebdVolumeSize (\ s a -> s{_ebdVolumeSize = a});++-- | The number of I\/O operations per second (IOPS) that the volume+-- supports. For Provisioned IOPS (SSD) volumes, this represents the number+-- of IOPS that are provisioned for the volume. For General Purpose (SSD)+-- volumes, this represents the baseline performance of the volume and the+-- rate at which the volume accumulates I\/O credits for bursting. For more+-- information on General Purpose (SSD) baseline performance, I\/O credits,+-- and bursting, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html Amazon EBS Volume Types>+-- in the /Amazon Elastic Compute Cloud User Guide/.+--+-- Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and+-- 3 to 10000 for General Purpose (SSD) volumes.+--+-- Condition: This parameter is required for requests to create 'io1'+-- volumes; it is not used in requests to create 'standard' or 'gp2'+-- volumes.+ebdIOPS :: Lens' EBSBlockDevice (Maybe Int)+ebdIOPS = lens _ebdIOPS (\ s a -> s{_ebdIOPS = a});++-- | Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS+-- volumes may only be attached to instances that support Amazon EBS+-- encryption.+ebdEncrypted :: Lens' EBSBlockDevice (Maybe Bool)+ebdEncrypted = lens _ebdEncrypted (\ s a -> s{_ebdEncrypted = a});++-- | The volume type. 'gp2' for General Purpose (SSD) volumes, 'io1' for+-- Provisioned IOPS (SSD) volumes, and 'standard' for Magnetic volumes.+--+-- Default: 'standard'+ebdVolumeType :: Lens' EBSBlockDevice (Maybe VolumeType)+ebdVolumeType = lens _ebdVolumeType (\ s a -> s{_ebdVolumeType = a});++-- | The ID of the snapshot.+ebdSnapshotId :: Lens' EBSBlockDevice (Maybe Text)+ebdSnapshotId = lens _ebdSnapshotId (\ s a -> s{_ebdSnapshotId = a});++instance FromXML EBSBlockDevice where+        parseXML x+          = EBSBlockDevice' <$>+              (x .@? "deleteOnTermination") <*>+                (x .@? "volumeSize")+                <*> (x .@? "iops")+                <*> (x .@? "encrypted")+                <*> (x .@? "volumeType")+                <*> (x .@? "snapshotId")++instance ToQuery EBSBlockDevice where+        toQuery EBSBlockDevice'{..}+          = mconcat+              ["DeleteOnTermination" =: _ebdDeleteOnTermination,+               "VolumeSize" =: _ebdVolumeSize, "Iops" =: _ebdIOPS,+               "Encrypted" =: _ebdEncrypted,+               "VolumeType" =: _ebdVolumeType,+               "SnapshotId" =: _ebdSnapshotId]++-- | Describes a parameter used to set up an EBS volume in a block device+-- mapping.+--+-- /See:/ 'ebsInstanceBlockDevice' smart constructor.+data EBSInstanceBlockDevice = EBSInstanceBlockDevice'+    { _eibdStatus              :: !(Maybe AttachmentStatus)+    , _eibdDeleteOnTermination :: !(Maybe Bool)+    , _eibdVolumeId            :: !(Maybe Text)+    , _eibdAttachTime          :: !(Maybe ISO8601)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EBSInstanceBlockDevice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eibdStatus'+--+-- * 'eibdDeleteOnTermination'+--+-- * 'eibdVolumeId'+--+-- * 'eibdAttachTime'+ebsInstanceBlockDevice+    :: EBSInstanceBlockDevice+ebsInstanceBlockDevice =+    EBSInstanceBlockDevice'+    { _eibdStatus = Nothing+    , _eibdDeleteOnTermination = Nothing+    , _eibdVolumeId = Nothing+    , _eibdAttachTime = Nothing+    }++-- | The attachment state.+eibdStatus :: Lens' EBSInstanceBlockDevice (Maybe AttachmentStatus)+eibdStatus = lens _eibdStatus (\ s a -> s{_eibdStatus = a});++-- | Indicates whether the volume is deleted on instance termination.+eibdDeleteOnTermination :: Lens' EBSInstanceBlockDevice (Maybe Bool)+eibdDeleteOnTermination = lens _eibdDeleteOnTermination (\ s a -> s{_eibdDeleteOnTermination = a});++-- | The ID of the EBS volume.+eibdVolumeId :: Lens' EBSInstanceBlockDevice (Maybe Text)+eibdVolumeId = lens _eibdVolumeId (\ s a -> s{_eibdVolumeId = a});++-- | The time stamp when the attachment initiated.+eibdAttachTime :: Lens' EBSInstanceBlockDevice (Maybe UTCTime)+eibdAttachTime = lens _eibdAttachTime (\ s a -> s{_eibdAttachTime = a}) . mapping _Time;++instance FromXML EBSInstanceBlockDevice where+        parseXML x+          = EBSInstanceBlockDevice' <$>+              (x .@? "status") <*> (x .@? "deleteOnTermination")+                <*> (x .@? "volumeId")+                <*> (x .@? "attachTime")++-- | /See:/ 'ebsInstanceBlockDeviceSpecification' smart constructor.+data EBSInstanceBlockDeviceSpecification = EBSInstanceBlockDeviceSpecification'+    { _eibdsDeleteOnTermination :: !(Maybe Bool)+    , _eibdsVolumeId            :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EBSInstanceBlockDeviceSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eibdsDeleteOnTermination'+--+-- * 'eibdsVolumeId'+ebsInstanceBlockDeviceSpecification+    :: EBSInstanceBlockDeviceSpecification+ebsInstanceBlockDeviceSpecification =+    EBSInstanceBlockDeviceSpecification'+    { _eibdsDeleteOnTermination = Nothing+    , _eibdsVolumeId = Nothing+    }++-- | Indicates whether the volume is deleted on instance termination.+eibdsDeleteOnTermination :: Lens' EBSInstanceBlockDeviceSpecification (Maybe Bool)+eibdsDeleteOnTermination = lens _eibdsDeleteOnTermination (\ s a -> s{_eibdsDeleteOnTermination = a});++-- | The ID of the EBS volume.+eibdsVolumeId :: Lens' EBSInstanceBlockDeviceSpecification (Maybe Text)+eibdsVolumeId = lens _eibdsVolumeId (\ s a -> s{_eibdsVolumeId = a});++instance ToQuery EBSInstanceBlockDeviceSpecification+         where+        toQuery EBSInstanceBlockDeviceSpecification'{..}+          = mconcat+              ["DeleteOnTermination" =: _eibdsDeleteOnTermination,+               "VolumeId" =: _eibdsVolumeId]++-- | Describes a Spot fleet event.+--+-- /See:/ 'eventInformation' smart constructor.+data EventInformation = EventInformation'+    { _eiInstanceId       :: !(Maybe Text)+    , _eiEventDescription :: !(Maybe Text)+    , _eiEventSubType     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventInformation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eiInstanceId'+--+-- * 'eiEventDescription'+--+-- * 'eiEventSubType'+eventInformation+    :: EventInformation+eventInformation =+    EventInformation'+    { _eiInstanceId = Nothing+    , _eiEventDescription = Nothing+    , _eiEventSubType = Nothing+    }++-- | The ID of the instance. This information is available only for+-- 'instanceChange' events.+eiInstanceId :: Lens' EventInformation (Maybe Text)+eiInstanceId = lens _eiInstanceId (\ s a -> s{_eiInstanceId = a});++-- | The description of the event.+eiEventDescription :: Lens' EventInformation (Maybe Text)+eiEventDescription = lens _eiEventDescription (\ s a -> s{_eiEventDescription = a});++-- | The event.+--+-- The following are the 'error' events.+--+-- -   'iamFleetRoleInvalid' - 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 "Value" <$> _fValues),+               "Name" =: _fName]++-- | Describes a flow log.+--+-- /See:/ 'flowLog' smart constructor.+data FlowLog = FlowLog'+    { _flCreationTime             :: !(Maybe ISO8601)+    , _flResourceId               :: !(Maybe Text)+    , _flFlowLogStatus            :: !(Maybe Text)+    , _flTrafficType              :: !(Maybe TrafficType)+    , _flDeliverLogsStatus        :: !(Maybe Text)+    , _flDeliverLogsErrorMessage  :: !(Maybe Text)+    , _flLogGroupName             :: !(Maybe Text)+    , _flDeliverLogsPermissionARN :: !(Maybe Text)+    , _flFlowLogId                :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'FlowLog' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flCreationTime'+--+-- * 'flResourceId'+--+-- * 'flFlowLogStatus'+--+-- * 'flTrafficType'+--+-- * 'flDeliverLogsStatus'+--+-- * 'flDeliverLogsErrorMessage'+--+-- * 'flLogGroupName'+--+-- * 'flDeliverLogsPermissionARN'+--+-- * 'flFlowLogId'+flowLog+    :: FlowLog+flowLog =+    FlowLog'+    { _flCreationTime = Nothing+    , _flResourceId = Nothing+    , _flFlowLogStatus = Nothing+    , _flTrafficType = Nothing+    , _flDeliverLogsStatus = Nothing+    , _flDeliverLogsErrorMessage = Nothing+    , _flLogGroupName = Nothing+    , _flDeliverLogsPermissionARN = Nothing+    , _flFlowLogId = Nothing+    }++-- | The date and time the flow log was created.+flCreationTime :: Lens' FlowLog (Maybe UTCTime)+flCreationTime = lens _flCreationTime (\ s a -> s{_flCreationTime = a}) . mapping _Time;++-- | The ID of the resource on which the flow log was created.+flResourceId :: Lens' FlowLog (Maybe Text)+flResourceId = lens _flResourceId (\ s a -> s{_flResourceId = a});++-- | The status of the flow log ('ACTIVE').+flFlowLogStatus :: Lens' FlowLog (Maybe Text)+flFlowLogStatus = lens _flFlowLogStatus (\ s a -> s{_flFlowLogStatus = a});++-- | The type of traffic captured for the flow log.+flTrafficType :: Lens' FlowLog (Maybe TrafficType)+flTrafficType = lens _flTrafficType (\ s a -> s{_flTrafficType = a});++-- | The status of the logs delivery ('SUCCESS' | 'FAILED').+flDeliverLogsStatus :: Lens' FlowLog (Maybe Text)+flDeliverLogsStatus = lens _flDeliverLogsStatus (\ s a -> s{_flDeliverLogsStatus = a});++-- | Information about the error that occurred. 'Rate limited' indicates that+-- CloudWatch logs throttling has been applied for one or more network+-- interfaces. 'Access error' indicates that the IAM role associated with+-- the flow log does not have sufficient permissions to publish to+-- CloudWatch Logs. 'Unknown error' indicates an internal error.+flDeliverLogsErrorMessage :: Lens' FlowLog (Maybe Text)+flDeliverLogsErrorMessage = lens _flDeliverLogsErrorMessage (\ s a -> s{_flDeliverLogsErrorMessage = a});++-- | The name of the flow log group.+flLogGroupName :: Lens' FlowLog (Maybe Text)+flLogGroupName = lens _flLogGroupName (\ s a -> s{_flLogGroupName = a});++-- | The ARN of the IAM role that posts logs to CloudWatch Logs.+flDeliverLogsPermissionARN :: Lens' FlowLog (Maybe Text)+flDeliverLogsPermissionARN = lens _flDeliverLogsPermissionARN (\ s a -> s{_flDeliverLogsPermissionARN = a});++-- | The flow log ID.+flFlowLogId :: Lens' FlowLog (Maybe Text)+flFlowLogId = lens _flFlowLogId (\ s a -> s{_flFlowLogId = a});++instance FromXML FlowLog where+        parseXML x+          = FlowLog' <$>+              (x .@? "creationTime") <*> (x .@? "resourceId") <*>+                (x .@? "flowLogStatus")+                <*> (x .@? "trafficType")+                <*> (x .@? "deliverLogsStatus")+                <*> (x .@? "deliverLogsErrorMessage")+                <*> (x .@? "logGroupName")+                <*> (x .@? "deliverLogsPermissionArn")+                <*> (x .@? "flowLogId")++-- | Describes a security group.+--+-- /See:/ 'groupIdentifier' smart constructor.+data GroupIdentifier = GroupIdentifier'+    { _giGroupId   :: !(Maybe Text)+    , _giGroupName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupIdentifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giGroupId'+--+-- * 'giGroupName'+groupIdentifier+    :: GroupIdentifier+groupIdentifier =+    GroupIdentifier'+    { _giGroupId = Nothing+    , _giGroupName = Nothing+    }++-- | The ID of the security group.+giGroupId :: Lens' GroupIdentifier (Maybe Text)+giGroupId = lens _giGroupId (\ s a -> s{_giGroupId = a});++-- | The name of the security group.+giGroupName :: Lens' GroupIdentifier (Maybe Text)+giGroupName = lens _giGroupName (\ s a -> s{_giGroupName = a});++instance FromXML GroupIdentifier where+        parseXML x+          = GroupIdentifier' <$>+              (x .@? "groupId") <*> (x .@? "groupName")++instance ToQuery GroupIdentifier where+        toQuery GroupIdentifier'{..}+          = mconcat+              ["GroupId" =: _giGroupId,+               "GroupName" =: _giGroupName]++-- | Describes an event in the history of the Spot fleet request.+--+-- /See:/ 'historyRecord' smart constructor.+data HistoryRecord = HistoryRecord'+    { _hrTimestamp        :: !ISO8601+    , _hrEventType        :: !EventType+    , _hrEventInformation :: !EventInformation+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'HistoryRecord' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hrTimestamp'+--+-- * 'hrEventType'+--+-- * 'hrEventInformation'+historyRecord+    :: UTCTime -- ^ 'hrTimestamp'+    -> EventType -- ^ 'hrEventType'+    -> EventInformation -- ^ 'hrEventInformation'+    -> HistoryRecord+historyRecord pTimestamp_ pEventType_ pEventInformation_ =+    HistoryRecord'+    { _hrTimestamp = _Time # pTimestamp_+    , _hrEventType = pEventType_+    , _hrEventInformation = pEventInformation_+    }++-- | The date and time of the event, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).+hrTimestamp :: Lens' HistoryRecord UTCTime+hrTimestamp = lens _hrTimestamp (\ s a -> s{_hrTimestamp = a}) . _Time;++-- | The event type.+--+-- -   'error' - Indicates an error with the Spot fleet request.+--+-- -   'fleetRequestChange' - Indicates a change in the status or+--     configuration of the Spot fleet request.+--+-- -   'instanceChange' - Indicates that an instance was launched or+--     terminated.+--+hrEventType :: Lens' HistoryRecord EventType+hrEventType = lens _hrEventType (\ s a -> s{_hrEventType = a});++-- | Information about the event.+hrEventInformation :: Lens' HistoryRecord EventInformation+hrEventInformation = lens _hrEventInformation (\ s a -> s{_hrEventInformation = a});++instance FromXML HistoryRecord where+        parseXML x+          = HistoryRecord' <$>+              (x .@ "timestamp") <*> (x .@ "eventType") <*>+                (x .@ "eventInformation")++-- | Describes 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 "Groups" <$> _ipUserIdGroupPairs),+               toQuery+                 (toQueryList "PrefixListIds" <$> _ipPrefixListIds),+               "ToPort" =: _ipToPort,+               toQuery (toQueryList "IpRanges" <$> _ipIPRanges),+               "IpProtocol" =: _ipIPProtocol]++-- | Describes an IP range.+--+-- /See:/ 'ipRange' smart constructor.+newtype IPRange = IPRange'+    { _irCIdRIP :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IPRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'irCIdRIP'+ipRange+    :: Text -- ^ 'irCIdRIP'+    -> IPRange+ipRange pCIdRIP_ =+    IPRange'+    { _irCIdRIP = pCIdRIP_+    }++-- | The CIDR range. You can either specify a CIDR range or a source security+-- group, not both.+irCIdRIP :: Lens' IPRange Text+irCIdRIP = lens _irCIdRIP (\ s a -> s{_irCIdRIP = a});++instance FromXML IPRange where+        parseXML x = IPRange' <$> (x .@ "cidrIp")++instance ToQuery IPRange where+        toQuery IPRange'{..}+          = mconcat ["CidrIp" =: _irCIdRIP]++-- | Describes an image.+--+-- /See:/ 'image' smart constructor.+data Image = Image'+    { _iPlatform            :: !(Maybe PlatformValues)+    , _iImageOwnerAlias     :: !(Maybe Text)+    , _iRAMDiskId           :: !(Maybe Text)+    , _iKernelId            :: !(Maybe Text)+    , _iRootDeviceName      :: !(Maybe Text)+    , _iSRIOVNetSupport     :: !(Maybe Text)+    , _iName                :: !(Maybe Text)+    , _iCreationDate        :: !(Maybe Text)+    , _iProductCodes        :: !(Maybe [ProductCode])+    , _iStateReason         :: !(Maybe StateReason)+    , _iDescription         :: !(Maybe Text)+    , _iBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _iTags                :: !(Maybe [Tag])+    , _iImageId             :: !Text+    , _iImageLocation       :: !Text+    , _iState               :: !ImageState+    , _iOwnerId             :: !Text+    , _iPublic              :: !Bool+    , _iArchitecture        :: !ArchitectureValues+    , _iImageType           :: !ImageTypeValues+    , _iRootDeviceType      :: !DeviceType+    , _iVirtualizationType  :: !VirtualizationType+    , _iHypervisor          :: !HypervisorType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Image' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iPlatform'+--+-- * 'iImageOwnerAlias'+--+-- * 'iRAMDiskId'+--+-- * 'iKernelId'+--+-- * 'iRootDeviceName'+--+-- * 'iSRIOVNetSupport'+--+-- * 'iName'+--+-- * 'iCreationDate'+--+-- * 'iProductCodes'+--+-- * 'iStateReason'+--+-- * 'iDescription'+--+-- * 'iBlockDeviceMappings'+--+-- * 'iTags'+--+-- * 'iImageId'+--+-- * 'iImageLocation'+--+-- * 'iState'+--+-- * 'iOwnerId'+--+-- * 'iPublic'+--+-- * 'iArchitecture'+--+-- * 'iImageType'+--+-- * 'iRootDeviceType'+--+-- * 'iVirtualizationType'+--+-- * 'iHypervisor'+image+    :: Text -- ^ 'iImageId'+    -> Text -- ^ 'iImageLocation'+    -> ImageState -- ^ 'iState'+    -> Text -- ^ 'iOwnerId'+    -> Bool -- ^ 'iPublic'+    -> ArchitectureValues -- ^ 'iArchitecture'+    -> ImageTypeValues -- ^ 'iImageType'+    -> DeviceType -- ^ 'iRootDeviceType'+    -> VirtualizationType -- ^ 'iVirtualizationType'+    -> HypervisorType -- ^ 'iHypervisor'+    -> Image+image pImageId_ pImageLocation_ pState_ pOwnerId_ pPublic_ pArchitecture_ pImageType_ pRootDeviceType_ pVirtualizationType_ pHypervisor_ =+    Image'+    { _iPlatform = Nothing+    , _iImageOwnerAlias = Nothing+    , _iRAMDiskId = Nothing+    , _iKernelId = Nothing+    , _iRootDeviceName = Nothing+    , _iSRIOVNetSupport = Nothing+    , _iName = Nothing+    , _iCreationDate = Nothing+    , _iProductCodes = Nothing+    , _iStateReason = Nothing+    , _iDescription = Nothing+    , _iBlockDeviceMappings = Nothing+    , _iTags = Nothing+    , _iImageId = pImageId_+    , _iImageLocation = pImageLocation_+    , _iState = pState_+    , _iOwnerId = pOwnerId_+    , _iPublic = pPublic_+    , _iArchitecture = pArchitecture_+    , _iImageType = pImageType_+    , _iRootDeviceType = pRootDeviceType_+    , _iVirtualizationType = pVirtualizationType_+    , _iHypervisor = pHypervisor_+    }++-- | The value is 'Windows' for Windows AMIs; otherwise blank.+iPlatform :: Lens' Image (Maybe PlatformValues)+iPlatform = lens _iPlatform (\ s a -> s{_iPlatform = a});++-- | The AWS account alias (for example, 'amazon', 'self') or the AWS account+-- ID of the AMI owner.+iImageOwnerAlias :: Lens' Image (Maybe Text)+iImageOwnerAlias = lens _iImageOwnerAlias (\ s a -> s{_iImageOwnerAlias = a});++-- | The RAM disk associated with the image, if any. Only applicable for+-- machine images.+iRAMDiskId :: Lens' Image (Maybe Text)+iRAMDiskId = lens _iRAMDiskId (\ s a -> s{_iRAMDiskId = a});++-- | The kernel associated with the image, if any. Only applicable for+-- machine images.+iKernelId :: Lens' Image (Maybe Text)+iKernelId = lens _iKernelId (\ s a -> s{_iKernelId = a});++-- | The device name of the root device (for example, '\/dev\/sda1' or+-- '\/dev\/xvda').+iRootDeviceName :: Lens' Image (Maybe Text)+iRootDeviceName = lens _iRootDeviceName (\ s a -> s{_iRootDeviceName = a});++-- | Specifies whether enhanced networking is enabled.+iSRIOVNetSupport :: Lens' Image (Maybe Text)+iSRIOVNetSupport = lens _iSRIOVNetSupport (\ s a -> s{_iSRIOVNetSupport = a});++-- | The name of the AMI that was provided during image creation.+iName :: Lens' Image (Maybe Text)+iName = lens _iName (\ s a -> s{_iName = a});++-- | The date and time the image was created.+iCreationDate :: Lens' Image (Maybe Text)+iCreationDate = lens _iCreationDate (\ s a -> s{_iCreationDate = a});++-- | Any product codes associated with the AMI.+iProductCodes :: Lens' Image [ProductCode]+iProductCodes = lens _iProductCodes (\ s a -> s{_iProductCodes = a}) . _Default . _Coerce;++-- | The reason for the state change.+iStateReason :: Lens' Image (Maybe StateReason)+iStateReason = lens _iStateReason (\ s a -> s{_iStateReason = a});++-- | The description of the AMI that was provided during image creation.+iDescription :: Lens' Image (Maybe Text)+iDescription = lens _iDescription (\ s a -> s{_iDescription = a});++-- | Any block device mapping entries.+iBlockDeviceMappings :: Lens' Image [BlockDeviceMapping]+iBlockDeviceMappings = lens _iBlockDeviceMappings (\ s a -> s{_iBlockDeviceMappings = a}) . _Default . _Coerce;++-- | Any tags assigned to the image.+iTags :: Lens' Image [Tag]+iTags = lens _iTags (\ s a -> s{_iTags = a}) . _Default . _Coerce;++-- | The ID of the AMI.+iImageId :: Lens' Image Text+iImageId = lens _iImageId (\ s a -> s{_iImageId = a});++-- | The location of the AMI.+iImageLocation :: Lens' Image Text+iImageLocation = lens _iImageLocation (\ s a -> s{_iImageLocation = a});++-- | The current state of the AMI. If the state is 'available', the image is+-- successfully registered and can be used to launch an instance.+iState :: Lens' Image ImageState+iState = lens _iState (\ s a -> s{_iState = a});++-- | The AWS account ID of the image owner.+iOwnerId :: Lens' Image Text+iOwnerId = lens _iOwnerId (\ s a -> s{_iOwnerId = a});++-- | Indicates whether the image has public launch permissions. The value is+-- 'true' if this image has public launch permissions or 'false' if it has+-- only implicit and explicit launch permissions.+iPublic :: Lens' Image Bool+iPublic = lens _iPublic (\ s a -> s{_iPublic = a});++-- | The architecture of the image.+iArchitecture :: Lens' Image ArchitectureValues+iArchitecture = lens _iArchitecture (\ s a -> s{_iArchitecture = a});++-- | The type of image.+iImageType :: Lens' Image ImageTypeValues+iImageType = lens _iImageType (\ s a -> s{_iImageType = a});++-- | The type of root device used by the AMI. The AMI can use an EBS volume+-- or an instance store volume.+iRootDeviceType :: Lens' Image DeviceType+iRootDeviceType = lens _iRootDeviceType (\ s a -> s{_iRootDeviceType = a});++-- | The type of virtualization of the AMI.+iVirtualizationType :: Lens' Image VirtualizationType+iVirtualizationType = lens _iVirtualizationType (\ s a -> s{_iVirtualizationType = a});++-- | The hypervisor type of the image.+iHypervisor :: Lens' Image HypervisorType+iHypervisor = lens _iHypervisor (\ s a -> s{_iHypervisor = a});++instance FromXML Image where+        parseXML x+          = Image' <$>+              (x .@? "platform") <*> (x .@? "imageOwnerAlias") <*>+                (x .@? "ramdiskId")+                <*> (x .@? "kernelId")+                <*> (x .@? "rootDeviceName")+                <*> (x .@? "sriovNetSupport")+                <*> (x .@? "name")+                <*> (x .@? "creationDate")+                <*>+                (x .@? "productCodes" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "stateReason")+                <*> (x .@? "description")+                <*>+                (x .@? "blockDeviceMapping" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@ "imageId")+                <*> (x .@ "imageLocation")+                <*> (x .@ "imageState")+                <*> (x .@ "imageOwnerId")+                <*> (x .@ "isPublic")+                <*> (x .@ "architecture")+                <*> (x .@ "imageType")+                <*> (x .@ "rootDeviceType")+                <*> (x .@ "virtualizationType")+                <*> (x .@ "hypervisor")++-- | Describes the disk container object for an import image task.+--+-- /See:/ 'imageDiskContainer' smart constructor.+data ImageDiskContainer = ImageDiskContainer'+    { _idcFormat      :: !(Maybe Text)+    , _idcURL         :: !(Maybe Text)+    , _idcDeviceName  :: !(Maybe Text)+    , _idcUserBucket  :: !(Maybe UserBucket)+    , _idcDescription :: !(Maybe Text)+    , _idcSnapshotId  :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImageDiskContainer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idcFormat'+--+-- * 'idcURL'+--+-- * 'idcDeviceName'+--+-- * 'idcUserBucket'+--+-- * 'idcDescription'+--+-- * 'idcSnapshotId'+imageDiskContainer+    :: ImageDiskContainer+imageDiskContainer =+    ImageDiskContainer'+    { _idcFormat = Nothing+    , _idcURL = Nothing+    , _idcDeviceName = Nothing+    , _idcUserBucket = Nothing+    , _idcDescription = Nothing+    , _idcSnapshotId = Nothing+    }++-- | The format of the disk image being imported.+--+-- Valid values: 'RAW' | 'VHD' | 'VMDK' | 'OVA'+idcFormat :: Lens' ImageDiskContainer (Maybe Text)+idcFormat = lens _idcFormat (\ s a -> s{_idcFormat = a});++-- | The URL to the Amazon S3-based disk image being imported. The URL can+-- either be a https URL (https:\/\/..) or an Amazon S3 URL (s3:\/\/..)+idcURL :: Lens' ImageDiskContainer (Maybe Text)+idcURL = lens _idcURL (\ s a -> s{_idcURL = a});++-- | The block device mapping for the disk.+idcDeviceName :: Lens' ImageDiskContainer (Maybe Text)+idcDeviceName = lens _idcDeviceName (\ s a -> s{_idcDeviceName = a});++-- | The S3 bucket for the disk image.+idcUserBucket :: Lens' ImageDiskContainer (Maybe UserBucket)+idcUserBucket = lens _idcUserBucket (\ s a -> s{_idcUserBucket = a});++-- | The description of the disk image.+idcDescription :: Lens' ImageDiskContainer (Maybe Text)+idcDescription = lens _idcDescription (\ s a -> s{_idcDescription = a});++-- | The ID of the EBS snapshot to be used for importing the snapshot.+idcSnapshotId :: Lens' ImageDiskContainer (Maybe Text)+idcSnapshotId = lens _idcSnapshotId (\ s a -> s{_idcSnapshotId = a});++instance ToQuery ImageDiskContainer where+        toQuery ImageDiskContainer'{..}+          = mconcat+              ["Format" =: _idcFormat, "Url" =: _idcURL,+               "DeviceName" =: _idcDeviceName,+               "UserBucket" =: _idcUserBucket,+               "Description" =: _idcDescription,+               "SnapshotId" =: _idcSnapshotId]++-- | Describes an import image task.+--+-- /See:/ 'importImageTask' smart constructor.+data ImportImageTask = ImportImageTask'+    { _iitStatus          :: !(Maybe Text)+    , _iitHypervisor      :: !(Maybe Text)+    , _iitPlatform        :: !(Maybe Text)+    , _iitProgress        :: !(Maybe Text)+    , _iitLicenseType     :: !(Maybe Text)+    , _iitSnapshotDetails :: !(Maybe [SnapshotDetail])+    , _iitStatusMessage   :: !(Maybe Text)+    , _iitImageId         :: !(Maybe Text)+    , _iitImportTaskId    :: !(Maybe Text)+    , _iitArchitecture    :: !(Maybe Text)+    , _iitDescription     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportImageTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iitStatus'+--+-- * 'iitHypervisor'+--+-- * 'iitPlatform'+--+-- * 'iitProgress'+--+-- * 'iitLicenseType'+--+-- * 'iitSnapshotDetails'+--+-- * 'iitStatusMessage'+--+-- * 'iitImageId'+--+-- * 'iitImportTaskId'+--+-- * 'iitArchitecture'+--+-- * 'iitDescription'+importImageTask+    :: ImportImageTask+importImageTask =+    ImportImageTask'+    { _iitStatus = Nothing+    , _iitHypervisor = Nothing+    , _iitPlatform = Nothing+    , _iitProgress = Nothing+    , _iitLicenseType = Nothing+    , _iitSnapshotDetails = Nothing+    , _iitStatusMessage = Nothing+    , _iitImageId = Nothing+    , _iitImportTaskId = Nothing+    , _iitArchitecture = Nothing+    , _iitDescription = Nothing+    }++-- | A brief status for the import image task.+iitStatus :: Lens' ImportImageTask (Maybe Text)+iitStatus = lens _iitStatus (\ s a -> s{_iitStatus = a});++-- | The target hypervisor for the import task.+--+-- Valid values: 'xen'+iitHypervisor :: Lens' ImportImageTask (Maybe Text)+iitHypervisor = lens _iitHypervisor (\ s a -> s{_iitHypervisor = a});++-- | The description string for the import image task.+iitPlatform :: Lens' ImportImageTask (Maybe Text)+iitPlatform = lens _iitPlatform (\ s a -> s{_iitPlatform = a});++-- | The percentage of progress of the import image task.+iitProgress :: Lens' ImportImageTask (Maybe Text)+iitProgress = lens _iitProgress (\ s a -> s{_iitProgress = a});++-- | The license type of the virtual machine.+iitLicenseType :: Lens' ImportImageTask (Maybe Text)+iitLicenseType = lens _iitLicenseType (\ s a -> s{_iitLicenseType = a});++-- | Information about the snapshots.+iitSnapshotDetails :: Lens' ImportImageTask [SnapshotDetail]+iitSnapshotDetails = lens _iitSnapshotDetails (\ s a -> s{_iitSnapshotDetails = a}) . _Default . _Coerce;++-- | A descriptive status message for the import image task.+iitStatusMessage :: Lens' ImportImageTask (Maybe Text)+iitStatusMessage = lens _iitStatusMessage (\ s a -> s{_iitStatusMessage = a});++-- | The ID of the Amazon Machine Image (AMI) of the imported virtual+-- machine.+iitImageId :: Lens' ImportImageTask (Maybe Text)+iitImageId = lens _iitImageId (\ s a -> s{_iitImageId = a});++-- | The ID of the import image task.+iitImportTaskId :: Lens' ImportImageTask (Maybe Text)+iitImportTaskId = lens _iitImportTaskId (\ s a -> s{_iitImportTaskId = a});++-- | The architecture of the virtual machine.+--+-- Valid values: 'i386' | 'x86_64'+iitArchitecture :: Lens' ImportImageTask (Maybe Text)+iitArchitecture = lens _iitArchitecture (\ s a -> s{_iitArchitecture = a});++-- | A description of the import task.+iitDescription :: Lens' ImportImageTask (Maybe Text)+iitDescription = lens _iitDescription (\ s a -> s{_iitDescription = a});++instance FromXML ImportImageTask where+        parseXML x+          = ImportImageTask' <$>+              (x .@? "status") <*> (x .@? "hypervisor") <*>+                (x .@? "platform")+                <*> (x .@? "progress")+                <*> (x .@? "licenseType")+                <*>+                (x .@? "snapshotDetailSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "statusMessage")+                <*> (x .@? "imageId")+                <*> (x .@? "importTaskId")+                <*> (x .@? "architecture")+                <*> (x .@? "description")++-- | Describes the launch specification for VM import.+--+-- /See:/ 'importInstanceLaunchSpecification' smart constructor.+data ImportInstanceLaunchSpecification = ImportInstanceLaunchSpecification'+    { _iilsAdditionalInfo                    :: !(Maybe Text)+    , _iilsGroupNames                        :: !(Maybe [Text])+    , _iilsSubnetId                          :: !(Maybe Text)+    , _iilsInstanceType                      :: !(Maybe InstanceType)+    , _iilsGroupIds                          :: !(Maybe [Text])+    , _iilsUserData                          :: !(Maybe UserData)+    , _iilsMonitoring                        :: !(Maybe Bool)+    , _iilsPrivateIPAddress                  :: !(Maybe Text)+    , _iilsInstanceInitiatedShutdownBehavior :: !(Maybe ShutdownBehavior)+    , _iilsArchitecture                      :: !(Maybe ArchitectureValues)+    , _iilsPlacement                         :: !(Maybe Placement)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportInstanceLaunchSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iilsAdditionalInfo'+--+-- * 'iilsGroupNames'+--+-- * 'iilsSubnetId'+--+-- * 'iilsInstanceType'+--+-- * 'iilsGroupIds'+--+-- * 'iilsUserData'+--+-- * 'iilsMonitoring'+--+-- * 'iilsPrivateIPAddress'+--+-- * 'iilsInstanceInitiatedShutdownBehavior'+--+-- * 'iilsArchitecture'+--+-- * 'iilsPlacement'+importInstanceLaunchSpecification+    :: ImportInstanceLaunchSpecification+importInstanceLaunchSpecification =+    ImportInstanceLaunchSpecification'+    { _iilsAdditionalInfo = Nothing+    , _iilsGroupNames = Nothing+    , _iilsSubnetId = Nothing+    , _iilsInstanceType = Nothing+    , _iilsGroupIds = Nothing+    , _iilsUserData = Nothing+    , _iilsMonitoring = Nothing+    , _iilsPrivateIPAddress = Nothing+    , _iilsInstanceInitiatedShutdownBehavior = Nothing+    , _iilsArchitecture = Nothing+    , _iilsPlacement = Nothing+    }++-- | Reserved.+iilsAdditionalInfo :: Lens' ImportInstanceLaunchSpecification (Maybe Text)+iilsAdditionalInfo = lens _iilsAdditionalInfo (\ s a -> s{_iilsAdditionalInfo = a});++-- | One or more security group names.+iilsGroupNames :: Lens' ImportInstanceLaunchSpecification [Text]+iilsGroupNames = lens _iilsGroupNames (\ s a -> s{_iilsGroupNames = a}) . _Default . _Coerce;++-- | [EC2-VPC] The ID of the subnet in which to launch the instance.+iilsSubnetId :: Lens' ImportInstanceLaunchSpecification (Maybe Text)+iilsSubnetId = lens _iilsSubnetId (\ s a -> s{_iilsSubnetId = a});++-- | The instance type. For more information about the instance types that+-- you can import, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/VMImportPrerequisites.html Before You Get Started>+-- in the Amazon Elastic Compute Cloud User Guide.+iilsInstanceType :: Lens' ImportInstanceLaunchSpecification (Maybe InstanceType)+iilsInstanceType = lens _iilsInstanceType (\ s a -> s{_iilsInstanceType = a});++-- | One or more security group IDs.+iilsGroupIds :: Lens' ImportInstanceLaunchSpecification [Text]+iilsGroupIds = lens _iilsGroupIds (\ s a -> s{_iilsGroupIds = a}) . _Default . _Coerce;++-- | The Base64-encoded MIME user data to be made available to the instance.+iilsUserData :: Lens' ImportInstanceLaunchSpecification (Maybe UserData)+iilsUserData = lens _iilsUserData (\ s a -> s{_iilsUserData = a});++-- | Indicates whether monitoring is enabled.+iilsMonitoring :: Lens' ImportInstanceLaunchSpecification (Maybe Bool)+iilsMonitoring = lens _iilsMonitoring (\ s a -> s{_iilsMonitoring = a});++-- | [EC2-VPC] An available IP address from the IP address range of the+-- subnet.+iilsPrivateIPAddress :: Lens' ImportInstanceLaunchSpecification (Maybe Text)+iilsPrivateIPAddress = lens _iilsPrivateIPAddress (\ s a -> s{_iilsPrivateIPAddress = a});++-- | Indicates whether an instance stops or terminates when you initiate+-- shutdown from the instance (using the operating system command for+-- system shutdown).+iilsInstanceInitiatedShutdownBehavior :: Lens' ImportInstanceLaunchSpecification (Maybe ShutdownBehavior)+iilsInstanceInitiatedShutdownBehavior = lens _iilsInstanceInitiatedShutdownBehavior (\ s a -> s{_iilsInstanceInitiatedShutdownBehavior = a});++-- | The architecture of the instance.+iilsArchitecture :: Lens' ImportInstanceLaunchSpecification (Maybe ArchitectureValues)+iilsArchitecture = lens _iilsArchitecture (\ s a -> s{_iilsArchitecture = a});++-- | The placement information for the instance.+iilsPlacement :: Lens' ImportInstanceLaunchSpecification (Maybe Placement)+iilsPlacement = lens _iilsPlacement (\ s a -> s{_iilsPlacement = a});++instance ToQuery ImportInstanceLaunchSpecification+         where+        toQuery ImportInstanceLaunchSpecification'{..}+          = mconcat+              ["AdditionalInfo" =: _iilsAdditionalInfo,+               toQuery+                 (toQueryList "GroupName" <$> _iilsGroupNames),+               "SubnetId" =: _iilsSubnetId,+               "InstanceType" =: _iilsInstanceType,+               toQuery (toQueryList "GroupId" <$> _iilsGroupIds),+               "UserData" =: _iilsUserData,+               "Monitoring" =: _iilsMonitoring,+               "PrivateIpAddress" =: _iilsPrivateIPAddress,+               "InstanceInitiatedShutdownBehavior" =:+                 _iilsInstanceInitiatedShutdownBehavior,+               "Architecture" =: _iilsArchitecture,+               "Placement" =: _iilsPlacement]++-- | Describes an import instance task.+--+-- /See:/ 'importInstanceTaskDetails' smart constructor.+data ImportInstanceTaskDetails = ImportInstanceTaskDetails'+    { _iitdInstanceId  :: !(Maybe Text)+    , _iitdPlatform    :: !(Maybe PlatformValues)+    , _iitdDescription :: !(Maybe Text)+    , _iitdVolumes     :: ![ImportInstanceVolumeDetailItem]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportInstanceTaskDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iitdInstanceId'+--+-- * 'iitdPlatform'+--+-- * 'iitdDescription'+--+-- * 'iitdVolumes'+importInstanceTaskDetails+    :: ImportInstanceTaskDetails+importInstanceTaskDetails =+    ImportInstanceTaskDetails'+    { _iitdInstanceId = Nothing+    , _iitdPlatform = Nothing+    , _iitdDescription = Nothing+    , _iitdVolumes = mempty+    }++-- | The ID of the instance.+iitdInstanceId :: Lens' ImportInstanceTaskDetails (Maybe Text)+iitdInstanceId = lens _iitdInstanceId (\ s a -> s{_iitdInstanceId = a});++-- | The instance operating system.+iitdPlatform :: Lens' ImportInstanceTaskDetails (Maybe PlatformValues)+iitdPlatform = lens _iitdPlatform (\ s a -> s{_iitdPlatform = a});++-- | A description of the task.+iitdDescription :: Lens' ImportInstanceTaskDetails (Maybe Text)+iitdDescription = lens _iitdDescription (\ s a -> s{_iitdDescription = a});++-- | One or more volumes.+iitdVolumes :: Lens' ImportInstanceTaskDetails [ImportInstanceVolumeDetailItem]+iitdVolumes = lens _iitdVolumes (\ s a -> s{_iitdVolumes = a}) . _Coerce;++instance FromXML ImportInstanceTaskDetails where+        parseXML x+          = ImportInstanceTaskDetails' <$>+              (x .@? "instanceId") <*> (x .@? "platform") <*>+                (x .@? "description")+                <*>+                (x .@? "volumes" .!@ mempty >>= parseXMLList "item")++-- | Describes an import volume task.+--+-- /See:/ 'importInstanceVolumeDetailItem' smart constructor.+data ImportInstanceVolumeDetailItem = ImportInstanceVolumeDetailItem'+    { _iivdiStatusMessage    :: !(Maybe Text)+    , _iivdiDescription      :: !(Maybe Text)+    , _iivdiBytesConverted   :: !Integer+    , _iivdiAvailabilityZone :: !Text+    , _iivdiImage            :: !DiskImageDescription+    , _iivdiVolume           :: !DiskImageVolumeDescription+    , _iivdiStatus           :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportInstanceVolumeDetailItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iivdiStatusMessage'+--+-- * 'iivdiDescription'+--+-- * 'iivdiBytesConverted'+--+-- * 'iivdiAvailabilityZone'+--+-- * 'iivdiImage'+--+-- * 'iivdiVolume'+--+-- * 'iivdiStatus'+importInstanceVolumeDetailItem+    :: Integer -- ^ 'iivdiBytesConverted'+    -> Text -- ^ 'iivdiAvailabilityZone'+    -> DiskImageDescription -- ^ 'iivdiImage'+    -> DiskImageVolumeDescription -- ^ 'iivdiVolume'+    -> Text -- ^ 'iivdiStatus'+    -> ImportInstanceVolumeDetailItem+importInstanceVolumeDetailItem pBytesConverted_ pAvailabilityZone_ pImage_ pVolume_ pStatus_ =+    ImportInstanceVolumeDetailItem'+    { _iivdiStatusMessage = Nothing+    , _iivdiDescription = Nothing+    , _iivdiBytesConverted = pBytesConverted_+    , _iivdiAvailabilityZone = pAvailabilityZone_+    , _iivdiImage = pImage_+    , _iivdiVolume = pVolume_+    , _iivdiStatus = pStatus_+    }++-- | The status information or errors related to the disk image.+iivdiStatusMessage :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)+iivdiStatusMessage = lens _iivdiStatusMessage (\ s a -> s{_iivdiStatusMessage = a});++-- | A description of the task.+iivdiDescription :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)+iivdiDescription = lens _iivdiDescription (\ s a -> s{_iivdiDescription = a});++-- | The number of bytes converted so far.+iivdiBytesConverted :: Lens' ImportInstanceVolumeDetailItem Integer+iivdiBytesConverted = lens _iivdiBytesConverted (\ s a -> s{_iivdiBytesConverted = a});++-- | The Availability Zone where the resulting instance will reside.+iivdiAvailabilityZone :: Lens' ImportInstanceVolumeDetailItem Text+iivdiAvailabilityZone = lens _iivdiAvailabilityZone (\ s a -> s{_iivdiAvailabilityZone = a});++-- | The image.+iivdiImage :: Lens' ImportInstanceVolumeDetailItem DiskImageDescription+iivdiImage = lens _iivdiImage (\ s a -> s{_iivdiImage = a});++-- | The volume.+iivdiVolume :: Lens' ImportInstanceVolumeDetailItem DiskImageVolumeDescription+iivdiVolume = lens _iivdiVolume (\ s a -> s{_iivdiVolume = a});++-- | The status of the import of this particular disk image.+iivdiStatus :: Lens' ImportInstanceVolumeDetailItem Text+iivdiStatus = lens _iivdiStatus (\ s a -> s{_iivdiStatus = a});++instance FromXML ImportInstanceVolumeDetailItem where+        parseXML x+          = ImportInstanceVolumeDetailItem' <$>+              (x .@? "statusMessage") <*> (x .@? "description") <*>+                (x .@ "bytesConverted")+                <*> (x .@ "availabilityZone")+                <*> (x .@ "image")+                <*> (x .@ "volume")+                <*> (x .@ "status")++-- | Describes an import snapshot task.+--+-- /See:/ 'importSnapshotTask' smart constructor.+data ImportSnapshotTask = ImportSnapshotTask'+    { _istSnapshotTaskDetail :: !(Maybe SnapshotTaskDetail)+    , _istImportTaskId       :: !(Maybe Text)+    , _istDescription        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportSnapshotTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'istSnapshotTaskDetail'+--+-- * 'istImportTaskId'+--+-- * 'istDescription'+importSnapshotTask+    :: ImportSnapshotTask+importSnapshotTask =+    ImportSnapshotTask'+    { _istSnapshotTaskDetail = Nothing+    , _istImportTaskId = Nothing+    , _istDescription = Nothing+    }++-- | Describes an import snapshot task.+istSnapshotTaskDetail :: Lens' ImportSnapshotTask (Maybe SnapshotTaskDetail)+istSnapshotTaskDetail = lens _istSnapshotTaskDetail (\ s a -> s{_istSnapshotTaskDetail = a});++-- | The ID of the import snapshot task.+istImportTaskId :: Lens' ImportSnapshotTask (Maybe Text)+istImportTaskId = lens _istImportTaskId (\ s a -> s{_istImportTaskId = a});++-- | A description of the import snapshot task.+istDescription :: Lens' ImportSnapshotTask (Maybe Text)+istDescription = lens _istDescription (\ s a -> s{_istDescription = a});++instance FromXML ImportSnapshotTask where+        parseXML x+          = ImportSnapshotTask' <$>+              (x .@? "snapshotTaskDetail") <*>+                (x .@? "importTaskId")+                <*> (x .@? "description")++-- | Describes an import volume task.+--+-- /See:/ 'importVolumeTaskDetails' smart constructor.+data ImportVolumeTaskDetails = ImportVolumeTaskDetails'+    { _ivtdDescription      :: !(Maybe Text)+    , _ivtdBytesConverted   :: !Integer+    , _ivtdAvailabilityZone :: !Text+    , _ivtdImage            :: !DiskImageDescription+    , _ivtdVolume           :: !DiskImageVolumeDescription+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportVolumeTaskDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ivtdDescription'+--+-- * 'ivtdBytesConverted'+--+-- * 'ivtdAvailabilityZone'+--+-- * 'ivtdImage'+--+-- * 'ivtdVolume'+importVolumeTaskDetails+    :: Integer -- ^ 'ivtdBytesConverted'+    -> Text -- ^ 'ivtdAvailabilityZone'+    -> DiskImageDescription -- ^ 'ivtdImage'+    -> DiskImageVolumeDescription -- ^ 'ivtdVolume'+    -> ImportVolumeTaskDetails+importVolumeTaskDetails pBytesConverted_ pAvailabilityZone_ pImage_ pVolume_ =+    ImportVolumeTaskDetails'+    { _ivtdDescription = Nothing+    , _ivtdBytesConverted = pBytesConverted_+    , _ivtdAvailabilityZone = pAvailabilityZone_+    , _ivtdImage = pImage_+    , _ivtdVolume = pVolume_+    }++-- | The description you provided when starting the import volume task.+ivtdDescription :: Lens' ImportVolumeTaskDetails (Maybe Text)+ivtdDescription = lens _ivtdDescription (\ s a -> s{_ivtdDescription = a});++-- | The number of bytes converted so far.+ivtdBytesConverted :: Lens' ImportVolumeTaskDetails Integer+ivtdBytesConverted = lens _ivtdBytesConverted (\ s a -> s{_ivtdBytesConverted = a});++-- | The Availability Zone where the resulting volume will reside.+ivtdAvailabilityZone :: Lens' ImportVolumeTaskDetails Text+ivtdAvailabilityZone = lens _ivtdAvailabilityZone (\ s a -> s{_ivtdAvailabilityZone = a});++-- | The image.+ivtdImage :: Lens' ImportVolumeTaskDetails DiskImageDescription+ivtdImage = lens _ivtdImage (\ s a -> s{_ivtdImage = a});++-- | The volume.+ivtdVolume :: Lens' ImportVolumeTaskDetails DiskImageVolumeDescription+ivtdVolume = lens _ivtdVolume (\ s a -> s{_ivtdVolume = a});++instance FromXML ImportVolumeTaskDetails where+        parseXML x+          = ImportVolumeTaskDetails' <$>+              (x .@? "description") <*> (x .@ "bytesConverted") <*>+                (x .@ "availabilityZone")+                <*> (x .@ "image")+                <*> (x .@ "volume")++-- | Describes an instance.+--+-- /See:/ 'instance'' smart constructor.+data Instance = Instance'+    { _insPublicDNSName         :: !(Maybe Text)+    , _insPlatform              :: !(Maybe PlatformValues)+    , _insSecurityGroups        :: !(Maybe [GroupIdentifier])+    , _insClientToken           :: !(Maybe Text)+    , _insSourceDestCheck       :: !(Maybe Bool)+    , _insVPCId                 :: !(Maybe Text)+    , _insKeyName               :: !(Maybe Text)+    , _insNetworkInterfaces     :: !(Maybe [InstanceNetworkInterface])+    , _insRAMDiskId             :: !(Maybe Text)+    , _insSubnetId              :: !(Maybe Text)+    , _insKernelId              :: !(Maybe Text)+    , _insRootDeviceName        :: !(Maybe Text)+    , _insSRIOVNetSupport       :: !(Maybe Text)+    , _insEBSOptimized          :: !(Maybe Bool)+    , _insStateTransitionReason :: !(Maybe Text)+    , _insInstanceLifecycle     :: !(Maybe InstanceLifecycleType)+    , _insIAMInstanceProfile    :: !(Maybe IAMInstanceProfile)+    , _insPrivateIPAddress      :: !(Maybe Text)+    , _insProductCodes          :: !(Maybe [ProductCode])+    , _insSpotInstanceRequestId :: !(Maybe Text)+    , _insPrivateDNSName        :: !(Maybe Text)+    , _insStateReason           :: !(Maybe StateReason)+    , _insBlockDeviceMappings   :: !(Maybe [InstanceBlockDeviceMapping])+    , _insPublicIPAddress       :: !(Maybe Text)+    , _insTags                  :: !(Maybe [Tag])+    , _insInstanceId            :: !Text+    , _insImageId               :: !Text+    , _insAMILaunchIndex        :: !Int+    , _insInstanceType          :: !InstanceType+    , _insLaunchTime            :: !ISO8601+    , _insPlacement             :: !Placement+    , _insMonitoring            :: !Monitoring+    , _insArchitecture          :: !ArchitectureValues+    , _insRootDeviceType        :: !DeviceType+    , _insVirtualizationType    :: !VirtualizationType+    , _insHypervisor            :: !HypervisorType+    , _insState                 :: !InstanceState+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Instance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'insPublicDNSName'+--+-- * 'insPlatform'+--+-- * 'insSecurityGroups'+--+-- * 'insClientToken'+--+-- * 'insSourceDestCheck'+--+-- * 'insVPCId'+--+-- * 'insKeyName'+--+-- * 'insNetworkInterfaces'+--+-- * 'insRAMDiskId'+--+-- * 'insSubnetId'+--+-- * 'insKernelId'+--+-- * 'insRootDeviceName'+--+-- * 'insSRIOVNetSupport'+--+-- * 'insEBSOptimized'+--+-- * 'insStateTransitionReason'+--+-- * 'insInstanceLifecycle'+--+-- * 'insIAMInstanceProfile'+--+-- * 'insPrivateIPAddress'+--+-- * 'insProductCodes'+--+-- * 'insSpotInstanceRequestId'+--+-- * 'insPrivateDNSName'+--+-- * 'insStateReason'+--+-- * 'insBlockDeviceMappings'+--+-- * 'insPublicIPAddress'+--+-- * 'insTags'+--+-- * 'insInstanceId'+--+-- * 'insImageId'+--+-- * 'insAMILaunchIndex'+--+-- * 'insInstanceType'+--+-- * 'insLaunchTime'+--+-- * 'insPlacement'+--+-- * 'insMonitoring'+--+-- * 'insArchitecture'+--+-- * 'insRootDeviceType'+--+-- * 'insVirtualizationType'+--+-- * 'insHypervisor'+--+-- * 'insState'+instance'+    :: Text -- ^ 'insInstanceId'+    -> Text -- ^ 'insImageId'+    -> Int -- ^ 'insAMILaunchIndex'+    -> InstanceType -- ^ 'insInstanceType'+    -> UTCTime -- ^ 'insLaunchTime'+    -> Placement -- ^ 'insPlacement'+    -> Monitoring -- ^ 'insMonitoring'+    -> ArchitectureValues -- ^ 'insArchitecture'+    -> DeviceType -- ^ 'insRootDeviceType'+    -> VirtualizationType -- ^ 'insVirtualizationType'+    -> HypervisorType -- ^ 'insHypervisor'+    -> InstanceState -- ^ 'insState'+    -> Instance+instance' pInstanceId_ pImageId_ pAMILaunchIndex_ pInstanceType_ pLaunchTime_ pPlacement_ pMonitoring_ pArchitecture_ pRootDeviceType_ pVirtualizationType_ pHypervisor_ pState_ =+    Instance'+    { _insPublicDNSName = Nothing+    , _insPlatform = Nothing+    , _insSecurityGroups = Nothing+    , _insClientToken = Nothing+    , _insSourceDestCheck = Nothing+    , _insVPCId = Nothing+    , _insKeyName = Nothing+    , _insNetworkInterfaces = Nothing+    , _insRAMDiskId = Nothing+    , _insSubnetId = Nothing+    , _insKernelId = Nothing+    , _insRootDeviceName = Nothing+    , _insSRIOVNetSupport = Nothing+    , _insEBSOptimized = Nothing+    , _insStateTransitionReason = Nothing+    , _insInstanceLifecycle = Nothing+    , _insIAMInstanceProfile = Nothing+    , _insPrivateIPAddress = Nothing+    , _insProductCodes = Nothing+    , _insSpotInstanceRequestId = Nothing+    , _insPrivateDNSName = Nothing+    , _insStateReason = Nothing+    , _insBlockDeviceMappings = Nothing+    , _insPublicIPAddress = Nothing+    , _insTags = Nothing+    , _insInstanceId = pInstanceId_+    , _insImageId = pImageId_+    , _insAMILaunchIndex = pAMILaunchIndex_+    , _insInstanceType = pInstanceType_+    , _insLaunchTime = _Time # pLaunchTime_+    , _insPlacement = pPlacement_+    , _insMonitoring = pMonitoring_+    , _insArchitecture = pArchitecture_+    , _insRootDeviceType = pRootDeviceType_+    , _insVirtualizationType = pVirtualizationType_+    , _insHypervisor = pHypervisor_+    , _insState = pState_+    }++-- | The public DNS name assigned to the instance. This name is not available+-- until the instance enters the 'running' state.+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});++-- | The name of the key pair, if this instance was launched with an+-- associated key pair.+insKeyName :: Lens' Instance (Maybe Text)+insKeyName = lens _insKeyName (\ s a -> s{_insKeyName = a});++-- | [EC2-VPC] One or more network interfaces for the instance.+insNetworkInterfaces :: Lens' Instance [InstanceNetworkInterface]+insNetworkInterfaces = lens _insNetworkInterfaces (\ s a -> s{_insNetworkInterfaces = a}) . _Default . _Coerce;++-- | The RAM disk associated with this instance.+insRAMDiskId :: Lens' Instance (Maybe Text)+insRAMDiskId = lens _insRAMDiskId (\ s a -> s{_insRAMDiskId = 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 kernel associated with this instance.+insKernelId :: Lens' Instance (Maybe Text)+insKernelId = lens _insKernelId (\ s a -> s{_insKernelId = a});++-- | The root device name (for example, '\/dev\/sda1' or '\/dev\/xvda').+insRootDeviceName :: Lens' Instance (Maybe Text)+insRootDeviceName = lens _insRootDeviceName (\ s a -> s{_insRootDeviceName = a});++-- | Specifies whether enhanced networking is enabled.+insSRIOVNetSupport :: Lens' Instance (Maybe Text)+insSRIOVNetSupport = lens _insSRIOVNetSupport (\ s a -> s{_insSRIOVNetSupport = a});++-- | Indicates whether the instance is optimized for EBS I\/O. This+-- optimization provides dedicated throughput to Amazon EBS and an+-- optimized configuration stack to provide optimal I\/O performance. This+-- optimization isn\'t available with all instance types. Additional usage+-- charges apply when using an EBS Optimized instance.+insEBSOptimized :: Lens' Instance (Maybe Bool)+insEBSOptimized = lens _insEBSOptimized (\ s a -> s{_insEBSOptimized = a});++-- | The reason for the most recent state transition. This might be an empty+-- string.+insStateTransitionReason :: Lens' Instance (Maybe Text)+insStateTransitionReason = lens _insStateTransitionReason (\ s a -> s{_insStateTransitionReason = a});++-- | Indicates whether this is a Spot Instance.+insInstanceLifecycle :: Lens' Instance (Maybe InstanceLifecycleType)+insInstanceLifecycle = lens _insInstanceLifecycle (\ s a -> s{_insInstanceLifecycle = a});++-- | The IAM instance profile associated with the instance.+insIAMInstanceProfile :: Lens' Instance (Maybe IAMInstanceProfile)+insIAMInstanceProfile = lens _insIAMInstanceProfile (\ s a -> s{_insIAMInstanceProfile = a});++-- | The private IP address assigned to the instance.+insPrivateIPAddress :: Lens' Instance (Maybe Text)+insPrivateIPAddress = lens _insPrivateIPAddress (\ s a -> s{_insPrivateIPAddress = a});++-- | The product codes attached to this instance.+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 .@? "keyName")+                <*>+                (x .@? "networkInterfaceSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "ramdiskId")+                <*> (x .@? "subnetId")+                <*> (x .@? "kernelId")+                <*> (x .@? "rootDeviceName")+                <*> (x .@? "sriovNetSupport")+                <*> (x .@? "ebsOptimized")+                <*> (x .@? "reason")+                <*> (x .@? "instanceLifecycle")+                <*> (x .@? "iamInstanceProfile")+                <*> (x .@? "privateIpAddress")+                <*>+                (x .@? "productCodes" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "spotInstanceRequestId")+                <*> (x .@? "privateDnsName")+                <*> (x .@? "stateReason")+                <*>+                (x .@? "blockDeviceMapping" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "ipAddress")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@ "instanceId")+                <*> (x .@ "imageId")+                <*> (x .@ "amiLaunchIndex")+                <*> (x .@ "instanceType")+                <*> (x .@ "launchTime")+                <*> (x .@ "placement")+                <*> (x .@ "monitoring")+                <*> (x .@ "architecture")+                <*> (x .@ "rootDeviceType")+                <*> (x .@ "virtualizationType")+                <*> (x .@ "hypervisor")+                <*> (x .@ "instanceState")++-- | Describes a block device mapping.+--+-- /See:/ 'instanceBlockDeviceMapping' smart constructor.+data InstanceBlockDeviceMapping = InstanceBlockDeviceMapping'+    { _ibdmEBS        :: !(Maybe EBSInstanceBlockDevice)+    , _ibdmDeviceName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceBlockDeviceMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ibdmEBS'+--+-- * 'ibdmDeviceName'+instanceBlockDeviceMapping+    :: InstanceBlockDeviceMapping+instanceBlockDeviceMapping =+    InstanceBlockDeviceMapping'+    { _ibdmEBS = Nothing+    , _ibdmDeviceName = Nothing+    }++-- | Parameters used to automatically set up EBS volumes when the instance is+-- launched.+ibdmEBS :: Lens' InstanceBlockDeviceMapping (Maybe EBSInstanceBlockDevice)+ibdmEBS = lens _ibdmEBS (\ s a -> s{_ibdmEBS = a});++-- | The device name exposed to the instance (for example, '\/dev\/sdh' or+-- 'xvdh').+ibdmDeviceName :: Lens' InstanceBlockDeviceMapping (Maybe Text)+ibdmDeviceName = lens _ibdmDeviceName (\ s a -> s{_ibdmDeviceName = a});++instance FromXML InstanceBlockDeviceMapping where+        parseXML x+          = InstanceBlockDeviceMapping' <$>+              (x .@? "ebs") <*> (x .@? "deviceName")++-- | Describes a block device mapping entry.+--+-- /See:/ 'instanceBlockDeviceMappingSpecification' smart constructor.+data InstanceBlockDeviceMappingSpecification = InstanceBlockDeviceMappingSpecification'+    { _ibdmsVirtualName :: !(Maybe Text)+    , _ibdmsNoDevice    :: !(Maybe Text)+    , _ibdmsEBS         :: !(Maybe EBSInstanceBlockDeviceSpecification)+    , _ibdmsDeviceName  :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceBlockDeviceMappingSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ibdmsVirtualName'+--+-- * 'ibdmsNoDevice'+--+-- * 'ibdmsEBS'+--+-- * 'ibdmsDeviceName'+instanceBlockDeviceMappingSpecification+    :: InstanceBlockDeviceMappingSpecification+instanceBlockDeviceMappingSpecification =+    InstanceBlockDeviceMappingSpecification'+    { _ibdmsVirtualName = Nothing+    , _ibdmsNoDevice = Nothing+    , _ibdmsEBS = Nothing+    , _ibdmsDeviceName = Nothing+    }++-- | The virtual device name.+ibdmsVirtualName :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)+ibdmsVirtualName = lens _ibdmsVirtualName (\ s a -> s{_ibdmsVirtualName = a});++-- | suppress the specified device included in the block device mapping.+ibdmsNoDevice :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)+ibdmsNoDevice = lens _ibdmsNoDevice (\ s a -> s{_ibdmsNoDevice = a});++-- | Parameters used to automatically set up EBS volumes when the instance is+-- launched.+ibdmsEBS :: Lens' InstanceBlockDeviceMappingSpecification (Maybe EBSInstanceBlockDeviceSpecification)+ibdmsEBS = lens _ibdmsEBS (\ s a -> s{_ibdmsEBS = a});++-- | The device name exposed to the instance (for example, '\/dev\/sdh' or+-- 'xvdh').+ibdmsDeviceName :: Lens' InstanceBlockDeviceMappingSpecification (Maybe Text)+ibdmsDeviceName = lens _ibdmsDeviceName (\ s a -> s{_ibdmsDeviceName = a});++instance ToQuery+         InstanceBlockDeviceMappingSpecification where+        toQuery InstanceBlockDeviceMappingSpecification'{..}+          = mconcat+              ["VirtualName" =: _ibdmsVirtualName,+               "NoDevice" =: _ibdmsNoDevice, "Ebs" =: _ibdmsEBS,+               "DeviceName" =: _ibdmsDeviceName]++-- | Describes a Reserved Instance listing state.+--+-- /See:/ 'instanceCount' smart constructor.+data InstanceCount = InstanceCount'+    { _icState         :: !(Maybe ListingState)+    , _icInstanceCount :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceCount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'icState'+--+-- * 'icInstanceCount'+instanceCount+    :: InstanceCount+instanceCount =+    InstanceCount'+    { _icState = Nothing+    , _icInstanceCount = Nothing+    }++-- | The states of the listed Reserved Instances.+icState :: Lens' InstanceCount (Maybe ListingState)+icState = lens _icState (\ s a -> s{_icState = a});++-- | The number of listed Reserved Instances in the state specified by the+-- 'state'.+icInstanceCount :: Lens' InstanceCount (Maybe Int)+icInstanceCount = lens _icInstanceCount (\ s a -> s{_icInstanceCount = a});++instance FromXML InstanceCount where+        parseXML x+          = InstanceCount' <$>+              (x .@? "state") <*> (x .@? "instanceCount")++-- | Describes an instance to export.+--+-- /See:/ 'instanceExportDetails' smart constructor.+data InstanceExportDetails = InstanceExportDetails'+    { _iedTargetEnvironment :: !(Maybe ExportEnvironment)+    , _iedInstanceId        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceExportDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iedTargetEnvironment'+--+-- * 'iedInstanceId'+instanceExportDetails+    :: InstanceExportDetails+instanceExportDetails =+    InstanceExportDetails'+    { _iedTargetEnvironment = Nothing+    , _iedInstanceId = Nothing+    }++-- | The target virtualization environment.+iedTargetEnvironment :: Lens' InstanceExportDetails (Maybe ExportEnvironment)+iedTargetEnvironment = lens _iedTargetEnvironment (\ s a -> s{_iedTargetEnvironment = a});++-- | The ID of the resource being exported.+iedInstanceId :: Lens' InstanceExportDetails (Maybe Text)+iedInstanceId = lens _iedInstanceId (\ s a -> s{_iedInstanceId = a});++instance FromXML InstanceExportDetails where+        parseXML x+          = InstanceExportDetails' <$>+              (x .@? "targetEnvironment") <*> (x .@? "instanceId")++-- | Describes the monitoring information of the instance.+--+-- /See:/ 'instanceMonitoring' smart constructor.+data InstanceMonitoring = InstanceMonitoring'+    { _imInstanceId :: !(Maybe Text)+    , _imMonitoring :: !(Maybe Monitoring)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceMonitoring' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'imInstanceId'+--+-- * 'imMonitoring'+instanceMonitoring+    :: InstanceMonitoring+instanceMonitoring =+    InstanceMonitoring'+    { _imInstanceId = Nothing+    , _imMonitoring = Nothing+    }++-- | The ID of the instance.+imInstanceId :: Lens' InstanceMonitoring (Maybe Text)+imInstanceId = lens _imInstanceId (\ s a -> s{_imInstanceId = a});++-- | The monitoring information.+imMonitoring :: Lens' InstanceMonitoring (Maybe Monitoring)+imMonitoring = lens _imMonitoring (\ s a -> s{_imMonitoring = a});++instance FromXML InstanceMonitoring where+        parseXML x+          = InstanceMonitoring' <$>+              (x .@? "instanceId") <*> (x .@? "monitoring")++-- | Describes a network interface.+--+-- /See:/ 'instanceNetworkInterface' smart constructor.+data InstanceNetworkInterface = InstanceNetworkInterface'+    { _iniGroups             :: !(Maybe [GroupIdentifier])+    , _iniStatus             :: !(Maybe NetworkInterfaceStatus)+    , _iniPrivateIPAddresses :: !(Maybe [InstancePrivateIPAddress])+    , _iniSourceDestCheck    :: !(Maybe Bool)+    , _iniVPCId              :: !(Maybe Text)+    , _iniNetworkInterfaceId :: !(Maybe Text)+    , _iniSubnetId           :: !(Maybe Text)+    , _iniMACAddress         :: !(Maybe Text)+    , _iniAttachment         :: !(Maybe InstanceNetworkInterfaceAttachment)+    , _iniOwnerId            :: !(Maybe Text)+    , _iniPrivateIPAddress   :: !(Maybe Text)+    , _iniPrivateDNSName     :: !(Maybe Text)+    , _iniDescription        :: !(Maybe Text)+    , _iniAssociation        :: !(Maybe InstanceNetworkInterfaceAssociation)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceNetworkInterface' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iniGroups'+--+-- * 'iniStatus'+--+-- * 'iniPrivateIPAddresses'+--+-- * 'iniSourceDestCheck'+--+-- * 'iniVPCId'+--+-- * 'iniNetworkInterfaceId'+--+-- * 'iniSubnetId'+--+-- * 'iniMACAddress'+--+-- * 'iniAttachment'+--+-- * 'iniOwnerId'+--+-- * 'iniPrivateIPAddress'+--+-- * 'iniPrivateDNSName'+--+-- * 'iniDescription'+--+-- * 'iniAssociation'+instanceNetworkInterface+    :: InstanceNetworkInterface+instanceNetworkInterface =+    InstanceNetworkInterface'+    { _iniGroups = Nothing+    , _iniStatus = Nothing+    , _iniPrivateIPAddresses = Nothing+    , _iniSourceDestCheck = Nothing+    , _iniVPCId = Nothing+    , _iniNetworkInterfaceId = Nothing+    , _iniSubnetId = Nothing+    , _iniMACAddress = Nothing+    , _iniAttachment = Nothing+    , _iniOwnerId = Nothing+    , _iniPrivateIPAddress = Nothing+    , _iniPrivateDNSName = Nothing+    , _iniDescription = Nothing+    , _iniAssociation = Nothing+    }++-- | One or more security groups.+iniGroups :: Lens' InstanceNetworkInterface [GroupIdentifier]+iniGroups = lens _iniGroups (\ s a -> s{_iniGroups = a}) . _Default . _Coerce;++-- | The status of the network interface.+iniStatus :: Lens' InstanceNetworkInterface (Maybe NetworkInterfaceStatus)+iniStatus = lens _iniStatus (\ s a -> s{_iniStatus = a});++-- | The private IP addresses associated with the network interface.+iniPrivateIPAddresses :: Lens' InstanceNetworkInterface [InstancePrivateIPAddress]+iniPrivateIPAddresses = lens _iniPrivateIPAddresses (\ s a -> s{_iniPrivateIPAddresses = a}) . _Default . _Coerce;++-- | Indicates whether to validate network traffic to or from this network+-- interface.+iniSourceDestCheck :: Lens' InstanceNetworkInterface (Maybe Bool)+iniSourceDestCheck = lens _iniSourceDestCheck (\ s a -> s{_iniSourceDestCheck = a});++-- | The ID of the VPC.+iniVPCId :: Lens' InstanceNetworkInterface (Maybe Text)+iniVPCId = lens _iniVPCId (\ s a -> s{_iniVPCId = a});++-- | The ID of the network interface.+iniNetworkInterfaceId :: Lens' InstanceNetworkInterface (Maybe Text)+iniNetworkInterfaceId = lens _iniNetworkInterfaceId (\ s a -> s{_iniNetworkInterfaceId = a});++-- | The ID of the subnet.+iniSubnetId :: Lens' InstanceNetworkInterface (Maybe Text)+iniSubnetId = lens _iniSubnetId (\ s a -> s{_iniSubnetId = a});++-- | The MAC address.+iniMACAddress :: Lens' InstanceNetworkInterface (Maybe Text)+iniMACAddress = lens _iniMACAddress (\ s a -> s{_iniMACAddress = a});++-- | The network interface attachment.+iniAttachment :: Lens' InstanceNetworkInterface (Maybe InstanceNetworkInterfaceAttachment)+iniAttachment = lens _iniAttachment (\ s a -> s{_iniAttachment = a});++-- | The ID of the AWS account that created the network interface.+iniOwnerId :: Lens' InstanceNetworkInterface (Maybe Text)+iniOwnerId = lens _iniOwnerId (\ s a -> s{_iniOwnerId = a});++-- | The IP address of the network interface within the subnet.+iniPrivateIPAddress :: Lens' InstanceNetworkInterface (Maybe Text)+iniPrivateIPAddress = lens _iniPrivateIPAddress (\ s a -> s{_iniPrivateIPAddress = a});++-- | The private DNS name.+iniPrivateDNSName :: Lens' InstanceNetworkInterface (Maybe Text)+iniPrivateDNSName = lens _iniPrivateDNSName (\ s a -> s{_iniPrivateDNSName = a});++-- | The description.+iniDescription :: Lens' InstanceNetworkInterface (Maybe Text)+iniDescription = lens _iniDescription (\ s a -> s{_iniDescription = a});++-- | The association information for an Elastic IP associated with the+-- network interface.+iniAssociation :: Lens' InstanceNetworkInterface (Maybe InstanceNetworkInterfaceAssociation)+iniAssociation = lens _iniAssociation (\ s a -> s{_iniAssociation = a});++instance FromXML InstanceNetworkInterface where+        parseXML x+          = InstanceNetworkInterface' <$>+              (x .@? "groupSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "status")+                <*>+                (x .@? "privateIpAddressesSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "sourceDestCheck")+                <*> (x .@? "vpcId")+                <*> (x .@? "networkInterfaceId")+                <*> (x .@? "subnetId")+                <*> (x .@? "macAddress")+                <*> (x .@? "attachment")+                <*> (x .@? "ownerId")+                <*> (x .@? "privateIpAddress")+                <*> (x .@? "privateDnsName")+                <*> (x .@? "description")+                <*> (x .@? "association")++-- | Describes association information for an Elastic IP address.+--+-- /See:/ 'instanceNetworkInterfaceAssociation' smart constructor.+data InstanceNetworkInterfaceAssociation = InstanceNetworkInterfaceAssociation'+    { _iniaPublicDNSName :: !(Maybe Text)+    , _iniaIPOwnerId     :: !(Maybe Text)+    , _iniaPublicIP      :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceNetworkInterfaceAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iniaPublicDNSName'+--+-- * 'iniaIPOwnerId'+--+-- * 'iniaPublicIP'+instanceNetworkInterfaceAssociation+    :: InstanceNetworkInterfaceAssociation+instanceNetworkInterfaceAssociation =+    InstanceNetworkInterfaceAssociation'+    { _iniaPublicDNSName = Nothing+    , _iniaIPOwnerId = Nothing+    , _iniaPublicIP = Nothing+    }++-- | The public DNS name.+iniaPublicDNSName :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)+iniaPublicDNSName = lens _iniaPublicDNSName (\ s a -> s{_iniaPublicDNSName = a});++-- | The ID of the owner of the Elastic IP address.+iniaIPOwnerId :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)+iniaIPOwnerId = lens _iniaIPOwnerId (\ s a -> s{_iniaIPOwnerId = a});++-- | The public IP address or Elastic IP address bound to the network+-- interface.+iniaPublicIP :: Lens' InstanceNetworkInterfaceAssociation (Maybe Text)+iniaPublicIP = lens _iniaPublicIP (\ s a -> s{_iniaPublicIP = a});++instance FromXML InstanceNetworkInterfaceAssociation+         where+        parseXML x+          = InstanceNetworkInterfaceAssociation' <$>+              (x .@? "publicDnsName") <*> (x .@? "ipOwnerId") <*>+                (x .@? "publicIp")++-- | Describes a network interface attachment.+--+-- /See:/ 'instanceNetworkInterfaceAttachment' smart constructor.+data InstanceNetworkInterfaceAttachment = InstanceNetworkInterfaceAttachment'+    { _iniaStatus              :: !(Maybe AttachmentStatus)+    , _iniaDeleteOnTermination :: !(Maybe Bool)+    , _iniaAttachmentId        :: !(Maybe Text)+    , _iniaAttachTime          :: !(Maybe ISO8601)+    , _iniaDeviceIndex         :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceNetworkInterfaceAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iniaStatus'+--+-- * 'iniaDeleteOnTermination'+--+-- * 'iniaAttachmentId'+--+-- * 'iniaAttachTime'+--+-- * 'iniaDeviceIndex'+instanceNetworkInterfaceAttachment+    :: InstanceNetworkInterfaceAttachment+instanceNetworkInterfaceAttachment =+    InstanceNetworkInterfaceAttachment'+    { _iniaStatus = Nothing+    , _iniaDeleteOnTermination = Nothing+    , _iniaAttachmentId = Nothing+    , _iniaAttachTime = Nothing+    , _iniaDeviceIndex = Nothing+    }++-- | The attachment state.+iniaStatus :: Lens' InstanceNetworkInterfaceAttachment (Maybe AttachmentStatus)+iniaStatus = lens _iniaStatus (\ s a -> s{_iniaStatus = a});++-- | Indicates whether the network interface is deleted when the instance is+-- terminated.+iniaDeleteOnTermination :: Lens' InstanceNetworkInterfaceAttachment (Maybe Bool)+iniaDeleteOnTermination = lens _iniaDeleteOnTermination (\ s a -> s{_iniaDeleteOnTermination = a});++-- | The ID of the network interface attachment.+iniaAttachmentId :: Lens' InstanceNetworkInterfaceAttachment (Maybe Text)+iniaAttachmentId = lens _iniaAttachmentId (\ s a -> s{_iniaAttachmentId = a});++-- | The time stamp when the attachment initiated.+iniaAttachTime :: Lens' InstanceNetworkInterfaceAttachment (Maybe UTCTime)+iniaAttachTime = lens _iniaAttachTime (\ s a -> s{_iniaAttachTime = a}) . mapping _Time;++-- | The index of the device on the instance for the network interface+-- attachment.+iniaDeviceIndex :: Lens' InstanceNetworkInterfaceAttachment (Maybe Int)+iniaDeviceIndex = lens _iniaDeviceIndex (\ s a -> s{_iniaDeviceIndex = a});++instance FromXML InstanceNetworkInterfaceAttachment+         where+        parseXML x+          = InstanceNetworkInterfaceAttachment' <$>+              (x .@? "status") <*> (x .@? "deleteOnTermination")+                <*> (x .@? "attachmentId")+                <*> (x .@? "attachTime")+                <*> (x .@? "deviceIndex")++-- | Describes a network interface.+--+-- /See:/ 'instanceNetworkInterfaceSpecification' smart constructor.+data InstanceNetworkInterfaceSpecification = InstanceNetworkInterfaceSpecification'+    { _inisGroups                         :: !(Maybe [Text])+    , _inisPrivateIPAddresses             :: !(Maybe [PrivateIPAddressSpecification])+    , _inisDeleteOnTermination            :: !(Maybe Bool)+    , _inisAssociatePublicIPAddress       :: !(Maybe Bool)+    , _inisNetworkInterfaceId             :: !(Maybe Text)+    , _inisSubnetId                       :: !(Maybe Text)+    , _inisPrivateIPAddress               :: !(Maybe Text)+    , _inisSecondaryPrivateIPAddressCount :: !(Maybe Int)+    , _inisDescription                    :: !(Maybe Text)+    , _inisDeviceIndex                    :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceNetworkInterfaceSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'inisGroups'+--+-- * 'inisPrivateIPAddresses'+--+-- * 'inisDeleteOnTermination'+--+-- * 'inisAssociatePublicIPAddress'+--+-- * 'inisNetworkInterfaceId'+--+-- * 'inisSubnetId'+--+-- * 'inisPrivateIPAddress'+--+-- * 'inisSecondaryPrivateIPAddressCount'+--+-- * 'inisDescription'+--+-- * 'inisDeviceIndex'+instanceNetworkInterfaceSpecification+    :: InstanceNetworkInterfaceSpecification+instanceNetworkInterfaceSpecification =+    InstanceNetworkInterfaceSpecification'+    { _inisGroups = Nothing+    , _inisPrivateIPAddresses = Nothing+    , _inisDeleteOnTermination = Nothing+    , _inisAssociatePublicIPAddress = Nothing+    , _inisNetworkInterfaceId = Nothing+    , _inisSubnetId = Nothing+    , _inisPrivateIPAddress = Nothing+    , _inisSecondaryPrivateIPAddressCount = Nothing+    , _inisDescription = Nothing+    , _inisDeviceIndex = Nothing+    }++-- | The IDs of the security groups for the network interface. Applies only+-- if creating a network interface when launching an instance.+inisGroups :: Lens' InstanceNetworkInterfaceSpecification [Text]+inisGroups = lens _inisGroups (\ s a -> s{_inisGroups = a}) . _Default . _Coerce;++-- | One or more private IP addresses to assign to the network interface.+-- Only one private IP address can be designated as primary.+inisPrivateIPAddresses :: Lens' InstanceNetworkInterfaceSpecification [PrivateIPAddressSpecification]+inisPrivateIPAddresses = lens _inisPrivateIPAddresses (\ s a -> s{_inisPrivateIPAddresses = a}) . _Default . _Coerce;++-- | If set to 'true', the interface is deleted when the instance is+-- terminated. You can specify 'true' only if creating a new network+-- interface when launching an instance.+inisDeleteOnTermination :: Lens' InstanceNetworkInterfaceSpecification (Maybe Bool)+inisDeleteOnTermination = lens _inisDeleteOnTermination (\ s a -> s{_inisDeleteOnTermination = a});++-- | Indicates whether to assign a public IP address to an instance you+-- launch in a VPC. The public IP address can only be assigned to a network+-- interface for eth0, and can only be assigned to a new network interface,+-- not an existing one. You cannot specify more than one network interface+-- in the request. If launching into a default subnet, the default value is+-- 'true'.+inisAssociatePublicIPAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Bool)+inisAssociatePublicIPAddress = lens _inisAssociatePublicIPAddress (\ s a -> s{_inisAssociatePublicIPAddress = a});++-- | The ID of the network interface.+inisNetworkInterfaceId :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)+inisNetworkInterfaceId = lens _inisNetworkInterfaceId (\ s a -> s{_inisNetworkInterfaceId = a});++-- | The ID of the subnet associated with the network string. Applies only if+-- creating a network interface when launching an instance.+inisSubnetId :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)+inisSubnetId = lens _inisSubnetId (\ s a -> s{_inisSubnetId = a});++-- | The private IP address of the network interface. Applies only if+-- creating a network interface when launching an instance.+inisPrivateIPAddress :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)+inisPrivateIPAddress = lens _inisPrivateIPAddress (\ s a -> s{_inisPrivateIPAddress = a});++-- | The number of secondary private IP addresses. You can\'t specify this+-- option and specify more than one private IP address using the private IP+-- addresses option.+inisSecondaryPrivateIPAddressCount :: Lens' InstanceNetworkInterfaceSpecification (Maybe Int)+inisSecondaryPrivateIPAddressCount = lens _inisSecondaryPrivateIPAddressCount (\ s a -> s{_inisSecondaryPrivateIPAddressCount = a});++-- | The description of the network interface. Applies only if creating a+-- network interface when launching an instance.+inisDescription :: Lens' InstanceNetworkInterfaceSpecification (Maybe Text)+inisDescription = lens _inisDescription (\ s a -> s{_inisDescription = a});++-- | The index of the device on the instance for the network interface+-- attachment. If you are specifying a network interface in a RunInstances+-- request, you must provide the device index.+inisDeviceIndex :: Lens' InstanceNetworkInterfaceSpecification (Maybe Int)+inisDeviceIndex = lens _inisDeviceIndex (\ s a -> s{_inisDeviceIndex = a});++instance FromXML+         InstanceNetworkInterfaceSpecification where+        parseXML x+          = InstanceNetworkInterfaceSpecification' <$>+              (x .@? "SecurityGroupId" .!@ mempty >>=+                 may (parseXMLList "SecurityGroupId"))+                <*>+                (x .@? "privateIpAddressesSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "deleteOnTermination")+                <*> (x .@? "associatePublicIpAddress")+                <*> (x .@? "networkInterfaceId")+                <*> (x .@? "subnetId")+                <*> (x .@? "privateIpAddress")+                <*> (x .@? "secondaryPrivateIpAddressCount")+                <*> (x .@? "description")+                <*> (x .@? "deviceIndex")++instance ToQuery+         InstanceNetworkInterfaceSpecification where+        toQuery InstanceNetworkInterfaceSpecification'{..}+          = mconcat+              [toQuery+                 (toQueryList "SecurityGroupId" <$> _inisGroups),+               toQuery+                 (toQueryList "PrivateIpAddresses" <$>+                    _inisPrivateIPAddresses),+               "DeleteOnTermination" =: _inisDeleteOnTermination,+               "AssociatePublicIpAddress" =:+                 _inisAssociatePublicIPAddress,+               "NetworkInterfaceId" =: _inisNetworkInterfaceId,+               "SubnetId" =: _inisSubnetId,+               "PrivateIpAddress" =: _inisPrivateIPAddress,+               "SecondaryPrivateIpAddressCount" =:+                 _inisSecondaryPrivateIPAddressCount,+               "Description" =: _inisDescription,+               "DeviceIndex" =: _inisDeviceIndex]++-- | Describes a private IP address.+--+-- /See:/ 'instancePrivateIPAddress' smart constructor.+data InstancePrivateIPAddress = InstancePrivateIPAddress'+    { _ipiaPrimary          :: !(Maybe Bool)+    , _ipiaPrivateIPAddress :: !(Maybe Text)+    , _ipiaPrivateDNSName   :: !(Maybe Text)+    , _ipiaAssociation      :: !(Maybe InstanceNetworkInterfaceAssociation)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancePrivateIPAddress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipiaPrimary'+--+-- * 'ipiaPrivateIPAddress'+--+-- * 'ipiaPrivateDNSName'+--+-- * 'ipiaAssociation'+instancePrivateIPAddress+    :: InstancePrivateIPAddress+instancePrivateIPAddress =+    InstancePrivateIPAddress'+    { _ipiaPrimary = Nothing+    , _ipiaPrivateIPAddress = Nothing+    , _ipiaPrivateDNSName = Nothing+    , _ipiaAssociation = Nothing+    }++-- | Indicates whether this IP address is the primary private IP address of+-- the network interface.+ipiaPrimary :: Lens' InstancePrivateIPAddress (Maybe Bool)+ipiaPrimary = lens _ipiaPrimary (\ s a -> s{_ipiaPrimary = a});++-- | The private IP address of the network interface.+ipiaPrivateIPAddress :: Lens' InstancePrivateIPAddress (Maybe Text)+ipiaPrivateIPAddress = lens _ipiaPrivateIPAddress (\ s a -> s{_ipiaPrivateIPAddress = a});++-- | The private DNS name.+ipiaPrivateDNSName :: Lens' InstancePrivateIPAddress (Maybe Text)+ipiaPrivateDNSName = lens _ipiaPrivateDNSName (\ s a -> s{_ipiaPrivateDNSName = a});++-- | The association information for an Elastic IP address for the network+-- interface.+ipiaAssociation :: Lens' InstancePrivateIPAddress (Maybe InstanceNetworkInterfaceAssociation)+ipiaAssociation = lens _ipiaAssociation (\ s a -> s{_ipiaAssociation = a});++instance FromXML InstancePrivateIPAddress where+        parseXML x+          = InstancePrivateIPAddress' <$>+              (x .@? "primary") <*> (x .@? "privateIpAddress") <*>+                (x .@? "privateDnsName")+                <*> (x .@? "association")++-- | Describes the current state of the instance.+--+-- /See:/ 'instanceState' smart constructor.+data InstanceState = InstanceState'+    { _isName :: !InstanceStateName+    , _isCode :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isName'+--+-- * 'isCode'+instanceState+    :: InstanceStateName -- ^ 'isName'+    -> Int -- ^ 'isCode'+    -> InstanceState+instanceState pName_ pCode_ =+    InstanceState'+    { _isName = pName_+    , _isCode = pCode_+    }++-- | The current state of the instance.+isName :: Lens' InstanceState InstanceStateName+isName = lens _isName (\ s a -> s{_isName = a});++-- | The low byte represents the state. The high byte is an opaque internal+-- value and should be ignored.+--+-- -   '0' : 'pending'+--+-- -   '16' : 'running'+--+-- -   '32' : 'shutting-down'+--+-- -   '48' : 'terminated'+--+-- -   '64' : 'stopping'+--+-- -   '80' : 'stopped'+--+isCode :: Lens' InstanceState Int+isCode = lens _isCode (\ s a -> s{_isCode = a});++instance FromXML InstanceState where+        parseXML x+          = InstanceState' <$> (x .@ "name") <*> (x .@ "code")++-- | Describes an instance state change.+--+-- /See:/ 'instanceStateChange' smart constructor.+data InstanceStateChange = InstanceStateChange'+    { _iscInstanceId    :: !(Maybe Text)+    , _iscCurrentState  :: !(Maybe InstanceState)+    , _iscPreviousState :: !(Maybe InstanceState)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceStateChange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iscInstanceId'+--+-- * 'iscCurrentState'+--+-- * 'iscPreviousState'+instanceStateChange+    :: InstanceStateChange+instanceStateChange =+    InstanceStateChange'+    { _iscInstanceId = Nothing+    , _iscCurrentState = Nothing+    , _iscPreviousState = Nothing+    }++-- | The ID of the instance.+iscInstanceId :: Lens' InstanceStateChange (Maybe Text)+iscInstanceId = lens _iscInstanceId (\ s a -> s{_iscInstanceId = a});++-- | The current state of the instance.+iscCurrentState :: Lens' InstanceStateChange (Maybe InstanceState)+iscCurrentState = lens _iscCurrentState (\ s a -> s{_iscCurrentState = a});++-- | The previous state of the instance.+iscPreviousState :: Lens' InstanceStateChange (Maybe InstanceState)+iscPreviousState = lens _iscPreviousState (\ s a -> s{_iscPreviousState = a});++instance FromXML InstanceStateChange where+        parseXML x+          = InstanceStateChange' <$>+              (x .@? "instanceId") <*> (x .@? "currentState") <*>+                (x .@? "previousState")++-- | Describes the status of an instance.+--+-- /See:/ 'instanceStatus' smart constructor.+data InstanceStatus = InstanceStatus'+    { _isInstanceId       :: !(Maybe Text)+    , _isSystemStatus     :: !(Maybe InstanceStatusSummary)+    , _isEvents           :: !(Maybe [InstanceStatusEvent])+    , _isAvailabilityZone :: !(Maybe Text)+    , _isInstanceStatus   :: !(Maybe InstanceStatusSummary)+    , _isInstanceState    :: !(Maybe InstanceState)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isInstanceId'+--+-- * 'isSystemStatus'+--+-- * 'isEvents'+--+-- * 'isAvailabilityZone'+--+-- * 'isInstanceStatus'+--+-- * 'isInstanceState'+instanceStatus+    :: InstanceStatus+instanceStatus =+    InstanceStatus'+    { _isInstanceId = Nothing+    , _isSystemStatus = Nothing+    , _isEvents = Nothing+    , _isAvailabilityZone = Nothing+    , _isInstanceStatus = Nothing+    , _isInstanceState = Nothing+    }++-- | The ID of the instance.+isInstanceId :: Lens' InstanceStatus (Maybe Text)+isInstanceId = lens _isInstanceId (\ s a -> s{_isInstanceId = a});++-- | Reports impaired functionality that stems from issues related to the+-- systems that support an instance, such as hardware failures and network+-- connectivity problems.+isSystemStatus :: Lens' InstanceStatus (Maybe InstanceStatusSummary)+isSystemStatus = lens _isSystemStatus (\ s a -> s{_isSystemStatus = a});++-- | Any scheduled events associated with the instance.+isEvents :: Lens' InstanceStatus [InstanceStatusEvent]+isEvents = lens _isEvents (\ s a -> s{_isEvents = a}) . _Default . _Coerce;++-- | The Availability Zone of the instance.+isAvailabilityZone :: Lens' InstanceStatus (Maybe Text)+isAvailabilityZone = lens _isAvailabilityZone (\ s a -> s{_isAvailabilityZone = a});++-- | Reports impaired functionality that stems from issues internal to the+-- instance, such as impaired reachability.+isInstanceStatus :: Lens' InstanceStatus (Maybe InstanceStatusSummary)+isInstanceStatus = lens _isInstanceStatus (\ s a -> s{_isInstanceStatus = a});++-- | The intended state of the instance. DescribeInstanceStatus requires that+-- an instance be in the 'running' state.+isInstanceState :: Lens' InstanceStatus (Maybe InstanceState)+isInstanceState = lens _isInstanceState (\ s a -> s{_isInstanceState = a});++instance FromXML InstanceStatus where+        parseXML x+          = InstanceStatus' <$>+              (x .@? "instanceId") <*> (x .@? "systemStatus") <*>+                (x .@? "eventsSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "availabilityZone")+                <*> (x .@? "instanceStatus")+                <*> (x .@? "instanceState")++-- | Describes the instance status.+--+-- /See:/ 'instanceStatusDetails' smart constructor.+data InstanceStatusDetails = InstanceStatusDetails'+    { _isdStatus        :: !(Maybe StatusType)+    , _isdImpairedSince :: !(Maybe ISO8601)+    , _isdName          :: !(Maybe StatusName)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceStatusDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isdStatus'+--+-- * 'isdImpairedSince'+--+-- * 'isdName'+instanceStatusDetails+    :: InstanceStatusDetails+instanceStatusDetails =+    InstanceStatusDetails'+    { _isdStatus = Nothing+    , _isdImpairedSince = Nothing+    , _isdName = Nothing+    }++-- | The status.+isdStatus :: Lens' InstanceStatusDetails (Maybe StatusType)+isdStatus = lens _isdStatus (\ s a -> s{_isdStatus = a});++-- | The time when a status check failed. For an instance that was launched+-- and impaired, this is the time when the instance was launched.+isdImpairedSince :: Lens' InstanceStatusDetails (Maybe UTCTime)+isdImpairedSince = lens _isdImpairedSince (\ s a -> s{_isdImpairedSince = a}) . mapping _Time;++-- | The type of instance status.+isdName :: Lens' InstanceStatusDetails (Maybe StatusName)+isdName = lens _isdName (\ s a -> s{_isdName = a});++instance FromXML InstanceStatusDetails where+        parseXML x+          = InstanceStatusDetails' <$>+              (x .@? "status") <*> (x .@? "impairedSince") <*>+                (x .@? "name")++-- | Describes a scheduled event for an instance.+--+-- /See:/ 'instanceStatusEvent' smart constructor.+data InstanceStatusEvent = InstanceStatusEvent'+    { _iseNotBefore   :: !(Maybe ISO8601)+    , _iseCode        :: !(Maybe EventCode)+    , _iseDescription :: !(Maybe Text)+    , _iseNotAfter    :: !(Maybe ISO8601)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceStatusEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iseNotBefore'+--+-- * 'iseCode'+--+-- * 'iseDescription'+--+-- * 'iseNotAfter'+instanceStatusEvent+    :: InstanceStatusEvent+instanceStatusEvent =+    InstanceStatusEvent'+    { _iseNotBefore = Nothing+    , _iseCode = Nothing+    , _iseDescription = Nothing+    , _iseNotAfter = Nothing+    }++-- | The earliest scheduled start time for the event.+iseNotBefore :: Lens' InstanceStatusEvent (Maybe UTCTime)+iseNotBefore = lens _iseNotBefore (\ s a -> s{_iseNotBefore = a}) . mapping _Time;++-- | The event code.+iseCode :: Lens' InstanceStatusEvent (Maybe EventCode)+iseCode = lens _iseCode (\ s a -> s{_iseCode = a});++-- | A description of the event.+--+-- After a scheduled event is completed, it can still be described for up+-- to a week. If the event has been completed, this description starts with+-- the following text: [Completed].+iseDescription :: Lens' InstanceStatusEvent (Maybe Text)+iseDescription = lens _iseDescription (\ s a -> s{_iseDescription = a});++-- | The latest scheduled end time for the event.+iseNotAfter :: Lens' InstanceStatusEvent (Maybe UTCTime)+iseNotAfter = lens _iseNotAfter (\ s a -> s{_iseNotAfter = a}) . mapping _Time;++instance FromXML InstanceStatusEvent where+        parseXML x+          = InstanceStatusEvent' <$>+              (x .@? "notBefore") <*> (x .@? "code") <*>+                (x .@? "description")+                <*> (x .@? "notAfter")++-- | Describes the status of an instance.+--+-- /See:/ 'instanceStatusSummary' smart constructor.+data InstanceStatusSummary = InstanceStatusSummary'+    { _issDetails :: !(Maybe [InstanceStatusDetails])+    , _issStatus  :: !SummaryStatus+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceStatusSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'issDetails'+--+-- * 'issStatus'+instanceStatusSummary+    :: SummaryStatus -- ^ 'issStatus'+    -> InstanceStatusSummary+instanceStatusSummary pStatus_ =+    InstanceStatusSummary'+    { _issDetails = Nothing+    , _issStatus = pStatus_+    }++-- | The system instance health or application instance health.+issDetails :: Lens' InstanceStatusSummary [InstanceStatusDetails]+issDetails = lens _issDetails (\ s a -> s{_issDetails = a}) . _Default . _Coerce;++-- | The status.+issStatus :: Lens' InstanceStatusSummary SummaryStatus+issStatus = lens _issStatus (\ s a -> s{_issStatus = a});++instance FromXML InstanceStatusSummary where+        parseXML x+          = InstanceStatusSummary' <$>+              (x .@? "details" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@ "status")++-- | Describes an Internet gateway.+--+-- /See:/ 'internetGateway' smart constructor.+data InternetGateway = InternetGateway'+    { _igAttachments       :: !(Maybe [InternetGatewayAttachment])+    , _igTags              :: !(Maybe [Tag])+    , _igInternetGatewayId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InternetGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igAttachments'+--+-- * 'igTags'+--+-- * 'igInternetGatewayId'+internetGateway+    :: Text -- ^ 'igInternetGatewayId'+    -> InternetGateway+internetGateway pInternetGatewayId_ =+    InternetGateway'+    { _igAttachments = Nothing+    , _igTags = Nothing+    , _igInternetGatewayId = pInternetGatewayId_+    }++-- | Any VPCs attached to the Internet gateway.+igAttachments :: Lens' InternetGateway [InternetGatewayAttachment]+igAttachments = lens _igAttachments (\ s a -> s{_igAttachments = a}) . _Default . _Coerce;++-- | Any tags assigned to the Internet gateway.+igTags :: Lens' InternetGateway [Tag]+igTags = lens _igTags (\ s a -> s{_igTags = a}) . _Default . _Coerce;++-- | The ID of the Internet gateway.+igInternetGatewayId :: Lens' InternetGateway Text+igInternetGatewayId = lens _igInternetGatewayId (\ s a -> s{_igInternetGatewayId = a});++instance FromXML InternetGateway where+        parseXML x+          = InternetGateway' <$>+              (x .@? "attachmentSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@ "internetGatewayId")++-- | Describes the attachment of a VPC to an Internet gateway.+--+-- /See:/ 'internetGatewayAttachment' smart constructor.+data InternetGatewayAttachment = InternetGatewayAttachment'+    { _igaState :: !AttachmentStatus+    , _igaVPCId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InternetGatewayAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igaState'+--+-- * 'igaVPCId'+internetGatewayAttachment+    :: AttachmentStatus -- ^ 'igaState'+    -> Text -- ^ 'igaVPCId'+    -> InternetGatewayAttachment+internetGatewayAttachment pState_ pVPCId_ =+    InternetGatewayAttachment'+    { _igaState = pState_+    , _igaVPCId = pVPCId_+    }++-- | The current state of the attachment.+igaState :: Lens' InternetGatewayAttachment AttachmentStatus+igaState = lens _igaState (\ s a -> s{_igaState = a});++-- | The ID of the VPC.+igaVPCId :: Lens' InternetGatewayAttachment Text+igaVPCId = lens _igaVPCId (\ s a -> s{_igaVPCId = a});++instance FromXML InternetGatewayAttachment where+        parseXML x+          = InternetGatewayAttachment' <$>+              (x .@ "state") <*> (x .@ "vpcId")++-- | Describes a key pair.+--+-- /See:/ 'keyPairInfo' smart constructor.+data KeyPairInfo = KeyPairInfo'+    { _kpiKeyFingerprint :: !(Maybe Text)+    , _kpiKeyName        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'KeyPairInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kpiKeyFingerprint'+--+-- * 'kpiKeyName'+keyPairInfo+    :: KeyPairInfo+keyPairInfo =+    KeyPairInfo'+    { _kpiKeyFingerprint = Nothing+    , _kpiKeyName = Nothing+    }++-- | If you used CreateKeyPair to create the key pair, this is the SHA-1+-- digest of the DER encoded private key. If you used ImportKeyPair to+-- provide AWS the public key, this is the MD5 public key fingerprint as+-- specified in section 4 of RFC4716.+kpiKeyFingerprint :: Lens' KeyPairInfo (Maybe Text)+kpiKeyFingerprint = lens _kpiKeyFingerprint (\ s a -> s{_kpiKeyFingerprint = a});++-- | The name of the key pair.+kpiKeyName :: Lens' KeyPairInfo (Maybe Text)+kpiKeyName = lens _kpiKeyName (\ s a -> s{_kpiKeyName = a});++instance FromXML KeyPairInfo where+        parseXML x+          = KeyPairInfo' <$>+              (x .@? "keyFingerprint") <*> (x .@? "keyName")++-- | Describes a launch permission.+--+-- /See:/ 'launchPermission' smart constructor.+data LaunchPermission = LaunchPermission'+    { _lpGroup  :: !(Maybe PermissionGroup)+    , _lpUserId :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LaunchPermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpGroup'+--+-- * 'lpUserId'+launchPermission+    :: LaunchPermission+launchPermission =+    LaunchPermission'+    { _lpGroup = Nothing+    , _lpUserId = Nothing+    }++-- | The name of the group.+lpGroup :: Lens' LaunchPermission (Maybe PermissionGroup)+lpGroup = lens _lpGroup (\ s a -> s{_lpGroup = a});++-- | The AWS account ID.+lpUserId :: Lens' LaunchPermission (Maybe Text)+lpUserId = lens _lpUserId (\ s a -> s{_lpUserId = a});++instance FromXML LaunchPermission where+        parseXML x+          = LaunchPermission' <$>+              (x .@? "group") <*> (x .@? "userId")++instance ToQuery LaunchPermission where+        toQuery LaunchPermission'{..}+          = mconcat+              ["Group" =: _lpGroup, "UserId" =: _lpUserId]++-- | Describes a launch permission modification.+--+-- /See:/ 'launchPermissionModifications' smart constructor.+data LaunchPermissionModifications = LaunchPermissionModifications'+    { _lpmRemove :: !(Maybe [LaunchPermission])+    , _lpmAdd    :: !(Maybe [LaunchPermission])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LaunchPermissionModifications' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpmRemove'+--+-- * 'lpmAdd'+launchPermissionModifications+    :: LaunchPermissionModifications+launchPermissionModifications =+    LaunchPermissionModifications'+    { _lpmRemove = Nothing+    , _lpmAdd = Nothing+    }++-- | The AWS account ID to remove from the list of launch permissions for the+-- AMI.+lpmRemove :: Lens' LaunchPermissionModifications [LaunchPermission]+lpmRemove = lens _lpmRemove (\ s a -> s{_lpmRemove = a}) . _Default . _Coerce;++-- | The AWS account ID to add to the list of launch permissions for the AMI.+lpmAdd :: Lens' LaunchPermissionModifications [LaunchPermission]+lpmAdd = lens _lpmAdd (\ s a -> s{_lpmAdd = a}) . _Default . _Coerce;++instance ToQuery LaunchPermissionModifications where+        toQuery LaunchPermissionModifications'{..}+          = mconcat+              [toQuery (toQueryList "Remove" <$> _lpmRemove),+               toQuery (toQueryList "Add" <$> _lpmAdd)]++-- | Describes the launch specification for an instance.+--+-- /See:/ 'launchSpecification' smart constructor.+data LaunchSpecification = LaunchSpecification'+    { _lsSecurityGroups      :: !(Maybe [GroupIdentifier])+    , _lsKeyName             :: !(Maybe Text)+    , _lsNetworkInterfaces   :: !(Maybe [InstanceNetworkInterfaceSpecification])+    , _lsRAMDiskId           :: !(Maybe Text)+    , _lsSubnetId            :: !(Maybe Text)+    , _lsKernelId            :: !(Maybe Text)+    , _lsInstanceType        :: !(Maybe InstanceType)+    , _lsEBSOptimized        :: !(Maybe Bool)+    , _lsUserData            :: !(Maybe Text)+    , _lsMonitoring          :: !(Maybe RunInstancesMonitoringEnabled)+    , _lsIAMInstanceProfile  :: !(Maybe IAMInstanceProfileSpecification)+    , _lsImageId             :: !(Maybe Text)+    , _lsAddressingType      :: !(Maybe Text)+    , _lsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _lsPlacement           :: !(Maybe SpotPlacement)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LaunchSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsSecurityGroups'+--+-- * 'lsKeyName'+--+-- * 'lsNetworkInterfaces'+--+-- * 'lsRAMDiskId'+--+-- * 'lsSubnetId'+--+-- * 'lsKernelId'+--+-- * 'lsInstanceType'+--+-- * 'lsEBSOptimized'+--+-- * 'lsUserData'+--+-- * 'lsMonitoring'+--+-- * 'lsIAMInstanceProfile'+--+-- * 'lsImageId'+--+-- * 'lsAddressingType'+--+-- * 'lsBlockDeviceMappings'+--+-- * 'lsPlacement'+launchSpecification+    :: LaunchSpecification+launchSpecification =+    LaunchSpecification'+    { _lsSecurityGroups = Nothing+    , _lsKeyName = Nothing+    , _lsNetworkInterfaces = Nothing+    , _lsRAMDiskId = Nothing+    , _lsSubnetId = Nothing+    , _lsKernelId = Nothing+    , _lsInstanceType = Nothing+    , _lsEBSOptimized = Nothing+    , _lsUserData = Nothing+    , _lsMonitoring = Nothing+    , _lsIAMInstanceProfile = Nothing+    , _lsImageId = Nothing+    , _lsAddressingType = Nothing+    , _lsBlockDeviceMappings = Nothing+    , _lsPlacement = Nothing+    }++-- | One or more security groups. 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;++-- | The name of the key pair.+lsKeyName :: Lens' LaunchSpecification (Maybe Text)+lsKeyName = lens _lsKeyName (\ s a -> s{_lsKeyName = a});++-- | One or more network interfaces.+lsNetworkInterfaces :: Lens' LaunchSpecification [InstanceNetworkInterfaceSpecification]+lsNetworkInterfaces = lens _lsNetworkInterfaces (\ s a -> s{_lsNetworkInterfaces = a}) . _Default . _Coerce;++-- | The ID of the RAM disk.+lsRAMDiskId :: Lens' LaunchSpecification (Maybe Text)+lsRAMDiskId = lens _lsRAMDiskId (\ s a -> s{_lsRAMDiskId = a});++-- | The ID of the subnet in which to launch the instance.+lsSubnetId :: Lens' LaunchSpecification (Maybe Text)+lsSubnetId = lens _lsSubnetId (\ s a -> s{_lsSubnetId = a});++-- | The ID of the kernel.+lsKernelId :: Lens' LaunchSpecification (Maybe Text)+lsKernelId = lens _lsKernelId (\ s a -> s{_lsKernelId = a});++-- | The instance type.+lsInstanceType :: Lens' LaunchSpecification (Maybe InstanceType)+lsInstanceType = lens _lsInstanceType (\ s a -> s{_lsInstanceType = a});++-- | Indicates whether the instance is optimized for EBS I\/O. This+-- optimization provides dedicated throughput to Amazon EBS and an+-- optimized configuration stack to provide optimal EBS I\/O performance.+-- This optimization isn\'t available with all instance types. Additional+-- usage charges apply when using an EBS Optimized instance.+--+-- Default: 'false'+lsEBSOptimized :: Lens' LaunchSpecification (Maybe Bool)+lsEBSOptimized = lens _lsEBSOptimized (\ s a -> s{_lsEBSOptimized = a});++-- | The Base64-encoded MIME user data to make available to the instances.+lsUserData :: Lens' LaunchSpecification (Maybe Text)+lsUserData = lens _lsUserData (\ s a -> s{_lsUserData = a});++-- | Undocumented member.+lsMonitoring :: Lens' LaunchSpecification (Maybe RunInstancesMonitoringEnabled)+lsMonitoring = lens _lsMonitoring (\ s a -> s{_lsMonitoring = a});++-- | The IAM instance profile.+lsIAMInstanceProfile :: Lens' LaunchSpecification (Maybe IAMInstanceProfileSpecification)+lsIAMInstanceProfile = lens _lsIAMInstanceProfile (\ s a -> s{_lsIAMInstanceProfile = a});++-- | The ID of the AMI.+lsImageId :: Lens' LaunchSpecification (Maybe Text)+lsImageId = lens _lsImageId (\ s a -> s{_lsImageId = a});++-- | Deprecated.+lsAddressingType :: Lens' LaunchSpecification (Maybe Text)+lsAddressingType = lens _lsAddressingType (\ s a -> s{_lsAddressingType = a});++-- | One or more block device mapping entries.+lsBlockDeviceMappings :: Lens' LaunchSpecification [BlockDeviceMapping]+lsBlockDeviceMappings = lens _lsBlockDeviceMappings (\ s a -> s{_lsBlockDeviceMappings = a}) . _Default . _Coerce;++-- | The placement information for the instance.+lsPlacement :: Lens' LaunchSpecification (Maybe SpotPlacement)+lsPlacement = lens _lsPlacement (\ s a -> s{_lsPlacement = a});++instance FromXML LaunchSpecification where+        parseXML x+          = LaunchSpecification' <$>+              (x .@? "groupSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "keyName")+                <*>+                (x .@? "networkInterfaceSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "ramdiskId")+                <*> (x .@? "subnetId")+                <*> (x .@? "kernelId")+                <*> (x .@? "instanceType")+                <*> (x .@? "ebsOptimized")+                <*> (x .@? "userData")+                <*> (x .@? "monitoring")+                <*> (x .@? "iamInstanceProfile")+                <*> (x .@? "imageId")+                <*> (x .@? "addressingType")+                <*>+                (x .@? "blockDeviceMapping" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "placement")++-- | Describes the monitoring for the instance.+--+-- /See:/ 'monitoring' smart constructor.+newtype Monitoring = Monitoring'+    { _mState :: Maybe MonitoringState+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Monitoring' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mState'+monitoring+    :: Monitoring+monitoring =+    Monitoring'+    { _mState = Nothing+    }++-- | Indicates whether monitoring is enabled for the instance.+mState :: Lens' Monitoring (Maybe MonitoringState)+mState = lens _mState (\ s a -> s{_mState = a});++instance FromXML Monitoring where+        parseXML x = Monitoring' <$> (x .@? "state")++-- | Describes the status of a moving Elastic IP address.+--+-- /See:/ 'movingAddressStatus' smart constructor.+data MovingAddressStatus = MovingAddressStatus'+    { _masMoveStatus :: !(Maybe MoveStatus)+    , _masPublicIP   :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MovingAddressStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'masMoveStatus'+--+-- * 'masPublicIP'+movingAddressStatus+    :: MovingAddressStatus+movingAddressStatus =+    MovingAddressStatus'+    { _masMoveStatus = Nothing+    , _masPublicIP = Nothing+    }++-- | The status of the Elastic IP address that\'s being moved to the EC2-VPC+-- platform, or restored to the EC2-Classic platform.+masMoveStatus :: Lens' MovingAddressStatus (Maybe MoveStatus)+masMoveStatus = lens _masMoveStatus (\ s a -> s{_masMoveStatus = a});++-- | The Elastic IP address.+masPublicIP :: Lens' MovingAddressStatus (Maybe Text)+masPublicIP = lens _masPublicIP (\ s a -> s{_masPublicIP = a});++instance FromXML MovingAddressStatus where+        parseXML x+          = MovingAddressStatus' <$>+              (x .@? "moveStatus") <*> (x .@? "publicIp")++-- | Describes a network ACL.+--+-- /See:/ 'networkACL' smart constructor.+data NetworkACL = NetworkACL'+    { _naEntries      :: !(Maybe [NetworkACLEntry])+    , _naNetworkACLId :: !(Maybe Text)+    , _naVPCId        :: !(Maybe Text)+    , _naAssociations :: !(Maybe [NetworkACLAssociation])+    , _naTags         :: !(Maybe [Tag])+    , _naIsDefault    :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkACL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'naEntries'+--+-- * 'naNetworkACLId'+--+-- * 'naVPCId'+--+-- * 'naAssociations'+--+-- * 'naTags'+--+-- * 'naIsDefault'+networkACL+    :: NetworkACL+networkACL =+    NetworkACL'+    { _naEntries = Nothing+    , _naNetworkACLId = Nothing+    , _naVPCId = Nothing+    , _naAssociations = Nothing+    , _naTags = Nothing+    , _naIsDefault = Nothing+    }++-- | One or more entries (rules) in the network ACL.+naEntries :: Lens' NetworkACL [NetworkACLEntry]+naEntries = lens _naEntries (\ s a -> s{_naEntries = a}) . _Default . _Coerce;++-- | The ID of the network ACL.+naNetworkACLId :: Lens' NetworkACL (Maybe Text)+naNetworkACLId = lens _naNetworkACLId (\ s a -> s{_naNetworkACLId = a});++-- | The ID of the VPC for the network ACL.+naVPCId :: Lens' NetworkACL (Maybe Text)+naVPCId = lens _naVPCId (\ s a -> s{_naVPCId = a});++-- | Any associations between the network ACL and one or more subnets+naAssociations :: Lens' NetworkACL [NetworkACLAssociation]+naAssociations = lens _naAssociations (\ s a -> s{_naAssociations = a}) . _Default . _Coerce;++-- | Any tags assigned to the network ACL.+naTags :: Lens' NetworkACL [Tag]+naTags = lens _naTags (\ s a -> s{_naTags = a}) . _Default . _Coerce;++-- | Indicates whether this is the default network ACL for the VPC.+naIsDefault :: Lens' NetworkACL (Maybe Bool)+naIsDefault = lens _naIsDefault (\ s a -> s{_naIsDefault = a});++instance FromXML NetworkACL where+        parseXML x+          = NetworkACL' <$>+              (x .@? "entrySet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "networkAclId")+                <*> (x .@? "vpcId")+                <*>+                (x .@? "associationSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "default")++-- | Describes an association between a network ACL and a subnet.+--+-- /See:/ 'networkACLAssociation' smart constructor.+data NetworkACLAssociation = NetworkACLAssociation'+    { _naaNetworkACLId            :: !(Maybe Text)+    , _naaSubnetId                :: !(Maybe Text)+    , _naaNetworkACLAssociationId :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkACLAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'naaNetworkACLId'+--+-- * 'naaSubnetId'+--+-- * 'naaNetworkACLAssociationId'+networkACLAssociation+    :: NetworkACLAssociation+networkACLAssociation =+    NetworkACLAssociation'+    { _naaNetworkACLId = Nothing+    , _naaSubnetId = Nothing+    , _naaNetworkACLAssociationId = Nothing+    }++-- | The ID of the network ACL.+naaNetworkACLId :: Lens' NetworkACLAssociation (Maybe Text)+naaNetworkACLId = lens _naaNetworkACLId (\ s a -> s{_naaNetworkACLId = a});++-- | The ID of the subnet.+naaSubnetId :: Lens' NetworkACLAssociation (Maybe Text)+naaSubnetId = lens _naaSubnetId (\ s a -> s{_naaSubnetId = a});++-- | The ID of the association between a network ACL and a subnet.+naaNetworkACLAssociationId :: Lens' NetworkACLAssociation (Maybe Text)+naaNetworkACLAssociationId = lens _naaNetworkACLAssociationId (\ s a -> s{_naaNetworkACLAssociationId = a});++instance FromXML NetworkACLAssociation where+        parseXML x+          = NetworkACLAssociation' <$>+              (x .@? "networkAclId") <*> (x .@? "subnetId") <*>+                (x .@? "networkAclAssociationId")++-- | Describes an entry in a network ACL.+--+-- /See:/ 'networkACLEntry' smart constructor.+data NetworkACLEntry = NetworkACLEntry'+    { _naeICMPTypeCode :: !(Maybe ICMPTypeCode)+    , _naeRuleNumber   :: !(Maybe Int)+    , _naeRuleAction   :: !(Maybe RuleAction)+    , _naeProtocol     :: !(Maybe Text)+    , _naePortRange    :: !(Maybe PortRange)+    , _naeCIdRBlock    :: !(Maybe Text)+    , _naeEgress       :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkACLEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'naeICMPTypeCode'+--+-- * 'naeRuleNumber'+--+-- * 'naeRuleAction'+--+-- * 'naeProtocol'+--+-- * 'naePortRange'+--+-- * 'naeCIdRBlock'+--+-- * 'naeEgress'+networkACLEntry+    :: NetworkACLEntry+networkACLEntry =+    NetworkACLEntry'+    { _naeICMPTypeCode = Nothing+    , _naeRuleNumber = Nothing+    , _naeRuleAction = Nothing+    , _naeProtocol = Nothing+    , _naePortRange = Nothing+    , _naeCIdRBlock = Nothing+    , _naeEgress = Nothing+    }++-- | ICMP protocol: The ICMP type and code.+naeICMPTypeCode :: Lens' NetworkACLEntry (Maybe ICMPTypeCode)+naeICMPTypeCode = lens _naeICMPTypeCode (\ s a -> s{_naeICMPTypeCode = a});++-- | The rule number for the entry. ACL entries are processed in ascending+-- order by rule number.+naeRuleNumber :: Lens' NetworkACLEntry (Maybe Int)+naeRuleNumber = lens _naeRuleNumber (\ s a -> s{_naeRuleNumber = a});++-- | Indicates whether to allow or deny the traffic that matches the rule.+naeRuleAction :: Lens' NetworkACLEntry (Maybe RuleAction)+naeRuleAction = lens _naeRuleAction (\ s a -> s{_naeRuleAction = a});++-- | The protocol. A value of '-1' means all protocols.+naeProtocol :: Lens' NetworkACLEntry (Maybe Text)+naeProtocol = lens _naeProtocol (\ s a -> s{_naeProtocol = a});++-- | TCP or UDP protocols: The range of ports the rule applies to.+naePortRange :: Lens' NetworkACLEntry (Maybe PortRange)+naePortRange = lens _naePortRange (\ s a -> s{_naePortRange = a});++-- | The network range to allow or deny, in CIDR notation.+naeCIdRBlock :: Lens' NetworkACLEntry (Maybe Text)+naeCIdRBlock = lens _naeCIdRBlock (\ s a -> s{_naeCIdRBlock = a});++-- | Indicates whether the rule is an egress rule (applied to traffic leaving+-- the subnet).+naeEgress :: Lens' NetworkACLEntry (Maybe Bool)+naeEgress = lens _naeEgress (\ s a -> s{_naeEgress = a});++instance FromXML NetworkACLEntry where+        parseXML x+          = NetworkACLEntry' <$>+              (x .@? "icmpTypeCode") <*> (x .@? "ruleNumber") <*>+                (x .@? "ruleAction")+                <*> (x .@? "protocol")+                <*> (x .@? "portRange")+                <*> (x .@? "cidrBlock")+                <*> (x .@? "egress")++-- | Describes a network interface.+--+-- /See:/ 'networkInterface' smart constructor.+data NetworkInterface = NetworkInterface'+    { _niGroups             :: !(Maybe [GroupIdentifier])+    , _niStatus             :: !(Maybe NetworkInterfaceStatus)+    , _niPrivateIPAddresses :: !(Maybe [NetworkInterfacePrivateIPAddress])+    , _niSourceDestCheck    :: !(Maybe Bool)+    , _niVPCId              :: !(Maybe Text)+    , _niTagSet             :: !(Maybe [Tag])+    , _niRequesterManaged   :: !(Maybe Bool)+    , _niNetworkInterfaceId :: !(Maybe Text)+    , _niSubnetId           :: !(Maybe Text)+    , _niMACAddress         :: !(Maybe Text)+    , _niAttachment         :: !(Maybe NetworkInterfaceAttachment)+    , _niOwnerId            :: !(Maybe Text)+    , _niAvailabilityZone   :: !(Maybe Text)+    , _niPrivateIPAddress   :: !(Maybe Text)+    , _niPrivateDNSName     :: !(Maybe Text)+    , _niRequesterId        :: !(Maybe Text)+    , _niDescription        :: !(Maybe Text)+    , _niAssociation        :: !(Maybe NetworkInterfaceAssociation)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInterface' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niGroups'+--+-- * 'niStatus'+--+-- * 'niPrivateIPAddresses'+--+-- * 'niSourceDestCheck'+--+-- * 'niVPCId'+--+-- * 'niTagSet'+--+-- * 'niRequesterManaged'+--+-- * 'niNetworkInterfaceId'+--+-- * 'niSubnetId'+--+-- * 'niMACAddress'+--+-- * 'niAttachment'+--+-- * 'niOwnerId'+--+-- * 'niAvailabilityZone'+--+-- * 'niPrivateIPAddress'+--+-- * 'niPrivateDNSName'+--+-- * 'niRequesterId'+--+-- * 'niDescription'+--+-- * 'niAssociation'+networkInterface+    :: NetworkInterface+networkInterface =+    NetworkInterface'+    { _niGroups = Nothing+    , _niStatus = Nothing+    , _niPrivateIPAddresses = Nothing+    , _niSourceDestCheck = Nothing+    , _niVPCId = Nothing+    , _niTagSet = Nothing+    , _niRequesterManaged = Nothing+    , _niNetworkInterfaceId = Nothing+    , _niSubnetId = Nothing+    , _niMACAddress = Nothing+    , _niAttachment = Nothing+    , _niOwnerId = Nothing+    , _niAvailabilityZone = Nothing+    , _niPrivateIPAddress = Nothing+    , _niPrivateDNSName = Nothing+    , _niRequesterId = Nothing+    , _niDescription = Nothing+    , _niAssociation = Nothing+    }++-- | Any security groups for the network interface.+niGroups :: Lens' NetworkInterface [GroupIdentifier]+niGroups = lens _niGroups (\ s a -> s{_niGroups = a}) . _Default . _Coerce;++-- | The status of the network interface.+niStatus :: Lens' NetworkInterface (Maybe NetworkInterfaceStatus)+niStatus = lens _niStatus (\ s a -> s{_niStatus = a});++-- | The private IP addresses associated with the network interface.+niPrivateIPAddresses :: Lens' NetworkInterface [NetworkInterfacePrivateIPAddress]+niPrivateIPAddresses = lens _niPrivateIPAddresses (\ s a -> s{_niPrivateIPAddresses = a}) . _Default . _Coerce;++-- | Indicates whether traffic to or from the instance is validated.+niSourceDestCheck :: Lens' NetworkInterface (Maybe Bool)+niSourceDestCheck = lens _niSourceDestCheck (\ s a -> s{_niSourceDestCheck = a});++-- | The ID of the VPC.+niVPCId :: Lens' NetworkInterface (Maybe Text)+niVPCId = lens _niVPCId (\ s a -> s{_niVPCId = a});++-- | Any tags assigned to the network interface.+niTagSet :: Lens' NetworkInterface [Tag]+niTagSet = lens _niTagSet (\ s a -> s{_niTagSet = a}) . _Default . _Coerce;++-- | Indicates whether the network interface is being managed by AWS.+niRequesterManaged :: Lens' NetworkInterface (Maybe Bool)+niRequesterManaged = lens _niRequesterManaged (\ s a -> s{_niRequesterManaged = a});++-- | The ID of the network interface.+niNetworkInterfaceId :: Lens' NetworkInterface (Maybe Text)+niNetworkInterfaceId = lens _niNetworkInterfaceId (\ s a -> s{_niNetworkInterfaceId = a});++-- | The ID of the subnet.+niSubnetId :: Lens' NetworkInterface (Maybe Text)+niSubnetId = lens _niSubnetId (\ s a -> s{_niSubnetId = a});++-- | The MAC address.+niMACAddress :: Lens' NetworkInterface (Maybe Text)+niMACAddress = lens _niMACAddress (\ s a -> s{_niMACAddress = a});++-- | The network interface attachment.+niAttachment :: Lens' NetworkInterface (Maybe NetworkInterfaceAttachment)+niAttachment = lens _niAttachment (\ s a -> s{_niAttachment = a});++-- | The AWS account ID of the owner of the network interface.+niOwnerId :: Lens' NetworkInterface (Maybe Text)+niOwnerId = lens _niOwnerId (\ s a -> s{_niOwnerId = a});++-- | The Availability Zone.+niAvailabilityZone :: Lens' NetworkInterface (Maybe Text)+niAvailabilityZone = lens _niAvailabilityZone (\ s a -> s{_niAvailabilityZone = a});++-- | The IP address of the network interface within the subnet.+niPrivateIPAddress :: Lens' NetworkInterface (Maybe Text)+niPrivateIPAddress = lens _niPrivateIPAddress (\ s a -> s{_niPrivateIPAddress = a});++-- | The private DNS name.+niPrivateDNSName :: Lens' NetworkInterface (Maybe Text)+niPrivateDNSName = lens _niPrivateDNSName (\ s a -> s{_niPrivateDNSName = a});++-- | The ID of the entity that launched the instance on your behalf (for+-- example, AWS Management Console or Auto Scaling).+niRequesterId :: Lens' NetworkInterface (Maybe Text)+niRequesterId = lens _niRequesterId (\ s a -> s{_niRequesterId = a});++-- | A description.+niDescription :: Lens' NetworkInterface (Maybe Text)+niDescription = lens _niDescription (\ s a -> s{_niDescription = a});++-- | The association information for an Elastic IP associated with the+-- network interface.+niAssociation :: Lens' NetworkInterface (Maybe NetworkInterfaceAssociation)+niAssociation = lens _niAssociation (\ s a -> s{_niAssociation = a});++instance FromXML NetworkInterface where+        parseXML x+          = NetworkInterface' <$>+              (x .@? "groupSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "status")+                <*>+                (x .@? "privateIpAddressesSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "sourceDestCheck")+                <*> (x .@? "vpcId")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "requesterManaged")+                <*> (x .@? "networkInterfaceId")+                <*> (x .@? "subnetId")+                <*> (x .@? "macAddress")+                <*> (x .@? "attachment")+                <*> (x .@? "ownerId")+                <*> (x .@? "availabilityZone")+                <*> (x .@? "privateIpAddress")+                <*> (x .@? "privateDnsName")+                <*> (x .@? "requesterId")+                <*> (x .@? "description")+                <*> (x .@? "association")++-- | Describes association information for an Elastic IP address.+--+-- /See:/ 'networkInterfaceAssociation' smart constructor.+data NetworkInterfaceAssociation = NetworkInterfaceAssociation'+    { _niaAssociationId :: !(Maybe Text)+    , _niaPublicDNSName :: !(Maybe Text)+    , _niaAllocationId  :: !(Maybe Text)+    , _niaIPOwnerId     :: !(Maybe Text)+    , _niaPublicIP      :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInterfaceAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niaAssociationId'+--+-- * 'niaPublicDNSName'+--+-- * 'niaAllocationId'+--+-- * 'niaIPOwnerId'+--+-- * 'niaPublicIP'+networkInterfaceAssociation+    :: NetworkInterfaceAssociation+networkInterfaceAssociation =+    NetworkInterfaceAssociation'+    { _niaAssociationId = Nothing+    , _niaPublicDNSName = Nothing+    , _niaAllocationId = Nothing+    , _niaIPOwnerId = Nothing+    , _niaPublicIP = Nothing+    }++-- | The association ID.+niaAssociationId :: Lens' NetworkInterfaceAssociation (Maybe Text)+niaAssociationId = lens _niaAssociationId (\ s a -> s{_niaAssociationId = a});++-- | The public DNS name.+niaPublicDNSName :: Lens' NetworkInterfaceAssociation (Maybe Text)+niaPublicDNSName = lens _niaPublicDNSName (\ s a -> s{_niaPublicDNSName = a});++-- | The allocation ID.+niaAllocationId :: Lens' NetworkInterfaceAssociation (Maybe Text)+niaAllocationId = lens _niaAllocationId (\ s a -> s{_niaAllocationId = a});++-- | The ID of the Elastic IP address owner.+niaIPOwnerId :: Lens' NetworkInterfaceAssociation (Maybe Text)+niaIPOwnerId = lens _niaIPOwnerId (\ s a -> s{_niaIPOwnerId = a});++-- | The address of the Elastic IP address bound to the network interface.+niaPublicIP :: Lens' NetworkInterfaceAssociation (Maybe Text)+niaPublicIP = lens _niaPublicIP (\ s a -> s{_niaPublicIP = a});++instance FromXML NetworkInterfaceAssociation where+        parseXML x+          = NetworkInterfaceAssociation' <$>+              (x .@? "associationId") <*> (x .@? "publicDnsName")+                <*> (x .@? "allocationId")+                <*> (x .@? "ipOwnerId")+                <*> (x .@? "publicIp")++-- | Describes a network interface attachment.+--+-- /See:/ 'networkInterfaceAttachment' smart constructor.+data NetworkInterfaceAttachment = NetworkInterfaceAttachment'+    { _niaInstanceId          :: !(Maybe Text)+    , _niaStatus              :: !(Maybe AttachmentStatus)+    , _niaDeleteOnTermination :: !(Maybe Bool)+    , _niaAttachmentId        :: !(Maybe Text)+    , _niaInstanceOwnerId     :: !(Maybe Text)+    , _niaAttachTime          :: !(Maybe ISO8601)+    , _niaDeviceIndex         :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInterfaceAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niaInstanceId'+--+-- * 'niaStatus'+--+-- * 'niaDeleteOnTermination'+--+-- * 'niaAttachmentId'+--+-- * 'niaInstanceOwnerId'+--+-- * 'niaAttachTime'+--+-- * 'niaDeviceIndex'+networkInterfaceAttachment+    :: NetworkInterfaceAttachment+networkInterfaceAttachment =+    NetworkInterfaceAttachment'+    { _niaInstanceId = Nothing+    , _niaStatus = Nothing+    , _niaDeleteOnTermination = Nothing+    , _niaAttachmentId = Nothing+    , _niaInstanceOwnerId = Nothing+    , _niaAttachTime = Nothing+    , _niaDeviceIndex = Nothing+    }++-- | The ID of the instance.+niaInstanceId :: Lens' NetworkInterfaceAttachment (Maybe Text)+niaInstanceId = lens _niaInstanceId (\ s a -> s{_niaInstanceId = a});++-- | The attachment state.+niaStatus :: Lens' NetworkInterfaceAttachment (Maybe AttachmentStatus)+niaStatus = lens _niaStatus (\ s a -> s{_niaStatus = a});++-- | Indicates whether the network interface is deleted when the instance is+-- terminated.+niaDeleteOnTermination :: Lens' NetworkInterfaceAttachment (Maybe Bool)+niaDeleteOnTermination = lens _niaDeleteOnTermination (\ s a -> s{_niaDeleteOnTermination = a});++-- | The ID of the network interface attachment.+niaAttachmentId :: Lens' NetworkInterfaceAttachment (Maybe Text)+niaAttachmentId = lens _niaAttachmentId (\ s a -> s{_niaAttachmentId = a});++-- | The AWS account ID of the owner of the instance.+niaInstanceOwnerId :: Lens' NetworkInterfaceAttachment (Maybe Text)+niaInstanceOwnerId = lens _niaInstanceOwnerId (\ s a -> s{_niaInstanceOwnerId = a});++-- | The timestamp indicating when the attachment initiated.+niaAttachTime :: Lens' NetworkInterfaceAttachment (Maybe UTCTime)+niaAttachTime = lens _niaAttachTime (\ s a -> s{_niaAttachTime = a}) . mapping _Time;++-- | The device index of the network interface attachment on the instance.+niaDeviceIndex :: Lens' NetworkInterfaceAttachment (Maybe Int)+niaDeviceIndex = lens _niaDeviceIndex (\ s a -> s{_niaDeviceIndex = a});++instance FromXML NetworkInterfaceAttachment where+        parseXML x+          = NetworkInterfaceAttachment' <$>+              (x .@? "instanceId") <*> (x .@? "status") <*>+                (x .@? "deleteOnTermination")+                <*> (x .@? "attachmentId")+                <*> (x .@? "instanceOwnerId")+                <*> (x .@? "attachTime")+                <*> (x .@? "deviceIndex")++-- | Describes an attachment change.+--+-- /See:/ 'networkInterfaceAttachmentChanges' smart constructor.+data NetworkInterfaceAttachmentChanges = NetworkInterfaceAttachmentChanges'+    { _niacDeleteOnTermination :: !(Maybe Bool)+    , _niacAttachmentId        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInterfaceAttachmentChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niacDeleteOnTermination'+--+-- * 'niacAttachmentId'+networkInterfaceAttachmentChanges+    :: NetworkInterfaceAttachmentChanges+networkInterfaceAttachmentChanges =+    NetworkInterfaceAttachmentChanges'+    { _niacDeleteOnTermination = Nothing+    , _niacAttachmentId = Nothing+    }++-- | Indicates whether the network interface is deleted when the instance is+-- terminated.+niacDeleteOnTermination :: Lens' NetworkInterfaceAttachmentChanges (Maybe Bool)+niacDeleteOnTermination = lens _niacDeleteOnTermination (\ s a -> s{_niacDeleteOnTermination = a});++-- | The ID of the network interface attachment.+niacAttachmentId :: Lens' NetworkInterfaceAttachmentChanges (Maybe Text)+niacAttachmentId = lens _niacAttachmentId (\ s a -> s{_niacAttachmentId = a});++instance ToQuery NetworkInterfaceAttachmentChanges+         where+        toQuery NetworkInterfaceAttachmentChanges'{..}+          = mconcat+              ["DeleteOnTermination" =: _niacDeleteOnTermination,+               "AttachmentId" =: _niacAttachmentId]++-- | Describes the private IP address of a network interface.+--+-- /See:/ 'networkInterfacePrivateIPAddress' smart constructor.+data NetworkInterfacePrivateIPAddress = NetworkInterfacePrivateIPAddress'+    { _nipiaPrimary          :: !(Maybe Bool)+    , _nipiaPrivateIPAddress :: !(Maybe Text)+    , _nipiaPrivateDNSName   :: !(Maybe Text)+    , _nipiaAssociation      :: !(Maybe NetworkInterfaceAssociation)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInterfacePrivateIPAddress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nipiaPrimary'+--+-- * 'nipiaPrivateIPAddress'+--+-- * 'nipiaPrivateDNSName'+--+-- * 'nipiaAssociation'+networkInterfacePrivateIPAddress+    :: NetworkInterfacePrivateIPAddress+networkInterfacePrivateIPAddress =+    NetworkInterfacePrivateIPAddress'+    { _nipiaPrimary = Nothing+    , _nipiaPrivateIPAddress = Nothing+    , _nipiaPrivateDNSName = Nothing+    , _nipiaAssociation = Nothing+    }++-- | Indicates whether this IP address is the primary private IP address of+-- the network interface.+nipiaPrimary :: Lens' NetworkInterfacePrivateIPAddress (Maybe Bool)+nipiaPrimary = lens _nipiaPrimary (\ s a -> s{_nipiaPrimary = a});++-- | The private IP address.+nipiaPrivateIPAddress :: Lens' NetworkInterfacePrivateIPAddress (Maybe Text)+nipiaPrivateIPAddress = lens _nipiaPrivateIPAddress (\ s a -> s{_nipiaPrivateIPAddress = a});++-- | The private DNS name.+nipiaPrivateDNSName :: Lens' NetworkInterfacePrivateIPAddress (Maybe Text)+nipiaPrivateDNSName = lens _nipiaPrivateDNSName (\ s a -> s{_nipiaPrivateDNSName = a});++-- | The association information for an Elastic IP address associated with+-- the network interface.+nipiaAssociation :: Lens' NetworkInterfacePrivateIPAddress (Maybe NetworkInterfaceAssociation)+nipiaAssociation = lens _nipiaAssociation (\ s a -> s{_nipiaAssociation = a});++instance FromXML NetworkInterfacePrivateIPAddress+         where+        parseXML x+          = NetworkInterfacePrivateIPAddress' <$>+              (x .@? "primary") <*> (x .@? "privateIpAddress") <*>+                (x .@? "privateDnsName")+                <*> (x .@? "association")++-- | /See:/ 'newDHCPConfiguration' smart constructor.+data NewDHCPConfiguration = NewDHCPConfiguration'+    { _ndcValues :: !(Maybe [Text])+    , _ndcKey    :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NewDHCPConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ndcValues'+--+-- * 'ndcKey'+newDHCPConfiguration+    :: NewDHCPConfiguration+newDHCPConfiguration =+    NewDHCPConfiguration'+    { _ndcValues = Nothing+    , _ndcKey = Nothing+    }++-- | Undocumented member.+ndcValues :: Lens' NewDHCPConfiguration [Text]+ndcValues = lens _ndcValues (\ s a -> s{_ndcValues = a}) . _Default . _Coerce;++-- | Undocumented member.+ndcKey :: Lens' NewDHCPConfiguration (Maybe Text)+ndcKey = lens _ndcKey (\ s a -> s{_ndcKey = a});++instance ToQuery NewDHCPConfiguration where+        toQuery NewDHCPConfiguration'{..}+          = mconcat+              [toQuery (toQueryList "Value" <$> _ndcValues),+               "Key" =: _ndcKey]++-- | Describes the placement for the instance.+--+-- /See:/ 'placement' smart constructor.+data Placement = Placement'+    { _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'+    { _rcAmount    :: !(Maybe Double)+    , _rcFrequency :: !(Maybe RecurringChargeFrequency)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RecurringCharge' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcAmount'+--+-- * 'rcFrequency'+recurringCharge+    :: RecurringCharge+recurringCharge =+    RecurringCharge'+    { _rcAmount = Nothing+    , _rcFrequency = Nothing+    }++-- | The amount of the recurring charge.+rcAmount :: Lens' RecurringCharge (Maybe Double)+rcAmount = lens _rcAmount (\ s a -> s{_rcAmount = a});++-- | The frequency of the recurring charge.+rcFrequency :: Lens' RecurringCharge (Maybe RecurringChargeFrequency)+rcFrequency = lens _rcFrequency (\ s a -> s{_rcFrequency = a});++instance FromXML RecurringCharge where+        parseXML x+          = RecurringCharge' <$>+              (x .@? "amount") <*> (x .@? "frequency")++-- | Describes a region.+--+-- /See:/ 'regionInfo' smart constructor.+data RegionInfo = RegionInfo'+    { _riRegionName :: !(Maybe Text)+    , _riEndpoint   :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RegionInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riRegionName'+--+-- * 'riEndpoint'+regionInfo+    :: RegionInfo+regionInfo =+    RegionInfo'+    { _riRegionName = Nothing+    , _riEndpoint = Nothing+    }++-- | The name of the region.+riRegionName :: Lens' RegionInfo (Maybe Text)+riRegionName = lens _riRegionName (\ s a -> s{_riRegionName = a});++-- | The region service endpoint.+riEndpoint :: Lens' RegionInfo (Maybe Text)+riEndpoint = lens _riEndpoint (\ s a -> s{_riEndpoint = a});++instance FromXML RegionInfo where+        parseXML x+          = RegionInfo' <$>+              (x .@? "regionName") <*> (x .@? "regionEndpoint")++-- | Describes the launch specification for an instance.+--+-- /See:/ 'requestSpotLaunchSpecification' smart constructor.+data RequestSpotLaunchSpecification = RequestSpotLaunchSpecification'+    { _rslsSecurityGroupIds    :: !(Maybe [Text])+    , _rslsSecurityGroups      :: !(Maybe [Text])+    , _rslsKeyName             :: !(Maybe Text)+    , _rslsNetworkInterfaces   :: !(Maybe [InstanceNetworkInterfaceSpecification])+    , _rslsRAMDiskId           :: !(Maybe Text)+    , _rslsSubnetId            :: !(Maybe Text)+    , _rslsKernelId            :: !(Maybe Text)+    , _rslsInstanceType        :: !(Maybe InstanceType)+    , _rslsEBSOptimized        :: !(Maybe Bool)+    , _rslsUserData            :: !(Maybe Text)+    , _rslsMonitoring          :: !(Maybe RunInstancesMonitoringEnabled)+    , _rslsIAMInstanceProfile  :: !(Maybe IAMInstanceProfileSpecification)+    , _rslsImageId             :: !(Maybe Text)+    , _rslsAddressingType      :: !(Maybe Text)+    , _rslsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _rslsPlacement           :: !(Maybe SpotPlacement)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RequestSpotLaunchSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rslsSecurityGroupIds'+--+-- * 'rslsSecurityGroups'+--+-- * 'rslsKeyName'+--+-- * 'rslsNetworkInterfaces'+--+-- * 'rslsRAMDiskId'+--+-- * 'rslsSubnetId'+--+-- * 'rslsKernelId'+--+-- * 'rslsInstanceType'+--+-- * 'rslsEBSOptimized'+--+-- * 'rslsUserData'+--+-- * 'rslsMonitoring'+--+-- * 'rslsIAMInstanceProfile'+--+-- * 'rslsImageId'+--+-- * 'rslsAddressingType'+--+-- * 'rslsBlockDeviceMappings'+--+-- * 'rslsPlacement'+requestSpotLaunchSpecification+    :: RequestSpotLaunchSpecification+requestSpotLaunchSpecification =+    RequestSpotLaunchSpecification'+    { _rslsSecurityGroupIds = Nothing+    , _rslsSecurityGroups = Nothing+    , _rslsKeyName = Nothing+    , _rslsNetworkInterfaces = Nothing+    , _rslsRAMDiskId = Nothing+    , _rslsSubnetId = Nothing+    , _rslsKernelId = Nothing+    , _rslsInstanceType = Nothing+    , _rslsEBSOptimized = Nothing+    , _rslsUserData = Nothing+    , _rslsMonitoring = Nothing+    , _rslsIAMInstanceProfile = Nothing+    , _rslsImageId = Nothing+    , _rslsAddressingType = Nothing+    , _rslsBlockDeviceMappings = Nothing+    , _rslsPlacement = Nothing+    }++-- | Undocumented member.+rslsSecurityGroupIds :: Lens' RequestSpotLaunchSpecification [Text]+rslsSecurityGroupIds = lens _rslsSecurityGroupIds (\ s a -> s{_rslsSecurityGroupIds = a}) . _Default . _Coerce;++-- | Undocumented member.+rslsSecurityGroups :: Lens' RequestSpotLaunchSpecification [Text]+rslsSecurityGroups = lens _rslsSecurityGroups (\ s a -> s{_rslsSecurityGroups = a}) . _Default . _Coerce;++-- | The name of the key pair.+rslsKeyName :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsKeyName = lens _rslsKeyName (\ s a -> s{_rslsKeyName = a});++-- | One or more network interfaces.+rslsNetworkInterfaces :: Lens' RequestSpotLaunchSpecification [InstanceNetworkInterfaceSpecification]+rslsNetworkInterfaces = lens _rslsNetworkInterfaces (\ s a -> s{_rslsNetworkInterfaces = a}) . _Default . _Coerce;++-- | The ID of the RAM disk.+rslsRAMDiskId :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsRAMDiskId = lens _rslsRAMDiskId (\ s a -> s{_rslsRAMDiskId = a});++-- | The ID of the subnet in which to launch the instance.+rslsSubnetId :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsSubnetId = lens _rslsSubnetId (\ s a -> s{_rslsSubnetId = a});++-- | The ID of the kernel.+rslsKernelId :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsKernelId = lens _rslsKernelId (\ s a -> s{_rslsKernelId = a});++-- | The instance type.+rslsInstanceType :: Lens' RequestSpotLaunchSpecification (Maybe InstanceType)+rslsInstanceType = lens _rslsInstanceType (\ s a -> s{_rslsInstanceType = a});++-- | Indicates whether the instance is optimized for EBS I\/O. This+-- optimization provides dedicated throughput to Amazon EBS and an+-- optimized configuration stack to provide optimal EBS I\/O performance.+-- This optimization isn\'t available with all instance types. Additional+-- usage charges apply when using an EBS Optimized instance.+--+-- Default: 'false'+rslsEBSOptimized :: Lens' RequestSpotLaunchSpecification (Maybe Bool)+rslsEBSOptimized = lens _rslsEBSOptimized (\ s a -> s{_rslsEBSOptimized = a});++-- | The Base64-encoded MIME user data to make available to the instances.+rslsUserData :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsUserData = lens _rslsUserData (\ s a -> s{_rslsUserData = a});++-- | Undocumented member.+rslsMonitoring :: Lens' RequestSpotLaunchSpecification (Maybe RunInstancesMonitoringEnabled)+rslsMonitoring = lens _rslsMonitoring (\ s a -> s{_rslsMonitoring = a});++-- | The IAM instance profile.+rslsIAMInstanceProfile :: Lens' RequestSpotLaunchSpecification (Maybe IAMInstanceProfileSpecification)+rslsIAMInstanceProfile = lens _rslsIAMInstanceProfile (\ s a -> s{_rslsIAMInstanceProfile = a});++-- | The ID of the AMI.+rslsImageId :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsImageId = lens _rslsImageId (\ s a -> s{_rslsImageId = a});++-- | Deprecated.+rslsAddressingType :: Lens' RequestSpotLaunchSpecification (Maybe Text)+rslsAddressingType = lens _rslsAddressingType (\ s a -> s{_rslsAddressingType = a});++-- | One or more block device mapping entries.+rslsBlockDeviceMappings :: Lens' RequestSpotLaunchSpecification [BlockDeviceMapping]+rslsBlockDeviceMappings = lens _rslsBlockDeviceMappings (\ s a -> s{_rslsBlockDeviceMappings = a}) . _Default . _Coerce;++-- | The placement information for the instance.+rslsPlacement :: Lens' RequestSpotLaunchSpecification (Maybe SpotPlacement)+rslsPlacement = lens _rslsPlacement (\ s a -> s{_rslsPlacement = a});++instance ToQuery RequestSpotLaunchSpecification where+        toQuery RequestSpotLaunchSpecification'{..}+          = mconcat+              [toQuery+                 (toQueryList "SecurityGroupId" <$>+                    _rslsSecurityGroupIds),+               toQuery+                 (toQueryList "SecurityGroup" <$>+                    _rslsSecurityGroups),+               "KeyName" =: _rslsKeyName,+               toQuery+                 (toQueryList "NetworkInterface" <$>+                    _rslsNetworkInterfaces),+               "RamdiskId" =: _rslsRAMDiskId,+               "SubnetId" =: _rslsSubnetId,+               "KernelId" =: _rslsKernelId,+               "InstanceType" =: _rslsInstanceType,+               "EbsOptimized" =: _rslsEBSOptimized,+               "UserData" =: _rslsUserData,+               "Monitoring" =: _rslsMonitoring,+               "IamInstanceProfile" =: _rslsIAMInstanceProfile,+               "ImageId" =: _rslsImageId,+               "AddressingType" =: _rslsAddressingType,+               toQuery+                 (toQueryList "BlockDeviceMapping" <$>+                    _rslsBlockDeviceMappings),+               "Placement" =: _rslsPlacement]++-- | Describes a reservation.+--+-- /See:/ 'reservation' smart constructor.+data Reservation = Reservation'+    { _rGroups        :: !(Maybe [GroupIdentifier])+    , _rInstances     :: !(Maybe [Instance])+    , _rRequesterId   :: !(Maybe Text)+    , _rReservationId :: !Text+    , _rOwnerId       :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Reservation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rGroups'+--+-- * 'rInstances'+--+-- * 'rRequesterId'+--+-- * 'rReservationId'+--+-- * 'rOwnerId'+reservation+    :: Text -- ^ 'rReservationId'+    -> Text -- ^ 'rOwnerId'+    -> Reservation+reservation pReservationId_ pOwnerId_ =+    Reservation'+    { _rGroups = Nothing+    , _rInstances = Nothing+    , _rRequesterId = Nothing+    , _rReservationId = pReservationId_+    , _rOwnerId = pOwnerId_+    }++-- | One or more security groups.+rGroups :: Lens' Reservation [GroupIdentifier]+rGroups = lens _rGroups (\ s a -> s{_rGroups = a}) . _Default . _Coerce;++-- | One or more instances.+rInstances :: Lens' Reservation [Instance]+rInstances = lens _rInstances (\ s a -> s{_rInstances = a}) . _Default . _Coerce;++-- | The ID of the requester that launched the instances on your behalf (for+-- example, AWS Management Console or Auto Scaling).+rRequesterId :: Lens' Reservation (Maybe Text)+rRequesterId = lens _rRequesterId (\ s a -> s{_rRequesterId = a});++-- | The ID of the reservation.+rReservationId :: Lens' Reservation Text+rReservationId = lens _rReservationId (\ s a -> s{_rReservationId = a});++-- | The ID of the AWS account that owns the reservation.+rOwnerId :: Lens' Reservation Text+rOwnerId = lens _rOwnerId (\ s a -> s{_rOwnerId = a});++instance FromXML Reservation where+        parseXML x+          = Reservation' <$>+              (x .@? "groupSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*>+                (x .@? "instancesSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "requesterId")+                <*> (x .@ "reservationId")+                <*> (x .@ "ownerId")++-- | Describes the limit price of a Reserved Instance offering.+--+-- /See:/ 'reservedInstanceLimitPrice' smart constructor.+data ReservedInstanceLimitPrice = ReservedInstanceLimitPrice'+    { _rilpAmount       :: !(Maybe Double)+    , _rilpCurrencyCode :: !(Maybe CurrencyCodeValues)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstanceLimitPrice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rilpAmount'+--+-- * 'rilpCurrencyCode'+reservedInstanceLimitPrice+    :: ReservedInstanceLimitPrice+reservedInstanceLimitPrice =+    ReservedInstanceLimitPrice'+    { _rilpAmount = Nothing+    , _rilpCurrencyCode = Nothing+    }++-- | Used for Reserved Instance Marketplace offerings. Specifies the limit+-- price on the total order (instanceCount * price).+rilpAmount :: Lens' ReservedInstanceLimitPrice (Maybe Double)+rilpAmount = lens _rilpAmount (\ s a -> s{_rilpAmount = a});++-- | The currency in which the 'limitPrice' amount is specified. At this+-- time, the only supported currency is 'USD'.+rilpCurrencyCode :: Lens' ReservedInstanceLimitPrice (Maybe CurrencyCodeValues)+rilpCurrencyCode = lens _rilpCurrencyCode (\ s a -> s{_rilpCurrencyCode = a});++instance ToQuery ReservedInstanceLimitPrice where+        toQuery ReservedInstanceLimitPrice'{..}+          = mconcat+              ["Amount" =: _rilpAmount,+               "CurrencyCode" =: _rilpCurrencyCode]++-- | Describes a Reserved Instance.+--+-- /See:/ 'reservedInstances' smart constructor.+data ReservedInstances = ReservedInstances'+    { _riState               :: !(Maybe ReservedInstanceState)+    , _riCurrencyCode        :: !(Maybe CurrencyCodeValues)+    , _riInstanceCount       :: !(Maybe Int)+    , _riProductDescription  :: !(Maybe RIProductDescription)+    , _riStart               :: !(Maybe ISO8601)+    , _riInstanceType        :: !(Maybe InstanceType)+    , _riEnd                 :: !(Maybe ISO8601)+    , _riAvailabilityZone    :: !(Maybe Text)+    , _riRecurringCharges    :: !(Maybe [RecurringCharge])+    , _riOfferingType        :: !(Maybe OfferingTypeValues)+    , _riUsagePrice          :: !(Maybe Double)+    , _riFixedPrice          :: !(Maybe Double)+    , _riReservedInstancesId :: !(Maybe Text)+    , _riInstanceTenancy     :: !(Maybe Tenancy)+    , _riDuration            :: !(Maybe Integer)+    , _riTags                :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riState'+--+-- * 'riCurrencyCode'+--+-- * 'riInstanceCount'+--+-- * 'riProductDescription'+--+-- * 'riStart'+--+-- * 'riInstanceType'+--+-- * 'riEnd'+--+-- * 'riAvailabilityZone'+--+-- * 'riRecurringCharges'+--+-- * 'riOfferingType'+--+-- * 'riUsagePrice'+--+-- * 'riFixedPrice'+--+-- * 'riReservedInstancesId'+--+-- * 'riInstanceTenancy'+--+-- * 'riDuration'+--+-- * 'riTags'+reservedInstances+    :: ReservedInstances+reservedInstances =+    ReservedInstances'+    { _riState = Nothing+    , _riCurrencyCode = Nothing+    , _riInstanceCount = Nothing+    , _riProductDescription = Nothing+    , _riStart = Nothing+    , _riInstanceType = Nothing+    , _riEnd = Nothing+    , _riAvailabilityZone = Nothing+    , _riRecurringCharges = Nothing+    , _riOfferingType = Nothing+    , _riUsagePrice = Nothing+    , _riFixedPrice = Nothing+    , _riReservedInstancesId = Nothing+    , _riInstanceTenancy = Nothing+    , _riDuration = Nothing+    , _riTags = Nothing+    }++-- | The state of the Reserved Instance purchase.+riState :: Lens' ReservedInstances (Maybe ReservedInstanceState)+riState = lens _riState (\ s a -> s{_riState = a});++-- | The currency of the Reserved Instance. It\'s specified using ISO 4217+-- standard currency codes. At this time, the only supported currency is+-- 'USD'.+riCurrencyCode :: Lens' ReservedInstances (Maybe CurrencyCodeValues)+riCurrencyCode = lens _riCurrencyCode (\ s a -> s{_riCurrencyCode = a});++-- | The number of 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 time when the Reserved Instance expires.+riEnd :: Lens' ReservedInstances (Maybe UTCTime)+riEnd = lens _riEnd (\ s a -> s{_riEnd = a}) . mapping _Time;++-- | The Availability Zone in which the Reserved Instance can be used.+riAvailabilityZone :: Lens' ReservedInstances (Maybe Text)+riAvailabilityZone = lens _riAvailabilityZone (\ s a -> s{_riAvailabilityZone = a});++-- | The recurring charge tag assigned to the resource.+riRecurringCharges :: Lens' ReservedInstances [RecurringCharge]+riRecurringCharges = lens _riRecurringCharges (\ s a -> s{_riRecurringCharges = a}) . _Default . _Coerce;++-- | The Reserved Instance offering type.+riOfferingType :: Lens' ReservedInstances (Maybe OfferingTypeValues)+riOfferingType = lens _riOfferingType (\ s a -> s{_riOfferingType = a});++-- | The usage price of the Reserved Instance, per hour.+riUsagePrice :: Lens' ReservedInstances (Maybe Double)+riUsagePrice = lens _riUsagePrice (\ s a -> s{_riUsagePrice = a});++-- | The purchase price of the Reserved Instance.+riFixedPrice :: Lens' ReservedInstances (Maybe Double)+riFixedPrice = lens _riFixedPrice (\ s a -> s{_riFixedPrice = a});++-- | The ID of the Reserved Instance.+riReservedInstancesId :: Lens' ReservedInstances (Maybe Text)+riReservedInstancesId = lens _riReservedInstancesId (\ s a -> s{_riReservedInstancesId = a});++-- | The tenancy of the reserved instance.+riInstanceTenancy :: Lens' ReservedInstances (Maybe Tenancy)+riInstanceTenancy = lens _riInstanceTenancy (\ s a -> s{_riInstanceTenancy = a});++-- | The duration of the Reserved Instance, in seconds.+riDuration :: Lens' ReservedInstances (Maybe Integer)+riDuration = lens _riDuration (\ s a -> s{_riDuration = a});++-- | Any tags assigned to the resource.+riTags :: Lens' ReservedInstances [Tag]+riTags = lens _riTags (\ s a -> s{_riTags = a}) . _Default . _Coerce;++instance FromXML ReservedInstances where+        parseXML x+          = ReservedInstances' <$>+              (x .@? "state") <*> (x .@? "currencyCode") <*>+                (x .@? "instanceCount")+                <*> (x .@? "productDescription")+                <*> (x .@? "start")+                <*> (x .@? "instanceType")+                <*> (x .@? "end")+                <*> (x .@? "availabilityZone")+                <*>+                (x .@? "recurringCharges" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "offeringType")+                <*> (x .@? "usagePrice")+                <*> (x .@? "fixedPrice")+                <*> (x .@? "reservedInstancesId")+                <*> (x .@? "instanceTenancy")+                <*> (x .@? "duration")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | Describes the configuration settings for the modified Reserved+-- Instances.+--+-- /See:/ 'reservedInstancesConfiguration' smart constructor.+data ReservedInstancesConfiguration = ReservedInstancesConfiguration'+    { _ricPlatform         :: !(Maybe Text)+    , _ricInstanceCount    :: !(Maybe Int)+    , _ricInstanceType     :: !(Maybe InstanceType)+    , _ricAvailabilityZone :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ricPlatform'+--+-- * 'ricInstanceCount'+--+-- * 'ricInstanceType'+--+-- * 'ricAvailabilityZone'+reservedInstancesConfiguration+    :: ReservedInstancesConfiguration+reservedInstancesConfiguration =+    ReservedInstancesConfiguration'+    { _ricPlatform = Nothing+    , _ricInstanceCount = Nothing+    , _ricInstanceType = Nothing+    , _ricAvailabilityZone = Nothing+    }++-- | The network platform of the modified Reserved Instances, which is either+-- EC2-Classic or EC2-VPC.+ricPlatform :: Lens' ReservedInstancesConfiguration (Maybe Text)+ricPlatform = lens _ricPlatform (\ s a -> s{_ricPlatform = a});++-- | The number of modified Reserved Instances.+ricInstanceCount :: Lens' ReservedInstancesConfiguration (Maybe Int)+ricInstanceCount = lens _ricInstanceCount (\ s a -> s{_ricInstanceCount = a});++-- | The instance type for the modified Reserved Instances.+ricInstanceType :: Lens' ReservedInstancesConfiguration (Maybe InstanceType)+ricInstanceType = lens _ricInstanceType (\ s a -> s{_ricInstanceType = a});++-- | The Availability Zone for the modified Reserved Instances.+ricAvailabilityZone :: Lens' ReservedInstancesConfiguration (Maybe Text)+ricAvailabilityZone = lens _ricAvailabilityZone (\ s a -> s{_ricAvailabilityZone = a});++instance FromXML ReservedInstancesConfiguration where+        parseXML x+          = ReservedInstancesConfiguration' <$>+              (x .@? "platform") <*> (x .@? "instanceCount") <*>+                (x .@? "instanceType")+                <*> (x .@? "availabilityZone")++instance ToQuery ReservedInstancesConfiguration where+        toQuery ReservedInstancesConfiguration'{..}+          = mconcat+              ["Platform" =: _ricPlatform,+               "InstanceCount" =: _ricInstanceCount,+               "InstanceType" =: _ricInstanceType,+               "AvailabilityZone" =: _ricAvailabilityZone]++-- | Describes the ID of a Reserved Instance.+--+-- /See:/ 'reservedInstancesId' smart constructor.+newtype ReservedInstancesId = ReservedInstancesId'+    { _riiReservedInstancesId :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riiReservedInstancesId'+reservedInstancesId+    :: ReservedInstancesId+reservedInstancesId =+    ReservedInstancesId'+    { _riiReservedInstancesId = Nothing+    }++-- | The ID of the Reserved Instance.+riiReservedInstancesId :: Lens' ReservedInstancesId (Maybe Text)+riiReservedInstancesId = lens _riiReservedInstancesId (\ s a -> s{_riiReservedInstancesId = a});++instance FromXML ReservedInstancesId where+        parseXML x+          = ReservedInstancesId' <$>+              (x .@? "reservedInstancesId")++-- | Describes a Reserved Instance listing.+--+-- /See:/ 'reservedInstancesListing' smart constructor.+data ReservedInstancesListing = ReservedInstancesListing'+    { _rilStatus                     :: !(Maybe ListingStatus)+    , _rilClientToken                :: !(Maybe Text)+    , _rilUpdateDate                 :: !(Maybe ISO8601)+    , _rilCreateDate                 :: !(Maybe ISO8601)+    , _rilPriceSchedules             :: !(Maybe [PriceSchedule])+    , _rilStatusMessage              :: !(Maybe Text)+    , _rilReservedInstancesId        :: !(Maybe Text)+    , _rilTags                       :: !(Maybe [Tag])+    , _rilInstanceCounts             :: !(Maybe [InstanceCount])+    , _rilReservedInstancesListingId :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesListing' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rilStatus'+--+-- * 'rilClientToken'+--+-- * 'rilUpdateDate'+--+-- * 'rilCreateDate'+--+-- * 'rilPriceSchedules'+--+-- * 'rilStatusMessage'+--+-- * 'rilReservedInstancesId'+--+-- * 'rilTags'+--+-- * 'rilInstanceCounts'+--+-- * 'rilReservedInstancesListingId'+reservedInstancesListing+    :: ReservedInstancesListing+reservedInstancesListing =+    ReservedInstancesListing'+    { _rilStatus = Nothing+    , _rilClientToken = Nothing+    , _rilUpdateDate = Nothing+    , _rilCreateDate = Nothing+    , _rilPriceSchedules = Nothing+    , _rilStatusMessage = Nothing+    , _rilReservedInstancesId = Nothing+    , _rilTags = Nothing+    , _rilInstanceCounts = Nothing+    , _rilReservedInstancesListingId = Nothing+    }++-- | The status of the Reserved Instance listing.+rilStatus :: Lens' ReservedInstancesListing (Maybe ListingStatus)+rilStatus = lens _rilStatus (\ s a -> s{_rilStatus = a});++-- | A unique, case-sensitive key supplied by the client to ensure that the+-- request is idempotent. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.+rilClientToken :: Lens' ReservedInstancesListing (Maybe Text)+rilClientToken = lens _rilClientToken (\ s a -> s{_rilClientToken = a});++-- | The last modified timestamp of the listing.+rilUpdateDate :: Lens' ReservedInstancesListing (Maybe UTCTime)+rilUpdateDate = lens _rilUpdateDate (\ s a -> s{_rilUpdateDate = a}) . mapping _Time;++-- | The time the listing was created.+rilCreateDate :: Lens' ReservedInstancesListing (Maybe UTCTime)+rilCreateDate = lens _rilCreateDate (\ s a -> s{_rilCreateDate = a}) . mapping _Time;++-- | The price of the Reserved Instance listing.+rilPriceSchedules :: Lens' ReservedInstancesListing [PriceSchedule]+rilPriceSchedules = lens _rilPriceSchedules (\ s a -> s{_rilPriceSchedules = a}) . _Default . _Coerce;++-- | The reason for the current status of the Reserved Instance listing. The+-- response can be blank.+rilStatusMessage :: Lens' ReservedInstancesListing (Maybe Text)+rilStatusMessage = lens _rilStatusMessage (\ s a -> s{_rilStatusMessage = a});++-- | The ID of the Reserved Instance.+rilReservedInstancesId :: Lens' ReservedInstancesListing (Maybe Text)+rilReservedInstancesId = lens _rilReservedInstancesId (\ s a -> s{_rilReservedInstancesId = a});++-- | Any tags assigned to the resource.+rilTags :: Lens' ReservedInstancesListing [Tag]+rilTags = lens _rilTags (\ s a -> s{_rilTags = a}) . _Default . _Coerce;++-- | The number of instances in this state.+rilInstanceCounts :: Lens' ReservedInstancesListing [InstanceCount]+rilInstanceCounts = lens _rilInstanceCounts (\ s a -> s{_rilInstanceCounts = a}) . _Default . _Coerce;++-- | The ID of the Reserved Instance listing.+rilReservedInstancesListingId :: Lens' ReservedInstancesListing (Maybe Text)+rilReservedInstancesListingId = lens _rilReservedInstancesListingId (\ s a -> s{_rilReservedInstancesListingId = a});++instance FromXML ReservedInstancesListing where+        parseXML x+          = ReservedInstancesListing' <$>+              (x .@? "status") <*> (x .@? "clientToken") <*>+                (x .@? "updateDate")+                <*> (x .@? "createDate")+                <*>+                (x .@? "priceSchedules" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "statusMessage")+                <*> (x .@? "reservedInstancesId")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*>+                (x .@? "instanceCounts" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "reservedInstancesListingId")++-- | Describes a Reserved Instance modification.+--+-- /See:/ 'reservedInstancesModification' smart constructor.+data ReservedInstancesModification = ReservedInstancesModification'+    { _rimModificationResults             :: !(Maybe [ReservedInstancesModificationResult])+    , _rimStatus                          :: !(Maybe Text)+    , _rimClientToken                     :: !(Maybe Text)+    , _rimUpdateDate                      :: !(Maybe ISO8601)+    , _rimCreateDate                      :: !(Maybe ISO8601)+    , _rimEffectiveDate                   :: !(Maybe ISO8601)+    , _rimStatusMessage                   :: !(Maybe Text)+    , _rimReservedInstancesModificationId :: !(Maybe Text)+    , _rimReservedInstancesIds            :: !(Maybe [ReservedInstancesId])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesModification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rimModificationResults'+--+-- * 'rimStatus'+--+-- * 'rimClientToken'+--+-- * 'rimUpdateDate'+--+-- * 'rimCreateDate'+--+-- * 'rimEffectiveDate'+--+-- * 'rimStatusMessage'+--+-- * 'rimReservedInstancesModificationId'+--+-- * 'rimReservedInstancesIds'+reservedInstancesModification+    :: ReservedInstancesModification+reservedInstancesModification =+    ReservedInstancesModification'+    { _rimModificationResults = Nothing+    , _rimStatus = Nothing+    , _rimClientToken = Nothing+    , _rimUpdateDate = Nothing+    , _rimCreateDate = Nothing+    , _rimEffectiveDate = Nothing+    , _rimStatusMessage = Nothing+    , _rimReservedInstancesModificationId = Nothing+    , _rimReservedInstancesIds = Nothing+    }++-- | Contains target configurations along with their corresponding new+-- Reserved Instance IDs.+rimModificationResults :: Lens' ReservedInstancesModification [ReservedInstancesModificationResult]+rimModificationResults = lens _rimModificationResults (\ s a -> s{_rimModificationResults = a}) . _Default . _Coerce;++-- | The status of the Reserved Instances modification request.+rimStatus :: Lens' ReservedInstancesModification (Maybe Text)+rimStatus = lens _rimStatus (\ s a -> s{_rimStatus = a});++-- | A unique, case-sensitive key supplied by the client to ensure that the+-- request is idempotent. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.+rimClientToken :: Lens' ReservedInstancesModification (Maybe Text)+rimClientToken = lens _rimClientToken (\ s a -> s{_rimClientToken = a});++-- | The time when the modification request was last updated.+rimUpdateDate :: Lens' ReservedInstancesModification (Maybe UTCTime)+rimUpdateDate = lens _rimUpdateDate (\ s a -> s{_rimUpdateDate = a}) . mapping _Time;++-- | The time when the modification request was created.+rimCreateDate :: Lens' ReservedInstancesModification (Maybe UTCTime)+rimCreateDate = lens _rimCreateDate (\ s a -> s{_rimCreateDate = a}) . mapping _Time;++-- | The time for the modification to become effective.+rimEffectiveDate :: Lens' ReservedInstancesModification (Maybe UTCTime)+rimEffectiveDate = lens _rimEffectiveDate (\ s a -> s{_rimEffectiveDate = a}) . mapping _Time;++-- | The reason for the status.+rimStatusMessage :: Lens' ReservedInstancesModification (Maybe Text)+rimStatusMessage = lens _rimStatusMessage (\ s a -> s{_rimStatusMessage = a});++-- | A unique ID for the Reserved Instance modification.+rimReservedInstancesModificationId :: Lens' ReservedInstancesModification (Maybe Text)+rimReservedInstancesModificationId = lens _rimReservedInstancesModificationId (\ s a -> s{_rimReservedInstancesModificationId = a});++-- | The IDs of one or more Reserved Instances.+rimReservedInstancesIds :: Lens' ReservedInstancesModification [ReservedInstancesId]+rimReservedInstancesIds = lens _rimReservedInstancesIds (\ s a -> s{_rimReservedInstancesIds = a}) . _Default . _Coerce;++instance FromXML ReservedInstancesModification where+        parseXML x+          = ReservedInstancesModification' <$>+              (x .@? "modificationResultSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "status")+                <*> (x .@? "clientToken")+                <*> (x .@? "updateDate")+                <*> (x .@? "createDate")+                <*> (x .@? "effectiveDate")+                <*> (x .@? "statusMessage")+                <*> (x .@? "reservedInstancesModificationId")+                <*>+                (x .@? "reservedInstancesSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | /See:/ 'reservedInstancesModificationResult' smart constructor.+data ReservedInstancesModificationResult = ReservedInstancesModificationResult'+    { _rimrReservedInstancesId :: !(Maybe Text)+    , _rimrTargetConfiguration :: !(Maybe ReservedInstancesConfiguration)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesModificationResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rimrReservedInstancesId'+--+-- * 'rimrTargetConfiguration'+reservedInstancesModificationResult+    :: ReservedInstancesModificationResult+reservedInstancesModificationResult =+    ReservedInstancesModificationResult'+    { _rimrReservedInstancesId = Nothing+    , _rimrTargetConfiguration = Nothing+    }++-- | The ID for the Reserved Instances that were created as part of the+-- modification request. This field is only available when the modification+-- is fulfilled.+rimrReservedInstancesId :: Lens' ReservedInstancesModificationResult (Maybe Text)+rimrReservedInstancesId = lens _rimrReservedInstancesId (\ s a -> s{_rimrReservedInstancesId = a});++-- | The target Reserved Instances configurations supplied as part of the+-- modification request.+rimrTargetConfiguration :: Lens' ReservedInstancesModificationResult (Maybe ReservedInstancesConfiguration)+rimrTargetConfiguration = lens _rimrTargetConfiguration (\ s a -> s{_rimrTargetConfiguration = a});++instance FromXML ReservedInstancesModificationResult+         where+        parseXML x+          = ReservedInstancesModificationResult' <$>+              (x .@? "reservedInstancesId") <*>+                (x .@? "targetConfiguration")++-- | Describes a Reserved Instance offering.+--+-- /See:/ 'reservedInstancesOffering' smart constructor.+data ReservedInstancesOffering = ReservedInstancesOffering'+    { _rioMarketplace                 :: !(Maybe Bool)+    , _rioCurrencyCode                :: !(Maybe CurrencyCodeValues)+    , _rioProductDescription          :: !(Maybe RIProductDescription)+    , _rioInstanceType                :: !(Maybe InstanceType)+    , _rioAvailabilityZone            :: !(Maybe Text)+    , _rioPricingDetails              :: !(Maybe [PricingDetail])+    , _rioRecurringCharges            :: !(Maybe [RecurringCharge])+    , _rioOfferingType                :: !(Maybe OfferingTypeValues)+    , _rioUsagePrice                  :: !(Maybe Double)+    , _rioFixedPrice                  :: !(Maybe Double)+    , _rioInstanceTenancy             :: !(Maybe Tenancy)+    , _rioReservedInstancesOfferingId :: !(Maybe Text)+    , _rioDuration                    :: !(Maybe Integer)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedInstancesOffering' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rioMarketplace'+--+-- * 'rioCurrencyCode'+--+-- * 'rioProductDescription'+--+-- * 'rioInstanceType'+--+-- * 'rioAvailabilityZone'+--+-- * 'rioPricingDetails'+--+-- * 'rioRecurringCharges'+--+-- * 'rioOfferingType'+--+-- * 'rioUsagePrice'+--+-- * 'rioFixedPrice'+--+-- * 'rioInstanceTenancy'+--+-- * 'rioReservedInstancesOfferingId'+--+-- * 'rioDuration'+reservedInstancesOffering+    :: ReservedInstancesOffering+reservedInstancesOffering =+    ReservedInstancesOffering'+    { _rioMarketplace = Nothing+    , _rioCurrencyCode = Nothing+    , _rioProductDescription = Nothing+    , _rioInstanceType = Nothing+    , _rioAvailabilityZone = Nothing+    , _rioPricingDetails = Nothing+    , _rioRecurringCharges = Nothing+    , _rioOfferingType = Nothing+    , _rioUsagePrice = Nothing+    , _rioFixedPrice = Nothing+    , _rioInstanceTenancy = Nothing+    , _rioReservedInstancesOfferingId = Nothing+    , _rioDuration = Nothing+    }++-- | Indicates whether the offering is available through the Reserved+-- Instance Marketplace (resale) or AWS. If it\'s a Reserved Instance+-- Marketplace offering, this is 'true'.+rioMarketplace :: Lens' ReservedInstancesOffering (Maybe Bool)+rioMarketplace = lens _rioMarketplace (\ s a -> s{_rioMarketplace = a});++-- | The currency of the Reserved Instance offering you are purchasing. It\'s+-- specified using ISO 4217 standard currency codes. At this time, the only+-- supported currency is 'USD'.+rioCurrencyCode :: Lens' ReservedInstancesOffering (Maybe CurrencyCodeValues)+rioCurrencyCode = lens _rioCurrencyCode (\ s a -> s{_rioCurrencyCode = a});++-- | The Reserved Instance product platform description.+rioProductDescription :: Lens' ReservedInstancesOffering (Maybe RIProductDescription)+rioProductDescription = lens _rioProductDescription (\ s a -> s{_rioProductDescription = a});++-- | The instance type on which the Reserved Instance can be used.+rioInstanceType :: Lens' ReservedInstancesOffering (Maybe InstanceType)+rioInstanceType = lens _rioInstanceType (\ s a -> s{_rioInstanceType = a});++-- | The Availability Zone in which the Reserved Instance can be used.+rioAvailabilityZone :: Lens' ReservedInstancesOffering (Maybe Text)+rioAvailabilityZone = lens _rioAvailabilityZone (\ s a -> s{_rioAvailabilityZone = a});++-- | The pricing details of the Reserved Instance offering.+rioPricingDetails :: Lens' ReservedInstancesOffering [PricingDetail]+rioPricingDetails = lens _rioPricingDetails (\ s a -> s{_rioPricingDetails = a}) . _Default . _Coerce;++-- | The recurring charge tag assigned to the resource.+rioRecurringCharges :: Lens' ReservedInstancesOffering [RecurringCharge]+rioRecurringCharges = lens _rioRecurringCharges (\ s a -> s{_rioRecurringCharges = a}) . _Default . _Coerce;++-- | The Reserved Instance offering type.+rioOfferingType :: Lens' ReservedInstancesOffering (Maybe OfferingTypeValues)+rioOfferingType = lens _rioOfferingType (\ s a -> s{_rioOfferingType = a});++-- | The usage price of the Reserved Instance, per hour.+rioUsagePrice :: Lens' ReservedInstancesOffering (Maybe Double)+rioUsagePrice = lens _rioUsagePrice (\ s a -> s{_rioUsagePrice = a});++-- | The purchase price of the Reserved Instance.+rioFixedPrice :: Lens' ReservedInstancesOffering (Maybe Double)+rioFixedPrice = lens _rioFixedPrice (\ s a -> s{_rioFixedPrice = a});++-- | The tenancy of the reserved instance.+rioInstanceTenancy :: Lens' ReservedInstancesOffering (Maybe Tenancy)+rioInstanceTenancy = lens _rioInstanceTenancy (\ s a -> s{_rioInstanceTenancy = a});++-- | The ID of the Reserved Instance offering.+rioReservedInstancesOfferingId :: Lens' ReservedInstancesOffering (Maybe Text)+rioReservedInstancesOfferingId = lens _rioReservedInstancesOfferingId (\ s a -> s{_rioReservedInstancesOfferingId = a});++-- | The duration of the Reserved Instance, in seconds.+rioDuration :: Lens' ReservedInstancesOffering (Maybe Integer)+rioDuration = lens _rioDuration (\ s a -> s{_rioDuration = a});++instance FromXML ReservedInstancesOffering where+        parseXML x+          = ReservedInstancesOffering' <$>+              (x .@? "marketplace") <*> (x .@? "currencyCode") <*>+                (x .@? "productDescription")+                <*> (x .@? "instanceType")+                <*> (x .@? "availabilityZone")+                <*>+                (x .@? "pricingDetailsSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*>+                (x .@? "recurringCharges" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "offeringType")+                <*> (x .@? "usagePrice")+                <*> (x .@? "fixedPrice")+                <*> (x .@? "instanceTenancy")+                <*> (x .@? "reservedInstancesOfferingId")+                <*> (x .@? "duration")++-- | Describes a route in a route table.+--+-- /See:/ 'route' smart constructor.+data Route = Route'+    { _rVPCPeeringConnectionId  :: !(Maybe Text)+    , _rInstanceId              :: !(Maybe Text)+    , _rOrigin                  :: !(Maybe RouteOrigin)+    , _rState                   :: !(Maybe RouteState)+    , _rNetworkInterfaceId      :: !(Maybe Text)+    , _rGatewayId               :: !(Maybe Text)+    , _rInstanceOwnerId         :: !(Maybe Text)+    , _rDestinationPrefixListId :: !(Maybe Text)+    , _rDestinationCIdRBlock    :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Route' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rVPCPeeringConnectionId'+--+-- * 'rInstanceId'+--+-- * 'rOrigin'+--+-- * 'rState'+--+-- * 'rNetworkInterfaceId'+--+-- * 'rGatewayId'+--+-- * 'rInstanceOwnerId'+--+-- * 'rDestinationPrefixListId'+--+-- * 'rDestinationCIdRBlock'+route+    :: Route+route =+    Route'+    { _rVPCPeeringConnectionId = Nothing+    , _rInstanceId = Nothing+    , _rOrigin = Nothing+    , _rState = Nothing+    , _rNetworkInterfaceId = Nothing+    , _rGatewayId = Nothing+    , _rInstanceOwnerId = Nothing+    , _rDestinationPrefixListId = Nothing+    , _rDestinationCIdRBlock = Nothing+    }++-- | The ID of the VPC peering connection.+rVPCPeeringConnectionId :: Lens' Route (Maybe Text)+rVPCPeeringConnectionId = lens _rVPCPeeringConnectionId (\ s a -> s{_rVPCPeeringConnectionId = a});++-- | The ID of a NAT instance in your VPC.+rInstanceId :: Lens' Route (Maybe Text)+rInstanceId = lens _rInstanceId (\ s a -> s{_rInstanceId = a});++-- | Describes how the route was created.+--+-- -   'CreateRouteTable' indicates that route was automatically created+--     when the route table was created.+-- -   'CreateRoute' indicates that the route was manually added to the+--     route table.+-- -   'EnableVgwRoutePropagation' indicates that the route was propagated+--     by route propagation.+rOrigin :: Lens' Route (Maybe RouteOrigin)+rOrigin = lens _rOrigin (\ s a -> s{_rOrigin = a});++-- | The state of the route. The 'blackhole' state indicates that the+-- route\'s target isn\'t available (for example, the specified gateway+-- isn\'t attached to the VPC, or the specified NAT instance has been+-- terminated).+rState :: Lens' Route (Maybe RouteState)+rState = lens _rState (\ s a -> s{_rState = a});++-- | The ID of the network interface.+rNetworkInterfaceId :: Lens' Route (Maybe Text)+rNetworkInterfaceId = lens _rNetworkInterfaceId (\ s a -> s{_rNetworkInterfaceId = a});++-- | The ID of a gateway attached to your VPC.+rGatewayId :: Lens' Route (Maybe Text)+rGatewayId = lens _rGatewayId (\ s a -> s{_rGatewayId = a});++-- | The AWS account ID of the owner of the instance.+rInstanceOwnerId :: Lens' Route (Maybe Text)+rInstanceOwnerId = lens _rInstanceOwnerId (\ s a -> s{_rInstanceOwnerId = a});++-- | The prefix of the AWS service.+rDestinationPrefixListId :: Lens' Route (Maybe Text)+rDestinationPrefixListId = lens _rDestinationPrefixListId (\ s a -> s{_rDestinationPrefixListId = a});++-- | The CIDR block used for the destination match.+rDestinationCIdRBlock :: Lens' Route (Maybe Text)+rDestinationCIdRBlock = lens _rDestinationCIdRBlock (\ s a -> s{_rDestinationCIdRBlock = a});++instance FromXML Route where+        parseXML x+          = Route' <$>+              (x .@? "vpcPeeringConnectionId") <*>+                (x .@? "instanceId")+                <*> (x .@? "origin")+                <*> (x .@? "state")+                <*> (x .@? "networkInterfaceId")+                <*> (x .@? "gatewayId")+                <*> (x .@? "instanceOwnerId")+                <*> (x .@? "destinationPrefixListId")+                <*> (x .@? "destinationCidrBlock")++-- | Describes a route table.+--+-- /See:/ 'routeTable' smart constructor.+data RouteTable = RouteTable'+    { _rtRouteTableId    :: !(Maybe Text)+    , _rtRoutes          :: !(Maybe [Route])+    , _rtVPCId           :: !(Maybe Text)+    , _rtPropagatingVGWs :: !(Maybe [PropagatingVGW])+    , _rtAssociations    :: !(Maybe [RouteTableAssociation])+    , _rtTags            :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouteTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtRouteTableId'+--+-- * 'rtRoutes'+--+-- * 'rtVPCId'+--+-- * 'rtPropagatingVGWs'+--+-- * 'rtAssociations'+--+-- * 'rtTags'+routeTable+    :: RouteTable+routeTable =+    RouteTable'+    { _rtRouteTableId = Nothing+    , _rtRoutes = Nothing+    , _rtVPCId = Nothing+    , _rtPropagatingVGWs = Nothing+    , _rtAssociations = Nothing+    , _rtTags = Nothing+    }++-- | The ID of the route table.+rtRouteTableId :: Lens' RouteTable (Maybe Text)+rtRouteTableId = lens _rtRouteTableId (\ s a -> s{_rtRouteTableId = a});++-- | The routes in the route table.+rtRoutes :: Lens' RouteTable [Route]+rtRoutes = lens _rtRoutes (\ s a -> s{_rtRoutes = a}) . _Default . _Coerce;++-- | The ID of the VPC.+rtVPCId :: Lens' RouteTable (Maybe Text)+rtVPCId = lens _rtVPCId (\ s a -> s{_rtVPCId = a});++-- | Any virtual private gateway (VGW) propagating routes.+rtPropagatingVGWs :: Lens' RouteTable [PropagatingVGW]+rtPropagatingVGWs = lens _rtPropagatingVGWs (\ s a -> s{_rtPropagatingVGWs = a}) . _Default . _Coerce;++-- | The associations between the route table and one or more subnets.+rtAssociations :: Lens' RouteTable [RouteTableAssociation]+rtAssociations = lens _rtAssociations (\ s a -> s{_rtAssociations = a}) . _Default . _Coerce;++-- | Any tags assigned to the route table.+rtTags :: Lens' RouteTable [Tag]+rtTags = lens _rtTags (\ s a -> s{_rtTags = a}) . _Default . _Coerce;++instance FromXML RouteTable where+        parseXML x+          = RouteTable' <$>+              (x .@? "routeTableId") <*>+                (x .@? "routeSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "vpcId")+                <*>+                (x .@? "propagatingVgwSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*>+                (x .@? "associationSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | Describes an association between a route table and a subnet.+--+-- /See:/ 'routeTableAssociation' smart constructor.+data RouteTableAssociation = RouteTableAssociation'+    { _rtaRouteTableId            :: !(Maybe Text)+    , _rtaRouteTableAssociationId :: !(Maybe Text)+    , _rtaMain                    :: !(Maybe Bool)+    , _rtaSubnetId                :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouteTableAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtaRouteTableId'+--+-- * 'rtaRouteTableAssociationId'+--+-- * 'rtaMain'+--+-- * 'rtaSubnetId'+routeTableAssociation+    :: RouteTableAssociation+routeTableAssociation =+    RouteTableAssociation'+    { _rtaRouteTableId = Nothing+    , _rtaRouteTableAssociationId = Nothing+    , _rtaMain = Nothing+    , _rtaSubnetId = Nothing+    }++-- | The ID of the route table.+rtaRouteTableId :: Lens' RouteTableAssociation (Maybe Text)+rtaRouteTableId = lens _rtaRouteTableId (\ s a -> s{_rtaRouteTableId = a});++-- | The ID of the association between a route table and a subnet.+rtaRouteTableAssociationId :: Lens' RouteTableAssociation (Maybe Text)+rtaRouteTableAssociationId = lens _rtaRouteTableAssociationId (\ s a -> s{_rtaRouteTableAssociationId = a});++-- | Indicates whether this is the main route table.+rtaMain :: Lens' RouteTableAssociation (Maybe Bool)+rtaMain = lens _rtaMain (\ s a -> s{_rtaMain = a});++-- | The ID of the subnet. A subnet ID is not returned for an implicit+-- association.+rtaSubnetId :: Lens' RouteTableAssociation (Maybe Text)+rtaSubnetId = lens _rtaSubnetId (\ s a -> s{_rtaSubnetId = a});++instance FromXML RouteTableAssociation where+        parseXML x+          = RouteTableAssociation' <$>+              (x .@? "routeTableId") <*>+                (x .@? "routeTableAssociationId")+                <*> (x .@? "main")+                <*> (x .@? "subnetId")++-- | Describes the monitoring for the instance.+--+-- /See:/ 'runInstancesMonitoringEnabled' smart constructor.+newtype RunInstancesMonitoringEnabled = RunInstancesMonitoringEnabled'+    { _rimeEnabled :: Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RunInstancesMonitoringEnabled' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rimeEnabled'+runInstancesMonitoringEnabled+    :: Bool -- ^ 'rimeEnabled'+    -> RunInstancesMonitoringEnabled+runInstancesMonitoringEnabled pEnabled_ =+    RunInstancesMonitoringEnabled'+    { _rimeEnabled = pEnabled_+    }++-- | Indicates whether monitoring is enabled for the instance.+rimeEnabled :: Lens' RunInstancesMonitoringEnabled Bool+rimeEnabled = lens _rimeEnabled (\ s a -> s{_rimeEnabled = a});++instance FromXML RunInstancesMonitoringEnabled where+        parseXML x+          = RunInstancesMonitoringEnabled' <$> (x .@ "enabled")++instance ToQuery RunInstancesMonitoringEnabled where+        toQuery RunInstancesMonitoringEnabled'{..}+          = mconcat ["Enabled" =: _rimeEnabled]++-- | Describes the storage parameters for S3 and S3 buckets for an instance+-- store-backed AMI.+--+-- /See:/ 's3Storage' smart constructor.+data S3Storage = S3Storage'+    { _ssPrefix                :: !(Maybe Text)+    , _ssUploadPolicy          :: !(Maybe Base64)+    , _ssBucket                :: !(Maybe Text)+    , _ssUploadPolicySignature :: !(Maybe Text)+    , _ssAWSAccessKeyId        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'S3Storage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssPrefix'+--+-- * 'ssUploadPolicy'+--+-- * 'ssBucket'+--+-- * 'ssUploadPolicySignature'+--+-- * 'ssAWSAccessKeyId'+s3Storage+    :: S3Storage+s3Storage =+    S3Storage'+    { _ssPrefix = Nothing+    , _ssUploadPolicy = Nothing+    , _ssBucket = Nothing+    , _ssUploadPolicySignature = Nothing+    , _ssAWSAccessKeyId = Nothing+    }++-- | The beginning of the file name of the AMI.+ssPrefix :: Lens' S3Storage (Maybe Text)+ssPrefix = lens _ssPrefix (\ s a -> s{_ssPrefix = a});++-- | A Base64-encoded Amazon S3 upload policy that gives Amazon EC2+-- permission to upload items into Amazon S3 on your behalf.+--+-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data,+-- despite what the AWS documentation might say.+-- The underlying isomorphism will encode to Base64 representation during+-- serialisation, and decode from Base64 representation during deserialisation.+-- This 'Lens' accepts and returns only raw unencoded data.+ssUploadPolicy :: Lens' S3Storage (Maybe ByteString)+ssUploadPolicy = lens _ssUploadPolicy (\ s a -> s{_ssUploadPolicy = a}) . mapping _Base64;++-- | The bucket in which to store the AMI. You can specify a bucket that you+-- already own or a new bucket that Amazon EC2 creates on your behalf. If+-- you specify a bucket that belongs to someone else, Amazon EC2 returns an+-- error.+ssBucket :: Lens' S3Storage (Maybe Text)+ssBucket = lens _ssBucket (\ s a -> s{_ssBucket = a});++-- | The signature of the Base64 encoded JSON document.+ssUploadPolicySignature :: Lens' S3Storage (Maybe Text)+ssUploadPolicySignature = lens _ssUploadPolicySignature (\ s a -> s{_ssUploadPolicySignature = a});++-- | The access key ID of the owner of the bucket. Before you specify a value+-- for your access key ID, review and follow the guidance in+-- <http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html Best Practices for Managing AWS Access Keys>.+ssAWSAccessKeyId :: Lens' S3Storage (Maybe Text)+ssAWSAccessKeyId = lens _ssAWSAccessKeyId (\ s a -> s{_ssAWSAccessKeyId = a});++instance FromXML S3Storage where+        parseXML x+          = S3Storage' <$>+              (x .@? "prefix") <*> (x .@? "uploadPolicy") <*>+                (x .@? "bucket")+                <*> (x .@? "uploadPolicySignature")+                <*> (x .@? "AWSAccessKeyId")++instance ToQuery S3Storage where+        toQuery S3Storage'{..}+          = mconcat+              ["Prefix" =: _ssPrefix,+               "UploadPolicy" =: _ssUploadPolicy,+               "Bucket" =: _ssBucket,+               "UploadPolicySignature" =: _ssUploadPolicySignature,+               "AWSAccessKeyId" =: _ssAWSAccessKeyId]++-- | Describes a security group+--+-- /See:/ 'securityGroup' smart constructor.+data SecurityGroup = SecurityGroup'+    { _sgVPCId               :: !(Maybe Text)+    , _sgIPPermissions       :: !(Maybe [IPPermission])+    , _sgIPPermissionsEgress :: !(Maybe [IPPermission])+    , _sgTags                :: !(Maybe [Tag])+    , _sgOwnerId             :: !Text+    , _sgGroupId             :: !Text+    , _sgGroupName           :: !Text+    , _sgDescription         :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SecurityGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sgVPCId'+--+-- * 'sgIPPermissions'+--+-- * 'sgIPPermissionsEgress'+--+-- * 'sgTags'+--+-- * 'sgOwnerId'+--+-- * 'sgGroupId'+--+-- * 'sgGroupName'+--+-- * 'sgDescription'+securityGroup+    :: Text -- ^ 'sgOwnerId'+    -> Text -- ^ 'sgGroupId'+    -> Text -- ^ 'sgGroupName'+    -> Text -- ^ 'sgDescription'+    -> SecurityGroup+securityGroup pOwnerId_ pGroupId_ pGroupName_ pDescription_ =+    SecurityGroup'+    { _sgVPCId = Nothing+    , _sgIPPermissions = Nothing+    , _sgIPPermissionsEgress = Nothing+    , _sgTags = Nothing+    , _sgOwnerId = pOwnerId_+    , _sgGroupId = pGroupId_+    , _sgGroupName = pGroupName_+    , _sgDescription = pDescription_+    }++-- | [EC2-VPC] The ID of the VPC for the security group.+sgVPCId :: Lens' SecurityGroup (Maybe Text)+sgVPCId = lens _sgVPCId (\ s a -> s{_sgVPCId = a});++-- | One or more inbound rules associated with the security group.+sgIPPermissions :: Lens' SecurityGroup [IPPermission]+sgIPPermissions = lens _sgIPPermissions (\ s a -> s{_sgIPPermissions = a}) . _Default . _Coerce;++-- | [EC2-VPC] One or more outbound rules associated with the security group.+sgIPPermissionsEgress :: Lens' SecurityGroup [IPPermission]+sgIPPermissionsEgress = lens _sgIPPermissionsEgress (\ s a -> s{_sgIPPermissionsEgress = a}) . _Default . _Coerce;++-- | Any tags assigned to the security group.+sgTags :: Lens' SecurityGroup [Tag]+sgTags = lens _sgTags (\ s a -> s{_sgTags = a}) . _Default . _Coerce;++-- | The AWS account ID of the owner of the security group.+sgOwnerId :: Lens' SecurityGroup Text+sgOwnerId = lens _sgOwnerId (\ s a -> s{_sgOwnerId = a});++-- | The ID of the security group.+sgGroupId :: Lens' SecurityGroup Text+sgGroupId = lens _sgGroupId (\ s a -> s{_sgGroupId = a});++-- | The name of the security group.+sgGroupName :: Lens' SecurityGroup Text+sgGroupName = lens _sgGroupName (\ s a -> s{_sgGroupName = a});++-- | A description of the security group.+sgDescription :: Lens' SecurityGroup Text+sgDescription = lens _sgDescription (\ s a -> s{_sgDescription = a});++instance FromXML SecurityGroup where+        parseXML x+          = SecurityGroup' <$>+              (x .@? "vpcId") <*>+                (x .@? "ipPermissions" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*>+                (x .@? "ipPermissionsEgress" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@ "ownerId")+                <*> (x .@ "groupId")+                <*> (x .@ "groupName")+                <*> (x .@ "groupDescription")++-- | Describes a snapshot.+--+-- /See:/ 'snapshot' smart constructor.+data Snapshot = Snapshot'+    { _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)+    , _sdFormat        :: !(Maybe Text)+    , _sdURL           :: !(Maybe Text)+    , _sdDeviceName    :: !(Maybe Text)+    , _sdStatusMessage :: !(Maybe Text)+    , _sdUserBucket    :: !(Maybe UserBucketDetails)+    , _sdDiskImageSize :: !(Maybe Double)+    , _sdDescription   :: !(Maybe Text)+    , _sdSnapshotId    :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SnapshotDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdStatus'+--+-- * 'sdProgress'+--+-- * 'sdFormat'+--+-- * 'sdURL'+--+-- * 'sdDeviceName'+--+-- * 'sdStatusMessage'+--+-- * 'sdUserBucket'+--+-- * 'sdDiskImageSize'+--+-- * 'sdDescription'+--+-- * 'sdSnapshotId'+snapshotDetail+    :: SnapshotDetail+snapshotDetail =+    SnapshotDetail'+    { _sdStatus = Nothing+    , _sdProgress = Nothing+    , _sdFormat = Nothing+    , _sdURL = Nothing+    , _sdDeviceName = Nothing+    , _sdStatusMessage = Nothing+    , _sdUserBucket = Nothing+    , _sdDiskImageSize = Nothing+    , _sdDescription = Nothing+    , _sdSnapshotId = Nothing+    }++-- | A brief status of the snapshot creation.+sdStatus :: Lens' SnapshotDetail (Maybe Text)+sdStatus = lens _sdStatus (\ s a -> s{_sdStatus = a});++-- | The percentage of progress for the task.+sdProgress :: Lens' SnapshotDetail (Maybe Text)+sdProgress = lens _sdProgress (\ s a -> s{_sdProgress = a});++-- | The format of the disk image from which the snapshot is created.+sdFormat :: Lens' SnapshotDetail (Maybe Text)+sdFormat = lens _sdFormat (\ s a -> s{_sdFormat = a});++-- | The URL used to access the disk image.+sdURL :: Lens' SnapshotDetail (Maybe Text)+sdURL = lens _sdURL (\ s a -> s{_sdURL = a});++-- | The block device mapping for the snapshot.+sdDeviceName :: Lens' SnapshotDetail (Maybe Text)+sdDeviceName = lens _sdDeviceName (\ s a -> s{_sdDeviceName = a});++-- | A detailed status message for the snapshot creation.+sdStatusMessage :: Lens' SnapshotDetail (Maybe Text)+sdStatusMessage = lens _sdStatusMessage (\ s a -> s{_sdStatusMessage = a});++-- | Undocumented member.+sdUserBucket :: Lens' SnapshotDetail (Maybe UserBucketDetails)+sdUserBucket = lens _sdUserBucket (\ s a -> s{_sdUserBucket = a});++-- | The size of the disk in the snapshot, in GiB.+sdDiskImageSize :: Lens' SnapshotDetail (Maybe Double)+sdDiskImageSize = lens _sdDiskImageSize (\ s a -> s{_sdDiskImageSize = a});++-- | A description for the snapshot.+sdDescription :: Lens' SnapshotDetail (Maybe Text)+sdDescription = lens _sdDescription (\ s a -> s{_sdDescription = a});++-- | The snapshot ID of the disk being imported.+sdSnapshotId :: Lens' SnapshotDetail (Maybe Text)+sdSnapshotId = lens _sdSnapshotId (\ s a -> s{_sdSnapshotId = a});++instance FromXML SnapshotDetail where+        parseXML x+          = SnapshotDetail' <$>+              (x .@? "status") <*> (x .@? "progress") <*>+                (x .@? "format")+                <*> (x .@? "url")+                <*> (x .@? "deviceName")+                <*> (x .@? "statusMessage")+                <*> (x .@? "userBucket")+                <*> (x .@? "diskImageSize")+                <*> (x .@? "description")+                <*> (x .@? "snapshotId")++-- | The disk container object for the import snapshot request.+--+-- /See:/ 'snapshotDiskContainer' smart constructor.+data SnapshotDiskContainer = SnapshotDiskContainer'+    { _sdcFormat      :: !(Maybe Text)+    , _sdcURL         :: !(Maybe Text)+    , _sdcUserBucket  :: !(Maybe UserBucket)+    , _sdcDescription :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SnapshotDiskContainer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdcFormat'+--+-- * 'sdcURL'+--+-- * 'sdcUserBucket'+--+-- * 'sdcDescription'+snapshotDiskContainer+    :: SnapshotDiskContainer+snapshotDiskContainer =+    SnapshotDiskContainer'+    { _sdcFormat = Nothing+    , _sdcURL = Nothing+    , _sdcUserBucket = Nothing+    , _sdcDescription = Nothing+    }++-- | The format of the disk image being imported.+--+-- Valid values: 'RAW' | 'VHD' | 'VMDK' | 'OVA'+sdcFormat :: Lens' SnapshotDiskContainer (Maybe Text)+sdcFormat = lens _sdcFormat (\ s a -> s{_sdcFormat = a});++-- | The URL to the Amazon S3-based disk image being imported. It can either+-- be a https URL (https:\/\/..) or an Amazon S3 URL (s3:\/\/..).+sdcURL :: Lens' SnapshotDiskContainer (Maybe Text)+sdcURL = lens _sdcURL (\ s a -> s{_sdcURL = a});++-- | Undocumented member.+sdcUserBucket :: Lens' SnapshotDiskContainer (Maybe UserBucket)+sdcUserBucket = lens _sdcUserBucket (\ s a -> s{_sdcUserBucket = a});++-- | The description of the disk image being imported.+sdcDescription :: Lens' SnapshotDiskContainer (Maybe Text)+sdcDescription = lens _sdcDescription (\ s a -> s{_sdcDescription = a});++instance ToQuery SnapshotDiskContainer where+        toQuery SnapshotDiskContainer'{..}+          = mconcat+              ["Format" =: _sdcFormat, "Url" =: _sdcURL,+               "UserBucket" =: _sdcUserBucket,+               "Description" =: _sdcDescription]++-- | Details about the import snapshot task.+--+-- /See:/ 'snapshotTaskDetail' smart constructor.+data SnapshotTaskDetail = SnapshotTaskDetail'+    { _stdStatus        :: !(Maybe Text)+    , _stdProgress      :: !(Maybe Text)+    , _stdFormat        :: !(Maybe Text)+    , _stdURL           :: !(Maybe Text)+    , _stdStatusMessage :: !(Maybe Text)+    , _stdUserBucket    :: !(Maybe UserBucketDetails)+    , _stdDiskImageSize :: !(Maybe Double)+    , _stdDescription   :: !(Maybe Text)+    , _stdSnapshotId    :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SnapshotTaskDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'stdStatus'+--+-- * 'stdProgress'+--+-- * 'stdFormat'+--+-- * 'stdURL'+--+-- * 'stdStatusMessage'+--+-- * 'stdUserBucket'+--+-- * 'stdDiskImageSize'+--+-- * 'stdDescription'+--+-- * 'stdSnapshotId'+snapshotTaskDetail+    :: SnapshotTaskDetail+snapshotTaskDetail =+    SnapshotTaskDetail'+    { _stdStatus = Nothing+    , _stdProgress = Nothing+    , _stdFormat = Nothing+    , _stdURL = Nothing+    , _stdStatusMessage = Nothing+    , _stdUserBucket = Nothing+    , _stdDiskImageSize = Nothing+    , _stdDescription = Nothing+    , _stdSnapshotId = Nothing+    }++-- | A brief status for the import snapshot task.+stdStatus :: Lens' SnapshotTaskDetail (Maybe Text)+stdStatus = lens _stdStatus (\ s a -> s{_stdStatus = a});++-- | The percentage of completion for the import snapshot task.+stdProgress :: Lens' SnapshotTaskDetail (Maybe Text)+stdProgress = lens _stdProgress (\ s a -> s{_stdProgress = a});++-- | The format of the disk image from which the snapshot is created.+stdFormat :: Lens' SnapshotTaskDetail (Maybe Text)+stdFormat = lens _stdFormat (\ s a -> s{_stdFormat = a});++-- | The URL of the disk image from which the snapshot is created.+stdURL :: Lens' SnapshotTaskDetail (Maybe Text)+stdURL = lens _stdURL (\ s a -> s{_stdURL = a});++-- | A detailed status message for the import snapshot task.+stdStatusMessage :: Lens' SnapshotTaskDetail (Maybe Text)+stdStatusMessage = lens _stdStatusMessage (\ s a -> s{_stdStatusMessage = a});++-- | The S3 bucket for the disk image.+stdUserBucket :: Lens' SnapshotTaskDetail (Maybe UserBucketDetails)+stdUserBucket = lens _stdUserBucket (\ s a -> s{_stdUserBucket = a});++-- | The size of the disk in the snapshot, in GiB.+stdDiskImageSize :: Lens' SnapshotTaskDetail (Maybe Double)+stdDiskImageSize = lens _stdDiskImageSize (\ s a -> s{_stdDiskImageSize = a});++-- | The description of the snapshot.+stdDescription :: Lens' SnapshotTaskDetail (Maybe Text)+stdDescription = lens _stdDescription (\ s a -> s{_stdDescription = a});++-- | The snapshot ID of the disk being imported.+stdSnapshotId :: Lens' SnapshotTaskDetail (Maybe Text)+stdSnapshotId = lens _stdSnapshotId (\ s a -> s{_stdSnapshotId = a});++instance FromXML SnapshotTaskDetail where+        parseXML x+          = SnapshotTaskDetail' <$>+              (x .@? "status") <*> (x .@? "progress") <*>+                (x .@? "format")+                <*> (x .@? "url")+                <*> (x .@? "statusMessage")+                <*> (x .@? "userBucket")+                <*> (x .@? "diskImageSize")+                <*> (x .@? "description")+                <*> (x .@? "snapshotId")++-- | Describes the data feed for a Spot Instance.+--+-- /See:/ 'spotDatafeedSubscription' smart constructor.+data SpotDatafeedSubscription = SpotDatafeedSubscription'+    { _sdsState   :: !(Maybe DatafeedSubscriptionState)+    , _sdsPrefix  :: !(Maybe Text)+    , _sdsBucket  :: !(Maybe Text)+    , _sdsOwnerId :: !(Maybe Text)+    , _sdsFault   :: !(Maybe SpotInstanceStateFault)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotDatafeedSubscription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdsState'+--+-- * 'sdsPrefix'+--+-- * 'sdsBucket'+--+-- * 'sdsOwnerId'+--+-- * 'sdsFault'+spotDatafeedSubscription+    :: SpotDatafeedSubscription+spotDatafeedSubscription =+    SpotDatafeedSubscription'+    { _sdsState = Nothing+    , _sdsPrefix = Nothing+    , _sdsBucket = Nothing+    , _sdsOwnerId = Nothing+    , _sdsFault = Nothing+    }++-- | The state of the Spot Instance data feed subscription.+sdsState :: Lens' SpotDatafeedSubscription (Maybe DatafeedSubscriptionState)+sdsState = lens _sdsState (\ s a -> s{_sdsState = a});++-- | The prefix that is prepended to data feed files.+sdsPrefix :: Lens' SpotDatafeedSubscription (Maybe Text)+sdsPrefix = lens _sdsPrefix (\ s a -> s{_sdsPrefix = a});++-- | The Amazon S3 bucket where the Spot Instance data feed is located.+sdsBucket :: Lens' SpotDatafeedSubscription (Maybe Text)+sdsBucket = lens _sdsBucket (\ s a -> s{_sdsBucket = a});++-- | The AWS account ID of the account.+sdsOwnerId :: Lens' SpotDatafeedSubscription (Maybe Text)+sdsOwnerId = lens _sdsOwnerId (\ s a -> s{_sdsOwnerId = a});++-- | The fault codes for the Spot Instance request, if any.+sdsFault :: Lens' SpotDatafeedSubscription (Maybe SpotInstanceStateFault)+sdsFault = lens _sdsFault (\ s a -> s{_sdsFault = a});++instance FromXML SpotDatafeedSubscription where+        parseXML x+          = SpotDatafeedSubscription' <$>+              (x .@? "state") <*> (x .@? "prefix") <*>+                (x .@? "bucket")+                <*> (x .@? "ownerId")+                <*> (x .@? "fault")++-- | Describes the launch specification for one or more Spot Instances.+--+-- /See:/ 'spotFleetLaunchSpecification' smart constructor.+data SpotFleetLaunchSpecification = SpotFleetLaunchSpecification'+    { _sflsSecurityGroups      :: !(Maybe [GroupIdentifier])+    , _sflsSpotPrice           :: !(Maybe Text)+    , _sflsWeightedCapacity    :: !(Maybe Double)+    , _sflsKeyName             :: !(Maybe Text)+    , _sflsNetworkInterfaces   :: !(Maybe [InstanceNetworkInterfaceSpecification])+    , _sflsRAMDiskId           :: !(Maybe Text)+    , _sflsSubnetId            :: !(Maybe Text)+    , _sflsKernelId            :: !(Maybe Text)+    , _sflsInstanceType        :: !(Maybe InstanceType)+    , _sflsEBSOptimized        :: !(Maybe Bool)+    , _sflsUserData            :: !(Maybe Text)+    , _sflsMonitoring          :: !(Maybe SpotFleetMonitoring)+    , _sflsIAMInstanceProfile  :: !(Maybe IAMInstanceProfileSpecification)+    , _sflsImageId             :: !(Maybe Text)+    , _sflsAddressingType      :: !(Maybe Text)+    , _sflsBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])+    , _sflsPlacement           :: !(Maybe SpotPlacement)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotFleetLaunchSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sflsSecurityGroups'+--+-- * 'sflsSpotPrice'+--+-- * 'sflsWeightedCapacity'+--+-- * 'sflsKeyName'+--+-- * 'sflsNetworkInterfaces'+--+-- * 'sflsRAMDiskId'+--+-- * 'sflsSubnetId'+--+-- * 'sflsKernelId'+--+-- * 'sflsInstanceType'+--+-- * 'sflsEBSOptimized'+--+-- * 'sflsUserData'+--+-- * 'sflsMonitoring'+--+-- * 'sflsIAMInstanceProfile'+--+-- * 'sflsImageId'+--+-- * 'sflsAddressingType'+--+-- * 'sflsBlockDeviceMappings'+--+-- * 'sflsPlacement'+spotFleetLaunchSpecification+    :: SpotFleetLaunchSpecification+spotFleetLaunchSpecification =+    SpotFleetLaunchSpecification'+    { _sflsSecurityGroups = Nothing+    , _sflsSpotPrice = Nothing+    , _sflsWeightedCapacity = Nothing+    , _sflsKeyName = Nothing+    , _sflsNetworkInterfaces = Nothing+    , _sflsRAMDiskId = Nothing+    , _sflsSubnetId = Nothing+    , _sflsKernelId = Nothing+    , _sflsInstanceType = Nothing+    , _sflsEBSOptimized = Nothing+    , _sflsUserData = Nothing+    , _sflsMonitoring = Nothing+    , _sflsIAMInstanceProfile = Nothing+    , _sflsImageId = Nothing+    , _sflsAddressingType = Nothing+    , _sflsBlockDeviceMappings = Nothing+    , _sflsPlacement = Nothing+    }++-- | One or more security groups. 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;++-- | The bid price per unit hour for the specified instance type. If this+-- value is not specified, the default is the Spot bid price specified for+-- the fleet. To determine the bid price per unit hour, divide the Spot bid+-- price by the value of 'WeightedCapacity'.+sflsSpotPrice :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsSpotPrice = lens _sflsSpotPrice (\ s a -> s{_sflsSpotPrice = a});++-- | The number of units provided by the specified instance type. These are+-- the same units that you chose to set the target capacity in terms+-- (instances or a performance characteristic such as vCPUs, memory, or+-- I\/O).+--+-- If the target capacity divided by this value is not a whole number, we+-- round the number of instances to the next whole number. If this value is+-- not specified, the default is 1.+sflsWeightedCapacity :: Lens' SpotFleetLaunchSpecification (Maybe Double)+sflsWeightedCapacity = lens _sflsWeightedCapacity (\ s a -> s{_sflsWeightedCapacity = a});++-- | The name of the key pair.+sflsKeyName :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsKeyName = lens _sflsKeyName (\ s a -> s{_sflsKeyName = a});++-- | One or more network interfaces.+sflsNetworkInterfaces :: Lens' SpotFleetLaunchSpecification [InstanceNetworkInterfaceSpecification]+sflsNetworkInterfaces = lens _sflsNetworkInterfaces (\ s a -> s{_sflsNetworkInterfaces = a}) . _Default . _Coerce;++-- | The ID of the RAM disk.+sflsRAMDiskId :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsRAMDiskId = lens _sflsRAMDiskId (\ s a -> s{_sflsRAMDiskId = a});++-- | The ID of the subnet in which to launch the instances.+sflsSubnetId :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsSubnetId = lens _sflsSubnetId (\ s a -> s{_sflsSubnetId = a});++-- | The ID of the kernel.+sflsKernelId :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsKernelId = lens _sflsKernelId (\ s a -> s{_sflsKernelId = a});++-- | The instance type.+sflsInstanceType :: Lens' SpotFleetLaunchSpecification (Maybe InstanceType)+sflsInstanceType = lens _sflsInstanceType (\ s a -> s{_sflsInstanceType = a});++-- | Indicates whether the instances are optimized for EBS I\/O. This+-- optimization provides dedicated throughput to Amazon EBS and an+-- optimized configuration stack to provide optimal EBS I\/O performance.+-- This optimization isn\'t available with all instance types. Additional+-- usage charges apply when using an EBS Optimized instance.+--+-- Default: 'false'+sflsEBSOptimized :: Lens' SpotFleetLaunchSpecification (Maybe Bool)+sflsEBSOptimized = lens _sflsEBSOptimized (\ s a -> s{_sflsEBSOptimized = a});++-- | The Base64-encoded MIME user data to make available to the instances.+sflsUserData :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsUserData = lens _sflsUserData (\ s a -> s{_sflsUserData = a});++-- | Enable or disable monitoring for the instances.+sflsMonitoring :: Lens' SpotFleetLaunchSpecification (Maybe SpotFleetMonitoring)+sflsMonitoring = lens _sflsMonitoring (\ s a -> s{_sflsMonitoring = a});++-- | The IAM instance profile.+sflsIAMInstanceProfile :: Lens' SpotFleetLaunchSpecification (Maybe IAMInstanceProfileSpecification)+sflsIAMInstanceProfile = lens _sflsIAMInstanceProfile (\ s a -> s{_sflsIAMInstanceProfile = a});++-- | The ID of the AMI.+sflsImageId :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsImageId = lens _sflsImageId (\ s a -> s{_sflsImageId = a});++-- | Deprecated.+sflsAddressingType :: Lens' SpotFleetLaunchSpecification (Maybe Text)+sflsAddressingType = lens _sflsAddressingType (\ s a -> s{_sflsAddressingType = a});++-- | One or more block device mapping entries.+sflsBlockDeviceMappings :: Lens' SpotFleetLaunchSpecification [BlockDeviceMapping]+sflsBlockDeviceMappings = lens _sflsBlockDeviceMappings (\ s a -> s{_sflsBlockDeviceMappings = a}) . _Default . _Coerce;++-- | The placement information.+sflsPlacement :: Lens' SpotFleetLaunchSpecification (Maybe SpotPlacement)+sflsPlacement = lens _sflsPlacement (\ s a -> s{_sflsPlacement = a});++instance FromXML SpotFleetLaunchSpecification where+        parseXML x+          = SpotFleetLaunchSpecification' <$>+              (x .@? "groupSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "spotPrice")+                <*> (x .@? "weightedCapacity")+                <*> (x .@? "keyName")+                <*>+                (x .@? "networkInterfaceSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "ramdiskId")+                <*> (x .@? "subnetId")+                <*> (x .@? "kernelId")+                <*> (x .@? "instanceType")+                <*> (x .@? "ebsOptimized")+                <*> (x .@? "userData")+                <*> (x .@? "monitoring")+                <*> (x .@? "iamInstanceProfile")+                <*> (x .@? "imageId")+                <*> (x .@? "addressingType")+                <*>+                (x .@? "blockDeviceMapping" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "placement")++instance ToQuery SpotFleetLaunchSpecification where+        toQuery SpotFleetLaunchSpecification'{..}+          = mconcat+              [toQuery+                 (toQueryList "GroupSet" <$> _sflsSecurityGroups),+               "SpotPrice" =: _sflsSpotPrice,+               "WeightedCapacity" =: _sflsWeightedCapacity,+               "KeyName" =: _sflsKeyName,+               toQuery+                 (toQueryList "NetworkInterfaceSet" <$>+                    _sflsNetworkInterfaces),+               "RamdiskId" =: _sflsRAMDiskId,+               "SubnetId" =: _sflsSubnetId,+               "KernelId" =: _sflsKernelId,+               "InstanceType" =: _sflsInstanceType,+               "EbsOptimized" =: _sflsEBSOptimized,+               "UserData" =: _sflsUserData,+               "Monitoring" =: _sflsMonitoring,+               "IamInstanceProfile" =: _sflsIAMInstanceProfile,+               "ImageId" =: _sflsImageId,+               "AddressingType" =: _sflsAddressingType,+               toQuery+                 (toQueryList "BlockDeviceMapping" <$>+                    _sflsBlockDeviceMappings),+               "Placement" =: _sflsPlacement]++-- | Describes whether monitoring is enabled.+--+-- /See:/ 'spotFleetMonitoring' smart constructor.+newtype SpotFleetMonitoring = SpotFleetMonitoring'+    { _sfmEnabled :: Maybe Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotFleetMonitoring' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfmEnabled'+spotFleetMonitoring+    :: SpotFleetMonitoring+spotFleetMonitoring =+    SpotFleetMonitoring'+    { _sfmEnabled = Nothing+    }++-- | Enables monitoring for the instance.+--+-- Default: 'false'+sfmEnabled :: Lens' SpotFleetMonitoring (Maybe Bool)+sfmEnabled = lens _sfmEnabled (\ s a -> s{_sfmEnabled = a});++instance FromXML SpotFleetMonitoring where+        parseXML x+          = SpotFleetMonitoring' <$> (x .@? "enabled")++instance ToQuery SpotFleetMonitoring where+        toQuery SpotFleetMonitoring'{..}+          = mconcat ["Enabled" =: _sfmEnabled]++-- | Describes a Spot fleet request.+--+-- /See:/ 'spotFleetRequestConfig' smart constructor.+data SpotFleetRequestConfig = SpotFleetRequestConfig'+    { _sfrcSpotFleetRequestId     :: !Text+    , _sfrcSpotFleetRequestState  :: !BatchState+    , _sfrcSpotFleetRequestConfig :: !SpotFleetRequestConfigData+    } 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 bid price per unit hour.+sfrcdSpotPrice :: Lens' SpotFleetRequestConfigData Text+sfrcdSpotPrice = lens _sfrcdSpotPrice (\ s a -> s{_sfrcdSpotPrice = a});++-- | The number of units to request. You can choose to set the target+-- capacity in terms of instances or a performance characteristic that is+-- important to your application workload, such as vCPUs, memory, or I\/O.+sfrcdTargetCapacity :: Lens' SpotFleetRequestConfigData Int+sfrcdTargetCapacity = lens _sfrcdTargetCapacity (\ s a -> s{_sfrcdTargetCapacity = a});++-- | Grants the Spot fleet 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 "LaunchSpecifications"+                 _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)+    , _sirLaunchSpecification      :: !(Maybe LaunchSpecification)+    , _sirAvailabilityZoneGroup    :: !(Maybe Text)+    , _sirLaunchedAvailabilityZone :: !(Maybe Text)+    , _sirValidUntil               :: !(Maybe ISO8601)+    , _sirLaunchGroup              :: !(Maybe Text)+    , _sirFault                    :: !(Maybe SpotInstanceStateFault)+    , _sirSpotInstanceRequestId    :: !(Maybe Text)+    , _sirType                     :: !(Maybe SpotInstanceType)+    , _sirValidFrom                :: !(Maybe ISO8601)+    , _sirCreateTime               :: !(Maybe ISO8601)+    , _sirTags                     :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotInstanceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sirInstanceId'+--+-- * 'sirStatus'+--+-- * 'sirState'+--+-- * 'sirProductDescription'+--+-- * 'sirSpotPrice'+--+-- * 'sirLaunchSpecification'+--+-- * 'sirAvailabilityZoneGroup'+--+-- * 'sirLaunchedAvailabilityZone'+--+-- * 'sirValidUntil'+--+-- * 'sirLaunchGroup'+--+-- * 'sirFault'+--+-- * 'sirSpotInstanceRequestId'+--+-- * 'sirType'+--+-- * 'sirValidFrom'+--+-- * 'sirCreateTime'+--+-- * 'sirTags'+spotInstanceRequest+    :: SpotInstanceRequest+spotInstanceRequest =+    SpotInstanceRequest'+    { _sirInstanceId = Nothing+    , _sirStatus = Nothing+    , _sirState = Nothing+    , _sirProductDescription = Nothing+    , _sirSpotPrice = Nothing+    , _sirLaunchSpecification = Nothing+    , _sirAvailabilityZoneGroup = Nothing+    , _sirLaunchedAvailabilityZone = Nothing+    , _sirValidUntil = Nothing+    , _sirLaunchGroup = Nothing+    , _sirFault = Nothing+    , _sirSpotInstanceRequestId = Nothing+    , _sirType = Nothing+    , _sirValidFrom = Nothing+    , _sirCreateTime = Nothing+    , _sirTags = Nothing+    }++-- | The instance ID, if an instance has been launched to fulfill the Spot+-- Instance request.+sirInstanceId :: Lens' SpotInstanceRequest (Maybe Text)+sirInstanceId = lens _sirInstanceId (\ s a -> s{_sirInstanceId = a});++-- | The status code and status message describing the Spot Instance request.+sirStatus :: Lens' SpotInstanceRequest (Maybe SpotInstanceStatus)+sirStatus = lens _sirStatus (\ s a -> s{_sirStatus = a});++-- | The state of the Spot Instance request. Spot bid status information can+-- help you track your Spot Instance requests. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html Spot Bid Status>+-- in the /Amazon Elastic Compute Cloud User Guide/.+sirState :: Lens' SpotInstanceRequest (Maybe SpotInstanceState)+sirState = lens _sirState (\ s a -> s{_sirState = a});++-- | 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});++-- | Additional information for launching instances.+sirLaunchSpecification :: Lens' SpotInstanceRequest (Maybe LaunchSpecification)+sirLaunchSpecification = lens _sirLaunchSpecification (\ s a -> s{_sirLaunchSpecification = a});++-- | The Availability Zone group. If you specify the same Availability Zone+-- group for all Spot Instance requests, all Spot Instances are launched in+-- the same Availability Zone.+sirAvailabilityZoneGroup :: Lens' SpotInstanceRequest (Maybe Text)+sirAvailabilityZoneGroup = lens _sirAvailabilityZoneGroup (\ s a -> s{_sirAvailabilityZoneGroup = a});++-- | The Availability Zone in which the bid is launched.+sirLaunchedAvailabilityZone :: Lens' SpotInstanceRequest (Maybe Text)+sirLaunchedAvailabilityZone = lens _sirLaunchedAvailabilityZone (\ s a -> s{_sirLaunchedAvailabilityZone = a});++-- | The end date of the request, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). If this is a one-time request, 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 instance launch group. Launch groups are Spot Instances that launch+-- together and terminate together.+sirLaunchGroup :: Lens' SpotInstanceRequest (Maybe Text)+sirLaunchGroup = lens _sirLaunchGroup (\ s a -> s{_sirLaunchGroup = a});++-- | The fault codes for the Spot Instance request, if any.+sirFault :: Lens' SpotInstanceRequest (Maybe SpotInstanceStateFault)+sirFault = lens _sirFault (\ s a -> s{_sirFault = a});++-- | The ID of the Spot Instance request.+sirSpotInstanceRequestId :: Lens' SpotInstanceRequest (Maybe Text)+sirSpotInstanceRequestId = lens _sirSpotInstanceRequestId (\ s a -> s{_sirSpotInstanceRequestId = a});++-- | The Spot Instance request type.+sirType :: Lens' SpotInstanceRequest (Maybe SpotInstanceType)+sirType = lens _sirType (\ s a -> s{_sirType = a});++-- | The start date of the request, in UTC format (for example,+-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). 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;++-- | The date and time when the Spot Instance request was created, in UTC+-- format (for example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).+sirCreateTime :: Lens' SpotInstanceRequest (Maybe UTCTime)+sirCreateTime = lens _sirCreateTime (\ s a -> s{_sirCreateTime = a}) . mapping _Time;++-- | Any tags assigned to the resource.+sirTags :: Lens' SpotInstanceRequest [Tag]+sirTags = lens _sirTags (\ s a -> s{_sirTags = a}) . _Default . _Coerce;++instance FromXML SpotInstanceRequest where+        parseXML x+          = SpotInstanceRequest' <$>+              (x .@? "instanceId") <*> (x .@? "status") <*>+                (x .@? "state")+                <*> (x .@? "productDescription")+                <*> (x .@? "spotPrice")+                <*> (x .@? "launchSpecification")+                <*> (x .@? "availabilityZoneGroup")+                <*> (x .@? "launchedAvailabilityZone")+                <*> (x .@? "validUntil")+                <*> (x .@? "launchGroup")+                <*> (x .@? "fault")+                <*> (x .@? "spotInstanceRequestId")+                <*> (x .@? "type")+                <*> (x .@? "validFrom")+                <*> (x .@? "createTime")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | Describes a Spot Instance state change.+--+-- /See:/ 'spotInstanceStateFault' smart constructor.+data SpotInstanceStateFault = SpotInstanceStateFault'+    { _sisfCode    :: !(Maybe Text)+    , _sisfMessage :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotInstanceStateFault' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sisfCode'+--+-- * 'sisfMessage'+spotInstanceStateFault+    :: SpotInstanceStateFault+spotInstanceStateFault =+    SpotInstanceStateFault'+    { _sisfCode = Nothing+    , _sisfMessage = Nothing+    }++-- | The reason code for the Spot Instance state change.+sisfCode :: Lens' SpotInstanceStateFault (Maybe Text)+sisfCode = lens _sisfCode (\ s a -> s{_sisfCode = a});++-- | The message for the Spot Instance state change.+sisfMessage :: Lens' SpotInstanceStateFault (Maybe Text)+sisfMessage = lens _sisfMessage (\ s a -> s{_sisfMessage = a});++instance FromXML SpotInstanceStateFault where+        parseXML x+          = SpotInstanceStateFault' <$>+              (x .@? "code") <*> (x .@? "message")++-- | Describes the status of a Spot Instance request.+--+-- /See:/ 'spotInstanceStatus' smart constructor.+data SpotInstanceStatus = SpotInstanceStatus'+    { _sisUpdateTime :: !(Maybe ISO8601)+    , _sisCode       :: !(Maybe Text)+    , _sisMessage    :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpotInstanceStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sisUpdateTime'+--+-- * 'sisCode'+--+-- * 'sisMessage'+spotInstanceStatus+    :: SpotInstanceStatus+spotInstanceStatus =+    SpotInstanceStatus'+    { _sisUpdateTime = Nothing+    , _sisCode = Nothing+    , _sisMessage = Nothing+    }++-- | The date and time of the most recent status update, in UTC format (for+-- example, /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z).+sisUpdateTime :: Lens' SpotInstanceStatus (Maybe UTCTime)+sisUpdateTime = lens _sisUpdateTime (\ s a -> s{_sisUpdateTime = a}) . mapping _Time;++-- | The status code.+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 occurred. For more information about+-- errors, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html Error Codes>.+--+-- /See:/ 'unsuccessfulItemError' smart constructor.+data UnsuccessfulItemError = UnsuccessfulItemError'+    { _uieCode    :: !Text+    , _uieMessage :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnsuccessfulItemError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uieCode'+--+-- * 'uieMessage'+unsuccessfulItemError+    :: Text -- ^ 'uieCode'+    -> Text -- ^ 'uieMessage'+    -> UnsuccessfulItemError+unsuccessfulItemError pCode_ pMessage_ =+    UnsuccessfulItemError'+    { _uieCode = pCode_+    , _uieMessage = pMessage_+    }++-- | The error code.+uieCode :: Lens' UnsuccessfulItemError Text+uieCode = lens _uieCode (\ s a -> s{_uieCode = a});++-- | The error message accompanying the error code.+uieMessage :: Lens' UnsuccessfulItemError Text+uieMessage = lens _uieMessage (\ s a -> s{_uieMessage = a});++instance FromXML UnsuccessfulItemError where+        parseXML x+          = UnsuccessfulItemError' <$>+              (x .@ "code") <*> (x .@ "message")++-- | Describes the S3 bucket for the disk image.+--+-- /See:/ 'userBucket' smart constructor.+data UserBucket = UserBucket'+    { _ubS3Key    :: !(Maybe Text)+    , _ubS3Bucket :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ubS3Key'+--+-- * 'ubS3Bucket'+userBucket+    :: UserBucket+userBucket =+    UserBucket'+    { _ubS3Key = Nothing+    , _ubS3Bucket = Nothing+    }++-- | The key for the disk image.+ubS3Key :: Lens' UserBucket (Maybe Text)+ubS3Key = lens _ubS3Key (\ s a -> s{_ubS3Key = a});++-- | The name of the S3 bucket where the disk image is located.+ubS3Bucket :: Lens' UserBucket (Maybe Text)+ubS3Bucket = lens _ubS3Bucket (\ s a -> s{_ubS3Bucket = a});++instance ToQuery UserBucket where+        toQuery UserBucket'{..}+          = mconcat+              ["S3Key" =: _ubS3Key, "S3Bucket" =: _ubS3Bucket]++-- | Describes the S3 bucket for the disk image.+--+-- /See:/ 'userBucketDetails' smart constructor.+data UserBucketDetails = UserBucketDetails'+    { _ubdS3Key    :: !(Maybe Text)+    , _ubdS3Bucket :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserBucketDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ubdS3Key'+--+-- * 'ubdS3Bucket'+userBucketDetails+    :: UserBucketDetails+userBucketDetails =+    UserBucketDetails'+    { _ubdS3Key = Nothing+    , _ubdS3Bucket = Nothing+    }++-- | The key from which the disk image was created.+ubdS3Key :: Lens' UserBucketDetails (Maybe Text)+ubdS3Key = lens _ubdS3Key (\ s a -> s{_ubdS3Key = a});++-- | The S3 bucket from which the disk image was created.+ubdS3Bucket :: Lens' UserBucketDetails (Maybe Text)+ubdS3Bucket = lens _ubdS3Bucket (\ s a -> s{_ubdS3Bucket = a});++instance FromXML UserBucketDetails where+        parseXML x+          = UserBucketDetails' <$>+              (x .@? "s3Key") <*> (x .@? "s3Bucket")++-- | Describes the user data to be made available to an instance.+--+-- /See:/ 'userData' smart constructor.+newtype UserData = UserData'+    { _udData :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udData'+userData+    :: UserData+userData =+    UserData'+    { _udData = Nothing+    }++-- | The Base64-encoded MIME user data for the instance.+udData :: Lens' UserData (Maybe Text)+udData = lens _udData (\ s a -> s{_udData = a});++instance ToQuery UserData where+        toQuery UserData'{..} = mconcat ["Data" =: _udData]++-- | Describes a security group and AWS account ID pair.+--+-- /See:/ 'userIdGroupPair' smart constructor.+data UserIdGroupPair = UserIdGroupPair'+    { _uigpUserId    :: !(Maybe Text)+    , _uigpGroupId   :: !(Maybe Text)+    , _uigpGroupName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserIdGroupPair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uigpUserId'+--+-- * 'uigpGroupId'+--+-- * 'uigpGroupName'+userIdGroupPair+    :: UserIdGroupPair+userIdGroupPair =+    UserIdGroupPair'+    { _uigpUserId = Nothing+    , _uigpGroupId = Nothing+    , _uigpGroupName = Nothing+    }++-- | The ID of an AWS account. EC2-Classic only.+uigpUserId :: Lens' UserIdGroupPair (Maybe Text)+uigpUserId = lens _uigpUserId (\ s a -> s{_uigpUserId = a});++-- | The ID of the security group.+uigpGroupId :: Lens' UserIdGroupPair (Maybe Text)+uigpGroupId = lens _uigpGroupId (\ s a -> s{_uigpGroupId = a});++-- | The name of the security group. In a request, use this parameter for a+-- security group in EC2-Classic or a default VPC only. For a security+-- group in a nondefault VPC, use 'GroupId'.+uigpGroupName :: Lens' UserIdGroupPair (Maybe Text)+uigpGroupName = lens _uigpGroupName (\ s a -> s{_uigpGroupName = a});++instance FromXML UserIdGroupPair where+        parseXML x+          = UserIdGroupPair' <$>+              (x .@? "userId") <*> (x .@? "groupId") <*>+                (x .@? "groupName")++instance ToQuery UserIdGroupPair where+        toQuery UserIdGroupPair'{..}+          = mconcat+              ["UserId" =: _uigpUserId, "GroupId" =: _uigpGroupId,+               "GroupName" =: _uigpGroupName]++-- | Describes telemetry for a VPN tunnel.+--+-- /See:/ 'vgwTelemetry' smart constructor.+data VGWTelemetry = VGWTelemetry'+    { _vtStatus             :: !(Maybe TelemetryStatus)+    , _vtOutsideIPAddress   :: !(Maybe Text)+    , _vtLastStatusChange   :: !(Maybe ISO8601)+    , _vtAcceptedRouteCount :: !(Maybe Int)+    , _vtStatusMessage      :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VGWTelemetry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtStatus'+--+-- * 'vtOutsideIPAddress'+--+-- * 'vtLastStatusChange'+--+-- * 'vtAcceptedRouteCount'+--+-- * 'vtStatusMessage'+vgwTelemetry+    :: VGWTelemetry+vgwTelemetry =+    VGWTelemetry'+    { _vtStatus = Nothing+    , _vtOutsideIPAddress = Nothing+    , _vtLastStatusChange = Nothing+    , _vtAcceptedRouteCount = Nothing+    , _vtStatusMessage = Nothing+    }++-- | The status of the VPN tunnel.+vtStatus :: Lens' VGWTelemetry (Maybe TelemetryStatus)+vtStatus = lens _vtStatus (\ s a -> s{_vtStatus = a});++-- | The Internet-routable IP address of the virtual private gateway\'s+-- outside interface.+vtOutsideIPAddress :: Lens' VGWTelemetry (Maybe Text)+vtOutsideIPAddress = lens _vtOutsideIPAddress (\ s a -> s{_vtOutsideIPAddress = a});++-- | The date and time of the last change in status.+vtLastStatusChange :: Lens' VGWTelemetry (Maybe UTCTime)+vtLastStatusChange = lens _vtLastStatusChange (\ s a -> s{_vtLastStatusChange = a}) . mapping _Time;++-- | The number of accepted routes.+vtAcceptedRouteCount :: Lens' VGWTelemetry (Maybe Int)+vtAcceptedRouteCount = lens _vtAcceptedRouteCount (\ s a -> s{_vtAcceptedRouteCount = a});++-- | If an error occurs, a description of the error.+vtStatusMessage :: Lens' VGWTelemetry (Maybe Text)+vtStatusMessage = lens _vtStatusMessage (\ s a -> s{_vtStatusMessage = a});++instance FromXML VGWTelemetry where+        parseXML x+          = VGWTelemetry' <$>+              (x .@? "status") <*> (x .@? "outsideIpAddress") <*>+                (x .@? "lastStatusChange")+                <*> (x .@? "acceptedRouteCount")+                <*> (x .@? "statusMessage")++-- | Describes a VPC.+--+-- /See:/ 'vpc' smart constructor.+data VPC = VPC'+    { _vpcTags            :: !(Maybe [Tag])+    , _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'+    { _veState             :: !(Maybe State)+    , _vePolicyDocument    :: !(Maybe Text)+    , _veVPCId             :: !(Maybe Text)+    , _veCreationTimestamp :: !(Maybe ISO8601)+    , _veServiceName       :: !(Maybe Text)+    , _veVPCEndpointId     :: !(Maybe Text)+    , _veRouteTableIds     :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPCEndpoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'veState'+--+-- * 'vePolicyDocument'+--+-- * 'veVPCId'+--+-- * 'veCreationTimestamp'+--+-- * 'veServiceName'+--+-- * 'veVPCEndpointId'+--+-- * 'veRouteTableIds'+vpcEndpoint+    :: VPCEndpoint+vpcEndpoint =+    VPCEndpoint'+    { _veState = Nothing+    , _vePolicyDocument = Nothing+    , _veVPCId = Nothing+    , _veCreationTimestamp = Nothing+    , _veServiceName = Nothing+    , _veVPCEndpointId = Nothing+    , _veRouteTableIds = Nothing+    }++-- | The state of the VPC endpoint.+veState :: Lens' VPCEndpoint (Maybe State)+veState = lens _veState (\ s a -> s{_veState = a});++-- | The policy document associated with the endpoint.+vePolicyDocument :: Lens' VPCEndpoint (Maybe Text)+vePolicyDocument = lens _vePolicyDocument (\ s a -> s{_vePolicyDocument = a});++-- | The ID of the VPC to which the endpoint is associated.+veVPCId :: Lens' VPCEndpoint (Maybe Text)+veVPCId = lens _veVPCId (\ s a -> s{_veVPCId = a});++-- | The date and time the VPC endpoint was created.+veCreationTimestamp :: Lens' VPCEndpoint (Maybe UTCTime)+veCreationTimestamp = lens _veCreationTimestamp (\ s a -> s{_veCreationTimestamp = a}) . mapping _Time;++-- | The name of the AWS service to which the endpoint is associated.+veServiceName :: Lens' VPCEndpoint (Maybe Text)+veServiceName = lens _veServiceName (\ s a -> s{_veServiceName = a});++-- | The ID of the VPC endpoint.+veVPCEndpointId :: Lens' VPCEndpoint (Maybe Text)+veVPCEndpointId = lens _veVPCEndpointId (\ s a -> s{_veVPCEndpointId = a});++-- | One or more route tables associated with the endpoint.+veRouteTableIds :: Lens' VPCEndpoint [Text]+veRouteTableIds = lens _veRouteTableIds (\ s a -> s{_veRouteTableIds = a}) . _Default . _Coerce;++instance FromXML VPCEndpoint where+        parseXML x+          = VPCEndpoint' <$>+              (x .@? "state") <*> (x .@? "policyDocument") <*>+                (x .@? "vpcId")+                <*> (x .@? "creationTimestamp")+                <*> (x .@? "serviceName")+                <*> (x .@? "vpcEndpointId")+                <*>+                (x .@? "routeTableIdSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | Describes a VPC peering connection.+--+-- /See:/ 'vpcPeeringConnection' smart constructor.+data VPCPeeringConnection = VPCPeeringConnection'+    { _vpcpcVPCPeeringConnectionId :: !(Maybe Text)+    , _vpcpcStatus                 :: !(Maybe VPCPeeringConnectionStateReason)+    , _vpcpcAccepterVPCInfo        :: !(Maybe VPCPeeringConnectionVPCInfo)+    , _vpcpcRequesterVPCInfo       :: !(Maybe VPCPeeringConnectionVPCInfo)+    , _vpcpcExpirationTime         :: !(Maybe ISO8601)+    , _vpcpcTags                   :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPCPeeringConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vpcpcVPCPeeringConnectionId'+--+-- * 'vpcpcStatus'+--+-- * 'vpcpcAccepterVPCInfo'+--+-- * 'vpcpcRequesterVPCInfo'+--+-- * 'vpcpcExpirationTime'+--+-- * 'vpcpcTags'+vpcPeeringConnection+    :: VPCPeeringConnection+vpcPeeringConnection =+    VPCPeeringConnection'+    { _vpcpcVPCPeeringConnectionId = Nothing+    , _vpcpcStatus = Nothing+    , _vpcpcAccepterVPCInfo = Nothing+    , _vpcpcRequesterVPCInfo = Nothing+    , _vpcpcExpirationTime = Nothing+    , _vpcpcTags = Nothing+    }++-- | The ID of the VPC peering connection.+vpcpcVPCPeeringConnectionId :: Lens' VPCPeeringConnection (Maybe Text)+vpcpcVPCPeeringConnectionId = lens _vpcpcVPCPeeringConnectionId (\ s a -> s{_vpcpcVPCPeeringConnectionId = a});++-- | The status of the VPC peering connection.+vpcpcStatus :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionStateReason)+vpcpcStatus = lens _vpcpcStatus (\ s a -> s{_vpcpcStatus = a});++-- | The information of the peer VPC.+vpcpcAccepterVPCInfo :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionVPCInfo)+vpcpcAccepterVPCInfo = lens _vpcpcAccepterVPCInfo (\ s a -> s{_vpcpcAccepterVPCInfo = a});++-- | The information of the requester VPC.+vpcpcRequesterVPCInfo :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionVPCInfo)+vpcpcRequesterVPCInfo = lens _vpcpcRequesterVPCInfo (\ s a -> s{_vpcpcRequesterVPCInfo = a});++-- | The time that an unaccepted VPC peering connection will expire.+vpcpcExpirationTime :: Lens' VPCPeeringConnection (Maybe UTCTime)+vpcpcExpirationTime = lens _vpcpcExpirationTime (\ s a -> s{_vpcpcExpirationTime = a}) . mapping _Time;++-- | Any tags assigned to the resource.+vpcpcTags :: Lens' VPCPeeringConnection [Tag]+vpcpcTags = lens _vpcpcTags (\ s a -> s{_vpcpcTags = a}) . _Default . _Coerce;++instance FromXML VPCPeeringConnection where+        parseXML x+          = VPCPeeringConnection' <$>+              (x .@? "vpcPeeringConnectionId") <*> (x .@? "status")+                <*> (x .@? "accepterVpcInfo")+                <*> (x .@? "requesterVpcInfo")+                <*> (x .@? "expirationTime")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | Describes the status of a VPC peering connection.+--+-- /See:/ 'vpcPeeringConnectionStateReason' smart constructor.+data VPCPeeringConnectionStateReason = VPCPeeringConnectionStateReason'+    { _vpcsrCode    :: !(Maybe VPCPeeringConnectionStateReasonCode)+    , _vpcsrMessage :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPCPeeringConnectionStateReason' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vpcsrCode'+--+-- * 'vpcsrMessage'+vpcPeeringConnectionStateReason+    :: VPCPeeringConnectionStateReason+vpcPeeringConnectionStateReason =+    VPCPeeringConnectionStateReason'+    { _vpcsrCode = Nothing+    , _vpcsrMessage = Nothing+    }++-- | The status of the VPC peering connection.+vpcsrCode :: Lens' VPCPeeringConnectionStateReason (Maybe VPCPeeringConnectionStateReasonCode)+vpcsrCode = lens _vpcsrCode (\ s a -> s{_vpcsrCode = a});++-- | A message that provides more information about the status, if+-- applicable.+vpcsrMessage :: Lens' VPCPeeringConnectionStateReason (Maybe Text)+vpcsrMessage = lens _vpcsrMessage (\ s a -> s{_vpcsrMessage = a});++instance FromXML VPCPeeringConnectionStateReason+         where+        parseXML x+          = VPCPeeringConnectionStateReason' <$>+              (x .@? "code") <*> (x .@? "message")++-- | Describes a VPC in a VPC peering connection.+--+-- /See:/ 'vpcPeeringConnectionVPCInfo' smart constructor.+data VPCPeeringConnectionVPCInfo = VPCPeeringConnectionVPCInfo'+    { _vpcviVPCId     :: !(Maybe Text)+    , _vpcviOwnerId   :: !(Maybe Text)+    , _vpcviCIdRBlock :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPCPeeringConnectionVPCInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vpcviVPCId'+--+-- * 'vpcviOwnerId'+--+-- * 'vpcviCIdRBlock'+vpcPeeringConnectionVPCInfo+    :: VPCPeeringConnectionVPCInfo+vpcPeeringConnectionVPCInfo =+    VPCPeeringConnectionVPCInfo'+    { _vpcviVPCId = Nothing+    , _vpcviOwnerId = Nothing+    , _vpcviCIdRBlock = Nothing+    }++-- | The ID of the VPC.+vpcviVPCId :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)+vpcviVPCId = lens _vpcviVPCId (\ s a -> s{_vpcviVPCId = a});++-- | The AWS account ID of the VPC owner.+vpcviOwnerId :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)+vpcviOwnerId = lens _vpcviOwnerId (\ s a -> s{_vpcviOwnerId = a});++-- | The CIDR block for the VPC.+vpcviCIdRBlock :: Lens' VPCPeeringConnectionVPCInfo (Maybe Text)+vpcviCIdRBlock = lens _vpcviCIdRBlock (\ s a -> s{_vpcviCIdRBlock = a});++instance FromXML VPCPeeringConnectionVPCInfo where+        parseXML x+          = VPCPeeringConnectionVPCInfo' <$>+              (x .@? "vpcId") <*> (x .@? "ownerId") <*>+                (x .@? "cidrBlock")++-- | Describes a VPN connection.+--+-- /See:/ 'vpnConnection' smart constructor.+data VPNConnection = VPNConnection'+    { _vcCustomerGatewayConfiguration :: !(Maybe Text)+    , _vcRoutes                       :: !(Maybe [VPNStaticRoute])+    , _vcVPNGatewayId                 :: !(Maybe Text)+    , _vcOptions                      :: !(Maybe VPNConnectionOptions)+    , _vcTags                         :: !(Maybe [Tag])+    , _vcVGWTelemetry                 :: !(Maybe [VGWTelemetry])+    , _vcVPNConnectionId              :: !Text+    , _vcCustomerGatewayId            :: !Text+    , _vcState                        :: !VPNState+    , _vcType                         :: !GatewayType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vcCustomerGatewayConfiguration'+--+-- * 'vcRoutes'+--+-- * 'vcVPNGatewayId'+--+-- * 'vcOptions'+--+-- * 'vcTags'+--+-- * 'vcVGWTelemetry'+--+-- * 'vcVPNConnectionId'+--+-- * 'vcCustomerGatewayId'+--+-- * 'vcState'+--+-- * 'vcType'+vpnConnection+    :: Text -- ^ 'vcVPNConnectionId'+    -> Text -- ^ 'vcCustomerGatewayId'+    -> VPNState -- ^ 'vcState'+    -> GatewayType -- ^ 'vcType'+    -> VPNConnection+vpnConnection pVPNConnectionId_ pCustomerGatewayId_ pState_ pType_ =+    VPNConnection'+    { _vcCustomerGatewayConfiguration = Nothing+    , _vcRoutes = Nothing+    , _vcVPNGatewayId = Nothing+    , _vcOptions = Nothing+    , _vcTags = Nothing+    , _vcVGWTelemetry = Nothing+    , _vcVPNConnectionId = pVPNConnectionId_+    , _vcCustomerGatewayId = pCustomerGatewayId_+    , _vcState = pState_+    , _vcType = pType_+    }++-- | The configuration information for the VPN connection\'s customer gateway+-- (in the native XML format). This element is always present in the+-- CreateVpnConnection response; however, it\'s present in the+-- DescribeVpnConnections response only if the VPN connection is in the+-- 'pending' or 'available' state.+vcCustomerGatewayConfiguration :: Lens' VPNConnection (Maybe Text)+vcCustomerGatewayConfiguration = lens _vcCustomerGatewayConfiguration (\ s a -> s{_vcCustomerGatewayConfiguration = a});++-- | The static routes associated with the VPN connection.+vcRoutes :: Lens' VPNConnection [VPNStaticRoute]+vcRoutes = lens _vcRoutes (\ s a -> s{_vcRoutes = a}) . _Default . _Coerce;++-- | The ID of the virtual private gateway at the AWS side of the VPN+-- connection.+vcVPNGatewayId :: Lens' VPNConnection (Maybe Text)+vcVPNGatewayId = lens _vcVPNGatewayId (\ s a -> s{_vcVPNGatewayId = a});++-- | The VPN connection options.+vcOptions :: Lens' VPNConnection (Maybe VPNConnectionOptions)+vcOptions = lens _vcOptions (\ s a -> s{_vcOptions = a});++-- | Any tags assigned to the VPN connection.+vcTags :: Lens' VPNConnection [Tag]+vcTags = lens _vcTags (\ s a -> s{_vcTags = a}) . _Default . _Coerce;++-- | Information about the VPN tunnel.+vcVGWTelemetry :: Lens' VPNConnection [VGWTelemetry]+vcVGWTelemetry = lens _vcVGWTelemetry (\ s a -> s{_vcVGWTelemetry = a}) . _Default . _Coerce;++-- | The ID of the VPN connection.+vcVPNConnectionId :: Lens' VPNConnection Text+vcVPNConnectionId = lens _vcVPNConnectionId (\ s a -> s{_vcVPNConnectionId = a});++-- | The ID of the customer gateway at your end of the VPN connection.+vcCustomerGatewayId :: Lens' VPNConnection Text+vcCustomerGatewayId = lens _vcCustomerGatewayId (\ s a -> s{_vcCustomerGatewayId = a});++-- | The current state of the VPN connection.+vcState :: Lens' VPNConnection VPNState+vcState = lens _vcState (\ s a -> s{_vcState = a});++-- | The type of VPN connection.+vcType :: Lens' VPNConnection GatewayType+vcType = lens _vcType (\ s a -> s{_vcType = a});++instance FromXML VPNConnection where+        parseXML x+          = VPNConnection' <$>+              (x .@? "customerGatewayConfiguration") <*>+                (x .@? "routes" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "vpnGatewayId")+                <*> (x .@? "options")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*>+                (x .@? "vgwTelemetry" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@ "vpnConnectionId")+                <*> (x .@ "customerGatewayId")+                <*> (x .@ "state")+                <*> (x .@ "type")++-- | Describes VPN connection options.+--+-- /See:/ 'vpnConnectionOptions' smart constructor.+newtype VPNConnectionOptions = VPNConnectionOptions'+    { _vcoStaticRoutesOnly :: Maybe Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNConnectionOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vcoStaticRoutesOnly'+vpnConnectionOptions+    :: VPNConnectionOptions+vpnConnectionOptions =+    VPNConnectionOptions'+    { _vcoStaticRoutesOnly = Nothing+    }++-- | Indicates whether the VPN connection uses static routes only. Static+-- routes must be used for devices that don\'t support BGP.+vcoStaticRoutesOnly :: Lens' VPNConnectionOptions (Maybe Bool)+vcoStaticRoutesOnly = lens _vcoStaticRoutesOnly (\ s a -> s{_vcoStaticRoutesOnly = a});++instance FromXML VPNConnectionOptions where+        parseXML x+          = VPNConnectionOptions' <$>+              (x .@? "staticRoutesOnly")++-- | Describes VPN connection options.+--+-- /See:/ 'vpnConnectionOptionsSpecification' smart constructor.+newtype VPNConnectionOptionsSpecification = VPNConnectionOptionsSpecification'+    { _vcosStaticRoutesOnly :: Maybe Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNConnectionOptionsSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vcosStaticRoutesOnly'+vpnConnectionOptionsSpecification+    :: VPNConnectionOptionsSpecification+vpnConnectionOptionsSpecification =+    VPNConnectionOptionsSpecification'+    { _vcosStaticRoutesOnly = Nothing+    }++-- | Indicates whether the VPN connection uses static routes only. Static+-- routes must be used for devices that don\'t support BGP.+vcosStaticRoutesOnly :: Lens' VPNConnectionOptionsSpecification (Maybe Bool)+vcosStaticRoutesOnly = lens _vcosStaticRoutesOnly (\ s a -> s{_vcosStaticRoutesOnly = a});++instance ToQuery VPNConnectionOptionsSpecification+         where+        toQuery VPNConnectionOptionsSpecification'{..}+          = mconcat+              ["StaticRoutesOnly" =: _vcosStaticRoutesOnly]++-- | Describes a virtual private gateway.+--+-- /See:/ 'vpnGateway' smart constructor.+data VPNGateway = VPNGateway'+    { _vgState            :: !(Maybe VPNState)+    , _vgVPCAttachments   :: !(Maybe [VPCAttachment])+    , _vgVPNGatewayId     :: !(Maybe Text)+    , _vgAvailabilityZone :: !(Maybe Text)+    , _vgType             :: !(Maybe GatewayType)+    , _vgTags             :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vgState'+--+-- * 'vgVPCAttachments'+--+-- * 'vgVPNGatewayId'+--+-- * 'vgAvailabilityZone'+--+-- * 'vgType'+--+-- * 'vgTags'+vpnGateway+    :: VPNGateway+vpnGateway =+    VPNGateway'+    { _vgState = Nothing+    , _vgVPCAttachments = Nothing+    , _vgVPNGatewayId = Nothing+    , _vgAvailabilityZone = Nothing+    , _vgType = Nothing+    , _vgTags = Nothing+    }++-- | The current state of the virtual private gateway.+vgState :: Lens' VPNGateway (Maybe VPNState)+vgState = lens _vgState (\ s a -> s{_vgState = a});++-- | Any VPCs attached to the virtual private gateway.+vgVPCAttachments :: Lens' VPNGateway [VPCAttachment]+vgVPCAttachments = lens _vgVPCAttachments (\ s a -> s{_vgVPCAttachments = a}) . _Default . _Coerce;++-- | The ID of the virtual private gateway.+vgVPNGatewayId :: Lens' VPNGateway (Maybe Text)+vgVPNGatewayId = lens _vgVPNGatewayId (\ s a -> s{_vgVPNGatewayId = a});++-- | The Availability Zone where the virtual private gateway was created.+vgAvailabilityZone :: Lens' VPNGateway (Maybe Text)+vgAvailabilityZone = lens _vgAvailabilityZone (\ s a -> s{_vgAvailabilityZone = a});++-- | The type of VPN connection the virtual private gateway supports.+vgType :: Lens' VPNGateway (Maybe GatewayType)+vgType = lens _vgType (\ s a -> s{_vgType = a});++-- | Any tags assigned to the virtual private gateway.+vgTags :: Lens' VPNGateway [Tag]+vgTags = lens _vgTags (\ s a -> s{_vgTags = a}) . _Default . _Coerce;++instance FromXML VPNGateway where+        parseXML x+          = VPNGateway' <$>+              (x .@? "state") <*>+                (x .@? "attachments" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "vpnGatewayId")+                <*> (x .@? "availabilityZone")+                <*> (x .@? "type")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | Describes a static route for a VPN connection.+--+-- /See:/ 'vpnStaticRoute' smart constructor.+data VPNStaticRoute = VPNStaticRoute'+    { _vsrState                :: !(Maybe VPNState)+    , _vsrSource               :: !(Maybe VPNStaticRouteSource)+    , _vsrDestinationCIdRBlock :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNStaticRoute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsrState'+--+-- * 'vsrSource'+--+-- * 'vsrDestinationCIdRBlock'+vpnStaticRoute+    :: VPNStaticRoute+vpnStaticRoute =+    VPNStaticRoute'+    { _vsrState = Nothing+    , _vsrSource = Nothing+    , _vsrDestinationCIdRBlock = Nothing+    }++-- | The current state of the static route.+vsrState :: Lens' VPNStaticRoute (Maybe VPNState)+vsrState = lens _vsrState (\ s a -> s{_vsrState = a});++-- | Indicates how the routes were provided.+vsrSource :: Lens' VPNStaticRoute (Maybe VPNStaticRouteSource)+vsrSource = lens _vsrSource (\ s a -> s{_vsrSource = a});++-- | The CIDR block associated with the local subnet of the customer data+-- center.+vsrDestinationCIdRBlock :: Lens' VPNStaticRoute (Maybe Text)+vsrDestinationCIdRBlock = lens _vsrDestinationCIdRBlock (\ s a -> s{_vsrDestinationCIdRBlock = a});++instance FromXML VPNStaticRoute where+        parseXML x+          = VPNStaticRoute' <$>+              (x .@? "state") <*> (x .@? "source") <*>+                (x .@? "destinationCidrBlock")++-- | Describes a volume.+--+-- /See:/ 'volume' smart constructor.+data Volume = Volume'+    { _vAttachments      :: !(Maybe [VolumeAttachment])+    , _vIOPS             :: !(Maybe Int)+    , _vKMSKeyId         :: !(Maybe Text)+    , _vTags             :: !(Maybe [Tag])+    , _vAvailabilityZone :: !Text+    , _vCreateTime       :: !ISO8601+    , _vEncrypted        :: !Bool+    , _vSize             :: !Int+    , _vSnapshotId       :: !Text+    , _vState            :: !VolumeState+    , _vVolumeId         :: !Text+    , _vVolumeType       :: !VolumeType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Volume' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vAttachments'+--+-- * 'vIOPS'+--+-- * 'vKMSKeyId'+--+-- * 'vTags'+--+-- * 'vAvailabilityZone'+--+-- * 'vCreateTime'+--+-- * 'vEncrypted'+--+-- * 'vSize'+--+-- * 'vSnapshotId'+--+-- * 'vState'+--+-- * 'vVolumeId'+--+-- * 'vVolumeType'+volume+    :: Text -- ^ 'vAvailabilityZone'+    -> UTCTime -- ^ 'vCreateTime'+    -> Bool -- ^ 'vEncrypted'+    -> Int -- ^ 'vSize'+    -> Text -- ^ 'vSnapshotId'+    -> VolumeState -- ^ 'vState'+    -> Text -- ^ 'vVolumeId'+    -> VolumeType -- ^ 'vVolumeType'+    -> Volume+volume pAvailabilityZone_ pCreateTime_ pEncrypted_ pSize_ pSnapshotId_ pState_ pVolumeId_ pVolumeType_ =+    Volume'+    { _vAttachments = Nothing+    , _vIOPS = Nothing+    , _vKMSKeyId = Nothing+    , _vTags = Nothing+    , _vAvailabilityZone = pAvailabilityZone_+    , _vCreateTime = _Time # pCreateTime_+    , _vEncrypted = pEncrypted_+    , _vSize = pSize_+    , _vSnapshotId = pSnapshotId_+    , _vState = pState_+    , _vVolumeId = pVolumeId_+    , _vVolumeType = pVolumeType_+    }++-- | Information about the volume attachments.+vAttachments :: Lens' Volume [VolumeAttachment]+vAttachments = lens _vAttachments (\ s a -> s{_vAttachments = a}) . _Default . _Coerce;++-- | The number of I\/O operations per second (IOPS) that the volume+-- supports. For Provisioned IOPS (SSD) volumes, this represents the number+-- of IOPS that are provisioned for the volume. For General Purpose (SSD)+-- volumes, this represents the baseline performance of the volume and the+-- rate at which the volume accumulates I\/O credits for bursting. For more+-- information on General Purpose (SSD) baseline performance, I\/O credits,+-- and bursting, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html Amazon EBS Volume Types>+-- in the /Amazon Elastic Compute Cloud User Guide/.+--+-- Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and+-- 3 to 10000 for General Purpose (SSD) volumes.+--+-- Condition: This parameter is required for requests to create 'io1'+-- volumes; it is not used in requests to create 'standard' or 'gp2'+-- volumes.+vIOPS :: Lens' Volume (Maybe Int)+vIOPS = lens _vIOPS (\ s a -> s{_vIOPS = a});++-- | The full ARN of the AWS Key Management Service (AWS KMS) customer master+-- key (CMK) that was used to protect the volume encryption key for the+-- volume.+vKMSKeyId :: Lens' Volume (Maybe Text)+vKMSKeyId = lens _vKMSKeyId (\ s a -> s{_vKMSKeyId = a});++-- | Any tags assigned to the volume.+vTags :: Lens' Volume [Tag]+vTags = lens _vTags (\ s a -> s{_vTags = a}) . _Default . _Coerce;++-- | The Availability Zone for the volume.+vAvailabilityZone :: Lens' Volume Text+vAvailabilityZone = lens _vAvailabilityZone (\ s a -> s{_vAvailabilityZone = a});++-- | The time stamp when volume creation was initiated.+vCreateTime :: Lens' Volume UTCTime+vCreateTime = lens _vCreateTime (\ s a -> s{_vCreateTime = a}) . _Time;++-- | Indicates whether the volume will be encrypted.+vEncrypted :: Lens' Volume Bool+vEncrypted = lens _vEncrypted (\ s a -> s{_vEncrypted = a});++-- | The size of the volume, in GiBs.+vSize :: Lens' Volume Int+vSize = lens _vSize (\ s a -> s{_vSize = a});++-- | The snapshot from which the volume was created, if applicable.+vSnapshotId :: Lens' Volume Text+vSnapshotId = lens _vSnapshotId (\ s a -> s{_vSnapshotId = a});++-- | The volume state.+vState :: Lens' Volume VolumeState+vState = lens _vState (\ s a -> s{_vState = a});++-- | The ID of the volume.+vVolumeId :: Lens' Volume Text+vVolumeId = lens _vVolumeId (\ s a -> s{_vVolumeId = a});++-- | The volume type. This can be 'gp2' for General Purpose (SSD) volumes,+-- 'io1' for Provisioned IOPS (SSD) volumes, or 'standard' for Magnetic+-- volumes.+vVolumeType :: Lens' Volume VolumeType+vVolumeType = lens _vVolumeType (\ s a -> s{_vVolumeType = a});++instance FromXML Volume where+        parseXML x+          = Volume' <$>+              (x .@? "attachmentSet" .!@ mempty >>=+                 may (parseXMLList "item"))+                <*> (x .@? "iops")+                <*> (x .@? "kmsKeyId")+                <*>+                (x .@? "tagSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@ "availabilityZone")+                <*> (x .@ "createTime")+                <*> (x .@ "encrypted")+                <*> (x .@ "size")+                <*> (x .@ "snapshotId")+                <*> (x .@ "status")+                <*> (x .@ "volumeId")+                <*> (x .@ "volumeType")++-- | Describes volume attachment details.+--+-- /See:/ 'volumeAttachment' smart constructor.+data VolumeAttachment = VolumeAttachment'+    { _volInstanceId          :: !(Maybe Text)+    , _volDeleteOnTermination :: !(Maybe Bool)+    , _volState               :: !(Maybe VolumeAttachmentState)+    , _volDevice              :: !(Maybe Text)+    , _volVolumeId            :: !(Maybe Text)+    , _volAttachTime          :: !(Maybe ISO8601)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'volInstanceId'+--+-- * 'volDeleteOnTermination'+--+-- * 'volState'+--+-- * 'volDevice'+--+-- * 'volVolumeId'+--+-- * 'volAttachTime'+volumeAttachment+    :: VolumeAttachment+volumeAttachment =+    VolumeAttachment'+    { _volInstanceId = Nothing+    , _volDeleteOnTermination = Nothing+    , _volState = Nothing+    , _volDevice = Nothing+    , _volVolumeId = Nothing+    , _volAttachTime = Nothing+    }++-- | The ID of the instance.+volInstanceId :: Lens' VolumeAttachment (Maybe Text)+volInstanceId = lens _volInstanceId (\ s a -> s{_volInstanceId = a});++-- | Indicates whether the EBS volume is deleted on instance termination.+volDeleteOnTermination :: Lens' VolumeAttachment (Maybe Bool)+volDeleteOnTermination = lens _volDeleteOnTermination (\ s a -> s{_volDeleteOnTermination = a});++-- | The attachment state of the volume.+volState :: Lens' VolumeAttachment (Maybe VolumeAttachmentState)+volState = lens _volState (\ s a -> s{_volState = a});++-- | The device name.+volDevice :: Lens' VolumeAttachment (Maybe Text)+volDevice = lens _volDevice (\ s a -> s{_volDevice = a});++-- | The ID of the volume.+volVolumeId :: Lens' VolumeAttachment (Maybe Text)+volVolumeId = lens _volVolumeId (\ s a -> s{_volVolumeId = a});++-- | The time stamp when the attachment initiated.+volAttachTime :: Lens' VolumeAttachment (Maybe UTCTime)+volAttachTime = lens _volAttachTime (\ s a -> s{_volAttachTime = a}) . mapping _Time;++instance FromXML VolumeAttachment where+        parseXML x+          = VolumeAttachment' <$>+              (x .@? "instanceId") <*>+                (x .@? "deleteOnTermination")+                <*> (x .@? "status")+                <*> (x .@? "device")+                <*> (x .@? "volumeId")+                <*> (x .@? "attachTime")++-- | Describes an EBS volume.+--+-- /See:/ 'volumeDetail' smart constructor.+newtype VolumeDetail = VolumeDetail'+    { _vdSize :: Integer+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vdSize'+volumeDetail+    :: Integer -- ^ 'vdSize'+    -> VolumeDetail+volumeDetail pSize_ =+    VolumeDetail'+    { _vdSize = pSize_+    }++-- | The size of the volume, in GiB.+vdSize :: Lens' VolumeDetail Integer+vdSize = lens _vdSize (\ s a -> s{_vdSize = a});++instance ToQuery VolumeDetail where+        toQuery VolumeDetail'{..}+          = mconcat ["Size" =: _vdSize]++-- | Describes a volume status operation code.+--+-- /See:/ 'volumeStatusAction' smart constructor.+data VolumeStatusAction = VolumeStatusAction'+    { _vsaEventType   :: !(Maybe Text)+    , _vsaCode        :: !(Maybe Text)+    , _vsaDescription :: !(Maybe Text)+    , _vsaEventId     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeStatusAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsaEventType'+--+-- * 'vsaCode'+--+-- * 'vsaDescription'+--+-- * 'vsaEventId'+volumeStatusAction+    :: VolumeStatusAction+volumeStatusAction =+    VolumeStatusAction'+    { _vsaEventType = Nothing+    , _vsaCode = Nothing+    , _vsaDescription = Nothing+    , _vsaEventId = Nothing+    }++-- | The event type associated with this operation.+vsaEventType :: Lens' VolumeStatusAction (Maybe Text)+vsaEventType = lens _vsaEventType (\ s a -> s{_vsaEventType = a});++-- | The code identifying the operation, for example, 'enable-volume-io'.+vsaCode :: Lens' VolumeStatusAction (Maybe Text)+vsaCode = lens _vsaCode (\ s a -> s{_vsaCode = a});++-- | A description of the operation.+vsaDescription :: Lens' VolumeStatusAction (Maybe Text)+vsaDescription = lens _vsaDescription (\ s a -> s{_vsaDescription = a});++-- | The ID of the event associated with this operation.+vsaEventId :: Lens' VolumeStatusAction (Maybe Text)+vsaEventId = lens _vsaEventId (\ s a -> s{_vsaEventId = a});++instance FromXML VolumeStatusAction where+        parseXML x+          = VolumeStatusAction' <$>+              (x .@? "eventType") <*> (x .@? "code") <*>+                (x .@? "description")+                <*> (x .@? "eventId")++-- | Describes a volume status.+--+-- /See:/ 'volumeStatusDetails' smart constructor.+data VolumeStatusDetails = VolumeStatusDetails'+    { _vsdStatus :: !(Maybe Text)+    , _vsdName   :: !(Maybe VolumeStatusName)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeStatusDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsdStatus'+--+-- * 'vsdName'+volumeStatusDetails+    :: VolumeStatusDetails+volumeStatusDetails =+    VolumeStatusDetails'+    { _vsdStatus = Nothing+    , _vsdName = Nothing+    }++-- | The intended status of the volume status.+vsdStatus :: Lens' VolumeStatusDetails (Maybe Text)+vsdStatus = lens _vsdStatus (\ s a -> s{_vsdStatus = a});++-- | The name of the volume status.+vsdName :: Lens' VolumeStatusDetails (Maybe VolumeStatusName)+vsdName = lens _vsdName (\ s a -> s{_vsdName = a});++instance FromXML VolumeStatusDetails where+        parseXML x+          = VolumeStatusDetails' <$>+              (x .@? "status") <*> (x .@? "name")++-- | Describes a volume status event.+--+-- /See:/ 'volumeStatusEvent' smart constructor.+data VolumeStatusEvent = VolumeStatusEvent'+    { _vseNotBefore   :: !(Maybe ISO8601)+    , _vseEventType   :: !(Maybe Text)+    , _vseDescription :: !(Maybe Text)+    , _vseNotAfter    :: !(Maybe ISO8601)+    , _vseEventId     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeStatusEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vseNotBefore'+--+-- * 'vseEventType'+--+-- * 'vseDescription'+--+-- * 'vseNotAfter'+--+-- * 'vseEventId'+volumeStatusEvent+    :: VolumeStatusEvent+volumeStatusEvent =+    VolumeStatusEvent'+    { _vseNotBefore = Nothing+    , _vseEventType = Nothing+    , _vseDescription = Nothing+    , _vseNotAfter = Nothing+    , _vseEventId = Nothing+    }++-- | The earliest start time of the event.+vseNotBefore :: Lens' VolumeStatusEvent (Maybe UTCTime)+vseNotBefore = lens _vseNotBefore (\ s a -> s{_vseNotBefore = a}) . mapping _Time;++-- | The type of this event.+vseEventType :: Lens' VolumeStatusEvent (Maybe Text)+vseEventType = lens _vseEventType (\ s a -> s{_vseEventType = a});++-- | A description of the event.+vseDescription :: Lens' VolumeStatusEvent (Maybe Text)+vseDescription = lens _vseDescription (\ s a -> s{_vseDescription = a});++-- | The latest end time of the event.+vseNotAfter :: Lens' VolumeStatusEvent (Maybe UTCTime)+vseNotAfter = lens _vseNotAfter (\ s a -> s{_vseNotAfter = a}) . mapping _Time;++-- | The ID of this event.+vseEventId :: Lens' VolumeStatusEvent (Maybe Text)+vseEventId = lens _vseEventId (\ s a -> s{_vseEventId = a});++instance FromXML VolumeStatusEvent where+        parseXML x+          = VolumeStatusEvent' <$>+              (x .@? "notBefore") <*> (x .@? "eventType") <*>+                (x .@? "description")+                <*> (x .@? "notAfter")+                <*> (x .@? "eventId")++-- | Describes the status of a volume.+--+-- /See:/ 'volumeStatusInfo' smart constructor.+data VolumeStatusInfo = VolumeStatusInfo'+    { _vsiStatus  :: !(Maybe VolumeStatusInfoStatus)+    , _vsiDetails :: !(Maybe [VolumeStatusDetails])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeStatusInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsiStatus'+--+-- * 'vsiDetails'+volumeStatusInfo+    :: VolumeStatusInfo+volumeStatusInfo =+    VolumeStatusInfo'+    { _vsiStatus = Nothing+    , _vsiDetails = Nothing+    }++-- | The status of the volume.+vsiStatus :: Lens' VolumeStatusInfo (Maybe VolumeStatusInfoStatus)+vsiStatus = lens _vsiStatus (\ s a -> s{_vsiStatus = a});++-- | The details of the volume status.+vsiDetails :: Lens' VolumeStatusInfo [VolumeStatusDetails]+vsiDetails = lens _vsiDetails (\ s a -> s{_vsiDetails = a}) . _Default . _Coerce;++instance FromXML VolumeStatusInfo where+        parseXML x+          = VolumeStatusInfo' <$>+              (x .@? "status") <*>+                (x .@? "details" .!@ mempty >>=+                   may (parseXMLList "item"))++-- | Describes the volume status.+--+-- /See:/ 'volumeStatusItem' smart constructor.+data VolumeStatusItem = VolumeStatusItem'+    { _vsiVolumeStatus     :: !(Maybe VolumeStatusInfo)+    , _vsiActions          :: !(Maybe [VolumeStatusAction])+    , _vsiEvents           :: !(Maybe [VolumeStatusEvent])+    , _vsiAvailabilityZone :: !(Maybe Text)+    , _vsiVolumeId         :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeStatusItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsiVolumeStatus'+--+-- * 'vsiActions'+--+-- * 'vsiEvents'+--+-- * 'vsiAvailabilityZone'+--+-- * 'vsiVolumeId'+volumeStatusItem+    :: VolumeStatusItem+volumeStatusItem =+    VolumeStatusItem'+    { _vsiVolumeStatus = Nothing+    , _vsiActions = Nothing+    , _vsiEvents = Nothing+    , _vsiAvailabilityZone = Nothing+    , _vsiVolumeId = Nothing+    }++-- | The volume status.+vsiVolumeStatus :: Lens' VolumeStatusItem (Maybe VolumeStatusInfo)+vsiVolumeStatus = lens _vsiVolumeStatus (\ s a -> s{_vsiVolumeStatus = a});++-- | The details of the operation.+vsiActions :: Lens' VolumeStatusItem [VolumeStatusAction]+vsiActions = lens _vsiActions (\ s a -> s{_vsiActions = a}) . _Default . _Coerce;++-- | A list of events associated with the volume.+vsiEvents :: Lens' VolumeStatusItem [VolumeStatusEvent]+vsiEvents = lens _vsiEvents (\ s a -> s{_vsiEvents = a}) . _Default . _Coerce;++-- | The Availability Zone of the volume.+vsiAvailabilityZone :: Lens' VolumeStatusItem (Maybe Text)+vsiAvailabilityZone = lens _vsiAvailabilityZone (\ s a -> s{_vsiAvailabilityZone = a});++-- | The volume ID.+vsiVolumeId :: Lens' VolumeStatusItem (Maybe Text)+vsiVolumeId = lens _vsiVolumeId (\ s a -> s{_vsiVolumeId = a});++instance FromXML VolumeStatusItem where+        parseXML x+          = VolumeStatusItem' <$>+              (x .@? "volumeStatus") <*>+                (x .@? "actionsSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*>+                (x .@? "eventsSet" .!@ mempty >>=+                   may (parseXMLList "item"))+                <*> (x .@? "availabilityZone")                 <*> (x .@? "volumeId")
gen/Network/AWS/EC2/Types/Sum.hs view
@@ -1271,19 +1271,41 @@ instance FromXML OfferingTypeValues where     parseXML = parseXMLText "OfferingTypeValues" +data OperationType+    = Add+    | Remove+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText OperationType where+    parser = takeLowerText >>= \case+        "add" -> pure Add+        "remove" -> pure Remove+        e -> fromTextError $ "Failure parsing OperationType from value: '" <> e+           <> "'. Accepted values: add, remove"++instance ToText OperationType where+    toText = \case+        Add -> "add"+        Remove -> "remove"++instance Hashable     OperationType+instance ToByteString OperationType+instance ToQuery      OperationType+instance ToHeader     OperationType+ data PermissionGroup =-    PGAll+    All     deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)  instance FromText PermissionGroup where     parser = takeLowerText >>= \case-        "all" -> pure PGAll+        "all" -> pure All         e -> fromTextError $ "Failure parsing PermissionGroup from value: '" <> e            <> "'. Accepted values: all"  instance ToText PermissionGroup where     toText = \case-        PGAll -> "all"+        All -> "all"  instance Hashable     PermissionGroup instance ToByteString PermissionGroup@@ -1294,27 +1316,27 @@     parseXML = parseXMLText "PermissionGroup"  data PlacementGroupState-    = PGSAvailable-    | PGSDeleted-    | PGSDeleting-    | PGSPending+    = Available+    | Deleted+    | Deleting+    | Pending     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+        "available" -> pure Available+        "deleted" -> pure Deleted+        "deleting" -> pure Deleting+        "pending" -> pure Pending         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"+        Available -> "available"+        Deleted -> "deleted"+        Deleting -> "deleting"+        Pending -> "pending"  instance Hashable     PlacementGroupState instance ToByteString PlacementGroupState@@ -1347,18 +1369,18 @@     parseXML = parseXMLText "PlacementStrategy"  data PlatformValues =-    PVWindows+    Windows     deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)  instance FromText PlatformValues where     parser = takeLowerText >>= \case-        "windows" -> pure PVWindows+        "windows" -> pure Windows         e -> fromTextError $ "Failure parsing PlatformValues from value: '" <> e            <> "'. Accepted values: Windows"  instance ToText PlatformValues where     toText = \case-        PVWindows -> "Windows"+        Windows -> "Windows"  instance Hashable     PlatformValues instance ToByteString PlatformValues@@ -1394,27 +1416,27 @@     parseXML = parseXMLText "ProductCodeValues"  data RIProductDescription-    = LinuxUnix-    | LinuxUnixAmazonVPC-    | Windows-    | WindowsAmazonVPC+    = RIDLinuxUnix+    | RIDLinuxUnixAmazonVPC+    | RIDWindows+    | RIDWindowsAmazonVPC     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+        "linux/unix" -> pure RIDLinuxUnix+        "linux/unix (amazon vpc)" -> pure RIDLinuxUnixAmazonVPC+        "windows" -> pure RIDWindows+        "windows (amazon vpc)" -> pure RIDWindowsAmazonVPC         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)"+        RIDLinuxUnix -> "Linux/UNIX"+        RIDLinuxUnixAmazonVPC -> "Linux/UNIX (Amazon VPC)"+        RIDWindows -> "Windows"+        RIDWindowsAmazonVPC -> "Windows (Amazon VPC)"  instance Hashable     RIProductDescription instance ToByteString RIProductDescription@@ -1490,21 +1512,21 @@ instance ToHeader     ReportInstanceReasonCodes  data ReportStatusType-    = Impaired-    | OK+    = RSTImpaired+    | RSTOK     deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)  instance FromText ReportStatusType where     parser = takeLowerText >>= \case-        "impaired" -> pure Impaired-        "ok" -> pure OK+        "impaired" -> pure RSTImpaired+        "ok" -> pure RSTOK         e -> fromTextError $ "Failure parsing ReportStatusType from value: '" <> e            <> "'. Accepted values: impaired, ok"  instance ToText ReportStatusType where     toText = \case-        Impaired -> "impaired"-        OK -> "ok"+        RSTImpaired -> "impaired"+        RSTOK -> "ok"  instance Hashable     ReportStatusType instance ToByteString ReportStatusType@@ -1841,27 +1863,27 @@     parseXML = parseXMLText "SpotInstanceType"  data State-    = Available-    | Deleted-    | Deleting-    | Pending+    = SAvailable+    | SDeleted+    | SDeleting+    | SPending     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+        "available" -> pure SAvailable+        "deleted" -> pure SDeleted+        "deleting" -> pure SDeleting+        "pending" -> pure SPending         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"+        SAvailable -> "Available"+        SDeleted -> "Deleted"+        SDeleting -> "Deleting"+        SPending -> "Pending"  instance Hashable     State instance ToByteString State@@ -1894,27 +1916,27 @@     parseXML = parseXMLText "StatusName"  data StatusType-    = Failed-    | Initializing-    | InsufficientData-    | Passed+    = STFailed+    | STInitializing+    | STInsufficientData+    | STPassed     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+        "failed" -> pure STFailed+        "initializing" -> pure STInitializing+        "insufficient-data" -> pure STInsufficientData+        "passed" -> pure STPassed         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"+        STFailed -> "failed"+        STInitializing -> "initializing"+        STInsufficientData -> "insufficient-data"+        STPassed -> "passed"  instance Hashable     StatusType instance ToByteString StatusType@@ -1925,21 +1947,21 @@     parseXML = parseXMLText "StatusType"  data SubnetState-    = SAvailable-    | SPending+    = SubAvailable+    | SubPending     deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)  instance FromText SubnetState where     parser = takeLowerText >>= \case-        "available" -> pure SAvailable-        "pending" -> pure SPending+        "available" -> pure SubAvailable+        "pending" -> pure SubPending         e -> fromTextError $ "Failure parsing SubnetState from value: '" <> e            <> "'. Accepted values: available, pending"  instance ToText SubnetState where     toText = \case-        SAvailable -> "available"-        SPending -> "pending"+        SubAvailable -> "available"+        SubPending -> "pending"  instance Hashable     SubnetState instance ToByteString SubnetState@@ -2034,24 +2056,24 @@     parseXML = parseXMLText "Tenancy"  data TrafficType-    = Accept-    | All-    | Reject+    = TTAccept+    | TTAll+    | TTReject     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+        "accept" -> pure TTAccept+        "all" -> pure TTAll+        "reject" -> pure TTReject         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"+        TTAccept -> "ACCEPT"+        TTAll -> "ALL"+        TTReject -> "REJECT"  instance Hashable     TrafficType instance ToByteString TrafficType@@ -2323,24 +2345,24 @@     parseXML = parseXMLText "VolumeState"  data VolumeStatusInfoStatus-    = VSISImpaired-    | VSISInsufficientData-    | VSISOK+    = Impaired+    | InsufficientData+    | OK     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+        "impaired" -> pure Impaired+        "insufficient-data" -> pure InsufficientData+        "ok" -> pure OK         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"+        Impaired -> "impaired"+        InsufficientData -> "insufficient-data"+        OK -> "ok"  instance Hashable     VolumeStatusInfoStatus instance ToByteString VolumeStatusInfoStatus
gen/Network/AWS/EC2/UnmonitorInstances.hs view
@@ -38,7 +38,7 @@     , UnmonitorInstancesResponse     -- * Response Lenses     , uirsInstanceMonitorings-    , uirsStatus+    , uirsResponseStatus     ) where  import           Network.AWS.EC2.Types@@ -108,7 +108,7 @@ -- | /See:/ 'unmonitorInstancesResponse' smart constructor. data UnmonitorInstancesResponse = UnmonitorInstancesResponse'     { _uirsInstanceMonitorings :: !(Maybe [InstanceMonitoring])-    , _uirsStatus              :: !Int+    , _uirsResponseStatus      :: !Int     } deriving (Eq,Read,Show,Data,Typeable,Generic)  -- | Creates a value of 'UnmonitorInstancesResponse' with the minimum fields required to make a request.@@ -117,14 +117,14 @@ -- -- * 'uirsInstanceMonitorings' ----- * 'uirsStatus'+-- * 'uirsResponseStatus' unmonitorInstancesResponse-    :: Int -- ^ 'uirsStatus'+    :: Int -- ^ 'uirsResponseStatus'     -> UnmonitorInstancesResponse-unmonitorInstancesResponse pStatus_ =+unmonitorInstancesResponse pResponseStatus_ =     UnmonitorInstancesResponse'     { _uirsInstanceMonitorings = Nothing-    , _uirsStatus = pStatus_+    , _uirsResponseStatus = pResponseStatus_     }  -- | Monitoring information for one or more instances.@@ -132,5 +132,5 @@ uirsInstanceMonitorings = lens _uirsInstanceMonitorings (\ s a -> s{_uirsInstanceMonitorings = a}) . _Default . _Coerce;  -- | The response status code.-uirsStatus :: Lens' UnmonitorInstancesResponse Int-uirsStatus = lens _uirsStatus (\ s a -> s{_uirsStatus = a});+uirsResponseStatus :: Lens' UnmonitorInstancesResponse Int+uirsResponseStatus = lens _uirsResponseStatus (\ s a -> s{_uirsResponseStatus = a});
gen/Network/AWS/EC2/Waiters.hs view
@@ -171,21 +171,6 @@                               ctState . to toTextCI)]     } --- | 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)]-    }- -- | 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@@ -214,6 +199,21 @@                               insState . isName . to toTextCI)]     } +-- | 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)]+    }+ -- | 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@@ -297,34 +297,34 @@                               sirStatus . _Just . sisCode . _Just . to toTextCI)]     } --- | Polls 'Network.AWS.EC2.DescribeExportTasks' every 15 seconds until a+-- | Polls 'Network.AWS.EC2.DescribeVPCs' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks.-exportTaskCompleted :: Wait DescribeExportTasks-exportTaskCompleted =+vpcAvailable :: Wait DescribeVPCs+vpcAvailable =     Wait-    { _waitName = "ExportTaskCompleted"+    { _waitName = "VpcAvailable"     , _waitAttempts = 40     , _waitDelay = 15     , _waitAcceptors = [ matchAll-                             "completed"+                             "available"                              AcceptSuccess-                             (folding (concatOf detrsExportTasks) .-                              etState . to toTextCI)]+                             (folding (concatOf dvrsVPCs) .+                              vpcState . to toTextCI)]     } --- | Polls 'Network.AWS.EC2.DescribeVPCs' every 15 seconds until a+-- | Polls 'Network.AWS.EC2.DescribeExportTasks' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks.-vpcAvailable :: Wait DescribeVPCs-vpcAvailable =+exportTaskCompleted :: Wait DescribeExportTasks+exportTaskCompleted =     Wait-    { _waitName = "VpcAvailable"+    { _waitName = "ExportTaskCompleted"     , _waitAttempts = 40     , _waitDelay = 15     , _waitAcceptors = [ matchAll-                             "available"+                             "completed"                              AcceptSuccess-                             (folding (concatOf dvrsVPCs) .-                              vpcState . to toTextCI)]+                             (folding (concatOf detrsExportTasks) .+                              etState . to toTextCI)]     }  -- | Polls 'Network.AWS.EC2.DescribeVPNConnections' every 15 seconds until a@@ -423,6 +423,21 @@                               vcState . to toTextCI)]     } +-- | 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)]+    }+ -- | 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@@ -443,19 +458,19 @@                               iState . to toTextCI)]     } --- | Polls 'Network.AWS.EC2.DescribeConversionTasks' every 15 seconds until a+-- | Polls 'Network.AWS.EC2.DescribeSnapshots' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks.-conversionTaskCancelled :: Wait DescribeConversionTasks-conversionTaskCancelled =+snapshotCompleted :: Wait DescribeSnapshots+snapshotCompleted =     Wait-    { _waitName = "ConversionTaskCancelled"+    { _waitName = "SnapshotCompleted"     , _waitAttempts = 40     , _waitDelay = 15     , _waitAcceptors = [ matchAll-                             "cancelled"+                             "completed"                              AcceptSuccess-                             (folding (concatOf dctrsConversionTasks) .-                              ctState . to toTextCI)]+                             (folding (concatOf dssrsSnapshots) .+                              sState . to toTextCI)]     }  -- | Polls 'Network.AWS.EC2.DescribeInstances' every 5 seconds until a@@ -470,6 +485,22 @@                        , matchError "InvalidInstanceIDNotFound" AcceptRetry]     } +-- | 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)]+    }+ -- | 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@@ -488,35 +519,4 @@                              AcceptFailure                              (folding (concatOf dvvrsVolumes) .                               vState . to toTextCI)]-    }---- | 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)]-    }---- | 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)]     }
test/Test/AWS/EC2.hs view
@@ -73,7 +73,7 @@                             (monitoring & mState ?~ MSDisabled)                             X86_64 EBS HVM Xen                             (instanceState ISNRunning 16)-                                & insPlatform            ?~ PVWindows+                                & insPlatform            ?~ Windows                                 & insClientToken         ?~ "ABCDE1234567890123"                                 & insSourceDestCheck     ?~ True                                 & insVPCId               ?~ "vpc-1a2b3c4d"
test/Test/AWS/Gen/EC2.hs view
@@ -28,3288 +28,3288 @@ -- 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.yaml"--testDeleteVPCEndpoints :: DeleteVPCEndpoints -> TestTree-testDeleteVPCEndpoints = req-    "DeleteVPCEndpoints"-    "fixture/DeleteVPCEndpoints.yaml"--testDeleteKeyPair :: DeleteKeyPair -> TestTree-testDeleteKeyPair = req-    "DeleteKeyPair"-    "fixture/DeleteKeyPair.yaml"--testDeleteFlowLogs :: DeleteFlowLogs -> TestTree-testDeleteFlowLogs = req-    "DeleteFlowLogs"-    "fixture/DeleteFlowLogs.yaml"--testDescribeTags :: DescribeTags -> TestTree-testDescribeTags = req-    "DescribeTags"-    "fixture/DescribeTags.yaml"--testRevokeSecurityGroupEgress :: RevokeSecurityGroupEgress -> TestTree-testRevokeSecurityGroupEgress = req-    "RevokeSecurityGroupEgress"-    "fixture/RevokeSecurityGroupEgress.yaml"--testCreateVPNGateway :: CreateVPNGateway -> TestTree-testCreateVPNGateway = req-    "CreateVPNGateway"-    "fixture/CreateVPNGateway.yaml"--testDetachInternetGateway :: DetachInternetGateway -> TestTree-testDetachInternetGateway = req-    "DetachInternetGateway"-    "fixture/DetachInternetGateway.yaml"--testCreateNetworkACL :: CreateNetworkACL -> TestTree-testCreateNetworkACL = req-    "CreateNetworkACL"-    "fixture/CreateNetworkACL.yaml"--testImportInstance :: ImportInstance -> TestTree-testImportInstance = req-    "ImportInstance"-    "fixture/ImportInstance.yaml"--testDescribeVPCClassicLink :: DescribeVPCClassicLink -> TestTree-testDescribeVPCClassicLink = req-    "DescribeVPCClassicLink"-    "fixture/DescribeVPCClassicLink.yaml"--testDeleteVPNConnection :: DeleteVPNConnection -> TestTree-testDeleteVPNConnection = req-    "DeleteVPNConnection"-    "fixture/DeleteVPNConnection.yaml"--testAuthorizeSecurityGroupEgress :: AuthorizeSecurityGroupEgress -> TestTree-testAuthorizeSecurityGroupEgress = req-    "AuthorizeSecurityGroupEgress"-    "fixture/AuthorizeSecurityGroupEgress.yaml"--testDescribeBundleTasks :: DescribeBundleTasks -> TestTree-testDescribeBundleTasks = req-    "DescribeBundleTasks"-    "fixture/DescribeBundleTasks.yaml"--testCreateInternetGateway :: CreateInternetGateway -> TestTree-testCreateInternetGateway = req-    "CreateInternetGateway"-    "fixture/CreateInternetGateway.yaml"--testReleaseAddress :: ReleaseAddress -> TestTree-testReleaseAddress = req-    "ReleaseAddress"-    "fixture/ReleaseAddress.yaml"--testCancelBundleTask :: CancelBundleTask -> TestTree-testCancelBundleTask = req-    "CancelBundleTask"-    "fixture/CancelBundleTask.yaml"--testModifyNetworkInterfaceAttribute :: ModifyNetworkInterfaceAttribute -> TestTree-testModifyNetworkInterfaceAttribute = req-    "ModifyNetworkInterfaceAttribute"-    "fixture/ModifyNetworkInterfaceAttribute.yaml"--testModifySubnetAttribute :: ModifySubnetAttribute -> TestTree-testModifySubnetAttribute = req-    "ModifySubnetAttribute"-    "fixture/ModifySubnetAttribute.yaml"--testDeregisterImage :: DeregisterImage -> TestTree-testDeregisterImage = req-    "DeregisterImage"-    "fixture/DeregisterImage.yaml"--testDetachVolume :: DetachVolume -> TestTree-testDetachVolume = req-    "DetachVolume"-    "fixture/DetachVolume.yaml"--testCancelReservedInstancesListing :: CancelReservedInstancesListing -> TestTree-testCancelReservedInstancesListing = req-    "CancelReservedInstancesListing"-    "fixture/CancelReservedInstancesListing.yaml"--testAttachClassicLinkVPC :: AttachClassicLinkVPC -> TestTree-testAttachClassicLinkVPC = req-    "AttachClassicLinkVPC"-    "fixture/AttachClassicLinkVPC.yaml"--testCancelSpotFleetRequests :: CancelSpotFleetRequests -> TestTree-testCancelSpotFleetRequests = req-    "CancelSpotFleetRequests"-    "fixture/CancelSpotFleetRequests.yaml"--testDescribeDHCPOptions :: DescribeDHCPOptions -> TestTree-testDescribeDHCPOptions = req-    "DescribeDHCPOptions"-    "fixture/DescribeDHCPOptions.yaml"--testDescribeSpotPriceHistory :: DescribeSpotPriceHistory -> TestTree-testDescribeSpotPriceHistory = req-    "DescribeSpotPriceHistory"-    "fixture/DescribeSpotPriceHistory.yaml"--testStopInstances :: StopInstances -> TestTree-testStopInstances = req-    "StopInstances"-    "fixture/StopInstances.yaml"--testImportImage :: ImportImage -> TestTree-testImportImage = req-    "ImportImage"-    "fixture/ImportImage.yaml"--testDeleteNetworkACLEntry :: DeleteNetworkACLEntry -> TestTree-testDeleteNetworkACLEntry = req-    "DeleteNetworkACLEntry"-    "fixture/DeleteNetworkACLEntry.yaml"--testDisableVPCClassicLink :: DisableVPCClassicLink -> TestTree-testDisableVPCClassicLink = req-    "DisableVPCClassicLink"-    "fixture/DisableVPCClassicLink.yaml"--testAuthorizeSecurityGroupIngress :: AuthorizeSecurityGroupIngress -> TestTree-testAuthorizeSecurityGroupIngress = req-    "AuthorizeSecurityGroupIngress"-    "fixture/AuthorizeSecurityGroupIngress.yaml"--testBundleInstance :: BundleInstance -> TestTree-testBundleInstance = req-    "BundleInstance"-    "fixture/BundleInstance.yaml"--testDescribeVPCEndpointServices :: DescribeVPCEndpointServices -> TestTree-testDescribeVPCEndpointServices = req-    "DescribeVPCEndpointServices"-    "fixture/DescribeVPCEndpointServices.yaml"--testReplaceNetworkACLAssociation :: ReplaceNetworkACLAssociation -> TestTree-testReplaceNetworkACLAssociation = req-    "ReplaceNetworkACLAssociation"-    "fixture/ReplaceNetworkACLAssociation.yaml"--testCreateVPCPeeringConnection :: CreateVPCPeeringConnection -> TestTree-testCreateVPCPeeringConnection = req-    "CreateVPCPeeringConnection"-    "fixture/CreateVPCPeeringConnection.yaml"--testResetSnapshotAttribute :: ResetSnapshotAttribute -> TestTree-testResetSnapshotAttribute = req-    "ResetSnapshotAttribute"-    "fixture/ResetSnapshotAttribute.yaml"--testDescribeAddresses :: DescribeAddresses -> TestTree-testDescribeAddresses = req-    "DescribeAddresses"-    "fixture/DescribeAddresses.yaml"--testDescribeInternetGateways :: DescribeInternetGateways -> TestTree-testDescribeInternetGateways = req-    "DescribeInternetGateways"-    "fixture/DescribeInternetGateways.yaml"--testReplaceRoute :: ReplaceRoute -> TestTree-testReplaceRoute = req-    "ReplaceRoute"-    "fixture/ReplaceRoute.yaml"--testCreateTags :: CreateTags -> TestTree-testCreateTags = req-    "CreateTags"-    "fixture/CreateTags.yaml"--testDescribeSubnets :: DescribeSubnets -> TestTree-testDescribeSubnets = req-    "DescribeSubnets"-    "fixture/DescribeSubnets.yaml"--testDescribeNetworkInterfaces :: DescribeNetworkInterfaces -> TestTree-testDescribeNetworkInterfaces = req-    "DescribeNetworkInterfaces"-    "fixture/DescribeNetworkInterfaces.yaml"--testPurchaseReservedInstancesOffering :: PurchaseReservedInstancesOffering -> TestTree-testPurchaseReservedInstancesOffering = req-    "PurchaseReservedInstancesOffering"-    "fixture/PurchaseReservedInstancesOffering.yaml"--testDescribeSnapshotAttribute :: DescribeSnapshotAttribute -> TestTree-testDescribeSnapshotAttribute = req-    "DescribeSnapshotAttribute"-    "fixture/DescribeSnapshotAttribute.yaml"--testCreateCustomerGateway :: CreateCustomerGateway -> TestTree-testCreateCustomerGateway = req-    "CreateCustomerGateway"-    "fixture/CreateCustomerGateway.yaml"--testAttachInternetGateway :: AttachInternetGateway -> TestTree-testAttachInternetGateway = req-    "AttachInternetGateway"-    "fixture/AttachInternetGateway.yaml"--testDeleteTags :: DeleteTags -> TestTree-testDeleteTags = req-    "DeleteTags"-    "fixture/DeleteTags.yaml"--testReplaceNetworkACLEntry :: ReplaceNetworkACLEntry -> TestTree-testReplaceNetworkACLEntry = req-    "ReplaceNetworkACLEntry"-    "fixture/ReplaceNetworkACLEntry.yaml"--testResetInstanceAttribute :: ResetInstanceAttribute -> TestTree-testResetInstanceAttribute = req-    "ResetInstanceAttribute"-    "fixture/ResetInstanceAttribute.yaml"--testDeleteRoute :: DeleteRoute -> TestTree-testDeleteRoute = req-    "DeleteRoute"-    "fixture/DeleteRoute.yaml"--testDescribeVPNConnections :: DescribeVPNConnections -> TestTree-testDescribeVPNConnections = req-    "DescribeVPNConnections"-    "fixture/DescribeVPNConnections.yaml"--testDescribeFlowLogs :: DescribeFlowLogs -> TestTree-testDescribeFlowLogs = req-    "DescribeFlowLogs"-    "fixture/DescribeFlowLogs.yaml"--testDeleteSecurityGroup :: DeleteSecurityGroup -> TestTree-testDeleteSecurityGroup = req-    "DeleteSecurityGroup"-    "fixture/DeleteSecurityGroup.yaml"--testDescribeReservedInstancesOfferings :: DescribeReservedInstancesOfferings -> TestTree-testDescribeReservedInstancesOfferings = req-    "DescribeReservedInstancesOfferings"-    "fixture/DescribeReservedInstancesOfferings.yaml"--testDeleteVPCPeeringConnection :: DeleteVPCPeeringConnection -> TestTree-testDeleteVPCPeeringConnection = req-    "DeleteVPCPeeringConnection"-    "fixture/DeleteVPCPeeringConnection.yaml"--testDescribeVPCEndpoints :: DescribeVPCEndpoints -> TestTree-testDescribeVPCEndpoints = req-    "DescribeVPCEndpoints"-    "fixture/DescribeVPCEndpoints.yaml"--testDescribeInstanceAttribute :: DescribeInstanceAttribute -> TestTree-testDescribeInstanceAttribute = req-    "DescribeInstanceAttribute"-    "fixture/DescribeInstanceAttribute.yaml"--testConfirmProductInstance :: ConfirmProductInstance -> TestTree-testConfirmProductInstance = req-    "ConfirmProductInstance"-    "fixture/ConfirmProductInstance.yaml"--testImportKeyPair :: ImportKeyPair -> TestTree-testImportKeyPair = req-    "ImportKeyPair"-    "fixture/ImportKeyPair.yaml"--testAttachNetworkInterface :: AttachNetworkInterface -> TestTree-testAttachNetworkInterface = req-    "AttachNetworkInterface"-    "fixture/AttachNetworkInterface.yaml"--testDescribeInstanceStatus :: DescribeInstanceStatus -> TestTree-testDescribeInstanceStatus = req-    "DescribeInstanceStatus"-    "fixture/DescribeInstanceStatus.yaml"--testCancelConversionTask :: CancelConversionTask -> TestTree-testCancelConversionTask = req-    "CancelConversionTask"-    "fixture/CancelConversionTask.yaml"--testReportInstanceStatus :: ReportInstanceStatus -> TestTree-testReportInstanceStatus = req-    "ReportInstanceStatus"-    "fixture/ReportInstanceStatus.yaml"--testAssociateDHCPOptions :: AssociateDHCPOptions -> TestTree-testAssociateDHCPOptions = req-    "AssociateDHCPOptions"-    "fixture/AssociateDHCPOptions.yaml"--testDescribeVPCs :: DescribeVPCs -> TestTree-testDescribeVPCs = req-    "DescribeVPCs"-    "fixture/DescribeVPCs.yaml"--testRequestSpotInstances :: RequestSpotInstances -> TestTree-testRequestSpotInstances = req-    "RequestSpotInstances"-    "fixture/RequestSpotInstances.yaml"--testModifyImageAttribute :: ModifyImageAttribute -> TestTree-testModifyImageAttribute = req-    "ModifyImageAttribute"-    "fixture/ModifyImageAttribute.yaml"--testDescribeReservedInstances :: DescribeReservedInstances -> TestTree-testDescribeReservedInstances = req-    "DescribeReservedInstances"-    "fixture/DescribeReservedInstances.yaml"--testAllocateAddress :: AllocateAddress -> TestTree-testAllocateAddress = req-    "AllocateAddress"-    "fixture/AllocateAddress.yaml"--testRunInstances :: RunInstances -> TestTree-testRunInstances = req-    "RunInstances"-    "fixture/RunInstances.yaml"--testCreateRouteTable :: CreateRouteTable -> TestTree-testCreateRouteTable = req-    "CreateRouteTable"-    "fixture/CreateRouteTable.yaml"--testAttachVolume :: AttachVolume -> TestTree-testAttachVolume = req-    "AttachVolume"-    "fixture/AttachVolume.yaml"--testDescribeConversionTasks :: DescribeConversionTasks -> TestTree-testDescribeConversionTasks = req-    "DescribeConversionTasks"-    "fixture/DescribeConversionTasks.yaml"--testRejectVPCPeeringConnection :: RejectVPCPeeringConnection -> TestTree-testRejectVPCPeeringConnection = req-    "RejectVPCPeeringConnection"-    "fixture/RejectVPCPeeringConnection.yaml"--testRevokeSecurityGroupIngress :: RevokeSecurityGroupIngress -> TestTree-testRevokeSecurityGroupIngress = req-    "RevokeSecurityGroupIngress"-    "fixture/RevokeSecurityGroupIngress.yaml"--testDescribeVolumes :: DescribeVolumes -> TestTree-testDescribeVolumes = req-    "DescribeVolumes"-    "fixture/DescribeVolumes.yaml"--testDeleteVPNConnectionRoute :: DeleteVPNConnectionRoute -> TestTree-testDeleteVPNConnectionRoute = req-    "DeleteVPNConnectionRoute"-    "fixture/DeleteVPNConnectionRoute.yaml"--testModifyReservedInstances :: ModifyReservedInstances -> TestTree-testModifyReservedInstances = req-    "ModifyReservedInstances"-    "fixture/ModifyReservedInstances.yaml"--testRegisterImage :: RegisterImage -> TestTree-testRegisterImage = req-    "RegisterImage"-    "fixture/RegisterImage.yaml"--testModifyVPCEndpoint :: ModifyVPCEndpoint -> TestTree-testModifyVPCEndpoint = req-    "ModifyVPCEndpoint"-    "fixture/ModifyVPCEndpoint.yaml"--testDeleteVPNGateway :: DeleteVPNGateway -> TestTree-testDeleteVPNGateway = req-    "DeleteVPNGateway"-    "fixture/DeleteVPNGateway.yaml"--testCreateVPC :: CreateVPC -> TestTree-testCreateVPC = req-    "CreateVPC"-    "fixture/CreateVPC.yaml"--testDescribeMovingAddresses :: DescribeMovingAddresses -> TestTree-testDescribeMovingAddresses = req-    "DescribeMovingAddresses"-    "fixture/DescribeMovingAddresses.yaml"--testDescribeVolumeAttribute :: DescribeVolumeAttribute -> TestTree-testDescribeVolumeAttribute = req-    "DescribeVolumeAttribute"-    "fixture/DescribeVolumeAttribute.yaml"--testMoveAddressToVPC :: MoveAddressToVPC -> TestTree-testMoveAddressToVPC = req-    "MoveAddressToVPC"-    "fixture/MoveAddressToVPC.yaml"--testGetPasswordData :: GetPasswordData -> TestTree-testGetPasswordData = req-    "GetPasswordData"-    "fixture/GetPasswordData.yaml"--testCreateFlowLogs :: CreateFlowLogs -> TestTree-testCreateFlowLogs = req-    "CreateFlowLogs"-    "fixture/CreateFlowLogs.yaml"--testDescribeImportImageTasks :: DescribeImportImageTasks -> TestTree-testDescribeImportImageTasks = req-    "DescribeImportImageTasks"-    "fixture/DescribeImportImageTasks.yaml"--testDeleteNetworkACL :: DeleteNetworkACL -> TestTree-testDeleteNetworkACL = req-    "DeleteNetworkACL"-    "fixture/DeleteNetworkACL.yaml"--testDescribeSpotFleetRequests :: DescribeSpotFleetRequests -> TestTree-testDescribeSpotFleetRequests = req-    "DescribeSpotFleetRequests"-    "fixture/DescribeSpotFleetRequests.yaml"--testCopySnapshot :: CopySnapshot -> TestTree-testCopySnapshot = req-    "CopySnapshot"-    "fixture/CopySnapshot.yaml"--testModifyVolumeAttribute :: ModifyVolumeAttribute -> TestTree-testModifyVolumeAttribute = req-    "ModifyVolumeAttribute"-    "fixture/ModifyVolumeAttribute.yaml"--testDescribeVPCAttribute :: DescribeVPCAttribute -> TestTree-testDescribeVPCAttribute = req-    "DescribeVPCAttribute"-    "fixture/DescribeVPCAttribute.yaml"--testCreateVolume :: CreateVolume -> TestTree-testCreateVolume = req-    "CreateVolume"-    "fixture/CreateVolume.yaml"--testDisassociateAddress :: DisassociateAddress -> TestTree-testDisassociateAddress = req-    "DisassociateAddress"-    "fixture/DisassociateAddress.yaml"--testDeleteVPC :: DeleteVPC -> TestTree-testDeleteVPC = req-    "DeleteVPC"-    "fixture/DeleteVPC.yaml"--testDescribePrefixLists :: DescribePrefixLists -> TestTree-testDescribePrefixLists = req-    "DescribePrefixLists"-    "fixture/DescribePrefixLists.yaml"--testCreateInstanceExportTask :: CreateInstanceExportTask -> TestTree-testCreateInstanceExportTask = req-    "CreateInstanceExportTask"-    "fixture/CreateInstanceExportTask.yaml"--testDescribeSpotDatafeedSubscription :: DescribeSpotDatafeedSubscription -> TestTree-testDescribeSpotDatafeedSubscription = req-    "DescribeSpotDatafeedSubscription"-    "fixture/DescribeSpotDatafeedSubscription.yaml"--testDetachVPNGateway :: DetachVPNGateway -> TestTree-testDetachVPNGateway = req-    "DetachVPNGateway"-    "fixture/DetachVPNGateway.yaml"--testDescribeExportTasks :: DescribeExportTasks -> TestTree-testDescribeExportTasks = req-    "DescribeExportTasks"-    "fixture/DescribeExportTasks.yaml"--testDeletePlacementGroup :: DeletePlacementGroup -> TestTree-testDeletePlacementGroup = req-    "DeletePlacementGroup"-    "fixture/DeletePlacementGroup.yaml"--testCreateSubnet :: CreateSubnet -> TestTree-testCreateSubnet = req-    "CreateSubnet"-    "fixture/CreateSubnet.yaml"--testEnableVolumeIO :: EnableVolumeIO -> TestTree-testEnableVolumeIO = req-    "EnableVolumeIO"-    "fixture/EnableVolumeIO.yaml"--testCancelExportTask :: CancelExportTask -> TestTree-testCancelExportTask = req-    "CancelExportTask"-    "fixture/CancelExportTask.yaml"--testRequestSpotFleet :: RequestSpotFleet -> TestTree-testRequestSpotFleet = req-    "RequestSpotFleet"-    "fixture/RequestSpotFleet.yaml"--testDescribeInstances :: DescribeInstances -> TestTree-testDescribeInstances = req-    "DescribeInstances"-    "fixture/DescribeInstances.yaml"--testDescribeSecurityGroups :: DescribeSecurityGroups -> TestTree-testDescribeSecurityGroups = req-    "DescribeSecurityGroups"-    "fixture/DescribeSecurityGroups.yaml"--testDescribeVPCPeeringConnections :: DescribeVPCPeeringConnections -> TestTree-testDescribeVPCPeeringConnections = req-    "DescribeVPCPeeringConnections"-    "fixture/DescribeVPCPeeringConnections.yaml"--testCreateNetworkInterface :: CreateNetworkInterface -> TestTree-testCreateNetworkInterface = req-    "CreateNetworkInterface"-    "fixture/CreateNetworkInterface.yaml"--testAssociateAddress :: AssociateAddress -> TestTree-testAssociateAddress = req-    "AssociateAddress"-    "fixture/AssociateAddress.yaml"--testStartInstances :: StartInstances -> TestTree-testStartInstances = req-    "StartInstances"-    "fixture/StartInstances.yaml"--testDescribeCustomerGateways :: DescribeCustomerGateways -> TestTree-testDescribeCustomerGateways = req-    "DescribeCustomerGateways"-    "fixture/DescribeCustomerGateways.yaml"--testResetNetworkInterfaceAttribute :: ResetNetworkInterfaceAttribute -> TestTree-testResetNetworkInterfaceAttribute = req-    "ResetNetworkInterfaceAttribute"-    "fixture/ResetNetworkInterfaceAttribute.yaml"--testCreateVPNConnection :: CreateVPNConnection -> TestTree-testCreateVPNConnection = req-    "CreateVPNConnection"-    "fixture/CreateVPNConnection.yaml"--testDescribeSnapshots :: DescribeSnapshots -> TestTree-testDescribeSnapshots = req-    "DescribeSnapshots"-    "fixture/DescribeSnapshots.yaml"--testCreatePlacementGroup :: CreatePlacementGroup -> TestTree-testCreatePlacementGroup = req-    "CreatePlacementGroup"-    "fixture/CreatePlacementGroup.yaml"--testReplaceRouteTableAssociation :: ReplaceRouteTableAssociation -> TestTree-testReplaceRouteTableAssociation = req-    "ReplaceRouteTableAssociation"-    "fixture/ReplaceRouteTableAssociation.yaml"--testDescribeNetworkInterfaceAttribute :: DescribeNetworkInterfaceAttribute -> TestTree-testDescribeNetworkInterfaceAttribute = req-    "DescribeNetworkInterfaceAttribute"-    "fixture/DescribeNetworkInterfaceAttribute.yaml"--testDescribeReservedInstancesListings :: DescribeReservedInstancesListings -> TestTree-testDescribeReservedInstancesListings = req-    "DescribeReservedInstancesListings"-    "fixture/DescribeReservedInstancesListings.yaml"--testDeleteNetworkInterface :: DeleteNetworkInterface -> TestTree-testDeleteNetworkInterface = req-    "DeleteNetworkInterface"-    "fixture/DeleteNetworkInterface.yaml"--testDeleteInternetGateway :: DeleteInternetGateway -> TestTree-testDeleteInternetGateway = req-    "DeleteInternetGateway"-    "fixture/DeleteInternetGateway.yaml"--testDeleteSubnet :: DeleteSubnet -> TestTree-testDeleteSubnet = req-    "DeleteSubnet"-    "fixture/DeleteSubnet.yaml"--testCreateVPCEndpoint :: CreateVPCEndpoint -> TestTree-testCreateVPCEndpoint = req-    "CreateVPCEndpoint"-    "fixture/CreateVPCEndpoint.yaml"--testDescribeImportSnapshotTasks :: DescribeImportSnapshotTasks -> TestTree-testDescribeImportSnapshotTasks = req-    "DescribeImportSnapshotTasks"-    "fixture/DescribeImportSnapshotTasks.yaml"--testCopyImage :: CopyImage -> TestTree-testCopyImage = req-    "CopyImage"-    "fixture/CopyImage.yaml"--testDisassociateRouteTable :: DisassociateRouteTable -> TestTree-testDisassociateRouteTable = req-    "DisassociateRouteTable"-    "fixture/DisassociateRouteTable.yaml"--testUnmonitorInstances :: UnmonitorInstances -> TestTree-testUnmonitorInstances = req-    "UnmonitorInstances"-    "fixture/UnmonitorInstances.yaml"--testImportVolume :: ImportVolume -> TestTree-testImportVolume = req-    "ImportVolume"-    "fixture/ImportVolume.yaml"--testDisableVGWRoutePropagation :: DisableVGWRoutePropagation -> TestTree-testDisableVGWRoutePropagation = req-    "DisableVGWRoutePropagation"-    "fixture/DisableVGWRoutePropagation.yaml"--testCreateSpotDatafeedSubscription :: CreateSpotDatafeedSubscription -> TestTree-testCreateSpotDatafeedSubscription = req-    "CreateSpotDatafeedSubscription"-    "fixture/CreateSpotDatafeedSubscription.yaml"--testAssignPrivateIPAddresses :: AssignPrivateIPAddresses -> TestTree-testAssignPrivateIPAddresses = req-    "AssignPrivateIPAddresses"-    "fixture/AssignPrivateIPAddresses.yaml"--testDeleteSnapshot :: DeleteSnapshot -> TestTree-testDeleteSnapshot = req-    "DeleteSnapshot"-    "fixture/DeleteSnapshot.yaml"--testDeleteCustomerGateway :: DeleteCustomerGateway -> TestTree-testDeleteCustomerGateway = req-    "DeleteCustomerGateway"-    "fixture/DeleteCustomerGateway.yaml"--testModifyInstanceAttribute :: ModifyInstanceAttribute -> TestTree-testModifyInstanceAttribute = req-    "ModifyInstanceAttribute"-    "fixture/ModifyInstanceAttribute.yaml"--testCreateSecurityGroup :: CreateSecurityGroup -> TestTree-testCreateSecurityGroup = req-    "CreateSecurityGroup"-    "fixture/CreateSecurityGroup.yaml"--testCancelSpotInstanceRequests :: CancelSpotInstanceRequests -> TestTree-testCancelSpotInstanceRequests = req-    "CancelSpotInstanceRequests"-    "fixture/CancelSpotInstanceRequests.yaml"--testCreateRoute :: CreateRoute -> TestTree-testCreateRoute = req-    "CreateRoute"-    "fixture/CreateRoute.yaml"--testCreateNetworkACLEntry :: CreateNetworkACLEntry -> TestTree-testCreateNetworkACLEntry = req-    "CreateNetworkACLEntry"-    "fixture/CreateNetworkACLEntry.yaml"--testModifySnapshotAttribute :: ModifySnapshotAttribute -> TestTree-testModifySnapshotAttribute = req-    "ModifySnapshotAttribute"-    "fixture/ModifySnapshotAttribute.yaml"--testEnableVGWRoutePropagation :: EnableVGWRoutePropagation -> TestTree-testEnableVGWRoutePropagation = req-    "EnableVGWRoutePropagation"-    "fixture/EnableVGWRoutePropagation.yaml"--testCreateSnapshot :: CreateSnapshot -> TestTree-testCreateSnapshot = req-    "CreateSnapshot"-    "fixture/CreateSnapshot.yaml"--testDescribeSpotFleetRequestHistory :: DescribeSpotFleetRequestHistory -> TestTree-testDescribeSpotFleetRequestHistory = req-    "DescribeSpotFleetRequestHistory"-    "fixture/DescribeSpotFleetRequestHistory.yaml"--testDeleteSpotDatafeedSubscription :: DeleteSpotDatafeedSubscription -> TestTree-testDeleteSpotDatafeedSubscription = req-    "DeleteSpotDatafeedSubscription"-    "fixture/DeleteSpotDatafeedSubscription.yaml"--testDescribePlacementGroups :: DescribePlacementGroups -> TestTree-testDescribePlacementGroups = req-    "DescribePlacementGroups"-    "fixture/DescribePlacementGroups.yaml"--testCreateReservedInstancesListing :: CreateReservedInstancesListing -> TestTree-testCreateReservedInstancesListing = req-    "CreateReservedInstancesListing"-    "fixture/CreateReservedInstancesListing.yaml"--testEnableVPCClassicLink :: EnableVPCClassicLink -> TestTree-testEnableVPCClassicLink = req-    "EnableVPCClassicLink"-    "fixture/EnableVPCClassicLink.yaml"--testDescribeKeyPairs :: DescribeKeyPairs -> TestTree-testDescribeKeyPairs = req-    "DescribeKeyPairs"-    "fixture/DescribeKeyPairs.yaml"--testRebootInstances :: RebootInstances -> TestTree-testRebootInstances = req-    "RebootInstances"-    "fixture/RebootInstances.yaml"--testAttachVPNGateway :: AttachVPNGateway -> TestTree-testAttachVPNGateway = req-    "AttachVPNGateway"-    "fixture/AttachVPNGateway.yaml"--testCreateVPNConnectionRoute :: CreateVPNConnectionRoute -> TestTree-testCreateVPNConnectionRoute = req-    "CreateVPNConnectionRoute"-    "fixture/CreateVPNConnectionRoute.yaml"--testDescribeClassicLinkInstances :: DescribeClassicLinkInstances -> TestTree-testDescribeClassicLinkInstances = req-    "DescribeClassicLinkInstances"-    "fixture/DescribeClassicLinkInstances.yaml"--testTerminateInstances :: TerminateInstances -> TestTree-testTerminateInstances = req-    "TerminateInstances"-    "fixture/TerminateInstances.yaml"--testCreateDHCPOptions :: CreateDHCPOptions -> TestTree-testCreateDHCPOptions = req-    "CreateDHCPOptions"-    "fixture/CreateDHCPOptions.yaml"--testAssociateRouteTable :: AssociateRouteTable -> TestTree-testAssociateRouteTable = req-    "AssociateRouteTable"-    "fixture/AssociateRouteTable.yaml"--testCreateImage :: CreateImage -> TestTree-testCreateImage = req-    "CreateImage"-    "fixture/CreateImage.yaml"--testDescribeAccountAttributes :: DescribeAccountAttributes -> TestTree-testDescribeAccountAttributes = req-    "DescribeAccountAttributes"-    "fixture/DescribeAccountAttributes.yaml"--testResetImageAttribute :: ResetImageAttribute -> TestTree-testResetImageAttribute = req-    "ResetImageAttribute"-    "fixture/ResetImageAttribute.yaml"--testDescribeNetworkACLs :: DescribeNetworkACLs -> TestTree-testDescribeNetworkACLs = req-    "DescribeNetworkACLs"-    "fixture/DescribeNetworkACLs.yaml"--testCancelImportTask :: CancelImportTask -> TestTree-testCancelImportTask = req-    "CancelImportTask"-    "fixture/CancelImportTask.yaml"--testGetConsoleOutput :: GetConsoleOutput -> TestTree-testGetConsoleOutput = req-    "GetConsoleOutput"-    "fixture/GetConsoleOutput.yaml"--testUnassignPrivateIPAddresses :: UnassignPrivateIPAddresses -> TestTree-testUnassignPrivateIPAddresses = req-    "UnassignPrivateIPAddresses"-    "fixture/UnassignPrivateIPAddresses.yaml"--testDeleteRouteTable :: DeleteRouteTable -> TestTree-testDeleteRouteTable = req-    "DeleteRouteTable"-    "fixture/DeleteRouteTable.yaml"--testDescribeImageAttribute :: DescribeImageAttribute -> TestTree-testDescribeImageAttribute = req-    "DescribeImageAttribute"-    "fixture/DescribeImageAttribute.yaml"--testDeleteDHCPOptions :: DeleteDHCPOptions -> TestTree-testDeleteDHCPOptions = req-    "DeleteDHCPOptions"-    "fixture/DeleteDHCPOptions.yaml"--testDescribeVPNGateways :: DescribeVPNGateways -> TestTree-testDescribeVPNGateways = req-    "DescribeVPNGateways"-    "fixture/DescribeVPNGateways.yaml"--testDetachClassicLinkVPC :: DetachClassicLinkVPC -> TestTree-testDetachClassicLinkVPC = req-    "DetachClassicLinkVPC"-    "fixture/DetachClassicLinkVPC.yaml"--testDescribeReservedInstancesModifications :: DescribeReservedInstancesModifications -> TestTree-testDescribeReservedInstancesModifications = req-    "DescribeReservedInstancesModifications"-    "fixture/DescribeReservedInstancesModifications.yaml"--testDescribeSpotInstanceRequests :: DescribeSpotInstanceRequests -> TestTree-testDescribeSpotInstanceRequests = req-    "DescribeSpotInstanceRequests"-    "fixture/DescribeSpotInstanceRequests.yaml"--testMonitorInstances :: MonitorInstances -> TestTree-testMonitorInstances = req-    "MonitorInstances"-    "fixture/MonitorInstances.yaml"--testDescribeRegions :: DescribeRegions -> TestTree-testDescribeRegions = req-    "DescribeRegions"-    "fixture/DescribeRegions.yaml"--testModifyVPCAttribute :: ModifyVPCAttribute -> TestTree-testModifyVPCAttribute = req-    "ModifyVPCAttribute"-    "fixture/ModifyVPCAttribute.yaml"--testDescribeSpotFleetInstances :: DescribeSpotFleetInstances -> TestTree-testDescribeSpotFleetInstances = req-    "DescribeSpotFleetInstances"-    "fixture/DescribeSpotFleetInstances.yaml"--testDescribeVolumeStatus :: DescribeVolumeStatus -> TestTree-testDescribeVolumeStatus = req-    "DescribeVolumeStatus"-    "fixture/DescribeVolumeStatus.yaml"--testDeleteVolume :: DeleteVolume -> TestTree-testDeleteVolume = req-    "DeleteVolume"-    "fixture/DeleteVolume.yaml"--testDescribeImages :: DescribeImages -> TestTree-testDescribeImages = req-    "DescribeImages"-    "fixture/DescribeImages.yaml"--testCreateKeyPair :: CreateKeyPair -> TestTree-testCreateKeyPair = req-    "CreateKeyPair"-    "fixture/CreateKeyPair.yaml"--testRestoreAddressToClassic :: RestoreAddressToClassic -> TestTree-testRestoreAddressToClassic = req-    "RestoreAddressToClassic"-    "fixture/RestoreAddressToClassic.yaml"--testDescribeAvailabilityZones :: DescribeAvailabilityZones -> TestTree-testDescribeAvailabilityZones = req-    "DescribeAvailabilityZones"-    "fixture/DescribeAvailabilityZones.yaml"--testImportSnapshot :: ImportSnapshot -> TestTree-testImportSnapshot = req-    "ImportSnapshot"-    "fixture/ImportSnapshot.yaml"--testAcceptVPCPeeringConnection :: AcceptVPCPeeringConnection -> TestTree-testAcceptVPCPeeringConnection = req-    "AcceptVPCPeeringConnection"-    "fixture/AcceptVPCPeeringConnection.yaml"--testDescribeRouteTables :: DescribeRouteTables -> TestTree-testDescribeRouteTables = req-    "DescribeRouteTables"-    "fixture/DescribeRouteTables.yaml"---- Responses--testDetachNetworkInterfaceResponse :: DetachNetworkInterfaceResponse -> TestTree-testDetachNetworkInterfaceResponse = res-    "DetachNetworkInterfaceResponse"-    "fixture/DetachNetworkInterfaceResponse.proto"-    eC2-    (Proxy :: Proxy DetachNetworkInterface)--testDeleteVPCEndpointsResponse :: DeleteVPCEndpointsResponse -> TestTree-testDeleteVPCEndpointsResponse = res-    "DeleteVPCEndpointsResponse"-    "fixture/DeleteVPCEndpointsResponse.proto"-    eC2-    (Proxy :: Proxy DeleteVPCEndpoints)--testDeleteKeyPairResponse :: DeleteKeyPairResponse -> TestTree-testDeleteKeyPairResponse = res-    "DeleteKeyPairResponse"-    "fixture/DeleteKeyPairResponse.proto"-    eC2-    (Proxy :: Proxy DeleteKeyPair)--testDeleteFlowLogsResponse :: DeleteFlowLogsResponse -> TestTree-testDeleteFlowLogsResponse = res-    "DeleteFlowLogsResponse"-    "fixture/DeleteFlowLogsResponse.proto"-    eC2-    (Proxy :: Proxy DeleteFlowLogs)--testDescribeTagsResponse :: DescribeTagsResponse -> TestTree-testDescribeTagsResponse = res-    "DescribeTagsResponse"-    "fixture/DescribeTagsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeTags)--testRevokeSecurityGroupEgressResponse :: RevokeSecurityGroupEgressResponse -> TestTree-testRevokeSecurityGroupEgressResponse = res-    "RevokeSecurityGroupEgressResponse"-    "fixture/RevokeSecurityGroupEgressResponse.proto"-    eC2-    (Proxy :: Proxy RevokeSecurityGroupEgress)--testCreateVPNGatewayResponse :: CreateVPNGatewayResponse -> TestTree-testCreateVPNGatewayResponse = res-    "CreateVPNGatewayResponse"-    "fixture/CreateVPNGatewayResponse.proto"-    eC2-    (Proxy :: Proxy CreateVPNGateway)--testDetachInternetGatewayResponse :: DetachInternetGatewayResponse -> TestTree-testDetachInternetGatewayResponse = res-    "DetachInternetGatewayResponse"-    "fixture/DetachInternetGatewayResponse.proto"-    eC2-    (Proxy :: Proxy DetachInternetGateway)--testCreateNetworkACLResponse :: CreateNetworkACLResponse -> TestTree-testCreateNetworkACLResponse = res-    "CreateNetworkACLResponse"-    "fixture/CreateNetworkACLResponse.proto"-    eC2-    (Proxy :: Proxy CreateNetworkACL)--testImportInstanceResponse :: ImportInstanceResponse -> TestTree-testImportInstanceResponse = res-    "ImportInstanceResponse"-    "fixture/ImportInstanceResponse.proto"-    eC2-    (Proxy :: Proxy ImportInstance)--testDescribeVPCClassicLinkResponse :: DescribeVPCClassicLinkResponse -> TestTree-testDescribeVPCClassicLinkResponse = res-    "DescribeVPCClassicLinkResponse"-    "fixture/DescribeVPCClassicLinkResponse.proto"-    eC2-    (Proxy :: Proxy DescribeVPCClassicLink)--testDeleteVPNConnectionResponse :: DeleteVPNConnectionResponse -> TestTree-testDeleteVPNConnectionResponse = res-    "DeleteVPNConnectionResponse"-    "fixture/DeleteVPNConnectionResponse.proto"-    eC2-    (Proxy :: Proxy DeleteVPNConnection)--testAuthorizeSecurityGroupEgressResponse :: AuthorizeSecurityGroupEgressResponse -> TestTree-testAuthorizeSecurityGroupEgressResponse = res-    "AuthorizeSecurityGroupEgressResponse"-    "fixture/AuthorizeSecurityGroupEgressResponse.proto"-    eC2-    (Proxy :: Proxy AuthorizeSecurityGroupEgress)--testDescribeBundleTasksResponse :: DescribeBundleTasksResponse -> TestTree-testDescribeBundleTasksResponse = res-    "DescribeBundleTasksResponse"-    "fixture/DescribeBundleTasksResponse.proto"-    eC2-    (Proxy :: Proxy DescribeBundleTasks)--testCreateInternetGatewayResponse :: CreateInternetGatewayResponse -> TestTree-testCreateInternetGatewayResponse = res-    "CreateInternetGatewayResponse"-    "fixture/CreateInternetGatewayResponse.proto"-    eC2-    (Proxy :: Proxy CreateInternetGateway)--testReleaseAddressResponse :: ReleaseAddressResponse -> TestTree-testReleaseAddressResponse = res-    "ReleaseAddressResponse"-    "fixture/ReleaseAddressResponse.proto"-    eC2-    (Proxy :: Proxy ReleaseAddress)--testCancelBundleTaskResponse :: CancelBundleTaskResponse -> TestTree-testCancelBundleTaskResponse = res-    "CancelBundleTaskResponse"-    "fixture/CancelBundleTaskResponse.proto"-    eC2-    (Proxy :: Proxy CancelBundleTask)--testModifyNetworkInterfaceAttributeResponse :: ModifyNetworkInterfaceAttributeResponse -> TestTree-testModifyNetworkInterfaceAttributeResponse = res-    "ModifyNetworkInterfaceAttributeResponse"-    "fixture/ModifyNetworkInterfaceAttributeResponse.proto"-    eC2-    (Proxy :: Proxy ModifyNetworkInterfaceAttribute)--testModifySubnetAttributeResponse :: ModifySubnetAttributeResponse -> TestTree-testModifySubnetAttributeResponse = res-    "ModifySubnetAttributeResponse"-    "fixture/ModifySubnetAttributeResponse.proto"-    eC2-    (Proxy :: Proxy ModifySubnetAttribute)--testDeregisterImageResponse :: DeregisterImageResponse -> TestTree-testDeregisterImageResponse = res-    "DeregisterImageResponse"-    "fixture/DeregisterImageResponse.proto"-    eC2-    (Proxy :: Proxy DeregisterImage)--testDetachVolumeResponse :: VolumeAttachment -> TestTree-testDetachVolumeResponse = res-    "DetachVolumeResponse"-    "fixture/DetachVolumeResponse.proto"-    eC2-    (Proxy :: Proxy DetachVolume)--testCancelReservedInstancesListingResponse :: CancelReservedInstancesListingResponse -> TestTree-testCancelReservedInstancesListingResponse = res-    "CancelReservedInstancesListingResponse"-    "fixture/CancelReservedInstancesListingResponse.proto"-    eC2-    (Proxy :: Proxy CancelReservedInstancesListing)--testAttachClassicLinkVPCResponse :: AttachClassicLinkVPCResponse -> TestTree-testAttachClassicLinkVPCResponse = res-    "AttachClassicLinkVPCResponse"-    "fixture/AttachClassicLinkVPCResponse.proto"-    eC2-    (Proxy :: Proxy AttachClassicLinkVPC)--testCancelSpotFleetRequestsResponse :: CancelSpotFleetRequestsResponse -> TestTree-testCancelSpotFleetRequestsResponse = res-    "CancelSpotFleetRequestsResponse"-    "fixture/CancelSpotFleetRequestsResponse.proto"-    eC2-    (Proxy :: Proxy CancelSpotFleetRequests)--testDescribeDHCPOptionsResponse :: DescribeDHCPOptionsResponse -> TestTree-testDescribeDHCPOptionsResponse = res-    "DescribeDHCPOptionsResponse"-    "fixture/DescribeDHCPOptionsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeDHCPOptions)--testDescribeSpotPriceHistoryResponse :: DescribeSpotPriceHistoryResponse -> TestTree-testDescribeSpotPriceHistoryResponse = res-    "DescribeSpotPriceHistoryResponse"-    "fixture/DescribeSpotPriceHistoryResponse.proto"-    eC2-    (Proxy :: Proxy DescribeSpotPriceHistory)--testStopInstancesResponse :: StopInstancesResponse -> TestTree-testStopInstancesResponse = res-    "StopInstancesResponse"-    "fixture/StopInstancesResponse.proto"-    eC2-    (Proxy :: Proxy StopInstances)--testImportImageResponse :: ImportImageResponse -> TestTree-testImportImageResponse = res-    "ImportImageResponse"-    "fixture/ImportImageResponse.proto"-    eC2-    (Proxy :: Proxy ImportImage)--testDeleteNetworkACLEntryResponse :: DeleteNetworkACLEntryResponse -> TestTree-testDeleteNetworkACLEntryResponse = res-    "DeleteNetworkACLEntryResponse"-    "fixture/DeleteNetworkACLEntryResponse.proto"-    eC2-    (Proxy :: Proxy DeleteNetworkACLEntry)--testDisableVPCClassicLinkResponse :: DisableVPCClassicLinkResponse -> TestTree-testDisableVPCClassicLinkResponse = res-    "DisableVPCClassicLinkResponse"-    "fixture/DisableVPCClassicLinkResponse.proto"-    eC2-    (Proxy :: Proxy DisableVPCClassicLink)--testAuthorizeSecurityGroupIngressResponse :: AuthorizeSecurityGroupIngressResponse -> TestTree-testAuthorizeSecurityGroupIngressResponse = res-    "AuthorizeSecurityGroupIngressResponse"-    "fixture/AuthorizeSecurityGroupIngressResponse.proto"-    eC2-    (Proxy :: Proxy AuthorizeSecurityGroupIngress)--testBundleInstanceResponse :: BundleInstanceResponse -> TestTree-testBundleInstanceResponse = res-    "BundleInstanceResponse"-    "fixture/BundleInstanceResponse.proto"-    eC2-    (Proxy :: Proxy BundleInstance)--testDescribeVPCEndpointServicesResponse :: DescribeVPCEndpointServicesResponse -> TestTree-testDescribeVPCEndpointServicesResponse = res-    "DescribeVPCEndpointServicesResponse"-    "fixture/DescribeVPCEndpointServicesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeVPCEndpointServices)--testReplaceNetworkACLAssociationResponse :: ReplaceNetworkACLAssociationResponse -> TestTree-testReplaceNetworkACLAssociationResponse = res-    "ReplaceNetworkACLAssociationResponse"-    "fixture/ReplaceNetworkACLAssociationResponse.proto"-    eC2-    (Proxy :: Proxy ReplaceNetworkACLAssociation)--testCreateVPCPeeringConnectionResponse :: CreateVPCPeeringConnectionResponse -> TestTree-testCreateVPCPeeringConnectionResponse = res-    "CreateVPCPeeringConnectionResponse"-    "fixture/CreateVPCPeeringConnectionResponse.proto"-    eC2-    (Proxy :: Proxy CreateVPCPeeringConnection)--testResetSnapshotAttributeResponse :: ResetSnapshotAttributeResponse -> TestTree-testResetSnapshotAttributeResponse = res-    "ResetSnapshotAttributeResponse"-    "fixture/ResetSnapshotAttributeResponse.proto"-    eC2-    (Proxy :: Proxy ResetSnapshotAttribute)--testDescribeAddressesResponse :: DescribeAddressesResponse -> TestTree-testDescribeAddressesResponse = res-    "DescribeAddressesResponse"-    "fixture/DescribeAddressesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeAddresses)--testDescribeInternetGatewaysResponse :: DescribeInternetGatewaysResponse -> TestTree-testDescribeInternetGatewaysResponse = res-    "DescribeInternetGatewaysResponse"-    "fixture/DescribeInternetGatewaysResponse.proto"-    eC2-    (Proxy :: Proxy DescribeInternetGateways)--testReplaceRouteResponse :: ReplaceRouteResponse -> TestTree-testReplaceRouteResponse = res-    "ReplaceRouteResponse"-    "fixture/ReplaceRouteResponse.proto"-    eC2-    (Proxy :: Proxy ReplaceRoute)--testCreateTagsResponse :: CreateTagsResponse -> TestTree-testCreateTagsResponse = res-    "CreateTagsResponse"-    "fixture/CreateTagsResponse.proto"-    eC2-    (Proxy :: Proxy CreateTags)--testDescribeSubnetsResponse :: DescribeSubnetsResponse -> TestTree-testDescribeSubnetsResponse = res-    "DescribeSubnetsResponse"-    "fixture/DescribeSubnetsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeSubnets)--testDescribeNetworkInterfacesResponse :: DescribeNetworkInterfacesResponse -> TestTree-testDescribeNetworkInterfacesResponse = res-    "DescribeNetworkInterfacesResponse"-    "fixture/DescribeNetworkInterfacesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeNetworkInterfaces)--testPurchaseReservedInstancesOfferingResponse :: PurchaseReservedInstancesOfferingResponse -> TestTree-testPurchaseReservedInstancesOfferingResponse = res-    "PurchaseReservedInstancesOfferingResponse"-    "fixture/PurchaseReservedInstancesOfferingResponse.proto"-    eC2-    (Proxy :: Proxy PurchaseReservedInstancesOffering)--testDescribeSnapshotAttributeResponse :: DescribeSnapshotAttributeResponse -> TestTree-testDescribeSnapshotAttributeResponse = res-    "DescribeSnapshotAttributeResponse"-    "fixture/DescribeSnapshotAttributeResponse.proto"-    eC2-    (Proxy :: Proxy DescribeSnapshotAttribute)--testCreateCustomerGatewayResponse :: CreateCustomerGatewayResponse -> TestTree-testCreateCustomerGatewayResponse = res-    "CreateCustomerGatewayResponse"-    "fixture/CreateCustomerGatewayResponse.proto"-    eC2-    (Proxy :: Proxy CreateCustomerGateway)--testAttachInternetGatewayResponse :: AttachInternetGatewayResponse -> TestTree-testAttachInternetGatewayResponse = res-    "AttachInternetGatewayResponse"-    "fixture/AttachInternetGatewayResponse.proto"-    eC2-    (Proxy :: Proxy AttachInternetGateway)--testDeleteTagsResponse :: DeleteTagsResponse -> TestTree-testDeleteTagsResponse = res-    "DeleteTagsResponse"-    "fixture/DeleteTagsResponse.proto"-    eC2-    (Proxy :: Proxy DeleteTags)--testReplaceNetworkACLEntryResponse :: ReplaceNetworkACLEntryResponse -> TestTree-testReplaceNetworkACLEntryResponse = res-    "ReplaceNetworkACLEntryResponse"-    "fixture/ReplaceNetworkACLEntryResponse.proto"-    eC2-    (Proxy :: Proxy ReplaceNetworkACLEntry)--testResetInstanceAttributeResponse :: ResetInstanceAttributeResponse -> TestTree-testResetInstanceAttributeResponse = res-    "ResetInstanceAttributeResponse"-    "fixture/ResetInstanceAttributeResponse.proto"-    eC2-    (Proxy :: Proxy ResetInstanceAttribute)--testDeleteRouteResponse :: DeleteRouteResponse -> TestTree-testDeleteRouteResponse = res-    "DeleteRouteResponse"-    "fixture/DeleteRouteResponse.proto"-    eC2-    (Proxy :: Proxy DeleteRoute)--testDescribeVPNConnectionsResponse :: DescribeVPNConnectionsResponse -> TestTree-testDescribeVPNConnectionsResponse = res-    "DescribeVPNConnectionsResponse"-    "fixture/DescribeVPNConnectionsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeVPNConnections)--testDescribeFlowLogsResponse :: DescribeFlowLogsResponse -> TestTree-testDescribeFlowLogsResponse = res-    "DescribeFlowLogsResponse"-    "fixture/DescribeFlowLogsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeFlowLogs)--testDeleteSecurityGroupResponse :: DeleteSecurityGroupResponse -> TestTree-testDeleteSecurityGroupResponse = res-    "DeleteSecurityGroupResponse"-    "fixture/DeleteSecurityGroupResponse.proto"-    eC2-    (Proxy :: Proxy DeleteSecurityGroup)--testDescribeReservedInstancesOfferingsResponse :: DescribeReservedInstancesOfferingsResponse -> TestTree-testDescribeReservedInstancesOfferingsResponse = res-    "DescribeReservedInstancesOfferingsResponse"-    "fixture/DescribeReservedInstancesOfferingsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeReservedInstancesOfferings)--testDeleteVPCPeeringConnectionResponse :: DeleteVPCPeeringConnectionResponse -> TestTree-testDeleteVPCPeeringConnectionResponse = res-    "DeleteVPCPeeringConnectionResponse"-    "fixture/DeleteVPCPeeringConnectionResponse.proto"-    eC2-    (Proxy :: Proxy DeleteVPCPeeringConnection)--testDescribeVPCEndpointsResponse :: DescribeVPCEndpointsResponse -> TestTree-testDescribeVPCEndpointsResponse = res-    "DescribeVPCEndpointsResponse"-    "fixture/DescribeVPCEndpointsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeVPCEndpoints)--testDescribeInstanceAttributeResponse :: DescribeInstanceAttributeResponse -> TestTree-testDescribeInstanceAttributeResponse = res-    "DescribeInstanceAttributeResponse"-    "fixture/DescribeInstanceAttributeResponse.proto"-    eC2-    (Proxy :: Proxy DescribeInstanceAttribute)--testConfirmProductInstanceResponse :: ConfirmProductInstanceResponse -> TestTree-testConfirmProductInstanceResponse = res-    "ConfirmProductInstanceResponse"-    "fixture/ConfirmProductInstanceResponse.proto"-    eC2-    (Proxy :: Proxy ConfirmProductInstance)--testImportKeyPairResponse :: ImportKeyPairResponse -> TestTree-testImportKeyPairResponse = res-    "ImportKeyPairResponse"-    "fixture/ImportKeyPairResponse.proto"-    eC2-    (Proxy :: Proxy ImportKeyPair)--testAttachNetworkInterfaceResponse :: AttachNetworkInterfaceResponse -> TestTree-testAttachNetworkInterfaceResponse = res-    "AttachNetworkInterfaceResponse"-    "fixture/AttachNetworkInterfaceResponse.proto"-    eC2-    (Proxy :: Proxy AttachNetworkInterface)--testDescribeInstanceStatusResponse :: DescribeInstanceStatusResponse -> TestTree-testDescribeInstanceStatusResponse = res-    "DescribeInstanceStatusResponse"-    "fixture/DescribeInstanceStatusResponse.proto"-    eC2-    (Proxy :: Proxy DescribeInstanceStatus)--testCancelConversionTaskResponse :: CancelConversionTaskResponse -> TestTree-testCancelConversionTaskResponse = res-    "CancelConversionTaskResponse"-    "fixture/CancelConversionTaskResponse.proto"-    eC2-    (Proxy :: Proxy CancelConversionTask)--testReportInstanceStatusResponse :: ReportInstanceStatusResponse -> TestTree-testReportInstanceStatusResponse = res-    "ReportInstanceStatusResponse"-    "fixture/ReportInstanceStatusResponse.proto"-    eC2-    (Proxy :: Proxy ReportInstanceStatus)--testAssociateDHCPOptionsResponse :: AssociateDHCPOptionsResponse -> TestTree-testAssociateDHCPOptionsResponse = res-    "AssociateDHCPOptionsResponse"-    "fixture/AssociateDHCPOptionsResponse.proto"-    eC2-    (Proxy :: Proxy AssociateDHCPOptions)--testDescribeVPCsResponse :: DescribeVPCsResponse -> TestTree-testDescribeVPCsResponse = res-    "DescribeVPCsResponse"-    "fixture/DescribeVPCsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeVPCs)--testRequestSpotInstancesResponse :: RequestSpotInstancesResponse -> TestTree-testRequestSpotInstancesResponse = res-    "RequestSpotInstancesResponse"-    "fixture/RequestSpotInstancesResponse.proto"-    eC2-    (Proxy :: Proxy RequestSpotInstances)--testModifyImageAttributeResponse :: ModifyImageAttributeResponse -> TestTree-testModifyImageAttributeResponse = res-    "ModifyImageAttributeResponse"-    "fixture/ModifyImageAttributeResponse.proto"-    eC2-    (Proxy :: Proxy ModifyImageAttribute)--testDescribeReservedInstancesResponse :: DescribeReservedInstancesResponse -> TestTree-testDescribeReservedInstancesResponse = res-    "DescribeReservedInstancesResponse"-    "fixture/DescribeReservedInstancesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeReservedInstances)--testAllocateAddressResponse :: AllocateAddressResponse -> TestTree-testAllocateAddressResponse = res-    "AllocateAddressResponse"-    "fixture/AllocateAddressResponse.proto"-    eC2-    (Proxy :: Proxy AllocateAddress)--testRunInstancesResponse :: Reservation -> TestTree-testRunInstancesResponse = res-    "RunInstancesResponse"-    "fixture/RunInstancesResponse.proto"-    eC2-    (Proxy :: Proxy RunInstances)--testCreateRouteTableResponse :: CreateRouteTableResponse -> TestTree-testCreateRouteTableResponse = res-    "CreateRouteTableResponse"-    "fixture/CreateRouteTableResponse.proto"-    eC2-    (Proxy :: Proxy CreateRouteTable)--testAttachVolumeResponse :: VolumeAttachment -> TestTree-testAttachVolumeResponse = res-    "AttachVolumeResponse"-    "fixture/AttachVolumeResponse.proto"-    eC2-    (Proxy :: Proxy AttachVolume)--testDescribeConversionTasksResponse :: DescribeConversionTasksResponse -> TestTree-testDescribeConversionTasksResponse = res-    "DescribeConversionTasksResponse"-    "fixture/DescribeConversionTasksResponse.proto"-    eC2-    (Proxy :: Proxy DescribeConversionTasks)--testRejectVPCPeeringConnectionResponse :: RejectVPCPeeringConnectionResponse -> TestTree-testRejectVPCPeeringConnectionResponse = res-    "RejectVPCPeeringConnectionResponse"-    "fixture/RejectVPCPeeringConnectionResponse.proto"-    eC2-    (Proxy :: Proxy RejectVPCPeeringConnection)--testRevokeSecurityGroupIngressResponse :: RevokeSecurityGroupIngressResponse -> TestTree-testRevokeSecurityGroupIngressResponse = res-    "RevokeSecurityGroupIngressResponse"-    "fixture/RevokeSecurityGroupIngressResponse.proto"-    eC2-    (Proxy :: Proxy RevokeSecurityGroupIngress)--testDescribeVolumesResponse :: DescribeVolumesResponse -> TestTree-testDescribeVolumesResponse = res-    "DescribeVolumesResponse"-    "fixture/DescribeVolumesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeVolumes)--testDeleteVPNConnectionRouteResponse :: DeleteVPNConnectionRouteResponse -> TestTree-testDeleteVPNConnectionRouteResponse = res-    "DeleteVPNConnectionRouteResponse"-    "fixture/DeleteVPNConnectionRouteResponse.proto"-    eC2-    (Proxy :: Proxy DeleteVPNConnectionRoute)--testModifyReservedInstancesResponse :: ModifyReservedInstancesResponse -> TestTree-testModifyReservedInstancesResponse = res-    "ModifyReservedInstancesResponse"-    "fixture/ModifyReservedInstancesResponse.proto"-    eC2-    (Proxy :: Proxy ModifyReservedInstances)--testRegisterImageResponse :: RegisterImageResponse -> TestTree-testRegisterImageResponse = res-    "RegisterImageResponse"-    "fixture/RegisterImageResponse.proto"-    eC2-    (Proxy :: Proxy RegisterImage)--testModifyVPCEndpointResponse :: ModifyVPCEndpointResponse -> TestTree-testModifyVPCEndpointResponse = res-    "ModifyVPCEndpointResponse"-    "fixture/ModifyVPCEndpointResponse.proto"-    eC2-    (Proxy :: Proxy ModifyVPCEndpoint)--testDeleteVPNGatewayResponse :: DeleteVPNGatewayResponse -> TestTree-testDeleteVPNGatewayResponse = res-    "DeleteVPNGatewayResponse"-    "fixture/DeleteVPNGatewayResponse.proto"-    eC2-    (Proxy :: Proxy DeleteVPNGateway)--testCreateVPCResponse :: CreateVPCResponse -> TestTree-testCreateVPCResponse = res-    "CreateVPCResponse"-    "fixture/CreateVPCResponse.proto"-    eC2-    (Proxy :: Proxy CreateVPC)--testDescribeMovingAddressesResponse :: DescribeMovingAddressesResponse -> TestTree-testDescribeMovingAddressesResponse = res-    "DescribeMovingAddressesResponse"-    "fixture/DescribeMovingAddressesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeMovingAddresses)--testDescribeVolumeAttributeResponse :: DescribeVolumeAttributeResponse -> TestTree-testDescribeVolumeAttributeResponse = res-    "DescribeVolumeAttributeResponse"-    "fixture/DescribeVolumeAttributeResponse.proto"-    eC2-    (Proxy :: Proxy DescribeVolumeAttribute)--testMoveAddressToVPCResponse :: MoveAddressToVPCResponse -> TestTree-testMoveAddressToVPCResponse = res-    "MoveAddressToVPCResponse"-    "fixture/MoveAddressToVPCResponse.proto"-    eC2-    (Proxy :: Proxy MoveAddressToVPC)--testGetPasswordDataResponse :: GetPasswordDataResponse -> TestTree-testGetPasswordDataResponse = res-    "GetPasswordDataResponse"-    "fixture/GetPasswordDataResponse.proto"-    eC2-    (Proxy :: Proxy GetPasswordData)--testCreateFlowLogsResponse :: CreateFlowLogsResponse -> TestTree-testCreateFlowLogsResponse = res-    "CreateFlowLogsResponse"-    "fixture/CreateFlowLogsResponse.proto"-    eC2-    (Proxy :: Proxy CreateFlowLogs)--testDescribeImportImageTasksResponse :: DescribeImportImageTasksResponse -> TestTree-testDescribeImportImageTasksResponse = res-    "DescribeImportImageTasksResponse"-    "fixture/DescribeImportImageTasksResponse.proto"-    eC2-    (Proxy :: Proxy DescribeImportImageTasks)--testDeleteNetworkACLResponse :: DeleteNetworkACLResponse -> TestTree-testDeleteNetworkACLResponse = res-    "DeleteNetworkACLResponse"-    "fixture/DeleteNetworkACLResponse.proto"-    eC2-    (Proxy :: Proxy DeleteNetworkACL)--testDescribeSpotFleetRequestsResponse :: DescribeSpotFleetRequestsResponse -> TestTree-testDescribeSpotFleetRequestsResponse = res-    "DescribeSpotFleetRequestsResponse"-    "fixture/DescribeSpotFleetRequestsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeSpotFleetRequests)--testCopySnapshotResponse :: CopySnapshotResponse -> TestTree-testCopySnapshotResponse = res-    "CopySnapshotResponse"-    "fixture/CopySnapshotResponse.proto"-    eC2-    (Proxy :: Proxy CopySnapshot)--testModifyVolumeAttributeResponse :: ModifyVolumeAttributeResponse -> TestTree-testModifyVolumeAttributeResponse = res-    "ModifyVolumeAttributeResponse"-    "fixture/ModifyVolumeAttributeResponse.proto"-    eC2-    (Proxy :: Proxy ModifyVolumeAttribute)--testDescribeVPCAttributeResponse :: DescribeVPCAttributeResponse -> TestTree-testDescribeVPCAttributeResponse = res-    "DescribeVPCAttributeResponse"-    "fixture/DescribeVPCAttributeResponse.proto"-    eC2-    (Proxy :: Proxy DescribeVPCAttribute)--testCreateVolumeResponse :: Volume -> TestTree-testCreateVolumeResponse = res-    "CreateVolumeResponse"-    "fixture/CreateVolumeResponse.proto"-    eC2-    (Proxy :: Proxy CreateVolume)--testDisassociateAddressResponse :: DisassociateAddressResponse -> TestTree-testDisassociateAddressResponse = res-    "DisassociateAddressResponse"-    "fixture/DisassociateAddressResponse.proto"-    eC2-    (Proxy :: Proxy DisassociateAddress)--testDeleteVPCResponse :: DeleteVPCResponse -> TestTree-testDeleteVPCResponse = res-    "DeleteVPCResponse"-    "fixture/DeleteVPCResponse.proto"-    eC2-    (Proxy :: Proxy DeleteVPC)--testDescribePrefixListsResponse :: DescribePrefixListsResponse -> TestTree-testDescribePrefixListsResponse = res-    "DescribePrefixListsResponse"-    "fixture/DescribePrefixListsResponse.proto"-    eC2-    (Proxy :: Proxy DescribePrefixLists)--testCreateInstanceExportTaskResponse :: CreateInstanceExportTaskResponse -> TestTree-testCreateInstanceExportTaskResponse = res-    "CreateInstanceExportTaskResponse"-    "fixture/CreateInstanceExportTaskResponse.proto"-    eC2-    (Proxy :: Proxy CreateInstanceExportTask)--testDescribeSpotDatafeedSubscriptionResponse :: DescribeSpotDatafeedSubscriptionResponse -> TestTree-testDescribeSpotDatafeedSubscriptionResponse = res-    "DescribeSpotDatafeedSubscriptionResponse"-    "fixture/DescribeSpotDatafeedSubscriptionResponse.proto"-    eC2-    (Proxy :: Proxy DescribeSpotDatafeedSubscription)--testDetachVPNGatewayResponse :: DetachVPNGatewayResponse -> TestTree-testDetachVPNGatewayResponse = res-    "DetachVPNGatewayResponse"-    "fixture/DetachVPNGatewayResponse.proto"-    eC2-    (Proxy :: Proxy DetachVPNGateway)--testDescribeExportTasksResponse :: DescribeExportTasksResponse -> TestTree-testDescribeExportTasksResponse = res-    "DescribeExportTasksResponse"-    "fixture/DescribeExportTasksResponse.proto"-    eC2-    (Proxy :: Proxy DescribeExportTasks)--testDeletePlacementGroupResponse :: DeletePlacementGroupResponse -> TestTree-testDeletePlacementGroupResponse = res-    "DeletePlacementGroupResponse"-    "fixture/DeletePlacementGroupResponse.proto"-    eC2-    (Proxy :: Proxy DeletePlacementGroup)--testCreateSubnetResponse :: CreateSubnetResponse -> TestTree-testCreateSubnetResponse = res-    "CreateSubnetResponse"-    "fixture/CreateSubnetResponse.proto"-    eC2-    (Proxy :: Proxy CreateSubnet)--testEnableVolumeIOResponse :: EnableVolumeIOResponse -> TestTree-testEnableVolumeIOResponse = res-    "EnableVolumeIOResponse"-    "fixture/EnableVolumeIOResponse.proto"-    eC2-    (Proxy :: Proxy EnableVolumeIO)--testCancelExportTaskResponse :: CancelExportTaskResponse -> TestTree-testCancelExportTaskResponse = res-    "CancelExportTaskResponse"-    "fixture/CancelExportTaskResponse.proto"-    eC2-    (Proxy :: Proxy CancelExportTask)--testRequestSpotFleetResponse :: RequestSpotFleetResponse -> TestTree-testRequestSpotFleetResponse = res-    "RequestSpotFleetResponse"-    "fixture/RequestSpotFleetResponse.proto"-    eC2-    (Proxy :: Proxy RequestSpotFleet)--testDescribeInstancesResponse :: DescribeInstancesResponse -> TestTree-testDescribeInstancesResponse = res-    "DescribeInstancesResponse"-    "fixture/DescribeInstancesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeInstances)--testDescribeSecurityGroupsResponse :: DescribeSecurityGroupsResponse -> TestTree-testDescribeSecurityGroupsResponse = res-    "DescribeSecurityGroupsResponse"-    "fixture/DescribeSecurityGroupsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeSecurityGroups)--testDescribeVPCPeeringConnectionsResponse :: DescribeVPCPeeringConnectionsResponse -> TestTree-testDescribeVPCPeeringConnectionsResponse = res-    "DescribeVPCPeeringConnectionsResponse"-    "fixture/DescribeVPCPeeringConnectionsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeVPCPeeringConnections)--testCreateNetworkInterfaceResponse :: CreateNetworkInterfaceResponse -> TestTree-testCreateNetworkInterfaceResponse = res-    "CreateNetworkInterfaceResponse"-    "fixture/CreateNetworkInterfaceResponse.proto"-    eC2-    (Proxy :: Proxy CreateNetworkInterface)--testAssociateAddressResponse :: AssociateAddressResponse -> TestTree-testAssociateAddressResponse = res-    "AssociateAddressResponse"-    "fixture/AssociateAddressResponse.proto"-    eC2-    (Proxy :: Proxy AssociateAddress)--testStartInstancesResponse :: StartInstancesResponse -> TestTree-testStartInstancesResponse = res-    "StartInstancesResponse"-    "fixture/StartInstancesResponse.proto"-    eC2-    (Proxy :: Proxy StartInstances)--testDescribeCustomerGatewaysResponse :: DescribeCustomerGatewaysResponse -> TestTree-testDescribeCustomerGatewaysResponse = res-    "DescribeCustomerGatewaysResponse"-    "fixture/DescribeCustomerGatewaysResponse.proto"-    eC2-    (Proxy :: Proxy DescribeCustomerGateways)--testResetNetworkInterfaceAttributeResponse :: ResetNetworkInterfaceAttributeResponse -> TestTree-testResetNetworkInterfaceAttributeResponse = res-    "ResetNetworkInterfaceAttributeResponse"-    "fixture/ResetNetworkInterfaceAttributeResponse.proto"-    eC2-    (Proxy :: Proxy ResetNetworkInterfaceAttribute)--testCreateVPNConnectionResponse :: CreateVPNConnectionResponse -> TestTree-testCreateVPNConnectionResponse = res-    "CreateVPNConnectionResponse"-    "fixture/CreateVPNConnectionResponse.proto"-    eC2-    (Proxy :: Proxy CreateVPNConnection)--testDescribeSnapshotsResponse :: DescribeSnapshotsResponse -> TestTree-testDescribeSnapshotsResponse = res-    "DescribeSnapshotsResponse"-    "fixture/DescribeSnapshotsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeSnapshots)--testCreatePlacementGroupResponse :: CreatePlacementGroupResponse -> TestTree-testCreatePlacementGroupResponse = res-    "CreatePlacementGroupResponse"-    "fixture/CreatePlacementGroupResponse.proto"-    eC2-    (Proxy :: Proxy CreatePlacementGroup)--testReplaceRouteTableAssociationResponse :: ReplaceRouteTableAssociationResponse -> TestTree-testReplaceRouteTableAssociationResponse = res-    "ReplaceRouteTableAssociationResponse"-    "fixture/ReplaceRouteTableAssociationResponse.proto"-    eC2-    (Proxy :: Proxy ReplaceRouteTableAssociation)--testDescribeNetworkInterfaceAttributeResponse :: DescribeNetworkInterfaceAttributeResponse -> TestTree-testDescribeNetworkInterfaceAttributeResponse = res-    "DescribeNetworkInterfaceAttributeResponse"-    "fixture/DescribeNetworkInterfaceAttributeResponse.proto"-    eC2-    (Proxy :: Proxy DescribeNetworkInterfaceAttribute)--testDescribeReservedInstancesListingsResponse :: DescribeReservedInstancesListingsResponse -> TestTree-testDescribeReservedInstancesListingsResponse = res-    "DescribeReservedInstancesListingsResponse"-    "fixture/DescribeReservedInstancesListingsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeReservedInstancesListings)--testDeleteNetworkInterfaceResponse :: DeleteNetworkInterfaceResponse -> TestTree-testDeleteNetworkInterfaceResponse = res-    "DeleteNetworkInterfaceResponse"-    "fixture/DeleteNetworkInterfaceResponse.proto"-    eC2-    (Proxy :: Proxy DeleteNetworkInterface)--testDeleteInternetGatewayResponse :: DeleteInternetGatewayResponse -> TestTree-testDeleteInternetGatewayResponse = res-    "DeleteInternetGatewayResponse"-    "fixture/DeleteInternetGatewayResponse.proto"-    eC2-    (Proxy :: Proxy DeleteInternetGateway)--testDeleteSubnetResponse :: DeleteSubnetResponse -> TestTree-testDeleteSubnetResponse = res-    "DeleteSubnetResponse"-    "fixture/DeleteSubnetResponse.proto"-    eC2-    (Proxy :: Proxy DeleteSubnet)--testCreateVPCEndpointResponse :: CreateVPCEndpointResponse -> TestTree-testCreateVPCEndpointResponse = res-    "CreateVPCEndpointResponse"-    "fixture/CreateVPCEndpointResponse.proto"-    eC2-    (Proxy :: Proxy CreateVPCEndpoint)--testDescribeImportSnapshotTasksResponse :: DescribeImportSnapshotTasksResponse -> TestTree-testDescribeImportSnapshotTasksResponse = res-    "DescribeImportSnapshotTasksResponse"-    "fixture/DescribeImportSnapshotTasksResponse.proto"-    eC2-    (Proxy :: Proxy DescribeImportSnapshotTasks)--testCopyImageResponse :: CopyImageResponse -> TestTree-testCopyImageResponse = res-    "CopyImageResponse"-    "fixture/CopyImageResponse.proto"-    eC2-    (Proxy :: Proxy CopyImage)--testDisassociateRouteTableResponse :: DisassociateRouteTableResponse -> TestTree-testDisassociateRouteTableResponse = res-    "DisassociateRouteTableResponse"-    "fixture/DisassociateRouteTableResponse.proto"-    eC2-    (Proxy :: Proxy DisassociateRouteTable)--testUnmonitorInstancesResponse :: UnmonitorInstancesResponse -> TestTree-testUnmonitorInstancesResponse = res-    "UnmonitorInstancesResponse"-    "fixture/UnmonitorInstancesResponse.proto"-    eC2-    (Proxy :: Proxy UnmonitorInstances)--testImportVolumeResponse :: ImportVolumeResponse -> TestTree-testImportVolumeResponse = res-    "ImportVolumeResponse"-    "fixture/ImportVolumeResponse.proto"-    eC2-    (Proxy :: Proxy ImportVolume)--testDisableVGWRoutePropagationResponse :: DisableVGWRoutePropagationResponse -> TestTree-testDisableVGWRoutePropagationResponse = res-    "DisableVGWRoutePropagationResponse"-    "fixture/DisableVGWRoutePropagationResponse.proto"-    eC2-    (Proxy :: Proxy DisableVGWRoutePropagation)--testCreateSpotDatafeedSubscriptionResponse :: CreateSpotDatafeedSubscriptionResponse -> TestTree-testCreateSpotDatafeedSubscriptionResponse = res-    "CreateSpotDatafeedSubscriptionResponse"-    "fixture/CreateSpotDatafeedSubscriptionResponse.proto"-    eC2-    (Proxy :: Proxy CreateSpotDatafeedSubscription)--testAssignPrivateIPAddressesResponse :: AssignPrivateIPAddressesResponse -> TestTree-testAssignPrivateIPAddressesResponse = res-    "AssignPrivateIPAddressesResponse"-    "fixture/AssignPrivateIPAddressesResponse.proto"-    eC2-    (Proxy :: Proxy AssignPrivateIPAddresses)--testDeleteSnapshotResponse :: DeleteSnapshotResponse -> TestTree-testDeleteSnapshotResponse = res-    "DeleteSnapshotResponse"-    "fixture/DeleteSnapshotResponse.proto"-    eC2-    (Proxy :: Proxy DeleteSnapshot)--testDeleteCustomerGatewayResponse :: DeleteCustomerGatewayResponse -> TestTree-testDeleteCustomerGatewayResponse = res-    "DeleteCustomerGatewayResponse"-    "fixture/DeleteCustomerGatewayResponse.proto"-    eC2-    (Proxy :: Proxy DeleteCustomerGateway)--testModifyInstanceAttributeResponse :: ModifyInstanceAttributeResponse -> TestTree-testModifyInstanceAttributeResponse = res-    "ModifyInstanceAttributeResponse"-    "fixture/ModifyInstanceAttributeResponse.proto"-    eC2-    (Proxy :: Proxy ModifyInstanceAttribute)--testCreateSecurityGroupResponse :: CreateSecurityGroupResponse -> TestTree-testCreateSecurityGroupResponse = res-    "CreateSecurityGroupResponse"-    "fixture/CreateSecurityGroupResponse.proto"-    eC2-    (Proxy :: Proxy CreateSecurityGroup)--testCancelSpotInstanceRequestsResponse :: CancelSpotInstanceRequestsResponse -> TestTree-testCancelSpotInstanceRequestsResponse = res-    "CancelSpotInstanceRequestsResponse"-    "fixture/CancelSpotInstanceRequestsResponse.proto"-    eC2-    (Proxy :: Proxy CancelSpotInstanceRequests)--testCreateRouteResponse :: CreateRouteResponse -> TestTree-testCreateRouteResponse = res-    "CreateRouteResponse"-    "fixture/CreateRouteResponse.proto"-    eC2-    (Proxy :: Proxy CreateRoute)--testCreateNetworkACLEntryResponse :: CreateNetworkACLEntryResponse -> TestTree-testCreateNetworkACLEntryResponse = res-    "CreateNetworkACLEntryResponse"-    "fixture/CreateNetworkACLEntryResponse.proto"-    eC2-    (Proxy :: Proxy CreateNetworkACLEntry)--testModifySnapshotAttributeResponse :: ModifySnapshotAttributeResponse -> TestTree-testModifySnapshotAttributeResponse = res-    "ModifySnapshotAttributeResponse"-    "fixture/ModifySnapshotAttributeResponse.proto"-    eC2-    (Proxy :: Proxy ModifySnapshotAttribute)--testEnableVGWRoutePropagationResponse :: EnableVGWRoutePropagationResponse -> TestTree-testEnableVGWRoutePropagationResponse = res-    "EnableVGWRoutePropagationResponse"-    "fixture/EnableVGWRoutePropagationResponse.proto"-    eC2-    (Proxy :: Proxy EnableVGWRoutePropagation)--testCreateSnapshotResponse :: Snapshot -> TestTree-testCreateSnapshotResponse = res-    "CreateSnapshotResponse"-    "fixture/CreateSnapshotResponse.proto"-    eC2-    (Proxy :: Proxy CreateSnapshot)--testDescribeSpotFleetRequestHistoryResponse :: DescribeSpotFleetRequestHistoryResponse -> TestTree-testDescribeSpotFleetRequestHistoryResponse = res-    "DescribeSpotFleetRequestHistoryResponse"-    "fixture/DescribeSpotFleetRequestHistoryResponse.proto"-    eC2-    (Proxy :: Proxy DescribeSpotFleetRequestHistory)--testDeleteSpotDatafeedSubscriptionResponse :: DeleteSpotDatafeedSubscriptionResponse -> TestTree-testDeleteSpotDatafeedSubscriptionResponse = res-    "DeleteSpotDatafeedSubscriptionResponse"-    "fixture/DeleteSpotDatafeedSubscriptionResponse.proto"-    eC2-    (Proxy :: Proxy DeleteSpotDatafeedSubscription)--testDescribePlacementGroupsResponse :: DescribePlacementGroupsResponse -> TestTree-testDescribePlacementGroupsResponse = res-    "DescribePlacementGroupsResponse"-    "fixture/DescribePlacementGroupsResponse.proto"-    eC2-    (Proxy :: Proxy DescribePlacementGroups)--testCreateReservedInstancesListingResponse :: CreateReservedInstancesListingResponse -> TestTree-testCreateReservedInstancesListingResponse = res-    "CreateReservedInstancesListingResponse"-    "fixture/CreateReservedInstancesListingResponse.proto"-    eC2-    (Proxy :: Proxy CreateReservedInstancesListing)--testEnableVPCClassicLinkResponse :: EnableVPCClassicLinkResponse -> TestTree-testEnableVPCClassicLinkResponse = res-    "EnableVPCClassicLinkResponse"-    "fixture/EnableVPCClassicLinkResponse.proto"-    eC2-    (Proxy :: Proxy EnableVPCClassicLink)--testDescribeKeyPairsResponse :: DescribeKeyPairsResponse -> TestTree-testDescribeKeyPairsResponse = res-    "DescribeKeyPairsResponse"-    "fixture/DescribeKeyPairsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeKeyPairs)--testRebootInstancesResponse :: RebootInstancesResponse -> TestTree-testRebootInstancesResponse = res-    "RebootInstancesResponse"-    "fixture/RebootInstancesResponse.proto"-    eC2-    (Proxy :: Proxy RebootInstances)--testAttachVPNGatewayResponse :: AttachVPNGatewayResponse -> TestTree-testAttachVPNGatewayResponse = res-    "AttachVPNGatewayResponse"-    "fixture/AttachVPNGatewayResponse.proto"-    eC2-    (Proxy :: Proxy AttachVPNGateway)--testCreateVPNConnectionRouteResponse :: CreateVPNConnectionRouteResponse -> TestTree-testCreateVPNConnectionRouteResponse = res-    "CreateVPNConnectionRouteResponse"-    "fixture/CreateVPNConnectionRouteResponse.proto"-    eC2-    (Proxy :: Proxy CreateVPNConnectionRoute)--testDescribeClassicLinkInstancesResponse :: DescribeClassicLinkInstancesResponse -> TestTree-testDescribeClassicLinkInstancesResponse = res-    "DescribeClassicLinkInstancesResponse"-    "fixture/DescribeClassicLinkInstancesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeClassicLinkInstances)--testTerminateInstancesResponse :: TerminateInstancesResponse -> TestTree-testTerminateInstancesResponse = res-    "TerminateInstancesResponse"-    "fixture/TerminateInstancesResponse.proto"-    eC2-    (Proxy :: Proxy TerminateInstances)--testCreateDHCPOptionsResponse :: CreateDHCPOptionsResponse -> TestTree-testCreateDHCPOptionsResponse = res-    "CreateDHCPOptionsResponse"-    "fixture/CreateDHCPOptionsResponse.proto"-    eC2-    (Proxy :: Proxy CreateDHCPOptions)--testAssociateRouteTableResponse :: AssociateRouteTableResponse -> TestTree-testAssociateRouteTableResponse = res-    "AssociateRouteTableResponse"-    "fixture/AssociateRouteTableResponse.proto"-    eC2-    (Proxy :: Proxy AssociateRouteTable)--testCreateImageResponse :: CreateImageResponse -> TestTree-testCreateImageResponse = res-    "CreateImageResponse"-    "fixture/CreateImageResponse.proto"-    eC2-    (Proxy :: Proxy CreateImage)--testDescribeAccountAttributesResponse :: DescribeAccountAttributesResponse -> TestTree-testDescribeAccountAttributesResponse = res-    "DescribeAccountAttributesResponse"-    "fixture/DescribeAccountAttributesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeAccountAttributes)--testResetImageAttributeResponse :: ResetImageAttributeResponse -> TestTree-testResetImageAttributeResponse = res-    "ResetImageAttributeResponse"-    "fixture/ResetImageAttributeResponse.proto"-    eC2-    (Proxy :: Proxy ResetImageAttribute)--testDescribeNetworkACLsResponse :: DescribeNetworkACLsResponse -> TestTree-testDescribeNetworkACLsResponse = res-    "DescribeNetworkACLsResponse"-    "fixture/DescribeNetworkACLsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeNetworkACLs)--testCancelImportTaskResponse :: CancelImportTaskResponse -> TestTree-testCancelImportTaskResponse = res-    "CancelImportTaskResponse"-    "fixture/CancelImportTaskResponse.proto"-    eC2-    (Proxy :: Proxy CancelImportTask)--testGetConsoleOutputResponse :: GetConsoleOutputResponse -> TestTree-testGetConsoleOutputResponse = res-    "GetConsoleOutputResponse"-    "fixture/GetConsoleOutputResponse.proto"-    eC2-    (Proxy :: Proxy GetConsoleOutput)--testUnassignPrivateIPAddressesResponse :: UnassignPrivateIPAddressesResponse -> TestTree-testUnassignPrivateIPAddressesResponse = res-    "UnassignPrivateIPAddressesResponse"-    "fixture/UnassignPrivateIPAddressesResponse.proto"-    eC2-    (Proxy :: Proxy UnassignPrivateIPAddresses)--testDeleteRouteTableResponse :: DeleteRouteTableResponse -> TestTree-testDeleteRouteTableResponse = res-    "DeleteRouteTableResponse"-    "fixture/DeleteRouteTableResponse.proto"-    eC2-    (Proxy :: Proxy DeleteRouteTable)--testDescribeImageAttributeResponse :: DescribeImageAttributeResponse -> TestTree-testDescribeImageAttributeResponse = res-    "DescribeImageAttributeResponse"-    "fixture/DescribeImageAttributeResponse.proto"-    eC2-    (Proxy :: Proxy DescribeImageAttribute)--testDeleteDHCPOptionsResponse :: DeleteDHCPOptionsResponse -> TestTree-testDeleteDHCPOptionsResponse = res-    "DeleteDHCPOptionsResponse"-    "fixture/DeleteDHCPOptionsResponse.proto"-    eC2-    (Proxy :: Proxy DeleteDHCPOptions)--testDescribeVPNGatewaysResponse :: DescribeVPNGatewaysResponse -> TestTree-testDescribeVPNGatewaysResponse = res-    "DescribeVPNGatewaysResponse"-    "fixture/DescribeVPNGatewaysResponse.proto"-    eC2-    (Proxy :: Proxy DescribeVPNGateways)--testDetachClassicLinkVPCResponse :: DetachClassicLinkVPCResponse -> TestTree-testDetachClassicLinkVPCResponse = res-    "DetachClassicLinkVPCResponse"-    "fixture/DetachClassicLinkVPCResponse.proto"-    eC2-    (Proxy :: Proxy DetachClassicLinkVPC)--testDescribeReservedInstancesModificationsResponse :: DescribeReservedInstancesModificationsResponse -> TestTree-testDescribeReservedInstancesModificationsResponse = res-    "DescribeReservedInstancesModificationsResponse"-    "fixture/DescribeReservedInstancesModificationsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeReservedInstancesModifications)--testDescribeSpotInstanceRequestsResponse :: DescribeSpotInstanceRequestsResponse -> TestTree-testDescribeSpotInstanceRequestsResponse = res-    "DescribeSpotInstanceRequestsResponse"-    "fixture/DescribeSpotInstanceRequestsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeSpotInstanceRequests)--testMonitorInstancesResponse :: MonitorInstancesResponse -> TestTree-testMonitorInstancesResponse = res-    "MonitorInstancesResponse"-    "fixture/MonitorInstancesResponse.proto"-    eC2-    (Proxy :: Proxy MonitorInstances)--testDescribeRegionsResponse :: DescribeRegionsResponse -> TestTree-testDescribeRegionsResponse = res-    "DescribeRegionsResponse"-    "fixture/DescribeRegionsResponse.proto"-    eC2-    (Proxy :: Proxy DescribeRegions)--testModifyVPCAttributeResponse :: ModifyVPCAttributeResponse -> TestTree-testModifyVPCAttributeResponse = res-    "ModifyVPCAttributeResponse"-    "fixture/ModifyVPCAttributeResponse.proto"-    eC2-    (Proxy :: Proxy ModifyVPCAttribute)--testDescribeSpotFleetInstancesResponse :: DescribeSpotFleetInstancesResponse -> TestTree-testDescribeSpotFleetInstancesResponse = res-    "DescribeSpotFleetInstancesResponse"-    "fixture/DescribeSpotFleetInstancesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeSpotFleetInstances)--testDescribeVolumeStatusResponse :: DescribeVolumeStatusResponse -> TestTree-testDescribeVolumeStatusResponse = res-    "DescribeVolumeStatusResponse"-    "fixture/DescribeVolumeStatusResponse.proto"-    eC2-    (Proxy :: Proxy DescribeVolumeStatus)--testDeleteVolumeResponse :: DeleteVolumeResponse -> TestTree-testDeleteVolumeResponse = res-    "DeleteVolumeResponse"-    "fixture/DeleteVolumeResponse.proto"-    eC2-    (Proxy :: Proxy DeleteVolume)--testDescribeImagesResponse :: DescribeImagesResponse -> TestTree-testDescribeImagesResponse = res-    "DescribeImagesResponse"-    "fixture/DescribeImagesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeImages)--testCreateKeyPairResponse :: CreateKeyPairResponse -> TestTree-testCreateKeyPairResponse = res-    "CreateKeyPairResponse"-    "fixture/CreateKeyPairResponse.proto"-    eC2-    (Proxy :: Proxy CreateKeyPair)--testRestoreAddressToClassicResponse :: RestoreAddressToClassicResponse -> TestTree-testRestoreAddressToClassicResponse = res-    "RestoreAddressToClassicResponse"-    "fixture/RestoreAddressToClassicResponse.proto"-    eC2-    (Proxy :: Proxy RestoreAddressToClassic)--testDescribeAvailabilityZonesResponse :: DescribeAvailabilityZonesResponse -> TestTree-testDescribeAvailabilityZonesResponse = res-    "DescribeAvailabilityZonesResponse"-    "fixture/DescribeAvailabilityZonesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeAvailabilityZones)--testImportSnapshotResponse :: ImportSnapshotResponse -> TestTree-testImportSnapshotResponse = res-    "ImportSnapshotResponse"-    "fixture/ImportSnapshotResponse.proto"-    eC2-    (Proxy :: Proxy ImportSnapshot)--testAcceptVPCPeeringConnectionResponse :: AcceptVPCPeeringConnectionResponse -> TestTree-testAcceptVPCPeeringConnectionResponse = res-    "AcceptVPCPeeringConnectionResponse"-    "fixture/AcceptVPCPeeringConnectionResponse.proto"-    eC2-    (Proxy :: Proxy AcceptVPCPeeringConnection)--testDescribeRouteTablesResponse :: DescribeRouteTablesResponse -> TestTree-testDescribeRouteTablesResponse = res-    "DescribeRouteTablesResponse"-    "fixture/DescribeRouteTablesResponse.proto"-    eC2-    (Proxy :: Proxy DescribeRouteTables)+--         [ testImportInstance $+--             importInstance+--+--         , testRevokeSecurityGroupEgress $+--             revokeSecurityGroupEgress+--+--         , testCreateVPNGateway $+--             createVPNGateway+--+--         , testCreateNetworkACL $+--             createNetworkACL+--+--         , testDeleteKeyPair $+--             deleteKeyPair+--+--         , testDescribeTags $+--             describeTags+--+--         , testDetachNetworkInterface $+--             detachNetworkInterface+--+--         , testDetachInternetGateway $+--             detachInternetGateway+--+--         , testDeleteVPCEndpoints $+--             deleteVPCEndpoints+--+--         , testDeleteFlowLogs $+--             deleteFlowLogs+--+--         , testDescribeVPCClassicLink $+--             describeVPCClassicLink+--+--         , testModifySubnetAttribute $+--             modifySubnetAttribute+--+--         , testDetachVolume $+--             detachVolume+--+--         , testCancelBundleTask $+--             cancelBundleTask+--+--         , testReleaseAddress $+--             releaseAddress+--+--         , testCreateInternetGateway $+--             createInternetGateway+--+--         , testDeleteVPNConnection $+--             deleteVPNConnection+--+--         , testDescribeBundleTasks $+--             describeBundleTasks+--+--         , testAuthorizeSecurityGroupEgress $+--             authorizeSecurityGroupEgress+--+--         , testDeregisterImage $+--             deregisterImage+--+--         , testModifyNetworkInterfaceAttribute $+--             modifyNetworkInterfaceAttribute+--+--         , testCancelReservedInstancesListing $+--             cancelReservedInstancesListing+--+--         , testAttachClassicLinkVPC $+--             attachClassicLinkVPC+--+--         , testCancelSpotFleetRequests $+--             cancelSpotFleetRequests+--+--         , testDescribeSpotPriceHistory $+--             describeSpotPriceHistory+--+--         , testDescribeDHCPOptions $+--             describeDHCPOptions+--+--         , testImportImage $+--             importImage+--+--         , testStopInstances $+--             stopInstances+--+--         , testDescribeInternetGateways $+--             describeInternetGateways+--+--         , testDisableVPCClassicLink $+--             disableVPCClassicLink+--+--         , testBundleInstance $+--             bundleInstance+--+--         , testDescribeNetworkInterfaces $+--             describeNetworkInterfaces+--+--         , testReplaceNetworkACLAssociation $+--             replaceNetworkACLAssociation+--+--         , testDescribeAddresses $+--             describeAddresses+--+--         , testDescribeSnapshotAttribute $+--             describeSnapshotAttribute+--+--         , testReplaceRoute $+--             replaceRoute+--+--         , testDescribeVPCEndpointServices $+--             describeVPCEndpointServices+--+--         , testAuthorizeSecurityGroupIngress $+--             authorizeSecurityGroupIngress+--+--         , testCreateVPCPeeringConnection $+--             createVPCPeeringConnection+--+--         , testDescribeSubnets $+--             describeSubnets+--+--         , testCreateTags $+--             createTags+--+--         , testPurchaseReservedInstancesOffering $+--             purchaseReservedInstancesOffering+--+--         , testDeleteNetworkACLEntry $+--             deleteNetworkACLEntry+--+--         , testResetSnapshotAttribute $+--             resetSnapshotAttribute+--+--         , testDescribeVPNConnections $+--             describeVPNConnections+--+--         , testDeleteRoute $+--             deleteRoute+--+--         , testReplaceNetworkACLEntry $+--             replaceNetworkACLEntry+--+--         , testDescribeVPCEndpoints $+--             describeVPCEndpoints+--+--         , testResetInstanceAttribute $+--             resetInstanceAttribute+--+--         , testAttachNetworkInterface $+--             attachNetworkInterface+--+--         , testDescribeInstanceStatus $+--             describeInstanceStatus+--+--         , testImportKeyPair $+--             importKeyPair+--+--         , testDeleteTags $+--             deleteTags+--+--         , testConfirmProductInstance $+--             confirmProductInstance+--+--         , testDescribeInstanceAttribute $+--             describeInstanceAttribute+--+--         , testDescribeReservedInstancesOfferings $+--             describeReservedInstancesOfferings+--+--         , testCreateCustomerGateway $+--             createCustomerGateway+--+--         , testDeleteSecurityGroup $+--             deleteSecurityGroup+--+--         , testDeleteVPCPeeringConnection $+--             deleteVPCPeeringConnection+--+--         , testAttachInternetGateway $+--             attachInternetGateway+--+--         , testDescribeFlowLogs $+--             describeFlowLogs+--+--         , testRunInstances $+--             runInstances+--+--         , testAssociateDHCPOptions $+--             associateDHCPOptions+--+--         , testDescribeReservedInstances $+--             describeReservedInstances+--+--         , testDescribeVPCs $+--             describeVPCs+--+--         , testDescribeConversionTasks $+--             describeConversionTasks+--+--         , testAllocateAddress $+--             allocateAddress+--+--         , testCancelConversionTask $+--             cancelConversionTask+--+--         , testModifyImageAttribute $+--             modifyImageAttribute+--+--         , testCreateRouteTable $+--             createRouteTable+--+--         , testReportInstanceStatus $+--             reportInstanceStatus+--+--         , testAttachVolume $+--             attachVolume+--+--         , testRequestSpotInstances $+--             requestSpotInstances+--+--         , testDescribeVolumes $+--             describeVolumes+--+--         , testRejectVPCPeeringConnection $+--             rejectVPCPeeringConnection+--+--         , testDeleteVPNConnectionRoute $+--             deleteVPNConnectionRoute+--+--         , testModifyVPCEndpoint $+--             modifyVPCEndpoint+--+--         , testRegisterImage $+--             registerImage+--+--         , testRevokeSecurityGroupIngress $+--             revokeSecurityGroupIngress+--+--         , testModifyReservedInstances $+--             modifyReservedInstances+--+--         , testCreateFlowLogs $+--             createFlowLogs+--+--         , testDescribeSpotFleetRequests $+--             describeSpotFleetRequests+--+--         , testMoveAddressToVPC $+--             moveAddressToVPC+--+--         , testDeleteNetworkACL $+--             deleteNetworkACL+--+--         , testDeleteVPNGateway $+--             deleteVPNGateway+--+--         , testDescribeImportImageTasks $+--             describeImportImageTasks+--+--         , testDescribeVolumeAttribute $+--             describeVolumeAttribute+--+--         , testDescribeMovingAddresses $+--             describeMovingAddresses+--+--         , testGetPasswordData $+--             getPasswordData+--+--         , testCreateVPC $+--             createVPC+--+--         , testCopySnapshot $+--             copySnapshot+--+--         , testDisassociateAddress $+--             disassociateAddress+--+--         , testDeleteVPC $+--             deleteVPC+--+--         , testCreateInstanceExportTask $+--             createInstanceExportTask+--+--         , testDescribeVPCAttribute $+--             describeVPCAttribute+--+--         , testCreateVolume $+--             createVolume+--+--         , testModifyVolumeAttribute $+--             modifyVolumeAttribute+--+--         , testDescribeSpotDatafeedSubscription $+--             describeSpotDatafeedSubscription+--+--         , testDescribePrefixLists $+--             describePrefixLists+--+--         , testDeletePlacementGroup $+--             deletePlacementGroup+--+--         , testRequestSpotFleet $+--             requestSpotFleet+--+--         , testCreateSubnet $+--             createSubnet+--+--         , testCreateNetworkInterface $+--             createNetworkInterface+--+--         , testDescribeSecurityGroups $+--             describeSecurityGroups+--+--         , testDescribeExportTasks $+--             describeExportTasks+--+--         , testDetachVPNGateway $+--             detachVPNGateway+--+--         , testEnableVolumeIO $+--             enableVolumeIO+--+--         , testDescribeInstances $+--             describeInstances+--+--         , testDescribeVPCPeeringConnections $+--             describeVPCPeeringConnections+--+--         , testCancelExportTask $+--             cancelExportTask+--+--         , testDeleteNetworkInterface $+--             deleteNetworkInterface+--+--         , testReplaceRouteTableAssociation $+--             replaceRouteTableAssociation+--+--         , testStartInstances $+--             startInstances+--+--         , testCreatePlacementGroup $+--             createPlacementGroup+--+--         , testDescribeSnapshots $+--             describeSnapshots+--+--         , testAssociateAddress $+--             associateAddress+--+--         , testDescribeNetworkInterfaceAttribute $+--             describeNetworkInterfaceAttribute+--+--         , testResetNetworkInterfaceAttribute $+--             resetNetworkInterfaceAttribute+--+--         , testDeleteInternetGateway $+--             deleteInternetGateway+--+--         , testDescribeReservedInstancesListings $+--             describeReservedInstancesListings+--+--         , testCreateVPNConnection $+--             createVPNConnection+--+--         , testDescribeImportSnapshotTasks $+--             describeImportSnapshotTasks+--+--         , testDescribeCustomerGateways $+--             describeCustomerGateways+--+--         , testDeleteSubnet $+--             deleteSubnet+--+--         , testCopyImage $+--             copyImage+--+--         , testCreateVPCEndpoint $+--             createVPCEndpoint+--+--         , testUnmonitorInstances $+--             unmonitorInstances+--+--         , testCreateSecurityGroup $+--             createSecurityGroup+--+--         , testImportVolume $+--             importVolume+--+--         , testDisableVGWRoutePropagation $+--             disableVGWRoutePropagation+--+--         , testCreateSpotDatafeedSubscription $+--             createSpotDatafeedSubscription+--+--         , testCancelSpotInstanceRequests $+--             cancelSpotInstanceRequests+--+--         , testCreateRoute $+--             createRoute+--+--         , testDeleteSnapshot $+--             deleteSnapshot+--+--         , testAssignPrivateIPAddresses $+--             assignPrivateIPAddresses+--+--         , testModifyInstanceAttribute $+--             modifyInstanceAttribute+--+--         , testDeleteCustomerGateway $+--             deleteCustomerGateway+--+--         , testDisassociateRouteTable $+--             disassociateRouteTable+--+--         , testDeleteSpotDatafeedSubscription $+--             deleteSpotDatafeedSubscription+--+--         , testEnableVPCClassicLink $+--             enableVPCClassicLink+--+--         , testDescribePlacementGroups $+--             describePlacementGroups+--+--         , testEnableVGWRoutePropagation $+--             enableVGWRoutePropagation+--+--         , testDescribeSpotFleetRequestHistory $+--             describeSpotFleetRequestHistory+--+--         , testModifySnapshotAttribute $+--             modifySnapshotAttribute+--+--         , testCreateSnapshot $+--             createSnapshot+--+--         , testCreateNetworkACLEntry $+--             createNetworkACLEntry+--+--         , testCreateReservedInstancesListing $+--             createReservedInstancesListing+--+--         , testAttachVPNGateway $+--             attachVPNGateway+--+--         , testCreateDHCPOptions $+--             createDHCPOptions+--+--         , testDescribeAccountAttributes $+--             describeAccountAttributes+--+--         , testRebootInstances $+--             rebootInstances+--+--         , testCreateImage $+--             createImage+--+--         , testDescribeClassicLinkInstances $+--             describeClassicLinkInstances+--+--         , testTerminateInstances $+--             terminateInstances+--+--         , testDescribeKeyPairs $+--             describeKeyPairs+--+--         , testCreateVPNConnectionRoute $+--             createVPNConnectionRoute+--+--         , testAssociateRouteTable $+--             associateRouteTable+--+--         , testDescribeVPNGateways $+--             describeVPNGateways+--+--         , testGetConsoleOutput $+--             getConsoleOutput+--+--         , testDescribeImageAttribute $+--             describeImageAttribute+--+--         , testDeleteRouteTable $+--             deleteRouteTable+--+--         , testResetImageAttribute $+--             resetImageAttribute+--+--         , testDescribeReservedInstancesModifications $+--             describeReservedInstancesModifications+--+--         , testDescribeSpotInstanceRequests $+--             describeSpotInstanceRequests+--+--         , testUnassignPrivateIPAddresses $+--             unassignPrivateIPAddresses+--+--         , testDeleteDHCPOptions $+--             deleteDHCPOptions+--+--         , testDescribeNetworkACLs $+--             describeNetworkACLs+--+--         , testCancelImportTask $+--             cancelImportTask+--+--         , testDetachClassicLinkVPC $+--             detachClassicLinkVPC+--+--         , testDescribeRegions $+--             describeRegions+--+--         , testMonitorInstances $+--             monitorInstances+--+--         , testAcceptVPCPeeringConnection $+--             acceptVPCPeeringConnection+--+--         , testImportSnapshot $+--             importSnapshot+--+--         , testDescribeVolumeStatus $+--             describeVolumeStatus+--+--         , testDescribeRouteTables $+--             describeRouteTables+--+--         , testDescribeAvailabilityZones $+--             describeAvailabilityZones+--+--         , testModifyVPCAttribute $+--             modifyVPCAttribute+--+--         , testDescribeImages $+--             describeImages+--+--         , testRestoreAddressToClassic $+--             restoreAddressToClassic+--+--         , testCreateKeyPair $+--             createKeyPair+--+--         , testDeleteVolume $+--             deleteVolume+--+--         , testDescribeSpotFleetInstances $+--             describeSpotFleetInstances+--+--           ]++--     , testGroup "response"+--         [ testImportInstanceResponse $+--             importInstanceResponse+--+--         , testRevokeSecurityGroupEgressResponse $+--             revokeSecurityGroupEgressResponse+--+--         , testCreateVPNGatewayResponse $+--             createVPNGatewayResponse+--+--         , testCreateNetworkACLResponse $+--             createNetworkACLResponse+--+--         , testDeleteKeyPairResponse $+--             deleteKeyPairResponse+--+--         , testDescribeTagsResponse $+--             describeTagsResponse+--+--         , testDetachNetworkInterfaceResponse $+--             detachNetworkInterfaceResponse+--+--         , testDetachInternetGatewayResponse $+--             detachInternetGatewayResponse+--+--         , testDeleteVPCEndpointsResponse $+--             deleteVPCEndpointsResponse+--+--         , testDeleteFlowLogsResponse $+--             deleteFlowLogsResponse+--+--         , testDescribeVPCClassicLinkResponse $+--             describeVPCClassicLinkResponse+--+--         , testModifySubnetAttributeResponse $+--             modifySubnetAttributeResponse+--+--         , testDetachVolumeResponse $+--             volumeAttachment+--+--         , testCancelBundleTaskResponse $+--             cancelBundleTaskResponse+--+--         , testReleaseAddressResponse $+--             releaseAddressResponse+--+--         , testCreateInternetGatewayResponse $+--             createInternetGatewayResponse+--+--         , testDeleteVPNConnectionResponse $+--             deleteVPNConnectionResponse+--+--         , testDescribeBundleTasksResponse $+--             describeBundleTasksResponse+--+--         , testAuthorizeSecurityGroupEgressResponse $+--             authorizeSecurityGroupEgressResponse+--+--         , testDeregisterImageResponse $+--             deregisterImageResponse+--+--         , testModifyNetworkInterfaceAttributeResponse $+--             modifyNetworkInterfaceAttributeResponse+--+--         , testCancelReservedInstancesListingResponse $+--             cancelReservedInstancesListingResponse+--+--         , testAttachClassicLinkVPCResponse $+--             attachClassicLinkVPCResponse+--+--         , testCancelSpotFleetRequestsResponse $+--             cancelSpotFleetRequestsResponse+--+--         , testDescribeSpotPriceHistoryResponse $+--             describeSpotPriceHistoryResponse+--+--         , testDescribeDHCPOptionsResponse $+--             describeDHCPOptionsResponse+--+--         , testImportImageResponse $+--             importImageResponse+--+--         , testStopInstancesResponse $+--             stopInstancesResponse+--+--         , testDescribeInternetGatewaysResponse $+--             describeInternetGatewaysResponse+--+--         , testDisableVPCClassicLinkResponse $+--             disableVPCClassicLinkResponse+--+--         , testBundleInstanceResponse $+--             bundleInstanceResponse+--+--         , testDescribeNetworkInterfacesResponse $+--             describeNetworkInterfacesResponse+--+--         , testReplaceNetworkACLAssociationResponse $+--             replaceNetworkACLAssociationResponse+--+--         , testDescribeAddressesResponse $+--             describeAddressesResponse+--+--         , testDescribeSnapshotAttributeResponse $+--             describeSnapshotAttributeResponse+--+--         , testReplaceRouteResponse $+--             replaceRouteResponse+--+--         , testDescribeVPCEndpointServicesResponse $+--             describeVPCEndpointServicesResponse+--+--         , testAuthorizeSecurityGroupIngressResponse $+--             authorizeSecurityGroupIngressResponse+--+--         , testCreateVPCPeeringConnectionResponse $+--             createVPCPeeringConnectionResponse+--+--         , testDescribeSubnetsResponse $+--             describeSubnetsResponse+--+--         , testCreateTagsResponse $+--             createTagsResponse+--+--         , testPurchaseReservedInstancesOfferingResponse $+--             purchaseReservedInstancesOfferingResponse+--+--         , testDeleteNetworkACLEntryResponse $+--             deleteNetworkACLEntryResponse+--+--         , testResetSnapshotAttributeResponse $+--             resetSnapshotAttributeResponse+--+--         , testDescribeVPNConnectionsResponse $+--             describeVPNConnectionsResponse+--+--         , testDeleteRouteResponse $+--             deleteRouteResponse+--+--         , testReplaceNetworkACLEntryResponse $+--             replaceNetworkACLEntryResponse+--+--         , testDescribeVPCEndpointsResponse $+--             describeVPCEndpointsResponse+--+--         , testResetInstanceAttributeResponse $+--             resetInstanceAttributeResponse+--+--         , testAttachNetworkInterfaceResponse $+--             attachNetworkInterfaceResponse+--+--         , testDescribeInstanceStatusResponse $+--             describeInstanceStatusResponse+--+--         , testImportKeyPairResponse $+--             importKeyPairResponse+--+--         , testDeleteTagsResponse $+--             deleteTagsResponse+--+--         , testConfirmProductInstanceResponse $+--             confirmProductInstanceResponse+--+--         , testDescribeInstanceAttributeResponse $+--             describeInstanceAttributeResponse+--+--         , testDescribeReservedInstancesOfferingsResponse $+--             describeReservedInstancesOfferingsResponse+--+--         , testCreateCustomerGatewayResponse $+--             createCustomerGatewayResponse+--+--         , testDeleteSecurityGroupResponse $+--             deleteSecurityGroupResponse+--+--         , testDeleteVPCPeeringConnectionResponse $+--             deleteVPCPeeringConnectionResponse+--+--         , testAttachInternetGatewayResponse $+--             attachInternetGatewayResponse+--+--         , testDescribeFlowLogsResponse $+--             describeFlowLogsResponse+--+--         , testRunInstancesResponse $+--             reservation+--+--         , testAssociateDHCPOptionsResponse $+--             associateDHCPOptionsResponse+--+--         , testDescribeReservedInstancesResponse $+--             describeReservedInstancesResponse+--+--         , testDescribeVPCsResponse $+--             describeVPCsResponse+--+--         , testDescribeConversionTasksResponse $+--             describeConversionTasksResponse+--+--         , testAllocateAddressResponse $+--             allocateAddressResponse+--+--         , testCancelConversionTaskResponse $+--             cancelConversionTaskResponse+--+--         , testModifyImageAttributeResponse $+--             modifyImageAttributeResponse+--+--         , testCreateRouteTableResponse $+--             createRouteTableResponse+--+--         , testReportInstanceStatusResponse $+--             reportInstanceStatusResponse+--+--         , testAttachVolumeResponse $+--             volumeAttachment+--+--         , testRequestSpotInstancesResponse $+--             requestSpotInstancesResponse+--+--         , testDescribeVolumesResponse $+--             describeVolumesResponse+--+--         , testRejectVPCPeeringConnectionResponse $+--             rejectVPCPeeringConnectionResponse+--+--         , testDeleteVPNConnectionRouteResponse $+--             deleteVPNConnectionRouteResponse+--+--         , testModifyVPCEndpointResponse $+--             modifyVPCEndpointResponse+--+--         , testRegisterImageResponse $+--             registerImageResponse+--+--         , testRevokeSecurityGroupIngressResponse $+--             revokeSecurityGroupIngressResponse+--+--         , testModifyReservedInstancesResponse $+--             modifyReservedInstancesResponse+--+--         , testCreateFlowLogsResponse $+--             createFlowLogsResponse+--+--         , testDescribeSpotFleetRequestsResponse $+--             describeSpotFleetRequestsResponse+--+--         , testMoveAddressToVPCResponse $+--             moveAddressToVPCResponse+--+--         , testDeleteNetworkACLResponse $+--             deleteNetworkACLResponse+--+--         , testDeleteVPNGatewayResponse $+--             deleteVPNGatewayResponse+--+--         , testDescribeImportImageTasksResponse $+--             describeImportImageTasksResponse+--+--         , testDescribeVolumeAttributeResponse $+--             describeVolumeAttributeResponse+--+--         , testDescribeMovingAddressesResponse $+--             describeMovingAddressesResponse+--+--         , testGetPasswordDataResponse $+--             getPasswordDataResponse+--+--         , testCreateVPCResponse $+--             createVPCResponse+--+--         , testCopySnapshotResponse $+--             copySnapshotResponse+--+--         , testDisassociateAddressResponse $+--             disassociateAddressResponse+--+--         , testDeleteVPCResponse $+--             deleteVPCResponse+--+--         , testCreateInstanceExportTaskResponse $+--             createInstanceExportTaskResponse+--+--         , testDescribeVPCAttributeResponse $+--             describeVPCAttributeResponse+--+--         , testCreateVolumeResponse $+--             volume+--+--         , testModifyVolumeAttributeResponse $+--             modifyVolumeAttributeResponse+--+--         , testDescribeSpotDatafeedSubscriptionResponse $+--             describeSpotDatafeedSubscriptionResponse+--+--         , testDescribePrefixListsResponse $+--             describePrefixListsResponse+--+--         , testDeletePlacementGroupResponse $+--             deletePlacementGroupResponse+--+--         , testRequestSpotFleetResponse $+--             requestSpotFleetResponse+--+--         , testCreateSubnetResponse $+--             createSubnetResponse+--+--         , testCreateNetworkInterfaceResponse $+--             createNetworkInterfaceResponse+--+--         , testDescribeSecurityGroupsResponse $+--             describeSecurityGroupsResponse+--+--         , testDescribeExportTasksResponse $+--             describeExportTasksResponse+--+--         , testDetachVPNGatewayResponse $+--             detachVPNGatewayResponse+--+--         , testEnableVolumeIOResponse $+--             enableVolumeIOResponse+--+--         , testDescribeInstancesResponse $+--             describeInstancesResponse+--+--         , testDescribeVPCPeeringConnectionsResponse $+--             describeVPCPeeringConnectionsResponse+--+--         , testCancelExportTaskResponse $+--             cancelExportTaskResponse+--+--         , testDeleteNetworkInterfaceResponse $+--             deleteNetworkInterfaceResponse+--+--         , testReplaceRouteTableAssociationResponse $+--             replaceRouteTableAssociationResponse+--+--         , testStartInstancesResponse $+--             startInstancesResponse+--+--         , testCreatePlacementGroupResponse $+--             createPlacementGroupResponse+--+--         , testDescribeSnapshotsResponse $+--             describeSnapshotsResponse+--+--         , testAssociateAddressResponse $+--             associateAddressResponse+--+--         , testDescribeNetworkInterfaceAttributeResponse $+--             describeNetworkInterfaceAttributeResponse+--+--         , testResetNetworkInterfaceAttributeResponse $+--             resetNetworkInterfaceAttributeResponse+--+--         , testDeleteInternetGatewayResponse $+--             deleteInternetGatewayResponse+--+--         , testDescribeReservedInstancesListingsResponse $+--             describeReservedInstancesListingsResponse+--+--         , testCreateVPNConnectionResponse $+--             createVPNConnectionResponse+--+--         , testDescribeImportSnapshotTasksResponse $+--             describeImportSnapshotTasksResponse+--+--         , testDescribeCustomerGatewaysResponse $+--             describeCustomerGatewaysResponse+--+--         , testDeleteSubnetResponse $+--             deleteSubnetResponse+--+--         , testCopyImageResponse $+--             copyImageResponse+--+--         , testCreateVPCEndpointResponse $+--             createVPCEndpointResponse+--+--         , testUnmonitorInstancesResponse $+--             unmonitorInstancesResponse+--+--         , testCreateSecurityGroupResponse $+--             createSecurityGroupResponse+--+--         , testImportVolumeResponse $+--             importVolumeResponse+--+--         , testDisableVGWRoutePropagationResponse $+--             disableVGWRoutePropagationResponse+--+--         , testCreateSpotDatafeedSubscriptionResponse $+--             createSpotDatafeedSubscriptionResponse+--+--         , testCancelSpotInstanceRequestsResponse $+--             cancelSpotInstanceRequestsResponse+--+--         , testCreateRouteResponse $+--             createRouteResponse+--+--         , testDeleteSnapshotResponse $+--             deleteSnapshotResponse+--+--         , testAssignPrivateIPAddressesResponse $+--             assignPrivateIPAddressesResponse+--+--         , testModifyInstanceAttributeResponse $+--             modifyInstanceAttributeResponse+--+--         , testDeleteCustomerGatewayResponse $+--             deleteCustomerGatewayResponse+--+--         , testDisassociateRouteTableResponse $+--             disassociateRouteTableResponse+--+--         , testDeleteSpotDatafeedSubscriptionResponse $+--             deleteSpotDatafeedSubscriptionResponse+--+--         , testEnableVPCClassicLinkResponse $+--             enableVPCClassicLinkResponse+--+--         , testDescribePlacementGroupsResponse $+--             describePlacementGroupsResponse+--+--         , testEnableVGWRoutePropagationResponse $+--             enableVGWRoutePropagationResponse+--+--         , testDescribeSpotFleetRequestHistoryResponse $+--             describeSpotFleetRequestHistoryResponse+--+--         , testModifySnapshotAttributeResponse $+--             modifySnapshotAttributeResponse+--+--         , testCreateSnapshotResponse $+--             snapshot+--+--         , testCreateNetworkACLEntryResponse $+--             createNetworkACLEntryResponse+--+--         , testCreateReservedInstancesListingResponse $+--             createReservedInstancesListingResponse+--+--         , testAttachVPNGatewayResponse $+--             attachVPNGatewayResponse+--+--         , testCreateDHCPOptionsResponse $+--             createDHCPOptionsResponse+--+--         , testDescribeAccountAttributesResponse $+--             describeAccountAttributesResponse+--+--         , testRebootInstancesResponse $+--             rebootInstancesResponse+--+--         , testCreateImageResponse $+--             createImageResponse+--+--         , testDescribeClassicLinkInstancesResponse $+--             describeClassicLinkInstancesResponse+--+--         , testTerminateInstancesResponse $+--             terminateInstancesResponse+--+--         , testDescribeKeyPairsResponse $+--             describeKeyPairsResponse+--+--         , testCreateVPNConnectionRouteResponse $+--             createVPNConnectionRouteResponse+--+--         , testAssociateRouteTableResponse $+--             associateRouteTableResponse+--+--         , testDescribeVPNGatewaysResponse $+--             describeVPNGatewaysResponse+--+--         , testGetConsoleOutputResponse $+--             getConsoleOutputResponse+--+--         , testDescribeImageAttributeResponse $+--             describeImageAttributeResponse+--+--         , testDeleteRouteTableResponse $+--             deleteRouteTableResponse+--+--         , testResetImageAttributeResponse $+--             resetImageAttributeResponse+--+--         , testDescribeReservedInstancesModificationsResponse $+--             describeReservedInstancesModificationsResponse+--+--         , testDescribeSpotInstanceRequestsResponse $+--             describeSpotInstanceRequestsResponse+--+--         , testUnassignPrivateIPAddressesResponse $+--             unassignPrivateIPAddressesResponse+--+--         , testDeleteDHCPOptionsResponse $+--             deleteDHCPOptionsResponse+--+--         , testDescribeNetworkACLsResponse $+--             describeNetworkACLsResponse+--+--         , testCancelImportTaskResponse $+--             cancelImportTaskResponse+--+--         , testDetachClassicLinkVPCResponse $+--             detachClassicLinkVPCResponse+--+--         , testDescribeRegionsResponse $+--             describeRegionsResponse+--+--         , testMonitorInstancesResponse $+--             monitorInstancesResponse+--+--         , testAcceptVPCPeeringConnectionResponse $+--             acceptVPCPeeringConnectionResponse+--+--         , testImportSnapshotResponse $+--             importSnapshotResponse+--+--         , testDescribeVolumeStatusResponse $+--             describeVolumeStatusResponse+--+--         , testDescribeRouteTablesResponse $+--             describeRouteTablesResponse+--+--         , testDescribeAvailabilityZonesResponse $+--             describeAvailabilityZonesResponse+--+--         , testModifyVPCAttributeResponse $+--             modifyVPCAttributeResponse+--+--         , testDescribeImagesResponse $+--             describeImagesResponse+--+--         , testRestoreAddressToClassicResponse $+--             restoreAddressToClassicResponse+--+--         , testCreateKeyPairResponse $+--             createKeyPairResponse+--+--         , testDeleteVolumeResponse $+--             deleteVolumeResponse+--+--         , testDescribeSpotFleetInstancesResponse $+--             describeSpotFleetInstancesResponse+--+--           ]+--     ]++-- Requests++testImportInstance :: ImportInstance -> TestTree+testImportInstance = req+    "ImportInstance"+    "fixture/ImportInstance.yaml"++testRevokeSecurityGroupEgress :: RevokeSecurityGroupEgress -> TestTree+testRevokeSecurityGroupEgress = req+    "RevokeSecurityGroupEgress"+    "fixture/RevokeSecurityGroupEgress.yaml"++testCreateVPNGateway :: CreateVPNGateway -> TestTree+testCreateVPNGateway = req+    "CreateVPNGateway"+    "fixture/CreateVPNGateway.yaml"++testCreateNetworkACL :: CreateNetworkACL -> TestTree+testCreateNetworkACL = req+    "CreateNetworkACL"+    "fixture/CreateNetworkACL.yaml"++testDeleteKeyPair :: DeleteKeyPair -> TestTree+testDeleteKeyPair = req+    "DeleteKeyPair"+    "fixture/DeleteKeyPair.yaml"++testDescribeTags :: DescribeTags -> TestTree+testDescribeTags = req+    "DescribeTags"+    "fixture/DescribeTags.yaml"++testDetachNetworkInterface :: DetachNetworkInterface -> TestTree+testDetachNetworkInterface = req+    "DetachNetworkInterface"+    "fixture/DetachNetworkInterface.yaml"++testDetachInternetGateway :: DetachInternetGateway -> TestTree+testDetachInternetGateway = req+    "DetachInternetGateway"+    "fixture/DetachInternetGateway.yaml"++testDeleteVPCEndpoints :: DeleteVPCEndpoints -> TestTree+testDeleteVPCEndpoints = req+    "DeleteVPCEndpoints"+    "fixture/DeleteVPCEndpoints.yaml"++testDeleteFlowLogs :: DeleteFlowLogs -> TestTree+testDeleteFlowLogs = req+    "DeleteFlowLogs"+    "fixture/DeleteFlowLogs.yaml"++testDescribeVPCClassicLink :: DescribeVPCClassicLink -> TestTree+testDescribeVPCClassicLink = req+    "DescribeVPCClassicLink"+    "fixture/DescribeVPCClassicLink.yaml"++testModifySubnetAttribute :: ModifySubnetAttribute -> TestTree+testModifySubnetAttribute = req+    "ModifySubnetAttribute"+    "fixture/ModifySubnetAttribute.yaml"++testDetachVolume :: DetachVolume -> TestTree+testDetachVolume = req+    "DetachVolume"+    "fixture/DetachVolume.yaml"++testCancelBundleTask :: CancelBundleTask -> TestTree+testCancelBundleTask = req+    "CancelBundleTask"+    "fixture/CancelBundleTask.yaml"++testReleaseAddress :: ReleaseAddress -> TestTree+testReleaseAddress = req+    "ReleaseAddress"+    "fixture/ReleaseAddress.yaml"++testCreateInternetGateway :: CreateInternetGateway -> TestTree+testCreateInternetGateway = req+    "CreateInternetGateway"+    "fixture/CreateInternetGateway.yaml"++testDeleteVPNConnection :: DeleteVPNConnection -> TestTree+testDeleteVPNConnection = req+    "DeleteVPNConnection"+    "fixture/DeleteVPNConnection.yaml"++testDescribeBundleTasks :: DescribeBundleTasks -> TestTree+testDescribeBundleTasks = req+    "DescribeBundleTasks"+    "fixture/DescribeBundleTasks.yaml"++testAuthorizeSecurityGroupEgress :: AuthorizeSecurityGroupEgress -> TestTree+testAuthorizeSecurityGroupEgress = req+    "AuthorizeSecurityGroupEgress"+    "fixture/AuthorizeSecurityGroupEgress.yaml"++testDeregisterImage :: DeregisterImage -> TestTree+testDeregisterImage = req+    "DeregisterImage"+    "fixture/DeregisterImage.yaml"++testModifyNetworkInterfaceAttribute :: ModifyNetworkInterfaceAttribute -> TestTree+testModifyNetworkInterfaceAttribute = req+    "ModifyNetworkInterfaceAttribute"+    "fixture/ModifyNetworkInterfaceAttribute.yaml"++testCancelReservedInstancesListing :: CancelReservedInstancesListing -> TestTree+testCancelReservedInstancesListing = req+    "CancelReservedInstancesListing"+    "fixture/CancelReservedInstancesListing.yaml"++testAttachClassicLinkVPC :: AttachClassicLinkVPC -> TestTree+testAttachClassicLinkVPC = req+    "AttachClassicLinkVPC"+    "fixture/AttachClassicLinkVPC.yaml"++testCancelSpotFleetRequests :: CancelSpotFleetRequests -> TestTree+testCancelSpotFleetRequests = req+    "CancelSpotFleetRequests"+    "fixture/CancelSpotFleetRequests.yaml"++testDescribeSpotPriceHistory :: DescribeSpotPriceHistory -> TestTree+testDescribeSpotPriceHistory = req+    "DescribeSpotPriceHistory"+    "fixture/DescribeSpotPriceHistory.yaml"++testDescribeDHCPOptions :: DescribeDHCPOptions -> TestTree+testDescribeDHCPOptions = req+    "DescribeDHCPOptions"+    "fixture/DescribeDHCPOptions.yaml"++testImportImage :: ImportImage -> TestTree+testImportImage = req+    "ImportImage"+    "fixture/ImportImage.yaml"++testStopInstances :: StopInstances -> TestTree+testStopInstances = req+    "StopInstances"+    "fixture/StopInstances.yaml"++testDescribeInternetGateways :: DescribeInternetGateways -> TestTree+testDescribeInternetGateways = req+    "DescribeInternetGateways"+    "fixture/DescribeInternetGateways.yaml"++testDisableVPCClassicLink :: DisableVPCClassicLink -> TestTree+testDisableVPCClassicLink = req+    "DisableVPCClassicLink"+    "fixture/DisableVPCClassicLink.yaml"++testBundleInstance :: BundleInstance -> TestTree+testBundleInstance = req+    "BundleInstance"+    "fixture/BundleInstance.yaml"++testDescribeNetworkInterfaces :: DescribeNetworkInterfaces -> TestTree+testDescribeNetworkInterfaces = req+    "DescribeNetworkInterfaces"+    "fixture/DescribeNetworkInterfaces.yaml"++testReplaceNetworkACLAssociation :: ReplaceNetworkACLAssociation -> TestTree+testReplaceNetworkACLAssociation = req+    "ReplaceNetworkACLAssociation"+    "fixture/ReplaceNetworkACLAssociation.yaml"++testDescribeAddresses :: DescribeAddresses -> TestTree+testDescribeAddresses = req+    "DescribeAddresses"+    "fixture/DescribeAddresses.yaml"++testDescribeSnapshotAttribute :: DescribeSnapshotAttribute -> TestTree+testDescribeSnapshotAttribute = req+    "DescribeSnapshotAttribute"+    "fixture/DescribeSnapshotAttribute.yaml"++testReplaceRoute :: ReplaceRoute -> TestTree+testReplaceRoute = req+    "ReplaceRoute"+    "fixture/ReplaceRoute.yaml"++testDescribeVPCEndpointServices :: DescribeVPCEndpointServices -> TestTree+testDescribeVPCEndpointServices = req+    "DescribeVPCEndpointServices"+    "fixture/DescribeVPCEndpointServices.yaml"++testAuthorizeSecurityGroupIngress :: AuthorizeSecurityGroupIngress -> TestTree+testAuthorizeSecurityGroupIngress = req+    "AuthorizeSecurityGroupIngress"+    "fixture/AuthorizeSecurityGroupIngress.yaml"++testCreateVPCPeeringConnection :: CreateVPCPeeringConnection -> TestTree+testCreateVPCPeeringConnection = req+    "CreateVPCPeeringConnection"+    "fixture/CreateVPCPeeringConnection.yaml"++testDescribeSubnets :: DescribeSubnets -> TestTree+testDescribeSubnets = req+    "DescribeSubnets"+    "fixture/DescribeSubnets.yaml"++testCreateTags :: CreateTags -> TestTree+testCreateTags = req+    "CreateTags"+    "fixture/CreateTags.yaml"++testPurchaseReservedInstancesOffering :: PurchaseReservedInstancesOffering -> TestTree+testPurchaseReservedInstancesOffering = req+    "PurchaseReservedInstancesOffering"+    "fixture/PurchaseReservedInstancesOffering.yaml"++testDeleteNetworkACLEntry :: DeleteNetworkACLEntry -> TestTree+testDeleteNetworkACLEntry = req+    "DeleteNetworkACLEntry"+    "fixture/DeleteNetworkACLEntry.yaml"++testResetSnapshotAttribute :: ResetSnapshotAttribute -> TestTree+testResetSnapshotAttribute = req+    "ResetSnapshotAttribute"+    "fixture/ResetSnapshotAttribute.yaml"++testDescribeVPNConnections :: DescribeVPNConnections -> TestTree+testDescribeVPNConnections = req+    "DescribeVPNConnections"+    "fixture/DescribeVPNConnections.yaml"++testDeleteRoute :: DeleteRoute -> TestTree+testDeleteRoute = req+    "DeleteRoute"+    "fixture/DeleteRoute.yaml"++testReplaceNetworkACLEntry :: ReplaceNetworkACLEntry -> TestTree+testReplaceNetworkACLEntry = req+    "ReplaceNetworkACLEntry"+    "fixture/ReplaceNetworkACLEntry.yaml"++testDescribeVPCEndpoints :: DescribeVPCEndpoints -> TestTree+testDescribeVPCEndpoints = req+    "DescribeVPCEndpoints"+    "fixture/DescribeVPCEndpoints.yaml"++testResetInstanceAttribute :: ResetInstanceAttribute -> TestTree+testResetInstanceAttribute = req+    "ResetInstanceAttribute"+    "fixture/ResetInstanceAttribute.yaml"++testAttachNetworkInterface :: AttachNetworkInterface -> TestTree+testAttachNetworkInterface = req+    "AttachNetworkInterface"+    "fixture/AttachNetworkInterface.yaml"++testDescribeInstanceStatus :: DescribeInstanceStatus -> TestTree+testDescribeInstanceStatus = req+    "DescribeInstanceStatus"+    "fixture/DescribeInstanceStatus.yaml"++testImportKeyPair :: ImportKeyPair -> TestTree+testImportKeyPair = req+    "ImportKeyPair"+    "fixture/ImportKeyPair.yaml"++testDeleteTags :: DeleteTags -> TestTree+testDeleteTags = req+    "DeleteTags"+    "fixture/DeleteTags.yaml"++testConfirmProductInstance :: ConfirmProductInstance -> TestTree+testConfirmProductInstance = req+    "ConfirmProductInstance"+    "fixture/ConfirmProductInstance.yaml"++testDescribeInstanceAttribute :: DescribeInstanceAttribute -> TestTree+testDescribeInstanceAttribute = req+    "DescribeInstanceAttribute"+    "fixture/DescribeInstanceAttribute.yaml"++testDescribeReservedInstancesOfferings :: DescribeReservedInstancesOfferings -> TestTree+testDescribeReservedInstancesOfferings = req+    "DescribeReservedInstancesOfferings"+    "fixture/DescribeReservedInstancesOfferings.yaml"++testCreateCustomerGateway :: CreateCustomerGateway -> TestTree+testCreateCustomerGateway = req+    "CreateCustomerGateway"+    "fixture/CreateCustomerGateway.yaml"++testDeleteSecurityGroup :: DeleteSecurityGroup -> TestTree+testDeleteSecurityGroup = req+    "DeleteSecurityGroup"+    "fixture/DeleteSecurityGroup.yaml"++testDeleteVPCPeeringConnection :: DeleteVPCPeeringConnection -> TestTree+testDeleteVPCPeeringConnection = req+    "DeleteVPCPeeringConnection"+    "fixture/DeleteVPCPeeringConnection.yaml"++testAttachInternetGateway :: AttachInternetGateway -> TestTree+testAttachInternetGateway = req+    "AttachInternetGateway"+    "fixture/AttachInternetGateway.yaml"++testDescribeFlowLogs :: DescribeFlowLogs -> TestTree+testDescribeFlowLogs = req+    "DescribeFlowLogs"+    "fixture/DescribeFlowLogs.yaml"++testRunInstances :: RunInstances -> TestTree+testRunInstances = req+    "RunInstances"+    "fixture/RunInstances.yaml"++testAssociateDHCPOptions :: AssociateDHCPOptions -> TestTree+testAssociateDHCPOptions = req+    "AssociateDHCPOptions"+    "fixture/AssociateDHCPOptions.yaml"++testDescribeReservedInstances :: DescribeReservedInstances -> TestTree+testDescribeReservedInstances = req+    "DescribeReservedInstances"+    "fixture/DescribeReservedInstances.yaml"++testDescribeVPCs :: DescribeVPCs -> TestTree+testDescribeVPCs = req+    "DescribeVPCs"+    "fixture/DescribeVPCs.yaml"++testDescribeConversionTasks :: DescribeConversionTasks -> TestTree+testDescribeConversionTasks = req+    "DescribeConversionTasks"+    "fixture/DescribeConversionTasks.yaml"++testAllocateAddress :: AllocateAddress -> TestTree+testAllocateAddress = req+    "AllocateAddress"+    "fixture/AllocateAddress.yaml"++testCancelConversionTask :: CancelConversionTask -> TestTree+testCancelConversionTask = req+    "CancelConversionTask"+    "fixture/CancelConversionTask.yaml"++testModifyImageAttribute :: ModifyImageAttribute -> TestTree+testModifyImageAttribute = req+    "ModifyImageAttribute"+    "fixture/ModifyImageAttribute.yaml"++testCreateRouteTable :: CreateRouteTable -> TestTree+testCreateRouteTable = req+    "CreateRouteTable"+    "fixture/CreateRouteTable.yaml"++testReportInstanceStatus :: ReportInstanceStatus -> TestTree+testReportInstanceStatus = req+    "ReportInstanceStatus"+    "fixture/ReportInstanceStatus.yaml"++testAttachVolume :: AttachVolume -> TestTree+testAttachVolume = req+    "AttachVolume"+    "fixture/AttachVolume.yaml"++testRequestSpotInstances :: RequestSpotInstances -> TestTree+testRequestSpotInstances = req+    "RequestSpotInstances"+    "fixture/RequestSpotInstances.yaml"++testDescribeVolumes :: DescribeVolumes -> TestTree+testDescribeVolumes = req+    "DescribeVolumes"+    "fixture/DescribeVolumes.yaml"++testRejectVPCPeeringConnection :: RejectVPCPeeringConnection -> TestTree+testRejectVPCPeeringConnection = req+    "RejectVPCPeeringConnection"+    "fixture/RejectVPCPeeringConnection.yaml"++testDeleteVPNConnectionRoute :: DeleteVPNConnectionRoute -> TestTree+testDeleteVPNConnectionRoute = req+    "DeleteVPNConnectionRoute"+    "fixture/DeleteVPNConnectionRoute.yaml"++testModifyVPCEndpoint :: ModifyVPCEndpoint -> TestTree+testModifyVPCEndpoint = req+    "ModifyVPCEndpoint"+    "fixture/ModifyVPCEndpoint.yaml"++testRegisterImage :: RegisterImage -> TestTree+testRegisterImage = req+    "RegisterImage"+    "fixture/RegisterImage.yaml"++testRevokeSecurityGroupIngress :: RevokeSecurityGroupIngress -> TestTree+testRevokeSecurityGroupIngress = req+    "RevokeSecurityGroupIngress"+    "fixture/RevokeSecurityGroupIngress.yaml"++testModifyReservedInstances :: ModifyReservedInstances -> TestTree+testModifyReservedInstances = req+    "ModifyReservedInstances"+    "fixture/ModifyReservedInstances.yaml"++testCreateFlowLogs :: CreateFlowLogs -> TestTree+testCreateFlowLogs = req+    "CreateFlowLogs"+    "fixture/CreateFlowLogs.yaml"++testDescribeSpotFleetRequests :: DescribeSpotFleetRequests -> TestTree+testDescribeSpotFleetRequests = req+    "DescribeSpotFleetRequests"+    "fixture/DescribeSpotFleetRequests.yaml"++testMoveAddressToVPC :: MoveAddressToVPC -> TestTree+testMoveAddressToVPC = req+    "MoveAddressToVPC"+    "fixture/MoveAddressToVPC.yaml"++testDeleteNetworkACL :: DeleteNetworkACL -> TestTree+testDeleteNetworkACL = req+    "DeleteNetworkACL"+    "fixture/DeleteNetworkACL.yaml"++testDeleteVPNGateway :: DeleteVPNGateway -> TestTree+testDeleteVPNGateway = req+    "DeleteVPNGateway"+    "fixture/DeleteVPNGateway.yaml"++testDescribeImportImageTasks :: DescribeImportImageTasks -> TestTree+testDescribeImportImageTasks = req+    "DescribeImportImageTasks"+    "fixture/DescribeImportImageTasks.yaml"++testDescribeVolumeAttribute :: DescribeVolumeAttribute -> TestTree+testDescribeVolumeAttribute = req+    "DescribeVolumeAttribute"+    "fixture/DescribeVolumeAttribute.yaml"++testDescribeMovingAddresses :: DescribeMovingAddresses -> TestTree+testDescribeMovingAddresses = req+    "DescribeMovingAddresses"+    "fixture/DescribeMovingAddresses.yaml"++testGetPasswordData :: GetPasswordData -> TestTree+testGetPasswordData = req+    "GetPasswordData"+    "fixture/GetPasswordData.yaml"++testCreateVPC :: CreateVPC -> TestTree+testCreateVPC = req+    "CreateVPC"+    "fixture/CreateVPC.yaml"++testCopySnapshot :: CopySnapshot -> TestTree+testCopySnapshot = req+    "CopySnapshot"+    "fixture/CopySnapshot.yaml"++testDisassociateAddress :: DisassociateAddress -> TestTree+testDisassociateAddress = req+    "DisassociateAddress"+    "fixture/DisassociateAddress.yaml"++testDeleteVPC :: DeleteVPC -> TestTree+testDeleteVPC = req+    "DeleteVPC"+    "fixture/DeleteVPC.yaml"++testCreateInstanceExportTask :: CreateInstanceExportTask -> TestTree+testCreateInstanceExportTask = req+    "CreateInstanceExportTask"+    "fixture/CreateInstanceExportTask.yaml"++testDescribeVPCAttribute :: DescribeVPCAttribute -> TestTree+testDescribeVPCAttribute = req+    "DescribeVPCAttribute"+    "fixture/DescribeVPCAttribute.yaml"++testCreateVolume :: CreateVolume -> TestTree+testCreateVolume = req+    "CreateVolume"+    "fixture/CreateVolume.yaml"++testModifyVolumeAttribute :: ModifyVolumeAttribute -> TestTree+testModifyVolumeAttribute = req+    "ModifyVolumeAttribute"+    "fixture/ModifyVolumeAttribute.yaml"++testDescribeSpotDatafeedSubscription :: DescribeSpotDatafeedSubscription -> TestTree+testDescribeSpotDatafeedSubscription = req+    "DescribeSpotDatafeedSubscription"+    "fixture/DescribeSpotDatafeedSubscription.yaml"++testDescribePrefixLists :: DescribePrefixLists -> TestTree+testDescribePrefixLists = req+    "DescribePrefixLists"+    "fixture/DescribePrefixLists.yaml"++testDeletePlacementGroup :: DeletePlacementGroup -> TestTree+testDeletePlacementGroup = req+    "DeletePlacementGroup"+    "fixture/DeletePlacementGroup.yaml"++testRequestSpotFleet :: RequestSpotFleet -> TestTree+testRequestSpotFleet = req+    "RequestSpotFleet"+    "fixture/RequestSpotFleet.yaml"++testCreateSubnet :: CreateSubnet -> TestTree+testCreateSubnet = req+    "CreateSubnet"+    "fixture/CreateSubnet.yaml"++testCreateNetworkInterface :: CreateNetworkInterface -> TestTree+testCreateNetworkInterface = req+    "CreateNetworkInterface"+    "fixture/CreateNetworkInterface.yaml"++testDescribeSecurityGroups :: DescribeSecurityGroups -> TestTree+testDescribeSecurityGroups = req+    "DescribeSecurityGroups"+    "fixture/DescribeSecurityGroups.yaml"++testDescribeExportTasks :: DescribeExportTasks -> TestTree+testDescribeExportTasks = req+    "DescribeExportTasks"+    "fixture/DescribeExportTasks.yaml"++testDetachVPNGateway :: DetachVPNGateway -> TestTree+testDetachVPNGateway = req+    "DetachVPNGateway"+    "fixture/DetachVPNGateway.yaml"++testEnableVolumeIO :: EnableVolumeIO -> TestTree+testEnableVolumeIO = req+    "EnableVolumeIO"+    "fixture/EnableVolumeIO.yaml"++testDescribeInstances :: DescribeInstances -> TestTree+testDescribeInstances = req+    "DescribeInstances"+    "fixture/DescribeInstances.yaml"++testDescribeVPCPeeringConnections :: DescribeVPCPeeringConnections -> TestTree+testDescribeVPCPeeringConnections = req+    "DescribeVPCPeeringConnections"+    "fixture/DescribeVPCPeeringConnections.yaml"++testCancelExportTask :: CancelExportTask -> TestTree+testCancelExportTask = req+    "CancelExportTask"+    "fixture/CancelExportTask.yaml"++testDeleteNetworkInterface :: DeleteNetworkInterface -> TestTree+testDeleteNetworkInterface = req+    "DeleteNetworkInterface"+    "fixture/DeleteNetworkInterface.yaml"++testReplaceRouteTableAssociation :: ReplaceRouteTableAssociation -> TestTree+testReplaceRouteTableAssociation = req+    "ReplaceRouteTableAssociation"+    "fixture/ReplaceRouteTableAssociation.yaml"++testStartInstances :: StartInstances -> TestTree+testStartInstances = req+    "StartInstances"+    "fixture/StartInstances.yaml"++testCreatePlacementGroup :: CreatePlacementGroup -> TestTree+testCreatePlacementGroup = req+    "CreatePlacementGroup"+    "fixture/CreatePlacementGroup.yaml"++testDescribeSnapshots :: DescribeSnapshots -> TestTree+testDescribeSnapshots = req+    "DescribeSnapshots"+    "fixture/DescribeSnapshots.yaml"++testAssociateAddress :: AssociateAddress -> TestTree+testAssociateAddress = req+    "AssociateAddress"+    "fixture/AssociateAddress.yaml"++testDescribeNetworkInterfaceAttribute :: DescribeNetworkInterfaceAttribute -> TestTree+testDescribeNetworkInterfaceAttribute = req+    "DescribeNetworkInterfaceAttribute"+    "fixture/DescribeNetworkInterfaceAttribute.yaml"++testResetNetworkInterfaceAttribute :: ResetNetworkInterfaceAttribute -> TestTree+testResetNetworkInterfaceAttribute = req+    "ResetNetworkInterfaceAttribute"+    "fixture/ResetNetworkInterfaceAttribute.yaml"++testDeleteInternetGateway :: DeleteInternetGateway -> TestTree+testDeleteInternetGateway = req+    "DeleteInternetGateway"+    "fixture/DeleteInternetGateway.yaml"++testDescribeReservedInstancesListings :: DescribeReservedInstancesListings -> TestTree+testDescribeReservedInstancesListings = req+    "DescribeReservedInstancesListings"+    "fixture/DescribeReservedInstancesListings.yaml"++testCreateVPNConnection :: CreateVPNConnection -> TestTree+testCreateVPNConnection = req+    "CreateVPNConnection"+    "fixture/CreateVPNConnection.yaml"++testDescribeImportSnapshotTasks :: DescribeImportSnapshotTasks -> TestTree+testDescribeImportSnapshotTasks = req+    "DescribeImportSnapshotTasks"+    "fixture/DescribeImportSnapshotTasks.yaml"++testDescribeCustomerGateways :: DescribeCustomerGateways -> TestTree+testDescribeCustomerGateways = req+    "DescribeCustomerGateways"+    "fixture/DescribeCustomerGateways.yaml"++testDeleteSubnet :: DeleteSubnet -> TestTree+testDeleteSubnet = req+    "DeleteSubnet"+    "fixture/DeleteSubnet.yaml"++testCopyImage :: CopyImage -> TestTree+testCopyImage = req+    "CopyImage"+    "fixture/CopyImage.yaml"++testCreateVPCEndpoint :: CreateVPCEndpoint -> TestTree+testCreateVPCEndpoint = req+    "CreateVPCEndpoint"+    "fixture/CreateVPCEndpoint.yaml"++testUnmonitorInstances :: UnmonitorInstances -> TestTree+testUnmonitorInstances = req+    "UnmonitorInstances"+    "fixture/UnmonitorInstances.yaml"++testCreateSecurityGroup :: CreateSecurityGroup -> TestTree+testCreateSecurityGroup = req+    "CreateSecurityGroup"+    "fixture/CreateSecurityGroup.yaml"++testImportVolume :: ImportVolume -> TestTree+testImportVolume = req+    "ImportVolume"+    "fixture/ImportVolume.yaml"++testDisableVGWRoutePropagation :: DisableVGWRoutePropagation -> TestTree+testDisableVGWRoutePropagation = req+    "DisableVGWRoutePropagation"+    "fixture/DisableVGWRoutePropagation.yaml"++testCreateSpotDatafeedSubscription :: CreateSpotDatafeedSubscription -> TestTree+testCreateSpotDatafeedSubscription = req+    "CreateSpotDatafeedSubscription"+    "fixture/CreateSpotDatafeedSubscription.yaml"++testCancelSpotInstanceRequests :: CancelSpotInstanceRequests -> TestTree+testCancelSpotInstanceRequests = req+    "CancelSpotInstanceRequests"+    "fixture/CancelSpotInstanceRequests.yaml"++testCreateRoute :: CreateRoute -> TestTree+testCreateRoute = req+    "CreateRoute"+    "fixture/CreateRoute.yaml"++testDeleteSnapshot :: DeleteSnapshot -> TestTree+testDeleteSnapshot = req+    "DeleteSnapshot"+    "fixture/DeleteSnapshot.yaml"++testAssignPrivateIPAddresses :: AssignPrivateIPAddresses -> TestTree+testAssignPrivateIPAddresses = req+    "AssignPrivateIPAddresses"+    "fixture/AssignPrivateIPAddresses.yaml"++testModifyInstanceAttribute :: ModifyInstanceAttribute -> TestTree+testModifyInstanceAttribute = req+    "ModifyInstanceAttribute"+    "fixture/ModifyInstanceAttribute.yaml"++testDeleteCustomerGateway :: DeleteCustomerGateway -> TestTree+testDeleteCustomerGateway = req+    "DeleteCustomerGateway"+    "fixture/DeleteCustomerGateway.yaml"++testDisassociateRouteTable :: DisassociateRouteTable -> TestTree+testDisassociateRouteTable = req+    "DisassociateRouteTable"+    "fixture/DisassociateRouteTable.yaml"++testDeleteSpotDatafeedSubscription :: DeleteSpotDatafeedSubscription -> TestTree+testDeleteSpotDatafeedSubscription = req+    "DeleteSpotDatafeedSubscription"+    "fixture/DeleteSpotDatafeedSubscription.yaml"++testEnableVPCClassicLink :: EnableVPCClassicLink -> TestTree+testEnableVPCClassicLink = req+    "EnableVPCClassicLink"+    "fixture/EnableVPCClassicLink.yaml"++testDescribePlacementGroups :: DescribePlacementGroups -> TestTree+testDescribePlacementGroups = req+    "DescribePlacementGroups"+    "fixture/DescribePlacementGroups.yaml"++testEnableVGWRoutePropagation :: EnableVGWRoutePropagation -> TestTree+testEnableVGWRoutePropagation = req+    "EnableVGWRoutePropagation"+    "fixture/EnableVGWRoutePropagation.yaml"++testDescribeSpotFleetRequestHistory :: DescribeSpotFleetRequestHistory -> TestTree+testDescribeSpotFleetRequestHistory = req+    "DescribeSpotFleetRequestHistory"+    "fixture/DescribeSpotFleetRequestHistory.yaml"++testModifySnapshotAttribute :: ModifySnapshotAttribute -> TestTree+testModifySnapshotAttribute = req+    "ModifySnapshotAttribute"+    "fixture/ModifySnapshotAttribute.yaml"++testCreateSnapshot :: CreateSnapshot -> TestTree+testCreateSnapshot = req+    "CreateSnapshot"+    "fixture/CreateSnapshot.yaml"++testCreateNetworkACLEntry :: CreateNetworkACLEntry -> TestTree+testCreateNetworkACLEntry = req+    "CreateNetworkACLEntry"+    "fixture/CreateNetworkACLEntry.yaml"++testCreateReservedInstancesListing :: CreateReservedInstancesListing -> TestTree+testCreateReservedInstancesListing = req+    "CreateReservedInstancesListing"+    "fixture/CreateReservedInstancesListing.yaml"++testAttachVPNGateway :: AttachVPNGateway -> TestTree+testAttachVPNGateway = req+    "AttachVPNGateway"+    "fixture/AttachVPNGateway.yaml"++testCreateDHCPOptions :: CreateDHCPOptions -> TestTree+testCreateDHCPOptions = req+    "CreateDHCPOptions"+    "fixture/CreateDHCPOptions.yaml"++testDescribeAccountAttributes :: DescribeAccountAttributes -> TestTree+testDescribeAccountAttributes = req+    "DescribeAccountAttributes"+    "fixture/DescribeAccountAttributes.yaml"++testRebootInstances :: RebootInstances -> TestTree+testRebootInstances = req+    "RebootInstances"+    "fixture/RebootInstances.yaml"++testCreateImage :: CreateImage -> TestTree+testCreateImage = req+    "CreateImage"+    "fixture/CreateImage.yaml"++testDescribeClassicLinkInstances :: DescribeClassicLinkInstances -> TestTree+testDescribeClassicLinkInstances = req+    "DescribeClassicLinkInstances"+    "fixture/DescribeClassicLinkInstances.yaml"++testTerminateInstances :: TerminateInstances -> TestTree+testTerminateInstances = req+    "TerminateInstances"+    "fixture/TerminateInstances.yaml"++testDescribeKeyPairs :: DescribeKeyPairs -> TestTree+testDescribeKeyPairs = req+    "DescribeKeyPairs"+    "fixture/DescribeKeyPairs.yaml"++testCreateVPNConnectionRoute :: CreateVPNConnectionRoute -> TestTree+testCreateVPNConnectionRoute = req+    "CreateVPNConnectionRoute"+    "fixture/CreateVPNConnectionRoute.yaml"++testAssociateRouteTable :: AssociateRouteTable -> TestTree+testAssociateRouteTable = req+    "AssociateRouteTable"+    "fixture/AssociateRouteTable.yaml"++testDescribeVPNGateways :: DescribeVPNGateways -> TestTree+testDescribeVPNGateways = req+    "DescribeVPNGateways"+    "fixture/DescribeVPNGateways.yaml"++testGetConsoleOutput :: GetConsoleOutput -> TestTree+testGetConsoleOutput = req+    "GetConsoleOutput"+    "fixture/GetConsoleOutput.yaml"++testDescribeImageAttribute :: DescribeImageAttribute -> TestTree+testDescribeImageAttribute = req+    "DescribeImageAttribute"+    "fixture/DescribeImageAttribute.yaml"++testDeleteRouteTable :: DeleteRouteTable -> TestTree+testDeleteRouteTable = req+    "DeleteRouteTable"+    "fixture/DeleteRouteTable.yaml"++testResetImageAttribute :: ResetImageAttribute -> TestTree+testResetImageAttribute = req+    "ResetImageAttribute"+    "fixture/ResetImageAttribute.yaml"++testDescribeReservedInstancesModifications :: DescribeReservedInstancesModifications -> TestTree+testDescribeReservedInstancesModifications = req+    "DescribeReservedInstancesModifications"+    "fixture/DescribeReservedInstancesModifications.yaml"++testDescribeSpotInstanceRequests :: DescribeSpotInstanceRequests -> TestTree+testDescribeSpotInstanceRequests = req+    "DescribeSpotInstanceRequests"+    "fixture/DescribeSpotInstanceRequests.yaml"++testUnassignPrivateIPAddresses :: UnassignPrivateIPAddresses -> TestTree+testUnassignPrivateIPAddresses = req+    "UnassignPrivateIPAddresses"+    "fixture/UnassignPrivateIPAddresses.yaml"++testDeleteDHCPOptions :: DeleteDHCPOptions -> TestTree+testDeleteDHCPOptions = req+    "DeleteDHCPOptions"+    "fixture/DeleteDHCPOptions.yaml"++testDescribeNetworkACLs :: DescribeNetworkACLs -> TestTree+testDescribeNetworkACLs = req+    "DescribeNetworkACLs"+    "fixture/DescribeNetworkACLs.yaml"++testCancelImportTask :: CancelImportTask -> TestTree+testCancelImportTask = req+    "CancelImportTask"+    "fixture/CancelImportTask.yaml"++testDetachClassicLinkVPC :: DetachClassicLinkVPC -> TestTree+testDetachClassicLinkVPC = req+    "DetachClassicLinkVPC"+    "fixture/DetachClassicLinkVPC.yaml"++testDescribeRegions :: DescribeRegions -> TestTree+testDescribeRegions = req+    "DescribeRegions"+    "fixture/DescribeRegions.yaml"++testMonitorInstances :: MonitorInstances -> TestTree+testMonitorInstances = req+    "MonitorInstances"+    "fixture/MonitorInstances.yaml"++testAcceptVPCPeeringConnection :: AcceptVPCPeeringConnection -> TestTree+testAcceptVPCPeeringConnection = req+    "AcceptVPCPeeringConnection"+    "fixture/AcceptVPCPeeringConnection.yaml"++testImportSnapshot :: ImportSnapshot -> TestTree+testImportSnapshot = req+    "ImportSnapshot"+    "fixture/ImportSnapshot.yaml"++testDescribeVolumeStatus :: DescribeVolumeStatus -> TestTree+testDescribeVolumeStatus = req+    "DescribeVolumeStatus"+    "fixture/DescribeVolumeStatus.yaml"++testDescribeRouteTables :: DescribeRouteTables -> TestTree+testDescribeRouteTables = req+    "DescribeRouteTables"+    "fixture/DescribeRouteTables.yaml"++testDescribeAvailabilityZones :: DescribeAvailabilityZones -> TestTree+testDescribeAvailabilityZones = req+    "DescribeAvailabilityZones"+    "fixture/DescribeAvailabilityZones.yaml"++testModifyVPCAttribute :: ModifyVPCAttribute -> TestTree+testModifyVPCAttribute = req+    "ModifyVPCAttribute"+    "fixture/ModifyVPCAttribute.yaml"++testDescribeImages :: DescribeImages -> TestTree+testDescribeImages = req+    "DescribeImages"+    "fixture/DescribeImages.yaml"++testRestoreAddressToClassic :: RestoreAddressToClassic -> TestTree+testRestoreAddressToClassic = req+    "RestoreAddressToClassic"+    "fixture/RestoreAddressToClassic.yaml"++testCreateKeyPair :: CreateKeyPair -> TestTree+testCreateKeyPair = req+    "CreateKeyPair"+    "fixture/CreateKeyPair.yaml"++testDeleteVolume :: DeleteVolume -> TestTree+testDeleteVolume = req+    "DeleteVolume"+    "fixture/DeleteVolume.yaml"++testDescribeSpotFleetInstances :: DescribeSpotFleetInstances -> TestTree+testDescribeSpotFleetInstances = req+    "DescribeSpotFleetInstances"+    "fixture/DescribeSpotFleetInstances.yaml"++-- Responses++testImportInstanceResponse :: ImportInstanceResponse -> TestTree+testImportInstanceResponse = res+    "ImportInstanceResponse"+    "fixture/ImportInstanceResponse.proto"+    eC2+    (Proxy :: Proxy ImportInstance)++testRevokeSecurityGroupEgressResponse :: RevokeSecurityGroupEgressResponse -> TestTree+testRevokeSecurityGroupEgressResponse = res+    "RevokeSecurityGroupEgressResponse"+    "fixture/RevokeSecurityGroupEgressResponse.proto"+    eC2+    (Proxy :: Proxy RevokeSecurityGroupEgress)++testCreateVPNGatewayResponse :: CreateVPNGatewayResponse -> TestTree+testCreateVPNGatewayResponse = res+    "CreateVPNGatewayResponse"+    "fixture/CreateVPNGatewayResponse.proto"+    eC2+    (Proxy :: Proxy CreateVPNGateway)++testCreateNetworkACLResponse :: CreateNetworkACLResponse -> TestTree+testCreateNetworkACLResponse = res+    "CreateNetworkACLResponse"+    "fixture/CreateNetworkACLResponse.proto"+    eC2+    (Proxy :: Proxy CreateNetworkACL)++testDeleteKeyPairResponse :: DeleteKeyPairResponse -> TestTree+testDeleteKeyPairResponse = res+    "DeleteKeyPairResponse"+    "fixture/DeleteKeyPairResponse.proto"+    eC2+    (Proxy :: Proxy DeleteKeyPair)++testDescribeTagsResponse :: DescribeTagsResponse -> TestTree+testDescribeTagsResponse = res+    "DescribeTagsResponse"+    "fixture/DescribeTagsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeTags)++testDetachNetworkInterfaceResponse :: DetachNetworkInterfaceResponse -> TestTree+testDetachNetworkInterfaceResponse = res+    "DetachNetworkInterfaceResponse"+    "fixture/DetachNetworkInterfaceResponse.proto"+    eC2+    (Proxy :: Proxy DetachNetworkInterface)++testDetachInternetGatewayResponse :: DetachInternetGatewayResponse -> TestTree+testDetachInternetGatewayResponse = res+    "DetachInternetGatewayResponse"+    "fixture/DetachInternetGatewayResponse.proto"+    eC2+    (Proxy :: Proxy DetachInternetGateway)++testDeleteVPCEndpointsResponse :: DeleteVPCEndpointsResponse -> TestTree+testDeleteVPCEndpointsResponse = res+    "DeleteVPCEndpointsResponse"+    "fixture/DeleteVPCEndpointsResponse.proto"+    eC2+    (Proxy :: Proxy DeleteVPCEndpoints)++testDeleteFlowLogsResponse :: DeleteFlowLogsResponse -> TestTree+testDeleteFlowLogsResponse = res+    "DeleteFlowLogsResponse"+    "fixture/DeleteFlowLogsResponse.proto"+    eC2+    (Proxy :: Proxy DeleteFlowLogs)++testDescribeVPCClassicLinkResponse :: DescribeVPCClassicLinkResponse -> TestTree+testDescribeVPCClassicLinkResponse = res+    "DescribeVPCClassicLinkResponse"+    "fixture/DescribeVPCClassicLinkResponse.proto"+    eC2+    (Proxy :: Proxy DescribeVPCClassicLink)++testModifySubnetAttributeResponse :: ModifySubnetAttributeResponse -> TestTree+testModifySubnetAttributeResponse = res+    "ModifySubnetAttributeResponse"+    "fixture/ModifySubnetAttributeResponse.proto"+    eC2+    (Proxy :: Proxy ModifySubnetAttribute)++testDetachVolumeResponse :: VolumeAttachment -> TestTree+testDetachVolumeResponse = res+    "DetachVolumeResponse"+    "fixture/DetachVolumeResponse.proto"+    eC2+    (Proxy :: Proxy DetachVolume)++testCancelBundleTaskResponse :: CancelBundleTaskResponse -> TestTree+testCancelBundleTaskResponse = res+    "CancelBundleTaskResponse"+    "fixture/CancelBundleTaskResponse.proto"+    eC2+    (Proxy :: Proxy CancelBundleTask)++testReleaseAddressResponse :: ReleaseAddressResponse -> TestTree+testReleaseAddressResponse = res+    "ReleaseAddressResponse"+    "fixture/ReleaseAddressResponse.proto"+    eC2+    (Proxy :: Proxy ReleaseAddress)++testCreateInternetGatewayResponse :: CreateInternetGatewayResponse -> TestTree+testCreateInternetGatewayResponse = res+    "CreateInternetGatewayResponse"+    "fixture/CreateInternetGatewayResponse.proto"+    eC2+    (Proxy :: Proxy CreateInternetGateway)++testDeleteVPNConnectionResponse :: DeleteVPNConnectionResponse -> TestTree+testDeleteVPNConnectionResponse = res+    "DeleteVPNConnectionResponse"+    "fixture/DeleteVPNConnectionResponse.proto"+    eC2+    (Proxy :: Proxy DeleteVPNConnection)++testDescribeBundleTasksResponse :: DescribeBundleTasksResponse -> TestTree+testDescribeBundleTasksResponse = res+    "DescribeBundleTasksResponse"+    "fixture/DescribeBundleTasksResponse.proto"+    eC2+    (Proxy :: Proxy DescribeBundleTasks)++testAuthorizeSecurityGroupEgressResponse :: AuthorizeSecurityGroupEgressResponse -> TestTree+testAuthorizeSecurityGroupEgressResponse = res+    "AuthorizeSecurityGroupEgressResponse"+    "fixture/AuthorizeSecurityGroupEgressResponse.proto"+    eC2+    (Proxy :: Proxy AuthorizeSecurityGroupEgress)++testDeregisterImageResponse :: DeregisterImageResponse -> TestTree+testDeregisterImageResponse = res+    "DeregisterImageResponse"+    "fixture/DeregisterImageResponse.proto"+    eC2+    (Proxy :: Proxy DeregisterImage)++testModifyNetworkInterfaceAttributeResponse :: ModifyNetworkInterfaceAttributeResponse -> TestTree+testModifyNetworkInterfaceAttributeResponse = res+    "ModifyNetworkInterfaceAttributeResponse"+    "fixture/ModifyNetworkInterfaceAttributeResponse.proto"+    eC2+    (Proxy :: Proxy ModifyNetworkInterfaceAttribute)++testCancelReservedInstancesListingResponse :: CancelReservedInstancesListingResponse -> TestTree+testCancelReservedInstancesListingResponse = res+    "CancelReservedInstancesListingResponse"+    "fixture/CancelReservedInstancesListingResponse.proto"+    eC2+    (Proxy :: Proxy CancelReservedInstancesListing)++testAttachClassicLinkVPCResponse :: AttachClassicLinkVPCResponse -> TestTree+testAttachClassicLinkVPCResponse = res+    "AttachClassicLinkVPCResponse"+    "fixture/AttachClassicLinkVPCResponse.proto"+    eC2+    (Proxy :: Proxy AttachClassicLinkVPC)++testCancelSpotFleetRequestsResponse :: CancelSpotFleetRequestsResponse -> TestTree+testCancelSpotFleetRequestsResponse = res+    "CancelSpotFleetRequestsResponse"+    "fixture/CancelSpotFleetRequestsResponse.proto"+    eC2+    (Proxy :: Proxy CancelSpotFleetRequests)++testDescribeSpotPriceHistoryResponse :: DescribeSpotPriceHistoryResponse -> TestTree+testDescribeSpotPriceHistoryResponse = res+    "DescribeSpotPriceHistoryResponse"+    "fixture/DescribeSpotPriceHistoryResponse.proto"+    eC2+    (Proxy :: Proxy DescribeSpotPriceHistory)++testDescribeDHCPOptionsResponse :: DescribeDHCPOptionsResponse -> TestTree+testDescribeDHCPOptionsResponse = res+    "DescribeDHCPOptionsResponse"+    "fixture/DescribeDHCPOptionsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeDHCPOptions)++testImportImageResponse :: ImportImageResponse -> TestTree+testImportImageResponse = res+    "ImportImageResponse"+    "fixture/ImportImageResponse.proto"+    eC2+    (Proxy :: Proxy ImportImage)++testStopInstancesResponse :: StopInstancesResponse -> TestTree+testStopInstancesResponse = res+    "StopInstancesResponse"+    "fixture/StopInstancesResponse.proto"+    eC2+    (Proxy :: Proxy StopInstances)++testDescribeInternetGatewaysResponse :: DescribeInternetGatewaysResponse -> TestTree+testDescribeInternetGatewaysResponse = res+    "DescribeInternetGatewaysResponse"+    "fixture/DescribeInternetGatewaysResponse.proto"+    eC2+    (Proxy :: Proxy DescribeInternetGateways)++testDisableVPCClassicLinkResponse :: DisableVPCClassicLinkResponse -> TestTree+testDisableVPCClassicLinkResponse = res+    "DisableVPCClassicLinkResponse"+    "fixture/DisableVPCClassicLinkResponse.proto"+    eC2+    (Proxy :: Proxy DisableVPCClassicLink)++testBundleInstanceResponse :: BundleInstanceResponse -> TestTree+testBundleInstanceResponse = res+    "BundleInstanceResponse"+    "fixture/BundleInstanceResponse.proto"+    eC2+    (Proxy :: Proxy BundleInstance)++testDescribeNetworkInterfacesResponse :: DescribeNetworkInterfacesResponse -> TestTree+testDescribeNetworkInterfacesResponse = res+    "DescribeNetworkInterfacesResponse"+    "fixture/DescribeNetworkInterfacesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeNetworkInterfaces)++testReplaceNetworkACLAssociationResponse :: ReplaceNetworkACLAssociationResponse -> TestTree+testReplaceNetworkACLAssociationResponse = res+    "ReplaceNetworkACLAssociationResponse"+    "fixture/ReplaceNetworkACLAssociationResponse.proto"+    eC2+    (Proxy :: Proxy ReplaceNetworkACLAssociation)++testDescribeAddressesResponse :: DescribeAddressesResponse -> TestTree+testDescribeAddressesResponse = res+    "DescribeAddressesResponse"+    "fixture/DescribeAddressesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeAddresses)++testDescribeSnapshotAttributeResponse :: DescribeSnapshotAttributeResponse -> TestTree+testDescribeSnapshotAttributeResponse = res+    "DescribeSnapshotAttributeResponse"+    "fixture/DescribeSnapshotAttributeResponse.proto"+    eC2+    (Proxy :: Proxy DescribeSnapshotAttribute)++testReplaceRouteResponse :: ReplaceRouteResponse -> TestTree+testReplaceRouteResponse = res+    "ReplaceRouteResponse"+    "fixture/ReplaceRouteResponse.proto"+    eC2+    (Proxy :: Proxy ReplaceRoute)++testDescribeVPCEndpointServicesResponse :: DescribeVPCEndpointServicesResponse -> TestTree+testDescribeVPCEndpointServicesResponse = res+    "DescribeVPCEndpointServicesResponse"+    "fixture/DescribeVPCEndpointServicesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeVPCEndpointServices)++testAuthorizeSecurityGroupIngressResponse :: AuthorizeSecurityGroupIngressResponse -> TestTree+testAuthorizeSecurityGroupIngressResponse = res+    "AuthorizeSecurityGroupIngressResponse"+    "fixture/AuthorizeSecurityGroupIngressResponse.proto"+    eC2+    (Proxy :: Proxy AuthorizeSecurityGroupIngress)++testCreateVPCPeeringConnectionResponse :: CreateVPCPeeringConnectionResponse -> TestTree+testCreateVPCPeeringConnectionResponse = res+    "CreateVPCPeeringConnectionResponse"+    "fixture/CreateVPCPeeringConnectionResponse.proto"+    eC2+    (Proxy :: Proxy CreateVPCPeeringConnection)++testDescribeSubnetsResponse :: DescribeSubnetsResponse -> TestTree+testDescribeSubnetsResponse = res+    "DescribeSubnetsResponse"+    "fixture/DescribeSubnetsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeSubnets)++testCreateTagsResponse :: CreateTagsResponse -> TestTree+testCreateTagsResponse = res+    "CreateTagsResponse"+    "fixture/CreateTagsResponse.proto"+    eC2+    (Proxy :: Proxy CreateTags)++testPurchaseReservedInstancesOfferingResponse :: PurchaseReservedInstancesOfferingResponse -> TestTree+testPurchaseReservedInstancesOfferingResponse = res+    "PurchaseReservedInstancesOfferingResponse"+    "fixture/PurchaseReservedInstancesOfferingResponse.proto"+    eC2+    (Proxy :: Proxy PurchaseReservedInstancesOffering)++testDeleteNetworkACLEntryResponse :: DeleteNetworkACLEntryResponse -> TestTree+testDeleteNetworkACLEntryResponse = res+    "DeleteNetworkACLEntryResponse"+    "fixture/DeleteNetworkACLEntryResponse.proto"+    eC2+    (Proxy :: Proxy DeleteNetworkACLEntry)++testResetSnapshotAttributeResponse :: ResetSnapshotAttributeResponse -> TestTree+testResetSnapshotAttributeResponse = res+    "ResetSnapshotAttributeResponse"+    "fixture/ResetSnapshotAttributeResponse.proto"+    eC2+    (Proxy :: Proxy ResetSnapshotAttribute)++testDescribeVPNConnectionsResponse :: DescribeVPNConnectionsResponse -> TestTree+testDescribeVPNConnectionsResponse = res+    "DescribeVPNConnectionsResponse"+    "fixture/DescribeVPNConnectionsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeVPNConnections)++testDeleteRouteResponse :: DeleteRouteResponse -> TestTree+testDeleteRouteResponse = res+    "DeleteRouteResponse"+    "fixture/DeleteRouteResponse.proto"+    eC2+    (Proxy :: Proxy DeleteRoute)++testReplaceNetworkACLEntryResponse :: ReplaceNetworkACLEntryResponse -> TestTree+testReplaceNetworkACLEntryResponse = res+    "ReplaceNetworkACLEntryResponse"+    "fixture/ReplaceNetworkACLEntryResponse.proto"+    eC2+    (Proxy :: Proxy ReplaceNetworkACLEntry)++testDescribeVPCEndpointsResponse :: DescribeVPCEndpointsResponse -> TestTree+testDescribeVPCEndpointsResponse = res+    "DescribeVPCEndpointsResponse"+    "fixture/DescribeVPCEndpointsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeVPCEndpoints)++testResetInstanceAttributeResponse :: ResetInstanceAttributeResponse -> TestTree+testResetInstanceAttributeResponse = res+    "ResetInstanceAttributeResponse"+    "fixture/ResetInstanceAttributeResponse.proto"+    eC2+    (Proxy :: Proxy ResetInstanceAttribute)++testAttachNetworkInterfaceResponse :: AttachNetworkInterfaceResponse -> TestTree+testAttachNetworkInterfaceResponse = res+    "AttachNetworkInterfaceResponse"+    "fixture/AttachNetworkInterfaceResponse.proto"+    eC2+    (Proxy :: Proxy AttachNetworkInterface)++testDescribeInstanceStatusResponse :: DescribeInstanceStatusResponse -> TestTree+testDescribeInstanceStatusResponse = res+    "DescribeInstanceStatusResponse"+    "fixture/DescribeInstanceStatusResponse.proto"+    eC2+    (Proxy :: Proxy DescribeInstanceStatus)++testImportKeyPairResponse :: ImportKeyPairResponse -> TestTree+testImportKeyPairResponse = res+    "ImportKeyPairResponse"+    "fixture/ImportKeyPairResponse.proto"+    eC2+    (Proxy :: Proxy ImportKeyPair)++testDeleteTagsResponse :: DeleteTagsResponse -> TestTree+testDeleteTagsResponse = res+    "DeleteTagsResponse"+    "fixture/DeleteTagsResponse.proto"+    eC2+    (Proxy :: Proxy DeleteTags)++testConfirmProductInstanceResponse :: ConfirmProductInstanceResponse -> TestTree+testConfirmProductInstanceResponse = res+    "ConfirmProductInstanceResponse"+    "fixture/ConfirmProductInstanceResponse.proto"+    eC2+    (Proxy :: Proxy ConfirmProductInstance)++testDescribeInstanceAttributeResponse :: DescribeInstanceAttributeResponse -> TestTree+testDescribeInstanceAttributeResponse = res+    "DescribeInstanceAttributeResponse"+    "fixture/DescribeInstanceAttributeResponse.proto"+    eC2+    (Proxy :: Proxy DescribeInstanceAttribute)++testDescribeReservedInstancesOfferingsResponse :: DescribeReservedInstancesOfferingsResponse -> TestTree+testDescribeReservedInstancesOfferingsResponse = res+    "DescribeReservedInstancesOfferingsResponse"+    "fixture/DescribeReservedInstancesOfferingsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeReservedInstancesOfferings)++testCreateCustomerGatewayResponse :: CreateCustomerGatewayResponse -> TestTree+testCreateCustomerGatewayResponse = res+    "CreateCustomerGatewayResponse"+    "fixture/CreateCustomerGatewayResponse.proto"+    eC2+    (Proxy :: Proxy CreateCustomerGateway)++testDeleteSecurityGroupResponse :: DeleteSecurityGroupResponse -> TestTree+testDeleteSecurityGroupResponse = res+    "DeleteSecurityGroupResponse"+    "fixture/DeleteSecurityGroupResponse.proto"+    eC2+    (Proxy :: Proxy DeleteSecurityGroup)++testDeleteVPCPeeringConnectionResponse :: DeleteVPCPeeringConnectionResponse -> TestTree+testDeleteVPCPeeringConnectionResponse = res+    "DeleteVPCPeeringConnectionResponse"+    "fixture/DeleteVPCPeeringConnectionResponse.proto"+    eC2+    (Proxy :: Proxy DeleteVPCPeeringConnection)++testAttachInternetGatewayResponse :: AttachInternetGatewayResponse -> TestTree+testAttachInternetGatewayResponse = res+    "AttachInternetGatewayResponse"+    "fixture/AttachInternetGatewayResponse.proto"+    eC2+    (Proxy :: Proxy AttachInternetGateway)++testDescribeFlowLogsResponse :: DescribeFlowLogsResponse -> TestTree+testDescribeFlowLogsResponse = res+    "DescribeFlowLogsResponse"+    "fixture/DescribeFlowLogsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeFlowLogs)++testRunInstancesResponse :: Reservation -> TestTree+testRunInstancesResponse = res+    "RunInstancesResponse"+    "fixture/RunInstancesResponse.proto"+    eC2+    (Proxy :: Proxy RunInstances)++testAssociateDHCPOptionsResponse :: AssociateDHCPOptionsResponse -> TestTree+testAssociateDHCPOptionsResponse = res+    "AssociateDHCPOptionsResponse"+    "fixture/AssociateDHCPOptionsResponse.proto"+    eC2+    (Proxy :: Proxy AssociateDHCPOptions)++testDescribeReservedInstancesResponse :: DescribeReservedInstancesResponse -> TestTree+testDescribeReservedInstancesResponse = res+    "DescribeReservedInstancesResponse"+    "fixture/DescribeReservedInstancesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeReservedInstances)++testDescribeVPCsResponse :: DescribeVPCsResponse -> TestTree+testDescribeVPCsResponse = res+    "DescribeVPCsResponse"+    "fixture/DescribeVPCsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeVPCs)++testDescribeConversionTasksResponse :: DescribeConversionTasksResponse -> TestTree+testDescribeConversionTasksResponse = res+    "DescribeConversionTasksResponse"+    "fixture/DescribeConversionTasksResponse.proto"+    eC2+    (Proxy :: Proxy DescribeConversionTasks)++testAllocateAddressResponse :: AllocateAddressResponse -> TestTree+testAllocateAddressResponse = res+    "AllocateAddressResponse"+    "fixture/AllocateAddressResponse.proto"+    eC2+    (Proxy :: Proxy AllocateAddress)++testCancelConversionTaskResponse :: CancelConversionTaskResponse -> TestTree+testCancelConversionTaskResponse = res+    "CancelConversionTaskResponse"+    "fixture/CancelConversionTaskResponse.proto"+    eC2+    (Proxy :: Proxy CancelConversionTask)++testModifyImageAttributeResponse :: ModifyImageAttributeResponse -> TestTree+testModifyImageAttributeResponse = res+    "ModifyImageAttributeResponse"+    "fixture/ModifyImageAttributeResponse.proto"+    eC2+    (Proxy :: Proxy ModifyImageAttribute)++testCreateRouteTableResponse :: CreateRouteTableResponse -> TestTree+testCreateRouteTableResponse = res+    "CreateRouteTableResponse"+    "fixture/CreateRouteTableResponse.proto"+    eC2+    (Proxy :: Proxy CreateRouteTable)++testReportInstanceStatusResponse :: ReportInstanceStatusResponse -> TestTree+testReportInstanceStatusResponse = res+    "ReportInstanceStatusResponse"+    "fixture/ReportInstanceStatusResponse.proto"+    eC2+    (Proxy :: Proxy ReportInstanceStatus)++testAttachVolumeResponse :: VolumeAttachment -> TestTree+testAttachVolumeResponse = res+    "AttachVolumeResponse"+    "fixture/AttachVolumeResponse.proto"+    eC2+    (Proxy :: Proxy AttachVolume)++testRequestSpotInstancesResponse :: RequestSpotInstancesResponse -> TestTree+testRequestSpotInstancesResponse = res+    "RequestSpotInstancesResponse"+    "fixture/RequestSpotInstancesResponse.proto"+    eC2+    (Proxy :: Proxy RequestSpotInstances)++testDescribeVolumesResponse :: DescribeVolumesResponse -> TestTree+testDescribeVolumesResponse = res+    "DescribeVolumesResponse"+    "fixture/DescribeVolumesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeVolumes)++testRejectVPCPeeringConnectionResponse :: RejectVPCPeeringConnectionResponse -> TestTree+testRejectVPCPeeringConnectionResponse = res+    "RejectVPCPeeringConnectionResponse"+    "fixture/RejectVPCPeeringConnectionResponse.proto"+    eC2+    (Proxy :: Proxy RejectVPCPeeringConnection)++testDeleteVPNConnectionRouteResponse :: DeleteVPNConnectionRouteResponse -> TestTree+testDeleteVPNConnectionRouteResponse = res+    "DeleteVPNConnectionRouteResponse"+    "fixture/DeleteVPNConnectionRouteResponse.proto"+    eC2+    (Proxy :: Proxy DeleteVPNConnectionRoute)++testModifyVPCEndpointResponse :: ModifyVPCEndpointResponse -> TestTree+testModifyVPCEndpointResponse = res+    "ModifyVPCEndpointResponse"+    "fixture/ModifyVPCEndpointResponse.proto"+    eC2+    (Proxy :: Proxy ModifyVPCEndpoint)++testRegisterImageResponse :: RegisterImageResponse -> TestTree+testRegisterImageResponse = res+    "RegisterImageResponse"+    "fixture/RegisterImageResponse.proto"+    eC2+    (Proxy :: Proxy RegisterImage)++testRevokeSecurityGroupIngressResponse :: RevokeSecurityGroupIngressResponse -> TestTree+testRevokeSecurityGroupIngressResponse = res+    "RevokeSecurityGroupIngressResponse"+    "fixture/RevokeSecurityGroupIngressResponse.proto"+    eC2+    (Proxy :: Proxy RevokeSecurityGroupIngress)++testModifyReservedInstancesResponse :: ModifyReservedInstancesResponse -> TestTree+testModifyReservedInstancesResponse = res+    "ModifyReservedInstancesResponse"+    "fixture/ModifyReservedInstancesResponse.proto"+    eC2+    (Proxy :: Proxy ModifyReservedInstances)++testCreateFlowLogsResponse :: CreateFlowLogsResponse -> TestTree+testCreateFlowLogsResponse = res+    "CreateFlowLogsResponse"+    "fixture/CreateFlowLogsResponse.proto"+    eC2+    (Proxy :: Proxy CreateFlowLogs)++testDescribeSpotFleetRequestsResponse :: DescribeSpotFleetRequestsResponse -> TestTree+testDescribeSpotFleetRequestsResponse = res+    "DescribeSpotFleetRequestsResponse"+    "fixture/DescribeSpotFleetRequestsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeSpotFleetRequests)++testMoveAddressToVPCResponse :: MoveAddressToVPCResponse -> TestTree+testMoveAddressToVPCResponse = res+    "MoveAddressToVPCResponse"+    "fixture/MoveAddressToVPCResponse.proto"+    eC2+    (Proxy :: Proxy MoveAddressToVPC)++testDeleteNetworkACLResponse :: DeleteNetworkACLResponse -> TestTree+testDeleteNetworkACLResponse = res+    "DeleteNetworkACLResponse"+    "fixture/DeleteNetworkACLResponse.proto"+    eC2+    (Proxy :: Proxy DeleteNetworkACL)++testDeleteVPNGatewayResponse :: DeleteVPNGatewayResponse -> TestTree+testDeleteVPNGatewayResponse = res+    "DeleteVPNGatewayResponse"+    "fixture/DeleteVPNGatewayResponse.proto"+    eC2+    (Proxy :: Proxy DeleteVPNGateway)++testDescribeImportImageTasksResponse :: DescribeImportImageTasksResponse -> TestTree+testDescribeImportImageTasksResponse = res+    "DescribeImportImageTasksResponse"+    "fixture/DescribeImportImageTasksResponse.proto"+    eC2+    (Proxy :: Proxy DescribeImportImageTasks)++testDescribeVolumeAttributeResponse :: DescribeVolumeAttributeResponse -> TestTree+testDescribeVolumeAttributeResponse = res+    "DescribeVolumeAttributeResponse"+    "fixture/DescribeVolumeAttributeResponse.proto"+    eC2+    (Proxy :: Proxy DescribeVolumeAttribute)++testDescribeMovingAddressesResponse :: DescribeMovingAddressesResponse -> TestTree+testDescribeMovingAddressesResponse = res+    "DescribeMovingAddressesResponse"+    "fixture/DescribeMovingAddressesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeMovingAddresses)++testGetPasswordDataResponse :: GetPasswordDataResponse -> TestTree+testGetPasswordDataResponse = res+    "GetPasswordDataResponse"+    "fixture/GetPasswordDataResponse.proto"+    eC2+    (Proxy :: Proxy GetPasswordData)++testCreateVPCResponse :: CreateVPCResponse -> TestTree+testCreateVPCResponse = res+    "CreateVPCResponse"+    "fixture/CreateVPCResponse.proto"+    eC2+    (Proxy :: Proxy CreateVPC)++testCopySnapshotResponse :: CopySnapshotResponse -> TestTree+testCopySnapshotResponse = res+    "CopySnapshotResponse"+    "fixture/CopySnapshotResponse.proto"+    eC2+    (Proxy :: Proxy CopySnapshot)++testDisassociateAddressResponse :: DisassociateAddressResponse -> TestTree+testDisassociateAddressResponse = res+    "DisassociateAddressResponse"+    "fixture/DisassociateAddressResponse.proto"+    eC2+    (Proxy :: Proxy DisassociateAddress)++testDeleteVPCResponse :: DeleteVPCResponse -> TestTree+testDeleteVPCResponse = res+    "DeleteVPCResponse"+    "fixture/DeleteVPCResponse.proto"+    eC2+    (Proxy :: Proxy DeleteVPC)++testCreateInstanceExportTaskResponse :: CreateInstanceExportTaskResponse -> TestTree+testCreateInstanceExportTaskResponse = res+    "CreateInstanceExportTaskResponse"+    "fixture/CreateInstanceExportTaskResponse.proto"+    eC2+    (Proxy :: Proxy CreateInstanceExportTask)++testDescribeVPCAttributeResponse :: DescribeVPCAttributeResponse -> TestTree+testDescribeVPCAttributeResponse = res+    "DescribeVPCAttributeResponse"+    "fixture/DescribeVPCAttributeResponse.proto"+    eC2+    (Proxy :: Proxy DescribeVPCAttribute)++testCreateVolumeResponse :: Volume -> TestTree+testCreateVolumeResponse = res+    "CreateVolumeResponse"+    "fixture/CreateVolumeResponse.proto"+    eC2+    (Proxy :: Proxy CreateVolume)++testModifyVolumeAttributeResponse :: ModifyVolumeAttributeResponse -> TestTree+testModifyVolumeAttributeResponse = res+    "ModifyVolumeAttributeResponse"+    "fixture/ModifyVolumeAttributeResponse.proto"+    eC2+    (Proxy :: Proxy ModifyVolumeAttribute)++testDescribeSpotDatafeedSubscriptionResponse :: DescribeSpotDatafeedSubscriptionResponse -> TestTree+testDescribeSpotDatafeedSubscriptionResponse = res+    "DescribeSpotDatafeedSubscriptionResponse"+    "fixture/DescribeSpotDatafeedSubscriptionResponse.proto"+    eC2+    (Proxy :: Proxy DescribeSpotDatafeedSubscription)++testDescribePrefixListsResponse :: DescribePrefixListsResponse -> TestTree+testDescribePrefixListsResponse = res+    "DescribePrefixListsResponse"+    "fixture/DescribePrefixListsResponse.proto"+    eC2+    (Proxy :: Proxy DescribePrefixLists)++testDeletePlacementGroupResponse :: DeletePlacementGroupResponse -> TestTree+testDeletePlacementGroupResponse = res+    "DeletePlacementGroupResponse"+    "fixture/DeletePlacementGroupResponse.proto"+    eC2+    (Proxy :: Proxy DeletePlacementGroup)++testRequestSpotFleetResponse :: RequestSpotFleetResponse -> TestTree+testRequestSpotFleetResponse = res+    "RequestSpotFleetResponse"+    "fixture/RequestSpotFleetResponse.proto"+    eC2+    (Proxy :: Proxy RequestSpotFleet)++testCreateSubnetResponse :: CreateSubnetResponse -> TestTree+testCreateSubnetResponse = res+    "CreateSubnetResponse"+    "fixture/CreateSubnetResponse.proto"+    eC2+    (Proxy :: Proxy CreateSubnet)++testCreateNetworkInterfaceResponse :: CreateNetworkInterfaceResponse -> TestTree+testCreateNetworkInterfaceResponse = res+    "CreateNetworkInterfaceResponse"+    "fixture/CreateNetworkInterfaceResponse.proto"+    eC2+    (Proxy :: Proxy CreateNetworkInterface)++testDescribeSecurityGroupsResponse :: DescribeSecurityGroupsResponse -> TestTree+testDescribeSecurityGroupsResponse = res+    "DescribeSecurityGroupsResponse"+    "fixture/DescribeSecurityGroupsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeSecurityGroups)++testDescribeExportTasksResponse :: DescribeExportTasksResponse -> TestTree+testDescribeExportTasksResponse = res+    "DescribeExportTasksResponse"+    "fixture/DescribeExportTasksResponse.proto"+    eC2+    (Proxy :: Proxy DescribeExportTasks)++testDetachVPNGatewayResponse :: DetachVPNGatewayResponse -> TestTree+testDetachVPNGatewayResponse = res+    "DetachVPNGatewayResponse"+    "fixture/DetachVPNGatewayResponse.proto"+    eC2+    (Proxy :: Proxy DetachVPNGateway)++testEnableVolumeIOResponse :: EnableVolumeIOResponse -> TestTree+testEnableVolumeIOResponse = res+    "EnableVolumeIOResponse"+    "fixture/EnableVolumeIOResponse.proto"+    eC2+    (Proxy :: Proxy EnableVolumeIO)++testDescribeInstancesResponse :: DescribeInstancesResponse -> TestTree+testDescribeInstancesResponse = res+    "DescribeInstancesResponse"+    "fixture/DescribeInstancesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeInstances)++testDescribeVPCPeeringConnectionsResponse :: DescribeVPCPeeringConnectionsResponse -> TestTree+testDescribeVPCPeeringConnectionsResponse = res+    "DescribeVPCPeeringConnectionsResponse"+    "fixture/DescribeVPCPeeringConnectionsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeVPCPeeringConnections)++testCancelExportTaskResponse :: CancelExportTaskResponse -> TestTree+testCancelExportTaskResponse = res+    "CancelExportTaskResponse"+    "fixture/CancelExportTaskResponse.proto"+    eC2+    (Proxy :: Proxy CancelExportTask)++testDeleteNetworkInterfaceResponse :: DeleteNetworkInterfaceResponse -> TestTree+testDeleteNetworkInterfaceResponse = res+    "DeleteNetworkInterfaceResponse"+    "fixture/DeleteNetworkInterfaceResponse.proto"+    eC2+    (Proxy :: Proxy DeleteNetworkInterface)++testReplaceRouteTableAssociationResponse :: ReplaceRouteTableAssociationResponse -> TestTree+testReplaceRouteTableAssociationResponse = res+    "ReplaceRouteTableAssociationResponse"+    "fixture/ReplaceRouteTableAssociationResponse.proto"+    eC2+    (Proxy :: Proxy ReplaceRouteTableAssociation)++testStartInstancesResponse :: StartInstancesResponse -> TestTree+testStartInstancesResponse = res+    "StartInstancesResponse"+    "fixture/StartInstancesResponse.proto"+    eC2+    (Proxy :: Proxy StartInstances)++testCreatePlacementGroupResponse :: CreatePlacementGroupResponse -> TestTree+testCreatePlacementGroupResponse = res+    "CreatePlacementGroupResponse"+    "fixture/CreatePlacementGroupResponse.proto"+    eC2+    (Proxy :: Proxy CreatePlacementGroup)++testDescribeSnapshotsResponse :: DescribeSnapshotsResponse -> TestTree+testDescribeSnapshotsResponse = res+    "DescribeSnapshotsResponse"+    "fixture/DescribeSnapshotsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeSnapshots)++testAssociateAddressResponse :: AssociateAddressResponse -> TestTree+testAssociateAddressResponse = res+    "AssociateAddressResponse"+    "fixture/AssociateAddressResponse.proto"+    eC2+    (Proxy :: Proxy AssociateAddress)++testDescribeNetworkInterfaceAttributeResponse :: DescribeNetworkInterfaceAttributeResponse -> TestTree+testDescribeNetworkInterfaceAttributeResponse = res+    "DescribeNetworkInterfaceAttributeResponse"+    "fixture/DescribeNetworkInterfaceAttributeResponse.proto"+    eC2+    (Proxy :: Proxy DescribeNetworkInterfaceAttribute)++testResetNetworkInterfaceAttributeResponse :: ResetNetworkInterfaceAttributeResponse -> TestTree+testResetNetworkInterfaceAttributeResponse = res+    "ResetNetworkInterfaceAttributeResponse"+    "fixture/ResetNetworkInterfaceAttributeResponse.proto"+    eC2+    (Proxy :: Proxy ResetNetworkInterfaceAttribute)++testDeleteInternetGatewayResponse :: DeleteInternetGatewayResponse -> TestTree+testDeleteInternetGatewayResponse = res+    "DeleteInternetGatewayResponse"+    "fixture/DeleteInternetGatewayResponse.proto"+    eC2+    (Proxy :: Proxy DeleteInternetGateway)++testDescribeReservedInstancesListingsResponse :: DescribeReservedInstancesListingsResponse -> TestTree+testDescribeReservedInstancesListingsResponse = res+    "DescribeReservedInstancesListingsResponse"+    "fixture/DescribeReservedInstancesListingsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeReservedInstancesListings)++testCreateVPNConnectionResponse :: CreateVPNConnectionResponse -> TestTree+testCreateVPNConnectionResponse = res+    "CreateVPNConnectionResponse"+    "fixture/CreateVPNConnectionResponse.proto"+    eC2+    (Proxy :: Proxy CreateVPNConnection)++testDescribeImportSnapshotTasksResponse :: DescribeImportSnapshotTasksResponse -> TestTree+testDescribeImportSnapshotTasksResponse = res+    "DescribeImportSnapshotTasksResponse"+    "fixture/DescribeImportSnapshotTasksResponse.proto"+    eC2+    (Proxy :: Proxy DescribeImportSnapshotTasks)++testDescribeCustomerGatewaysResponse :: DescribeCustomerGatewaysResponse -> TestTree+testDescribeCustomerGatewaysResponse = res+    "DescribeCustomerGatewaysResponse"+    "fixture/DescribeCustomerGatewaysResponse.proto"+    eC2+    (Proxy :: Proxy DescribeCustomerGateways)++testDeleteSubnetResponse :: DeleteSubnetResponse -> TestTree+testDeleteSubnetResponse = res+    "DeleteSubnetResponse"+    "fixture/DeleteSubnetResponse.proto"+    eC2+    (Proxy :: Proxy DeleteSubnet)++testCopyImageResponse :: CopyImageResponse -> TestTree+testCopyImageResponse = res+    "CopyImageResponse"+    "fixture/CopyImageResponse.proto"+    eC2+    (Proxy :: Proxy CopyImage)++testCreateVPCEndpointResponse :: CreateVPCEndpointResponse -> TestTree+testCreateVPCEndpointResponse = res+    "CreateVPCEndpointResponse"+    "fixture/CreateVPCEndpointResponse.proto"+    eC2+    (Proxy :: Proxy CreateVPCEndpoint)++testUnmonitorInstancesResponse :: UnmonitorInstancesResponse -> TestTree+testUnmonitorInstancesResponse = res+    "UnmonitorInstancesResponse"+    "fixture/UnmonitorInstancesResponse.proto"+    eC2+    (Proxy :: Proxy UnmonitorInstances)++testCreateSecurityGroupResponse :: CreateSecurityGroupResponse -> TestTree+testCreateSecurityGroupResponse = res+    "CreateSecurityGroupResponse"+    "fixture/CreateSecurityGroupResponse.proto"+    eC2+    (Proxy :: Proxy CreateSecurityGroup)++testImportVolumeResponse :: ImportVolumeResponse -> TestTree+testImportVolumeResponse = res+    "ImportVolumeResponse"+    "fixture/ImportVolumeResponse.proto"+    eC2+    (Proxy :: Proxy ImportVolume)++testDisableVGWRoutePropagationResponse :: DisableVGWRoutePropagationResponse -> TestTree+testDisableVGWRoutePropagationResponse = res+    "DisableVGWRoutePropagationResponse"+    "fixture/DisableVGWRoutePropagationResponse.proto"+    eC2+    (Proxy :: Proxy DisableVGWRoutePropagation)++testCreateSpotDatafeedSubscriptionResponse :: CreateSpotDatafeedSubscriptionResponse -> TestTree+testCreateSpotDatafeedSubscriptionResponse = res+    "CreateSpotDatafeedSubscriptionResponse"+    "fixture/CreateSpotDatafeedSubscriptionResponse.proto"+    eC2+    (Proxy :: Proxy CreateSpotDatafeedSubscription)++testCancelSpotInstanceRequestsResponse :: CancelSpotInstanceRequestsResponse -> TestTree+testCancelSpotInstanceRequestsResponse = res+    "CancelSpotInstanceRequestsResponse"+    "fixture/CancelSpotInstanceRequestsResponse.proto"+    eC2+    (Proxy :: Proxy CancelSpotInstanceRequests)++testCreateRouteResponse :: CreateRouteResponse -> TestTree+testCreateRouteResponse = res+    "CreateRouteResponse"+    "fixture/CreateRouteResponse.proto"+    eC2+    (Proxy :: Proxy CreateRoute)++testDeleteSnapshotResponse :: DeleteSnapshotResponse -> TestTree+testDeleteSnapshotResponse = res+    "DeleteSnapshotResponse"+    "fixture/DeleteSnapshotResponse.proto"+    eC2+    (Proxy :: Proxy DeleteSnapshot)++testAssignPrivateIPAddressesResponse :: AssignPrivateIPAddressesResponse -> TestTree+testAssignPrivateIPAddressesResponse = res+    "AssignPrivateIPAddressesResponse"+    "fixture/AssignPrivateIPAddressesResponse.proto"+    eC2+    (Proxy :: Proxy AssignPrivateIPAddresses)++testModifyInstanceAttributeResponse :: ModifyInstanceAttributeResponse -> TestTree+testModifyInstanceAttributeResponse = res+    "ModifyInstanceAttributeResponse"+    "fixture/ModifyInstanceAttributeResponse.proto"+    eC2+    (Proxy :: Proxy ModifyInstanceAttribute)++testDeleteCustomerGatewayResponse :: DeleteCustomerGatewayResponse -> TestTree+testDeleteCustomerGatewayResponse = res+    "DeleteCustomerGatewayResponse"+    "fixture/DeleteCustomerGatewayResponse.proto"+    eC2+    (Proxy :: Proxy DeleteCustomerGateway)++testDisassociateRouteTableResponse :: DisassociateRouteTableResponse -> TestTree+testDisassociateRouteTableResponse = res+    "DisassociateRouteTableResponse"+    "fixture/DisassociateRouteTableResponse.proto"+    eC2+    (Proxy :: Proxy DisassociateRouteTable)++testDeleteSpotDatafeedSubscriptionResponse :: DeleteSpotDatafeedSubscriptionResponse -> TestTree+testDeleteSpotDatafeedSubscriptionResponse = res+    "DeleteSpotDatafeedSubscriptionResponse"+    "fixture/DeleteSpotDatafeedSubscriptionResponse.proto"+    eC2+    (Proxy :: Proxy DeleteSpotDatafeedSubscription)++testEnableVPCClassicLinkResponse :: EnableVPCClassicLinkResponse -> TestTree+testEnableVPCClassicLinkResponse = res+    "EnableVPCClassicLinkResponse"+    "fixture/EnableVPCClassicLinkResponse.proto"+    eC2+    (Proxy :: Proxy EnableVPCClassicLink)++testDescribePlacementGroupsResponse :: DescribePlacementGroupsResponse -> TestTree+testDescribePlacementGroupsResponse = res+    "DescribePlacementGroupsResponse"+    "fixture/DescribePlacementGroupsResponse.proto"+    eC2+    (Proxy :: Proxy DescribePlacementGroups)++testEnableVGWRoutePropagationResponse :: EnableVGWRoutePropagationResponse -> TestTree+testEnableVGWRoutePropagationResponse = res+    "EnableVGWRoutePropagationResponse"+    "fixture/EnableVGWRoutePropagationResponse.proto"+    eC2+    (Proxy :: Proxy EnableVGWRoutePropagation)++testDescribeSpotFleetRequestHistoryResponse :: DescribeSpotFleetRequestHistoryResponse -> TestTree+testDescribeSpotFleetRequestHistoryResponse = res+    "DescribeSpotFleetRequestHistoryResponse"+    "fixture/DescribeSpotFleetRequestHistoryResponse.proto"+    eC2+    (Proxy :: Proxy DescribeSpotFleetRequestHistory)++testModifySnapshotAttributeResponse :: ModifySnapshotAttributeResponse -> TestTree+testModifySnapshotAttributeResponse = res+    "ModifySnapshotAttributeResponse"+    "fixture/ModifySnapshotAttributeResponse.proto"+    eC2+    (Proxy :: Proxy ModifySnapshotAttribute)++testCreateSnapshotResponse :: Snapshot -> TestTree+testCreateSnapshotResponse = res+    "CreateSnapshotResponse"+    "fixture/CreateSnapshotResponse.proto"+    eC2+    (Proxy :: Proxy CreateSnapshot)++testCreateNetworkACLEntryResponse :: CreateNetworkACLEntryResponse -> TestTree+testCreateNetworkACLEntryResponse = res+    "CreateNetworkACLEntryResponse"+    "fixture/CreateNetworkACLEntryResponse.proto"+    eC2+    (Proxy :: Proxy CreateNetworkACLEntry)++testCreateReservedInstancesListingResponse :: CreateReservedInstancesListingResponse -> TestTree+testCreateReservedInstancesListingResponse = res+    "CreateReservedInstancesListingResponse"+    "fixture/CreateReservedInstancesListingResponse.proto"+    eC2+    (Proxy :: Proxy CreateReservedInstancesListing)++testAttachVPNGatewayResponse :: AttachVPNGatewayResponse -> TestTree+testAttachVPNGatewayResponse = res+    "AttachVPNGatewayResponse"+    "fixture/AttachVPNGatewayResponse.proto"+    eC2+    (Proxy :: Proxy AttachVPNGateway)++testCreateDHCPOptionsResponse :: CreateDHCPOptionsResponse -> TestTree+testCreateDHCPOptionsResponse = res+    "CreateDHCPOptionsResponse"+    "fixture/CreateDHCPOptionsResponse.proto"+    eC2+    (Proxy :: Proxy CreateDHCPOptions)++testDescribeAccountAttributesResponse :: DescribeAccountAttributesResponse -> TestTree+testDescribeAccountAttributesResponse = res+    "DescribeAccountAttributesResponse"+    "fixture/DescribeAccountAttributesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeAccountAttributes)++testRebootInstancesResponse :: RebootInstancesResponse -> TestTree+testRebootInstancesResponse = res+    "RebootInstancesResponse"+    "fixture/RebootInstancesResponse.proto"+    eC2+    (Proxy :: Proxy RebootInstances)++testCreateImageResponse :: CreateImageResponse -> TestTree+testCreateImageResponse = res+    "CreateImageResponse"+    "fixture/CreateImageResponse.proto"+    eC2+    (Proxy :: Proxy CreateImage)++testDescribeClassicLinkInstancesResponse :: DescribeClassicLinkInstancesResponse -> TestTree+testDescribeClassicLinkInstancesResponse = res+    "DescribeClassicLinkInstancesResponse"+    "fixture/DescribeClassicLinkInstancesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeClassicLinkInstances)++testTerminateInstancesResponse :: TerminateInstancesResponse -> TestTree+testTerminateInstancesResponse = res+    "TerminateInstancesResponse"+    "fixture/TerminateInstancesResponse.proto"+    eC2+    (Proxy :: Proxy TerminateInstances)++testDescribeKeyPairsResponse :: DescribeKeyPairsResponse -> TestTree+testDescribeKeyPairsResponse = res+    "DescribeKeyPairsResponse"+    "fixture/DescribeKeyPairsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeKeyPairs)++testCreateVPNConnectionRouteResponse :: CreateVPNConnectionRouteResponse -> TestTree+testCreateVPNConnectionRouteResponse = res+    "CreateVPNConnectionRouteResponse"+    "fixture/CreateVPNConnectionRouteResponse.proto"+    eC2+    (Proxy :: Proxy CreateVPNConnectionRoute)++testAssociateRouteTableResponse :: AssociateRouteTableResponse -> TestTree+testAssociateRouteTableResponse = res+    "AssociateRouteTableResponse"+    "fixture/AssociateRouteTableResponse.proto"+    eC2+    (Proxy :: Proxy AssociateRouteTable)++testDescribeVPNGatewaysResponse :: DescribeVPNGatewaysResponse -> TestTree+testDescribeVPNGatewaysResponse = res+    "DescribeVPNGatewaysResponse"+    "fixture/DescribeVPNGatewaysResponse.proto"+    eC2+    (Proxy :: Proxy DescribeVPNGateways)++testGetConsoleOutputResponse :: GetConsoleOutputResponse -> TestTree+testGetConsoleOutputResponse = res+    "GetConsoleOutputResponse"+    "fixture/GetConsoleOutputResponse.proto"+    eC2+    (Proxy :: Proxy GetConsoleOutput)++testDescribeImageAttributeResponse :: DescribeImageAttributeResponse -> TestTree+testDescribeImageAttributeResponse = res+    "DescribeImageAttributeResponse"+    "fixture/DescribeImageAttributeResponse.proto"+    eC2+    (Proxy :: Proxy DescribeImageAttribute)++testDeleteRouteTableResponse :: DeleteRouteTableResponse -> TestTree+testDeleteRouteTableResponse = res+    "DeleteRouteTableResponse"+    "fixture/DeleteRouteTableResponse.proto"+    eC2+    (Proxy :: Proxy DeleteRouteTable)++testResetImageAttributeResponse :: ResetImageAttributeResponse -> TestTree+testResetImageAttributeResponse = res+    "ResetImageAttributeResponse"+    "fixture/ResetImageAttributeResponse.proto"+    eC2+    (Proxy :: Proxy ResetImageAttribute)++testDescribeReservedInstancesModificationsResponse :: DescribeReservedInstancesModificationsResponse -> TestTree+testDescribeReservedInstancesModificationsResponse = res+    "DescribeReservedInstancesModificationsResponse"+    "fixture/DescribeReservedInstancesModificationsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeReservedInstancesModifications)++testDescribeSpotInstanceRequestsResponse :: DescribeSpotInstanceRequestsResponse -> TestTree+testDescribeSpotInstanceRequestsResponse = res+    "DescribeSpotInstanceRequestsResponse"+    "fixture/DescribeSpotInstanceRequestsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeSpotInstanceRequests)++testUnassignPrivateIPAddressesResponse :: UnassignPrivateIPAddressesResponse -> TestTree+testUnassignPrivateIPAddressesResponse = res+    "UnassignPrivateIPAddressesResponse"+    "fixture/UnassignPrivateIPAddressesResponse.proto"+    eC2+    (Proxy :: Proxy UnassignPrivateIPAddresses)++testDeleteDHCPOptionsResponse :: DeleteDHCPOptionsResponse -> TestTree+testDeleteDHCPOptionsResponse = res+    "DeleteDHCPOptionsResponse"+    "fixture/DeleteDHCPOptionsResponse.proto"+    eC2+    (Proxy :: Proxy DeleteDHCPOptions)++testDescribeNetworkACLsResponse :: DescribeNetworkACLsResponse -> TestTree+testDescribeNetworkACLsResponse = res+    "DescribeNetworkACLsResponse"+    "fixture/DescribeNetworkACLsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeNetworkACLs)++testCancelImportTaskResponse :: CancelImportTaskResponse -> TestTree+testCancelImportTaskResponse = res+    "CancelImportTaskResponse"+    "fixture/CancelImportTaskResponse.proto"+    eC2+    (Proxy :: Proxy CancelImportTask)++testDetachClassicLinkVPCResponse :: DetachClassicLinkVPCResponse -> TestTree+testDetachClassicLinkVPCResponse = res+    "DetachClassicLinkVPCResponse"+    "fixture/DetachClassicLinkVPCResponse.proto"+    eC2+    (Proxy :: Proxy DetachClassicLinkVPC)++testDescribeRegionsResponse :: DescribeRegionsResponse -> TestTree+testDescribeRegionsResponse = res+    "DescribeRegionsResponse"+    "fixture/DescribeRegionsResponse.proto"+    eC2+    (Proxy :: Proxy DescribeRegions)++testMonitorInstancesResponse :: MonitorInstancesResponse -> TestTree+testMonitorInstancesResponse = res+    "MonitorInstancesResponse"+    "fixture/MonitorInstancesResponse.proto"+    eC2+    (Proxy :: Proxy MonitorInstances)++testAcceptVPCPeeringConnectionResponse :: AcceptVPCPeeringConnectionResponse -> TestTree+testAcceptVPCPeeringConnectionResponse = res+    "AcceptVPCPeeringConnectionResponse"+    "fixture/AcceptVPCPeeringConnectionResponse.proto"+    eC2+    (Proxy :: Proxy AcceptVPCPeeringConnection)++testImportSnapshotResponse :: ImportSnapshotResponse -> TestTree+testImportSnapshotResponse = res+    "ImportSnapshotResponse"+    "fixture/ImportSnapshotResponse.proto"+    eC2+    (Proxy :: Proxy ImportSnapshot)++testDescribeVolumeStatusResponse :: DescribeVolumeStatusResponse -> TestTree+testDescribeVolumeStatusResponse = res+    "DescribeVolumeStatusResponse"+    "fixture/DescribeVolumeStatusResponse.proto"+    eC2+    (Proxy :: Proxy DescribeVolumeStatus)++testDescribeRouteTablesResponse :: DescribeRouteTablesResponse -> TestTree+testDescribeRouteTablesResponse = res+    "DescribeRouteTablesResponse"+    "fixture/DescribeRouteTablesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeRouteTables)++testDescribeAvailabilityZonesResponse :: DescribeAvailabilityZonesResponse -> TestTree+testDescribeAvailabilityZonesResponse = res+    "DescribeAvailabilityZonesResponse"+    "fixture/DescribeAvailabilityZonesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeAvailabilityZones)++testModifyVPCAttributeResponse :: ModifyVPCAttributeResponse -> TestTree+testModifyVPCAttributeResponse = res+    "ModifyVPCAttributeResponse"+    "fixture/ModifyVPCAttributeResponse.proto"+    eC2+    (Proxy :: Proxy ModifyVPCAttribute)++testDescribeImagesResponse :: DescribeImagesResponse -> TestTree+testDescribeImagesResponse = res+    "DescribeImagesResponse"+    "fixture/DescribeImagesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeImages)++testRestoreAddressToClassicResponse :: RestoreAddressToClassicResponse -> TestTree+testRestoreAddressToClassicResponse = res+    "RestoreAddressToClassicResponse"+    "fixture/RestoreAddressToClassicResponse.proto"+    eC2+    (Proxy :: Proxy RestoreAddressToClassic)++testCreateKeyPairResponse :: CreateKeyPairResponse -> TestTree+testCreateKeyPairResponse = res+    "CreateKeyPairResponse"+    "fixture/CreateKeyPairResponse.proto"+    eC2+    (Proxy :: Proxy CreateKeyPair)++testDeleteVolumeResponse :: DeleteVolumeResponse -> TestTree+testDeleteVolumeResponse = res+    "DeleteVolumeResponse"+    "fixture/DeleteVolumeResponse.proto"+    eC2+    (Proxy :: Proxy DeleteVolume)++testDescribeSpotFleetInstancesResponse :: DescribeSpotFleetInstancesResponse -> TestTree+testDescribeSpotFleetInstancesResponse = res+    "DescribeSpotFleetInstancesResponse"+    "fixture/DescribeSpotFleetInstancesResponse.proto"+    eC2+    (Proxy :: Proxy DescribeSpotFleetInstances)